campfire.js
    Preparing search index...

    Class NuBuilder<Elem, Deps, Info>

    Builder class for creating and configuring HTML elements using a fluent API.

    This class provides a chainable interface for configuring element properties before creating the actual DOM element with the done() method.

    // Create a button with multiple options
    const [button] = nu('button#submit.primary')
    .content('Submit')
    .attr('type', 'submit')
    .on('click', () => console.log('Clicked!'))
    .style('backgroundColor', 'blue')
    .done();

    Type Parameters

    • Elem extends HTMLElement
    • Deps extends Record<string, Store<any>>
    • Info = string
    Index

    Constructors

    Properties

    Element properties configuration object

    Methods

    • Sets a single attribute on the element.

      Parameters

      • name: string

        The attribute name

      • value: string | number | boolean

        The attribute value. Set to empty string ('') to clear/reset an attribute.

      Returns NuBuilder<Elem, Deps, Info>

      The builder instance for chaining

    • Sets multiple attributes on the element at once.

      Parameters

      • value: undefined | Record<string, string | number | boolean>

        An object containing attribute name-value pairs

      Returns NuBuilder<Elem, Deps, Info>

      The builder instance for chaining

    • Mount reactive children into a parent element. The children are preserved across re-renders and can be independently reactive.

      Parameters

      • children: Record<string, HTMLElement | HTMLElement[]>

        An object whose keys correspond to the name attributes of cf-slot elements in the parent's innerHTML.

      Returns NuBuilder<Elem, Deps, Info>

      The builder object for chaining.

    • Set a class name. Pass on with a falsy value to not apply the class.

      Parameters

      • name: string

        The class name to add/remove

      • on: null | boolean | "" | 0 = true

        Whether the class should be applied (true) or removed (false/falsy)

      Returns NuBuilder<Elem, Deps, Info>

      The builder instance for chaining

    • Sets the content of the element as a string, escaped by default. Useful for quick and safe interpolation of strings into DOM content.

      Parameters

      • value: string

        String content to set

      Returns NuBuilder<Elem, Deps, Info>

      The builder instance for chaining

    • Finalizes the builder and creates the actual DOM element with all configured properties.

      Returns [Elem, ...HTMLElement[]]

      A tuple containing the created element as the first item, followed by any child elements

      Error if a class name contains a '#' character

    • Specifies selectors for elements that should be retrieved after building the element.

      Parameters

      • ...selectors: string[]

        A single selector string or an array of selector strings

      Returns NuBuilder<Elem, Deps, Info>

      The builder instance for chaining

    • Unsafely set the html of the object. This is equivalent to calling .content(...).raw(true) and is meant to be used with a templating function like cf.html.

      Can also be used as a templating function: nu().html<b>${name}</b> will cause name to be escaped and interpolated.

      Parameters

      • value: string

        The string to set.

      Returns NuBuilder<Elem, Deps, Info>

      The builder for chaining.

    • Unsafely set the html of the object. This is equivalent to calling .content(...).raw(true) and is meant to be used with a templating function like cf.html.

      Can also be used as a templating function: nu().html<b>${name}</b> will cause name to be escaped and interpolated.

      Parameters

      • arr: TemplateStringsArray
      • ...values: (string | number | boolean | RawHtml)[]

      Returns NuBuilder<Elem, Deps, Info>

      The builder for chaining.

    • Sets miscellaneous properties on the element (e.g. input.checked).

      Parameters

      • obj: string

        Either a property name or an object containing multiple properties

      • value: unknown

        The value for the property if obj is a property name

      Returns NuBuilder<Elem, Deps, Info>

      The builder instance for chaining

    • Sets miscellaneous properties on the element (e.g. input.checked).

      Parameters

      • obj: Record<string, unknown>

        Either a property name or an object containing multiple properties

      Returns NuBuilder<Elem, Deps, Info>

      The builder instance for chaining

    • Attaches an event handler to the element.

      Type Parameters

      • K extends keyof HTMLElementEventMap

      Parameters

      • type: K

        The event type to listen for (e.g., 'click', 'submit')

      • handler: (event: HTMLElementEventMap[K]) => void

        The event handler function

      Returns NuBuilder<Elem, Deps, Info>

      The builder instance for chaining

    • Sets a single CSS style property on the element.

      Parameters

      • prop:
            | 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"

        The CSS property name

      • value: string

        The CSS property value. Set to empty string ('') to clear a style.

      Returns NuBuilder<Elem, Deps, Info>

      The builder instance for chaining

    • Sets multiple CSS style properties on the element at once.

      Parameters

      • value:
            | undefined
            | 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,
                >,
            >

        An object containing style name-value pairs

      Returns NuBuilder<Elem, Deps, Info>

      The builder instance for chaining