File: .lake/packages/proofwidgets/ProofWidgets/Data/Html.lean

full_name: ProofWidgets.instInhabitedHtml
code: /-- A HTML tree which may contain widget components. -/
inductive Html where
  /-- An `element "tag" attrs children` represents `<tag {...attrs}>{...children}</tag>`. -/
  | element : String → Array (String × Json) → Array Html → Html
  /-- Raw HTML text. -/
  | text : String → Html
  /-- A `component h e props children` represents `<Foo {...props}>{...children}</Foo>`,
  where `Foo : Component Props` is some component such that `h = hash Foo.javascript`,
  `e = Foo.«export»`, and `props` will produce a JSON-encoded value of type `Props`. -/
  | component : UInt64 → String → LazyEncodable Json → Array Html → Html
  deriving Inhabited, RpcEncodable
goal: Inhabited ProofWidgets.Html

full_name: ProofWidgets.Html.element
code: /-- A HTML tree which may contain widget components. -/
inductive Html where
  /-- An `element "tag" attrs children` represents `<tag {...attrs}>{...children}</tag>`. -/
  | element : String → Array (String × Json) → Array Html → Html
  /-- Raw HTML text. -/
  | text : String → Html
  /-- A `component h e props children` represents `<Foo {...props}>{...children}</Foo>`,
  where `Foo : Component Props` is some component such that `h = hash Foo.javascript`,
  `e = Foo.«export»`, and `props` will produce a JSON-encoded value of type `Props`. -/
  | component : UInt64 → String → LazyEncodable Json → Array Html → Html
  deriving Inhabited, RpcEncodable
goal: String → Array (String × Lean.Json) → Array ProofWidgets.Html → ProofWidgets.Html

full_name: ProofWidgets.Html
code: /-- A HTML tree which may contain widget components. -/
inductive Html where
  /-- An `element "tag" attrs children` represents `<tag {...attrs}>{...children}</tag>`. -/
  | element : String → Array (String × Json) → Array Html → Html
  /-- Raw HTML text. -/
  | text : String → Html
  /-- A `component h e props children` represents `<Foo {...props}>{...children}</Foo>`,
  where `Foo : Component Props` is some component such that `h = hash Foo.javascript`,
  `e = Foo.«export»`, and `props` will produce a JSON-encoded value of type `Props`. -/
  | component : UInt64 → String → LazyEncodable Json → Array Html → Html
  deriving Inhabited, RpcEncodable
goal: Type

full_name: ProofWidgets.Html.component
code: /-- A HTML tree which may contain widget components. -/
inductive Html where
  /-- An `element "tag" attrs children` represents `<tag {...attrs}>{...children}</tag>`. -/
  | element : String → Array (String × Json) → Array Html → Html
  /-- Raw HTML text. -/
  | text : String → Html
  /-- A `component h e props children` represents `<Foo {...props}>{...children}</Foo>`,
  where `Foo : Component Props` is some component such that `h = hash Foo.javascript`,
  `e = Foo.«export»`, and `props` will produce a JSON-encoded value of type `Props`. -/
  | component : UInt64 → String → LazyEncodable Json → Array Html → Html
  deriving Inhabited, RpcEncodable
goal: UInt64 → String → ProofWidgets.LazyEncodable Lean.Json → Array ProofWidgets.Html → ProofWidgets.Html

full_name: ProofWidgets.Html.text
code: /-- A HTML tree which may contain widget components. -/
inductive Html where
  /-- An `element "tag" attrs children` represents `<tag {...attrs}>{...children}</tag>`. -/
  | element : String → Array (String × Json) → Array Html → Html
  /-- Raw HTML text. -/
  | text : String → Html
  /-- A `component h e props children` represents `<Foo {...props}>{...children}</Foo>`,
  where `Foo : Component Props` is some component such that `h = hash Foo.javascript`,
  `e = Foo.«export»`, and `props` will produce a JSON-encoded value of type `Props`. -/
  | component : UInt64 → String → LazyEncodable Json → Array Html → Html
  deriving Inhabited, RpcEncodable
goal: String → ProofWidgets.Html

full_name: ProofWidgets.ProofWidgets.Html.RpcEncodablePacket._@..lake.packages.proofwidgets.ProofWidgets.Data.Html._hyg.5
code: RpcEncodable
goal: Type

full_name: ProofWidgets.ProofWidgets.Html.instRpcEncodableHtml.enc._@..lake.packages.proofwidgets.ProofWidgets.Data.Html._hyg.5
code: RpcEncodable
goal: ProofWidgets.Html → StateM Lean.Server.RpcObjectStore Lean.Json

full_name: ProofWidgets.ProofWidgets.Html.instRpcEncodableHtml.dec._@..lake.packages.proofwidgets.ProofWidgets.Data.Html._hyg.5
code: RpcEncodable
goal: Lean.Json → ExceptT String (ReaderT Lean.Server.RpcObjectStore Id) ProofWidgets.Html

full_name: ProofWidgets.ProofWidgets.Html.instFromJsonRpcEncodablePacket
code: RpcEncodable
goal: Lean.FromJson ProofWidgets.ProofWidgets.Html.RpcEncodablePacket✝

full_name: ProofWidgets.ProofWidgets.Html.instRpcEncodableHtml
code: RpcEncodable
goal: Lean.Server.RpcEncodable ProofWidgets.Html

full_name: ProofWidgets.ProofWidgets.Html.instToJsonRpcEncodablePacket
code: RpcEncodable
goal: Lean.ToJson ProofWidgets.ProofWidgets.Html.RpcEncodablePacket✝

full_name: ProofWidgets.Html.ofComponent
code: def Html.ofComponent [RpcEncodable Props]
    (c : Component Props) (props : Props) (children : Array Html) : Html 
goal: ProofWidgets.Html

full_name: ProofWidgets.LayoutKind.inline
code: /-- See [MDN docs](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Flow_Layout/Block_and_Inline_Layout_in_Normal_Flow). -/
inductive LayoutKind where
  | block
  | inline
goal: ProofWidgets.LayoutKind

full_name: ProofWidgets.LayoutKind.block
code: /-- See [MDN docs](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Flow_Layout/Block_and_Inline_Layout_in_Normal_Flow). -/
inductive LayoutKind where
  | block
  | inline
goal: ProofWidgets.LayoutKind

full_name: ProofWidgets.LayoutKind
code: /-- See [MDN docs](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Flow_Layout/Block_and_Inline_Layout_in_Normal_Flow). -/
inductive LayoutKind where
  | block
  | inline
goal: Type

full_name: Lean.Parser.Category.jsxElement
code: declare_syntax_cat jsxElement
goal: Lean.Parser.Category

full_name: Lean.Parser.Category.jsxChild
code: declare_syntax_cat jsxChild
goal: Lean.Parser.Category

full_name: Lean.Parser.Category.jsxAttr
code: declare_syntax_cat jsxAttr
goal: Lean.Parser.Category

full_name: Lean.Parser.Category.jsxAttrVal
code: declare_syntax_cat jsxAttrVal
goal: Lean.Parser.Category

full_name: ProofWidgets.Jsx.jsxAttrVal_
code: scoped syntax str : jsxAttrVal
goal: Lean.ParserDescr

full_name: ProofWidgets.Jsx.«jsxAttrVal{_}»
code: /-- Interpolates an expression into a JSX attribute literal -/
scoped syntax group("{" term "}") : jsxAttrVal
goal: Lean.ParserDescr

full_name: ProofWidgets.Jsx.«jsxAttr_=_»
code: scoped syntax ident "=" jsxAttrVal : jsxAttr
goal: Lean.ParserDescr

full_name: ProofWidgets.Jsx.«jsxAttr{..._}»
code: /-- Interpolates an array of expressions into a JSX attribute literal -/
scoped syntax group(" {..." term "}") : jsxAttr
goal: Lean.ParserDescr

full_name: ProofWidgets.Jsx.jsxTextForbidden
code: /-- Characters not allowed inside JSX plain text. -/
def jsxTextForbidden : String 
goal: String

full_name: ProofWidgets.Jsx.jsxText
code: /-- A plain text literal for JSX (notation for `Html.text`). -/
def jsxText : Parser 
goal: Lean.Parser.Parser

full_name: ProofWidgets.Jsx.getJsxText
code: def getJsxText : TSyntax ``jsxText → String
  
goal: Lean.TSyntax `ProofWidgets.Jsx.jsxText → String

full_name: ProofWidgets.Jsx.jsxText.formatter
code: @[combinator_formatter ProofWidgets.Jsx.jsxText]
def jsxText.formatter : Formatter 
goal: Lean.PrettyPrinter.Formatter

full_name: ProofWidgets.Jsx.jsxText.parenthesizer
code: @[combinator_parenthesizer ProofWidgets.Jsx.jsxText]
def jsxText.parenthesizer : Parenthesizer 
goal: Lean.PrettyPrinter.Parenthesizer

full_name: ProofWidgets.Jsx.«jsxElement<__/>»
code: scoped syntax "<" ident jsxAttr* "/>" : jsxElement
goal: Lean.ParserDescr

full_name: ProofWidgets.Jsx.«jsxElement<__>_</_>»
code: scoped syntax "<" ident jsxAttr* ">" jsxChild* "</" ident ">" : jsxElement
goal: Lean.ParserDescr

full_name: ProofWidgets.Jsx.jsxChild_
code: scoped syntax jsxText      : jsxChild
goal: Lean.ParserDescr

full_name: ProofWidgets.Jsx.«jsxChild{..._}»
code: /-- Interpolates an array of elements into a JSX literal -/
scoped syntax "{..." term "}" : jsxChild
goal: Lean.ParserDescr

full_name: ProofWidgets.Jsx.«jsxChild{_}»
code: /-- Interpolates an expression into a JSX literal -/
scoped syntax "{" term "}" : jsxChild
goal: Lean.ParserDescr

full_name: ProofWidgets.Jsx.jsxChild__1
code: scoped syntax jsxElement   : jsxChild
goal: Lean.ParserDescr

full_name: ProofWidgets.Jsx.term_
code: scoped syntax:max jsxElement : term
goal: Lean.ParserDescr

full_name: ProofWidgets.Jsx.transformTag
code: def transformTag (tk : Syntax) (n m : Ident) (vs : Array (TSyntax `jsxAttr))
    (cs : Array (TSyntax `jsxChild)) : MacroM Term 
goal: Lean.MacroM Lean.Term

full_name: ProofWidgets.Jsx.«_aux_.lake_packages_proofwidgets_ProofWidgets_Data_Html___macroRules_ProofWidgets_Jsx_term__1»
code: macro_rules
  | `(<$n:ident $[$attrs:jsxAttr]* />%$tk) => transformTag tk n n attrs #[]
  | `(<$n:ident $[$attrs:jsxAttr]* >%$tk $cs*</$m>) => transformTag tk n m attrs cs
goal: Lean.Macro

full_name: ProofWidgets.Jsx.delabHtmlText
code: partial def delabHtmlText : DelabM (TSyntax ``jsxText) 
goal: Lean.PrettyPrinter.Delaborator.DelabM (Lean.TSyntax `ProofWidgets.Jsx.jsxText)

full_name: ProofWidgets.Jsx.delabHtmlElement
code: @[delab app.ProofWidgets.Html.element]
def delabHtmlElement : Delab 
goal: Lean.PrettyPrinter.Delaborator.Delab

full_name: ProofWidgets.Jsx.delabHtmlOfComponent
code: @[delab app.ProofWidgets.Html.ofComponent]
def delabHtmlOfComponent : Delab 
goal: Lean.PrettyPrinter.Delaborator.Delab