Documentation

ProofWidgets.Data.Html

We define a representation of HTML trees together with a JSX-like DSL for writing them.

A HTML tree which may contain widget components.

Instances For
    @[implicit_reducible]
    def ProofWidgets.Html.ofComponent {Props : Type} [Lean.Server.RpcEncodable Props] (c : Component Props) (props : Props) (children : Array Html) :
    Instances For

      See MDN docs.

      Instances For

        Interpolates an expression into a JSX attribute literal.

        Instances For

          Interpolates a collection into a JSX attribute literal. For HTML tags, this should have type Array (String × Json). For ProofWidgets.Components, it can be any structure $t whatsoever: it is interpolated into the component's props using { $t with ... } notation.

          Instances For

            Characters not allowed inside JSX plain text.

            Instances For

              A plain text literal for JSX (notation for Html.text).

              Instances For
                def ProofWidgets.Jsx.getJsxText :
                Lean.TSyntax `ProofWidgets.Jsx.jsxTextString
                Instances For

                  Interpolates an array of elements into a JSX literal

                  Instances For

                    Interpolates an expression into a JSX literal

                    Instances For
                      def ProofWidgets.Jsx.transformTag (tk : Lean.Syntax) (n m : Lean.Ident) (vs : Array (Lean.TSyntax `proofWidgetsJsxAttr)) (cs : Array (Lean.TSyntax `proofWidgetsJsxChild)) :
                      Instances For

                        First delaborate into our non-term TSyntax. Note this means we can't call delab, so we have to add the term annotations ourselves.

                        Now wrap our TSyntax _ delaborators into Term elaborators.