campfire.js
    Preparing search index...

    Interface ElementProperties<T, D>

    Properties for the HTML element to be created.

    interface ElementProperties<
        T extends HTMLElement,
        D extends Record<string, Store<any>>,
    > {
        attrs?: Record<string, string | number | boolean>;
        children?: Record<
            string,
            CfHTMLElementInterface
            | CfHTMLElementInterface[],
        >;
        classes?: Record<string, boolean>;
        contents?: string;
        deps?: D;
        gimme?: string[];
        misc?: Record<string, unknown>;
        on?: DOMEventHandlers;
        raw?: boolean;
        render?: RenderFunction<T, D>;
        style?: Partial<
            Record<
                | number
                | "filter"
                | "fill"
                | "stroke"
                | "animationName"
                | "flex"
                | "all"
                | "offset"
                | "height"
                | "width"
                | "left"
                | "top"
                | "cssText"
                | "accentColor"
                | "alignContent"
                | "alignItems"
                | "alignSelf"
                | "alignmentBaseline"
                | "animation"
                | "animationComposition"
                | "animationDelay"
                | "animationDirection"
                | "animationDuration"
                | "animationFillMode"
                | "animationIterationCount"
                | "animationPlayState"
                | "animationTimingFunction"
                | "appearance"
                | "aspectRatio"
                | "backdropFilter"
                | "backfaceVisibility"
                | "background"
                | "backgroundAttachment"
                | "backgroundBlendMode"
                | "backgroundClip"
                | "backgroundColor"
                | "backgroundImage"
                | "backgroundOrigin"
                | "backgroundPosition"
                | "backgroundPositionX"
                | "backgroundPositionY"
                | "backgroundRepeat"
                | "backgroundSize"
                | "baselineShift"
                | "baselineSource"
                | "blockSize"
                | "border"
                | "borderBlock"
                | "borderBlockColor"
                | "borderBlockEnd"
                | "borderBlockEndColor"
                | "borderBlockEndStyle"
                | "borderBlockEndWidth"
                | "borderBlockStart"
                | "borderBlockStartColor"
                | "borderBlockStartStyle"
                | "borderBlockStartWidth"
                | "borderBlockStyle"
                | "borderBlockWidth"
                | "borderBottom"
                | "borderBottomColor"
                | "borderBottomLeftRadius"
                | "borderBottomRightRadius"
                | "borderBottomStyle"
                | "borderBottomWidth"
                | "borderCollapse"
                | "borderColor"
                | "borderEndEndRadius"
                | "borderEndStartRadius"
                | "borderImage"
                | "borderImageOutset"
                | "borderImageRepeat"
                | "borderImageSlice"
                | "borderImageSource"
                | "borderImageWidth"
                | "borderInline"
                | "borderInlineColor"
                | "borderInlineEnd"
                | "borderInlineEndColor"
                | "borderInlineEndStyle"
                | "borderInlineEndWidth"
                | "borderInlineStart"
                | "borderInlineStartColor"
                | "borderInlineStartStyle"
                | "borderInlineStartWidth"
                | "borderInlineStyle"
                | "borderInlineWidth"
                | "borderLeft"
                | "borderLeftColor"
                | "borderLeftStyle"
                | "borderLeftWidth"
                | "borderRadius"
                | "borderRight"
                | "borderRightColor"
                | "borderRightStyle"
                | "borderRightWidth"
                | "borderSpacing"
                | "borderStartEndRadius"
                | "borderStartStartRadius"
                | "borderStyle"
                | "borderTop"
                | "borderTopColor"
                | "borderTopLeftRadius"
                | "borderTopRightRadius"
                | "borderTopStyle"
                | "borderTopWidth"
                | "borderWidth"
                | "bottom"
                | "boxDecorationBreak"
                | "boxShadow"
                | "boxSizing"
                | "breakAfter"
                | "breakBefore"
                | "breakInside"
                | "captionSide"
                | "caretColor"
                | "clear"
                | "clip"
                | "clipPath"
                | "clipRule"
                | "color"
                | "colorInterpolation"
                | "colorInterpolationFilters"
                | "colorScheme"
                | "columnCount"
                | "columnFill"
                | "columnGap"
                | "columnRule"
                | "columnRuleColor"
                | "columnRuleStyle"
                | "columnRuleWidth"
                | "columnSpan"
                | "columnWidth"
                | "columns"
                | "contain"
                | "containIntrinsicBlockSize"
                | "containIntrinsicHeight"
                | "containIntrinsicInlineSize"
                | "containIntrinsicSize"
                | "containIntrinsicWidth"
                | "container"
                | "containerName"
                | "containerType"
                | "content"
                | "contentVisibility"
                | "counterIncrement"
                | "counterReset"
                | "counterSet"
                | "cssFloat"
                | "cursor"
                | "cx"
                | "cy"
                | "d"
                | "direction"
                | "display"
                | "dominantBaseline"
                | "emptyCells"
                | "fillOpacity"
                | "fillRule"
                | "flexBasis"
                | "flexDirection"
                | "flexFlow"
                | "flexGrow"
                | "flexShrink"
                | "flexWrap"
                | "float"
                | "floodColor"
                | "floodOpacity"
                | "font"
                | "fontFamily"
                | "fontFeatureSettings"
                | "fontKerning"
                | "fontOpticalSizing"
                | "fontPalette"
                | "fontSize"
                | "fontSizeAdjust"
                | "fontStretch"
                | "fontStyle"
                | "fontSynthesis"
                | "fontSynthesisSmallCaps"
                | "fontSynthesisStyle"
                | "fontSynthesisWeight"
                | "fontVariant"
                | "fontVariantAlternates"
                | "fontVariantCaps"
                | "fontVariantEastAsian"
                | "fontVariantLigatures"
                | "fontVariantNumeric"
                | "fontVariantPosition"
                | "fontVariationSettings"
                | "fontWeight"
                | "forcedColorAdjust"
                | "gap"
                | "grid"
                | "gridArea"
                | "gridAutoColumns"
                | "gridAutoFlow"
                | "gridAutoRows"
                | "gridColumn"
                | "gridColumnEnd"
                | "gridColumnGap"
                | "gridColumnStart"
                | "gridGap"
                | "gridRow"
                | "gridRowEnd"
                | "gridRowGap"
                | "gridRowStart"
                | "gridTemplate"
                | "gridTemplateAreas"
                | "gridTemplateColumns"
                | "gridTemplateRows"
                | "hyphenateCharacter"
                | "hyphens"
                | "imageOrientation"
                | "imageRendering"
                | "inlineSize"
                | "inset"
                | "insetBlock"
                | "insetBlockEnd"
                | "insetBlockStart"
                | "insetInline"
                | "insetInlineEnd"
                | "insetInlineStart"
                | "isolation"
                | "justifyContent"
                | "justifyItems"
                | "justifySelf"
                | "letterSpacing"
                | "lightingColor"
                | "lineBreak"
                | "lineHeight"
                | "listStyle"
                | "listStyleImage"
                | "listStylePosition"
                | "listStyleType"
                | "margin"
                | "marginBlock"
                | "marginBlockEnd"
                | "marginBlockStart"
                | "marginBottom"
                | "marginInline"
                | "marginInlineEnd"
                | "marginInlineStart"
                | "marginLeft"
                | "marginRight"
                | "marginTop"
                | "marker"
                | "markerEnd"
                | "markerMid"
                | "markerStart"
                | "mask"
                | "maskClip"
                | "maskComposite"
                | "maskImage"
                | "maskMode"
                | "maskOrigin"
                | "maskPosition"
                | "maskRepeat"
                | "maskSize"
                | "maskType"
                | "mathDepth"
                | "mathStyle"
                | "maxBlockSize"
                | "maxHeight"
                | "maxInlineSize"
                | "maxWidth"
                | "minBlockSize"
                | "minHeight"
                | "minInlineSize"
                | "minWidth"
                | "mixBlendMode"
                | "objectFit"
                | "objectPosition"
                | "offsetAnchor"
                | "offsetDistance"
                | "offsetPath"
                | "offsetPosition"
                | "offsetRotate"
                | "opacity"
                | "order"
                | "orphans"
                | "outline"
                | "outlineColor"
                | "outlineOffset"
                | "outlineStyle"
                | "outlineWidth"
                | "overflow"
                | "overflowAnchor"
                | "overflowClipMargin"
                | "overflowWrap"
                | "overflowX"
                | "overflowY"
                | "overscrollBehavior"
                | "overscrollBehaviorBlock"
                | "overscrollBehaviorInline"
                | "overscrollBehaviorX"
                | "overscrollBehaviorY"
                | "padding"
                | "paddingBlock"
                | "paddingBlockEnd"
                | "paddingBlockStart"
                | "paddingBottom"
                | "paddingInline"
                | "paddingInlineEnd"
                | "paddingInlineStart"
                | "paddingLeft"
                | "paddingRight"
                | "paddingTop"
                | "page"
                | "pageBreakAfter"
                | "pageBreakBefore"
                | "pageBreakInside"
                | "paintOrder"
                | "perspective"
                | "perspectiveOrigin"
                | "placeContent"
                | "placeItems"
                | "placeSelf"
                | "pointerEvents"
                | "position"
                | "printColorAdjust"
                | "quotes"
                | "r"
                | "resize"
                | "right"
                | "rotate"
                | "rowGap"
                | "rubyAlign"
                | "rubyPosition"
                | "rx"
                | "ry"
                | "scale"
                | "scrollBehavior"
                | "scrollMargin"
                | "scrollMarginBlock"
                | "scrollMarginBlockEnd"
                | "scrollMarginBlockStart"
                | "scrollMarginBottom"
                | "scrollMarginInline"
                | "scrollMarginInlineEnd"
                | "scrollMarginInlineStart"
                | "scrollMarginLeft"
                | "scrollMarginRight"
                | "scrollMarginTop"
                | "scrollPadding"
                | "scrollPaddingBlock"
                | "scrollPaddingBlockEnd"
                | "scrollPaddingBlockStart"
                | "scrollPaddingBottom"
                | "scrollPaddingInline"
                | "scrollPaddingInlineEnd"
                | "scrollPaddingInlineStart"
                | "scrollPaddingLeft"
                | "scrollPaddingRight"
                | "scrollPaddingTop"
                | "scrollSnapAlign"
                | "scrollSnapStop"
                | "scrollSnapType"
                | "scrollbarColor"
                | "scrollbarGutter"
                | "scrollbarWidth"
                | "shapeImageThreshold"
                | "shapeMargin"
                | "shapeOutside"
                | "shapeRendering"
                | "stopColor"
                | "stopOpacity"
                | "strokeDasharray"
                | "strokeDashoffset"
                | "strokeLinecap"
                | "strokeLinejoin"
                | "strokeMiterlimit"
                | "strokeOpacity"
                | "strokeWidth"
                | "tabSize"
                | "tableLayout"
                | "textAlign"
                | "textAlignLast"
                | "textAnchor"
                | "textBox"
                | "textBoxEdge"
                | "textBoxTrim"
                | "textCombineUpright"
                | "textDecoration"
                | "textDecorationColor"
                | "textDecorationLine"
                | "textDecorationSkipInk"
                | "textDecorationStyle"
                | "textDecorationThickness"
                | "textEmphasis"
                | "textEmphasisColor"
                | "textEmphasisPosition"
                | "textEmphasisStyle"
                | "textIndent"
                | "textOrientation"
                | "textOverflow"
                | "textRendering"
                | "textShadow"
                | "textTransform"
                | "textUnderlineOffset"
                | "textUnderlinePosition"
                | "textWrap"
                | "textWrapMode"
                | "textWrapStyle"
                | "touchAction"
                | "transform"
                | "transformBox"
                | "transformOrigin"
                | "transformStyle"
                | "transition"
                | "transitionBehavior"
                | "transitionDelay"
                | "transitionDuration"
                | "transitionProperty"
                | "transitionTimingFunction"
                | "translate"
                | "unicodeBidi"
                | "userSelect"
                | "vectorEffect"
                | "verticalAlign"
                | "viewTransitionClass"
                | "viewTransitionName"
                | "visibility"
                | "webkitAlignContent"
                | "webkitAlignItems"
                | "webkitAlignSelf"
                | "webkitAnimation"
                | "webkitAnimationDelay"
                | "webkitAnimationDirection"
                | "webkitAnimationDuration"
                | "webkitAnimationFillMode"
                | "webkitAnimationIterationCount"
                | "webkitAnimationName"
                | "webkitAnimationPlayState"
                | "webkitAnimationTimingFunction"
                | "webkitAppearance"
                | "webkitBackfaceVisibility"
                | "webkitBackgroundClip"
                | "webkitBackgroundOrigin"
                | "webkitBackgroundSize"
                | "webkitBorderBottomLeftRadius"
                | "webkitBorderBottomRightRadius"
                | "webkitBorderRadius"
                | "webkitBorderTopLeftRadius"
                | "webkitBorderTopRightRadius"
                | "webkitBoxAlign"
                | "webkitBoxFlex"
                | "webkitBoxOrdinalGroup"
                | "webkitBoxOrient"
                | "webkitBoxPack"
                | "webkitBoxShadow"
                | "webkitBoxSizing"
                | "webkitFilter"
                | "webkitFlex"
                | "webkitFlexBasis"
                | "webkitFlexDirection"
                | "webkitFlexFlow"
                | "webkitFlexGrow"
                | "webkitFlexShrink"
                | "webkitFlexWrap"
                | "webkitJustifyContent"
                | "webkitLineClamp"
                | "webkitMask"
                | "webkitMaskBoxImage"
                | "webkitMaskBoxImageOutset"
                | "webkitMaskBoxImageRepeat"
                | "webkitMaskBoxImageSlice"
                | "webkitMaskBoxImageSource"
                | "webkitMaskBoxImageWidth"
                | "webkitMaskClip"
                | "webkitMaskComposite"
                | "webkitMaskImage"
                | "webkitMaskOrigin"
                | "webkitMaskPosition"
                | "webkitMaskRepeat"
                | "webkitMaskSize"
                | "webkitOrder"
                | "webkitPerspective"
                | "webkitPerspectiveOrigin"
                | "webkitTextFillColor"
                | "webkitTextSizeAdjust"
                | "webkitTextStroke"
                | "webkitTextStrokeColor"
                | "webkitTextStrokeWidth"
                | "webkitTransform"
                | "webkitTransformOrigin"
                | "webkitTransformStyle"
                | "webkitTransition"
                | "webkitTransitionDelay"
                | "webkitTransitionDuration"
                | "webkitTransitionProperty"
                | "webkitTransitionTimingFunction"
                | "webkitUserSelect"
                | "whiteSpace"
                | "whiteSpaceCollapse"
                | "widows"
                | "willChange"
                | "wordBreak"
                | "wordSpacing"
                | "wordWrap"
                | "writingMode"
                | "x"
                | "y"
                | "zIndex"
                | "zoom",
                string
                | number,
            >,
        >;
        track?: string;
    }

    Type Parameters

    • T extends HTMLElement
    • D extends Record<string, Store<any>>
    Index

    Properties

    attrs?: Record<string, string | number | boolean>

    Attributes that will be set on the element using Element.setAttribute.

    children?: Record<string, CfHTMLElementInterface | CfHTMLElementInterface[]>

    Children of the element to mount. They will be mounted into cf-slots corresponding to the Record's keys and preserved between re-renders of the parent.

    As of 4.0.0-rc15, you can provide an array of elements for a slot, and they will all be mounted to that slot in order.

    Exercise caution when passing nu().done() directly - all children returned will be mounted to the element.

    classes?: Record<string, boolean>

    Classes for the newly created element. Will be combined with whatever is passed into nu().

    contents?: string

    String that will be set as the inner HTML of the created element. By default, this is escaped using cf.escape() - however, if you supply raw: true in the args object passed as nu's second argument, escaping is disabled.

    deps?: D

    A Record<string, Store> of the element's dependencies. The element's render function will be called every time any of the deps change.

    gimme?: string[]

    A list of elements to query from the element. Will be returned as subsequent members of the returned Array after the element itself. Returns null when a selector isn't found to preserve order of returned elements.

    misc?: Record<string, unknown>

    Miscellaneous properties to set on the created element, for example, type: "button" or checked: true

    An object containing event handlers that will be applied using addEventListener. For example: {'click': (e) => console.log(e)}

    raw?: boolean

    Whether or not to escape the contents string. If raw is true, the string is not escaped.

    render?: RenderFunction<T, D>

    Rendering function to use to update the element on redraws. As of 4.0.0-rc15, render functions receive a 'first' parameter in the opts object that indicates if this is the first render (true) or a re-render (false).

    style?: Partial<
        Record<
            | number
            | "filter"
            | "fill"
            | "stroke"
            | "animationName"
            | "flex"
            | "all"
            | "offset"
            | "height"
            | "width"
            | "left"
            | "top"
            | "cssText"
            | "accentColor"
            | "alignContent"
            | "alignItems"
            | "alignSelf"
            | "alignmentBaseline"
            | "animation"
            | "animationComposition"
            | "animationDelay"
            | "animationDirection"
            | "animationDuration"
            | "animationFillMode"
            | "animationIterationCount"
            | "animationPlayState"
            | "animationTimingFunction"
            | "appearance"
            | "aspectRatio"
            | "backdropFilter"
            | "backfaceVisibility"
            | "background"
            | "backgroundAttachment"
            | "backgroundBlendMode"
            | "backgroundClip"
            | "backgroundColor"
            | "backgroundImage"
            | "backgroundOrigin"
            | "backgroundPosition"
            | "backgroundPositionX"
            | "backgroundPositionY"
            | "backgroundRepeat"
            | "backgroundSize"
            | "baselineShift"
            | "baselineSource"
            | "blockSize"
            | "border"
            | "borderBlock"
            | "borderBlockColor"
            | "borderBlockEnd"
            | "borderBlockEndColor"
            | "borderBlockEndStyle"
            | "borderBlockEndWidth"
            | "borderBlockStart"
            | "borderBlockStartColor"
            | "borderBlockStartStyle"
            | "borderBlockStartWidth"
            | "borderBlockStyle"
            | "borderBlockWidth"
            | "borderBottom"
            | "borderBottomColor"
            | "borderBottomLeftRadius"
            | "borderBottomRightRadius"
            | "borderBottomStyle"
            | "borderBottomWidth"
            | "borderCollapse"
            | "borderColor"
            | "borderEndEndRadius"
            | "borderEndStartRadius"
            | "borderImage"
            | "borderImageOutset"
            | "borderImageRepeat"
            | "borderImageSlice"
            | "borderImageSource"
            | "borderImageWidth"
            | "borderInline"
            | "borderInlineColor"
            | "borderInlineEnd"
            | "borderInlineEndColor"
            | "borderInlineEndStyle"
            | "borderInlineEndWidth"
            | "borderInlineStart"
            | "borderInlineStartColor"
            | "borderInlineStartStyle"
            | "borderInlineStartWidth"
            | "borderInlineStyle"
            | "borderInlineWidth"
            | "borderLeft"
            | "borderLeftColor"
            | "borderLeftStyle"
            | "borderLeftWidth"
            | "borderRadius"
            | "borderRight"
            | "borderRightColor"
            | "borderRightStyle"
            | "borderRightWidth"
            | "borderSpacing"
            | "borderStartEndRadius"
            | "borderStartStartRadius"
            | "borderStyle"
            | "borderTop"
            | "borderTopColor"
            | "borderTopLeftRadius"
            | "borderTopRightRadius"
            | "borderTopStyle"
            | "borderTopWidth"
            | "borderWidth"
            | "bottom"
            | "boxDecorationBreak"
            | "boxShadow"
            | "boxSizing"
            | "breakAfter"
            | "breakBefore"
            | "breakInside"
            | "captionSide"
            | "caretColor"
            | "clear"
            | "clip"
            | "clipPath"
            | "clipRule"
            | "color"
            | "colorInterpolation"
            | "colorInterpolationFilters"
            | "colorScheme"
            | "columnCount"
            | "columnFill"
            | "columnGap"
            | "columnRule"
            | "columnRuleColor"
            | "columnRuleStyle"
            | "columnRuleWidth"
            | "columnSpan"
            | "columnWidth"
            | "columns"
            | "contain"
            | "containIntrinsicBlockSize"
            | "containIntrinsicHeight"
            | "containIntrinsicInlineSize"
            | "containIntrinsicSize"
            | "containIntrinsicWidth"
            | "container"
            | "containerName"
            | "containerType"
            | "content"
            | "contentVisibility"
            | "counterIncrement"
            | "counterReset"
            | "counterSet"
            | "cssFloat"
            | "cursor"
            | "cx"
            | "cy"
            | "d"
            | "direction"
            | "display"
            | "dominantBaseline"
            | "emptyCells"
            | "fillOpacity"
            | "fillRule"
            | "flexBasis"
            | "flexDirection"
            | "flexFlow"
            | "flexGrow"
            | "flexShrink"
            | "flexWrap"
            | "float"
            | "floodColor"
            | "floodOpacity"
            | "font"
            | "fontFamily"
            | "fontFeatureSettings"
            | "fontKerning"
            | "fontOpticalSizing"
            | "fontPalette"
            | "fontSize"
            | "fontSizeAdjust"
            | "fontStretch"
            | "fontStyle"
            | "fontSynthesis"
            | "fontSynthesisSmallCaps"
            | "fontSynthesisStyle"
            | "fontSynthesisWeight"
            | "fontVariant"
            | "fontVariantAlternates"
            | "fontVariantCaps"
            | "fontVariantEastAsian"
            | "fontVariantLigatures"
            | "fontVariantNumeric"
            | "fontVariantPosition"
            | "fontVariationSettings"
            | "fontWeight"
            | "forcedColorAdjust"
            | "gap"
            | "grid"
            | "gridArea"
            | "gridAutoColumns"
            | "gridAutoFlow"
            | "gridAutoRows"
            | "gridColumn"
            | "gridColumnEnd"
            | "gridColumnGap"
            | "gridColumnStart"
            | "gridGap"
            | "gridRow"
            | "gridRowEnd"
            | "gridRowGap"
            | "gridRowStart"
            | "gridTemplate"
            | "gridTemplateAreas"
            | "gridTemplateColumns"
            | "gridTemplateRows"
            | "hyphenateCharacter"
            | "hyphens"
            | "imageOrientation"
            | "imageRendering"
            | "inlineSize"
            | "inset"
            | "insetBlock"
            | "insetBlockEnd"
            | "insetBlockStart"
            | "insetInline"
            | "insetInlineEnd"
            | "insetInlineStart"
            | "isolation"
            | "justifyContent"
            | "justifyItems"
            | "justifySelf"
            | "letterSpacing"
            | "lightingColor"
            | "lineBreak"
            | "lineHeight"
            | "listStyle"
            | "listStyleImage"
            | "listStylePosition"
            | "listStyleType"
            | "margin"
            | "marginBlock"
            | "marginBlockEnd"
            | "marginBlockStart"
            | "marginBottom"
            | "marginInline"
            | "marginInlineEnd"
            | "marginInlineStart"
            | "marginLeft"
            | "marginRight"
            | "marginTop"
            | "marker"
            | "markerEnd"
            | "markerMid"
            | "markerStart"
            | "mask"
            | "maskClip"
            | "maskComposite"
            | "maskImage"
            | "maskMode"
            | "maskOrigin"
            | "maskPosition"
            | "maskRepeat"
            | "maskSize"
            | "maskType"
            | "mathDepth"
            | "mathStyle"
            | "maxBlockSize"
            | "maxHeight"
            | "maxInlineSize"
            | "maxWidth"
            | "minBlockSize"
            | "minHeight"
            | "minInlineSize"
            | "minWidth"
            | "mixBlendMode"
            | "objectFit"
            | "objectPosition"
            | "offsetAnchor"
            | "offsetDistance"
            | "offsetPath"
            | "offsetPosition"
            | "offsetRotate"
            | "opacity"
            | "order"
            | "orphans"
            | "outline"
            | "outlineColor"
            | "outlineOffset"
            | "outlineStyle"
            | "outlineWidth"
            | "overflow"
            | "overflowAnchor"
            | "overflowClipMargin"
            | "overflowWrap"
            | "overflowX"
            | "overflowY"
            | "overscrollBehavior"
            | "overscrollBehaviorBlock"
            | "overscrollBehaviorInline"
            | "overscrollBehaviorX"
            | "overscrollBehaviorY"
            | "padding"
            | "paddingBlock"
            | "paddingBlockEnd"
            | "paddingBlockStart"
            | "paddingBottom"
            | "paddingInline"
            | "paddingInlineEnd"
            | "paddingInlineStart"
            | "paddingLeft"
            | "paddingRight"
            | "paddingTop"
            | "page"
            | "pageBreakAfter"
            | "pageBreakBefore"
            | "pageBreakInside"
            | "paintOrder"
            | "perspective"
            | "perspectiveOrigin"
            | "placeContent"
            | "placeItems"
            | "placeSelf"
            | "pointerEvents"
            | "position"
            | "printColorAdjust"
            | "quotes"
            | "r"
            | "resize"
            | "right"
            | "rotate"
            | "rowGap"
            | "rubyAlign"
            | "rubyPosition"
            | "rx"
            | "ry"
            | "scale"
            | "scrollBehavior"
            | "scrollMargin"
            | "scrollMarginBlock"
            | "scrollMarginBlockEnd"
            | "scrollMarginBlockStart"
            | "scrollMarginBottom"
            | "scrollMarginInline"
            | "scrollMarginInlineEnd"
            | "scrollMarginInlineStart"
            | "scrollMarginLeft"
            | "scrollMarginRight"
            | "scrollMarginTop"
            | "scrollPadding"
            | "scrollPaddingBlock"
            | "scrollPaddingBlockEnd"
            | "scrollPaddingBlockStart"
            | "scrollPaddingBottom"
            | "scrollPaddingInline"
            | "scrollPaddingInlineEnd"
            | "scrollPaddingInlineStart"
            | "scrollPaddingLeft"
            | "scrollPaddingRight"
            | "scrollPaddingTop"
            | "scrollSnapAlign"
            | "scrollSnapStop"
            | "scrollSnapType"
            | "scrollbarColor"
            | "scrollbarGutter"
            | "scrollbarWidth"
            | "shapeImageThreshold"
            | "shapeMargin"
            | "shapeOutside"
            | "shapeRendering"
            | "stopColor"
            | "stopOpacity"
            | "strokeDasharray"
            | "strokeDashoffset"
            | "strokeLinecap"
            | "strokeLinejoin"
            | "strokeMiterlimit"
            | "strokeOpacity"
            | "strokeWidth"
            | "tabSize"
            | "tableLayout"
            | "textAlign"
            | "textAlignLast"
            | "textAnchor"
            | "textBox"
            | "textBoxEdge"
            | "textBoxTrim"
            | "textCombineUpright"
            | "textDecoration"
            | "textDecorationColor"
            | "textDecorationLine"
            | "textDecorationSkipInk"
            | "textDecorationStyle"
            | "textDecorationThickness"
            | "textEmphasis"
            | "textEmphasisColor"
            | "textEmphasisPosition"
            | "textEmphasisStyle"
            | "textIndent"
            | "textOrientation"
            | "textOverflow"
            | "textRendering"
            | "textShadow"
            | "textTransform"
            | "textUnderlineOffset"
            | "textUnderlinePosition"
            | "textWrap"
            | "textWrapMode"
            | "textWrapStyle"
            | "touchAction"
            | "transform"
            | "transformBox"
            | "transformOrigin"
            | "transformStyle"
            | "transition"
            | "transitionBehavior"
            | "transitionDelay"
            | "transitionDuration"
            | "transitionProperty"
            | "transitionTimingFunction"
            | "translate"
            | "unicodeBidi"
            | "userSelect"
            | "vectorEffect"
            | "verticalAlign"
            | "viewTransitionClass"
            | "viewTransitionName"
            | "visibility"
            | "webkitAlignContent"
            | "webkitAlignItems"
            | "webkitAlignSelf"
            | "webkitAnimation"
            | "webkitAnimationDelay"
            | "webkitAnimationDirection"
            | "webkitAnimationDuration"
            | "webkitAnimationFillMode"
            | "webkitAnimationIterationCount"
            | "webkitAnimationName"
            | "webkitAnimationPlayState"
            | "webkitAnimationTimingFunction"
            | "webkitAppearance"
            | "webkitBackfaceVisibility"
            | "webkitBackgroundClip"
            | "webkitBackgroundOrigin"
            | "webkitBackgroundSize"
            | "webkitBorderBottomLeftRadius"
            | "webkitBorderBottomRightRadius"
            | "webkitBorderRadius"
            | "webkitBorderTopLeftRadius"
            | "webkitBorderTopRightRadius"
            | "webkitBoxAlign"
            | "webkitBoxFlex"
            | "webkitBoxOrdinalGroup"
            | "webkitBoxOrient"
            | "webkitBoxPack"
            | "webkitBoxShadow"
            | "webkitBoxSizing"
            | "webkitFilter"
            | "webkitFlex"
            | "webkitFlexBasis"
            | "webkitFlexDirection"
            | "webkitFlexFlow"
            | "webkitFlexGrow"
            | "webkitFlexShrink"
            | "webkitFlexWrap"
            | "webkitJustifyContent"
            | "webkitLineClamp"
            | "webkitMask"
            | "webkitMaskBoxImage"
            | "webkitMaskBoxImageOutset"
            | "webkitMaskBoxImageRepeat"
            | "webkitMaskBoxImageSlice"
            | "webkitMaskBoxImageSource"
            | "webkitMaskBoxImageWidth"
            | "webkitMaskClip"
            | "webkitMaskComposite"
            | "webkitMaskImage"
            | "webkitMaskOrigin"
            | "webkitMaskPosition"
            | "webkitMaskRepeat"
            | "webkitMaskSize"
            | "webkitOrder"
            | "webkitPerspective"
            | "webkitPerspectiveOrigin"
            | "webkitTextFillColor"
            | "webkitTextSizeAdjust"
            | "webkitTextStroke"
            | "webkitTextStrokeColor"
            | "webkitTextStrokeWidth"
            | "webkitTransform"
            | "webkitTransformOrigin"
            | "webkitTransformStyle"
            | "webkitTransition"
            | "webkitTransitionDelay"
            | "webkitTransitionDuration"
            | "webkitTransitionProperty"
            | "webkitTransitionTimingFunction"
            | "webkitUserSelect"
            | "whiteSpace"
            | "whiteSpaceCollapse"
            | "widows"
            | "willChange"
            | "wordBreak"
            | "wordSpacing"
            | "wordWrap"
            | "writingMode"
            | "x"
            | "y"
            | "zIndex"
            | "zoom",
            string
            | number,
        >,
    >

    Contains styles that will be applied to the new element. Property names must be the same as those in CSSStyleDeclaration.

    track?: string

    A user-supplied ID to track the element by its reference.