diff --git a/pynecone/__init__.py b/pynecone/__init__.py index c32255c387..f645e3cb9b 100644 --- a/pynecone/__init__.py +++ b/pynecone/__init__.py @@ -3,6 +3,7 @@ Anything imported here will be available in the default Pynecone import as `pc.*`. """ +from . import el from .app import App, UploadFile from .base import Base from .components import * diff --git a/pynecone/el/__init__.py b/pynecone/el/__init__.py new file mode 100644 index 0000000000..6b6517f774 --- /dev/null +++ b/pynecone/el/__init__.py @@ -0,0 +1,3 @@ +"""The el package exports raw HTML elements.""" + +from .elements import * diff --git a/pynecone/el/constants/__init__.py b/pynecone/el/constants/__init__.py new file mode 100644 index 0000000000..ef4e59e0c8 --- /dev/null +++ b/pynecone/el/constants/__init__.py @@ -0,0 +1,5 @@ +"""Constants used to compile element classes.""" + +from .html import * +from .pynecone import * +from .react import * diff --git a/pynecone/el/constants/html.py b/pynecone/el/constants/html.py new file mode 100644 index 0000000000..efb468bfb1 --- /dev/null +++ b/pynecone/el/constants/html.py @@ -0,0 +1,343 @@ +"""HTML constants.""" + +# See https://html.spec.whatwg.org/#elements-3. +ELEMENTS = { + "a", + "abbr", + "address", + "area", + "article", + "aside", + "audio", + "b", + "base", + "bdi", + "bdo", + "blockquote", + "body", + "br", + "button", + "canvas", + "caption", + "cite", + "code", + "col", + "colgroup", + "data", + "datalist", + "dd", + "del", + "details", + "dfn", + "dialog", + "div", + "dl", + "dt", + "em", + "embed", + "fieldset", + "figcaption", + "figure", + "footer", + "form", + "h1", + "h2", + "h3", + "h4", + "h5", + "h6", + "head", + "header", + "hr", + "html", + "i", + "iframe", + "img", + "input", + "ins", + "kbd", + "label", + "legend", + "li", + "link", + "main", + "map", + "mark", + "math", + "menu", + "meta", + "meter", + "nav", + "noscript", + "object", + "ol", + "optgroup", + "option", + "output", + "p", + "picture", + "portal", + "pre", + "progress", + "q", + "rp", + "rt", + "ruby", + "s", + "samp", + "script", + "section", + "select", + "slot", + "small", + "source", + "span", + "strong", + "style", + "sub", + "summary", + "sup", + "svg", + "table", + "tbody", + "td", + "template", + "textarea", + "tfoot", + "th", + "thead", + "time", + "title", + "tr", + "track", + "u", + "ul", + "var", + "video", + "wbr", +} + +# See https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes. +ATTR_TO_ELEMENTS = { + "accept": {"form", "input"}, + "accept-charset": {"form"}, + "accesskey": ELEMENTS, + "action": {"form"}, + "align": { + "applet", + "caption", + "col", + "colgroup", + "hr", + "iframe", + "img", + "table", + "tbody", + "td", + "tfoot", + "th", + "thead", + "tr", + }, + "allow": {"iframe"}, + "alt": {"applet", "area", "img", "input"}, + "async": {"script"}, + "autocapitalize": ELEMENTS, + "autocomplete": {"form", "input", "select", "textarea"}, + "autofocus": {"button", "input", "keygen", "select", "textarea"}, + "autoplay": {"audio", "video"}, + "background": {"body", "table", "td", "th"}, + "bgcolor": { + "body", + "col", + "colgroup", + "marquee", + "table", + "tbody", + "tfoot", + "td", + "th", + "tr", + }, + "border": {"img", "object", "table"}, + "buffered": {"audio", "video"}, + "capture": {"input"}, + "challenge": {"keygen"}, + "charset": {"meta", "script"}, + "checked": {"input"}, + "cite": {"blockquote", "del", "ins", "q"}, + "class": ELEMENTS, + "code": {"applet"}, + "codebase": {"applet"}, + "color": {"font", "hr"}, + "cols": {"textarea"}, + "colspan": {"td", "th"}, + "content": {"meta"}, + "contenteditable": ELEMENTS, + "contextmenu": ELEMENTS, + "controls": {"audio", "video"}, + "coords": {"area"}, + "crossorigin": {"audio", "img", "link", "script", "video"}, + "csp": {"iframe"}, + "data": {"object"}, + "datetime": {"del", "ins", "time"}, + "decoding": {"img"}, + "default": {"track"}, + "defer": {"script"}, + "dir": ELEMENTS, + "dirname": {"input", "textarea"}, + "disabled": { + "button", + "fieldset", + "input", + "keygen", + "optgroup", + "option", + "select", + "textarea", + }, + "download": {"a", "area"}, + "draggable": ELEMENTS, + "enctype": {"form"}, + "enterkeyhint": ELEMENTS, + "for": {"label", "output"}, + "form": { + "button", + "fieldset", + "input", + "keygen", + "label", + "meter", + "object", + "output", + "progress", + "select", + "textarea", + }, + "formaction": {"button", "input"}, + "formenctype": {"button", "input"}, + "formmethod": {"button", "input"}, + "formnovalidate": {"button", "input"}, + "formtarget": {"button", "input"}, + "headers": {"td", "th"}, + "height": {"canvas", "embed", "iframe", "img", "input", "object", "video"}, + "hidden": ELEMENTS, + "high": {"meter"}, + "href": {"a", "area", "base", "link"}, + "hreflang": {"a", "area", "link"}, + "http-equiv": {"meta"}, + "icon": {"command"}, + "id": ELEMENTS, + "integrity": {"link", "script"}, + "intrinsicsize": {"img"}, + "inputmode": ELEMENTS, + "ismap": {"img"}, + "itemprop": ELEMENTS, + "keytype": {"keygen"}, + "kind": {"track"}, + "label": {"optgroup", "option", "track"}, + "lang": ELEMENTS, + "language": {"script"}, + "loading": {"img", "iframe"}, + "list": {"input"}, + "loop": {"audio", "bgsound", "marquee", "video"}, + "low": {"meter"}, + "manifest": {"html"}, + "max": {"input", "meter", "progress"}, + "maxlength": {"input", "textarea"}, + "minlength": {"input", "textarea"}, + "media": {"a", "area", "link", "source", "style"}, + "method": {"form"}, + "min": {"input", "meter"}, + "multiple": {"input", "select"}, + "muted": {"audio", "video"}, + "name": { + "button", + "form", + "fieldset", + "iframe", + "input", + "keygen", + "object", + "output", + "select", + "textarea", + "map", + "meta", + "param", + }, + "novalidate": {"form"}, + "open": {"details", "dialog"}, + "optimum": {"meter"}, + "pattern": {"input"}, + "ping": {"a", "area"}, + "placeholder": {"input", "textarea"}, + "playsinline": {"video"}, + "poster": {"video"}, + "preload": {"audio", "video"}, + "readonly": {"input", "textarea"}, + "referrerpolicy": {"a", "area", "iframe", "img", "link", "script"}, + "rel": {"a", "area", "link"}, + "required": {"input", "select", "textarea"}, + "reversed": {"ol"}, + "role": ELEMENTS, + "rows": {"textarea"}, + "rowspan": {"td", "th"}, + "sandbox": {"iframe"}, + "scope": {"th"}, + "scoped": {"style"}, + "selected": {"option"}, + "shape": {"a", "area"}, + "size": {"input", "select"}, + "sizes": {"link", "img", "source"}, + "slot": ELEMENTS, + "span": {"col", "colgroup"}, + "spellcheck": ELEMENTS, + "src": { + "audio", + "embed", + "iframe", + "img", + "input", + "script", + "source", + "track", + "video", + }, + "srcdoc": {"iframe"}, + "srclang": {"track"}, + "srcset": {"img", "source"}, + "start": {"ol"}, + "step": {"input"}, + "style": ELEMENTS, + "summary": {"table"}, + "tabindex": ELEMENTS, + "target": {"a", "area", "base", "form"}, + "title": ELEMENTS, + "translate": ELEMENTS, + "type": { + "button", + "input", + "embed", + "object", + "ol", + "script", + "source", + "style", + "menu", + "link", + }, + "usemap": {"img", "input", "object"}, + "value": { + "button", + "data", + "input", + "li", + "meter", + "option", + "progress", + "param", + }, + "width": {"canvas", "embed", "iframe", "img", "input", "object", "video"}, + "wrap": {"textarea"}, +} diff --git a/pynecone/el/constants/pynecone.py b/pynecone/el/constants/pynecone.py new file mode 100644 index 0000000000..90e1588647 --- /dev/null +++ b/pynecone/el/constants/pynecone.py @@ -0,0 +1,51 @@ +"""Constants used to compile element classes.""" + +from collections import defaultdict + +from pynecone.utils import to_snake_case + +from .html import ATTR_TO_ELEMENTS +from .react import POSSIBLE_STANDARD_NAMES + +# Maps HTML attributes that are invalid Python identifiers to their Pynecone +# prop equivalents. +ATTR_TO_PROP_OVERRIDES = { + "async": "async_", # `async` is a reserved keyword in Python. +} + + +def attr_to_prop(attr_name: str) -> str: + """Convert an HTML attribute name to its Pynecone name. + + This function first uses React's `possibleStandardNames` to convert the + HTML attribute name to its standard React name, then converts the standard + name to a Pynecone name. + + Args: + attr_name: The HTML attribute name. + + Returns: + A Pynecone prop name that maps to the HTML attribute. + """ + if attr_name in ATTR_TO_PROP_OVERRIDES: + return ATTR_TO_PROP_OVERRIDES[attr_name] + return to_snake_case(POSSIBLE_STANDARD_NAMES.get(attr_name, attr_name)) + + +# Names of HTML attributes that are provided by Pynecone out of the box. +PYNECONE_PROVIDED_ATTRS = {"class", "id", "style"} + +# ATTR_TO_ELEMENTS contains HTML attribute names, which might be invalid as +# Pynecone prop names. PROP_TO_ELEMENTS contains the corresponding Pynecone +# prop names. It omits props that are provided by Pynecone out of the box. +PROP_TO_ELEMENTS = { + attr_to_prop(attr_name): elements + for attr_name, elements in ATTR_TO_ELEMENTS.items() + if attr_name not in PYNECONE_PROVIDED_ATTRS +} + +# Invert PROP_TO_ELEMENTS to enable easier lookup. +ELEMENT_TO_PROPS = defaultdict(list) +for prop, elements in PROP_TO_ELEMENTS.items(): + for el in elements: + ELEMENT_TO_PROPS[el].append(prop) diff --git a/pynecone/el/constants/react.py b/pynecone/el/constants/react.py new file mode 100644 index 0000000000..baac65046e --- /dev/null +++ b/pynecone/el/constants/react.py @@ -0,0 +1,501 @@ +"""Constants used to compile element classes. + +Ported from React DOM's possibleStandardNames.js. See the following link for +more information: + +https://github.com/facebook/react/blob/d1ad984db1591b131d16739a24dee4ba44886a09/packages/react-dom-bindings/src/shared/possibleStandardNames.js +""" + +# Possible misspellings of React prop names, including incorrect casing. +POSSIBLE_STANDARD_NAMES = { + # HTML + "accept": "accept", + "acceptcharset": "acceptCharset", + "accept-charset": "acceptCharset", + "accesskey": "accessKey", + "action": "action", + "allowfullscreen": "allowFullScreen", + "alt": "alt", + "as": "as", + "async": "async", + "autocapitalize": "autoCapitalize", + "autocomplete": "autoComplete", + "autocorrect": "autoCorrect", + "autofocus": "autoFocus", + "autoplay": "autoPlay", + "autosave": "autoSave", + "capture": "capture", + "cellpadding": "cellPadding", + "cellspacing": "cellSpacing", + "challenge": "challenge", + "charset": "charSet", + "checked": "checked", + "children": "children", + "cite": "cite", + "class": "className", + "classid": "classID", + "classname": "className", + "cols": "cols", + "colspan": "colSpan", + "content": "content", + "contenteditable": "contentEditable", + "contextmenu": "contextMenu", + "controls": "controls", + "controlslist": "controlsList", + "coords": "coords", + "crossorigin": "crossOrigin", + "dangerouslysetinnerhtml": "dangerouslySetInnerHTML", + "data": "data", + "datetime": "dateTime", + "default": "default", + "defaultchecked": "defaultChecked", + "defaultvalue": "defaultValue", + "defer": "defer", + "dir": "dir", + "disabled": "disabled", + "disablepictureinpicture": "disablePictureInPicture", + "disableremoteplayback": "disableRemotePlayback", + "download": "download", + "draggable": "draggable", + "enctype": "encType", + "enterkeyhint": "enterKeyHint", + "fetchpriority": "fetchPriority", + "for": "htmlFor", + "form": "form", + "formmethod": "formMethod", + "formaction": "formAction", + "formenctype": "formEncType", + "formnovalidate": "formNoValidate", + "formtarget": "formTarget", + "frameborder": "frameBorder", + "headers": "headers", + "height": "height", + "hidden": "hidden", + "high": "high", + "href": "href", + "hreflang": "hrefLang", + "htmlfor": "htmlFor", + "httpequiv": "httpEquiv", + "http-equiv": "httpEquiv", + "icon": "icon", + "id": "id", + "imagesizes": "imageSizes", + "imagesrcset": "imageSrcSet", + "innerhtml": "innerHTML", + "inputmode": "inputMode", + "integrity": "integrity", + "is": "is", + "itemid": "itemID", + "itemprop": "itemProp", + "itemref": "itemRef", + "itemscope": "itemScope", + "itemtype": "itemType", + "keyparams": "keyParams", + "keytype": "keyType", + "kind": "kind", + "label": "label", + "lang": "lang", + "list": "list", + "loop": "loop", + "low": "low", + "manifest": "manifest", + "marginwidth": "marginWidth", + "marginheight": "marginHeight", + "max": "max", + "maxlength": "maxLength", + "media": "media", + "mediagroup": "mediaGroup", + "method": "method", + "min": "min", + "minlength": "minLength", + "multiple": "multiple", + "muted": "muted", + "name": "name", + "nomodule": "noModule", + "nonce": "nonce", + "novalidate": "noValidate", + "open": "open", + "optimum": "optimum", + "pattern": "pattern", + "placeholder": "placeholder", + "playsinline": "playsInline", + "poster": "poster", + "preload": "preload", + "profile": "profile", + "radiogroup": "radioGroup", + "readonly": "readOnly", + "referrerpolicy": "referrerPolicy", + "rel": "rel", + "required": "required", + "reversed": "reversed", + "role": "role", + "rows": "rows", + "rowspan": "rowSpan", + "sandbox": "sandbox", + "scope": "scope", + "scoped": "scoped", + "scrolling": "scrolling", + "seamless": "seamless", + "selected": "selected", + "shape": "shape", + "size": "size", + "sizes": "sizes", + "span": "span", + "spellcheck": "spellCheck", + "src": "src", + "srcdoc": "srcDoc", + "srclang": "srcLang", + "srcset": "srcSet", + "start": "start", + "step": "step", + "style": "style", + "summary": "summary", + "tabindex": "tabIndex", + "target": "target", + "title": "title", + "type": "type", + "usemap": "useMap", + "value": "value", + "width": "width", + "wmode": "wmode", + "wrap": "wrap", + # SVG + "about": "about", + "accentheight": "accentHeight", + "accent-height": "accentHeight", + "accumulate": "accumulate", + "additive": "additive", + "alignmentbaseline": "alignmentBaseline", + "alignment-baseline": "alignmentBaseline", + "allowreorder": "allowReorder", + "alphabetic": "alphabetic", + "amplitude": "amplitude", + "arabicform": "arabicForm", + "arabic-form": "arabicForm", + "ascent": "ascent", + "attributename": "attributeName", + "attributetype": "attributeType", + "autoreverse": "autoReverse", + "azimuth": "azimuth", + "basefrequency": "baseFrequency", + "baselineshift": "baselineShift", + "baseline-shift": "baselineShift", + "baseprofile": "baseProfile", + "bbox": "bbox", + "begin": "begin", + "bias": "bias", + "by": "by", + "calcmode": "calcMode", + "capheight": "capHeight", + "cap-height": "capHeight", + "clip": "clip", + "clippath": "clipPath", + "clip-path": "clipPath", + "clippathunits": "clipPathUnits", + "cliprule": "clipRule", + "clip-rule": "clipRule", + "color": "color", + "colorinterpolation": "colorInterpolation", + "color-interpolation": "colorInterpolation", + "colorinterpolationfilters": "colorInterpolationFilters", + "color-interpolation-filters": "colorInterpolationFilters", + "colorprofile": "colorProfile", + "color-profile": "colorProfile", + "colorrendering": "colorRendering", + "color-rendering": "colorRendering", + "contentscripttype": "contentScriptType", + "contentstyletype": "contentStyleType", + "cursor": "cursor", + "cx": "cx", + "cy": "cy", + "d": "d", + "datatype": "datatype", + "decelerate": "decelerate", + "descent": "descent", + "diffuseconstant": "diffuseConstant", + "direction": "direction", + "display": "display", + "divisor": "divisor", + "dominantbaseline": "dominantBaseline", + "dominant-baseline": "dominantBaseline", + "dur": "dur", + "dx": "dx", + "dy": "dy", + "edgemode": "edgeMode", + "elevation": "elevation", + "enablebackground": "enableBackground", + "enable-background": "enableBackground", + "end": "end", + "exponent": "exponent", + "externalresourcesrequired": "externalResourcesRequired", + "fill": "fill", + "fillopacity": "fillOpacity", + "fill-opacity": "fillOpacity", + "fillrule": "fillRule", + "fill-rule": "fillRule", + "filter": "filter", + "filterres": "filterRes", + "filterunits": "filterUnits", + "floodopacity": "floodOpacity", + "flood-opacity": "floodOpacity", + "floodcolor": "floodColor", + "flood-color": "floodColor", + "focusable": "focusable", + "fontfamily": "fontFamily", + "font-family": "fontFamily", + "fontsize": "fontSize", + "font-size": "fontSize", + "fontsizeadjust": "fontSizeAdjust", + "font-size-adjust": "fontSizeAdjust", + "fontstretch": "fontStretch", + "font-stretch": "fontStretch", + "fontstyle": "fontStyle", + "font-style": "fontStyle", + "fontvariant": "fontVariant", + "font-variant": "fontVariant", + "fontweight": "fontWeight", + "font-weight": "fontWeight", + "format": "format", + "from": "from", + "fx": "fx", + "fy": "fy", + "g1": "g1", + "g2": "g2", + "glyphname": "glyphName", + "glyph-name": "glyphName", + "glyphorientationhorizontal": "glyphOrientationHorizontal", + "glyph-orientation-horizontal": "glyphOrientationHorizontal", + "glyphorientationvertical": "glyphOrientationVertical", + "glyph-orientation-vertical": "glyphOrientationVertical", + "glyphref": "glyphRef", + "gradienttransform": "gradientTransform", + "gradientunits": "gradientUnits", + "hanging": "hanging", + "horizadvx": "horizAdvX", + "horiz-adv-x": "horizAdvX", + "horizoriginx": "horizOriginX", + "horiz-origin-x": "horizOriginX", + "ideographic": "ideographic", + "imagerendering": "imageRendering", + "image-rendering": "imageRendering", + "in2": "in2", + "in": "in", + "inlist": "inlist", + "intercept": "intercept", + "k1": "k1", + "k2": "k2", + "k3": "k3", + "k4": "k4", + "k": "k", + "kernelmatrix": "kernelMatrix", + "kernelunitlength": "kernelUnitLength", + "kerning": "kerning", + "keypoints": "keyPoints", + "keysplines": "keySplines", + "keytimes": "keyTimes", + "lengthadjust": "lengthAdjust", + "letterspacing": "letterSpacing", + "letter-spacing": "letterSpacing", + "lightingcolor": "lightingColor", + "lighting-color": "lightingColor", + "limitingconeangle": "limitingConeAngle", + "local": "local", + "markerend": "markerEnd", + "marker-end": "markerEnd", + "markerheight": "markerHeight", + "markermid": "markerMid", + "marker-mid": "markerMid", + "markerstart": "markerStart", + "marker-start": "markerStart", + "markerunits": "markerUnits", + "markerwidth": "markerWidth", + "mask": "mask", + "maskcontentunits": "maskContentUnits", + "maskunits": "maskUnits", + "mathematical": "mathematical", + "mode": "mode", + "numoctaves": "numOctaves", + "offset": "offset", + "opacity": "opacity", + "operator": "operator", + "order": "order", + "orient": "orient", + "orientation": "orientation", + "origin": "origin", + "overflow": "overflow", + "overlineposition": "overlinePosition", + "overline-position": "overlinePosition", + "overlinethickness": "overlineThickness", + "overline-thickness": "overlineThickness", + "paintorder": "paintOrder", + "paint-order": "paintOrder", + "panose1": "panose1", + "panose-1": "panose1", + "pathlength": "pathLength", + "patterncontentunits": "patternContentUnits", + "patterntransform": "patternTransform", + "patternunits": "patternUnits", + "pointerevents": "pointerEvents", + "pointer-events": "pointerEvents", + "points": "points", + "pointsatx": "pointsAtX", + "pointsaty": "pointsAtY", + "pointsatz": "pointsAtZ", + "prefix": "prefix", + "preservealpha": "preserveAlpha", + "preserveaspectratio": "preserveAspectRatio", + "primitiveunits": "primitiveUnits", + "property": "property", + "r": "r", + "radius": "radius", + "refx": "refX", + "refy": "refY", + "renderingintent": "renderingIntent", + "rendering-intent": "renderingIntent", + "repeatcount": "repeatCount", + "repeatdur": "repeatDur", + "requiredextensions": "requiredExtensions", + "requiredfeatures": "requiredFeatures", + "resource": "resource", + "restart": "restart", + "result": "result", + "results": "results", + "rotate": "rotate", + "rx": "rx", + "ry": "ry", + "scale": "scale", + "security": "security", + "seed": "seed", + "shaperendering": "shapeRendering", + "shape-rendering": "shapeRendering", + "slope": "slope", + "spacing": "spacing", + "specularconstant": "specularConstant", + "specularexponent": "specularExponent", + "speed": "speed", + "spreadmethod": "spreadMethod", + "startoffset": "startOffset", + "stddeviation": "stdDeviation", + "stemh": "stemh", + "stemv": "stemv", + "stitchtiles": "stitchTiles", + "stopcolor": "stopColor", + "stop-color": "stopColor", + "stopopacity": "stopOpacity", + "stop-opacity": "stopOpacity", + "strikethroughposition": "strikethroughPosition", + "strikethrough-position": "strikethroughPosition", + "strikethroughthickness": "strikethroughThickness", + "strikethrough-thickness": "strikethroughThickness", + "string": "string", + "stroke": "stroke", + "strokedasharray": "strokeDasharray", + "stroke-dasharray": "strokeDasharray", + "strokedashoffset": "strokeDashoffset", + "stroke-dashoffset": "strokeDashoffset", + "strokelinecap": "strokeLinecap", + "stroke-linecap": "strokeLinecap", + "strokelinejoin": "strokeLinejoin", + "stroke-linejoin": "strokeLinejoin", + "strokemiterlimit": "strokeMiterlimit", + "stroke-miterlimit": "strokeMiterlimit", + "strokewidth": "strokeWidth", + "stroke-width": "strokeWidth", + "strokeopacity": "strokeOpacity", + "stroke-opacity": "strokeOpacity", + "suppresscontenteditablewarning": "suppressContentEditableWarning", + "suppresshydrationwarning": "suppressHydrationWarning", + "surfacescale": "surfaceScale", + "systemlanguage": "systemLanguage", + "tablevalues": "tableValues", + "targetx": "targetX", + "targety": "targetY", + "textanchor": "textAnchor", + "text-anchor": "textAnchor", + "textdecoration": "textDecoration", + "text-decoration": "textDecoration", + "textlength": "textLength", + "textrendering": "textRendering", + "text-rendering": "textRendering", + "to": "to", + "transform": "transform", + "transformorigin": "transformOrigin", + "transform-origin": "transformOrigin", + "typeof": "typeof", + "u1": "u1", + "u2": "u2", + "underlineposition": "underlinePosition", + "underline-position": "underlinePosition", + "underlinethickness": "underlineThickness", + "underline-thickness": "underlineThickness", + "unicode": "unicode", + "unicodebidi": "unicodeBidi", + "unicode-bidi": "unicodeBidi", + "unicoderange": "unicodeRange", + "unicode-range": "unicodeRange", + "unitsperem": "unitsPerEm", + "units-per-em": "unitsPerEm", + "unselectable": "unselectable", + "valphabetic": "vAlphabetic", + "v-alphabetic": "vAlphabetic", + "values": "values", + "vectoreffect": "vectorEffect", + "vector-effect": "vectorEffect", + "version": "version", + "vertadvy": "vertAdvY", + "vert-adv-y": "vertAdvY", + "vertoriginx": "vertOriginX", + "vert-origin-x": "vertOriginX", + "vertoriginy": "vertOriginY", + "vert-origin-y": "vertOriginY", + "vhanging": "vHanging", + "v-hanging": "vHanging", + "videographic": "vIdeographic", + "v-ideographic": "vIdeographic", + "viewbox": "viewBox", + "viewtarget": "viewTarget", + "visibility": "visibility", + "vmathematical": "vMathematical", + "v-mathematical": "vMathematical", + "vocab": "vocab", + "widths": "widths", + "wordspacing": "wordSpacing", + "word-spacing": "wordSpacing", + "writingmode": "writingMode", + "writing-mode": "writingMode", + "x1": "x1", + "x2": "x2", + "x": "x", + "xchannelselector": "xChannelSelector", + "xheight": "xHeight", + "x-height": "xHeight", + "xlinkactuate": "xlinkActuate", + "xlink:actuate": "xlinkActuate", + "xlinkarcrole": "xlinkArcrole", + "xlink:arcrole": "xlinkArcrole", + "xlinkhref": "xlinkHref", + "xlink:href": "xlinkHref", + "xlinkrole": "xlinkRole", + "xlink:role": "xlinkRole", + "xlinkshow": "xlinkShow", + "xlink:show": "xlinkShow", + "xlinktitle": "xlinkTitle", + "xlink:title": "xlinkTitle", + "xlinktype": "xlinkType", + "xlink:type": "xlinkType", + "xmlbase": "xmlBase", + "xml:base": "xmlBase", + "xmllang": "xmlLang", + "xml:lang": "xmlLang", + "xmlns": "xmlns", + "xml:space": "xmlSpace", + "xmlnsxlink": "xmlnsXlink", + "xmlns:xlink": "xmlnsXlink", + "xmlspace": "xmlSpace", + "y1": "y1", + "y2": "y2", + "y": "y", + "ychannelselector": "yChannelSelector", + "z": "z", + "zoomandpan": "zoomAndPan", +} diff --git a/pynecone/el/element.py b/pynecone/el/element.py new file mode 100644 index 0000000000..43c37a51fc --- /dev/null +++ b/pynecone/el/element.py @@ -0,0 +1,45 @@ +"""Base class definition for raw HTML elements.""" + +from pynecone import utils +from pynecone.components.component import Component + + +class Element(Component): + """The base class for all raw HTML elements. + + The key difference between `Element` and `Component` is that elements do not + use Chakra's `sx` prop, instead passing styles directly to the React style + prop. + """ + + def render(self) -> str: + """Render the element. + + Returns: + The code to render the element. + """ + tag = self._render() + return str( + tag.add_props( + **self.event_triggers, + key=self.key, + id=self.id, + style=self.style, + class_name=self.class_name, + ).set( + contents=utils.join( + [str(tag.contents)] + [child.render() for child in self.children] + ).strip(), + ) + ) + + def __eq__(self, other): + """Two elements are equal if they have the same tag. + + Args: + other: The other element. + + Returns: + True if the elements have the same tag, False otherwise. + """ + return isinstance(other, Element) and self.tag == other.tag diff --git a/pynecone/el/elements/__init__.py b/pynecone/el/elements/__init__.py new file mode 100644 index 0000000000..93acaf3cb9 --- /dev/null +++ b/pynecone/el/elements/__init__.py @@ -0,0 +1,3325 @@ +"""Element classes. This is an auto-generated file. Do not edit. See ../generate.py.""" +from typing import Union + +from pynecone.el.element import Element +from pynecone.var import Var as PCVar + + +class A(Element): # noqa: E742 + """Display the a element.""" + + tag = "a" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + download: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + href: PCVar[Union[str, int, bool]] + href_lang: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + media: PCVar[Union[str, int, bool]] + ping: PCVar[Union[str, int, bool]] + referrer_policy: PCVar[Union[str, int, bool]] + rel: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + shape: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + target: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +a = A.create + + +class Abbr(Element): # noqa: E742 + """Display the abbr element.""" + + tag = "abbr" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +abbr = Abbr.create + + +class Address(Element): # noqa: E742 + """Display the address element.""" + + tag = "address" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +address = Address.create + + +class Area(Element): # noqa: E742 + """Display the area element.""" + + tag = "area" + + access_key: PCVar[Union[str, int, bool]] + alt: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + coords: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + download: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + href: PCVar[Union[str, int, bool]] + href_lang: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + media: PCVar[Union[str, int, bool]] + ping: PCVar[Union[str, int, bool]] + referrer_policy: PCVar[Union[str, int, bool]] + rel: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + shape: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + target: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +area = Area.create + + +class Article(Element): # noqa: E742 + """Display the article element.""" + + tag = "article" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +article = Article.create + + +class Aside(Element): # noqa: E742 + """Display the aside element.""" + + tag = "aside" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +aside = Aside.create + + +class Audio(Element): # noqa: E742 + """Display the audio element.""" + + tag = "audio" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + auto_play: PCVar[Union[str, int, bool]] + buffered: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + controls: PCVar[Union[str, int, bool]] + cross_origin: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + loop: PCVar[Union[str, int, bool]] + muted: PCVar[Union[str, int, bool]] + preload: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + src: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +audio = Audio.create + + +class B(Element): # noqa: E742 + """Display the b element.""" + + tag = "b" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +b = B.create + + +class Base(Element): # noqa: E742 + """Display the base element.""" + + tag = "base" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + href: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + target: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +base = Base.create + + +class Bdi(Element): # noqa: E742 + """Display the bdi element.""" + + tag = "bdi" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +bdi = Bdi.create + + +class Bdo(Element): # noqa: E742 + """Display the bdo element.""" + + tag = "bdo" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +bdo = Bdo.create + + +class Blockquote(Element): # noqa: E742 + """Display the blockquote element.""" + + tag = "blockquote" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + cite: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +blockquote = Blockquote.create + + +class Body(Element): # noqa: E742 + """Display the body element.""" + + tag = "body" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + background: PCVar[Union[str, int, bool]] + bgcolor: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +body = Body.create + + +class Br(Element): # noqa: E742 + """Display the br element.""" + + tag = "br" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +br = Br.create + + +class Button(Element): # noqa: E742 + """Display the button element.""" + + tag = "button" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + auto_focus: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + disabled: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + form: PCVar[Union[str, int, bool]] + form_action: PCVar[Union[str, int, bool]] + form_enc_type: PCVar[Union[str, int, bool]] + form_method: PCVar[Union[str, int, bool]] + form_no_validate: PCVar[Union[str, int, bool]] + form_target: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + name: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + type: PCVar[Union[str, int, bool]] + value: PCVar[Union[str, int, bool]] + + +button = Button.create + + +class Canvas(Element): # noqa: E742 + """Display the canvas element.""" + + tag = "canvas" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + height: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + width: PCVar[Union[str, int, bool]] + + +canvas = Canvas.create + + +class Caption(Element): # noqa: E742 + """Display the caption element.""" + + tag = "caption" + + access_key: PCVar[Union[str, int, bool]] + align: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +caption = Caption.create + + +class Cite(Element): # noqa: E742 + """Display the cite element.""" + + tag = "cite" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +cite = Cite.create + + +class Code(Element): # noqa: E742 + """Display the code element.""" + + tag = "code" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +code = Code.create + + +class Col(Element): # noqa: E742 + """Display the col element.""" + + tag = "col" + + access_key: PCVar[Union[str, int, bool]] + align: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + bgcolor: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + span: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +col = Col.create + + +class Colgroup(Element): # noqa: E742 + """Display the colgroup element.""" + + tag = "colgroup" + + access_key: PCVar[Union[str, int, bool]] + align: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + bgcolor: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + span: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +colgroup = Colgroup.create + + +class Data(Element): # noqa: E742 + """Display the data element.""" + + tag = "data" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + value: PCVar[Union[str, int, bool]] + + +data = Data.create + + +class Datalist(Element): # noqa: E742 + """Display the datalist element.""" + + tag = "datalist" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +datalist = Datalist.create + + +class Dd(Element): # noqa: E742 + """Display the dd element.""" + + tag = "dd" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +dd = Dd.create + + +class Del(Element): # noqa: E742 + """Display the del element.""" + + tag = "del" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + cite: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + date_time: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +del_ = Del.create + + +class Details(Element): # noqa: E742 + """Display the details element.""" + + tag = "details" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + open: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +details = Details.create + + +class Dfn(Element): # noqa: E742 + """Display the dfn element.""" + + tag = "dfn" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +dfn = Dfn.create + + +class Dialog(Element): # noqa: E742 + """Display the dialog element.""" + + tag = "dialog" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + open: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +dialog = Dialog.create + + +class Div(Element): # noqa: E742 + """Display the div element.""" + + tag = "div" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +div = Div.create + + +class Dl(Element): # noqa: E742 + """Display the dl element.""" + + tag = "dl" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +dl = Dl.create + + +class Dt(Element): # noqa: E742 + """Display the dt element.""" + + tag = "dt" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +dt = Dt.create + + +class Em(Element): # noqa: E742 + """Display the em element.""" + + tag = "em" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +em = Em.create + + +class Embed(Element): # noqa: E742 + """Display the embed element.""" + + tag = "embed" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + height: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + src: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + type: PCVar[Union[str, int, bool]] + width: PCVar[Union[str, int, bool]] + + +embed = Embed.create + + +class Fieldset(Element): # noqa: E742 + """Display the fieldset element.""" + + tag = "fieldset" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + disabled: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + form: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + name: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +fieldset = Fieldset.create + + +class Figcaption(Element): # noqa: E742 + """Display the figcaption element.""" + + tag = "figcaption" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +figcaption = Figcaption.create + + +class Figure(Element): # noqa: E742 + """Display the figure element.""" + + tag = "figure" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +figure = Figure.create + + +class Footer(Element): # noqa: E742 + """Display the footer element.""" + + tag = "footer" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +footer = Footer.create + + +class Form(Element): # noqa: E742 + """Display the form element.""" + + tag = "form" + + accept: PCVar[Union[str, int, bool]] + accept_charset: PCVar[Union[str, int, bool]] + access_key: PCVar[Union[str, int, bool]] + action: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + auto_complete: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enc_type: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + method: PCVar[Union[str, int, bool]] + name: PCVar[Union[str, int, bool]] + no_validate: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + target: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +form = Form.create + + +class H1(Element): # noqa: E742 + """Display the h1 element.""" + + tag = "h1" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +h1 = H1.create + + +class H2(Element): # noqa: E742 + """Display the h2 element.""" + + tag = "h2" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +h2 = H2.create + + +class H3(Element): # noqa: E742 + """Display the h3 element.""" + + tag = "h3" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +h3 = H3.create + + +class H4(Element): # noqa: E742 + """Display the h4 element.""" + + tag = "h4" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +h4 = H4.create + + +class H5(Element): # noqa: E742 + """Display the h5 element.""" + + tag = "h5" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +h5 = H5.create + + +class H6(Element): # noqa: E742 + """Display the h6 element.""" + + tag = "h6" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +h6 = H6.create + + +class Head(Element): # noqa: E742 + """Display the head element.""" + + tag = "head" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +head = Head.create + + +class Header(Element): # noqa: E742 + """Display the header element.""" + + tag = "header" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +header = Header.create + + +class Hr(Element): # noqa: E742 + """Display the hr element.""" + + tag = "hr" + + access_key: PCVar[Union[str, int, bool]] + align: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + color: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +hr = Hr.create + + +class Html(Element): # noqa: E742 + """Display the html element.""" + + tag = "html" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + manifest: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +html = Html.create + + +class I(Element): # noqa: E742 + """Display the i element.""" + + tag = "i" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +i = I.create + + +class Iframe(Element): # noqa: E742 + """Display the iframe element.""" + + tag = "iframe" + + access_key: PCVar[Union[str, int, bool]] + align: PCVar[Union[str, int, bool]] + allow: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + csp: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + height: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + loading: PCVar[Union[str, int, bool]] + name: PCVar[Union[str, int, bool]] + referrer_policy: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + sandbox: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + src: PCVar[Union[str, int, bool]] + src_doc: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + width: PCVar[Union[str, int, bool]] + + +iframe = Iframe.create + + +class Img(Element): # noqa: E742 + """Display the img element.""" + + tag = "img" + + access_key: PCVar[Union[str, int, bool]] + align: PCVar[Union[str, int, bool]] + alt: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + border: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + cross_origin: PCVar[Union[str, int, bool]] + decoding: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + height: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + intrinsicsize: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + ismap: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + loading: PCVar[Union[str, int, bool]] + referrer_policy: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + sizes: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + src: PCVar[Union[str, int, bool]] + src_set: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + use_map: PCVar[Union[str, int, bool]] + width: PCVar[Union[str, int, bool]] + + +img = Img.create + + +class Input(Element): # noqa: E742 + """Display the input element.""" + + tag = "input" + + accept: PCVar[Union[str, int, bool]] + access_key: PCVar[Union[str, int, bool]] + alt: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + auto_complete: PCVar[Union[str, int, bool]] + auto_focus: PCVar[Union[str, int, bool]] + capture: PCVar[Union[str, int, bool]] + checked: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + dirname: PCVar[Union[str, int, bool]] + disabled: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + form: PCVar[Union[str, int, bool]] + form_action: PCVar[Union[str, int, bool]] + form_enc_type: PCVar[Union[str, int, bool]] + form_method: PCVar[Union[str, int, bool]] + form_no_validate: PCVar[Union[str, int, bool]] + form_target: PCVar[Union[str, int, bool]] + height: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + list: PCVar[Union[str, int, bool]] + max: PCVar[Union[str, int, bool]] + max_length: PCVar[Union[str, int, bool]] + min_length: PCVar[Union[str, int, bool]] + min: PCVar[Union[str, int, bool]] + multiple: PCVar[Union[str, int, bool]] + name: PCVar[Union[str, int, bool]] + pattern: PCVar[Union[str, int, bool]] + placeholder: PCVar[Union[str, int, bool]] + read_only: PCVar[Union[str, int, bool]] + required: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + size: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + src: PCVar[Union[str, int, bool]] + step: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + type: PCVar[Union[str, int, bool]] + use_map: PCVar[Union[str, int, bool]] + value: PCVar[Union[str, int, bool]] + width: PCVar[Union[str, int, bool]] + + +input = Input.create + + +class Ins(Element): # noqa: E742 + """Display the ins element.""" + + tag = "ins" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + cite: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + date_time: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +ins = Ins.create + + +class Kbd(Element): # noqa: E742 + """Display the kbd element.""" + + tag = "kbd" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +kbd = Kbd.create + + +class Label(Element): # noqa: E742 + """Display the label element.""" + + tag = "label" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + html_for: PCVar[Union[str, int, bool]] + form: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +label = Label.create + + +class Legend(Element): # noqa: E742 + """Display the legend element.""" + + tag = "legend" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +legend = Legend.create + + +class Li(Element): # noqa: E742 + """Display the li element.""" + + tag = "li" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + value: PCVar[Union[str, int, bool]] + + +li = Li.create + + +class Link(Element): # noqa: E742 + """Display the link element.""" + + tag = "link" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + cross_origin: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + href: PCVar[Union[str, int, bool]] + href_lang: PCVar[Union[str, int, bool]] + integrity: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + media: PCVar[Union[str, int, bool]] + referrer_policy: PCVar[Union[str, int, bool]] + rel: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + sizes: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + type: PCVar[Union[str, int, bool]] + + +link = Link.create + + +class Main(Element): # noqa: E742 + """Display the main element.""" + + tag = "main" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +main = Main.create + + +class Map(Element): # noqa: E742 + """Display the map element.""" + + tag = "map" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + name: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +map = Map.create + + +class Mark(Element): # noqa: E742 + """Display the mark element.""" + + tag = "mark" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +mark = Mark.create + + +class Math(Element): # noqa: E742 + """Display the math element.""" + + tag = "math" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +math = Math.create + + +class Menu(Element): # noqa: E742 + """Display the menu element.""" + + tag = "menu" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + type: PCVar[Union[str, int, bool]] + + +menu = Menu.create + + +class Meta(Element): # noqa: E742 + """Display the meta element.""" + + tag = "meta" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + char_set: PCVar[Union[str, int, bool]] + content: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + http_equiv: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + name: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +meta = Meta.create + + +class Meter(Element): # noqa: E742 + """Display the meter element.""" + + tag = "meter" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + form: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + high: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + low: PCVar[Union[str, int, bool]] + max: PCVar[Union[str, int, bool]] + min: PCVar[Union[str, int, bool]] + optimum: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + value: PCVar[Union[str, int, bool]] + + +meter = Meter.create + + +class Nav(Element): # noqa: E742 + """Display the nav element.""" + + tag = "nav" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +nav = Nav.create + + +class Noscript(Element): # noqa: E742 + """Display the noscript element.""" + + tag = "noscript" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +noscript = Noscript.create + + +class Object(Element): # noqa: E742 + """Display the object element.""" + + tag = "object" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + border: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + data: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + form: PCVar[Union[str, int, bool]] + height: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + name: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + type: PCVar[Union[str, int, bool]] + use_map: PCVar[Union[str, int, bool]] + width: PCVar[Union[str, int, bool]] + + +object = Object.create + + +class Ol(Element): # noqa: E742 + """Display the ol element.""" + + tag = "ol" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + reversed: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + start: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + type: PCVar[Union[str, int, bool]] + + +ol = Ol.create + + +class Optgroup(Element): # noqa: E742 + """Display the optgroup element.""" + + tag = "optgroup" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + disabled: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + label: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +optgroup = Optgroup.create + + +class Option(Element): # noqa: E742 + """Display the option element.""" + + tag = "option" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + disabled: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + label: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + selected: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + value: PCVar[Union[str, int, bool]] + + +option = Option.create + + +class Output(Element): # noqa: E742 + """Display the output element.""" + + tag = "output" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + html_for: PCVar[Union[str, int, bool]] + form: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + name: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +output = Output.create + + +class P(Element): # noqa: E742 + """Display the p element.""" + + tag = "p" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +p = P.create + + +class Picture(Element): # noqa: E742 + """Display the picture element.""" + + tag = "picture" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +picture = Picture.create + + +class Portal(Element): # noqa: E742 + """Display the portal element.""" + + tag = "portal" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +portal = Portal.create + + +class Pre(Element): # noqa: E742 + """Display the pre element.""" + + tag = "pre" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +pre = Pre.create + + +class Progress(Element): # noqa: E742 + """Display the progress element.""" + + tag = "progress" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + form: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + max: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + value: PCVar[Union[str, int, bool]] + + +progress = Progress.create + + +class Q(Element): # noqa: E742 + """Display the q element.""" + + tag = "q" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + cite: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +q = Q.create + + +class Rp(Element): # noqa: E742 + """Display the rp element.""" + + tag = "rp" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +rp = Rp.create + + +class Rt(Element): # noqa: E742 + """Display the rt element.""" + + tag = "rt" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +rt = Rt.create + + +class Ruby(Element): # noqa: E742 + """Display the ruby element.""" + + tag = "ruby" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +ruby = Ruby.create + + +class S(Element): # noqa: E742 + """Display the s element.""" + + tag = "s" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +s = S.create + + +class Samp(Element): # noqa: E742 + """Display the samp element.""" + + tag = "samp" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +samp = Samp.create + + +class Script(Element): # noqa: E742 + """Display the script element.""" + + tag = "script" + + access_key: PCVar[Union[str, int, bool]] + async_: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + char_set: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + cross_origin: PCVar[Union[str, int, bool]] + defer: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + integrity: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + language: PCVar[Union[str, int, bool]] + referrer_policy: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + src: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + type: PCVar[Union[str, int, bool]] + + +script = Script.create + + +class Section(Element): # noqa: E742 + """Display the section element.""" + + tag = "section" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +section = Section.create + + +class Select(Element): # noqa: E742 + """Display the select element.""" + + tag = "select" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + auto_complete: PCVar[Union[str, int, bool]] + auto_focus: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + disabled: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + form: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + multiple: PCVar[Union[str, int, bool]] + name: PCVar[Union[str, int, bool]] + required: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + size: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +select = Select.create + + +class Slot(Element): # noqa: E742 + """Display the slot element.""" + + tag = "slot" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +slot = Slot.create + + +class Small(Element): # noqa: E742 + """Display the small element.""" + + tag = "small" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +small = Small.create + + +class Source(Element): # noqa: E742 + """Display the source element.""" + + tag = "source" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + media: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + sizes: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + src: PCVar[Union[str, int, bool]] + src_set: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + type: PCVar[Union[str, int, bool]] + + +source = Source.create + + +class Span(Element): # noqa: E742 + """Display the span element.""" + + tag = "span" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +span = Span.create + + +class Strong(Element): # noqa: E742 + """Display the strong element.""" + + tag = "strong" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +strong = Strong.create + + +class Style(Element): # noqa: E742 + """Display the style element.""" + + tag = "style" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + media: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + scoped: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + type: PCVar[Union[str, int, bool]] + + +style = Style.create + + +class Sub(Element): # noqa: E742 + """Display the sub element.""" + + tag = "sub" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +sub = Sub.create + + +class Summary(Element): # noqa: E742 + """Display the summary element.""" + + tag = "summary" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +summary = Summary.create + + +class Sup(Element): # noqa: E742 + """Display the sup element.""" + + tag = "sup" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +sup = Sup.create + + +class Svg(Element): # noqa: E742 + """Display the svg element.""" + + tag = "svg" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +svg = Svg.create + + +class Table(Element): # noqa: E742 + """Display the table element.""" + + tag = "table" + + access_key: PCVar[Union[str, int, bool]] + align: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + background: PCVar[Union[str, int, bool]] + bgcolor: PCVar[Union[str, int, bool]] + border: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + summary: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +table = Table.create + + +class Tbody(Element): # noqa: E742 + """Display the tbody element.""" + + tag = "tbody" + + access_key: PCVar[Union[str, int, bool]] + align: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + bgcolor: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +tbody = Tbody.create + + +class Td(Element): # noqa: E742 + """Display the td element.""" + + tag = "td" + + access_key: PCVar[Union[str, int, bool]] + align: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + background: PCVar[Union[str, int, bool]] + bgcolor: PCVar[Union[str, int, bool]] + col_span: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + headers: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + row_span: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +td = Td.create + + +class Template(Element): # noqa: E742 + """Display the template element.""" + + tag = "template" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +template = Template.create + + +class Textarea(Element): # noqa: E742 + """Display the textarea element.""" + + tag = "textarea" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + auto_complete: PCVar[Union[str, int, bool]] + auto_focus: PCVar[Union[str, int, bool]] + cols: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + dirname: PCVar[Union[str, int, bool]] + disabled: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + form: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + max_length: PCVar[Union[str, int, bool]] + min_length: PCVar[Union[str, int, bool]] + name: PCVar[Union[str, int, bool]] + placeholder: PCVar[Union[str, int, bool]] + read_only: PCVar[Union[str, int, bool]] + required: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + rows: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + wrap: PCVar[Union[str, int, bool]] + + +textarea = Textarea.create + + +class Tfoot(Element): # noqa: E742 + """Display the tfoot element.""" + + tag = "tfoot" + + access_key: PCVar[Union[str, int, bool]] + align: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + bgcolor: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +tfoot = Tfoot.create + + +class Th(Element): # noqa: E742 + """Display the th element.""" + + tag = "th" + + access_key: PCVar[Union[str, int, bool]] + align: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + background: PCVar[Union[str, int, bool]] + bgcolor: PCVar[Union[str, int, bool]] + col_span: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + headers: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + row_span: PCVar[Union[str, int, bool]] + scope: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +th = Th.create + + +class Thead(Element): # noqa: E742 + """Display the thead element.""" + + tag = "thead" + + access_key: PCVar[Union[str, int, bool]] + align: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +thead = Thead.create + + +class Time(Element): # noqa: E742 + """Display the time element.""" + + tag = "time" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + date_time: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +time = Time.create + + +class Title(Element): # noqa: E742 + """Display the title element.""" + + tag = "title" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +title = Title.create + + +class Tr(Element): # noqa: E742 + """Display the tr element.""" + + tag = "tr" + + access_key: PCVar[Union[str, int, bool]] + align: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + bgcolor: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +tr = Tr.create + + +class Track(Element): # noqa: E742 + """Display the track element.""" + + tag = "track" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + default: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + kind: PCVar[Union[str, int, bool]] + label: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + src: PCVar[Union[str, int, bool]] + src_lang: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +track = Track.create + + +class U(Element): # noqa: E742 + """Display the u element.""" + + tag = "u" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +u = U.create + + +class Ul(Element): # noqa: E742 + """Display the ul element.""" + + tag = "ul" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +ul = Ul.create + + +class Var(Element): # noqa: E742 + """Display the var element.""" + + tag = "var" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +var = Var.create + + +class Video(Element): # noqa: E742 + """Display the video element.""" + + tag = "video" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + auto_play: PCVar[Union[str, int, bool]] + buffered: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + controls: PCVar[Union[str, int, bool]] + cross_origin: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + height: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + loop: PCVar[Union[str, int, bool]] + muted: PCVar[Union[str, int, bool]] + plays_inline: PCVar[Union[str, int, bool]] + poster: PCVar[Union[str, int, bool]] + preload: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + src: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + width: PCVar[Union[str, int, bool]] + + +video = Video.create + + +class Wbr(Element): # noqa: E742 + """Display the wbr element.""" + + tag = "wbr" + + access_key: PCVar[Union[str, int, bool]] + auto_capitalize: PCVar[Union[str, int, bool]] + content_editable: PCVar[Union[str, int, bool]] + context_menu: PCVar[Union[str, int, bool]] + dir: PCVar[Union[str, int, bool]] + draggable: PCVar[Union[str, int, bool]] + enter_key_hint: PCVar[Union[str, int, bool]] + hidden: PCVar[Union[str, int, bool]] + input_mode: PCVar[Union[str, int, bool]] + item_prop: PCVar[Union[str, int, bool]] + lang: PCVar[Union[str, int, bool]] + role: PCVar[Union[str, int, bool]] + slot: PCVar[Union[str, int, bool]] + spell_check: PCVar[Union[str, int, bool]] + tab_index: PCVar[Union[str, int, bool]] + title: PCVar[Union[str, int, bool]] + translate: PCVar[Union[str, int, bool]] + + +wbr = Wbr.create diff --git a/pynecone/el/precompile.py b/pynecone/el/precompile.py new file mode 100755 index 0000000000..ca4f0546cf --- /dev/null +++ b/pynecone/el/precompile.py @@ -0,0 +1,108 @@ +"""Dynamically compile classes for all HTML elements and output them to the +elements directory. + +This script generates the element classes in the pynecone.el.elements module. +Run as follows: + + python -m pynecone.el.precompile + +Make sure to delete the __init__.py file in the elements directory before +running this script. +""" + +import os + +from pynecone.compiler.templates import join + +from .constants import ELEMENT_TO_PROPS, ELEMENTS + +FILE_DIR = os.path.dirname(os.path.realpath(__file__)) +ELEMENTS_DIR = os.path.join(FILE_DIR, "elements") +INIT_PY_PATH = os.path.join(ELEMENTS_DIR, "__init__.py") + + +def element_path(element: str) -> str: + """Get the name of the Python file for the given element. + + Args: + element: The name of the element. For example, `a` or `div`. + + Returns: + The name of the Python file for the given element. + """ + return os.path.join(ELEMENTS_DIR, f"{element}.py") + + +PROP = " {prop}: PCVar[Union[str, int, bool]]".format + + +def compile_pyclass_props(element: str) -> str: + """Compile props for an element. + + Args: + element: The name of the element. For example, `a` or `div`. + + Returns: + A string containing compiled props for the element. + """ + return join(PROP(prop=prop) for prop in ELEMENT_TO_PROPS[element]) + + +PYCLASS = join( + [ + "", + "class {name}(Element): # noqa: E742", + ' """Display the {element} element."""', + "", + ' tag = "{element}"', + "", + "{props}", + "", + "", + "{call_name} = {name}.create", + "", + ] +).format + + +def compile_pyclass(element: str) -> str: + """Compile a Python class for an element. + + Args: + element: The name of the element. For example, `a` or `div`. + + Returns: + A string containing a Python class for the element. + """ + name = element.capitalize() + props = compile_pyclass_props(element) + + # Handle the `del` element, which is a Python keyword. Note that the class + # name is still `Del`. + call_name = "del_" if element == "del" else element + + return PYCLASS( + name=name, + element=element, + props=props, + call_name=call_name, + ) + + +INIT_PY = [ + '"""Element classes. This is an auto-generated file. Do not edit. See ../generate.py."""', + "from typing import Union", + "", + "from pynecone.el.element import Element", + "from pynecone.var import Var as PCVar", + "", +] + + +for element in sorted(ELEMENTS): + INIT_PY.append(compile_pyclass(element)) + + +os.makedirs(ELEMENTS_DIR, exist_ok=True) +with open(INIT_PY_PATH, "w+") as f: + f.write(join(INIT_PY))