@markuplint/ml-spec 5.0.0-rc.0 → 5.0.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,7 +3,7 @@
3
3
  * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
4
4
  * and run json-schema-to-typescript to regenerate this file.
5
5
  */
6
- export type AttributeType = (("<'--*'>" | "<'-moz-appearance'>" | "<'-moz-background-clip'>" | "<'-moz-binding'>" | "<'-moz-border-bottom-colors'>" | "<'-moz-border-left-colors'>" | "<'-moz-border-radius-bottomleft'>" | "<'-moz-border-radius-bottomright'>" | "<'-moz-border-radius-topleft'>" | "<'-moz-border-radius-topright'>" | "<'-moz-border-right-colors'>" | "<'-moz-border-top-colors'>" | "<'-moz-context-properties'>" | "<'-moz-control-character-visibility'>" | "<'-moz-float-edge'>" | "<'-moz-force-broken-image-icon'>" | "<'-moz-image-region'>" | "<'-moz-orient'>" | "<'-moz-osx-font-smoothing'>" | "<'-moz-outline-radius'>" | "<'-moz-outline-radius-bottomleft'>" | "<'-moz-outline-radius-bottomright'>" | "<'-moz-outline-radius-topleft'>" | "<'-moz-outline-radius-topright'>" | "<'-moz-stack-sizing'>" | "<'-moz-text-blink'>" | "<'-moz-user-focus'>" | "<'-moz-user-input'>" | "<'-moz-user-modify'>" | "<'-moz-user-select'>" | "<'-moz-window-dragging'>" | "<'-moz-window-shadow'>" | "<'-ms-accelerator'>" | "<'-ms-block-progression'>" | "<'-ms-content-zoom-chaining'>" | "<'-ms-content-zoom-limit'>" | "<'-ms-content-zoom-limit-max'>" | "<'-ms-content-zoom-limit-min'>" | "<'-ms-content-zoom-snap'>" | "<'-ms-content-zoom-snap-points'>" | "<'-ms-content-zoom-snap-type'>" | "<'-ms-content-zooming'>" | "<'-ms-filter'>" | "<'-ms-flex-align'>" | "<'-ms-flex-item-align'>" | "<'-ms-flex-line-pack'>" | "<'-ms-flex-negative'>" | "<'-ms-flex-order'>" | "<'-ms-flex-pack'>" | "<'-ms-flex-positive'>" | "<'-ms-flex-preferred-size'>" | "<'-ms-flow-from'>" | "<'-ms-flow-into'>" | "<'-ms-grid-column-align'>" | "<'-ms-grid-columns'>" | "<'-ms-grid-row-align'>" | "<'-ms-grid-rows'>" | "<'-ms-high-contrast-adjust'>" | "<'-ms-hyphenate-limit-chars'>" | "<'-ms-hyphenate-limit-last'>" | "<'-ms-hyphenate-limit-lines'>" | "<'-ms-hyphenate-limit-zone'>" | "<'-ms-ime-align'>" | "<'-ms-interpolation-mode'>" | "<'-ms-overflow-style'>" | "<'-ms-scroll-chaining'>" | "<'-ms-scroll-limit'>" | "<'-ms-scroll-limit-x-max'>" | "<'-ms-scroll-limit-x-min'>" | "<'-ms-scroll-limit-y-max'>" | "<'-ms-scroll-limit-y-min'>" | "<'-ms-scroll-rails'>" | "<'-ms-scroll-snap-points-x'>" | "<'-ms-scroll-snap-points-y'>" | "<'-ms-scroll-snap-type'>" | "<'-ms-scroll-snap-x'>" | "<'-ms-scroll-snap-y'>" | "<'-ms-scroll-translation'>" | "<'-ms-scrollbar-3dlight-color'>" | "<'-ms-scrollbar-arrow-color'>" | "<'-ms-scrollbar-base-color'>" | "<'-ms-scrollbar-darkshadow-color'>" | "<'-ms-scrollbar-face-color'>" | "<'-ms-scrollbar-highlight-color'>" | "<'-ms-scrollbar-shadow-color'>" | "<'-ms-scrollbar-track-color'>" | "<'-ms-text-autospace'>" | "<'-ms-touch-select'>" | "<'-ms-user-select'>" | "<'-ms-wrap-flow'>" | "<'-ms-wrap-margin'>" | "<'-ms-wrap-through'>" | "<'-webkit-appearance'>" | "<'-webkit-background-clip'>" | "<'-webkit-border-before'>" | "<'-webkit-border-before-color'>" | "<'-webkit-border-before-style'>" | "<'-webkit-border-before-width'>" | "<'-webkit-box-reflect'>" | "<'-webkit-column-break-after'>" | "<'-webkit-column-break-before'>" | "<'-webkit-column-break-inside'>" | "<'-webkit-font-smoothing'>" | "<'-webkit-line-clamp'>" | "<'-webkit-mask'>" | "<'-webkit-mask-attachment'>" | "<'-webkit-mask-box-image'>" | "<'-webkit-mask-clip'>" | "<'-webkit-mask-composite'>" | "<'-webkit-mask-image'>" | "<'-webkit-mask-origin'>" | "<'-webkit-mask-position'>" | "<'-webkit-mask-position-x'>" | "<'-webkit-mask-position-y'>" | "<'-webkit-mask-repeat'>" | "<'-webkit-mask-repeat-x'>" | "<'-webkit-mask-repeat-y'>" | "<'-webkit-mask-size'>" | "<'-webkit-overflow-scrolling'>" | "<'-webkit-print-color-adjust'>" | "<'-webkit-tap-highlight-color'>" | "<'-webkit-text-fill-color'>" | "<'-webkit-text-security'>" | "<'-webkit-text-stroke'>" | "<'-webkit-text-stroke-color'>" | "<'-webkit-text-stroke-width'>" | "<'-webkit-touch-callout'>" | "<'-webkit-user-drag'>" | "<'-webkit-user-modify'>" | "<'-webkit-user-select'>" | "<'accent-color'>" | "<'align-content'>" | "<'align-items'>" | "<'align-self'>" | "<'align-tracks'>" | "<'alignment-baseline'>" | "<'all'>" | "<'anchor-name'>" | "<'anchor-scope'>" | "<'animation'>" | "<'animation-composition'>" | "<'animation-delay'>" | "<'animation-direction'>" | "<'animation-duration'>" | "<'animation-fill-mode'>" | "<'animation-iteration-count'>" | "<'animation-name'>" | "<'animation-play-state'>" | "<'animation-range'>" | "<'animation-range-end'>" | "<'animation-range-start'>" | "<'animation-timeline'>" | "<'animation-timing-function'>" | "<'appearance'>" | "<'aspect-ratio'>" | "<'azimuth'>" | "<'backdrop-filter'>" | "<'backface-visibility'>" | "<'background'>" | "<'background-attachment'>" | "<'background-blend-mode'>" | "<'background-clip'>" | "<'background-color'>" | "<'background-image'>" | "<'background-origin'>" | "<'background-position'>" | "<'background-position-x'>" | "<'background-position-y'>" | "<'background-repeat'>" | "<'background-size'>" | "<'baseline-shift'>" | "<'behavior'>" | "<'block-size'>" | "<'border'>" | "<'border-block'>" | "<'border-block-color'>" | "<'border-block-end'>" | "<'border-block-end-color'>" | "<'border-block-end-style'>" | "<'border-block-end-width'>" | "<'border-block-start'>" | "<'border-block-start-color'>" | "<'border-block-start-style'>" | "<'border-block-start-width'>" | "<'border-block-style'>" | "<'border-block-width'>" | "<'border-bottom'>" | "<'border-bottom-color'>" | "<'border-bottom-left-radius'>" | "<'border-bottom-right-radius'>" | "<'border-bottom-style'>" | "<'border-bottom-width'>" | "<'border-collapse'>" | "<'border-color'>" | "<'border-end-end-radius'>" | "<'border-end-start-radius'>" | "<'border-image'>" | "<'border-image-outset'>" | "<'border-image-repeat'>" | "<'border-image-slice'>" | "<'border-image-source'>" | "<'border-image-width'>" | "<'border-inline'>" | "<'border-inline-color'>" | "<'border-inline-end'>" | "<'border-inline-end-color'>" | "<'border-inline-end-style'>" | "<'border-inline-end-width'>" | "<'border-inline-start'>" | "<'border-inline-start-color'>" | "<'border-inline-start-style'>" | "<'border-inline-start-width'>" | "<'border-inline-style'>" | "<'border-inline-width'>" | "<'border-left'>" | "<'border-left-color'>" | "<'border-left-style'>" | "<'border-left-width'>" | "<'border-radius'>" | "<'border-right'>" | "<'border-right-color'>" | "<'border-right-style'>" | "<'border-right-width'>" | "<'border-spacing'>" | "<'border-start-end-radius'>" | "<'border-start-start-radius'>" | "<'border-style'>" | "<'border-top'>" | "<'border-top-color'>" | "<'border-top-left-radius'>" | "<'border-top-right-radius'>" | "<'border-top-style'>" | "<'border-top-width'>" | "<'border-width'>" | "<'bottom'>" | "<'box-align'>" | "<'box-decoration-break'>" | "<'box-direction'>" | "<'box-flex'>" | "<'box-flex-group'>" | "<'box-lines'>" | "<'box-ordinal-group'>" | "<'box-orient'>" | "<'box-pack'>" | "<'box-shadow'>" | "<'box-sizing'>" | "<'break-after'>" | "<'break-before'>" | "<'break-inside'>" | "<'caption-side'>" | "<'caret'>" | "<'caret-color'>" | "<'caret-shape'>" | "<'clear'>" | "<'clip'>" | "<'clip-path'>" | "<'clip-rule'>" | "<'color'>" | "<'color-interpolation-filters'>" | "<'color-scheme'>" | "<'column-count'>" | "<'column-fill'>" | "<'column-gap'>" | "<'column-rule'>" | "<'column-rule-color'>" | "<'column-rule-style'>" | "<'column-rule-width'>" | "<'column-span'>" | "<'column-width'>" | "<'columns'>" | "<'contain'>" | "<'contain-intrinsic-block-size'>" | "<'contain-intrinsic-height'>" | "<'contain-intrinsic-inline-size'>" | "<'contain-intrinsic-size'>" | "<'contain-intrinsic-width'>" | "<'container'>" | "<'container-name'>" | "<'container-type'>" | "<'content'>" | "<'content-visibility'>" | "<'counter-increment'>" | "<'counter-reset'>" | "<'counter-set'>" | "<'cue'>" | "<'cue-after'>" | "<'cue-before'>" | "<'cursor'>" | "<'cx'>" | "<'cy'>" | "<'d'>" | "<'direction'>" | "<'display'>" | "<'dominant-baseline'>" | "<'empty-cells'>" | "<'field-sizing'>" | "<'fill'>" | "<'fill-opacity'>" | "<'fill-rule'>" | "<'filter'>" | "<'flex'>" | "<'flex-basis'>" | "<'flex-direction'>" | "<'flex-flow'>" | "<'flex-grow'>" | "<'flex-shrink'>" | "<'flex-wrap'>" | "<'float'>" | "<'font'>" | "<'font-family'>" | "<'font-feature-settings'>" | "<'font-kerning'>" | "<'font-language-override'>" | "<'font-optical-sizing'>" | "<'font-palette'>" | "<'font-size'>" | "<'font-size-adjust'>" | "<'font-smooth'>" | "<'font-stretch'>" | "<'font-style'>" | "<'font-synthesis'>" | "<'font-synthesis-position'>" | "<'font-synthesis-small-caps'>" | "<'font-synthesis-style'>" | "<'font-synthesis-weight'>" | "<'font-variant'>" | "<'font-variant-alternates'>" | "<'font-variant-caps'>" | "<'font-variant-east-asian'>" | "<'font-variant-emoji'>" | "<'font-variant-ligatures'>" | "<'font-variant-numeric'>" | "<'font-variant-position'>" | "<'font-variation-settings'>" | "<'font-weight'>" | "<'forced-color-adjust'>" | "<'gap'>" | "<'glyph-orientation-horizontal'>" | "<'glyph-orientation-vertical'>" | "<'grid'>" | "<'grid-area'>" | "<'grid-auto-columns'>" | "<'grid-auto-flow'>" | "<'grid-auto-rows'>" | "<'grid-column'>" | "<'grid-column-end'>" | "<'grid-column-gap'>" | "<'grid-column-start'>" | "<'grid-gap'>" | "<'grid-row'>" | "<'grid-row-end'>" | "<'grid-row-gap'>" | "<'grid-row-start'>" | "<'grid-template'>" | "<'grid-template-areas'>" | "<'grid-template-columns'>" | "<'grid-template-rows'>" | "<'hanging-punctuation'>" | "<'height'>" | "<'hyphenate-character'>" | "<'hyphenate-limit-chars'>" | "<'hyphens'>" | "<'image-orientation'>" | "<'image-rendering'>" | "<'image-resolution'>" | "<'ime-mode'>" | "<'initial-letter'>" | "<'initial-letter-align'>" | "<'inline-size'>" | "<'input-security'>" | "<'inset'>" | "<'inset-block'>" | "<'inset-block-end'>" | "<'inset-block-start'>" | "<'inset-inline'>" | "<'inset-inline-end'>" | "<'inset-inline-start'>" | "<'interpolate-size'>" | "<'isolation'>" | "<'justify-content'>" | "<'justify-items'>" | "<'justify-self'>" | "<'justify-tracks'>" | "<'kerning'>" | "<'left'>" | "<'letter-spacing'>" | "<'line-break'>" | "<'line-clamp'>" | "<'line-height'>" | "<'line-height-step'>" | "<'list-style'>" | "<'list-style-image'>" | "<'list-style-position'>" | "<'list-style-type'>" | "<'margin'>" | "<'margin-block'>" | "<'margin-block-end'>" | "<'margin-block-start'>" | "<'margin-bottom'>" | "<'margin-inline'>" | "<'margin-inline-end'>" | "<'margin-inline-start'>" | "<'margin-left'>" | "<'margin-right'>" | "<'margin-top'>" | "<'margin-trim'>" | "<'marker'>" | "<'marker-end'>" | "<'marker-mid'>" | "<'marker-start'>" | "<'mask'>" | "<'mask-border'>" | "<'mask-border-mode'>" | "<'mask-border-outset'>" | "<'mask-border-repeat'>" | "<'mask-border-slice'>" | "<'mask-border-source'>" | "<'mask-border-width'>" | "<'mask-clip'>" | "<'mask-composite'>" | "<'mask-image'>" | "<'mask-mode'>" | "<'mask-origin'>" | "<'mask-position'>" | "<'mask-repeat'>" | "<'mask-size'>" | "<'mask-type'>" | "<'masonry-auto-flow'>" | "<'math-depth'>" | "<'math-shift'>" | "<'math-style'>" | "<'max-block-size'>" | "<'max-height'>" | "<'max-inline-size'>" | "<'max-lines'>" | "<'max-width'>" | "<'min-block-size'>" | "<'min-height'>" | "<'min-inline-size'>" | "<'min-width'>" | "<'mix-blend-mode'>" | "<'object-fit'>" | "<'object-position'>" | "<'offset'>" | "<'offset-anchor'>" | "<'offset-distance'>" | "<'offset-path'>" | "<'offset-position'>" | "<'offset-rotate'>" | "<'opacity'>" | "<'order'>" | "<'orphans'>" | "<'outline'>" | "<'outline-color'>" | "<'outline-offset'>" | "<'outline-style'>" | "<'outline-width'>" | "<'overflow'>" | "<'overflow-anchor'>" | "<'overflow-block'>" | "<'overflow-clip-box'>" | "<'overflow-clip-margin'>" | "<'overflow-inline'>" | "<'overflow-wrap'>" | "<'overflow-x'>" | "<'overflow-y'>" | "<'overlay'>" | "<'overscroll-behavior'>" | "<'overscroll-behavior-block'>" | "<'overscroll-behavior-inline'>" | "<'overscroll-behavior-x'>" | "<'overscroll-behavior-y'>" | "<'padding'>" | "<'padding-block'>" | "<'padding-block-end'>" | "<'padding-block-start'>" | "<'padding-bottom'>" | "<'padding-inline'>" | "<'padding-inline-end'>" | "<'padding-inline-start'>" | "<'padding-left'>" | "<'padding-right'>" | "<'padding-top'>" | "<'page'>" | "<'page-break-after'>" | "<'page-break-before'>" | "<'page-break-inside'>" | "<'paint-order'>" | "<'pause'>" | "<'pause-after'>" | "<'pause-before'>" | "<'perspective'>" | "<'perspective-origin'>" | "<'place-content'>" | "<'place-items'>" | "<'place-self'>" | "<'pointer-events'>" | "<'position'>" | "<'position-anchor'>" | "<'position-area'>" | "<'position-try'>" | "<'position-try-fallbacks'>" | "<'position-try-order'>" | "<'position-visibility'>" | "<'print-color-adjust'>" | "<'quotes'>" | "<'r'>" | "<'resize'>" | "<'rest'>" | "<'rest-after'>" | "<'rest-before'>" | "<'right'>" | "<'rotate'>" | "<'row-gap'>" | "<'ruby-align'>" | "<'ruby-merge'>" | "<'ruby-position'>" | "<'rx'>" | "<'ry'>" | "<'scale'>" | "<'scroll-behavior'>" | "<'scroll-margin'>" | "<'scroll-margin-block'>" | "<'scroll-margin-block-end'>" | "<'scroll-margin-block-start'>" | "<'scroll-margin-bottom'>" | "<'scroll-margin-inline'>" | "<'scroll-margin-inline-end'>" | "<'scroll-margin-inline-start'>" | "<'scroll-margin-left'>" | "<'scroll-margin-right'>" | "<'scroll-margin-top'>" | "<'scroll-padding'>" | "<'scroll-padding-block'>" | "<'scroll-padding-block-end'>" | "<'scroll-padding-block-start'>" | "<'scroll-padding-bottom'>" | "<'scroll-padding-inline'>" | "<'scroll-padding-inline-end'>" | "<'scroll-padding-inline-start'>" | "<'scroll-padding-left'>" | "<'scroll-padding-right'>" | "<'scroll-padding-top'>" | "<'scroll-snap-align'>" | "<'scroll-snap-coordinate'>" | "<'scroll-snap-destination'>" | "<'scroll-snap-points-x'>" | "<'scroll-snap-points-y'>" | "<'scroll-snap-stop'>" | "<'scroll-snap-type'>" | "<'scroll-snap-type-x'>" | "<'scroll-snap-type-y'>" | "<'scroll-timeline'>" | "<'scroll-timeline-axis'>" | "<'scroll-timeline-name'>" | "<'scrollbar-color'>" | "<'scrollbar-gutter'>" | "<'scrollbar-width'>" | "<'shape-image-threshold'>" | "<'shape-margin'>" | "<'shape-outside'>" | "<'shape-rendering'>" | "<'speak'>" | "<'speak-as'>" | "<'src'>" | "<'stroke'>" | "<'stroke-dasharray'>" | "<'stroke-dashoffset'>" | "<'stroke-linecap'>" | "<'stroke-linejoin'>" | "<'stroke-miterlimit'>" | "<'stroke-opacity'>" | "<'stroke-width'>" | "<'tab-size'>" | "<'table-layout'>" | "<'text-align'>" | "<'text-align-last'>" | "<'text-anchor'>" | "<'text-combine-upright'>" | "<'text-decoration'>" | "<'text-decoration-color'>" | "<'text-decoration-line'>" | "<'text-decoration-skip'>" | "<'text-decoration-skip-ink'>" | "<'text-decoration-style'>" | "<'text-decoration-thickness'>" | "<'text-emphasis'>" | "<'text-emphasis-color'>" | "<'text-emphasis-position'>" | "<'text-emphasis-style'>" | "<'text-indent'>" | "<'text-justify'>" | "<'text-orientation'>" | "<'text-overflow'>" | "<'text-rendering'>" | "<'text-shadow'>" | "<'text-size-adjust'>" | "<'text-spacing-trim'>" | "<'text-transform'>" | "<'text-underline-offset'>" | "<'text-underline-position'>" | "<'text-wrap'>" | "<'text-wrap-mode'>" | "<'text-wrap-style'>" | "<'timeline-scope'>" | "<'top'>" | "<'touch-action'>" | "<'transform'>" | "<'transform-box'>" | "<'transform-origin'>" | "<'transform-style'>" | "<'transition'>" | "<'transition-behavior'>" | "<'transition-delay'>" | "<'transition-duration'>" | "<'transition-property'>" | "<'transition-timing-function'>" | "<'translate'>" | "<'unicode-bidi'>" | "<'unicode-range'>" | "<'user-select'>" | "<'vector-effect'>" | "<'vertical-align'>" | "<'view-timeline'>" | "<'view-timeline-axis'>" | "<'view-timeline-inset'>" | "<'view-timeline-name'>" | "<'view-transition-name'>" | "<'visibility'>" | "<'voice-balance'>" | "<'voice-duration'>" | "<'voice-family'>" | "<'voice-pitch'>" | "<'voice-range'>" | "<'voice-rate'>" | "<'voice-stress'>" | "<'voice-volume'>" | "<'white-space'>" | "<'white-space-collapse'>" | "<'white-space-trim'>" | "<'widows'>" | "<'width'>" | "<'will-change'>" | "<'word-break'>" | "<'word-spacing'>" | "<'word-wrap'>" | "<'writing-mode'>" | "<'x'>" | "<'y'>" | "<'z-index'>" | "<'zoom'>" | '<(-token>' | '<)-token>' | '<-legacy-gradient>' | '<-legacy-linear-gradient-arguments>' | '<-legacy-linear-gradient>' | '<-legacy-radial-gradient-arguments>' | '<-legacy-radial-gradient-shape>' | '<-legacy-radial-gradient-size>' | '<-legacy-radial-gradient>' | '<-legacy-repeating-linear-gradient>' | '<-legacy-repeating-radial-gradient>' | '<-ms-filter-function-legacy>' | '<-ms-filter-function-list>' | '<-ms-filter-function-progid>' | '<-ms-filter-function>' | '<-non-standard-color>' | '<-non-standard-display>' | '<-non-standard-font>' | '<-non-standard-generic-family>' | '<-non-standard-image-rendering>' | '<-non-standard-overflow>' | '<-non-standard-size>' | '<-webkit-gradient()>' | '<-webkit-gradient-color-stop>' | '<-webkit-gradient-point>' | '<-webkit-gradient-radius>' | '<-webkit-gradient-type>' | '<-webkit-mask-box-repeat>' | '<CDC-token>' | '<CDO-token>' | '<[-token>' | '<]-token>' | '<abs()>' | '<absolute-color-base>' | '<absolute-color-function>' | '<absolute-size>' | '<acos()>' | '<age>' | '<alpha-value>' | '<an-plus-b>' | '<anchor()>' | '<anchor-element>' | '<anchor-name>' | '<anchor-side>' | '<anchor-size()>' | '<anchor-size>' | '<angle-percentage>' | '<angle>' | '<angular-color-hint>' | '<angular-color-stop-list>' | '<angular-color-stop>' | '<animateable-feature>' | '<any-value>' | '<asin()>' | '<at-keyword-token>' | '<atan()>' | '<atan2()>' | '<attachment>' | '<attr()>' | '<attr-fallback>' | '<attr-matcher>' | '<attr-modifier>' | '<attr-name>' | '<attribute-selector>' | '<auto-repeat>' | '<auto-track-list>' | '<axis>' | '<bad-string-token>' | '<bad-url-token>' | '<baseline-position>' | '<basic-shape>' | '<bcp-47>' | '<bg-clip>' | '<bg-image>' | '<bg-layer>' | '<bg-position>' | '<bg-size>' | '<blend-mode>' | '<blur()>' | '<bottom>' | '<box>' | '<brightness()>' | '<calc()>' | '<calc-constant>' | '<calc-product>' | '<calc-sum>' | '<calc-value>' | '<cf-final-image>' | '<cf-mixing-image>' | '<circle()>' | '<clamp()>' | '<class-selector>' | '<clip-source>' | '<cmyk-component>' | '<colon-token>' | '<color()>' | '<color-base>' | '<color-function>' | '<color-interpolation-method>' | '<color-mix()>' | '<color-space>' | '<color-stop-angle>' | '<color-stop-length>' | '<color-stop-list>' | '<color-stop>' | '<color>' | '<colorspace-params>' | '<combinator>' | '<comma-token>' | '<common-lig-values>' | '<compat-auto>' | '<complex-real-selector-list>' | '<complex-real-selector>' | '<complex-selector-list>' | '<complex-selector-unit>' | '<complex-selector>' | '<composite-style>' | '<compositing-operator>' | '<compound-selector-list>' | '<compound-selector>' | '<conic-gradient()>' | '<container-condition>' | '<container-name>' | '<content-distribution>' | '<content-list>' | '<content-position>' | '<content-replacement>' | '<contextual-alt-values>' | '<contrast()>' | '<coord-box>' | '<cos()>' | '<counter()>' | '<counter-name>' | '<counter-style-name>' | '<counter-style>' | '<counter>' | '<counters()>' | '<cross-fade()>' | '<cubic-bezier-timing-function>' | '<custom-color-space>' | '<custom-ident>' | '<custom-property-name>' | '<dashed-ident>' | '<decibel>' | '<declaration-list>' | '<declaration-value>' | '<declaration>' | '<delim-token>' | '<deprecated-system-color>' | '<device-cmyk()>' | '<dimension-token>' | '<dimension>' | '<discretionary-lig-values>' | '<display-box>' | '<display-inside>' | '<display-internal>' | '<display-legacy>' | '<display-listitem>' | '<display-outside>' | '<drop-shadow()>' | '<easing-function>' | '<east-asian-variant-values>' | '<east-asian-width-values>' | '<element()>' | '<ellipse()>' | '<ending-shape>' | '<env()>' | '<exp()>' | '<explicit-track-list>' | '<family-name>' | '<feature-tag-value>' | '<feature-type>' | '<feature-value-block-list>' | '<feature-value-block>' | '<feature-value-declaration-list>' | '<feature-value-declaration>' | '<feature-value-name>' | '<fill-rule>' | '<filter-function-list>' | '<filter-function>' | '<final-bg-layer>' | '<fixed-breadth>' | '<fixed-repeat>' | '<fixed-size>' | '<flex>' | '<font-stretch-absolute>' | '<font-variant-css21>' | '<font-variant-css2>' | '<font-weight-absolute>' | '<font-width-css3>' | '<forgiving-relative-selector-list>' | '<forgiving-selector-list>' | '<frequency-percentage>' | '<frequency>' | '<function-token>' | '<gender>' | '<general-enclosed>' | '<generic-complete>' | '<generic-family>' | '<generic-incomplete>' | '<generic-name>' | '<generic-script-specific>' | '<generic-voice>' | '<geometry-box>' | '<gradient>' | '<grayscale()>' | '<grid-line>' | '<hash-token>' | '<hex-color>' | '<historical-lig-values>' | '<hsl()>' | '<hsla()>' | '<hue-interpolation-method>' | '<hue-rotate()>' | '<hue>' | '<hwb()>' | '<hypot()>' | '<id-selector>' | '<ident-token>' | '<ident>' | '<image()>' | '<image-set()>' | '<image-set-option>' | '<image-src>' | '<image-tags>' | '<image>' | '<inflexible-breadth>' | '<inset()>' | '<inset-area>' | '<integer>' | '<invert()>' | '<keyframe-block-list>' | '<keyframe-block>' | '<keyframe-selector>' | '<keyframes-name>' | '<lab()>' | '<layer()>' | '<layer-name>' | '<lch()>' | '<leader()>' | '<leader-type>' | '<left>' | '<legacy-device-cmyk-syntax>' | '<legacy-pseudo-element-selector>' | '<length-percentage>' | '<length>' | '<light-dark()>' | '<line-name-list>' | '<line-names>' | '<line-style>' | '<line-width>' | '<linear-color-hint>' | '<linear-color-stop>' | '<linear-gradient()>' | '<log()>' | '<mask-layer>' | '<mask-position>' | '<mask-reference>' | '<mask-source>' | '<masking-mode>' | '<matrix()>' | '<matrix3d()>' | '<max()>' | '<media-and>' | '<media-condition-without-or>' | '<media-condition>' | '<media-feature>' | '<media-in-parens>' | '<media-not>' | '<media-or>' | '<media-query-list>' | '<media-query>' | '<media-type>' | '<mf-boolean>' | '<mf-name>' | '<mf-plain>' | '<mf-range>' | '<mf-value>' | '<min()>' | '<minmax()>' | '<mod()>' | '<modern-device-cmyk-syntax>' | '<name-repeat>' | '<named-color>' | '<namespace-prefix>' | '<ns-prefix>' | '<nth>' | '<number-one-or-greater>' | '<number-percentage>' | '<number-token>' | '<number-zero-one>' | '<number>' | '<numeric-figure-values>' | '<numeric-fraction-values>' | '<numeric-spacing-values>' | '<offset-path>' | '<oklab()>' | '<oklch()>' | '<opacity()>' | '<outline-radius>' | '<overflow-position>' | '<page-body>' | '<page-margin-box-type>' | '<page-margin-box>' | '<page-selector-list>' | '<page-selector>' | '<page-size>' | '<paint()>' | '<paint>' | '<palette-identifier>' | '<path()>' | '<percentage-token>' | '<percentage>' | '<perspective()>' | '<polar-color-space>' | '<polygon()>' | '<position-area>' | '<position>' | '<pow()>' | '<predefined-rgb-params>' | '<predefined-rgb>' | '<pseudo-class-selector>' | '<pseudo-compound-selector>' | '<pseudo-element-selector>' | '<pseudo-page>' | '<query-in-parens>' | '<quote>' | '<radial-gradient()>' | '<ratio>' | '<ray()>' | '<ray-size>' | '<rect()>' | '<rectangular-color-space>' | '<relative-real-selector-list>' | '<relative-real-selector>' | '<relative-selector-list>' | '<relative-selector>' | '<relative-size>' | '<rem()>' | '<repeat-style>' | '<repeating-conic-gradient()>' | '<repeating-linear-gradient()>' | '<repeating-radial-gradient()>' | '<resolution>' | '<reversed-counter-name>' | '<rgb()>' | '<rgba()>' | '<right>' | '<rotate()>' | '<rotate3d()>' | '<rotateX()>' | '<rotateY()>' | '<rotateZ()>' | '<round()>' | '<rounding-strategy>' | '<saturate()>' | '<scale()>' | '<scale3d()>' | '<scaleX()>' | '<scaleY()>' | '<scaleZ()>' | '<scope-end>' | '<scope-start>' | '<scroll()>' | '<scroller>' | '<selector-list>' | '<self-position>' | '<semicolon-token>' | '<semitones>' | '<sepia()>' | '<shadow-t>' | '<shadow>' | '<shape-box>' | '<shape-radius>' | '<shape>' | '<side-or-corner>' | '<sign()>' | '<simple-selector-list>' | '<simple-selector>' | '<sin()>' | '<single-animation-composition>' | '<single-animation-direction>' | '<single-animation-fill-mode>' | '<single-animation-iteration-count>' | '<single-animation-play-state>' | '<single-animation-timeline>' | '<single-animation>' | '<single-transition-property>' | '<single-transition>' | '<size-feature>' | '<size>' | '<skew()>' | '<skewX()>' | '<skewY()>' | '<sqrt()>' | '<step-position>' | '<step-timing-function>' | '<string-token>' | '<string>' | '<style-condition>' | '<style-feature>' | '<style-in-parens>' | '<style-query>' | '<subclass-selector>' | '<supports-condition>' | '<supports-decl>' | '<supports-feature>' | '<supports-in-parens>' | '<supports-selector-fn>' | '<svg-length>' | '<svg-writing-mode>' | '<symbol>' | '<system-color>' | '<system-family-name>' | '<tan()>' | '<target-counter()>' | '<target-counters()>' | '<target-text()>' | '<target>' | '<time-percentage>' | '<time>' | '<timeline-range-name>' | '<top>' | '<track-breadth>' | '<track-list>' | '<track-repeat>' | '<track-size>' | '<transform-function>' | '<transform-list>' | '<transition-behavior-value>' | '<translate()>' | '<translate3d()>' | '<translateX()>' | '<translateY()>' | '<translateZ()>' | '<try-size>' | '<try-tactic>' | '<type-or-unit>' | '<type-selector>' | '<urange>' | '<url-modifier>' | '<url-token>' | '<url>' | '<var()>' | '<view()>' | '<viewport-length>' | '<visual-box>' | '<whitespace-token>' | '<wq-name>' | '<x>' | '<xywh()>' | '<xyz-params>' | '<xyz-space>' | '<y>' | '<zero>' | '<{-token>' | '<}-token>') | ("<'color-profile'>" | "<'color-rendering'>" | "<'enable-background'>" | '<animatable-value>' | '<begin-value-list>' | '<class-list>' | '<clock-value>' | '<color-matrix>' | '<css-declaration-list>' | '<dasharray>' | '<end-value-list>' | '<key-points>' | '<key-splines>' | '<key-times>' | '<list-of-lengths>' | '<list-of-numbers>' | '<list-of-percentages>' | '<list-of-svg-feature-string>' | '<list-of-value>' | '<number-optional-number>' | '<origin>' | '<points>' | '<preserve-aspect-ratio>' | '<rotate>' | '<svg-font-size-adjust>' | '<svg-font-size>' | '<svg-path>' | '<system-language>' | '<text-coordinate>' | '<view-box>' | 'AbsoluteURL' | 'Accept' | 'Any' | 'AutoComplete' | 'BCP47' | 'BaseURL' | 'BrowsingContextName' | 'BrowsingContextNameOrKeyword' | 'CustomElementName' | 'DOMID' | 'DateTime' | 'FunctionBody' | 'HTTPSchemaURL' | 'HashName' | 'IconSize' | 'Int' | 'ItemProp' | 'JSON' | 'LinkTypeForAnchorAndAreaElement' | 'LinkTypeForFormElement' | 'LinkTypeForLinkElement' | 'LinkTypeForLinkElementInBody' | 'MIMEType' | 'NavigableTargetName' | 'NavigableTargetNameOrKeyword' | 'NoEmptyAny' | 'Number' | 'OneCodePointChar' | 'OneLineAny' | 'Pattern' | 'SerializedPermissionsPolicy' | 'SourceSizeList' | 'Srcset' | 'TabIndex' | 'URL' | 'Uint' | 'ValidCustomCommand' | 'XMLName' | 'Zero') | 'Boolean') | List | Enum | Number | Directive;
6
+ export type AttributeType = (("<'--*'>" | "<'-moz-appearance'>" | "<'-moz-background-clip'>" | "<'-moz-binding'>" | "<'-moz-border-bottom-colors'>" | "<'-moz-border-left-colors'>" | "<'-moz-border-radius-bottomleft'>" | "<'-moz-border-radius-bottomright'>" | "<'-moz-border-radius-topleft'>" | "<'-moz-border-radius-topright'>" | "<'-moz-border-right-colors'>" | "<'-moz-border-top-colors'>" | "<'-moz-context-properties'>" | "<'-moz-control-character-visibility'>" | "<'-moz-float-edge'>" | "<'-moz-force-broken-image-icon'>" | "<'-moz-orient'>" | "<'-moz-osx-font-smoothing'>" | "<'-moz-outline-radius'>" | "<'-moz-outline-radius-bottomleft'>" | "<'-moz-outline-radius-bottomright'>" | "<'-moz-outline-radius-topleft'>" | "<'-moz-outline-radius-topright'>" | "<'-moz-stack-sizing'>" | "<'-moz-text-blink'>" | "<'-moz-user-focus'>" | "<'-moz-user-input'>" | "<'-moz-user-modify'>" | "<'-moz-user-select'>" | "<'-moz-window-dragging'>" | "<'-moz-window-shadow'>" | "<'-ms-accelerator'>" | "<'-ms-block-progression'>" | "<'-ms-content-zoom-chaining'>" | "<'-ms-content-zoom-limit'>" | "<'-ms-content-zoom-limit-max'>" | "<'-ms-content-zoom-limit-min'>" | "<'-ms-content-zoom-snap'>" | "<'-ms-content-zoom-snap-points'>" | "<'-ms-content-zoom-snap-type'>" | "<'-ms-content-zooming'>" | "<'-ms-filter'>" | "<'-ms-flex-align'>" | "<'-ms-flex-item-align'>" | "<'-ms-flex-line-pack'>" | "<'-ms-flex-negative'>" | "<'-ms-flex-order'>" | "<'-ms-flex-pack'>" | "<'-ms-flex-positive'>" | "<'-ms-flex-preferred-size'>" | "<'-ms-flow-from'>" | "<'-ms-flow-into'>" | "<'-ms-grid-column-align'>" | "<'-ms-grid-columns'>" | "<'-ms-grid-row-align'>" | "<'-ms-grid-rows'>" | "<'-ms-high-contrast-adjust'>" | "<'-ms-hyphenate-limit-chars'>" | "<'-ms-hyphenate-limit-last'>" | "<'-ms-hyphenate-limit-lines'>" | "<'-ms-hyphenate-limit-zone'>" | "<'-ms-ime-align'>" | "<'-ms-interpolation-mode'>" | "<'-ms-overflow-style'>" | "<'-ms-scroll-chaining'>" | "<'-ms-scroll-limit'>" | "<'-ms-scroll-limit-x-max'>" | "<'-ms-scroll-limit-x-min'>" | "<'-ms-scroll-limit-y-max'>" | "<'-ms-scroll-limit-y-min'>" | "<'-ms-scroll-rails'>" | "<'-ms-scroll-snap-points-x'>" | "<'-ms-scroll-snap-points-y'>" | "<'-ms-scroll-snap-type'>" | "<'-ms-scroll-snap-x'>" | "<'-ms-scroll-snap-y'>" | "<'-ms-scroll-translation'>" | "<'-ms-scrollbar-3dlight-color'>" | "<'-ms-scrollbar-arrow-color'>" | "<'-ms-scrollbar-base-color'>" | "<'-ms-scrollbar-darkshadow-color'>" | "<'-ms-scrollbar-face-color'>" | "<'-ms-scrollbar-highlight-color'>" | "<'-ms-scrollbar-shadow-color'>" | "<'-ms-scrollbar-track-color'>" | "<'-ms-text-autospace'>" | "<'-ms-touch-select'>" | "<'-ms-user-select'>" | "<'-ms-wrap-flow'>" | "<'-ms-wrap-margin'>" | "<'-ms-wrap-through'>" | "<'-webkit-appearance'>" | "<'-webkit-background-clip'>" | "<'-webkit-border-before'>" | "<'-webkit-border-before-color'>" | "<'-webkit-border-before-style'>" | "<'-webkit-border-before-width'>" | "<'-webkit-box-reflect'>" | "<'-webkit-column-break-after'>" | "<'-webkit-column-break-before'>" | "<'-webkit-column-break-inside'>" | "<'-webkit-font-smoothing'>" | "<'-webkit-line-clamp'>" | "<'-webkit-mask'>" | "<'-webkit-mask-attachment'>" | "<'-webkit-mask-box-image'>" | "<'-webkit-mask-clip'>" | "<'-webkit-mask-composite'>" | "<'-webkit-mask-image'>" | "<'-webkit-mask-origin'>" | "<'-webkit-mask-position'>" | "<'-webkit-mask-position-x'>" | "<'-webkit-mask-position-y'>" | "<'-webkit-mask-repeat'>" | "<'-webkit-mask-repeat-x'>" | "<'-webkit-mask-repeat-y'>" | "<'-webkit-mask-size'>" | "<'-webkit-overflow-scrolling'>" | "<'-webkit-print-color-adjust'>" | "<'-webkit-tap-highlight-color'>" | "<'-webkit-text-fill-color'>" | "<'-webkit-text-security'>" | "<'-webkit-text-stroke'>" | "<'-webkit-text-stroke-color'>" | "<'-webkit-text-stroke-width'>" | "<'-webkit-touch-callout'>" | "<'-webkit-user-drag'>" | "<'-webkit-user-modify'>" | "<'-webkit-user-select'>" | "<'accent-color'>" | "<'align-content'>" | "<'align-items'>" | "<'align-self'>" | "<'align-tracks'>" | "<'alignment-baseline'>" | "<'all'>" | "<'anchor-name'>" | "<'anchor-scope'>" | "<'animation'>" | "<'animation-composition'>" | "<'animation-delay'>" | "<'animation-direction'>" | "<'animation-duration'>" | "<'animation-fill-mode'>" | "<'animation-iteration-count'>" | "<'animation-name'>" | "<'animation-play-state'>" | "<'animation-range'>" | "<'animation-range-end'>" | "<'animation-range-start'>" | "<'animation-timeline'>" | "<'animation-timing-function'>" | "<'animation-trigger'>" | "<'appearance'>" | "<'aspect-ratio'>" | "<'backdrop-filter'>" | "<'backface-visibility'>" | "<'background'>" | "<'background-attachment'>" | "<'background-blend-mode'>" | "<'background-clip'>" | "<'background-color'>" | "<'background-image'>" | "<'background-origin'>" | "<'background-position'>" | "<'background-position-x'>" | "<'background-position-y'>" | "<'background-repeat'>" | "<'background-size'>" | "<'baseline-shift'>" | "<'baseline-source'>" | "<'behavior'>" | "<'block-size'>" | "<'border'>" | "<'border-block'>" | "<'border-block-color'>" | "<'border-block-end'>" | "<'border-block-end-color'>" | "<'border-block-end-style'>" | "<'border-block-end-width'>" | "<'border-block-start'>" | "<'border-block-start-color'>" | "<'border-block-start-style'>" | "<'border-block-start-width'>" | "<'border-block-style'>" | "<'border-block-width'>" | "<'border-bottom'>" | "<'border-bottom-color'>" | "<'border-bottom-left-radius'>" | "<'border-bottom-right-radius'>" | "<'border-bottom-style'>" | "<'border-bottom-width'>" | "<'border-collapse'>" | "<'border-color'>" | "<'border-end-end-radius'>" | "<'border-end-start-radius'>" | "<'border-image'>" | "<'border-image-outset'>" | "<'border-image-repeat'>" | "<'border-image-slice'>" | "<'border-image-source'>" | "<'border-image-width'>" | "<'border-inline'>" | "<'border-inline-color'>" | "<'border-inline-end'>" | "<'border-inline-end-color'>" | "<'border-inline-end-style'>" | "<'border-inline-end-width'>" | "<'border-inline-start'>" | "<'border-inline-start-color'>" | "<'border-inline-start-style'>" | "<'border-inline-start-width'>" | "<'border-inline-style'>" | "<'border-inline-width'>" | "<'border-left'>" | "<'border-left-color'>" | "<'border-left-style'>" | "<'border-left-width'>" | "<'border-radius'>" | "<'border-right'>" | "<'border-right-color'>" | "<'border-right-style'>" | "<'border-right-width'>" | "<'border-spacing'>" | "<'border-start-end-radius'>" | "<'border-start-start-radius'>" | "<'border-style'>" | "<'border-top'>" | "<'border-top-color'>" | "<'border-top-left-radius'>" | "<'border-top-right-radius'>" | "<'border-top-style'>" | "<'border-top-width'>" | "<'border-width'>" | "<'bottom'>" | "<'box-align'>" | "<'box-decoration-break'>" | "<'box-direction'>" | "<'box-flex'>" | "<'box-flex-group'>" | "<'box-lines'>" | "<'box-ordinal-group'>" | "<'box-orient'>" | "<'box-pack'>" | "<'box-shadow'>" | "<'box-sizing'>" | "<'break-after'>" | "<'break-before'>" | "<'break-inside'>" | "<'caption-side'>" | "<'caret'>" | "<'caret-animation'>" | "<'caret-color'>" | "<'caret-shape'>" | "<'clear'>" | "<'clip'>" | "<'clip-path'>" | "<'clip-rule'>" | "<'color'>" | "<'color-interpolation-filters'>" | "<'color-scheme'>" | "<'column-count'>" | "<'column-fill'>" | "<'column-gap'>" | "<'column-height'>" | "<'column-rule'>" | "<'column-rule-color'>" | "<'column-rule-style'>" | "<'column-rule-width'>" | "<'column-span'>" | "<'column-width'>" | "<'column-wrap'>" | "<'columns'>" | "<'contain'>" | "<'contain-intrinsic-block-size'>" | "<'contain-intrinsic-height'>" | "<'contain-intrinsic-inline-size'>" | "<'contain-intrinsic-size'>" | "<'contain-intrinsic-width'>" | "<'container'>" | "<'container-name'>" | "<'container-type'>" | "<'content'>" | "<'content-visibility'>" | "<'corner-block-end-shape'>" | "<'corner-block-start-shape'>" | "<'corner-bottom-left-shape'>" | "<'corner-bottom-right-shape'>" | "<'corner-bottom-shape'>" | "<'corner-end-end-shape'>" | "<'corner-end-start-shape'>" | "<'corner-inline-end-shape'>" | "<'corner-inline-start-shape'>" | "<'corner-left-shape'>" | "<'corner-right-shape'>" | "<'corner-shape'>" | "<'corner-start-end-shape'>" | "<'corner-start-start-shape'>" | "<'corner-top-left-shape'>" | "<'corner-top-right-shape'>" | "<'corner-top-shape'>" | "<'counter-increment'>" | "<'counter-reset'>" | "<'counter-set'>" | "<'cue'>" | "<'cue-after'>" | "<'cue-before'>" | "<'cursor'>" | "<'cx'>" | "<'cy'>" | "<'d'>" | "<'direction'>" | "<'display'>" | "<'dominant-baseline'>" | "<'dynamic-range-limit'>" | "<'empty-cells'>" | "<'field-sizing'>" | "<'fill'>" | "<'fill-opacity'>" | "<'fill-rule'>" | "<'filter'>" | "<'flex'>" | "<'flex-basis'>" | "<'flex-direction'>" | "<'flex-flow'>" | "<'flex-grow'>" | "<'flex-shrink'>" | "<'flex-wrap'>" | "<'float'>" | "<'flood-color'>" | "<'flood-opacity'>" | "<'font'>" | "<'font-family'>" | "<'font-feature-settings'>" | "<'font-kerning'>" | "<'font-language-override'>" | "<'font-optical-sizing'>" | "<'font-palette'>" | "<'font-size'>" | "<'font-size-adjust'>" | "<'font-smooth'>" | "<'font-stretch'>" | "<'font-style'>" | "<'font-synthesis'>" | "<'font-synthesis-position'>" | "<'font-synthesis-small-caps'>" | "<'font-synthesis-style'>" | "<'font-synthesis-weight'>" | "<'font-variant'>" | "<'font-variant-alternates'>" | "<'font-variant-caps'>" | "<'font-variant-east-asian'>" | "<'font-variant-emoji'>" | "<'font-variant-ligatures'>" | "<'font-variant-numeric'>" | "<'font-variant-position'>" | "<'font-variation-settings'>" | "<'font-weight'>" | "<'font-width'>" | "<'forced-color-adjust'>" | "<'gap'>" | "<'glyph-orientation-horizontal'>" | "<'glyph-orientation-vertical'>" | "<'grid'>" | "<'grid-area'>" | "<'grid-auto-columns'>" | "<'grid-auto-flow'>" | "<'grid-auto-rows'>" | "<'grid-column'>" | "<'grid-column-end'>" | "<'grid-column-gap'>" | "<'grid-column-start'>" | "<'grid-gap'>" | "<'grid-row'>" | "<'grid-row-end'>" | "<'grid-row-gap'>" | "<'grid-row-start'>" | "<'grid-template'>" | "<'grid-template-areas'>" | "<'grid-template-columns'>" | "<'grid-template-rows'>" | "<'hanging-punctuation'>" | "<'height'>" | "<'hyphenate-character'>" | "<'hyphenate-limit-chars'>" | "<'hyphens'>" | "<'image-orientation'>" | "<'image-rendering'>" | "<'image-resolution'>" | "<'ime-mode'>" | "<'initial-letter'>" | "<'initial-letter-align'>" | "<'inline-size'>" | "<'inset'>" | "<'inset-block'>" | "<'inset-block-end'>" | "<'inset-block-start'>" | "<'inset-inline'>" | "<'inset-inline-end'>" | "<'inset-inline-start'>" | "<'interactivity'>" | "<'interest-delay'>" | "<'interest-delay-end'>" | "<'interest-delay-start'>" | "<'interpolate-size'>" | "<'isolation'>" | "<'justify-content'>" | "<'justify-items'>" | "<'justify-self'>" | "<'justify-tracks'>" | "<'kerning'>" | "<'left'>" | "<'letter-spacing'>" | "<'lighting-color'>" | "<'line-break'>" | "<'line-clamp'>" | "<'line-height'>" | "<'line-height-step'>" | "<'list-style'>" | "<'list-style-image'>" | "<'list-style-position'>" | "<'list-style-type'>" | "<'margin'>" | "<'margin-block'>" | "<'margin-block-end'>" | "<'margin-block-start'>" | "<'margin-bottom'>" | "<'margin-inline'>" | "<'margin-inline-end'>" | "<'margin-inline-start'>" | "<'margin-left'>" | "<'margin-right'>" | "<'margin-top'>" | "<'margin-trim'>" | "<'marker'>" | "<'marker-end'>" | "<'marker-mid'>" | "<'marker-start'>" | "<'mask'>" | "<'mask-border'>" | "<'mask-border-mode'>" | "<'mask-border-outset'>" | "<'mask-border-repeat'>" | "<'mask-border-slice'>" | "<'mask-border-source'>" | "<'mask-border-width'>" | "<'mask-clip'>" | "<'mask-composite'>" | "<'mask-image'>" | "<'mask-mode'>" | "<'mask-origin'>" | "<'mask-position'>" | "<'mask-repeat'>" | "<'mask-size'>" | "<'mask-type'>" | "<'masonry-auto-flow'>" | "<'math-depth'>" | "<'math-shift'>" | "<'math-style'>" | "<'max-block-size'>" | "<'max-height'>" | "<'max-inline-size'>" | "<'max-lines'>" | "<'max-width'>" | "<'min-block-size'>" | "<'min-height'>" | "<'min-inline-size'>" | "<'min-width'>" | "<'mix-blend-mode'>" | "<'object-fit'>" | "<'object-position'>" | "<'object-view-box'>" | "<'offset'>" | "<'offset-anchor'>" | "<'offset-distance'>" | "<'offset-path'>" | "<'offset-position'>" | "<'offset-rotate'>" | "<'opacity'>" | "<'order'>" | "<'orphans'>" | "<'outline'>" | "<'outline-color'>" | "<'outline-offset'>" | "<'outline-style'>" | "<'outline-width'>" | "<'overflow'>" | "<'overflow-anchor'>" | "<'overflow-block'>" | "<'overflow-clip-box'>" | "<'overflow-clip-margin'>" | "<'overflow-inline'>" | "<'overflow-wrap'>" | "<'overflow-x'>" | "<'overflow-y'>" | "<'overlay'>" | "<'overscroll-behavior'>" | "<'overscroll-behavior-block'>" | "<'overscroll-behavior-inline'>" | "<'overscroll-behavior-x'>" | "<'overscroll-behavior-y'>" | "<'padding'>" | "<'padding-block'>" | "<'padding-block-end'>" | "<'padding-block-start'>" | "<'padding-bottom'>" | "<'padding-inline'>" | "<'padding-inline-end'>" | "<'padding-inline-start'>" | "<'padding-left'>" | "<'padding-right'>" | "<'padding-top'>" | "<'page'>" | "<'page-break-after'>" | "<'page-break-before'>" | "<'page-break-inside'>" | "<'paint-order'>" | "<'pause'>" | "<'pause-after'>" | "<'pause-before'>" | "<'perspective'>" | "<'perspective-origin'>" | "<'place-content'>" | "<'place-items'>" | "<'place-self'>" | "<'pointer-events'>" | "<'position'>" | "<'position-anchor'>" | "<'position-area'>" | "<'position-try'>" | "<'position-try-fallbacks'>" | "<'position-try-options'>" | "<'position-try-order'>" | "<'position-visibility'>" | "<'print-color-adjust'>" | "<'quotes'>" | "<'r'>" | "<'reading-flow'>" | "<'reading-order'>" | "<'resize'>" | "<'rest'>" | "<'rest-after'>" | "<'rest-before'>" | "<'right'>" | "<'rotate'>" | "<'row-gap'>" | "<'ruby-align'>" | "<'ruby-merge'>" | "<'ruby-overhang'>" | "<'ruby-position'>" | "<'rx'>" | "<'ry'>" | "<'scale'>" | "<'scroll-behavior'>" | "<'scroll-initial-target'>" | "<'scroll-margin'>" | "<'scroll-margin-block'>" | "<'scroll-margin-block-end'>" | "<'scroll-margin-block-start'>" | "<'scroll-margin-bottom'>" | "<'scroll-margin-inline'>" | "<'scroll-margin-inline-end'>" | "<'scroll-margin-inline-start'>" | "<'scroll-margin-left'>" | "<'scroll-margin-right'>" | "<'scroll-margin-top'>" | "<'scroll-marker-group'>" | "<'scroll-padding'>" | "<'scroll-padding-block'>" | "<'scroll-padding-block-end'>" | "<'scroll-padding-block-start'>" | "<'scroll-padding-bottom'>" | "<'scroll-padding-inline'>" | "<'scroll-padding-inline-end'>" | "<'scroll-padding-inline-start'>" | "<'scroll-padding-left'>" | "<'scroll-padding-right'>" | "<'scroll-padding-top'>" | "<'scroll-snap-align'>" | "<'scroll-snap-coordinate'>" | "<'scroll-snap-destination'>" | "<'scroll-snap-points-x'>" | "<'scroll-snap-points-y'>" | "<'scroll-snap-stop'>" | "<'scroll-snap-type'>" | "<'scroll-snap-type-x'>" | "<'scroll-snap-type-y'>" | "<'scroll-target-group'>" | "<'scroll-timeline'>" | "<'scroll-timeline-axis'>" | "<'scroll-timeline-name'>" | "<'scrollbar-color'>" | "<'scrollbar-gutter'>" | "<'scrollbar-width'>" | "<'shape-image-threshold'>" | "<'shape-margin'>" | "<'shape-outside'>" | "<'shape-rendering'>" | "<'speak'>" | "<'speak-as'>" | "<'stop-color'>" | "<'stop-opacity'>" | "<'stroke'>" | "<'stroke-color'>" | "<'stroke-dasharray'>" | "<'stroke-dashoffset'>" | "<'stroke-linecap'>" | "<'stroke-linejoin'>" | "<'stroke-miterlimit'>" | "<'stroke-opacity'>" | "<'stroke-width'>" | "<'tab-size'>" | "<'table-layout'>" | "<'text-align'>" | "<'text-align-last'>" | "<'text-anchor'>" | "<'text-autospace'>" | "<'text-box'>" | "<'text-box-edge'>" | "<'text-box-trim'>" | "<'text-combine-upright'>" | "<'text-decoration'>" | "<'text-decoration-color'>" | "<'text-decoration-inset'>" | "<'text-decoration-line'>" | "<'text-decoration-skip'>" | "<'text-decoration-skip-ink'>" | "<'text-decoration-style'>" | "<'text-decoration-thickness'>" | "<'text-emphasis'>" | "<'text-emphasis-color'>" | "<'text-emphasis-position'>" | "<'text-emphasis-style'>" | "<'text-indent'>" | "<'text-justify'>" | "<'text-orientation'>" | "<'text-overflow'>" | "<'text-rendering'>" | "<'text-shadow'>" | "<'text-size-adjust'>" | "<'text-spacing-trim'>" | "<'text-transform'>" | "<'text-underline-offset'>" | "<'text-underline-position'>" | "<'text-wrap'>" | "<'text-wrap-mode'>" | "<'text-wrap-style'>" | "<'timeline-scope'>" | "<'timeline-trigger'>" | "<'timeline-trigger-exit-range'>" | "<'timeline-trigger-exit-range-end'>" | "<'timeline-trigger-exit-range-start'>" | "<'timeline-trigger-name'>" | "<'timeline-trigger-range'>" | "<'timeline-trigger-range-end'>" | "<'timeline-trigger-range-start'>" | "<'timeline-trigger-source'>" | "<'top'>" | "<'touch-action'>" | "<'transform'>" | "<'transform-box'>" | "<'transform-origin'>" | "<'transform-style'>" | "<'transition'>" | "<'transition-behavior'>" | "<'transition-delay'>" | "<'transition-duration'>" | "<'transition-property'>" | "<'transition-timing-function'>" | "<'translate'>" | "<'trigger-scope'>" | "<'unicode-bidi'>" | "<'user-select'>" | "<'vector-effect'>" | "<'vertical-align'>" | "<'view-timeline'>" | "<'view-timeline-axis'>" | "<'view-timeline-inset'>" | "<'view-timeline-name'>" | "<'view-transition-class'>" | "<'view-transition-name'>" | "<'visibility'>" | "<'voice-balance'>" | "<'voice-duration'>" | "<'voice-family'>" | "<'voice-pitch'>" | "<'voice-range'>" | "<'voice-rate'>" | "<'voice-stress'>" | "<'voice-volume'>" | "<'white-space'>" | "<'white-space-collapse'>" | "<'white-space-trim'>" | "<'widows'>" | "<'width'>" | "<'will-change'>" | "<'word-break'>" | "<'word-spacing'>" | "<'word-wrap'>" | "<'writing-mode'>" | "<'x'>" | "<'y'>" | "<'z-index'>" | "<'zoom'>" | "<(-token>" | "<)-token>" | "<-legacy-gradient>" | "<-legacy-linear-gradient-arguments>" | "<-legacy-linear-gradient>" | "<-legacy-radial-gradient-arguments>" | "<-legacy-radial-gradient-shape>" | "<-legacy-radial-gradient-size>" | "<-legacy-radial-gradient>" | "<-legacy-repeating-linear-gradient>" | "<-legacy-repeating-radial-gradient>" | "<-ms-filter-function-legacy>" | "<-ms-filter-function-list>" | "<-ms-filter-function-progid>" | "<-ms-filter-function>" | "<-non-standard-color>" | "<-non-standard-display>" | "<-non-standard-font>" | "<-non-standard-generic-family>" | "<-non-standard-image-rendering>" | "<-non-standard-overflow>" | "<-non-standard-size>" | "<-webkit-gradient()>" | "<-webkit-gradient-color-stop>" | "<-webkit-gradient-point>" | "<-webkit-gradient-radius>" | "<-webkit-gradient-type>" | "<-webkit-mask-box-repeat>" | "<CDC-token>" | "<CDO-token>" | "<[-token>" | "<]-token>" | "<abs()>" | "<absolute-size>" | "<acos()>" | "<age>" | "<alpha-value>" | "<an+b>" | "<an-plus-b>" | "<anchor()>" | "<anchor-name>" | "<anchor-side>" | "<anchor-size()>" | "<anchor-size>" | "<angle-percentage>" | "<angle>" | "<angular-color-hint>" | "<angular-color-stop-list>" | "<angular-color-stop>" | "<animateable-feature>" | "<animation-action>" | "<any-value>" | "<asin()>" | "<at-keyword-token>" | "<atan()>" | "<atan2()>" | "<attachment>" | "<attr()>" | "<attr-fallback>" | "<attr-matcher>" | "<attr-modifier>" | "<attr-name>" | "<attr-type>" | "<attr-unit>" | "<attribute-selector>" | "<auto-repeat>" | "<auto-track-list>" | "<autospace>" | "<axis>" | "<bad-string-token>" | "<bad-url-token>" | "<baseline-position>" | "<basic-shape-rect>" | "<basic-shape>" | "<bcp-47>" | "<bg-clip>" | "<bg-image>" | "<bg-layer>" | "<bg-position>" | "<bg-size>" | "<blend-mode>" | "<blur()>" | "<bottom>" | "<brightness()>" | "<calc()>" | "<calc-constant>" | "<calc-product>" | "<calc-size()>" | "<calc-size-basis>" | "<calc-sum>" | "<calc-value>" | "<cf-final-image>" | "<cf-mixing-image>" | "<circle()>" | "<clamp()>" | "<class-selector>" | "<clip-source>" | "<cmyk-component>" | "<colon-token>" | "<color()>" | "<color-base>" | "<color-function>" | "<color-interpolation-method>" | "<color-mix()>" | "<color-space>" | "<color-stop-angle>" | "<color-stop-length>" | "<color-stop-list>" | "<color-stop>" | "<color>" | "<colorspace-params>" | "<combinator>" | "<comma-token>" | "<common-lig-values>" | "<compat-auto>" | "<compat-special>" | "<complex-real-selector-list>" | "<complex-real-selector>" | "<complex-selector-list>" | "<complex-selector-unit>" | "<complex-selector>" | "<composite-style>" | "<compositing-operator>" | "<compound-selector-list>" | "<compound-selector>" | "<conic-gradient()>" | "<conic-gradient-syntax>" | "<container-condition>" | "<container-name>" | "<container-query>" | "<content-distribution>" | "<content-list>" | "<content-position>" | "<content-replacement>" | "<contextual-alt-values>" | "<contrast()>" | "<coord-box>" | "<corner-shape-value>" | "<cos()>" | "<counter()>" | "<counter-name>" | "<counter-style-name>" | "<counter-style>" | "<counter>" | "<counters()>" | "<cross-fade()>" | "<cubic-bezier()>" | "<cubic-bezier-easing-function>" | "<cursor-predefined>" | "<custom-color-space>" | "<custom-ident>" | "<custom-params>" | "<custom-property-name>" | "<dasharray>" | "<dashed-ident>" | "<dashndashdigit-ident>" | "<decibel>" | "<declaration-list>" | "<declaration-value>" | "<declaration>" | "<delim-token>" | "<deprecated-system-color>" | "<device-cmyk()>" | "<dimension-token>" | "<dimension>" | "<discretionary-lig-values>" | "<display-box>" | "<display-inside>" | "<display-internal>" | "<display-legacy>" | "<display-listitem>" | "<display-outside>" | "<drop-shadow()>" | "<dynamic-range-limit-mix()>" | "<easing-function>" | "<east-asian-variant-values>" | "<east-asian-width-values>" | "<element()>" | "<ellipse()>" | "<env()>" | "<exp()>" | "<explicit-track-list>" | "<family-name>" | "<feature-tag-value>" | "<feature-type>" | "<feature-value-block-list>" | "<feature-value-block>" | "<feature-value-declaration-list>" | "<feature-value-declaration>" | "<feature-value-name>" | "<filter-function>" | "<filter-value-list>" | "<final-bg-layer>" | "<fit-content()>" | "<fixed-breadth>" | "<fixed-repeat>" | "<fixed-size>" | "<flex>" | "<font-stretch-absolute>" | "<font-variant-css2>" | "<font-weight-absolute>" | "<font-width-css3>" | "<forgiving-relative-selector-list>" | "<forgiving-selector-list>" | "<form-control-identifier>" | "<frequency-percentage>" | "<frequency>" | "<function-token>" | "<gender>" | "<general-enclosed>" | "<generic-complete>" | "<generic-family>" | "<generic-incomplete>" | "<generic-script-specific>" | "<generic-voice>" | "<geometry-box>" | "<gradient>" | "<grayscale()>" | "<grid-line>" | "<hash-token>" | "<hex-color>" | "<historical-lig-values>" | "<hsl()>" | "<hsla()>" | "<hue-interpolation-method>" | "<hue-rotate()>" | "<hue>" | "<hwb()>" | "<hypot()>" | "<id-selector>" | "<ident-token>" | "<ident>" | "<image()>" | "<image-set()>" | "<image-set-option>" | "<image-src>" | "<image-tags>" | "<image>" | "<inflexible-breadth>" | "<inset()>" | "<inset-area>" | "<integer>" | "<intrinsic-size-keyword>" | "<invert()>" | "<keyframe-block>" | "<keyframe-selector>" | "<keyframes-name>" | "<lab()>" | "<layer()>" | "<layer-name>" | "<lch()>" | "<leader()>" | "<leader-type>" | "<left>" | "<legacy-device-cmyk-syntax>" | "<legacy-pseudo-element-selector>" | "<length-percentage>" | "<length>" | "<light-dark()>" | "<line-name-list>" | "<line-names>" | "<line-style>" | "<line-width>" | "<linear()>" | "<linear-color-hint>" | "<linear-color-stop>" | "<linear-easing-function>" | "<linear-gradient()>" | "<linear-gradient-syntax>" | "<log()>" | "<mask-layer>" | "<mask-position>" | "<mask-reference>" | "<mask-source>" | "<masking-mode>" | "<matrix()>" | "<matrix3d()>" | "<max()>" | "<media-and>" | "<media-condition-without-or>" | "<media-condition>" | "<media-feature>" | "<media-in-parens>" | "<media-not>" | "<media-or>" | "<media-query-list>" | "<media-query>" | "<media-type>" | "<mf-boolean>" | "<mf-name>" | "<mf-plain>" | "<mf-range>" | "<mf-value>" | "<min()>" | "<minmax()>" | "<mod()>" | "<modern-device-cmyk-syntax>" | "<n-dimension>" | "<name-repeat>" | "<named-color>" | "<namespace-prefix>" | "<ndash-dimension>" | "<ndashdigit-dimension>" | "<ndashdigit-ident>" | "<ns-prefix>" | "<number-one-or-greater>" | "<number-percentage>" | "<number-token>" | "<number-zero-one>" | "<number>" | "<numeric-figure-values>" | "<numeric-fraction-values>" | "<numeric-spacing-values>" | "<offset-path>" | "<oklab()>" | "<oklch()>" | "<opacity()>" | "<opacity-value>" | "<outline-line-style>" | "<outline-radius>" | "<overflow-position>" | "<page-body>" | "<page-margin-box-type>" | "<page-margin-box>" | "<page-selector-list>" | "<page-selector>" | "<page-size>" | "<paint()>" | "<paint-box>" | "<paint>" | "<palette-identifier>" | "<palette-mix()>" | "<path()>" | "<percentage-token>" | "<percentage>" | "<perspective()>" | "<polar-color-space>" | "<polygon()>" | "<position-area>" | "<position>" | "<pow()>" | "<predefined-rgb-params>" | "<predefined-rgb>" | "<pseudo-class-selector>" | "<pseudo-compound-selector>" | "<pseudo-element-selector>" | "<pseudo-page>" | "<query-in-parens>" | "<quote>" | "<radial-extent>" | "<radial-gradient()>" | "<radial-gradient-syntax>" | "<radial-shape>" | "<radial-size>" | "<ratio>" | "<ray()>" | "<ray-size>" | "<rect()>" | "<rectangular-color-space>" | "<relative-real-selector-list>" | "<relative-real-selector>" | "<relative-selector-list>" | "<relative-selector>" | "<relative-size>" | "<rem()>" | "<repeat-style>" | "<repeating-conic-gradient()>" | "<repeating-linear-gradient()>" | "<repeating-radial-gradient()>" | "<resolution>" | "<reversed-counter-name>" | "<rgb()>" | "<rgba()>" | "<right>" | "<rotate()>" | "<rotate3d()>" | "<rotateX()>" | "<rotateY()>" | "<rotateZ()>" | "<round()>" | "<rounding-strategy>" | "<saturate()>" | "<scale()>" | "<scale3d()>" | "<scaleX()>" | "<scaleY()>" | "<scaleZ()>" | "<scope-end>" | "<scope-start>" | "<scroll()>" | "<scroll-state-feature>" | "<scroll-state-in-parens>" | "<scroll-state-query>" | "<scroller>" | "<selector-list>" | "<self-position>" | "<semicolon-token>" | "<semitones>" | "<sepia()>" | "<shadow-t>" | "<shadow>" | "<shape-box>" | "<shape>" | "<side-or-corner>" | "<sign()>" | "<signed-integer>" | "<signless-integer>" | "<simple-selector-list>" | "<simple-selector>" | "<sin()>" | "<single-animation-composition>" | "<single-animation-direction>" | "<single-animation-fill-mode>" | "<single-animation-iteration-count>" | "<single-animation-play-state>" | "<single-animation-timeline>" | "<single-animation>" | "<single-transition-property>" | "<single-transition>" | "<size-feature>" | "<size>" | "<skew()>" | "<skewX()>" | "<skewY()>" | "<sqrt()>" | "<step-easing-function>" | "<step-position>" | "<steps()>" | "<string-token>" | "<string>" | "<style-condition>" | "<style-feature>" | "<style-in-parens>" | "<style-query>" | "<subclass-selector>" | "<superellipse()>" | "<supports-condition>" | "<supports-decl>" | "<supports-feature>" | "<supports-in-parens>" | "<supports-selector-fn>" | "<svg-length>" | "<svg-writing-mode>" | "<symbol>" | "<symbols()>" | "<symbols-type>" | "<syntax-combinator>" | "<syntax-component>" | "<syntax-multiplier>" | "<syntax-single-component>" | "<syntax-string>" | "<syntax-type-name>" | "<syntax>" | "<system-color>" | "<system-family-name>" | "<tan()>" | "<target-counter()>" | "<target-counters()>" | "<target-text()>" | "<target>" | "<text-edge>" | "<time-percentage>" | "<time>" | "<timeline-range-name>" | "<top>" | "<track-breadth>" | "<track-list>" | "<track-repeat>" | "<track-size>" | "<transform-function>" | "<transform-list>" | "<transition-behavior-value>" | "<translate()>" | "<translate3d()>" | "<translateX()>" | "<translateY()>" | "<translateZ()>" | "<try-size>" | "<try-tactic>" | "<type-or-unit>" | "<type-selector>" | "<urange>" | "<url-modifier>" | "<url-token>" | "<url>" | "<var()>" | "<view()>" | "<viewport-length>" | "<visual-box>" | "<whitespace-token>" | "<wq-name>" | "<x>" | "<xywh()>" | "<xyz-params>" | "<xyz-space>" | "<xyz>" | "<y>" | "<zero>" | "<{-token>" | "<}-token>") | ("<'color-profile'>" | "<'color-rendering'>" | "<'enable-background'>" | "<animatable-value>" | "<begin-value-list>" | "<class-list>" | "<clock-value>" | "<color-matrix>" | "<css-declaration-list>" | "<dasharray>" | "<end-value-list>" | "<key-points>" | "<key-splines>" | "<key-times>" | "<list-of-lengths>" | "<list-of-numbers>" | "<list-of-percentages>" | "<list-of-svg-feature-string>" | "<list-of-value>" | "<number-optional-number>" | "<origin>" | "<points>" | "<preserve-aspect-ratio>" | "<rotate>" | "<svg-font-size-adjust>" | "<svg-font-size>" | "<svg-path>" | "<system-language>" | "<text-coordinate>" | "<view-box>" | "AbsoluteURL" | "Accept" | "Any" | "AutoComplete" | "BCP47" | "BaseURL" | "BrowsingContextName" | "BrowsingContextNameOrKeyword" | "CustomElementName" | "DOMID" | "DateString" | "DateTime" | "Email" | "FunctionBody" | "HTTPSchemaURL" | "HashName" | "IconSize" | "Int" | "ItemProp" | "JSON" | "LinkTypeForAnchorAndAreaElement" | "LinkTypeForFormElement" | "LinkTypeForLinkElement" | "LinkTypeForLinkElementInBody" | "LocalDateTimeString" | "MIMEType" | "MonthString" | "NavigableTargetName" | "NavigableTargetNameOrKeyword" | "NoEmptyAny" | "Number" | "OneCodePointChar" | "OneLineAny" | "Pattern" | "SRIHash" | "SerializedPermissionsPolicy" | "SimpleColor" | "SourceSizeList" | "Srcset" | "TabIndex" | "TimeString" | "URL" | "Uint" | "ValidCustomCommand" | "WeekString" | "XMLName" | "Zero") | "Boolean") | List | Enum | Number | Directive | Pattern;
7
7
  export type AttributeCondition = string | [string, string, ...string[]];
8
8
  export interface AttributesSchema {
9
9
  tag: string;
@@ -11,73 +11,73 @@ export interface AttributesSchema {
11
11
  attributes: Attributes;
12
12
  }
13
13
  export interface GlobalAttributes {
14
- '#HTMLGlobalAttrs'?: boolean;
15
- '#GlobalEventAttrs'?: boolean | ('onabort' | 'onauxclick' | 'onbeforeinput' | 'onbeforematch' | 'onbeforetoggle' | 'onblur' | 'oncancel' | 'oncanplay' | 'oncanplaythrough' | 'onchange' | 'onclick' | 'onclose' | 'oncommand' | 'oncompositionend' | 'oncompositionstart' | 'oncompositionupdate' | 'oncontextlost' | 'oncontextmenu' | 'oncontextrestored' | 'oncopy' | 'oncuechange' | 'oncut' | 'ondblclick' | 'ondrag' | 'ondragend' | 'ondragenter' | 'ondragleave' | 'ondragover' | 'ondragstart' | 'ondrop' | 'ondurationchange' | 'onemptied' | 'onended' | 'onerror' | 'onfocus' | 'onfocusin' | 'onfocusout' | 'onformdata' | 'oninput' | 'oninvalid' | 'onkeydown' | 'onkeypress' | 'onkeyup' | 'onload' | 'onloadeddata' | 'onloadedmetadata' | 'onloadstart' | 'onmousedown' | 'onmouseenter' | 'onmouseleave' | 'onmousemove' | 'onmouseout' | 'onmouseover' | 'onmouseup' | 'onpaste' | 'onpause' | 'onplay' | 'onplaying' | 'onprogress' | 'onratechange' | 'onreset' | 'onresize' | 'onscroll' | 'onscrollend' | 'onsecuritypolicyviolation' | 'onseeked' | 'onseeking' | 'onselect' | 'onslotchange' | 'onstalled' | 'onsubmit' | 'onsuspend' | 'ontimeupdate' | 'ontoggle' | 'onunload' | 'onvolumechange' | 'onwaiting' | 'onwebkitanimationend' | 'onwebkitanimationiteration' | 'onwebkitanimationstart' | 'onwebkittransitionend' | 'onwheel' | 'onanimationstart' | 'onanimationiteration' | 'onanimationend' | 'onanimationcancel' | 'ontransitionrun' | 'ontransitionstart' | 'ontransitionend' | 'ontransitioncancel')[];
14
+ "#HTMLGlobalAttrs"?: boolean;
15
+ "#GlobalEventAttrs"?: boolean | ("onabort" | "onauxclick" | "onbeforeinput" | "onbeforematch" | "onbeforetoggle" | "onblur" | "oncancel" | "oncanplay" | "oncanplaythrough" | "onchange" | "onclick" | "onclose" | "oncommand" | "oncompositionend" | "oncompositionstart" | "oncompositionupdate" | "oncontextlost" | "oncontextmenu" | "oncontextrestored" | "oncopy" | "oncuechange" | "oncut" | "ondblclick" | "ondrag" | "ondragend" | "ondragenter" | "ondragleave" | "ondragover" | "ondragstart" | "ondrop" | "ondurationchange" | "onemptied" | "onended" | "onerror" | "onfocus" | "onfocusin" | "onfocusout" | "onformdata" | "oninput" | "oninvalid" | "onkeydown" | "onkeypress" | "onkeyup" | "onload" | "onloadeddata" | "onloadedmetadata" | "onloadstart" | "onmousedown" | "onmouseenter" | "onmouseleave" | "onmousemove" | "onmouseout" | "onmouseover" | "onmouseup" | "onpaste" | "onpause" | "onplay" | "onplaying" | "onprogress" | "onratechange" | "onreset" | "onresize" | "onscroll" | "onscrollend" | "onsecuritypolicyviolation" | "onseeked" | "onseeking" | "onselect" | "onslotchange" | "onstalled" | "onsubmit" | "onsuspend" | "ontimeupdate" | "ontoggle" | "onunload" | "onvolumechange" | "onwaiting" | "onwebkitanimationend" | "onwebkitanimationiteration" | "onwebkitanimationstart" | "onwebkittransitionend" | "onwheel" | "onanimationstart" | "onanimationiteration" | "onanimationend" | "onanimationcancel" | "ontransitionrun" | "ontransitionstart" | "ontransitionend" | "ontransitioncancel")[];
16
16
  /**
17
17
  * @minItems 0
18
18
  */
19
- '#HTMLLinkAndFetchingAttrs'?: ('crossorigin' | 'download' | 'href' | 'hreflang' | 'integrity' | 'loading' | 'media' | 'ping' | 'referrerpolicy' | 'rel' | 'target' | 'type' | 'fetchpriority')[];
19
+ "#HTMLLinkAndFetchingAttrs"?: ("crossorigin" | "download" | "href" | "hreflang" | "integrity" | "loading" | "media" | "ping" | "referrerpolicy" | "rel" | "target" | "type" | "fetchpriority")[];
20
20
  /**
21
21
  * @minItems 0
22
22
  */
23
- '#HTMLEmbededAndMediaContentAttrs'?: ('autoplay' | 'controls' | 'height' | 'loop' | 'muted' | 'preload' | 'sizes' | 'src' | 'srcset' | 'width')[];
23
+ "#HTMLEmbededAndMediaContentAttrs"?: ("autoplay" | "controls" | "height" | "loop" | "muted" | "preload" | "sizes" | "src" | "srcset" | "width")[];
24
24
  /**
25
25
  * @minItems 0
26
26
  */
27
- '#HTMLFormControlElementAttrs'?: ('autocomplete' | 'dirname' | 'disabled' | 'form' | 'formaction' | 'formenctype' | 'formmethod' | 'formnovalidate' | 'formtarget' | 'maxlength' | 'minlength' | 'name' | 'readonly' | 'required')[];
27
+ "#HTMLFormControlElementAttrs"?: ("autocomplete" | "dirname" | "disabled" | "form" | "formaction" | "formenctype" | "formmethod" | "formnovalidate" | "formtarget" | "maxlength" | "minlength" | "name" | "readonly" | "required")[];
28
28
  /**
29
29
  * @minItems 0
30
30
  */
31
- '#HTMLTableCellElementAttrs'?: ('colspan' | 'headers' | 'rowspan')[];
32
- '#ARIAAttrs'?: boolean;
31
+ "#HTMLTableCellElementAttrs"?: ("colspan" | "headers" | "rowspan")[];
32
+ "#ARIAAttrs"?: boolean;
33
33
  /**
34
34
  * @minItems 0
35
35
  */
36
- '#SVGAnimationAdditionAttrs'?: ('additive' | 'accumulate')[];
36
+ "#SVGAnimationAdditionAttrs"?: ("additive" | "accumulate")[];
37
37
  /**
38
38
  * @minItems 0
39
39
  */
40
- '#SVGAnimationAttributeTargetAttrs'?: ('attributeName' | 'attributeType')[];
40
+ "#SVGAnimationAttributeTargetAttrs"?: ("attributeName" | "attributeType")[];
41
41
  /**
42
42
  * @minItems 0
43
43
  */
44
- '#SVGAnimationEventAttrs'?: ('onbegin' | 'onend' | 'onrepeat')[];
44
+ "#SVGAnimationEventAttrs"?: ("onbegin" | "onend" | "onrepeat")[];
45
45
  /**
46
46
  * @minItems 0
47
47
  */
48
- '#SVGAnimationTargetElementAttrs'?: ('href' | 'xlink:href')[];
48
+ "#SVGAnimationTargetElementAttrs"?: ("href" | "xlink:href")[];
49
49
  /**
50
50
  * @minItems 0
51
51
  */
52
- '#SVGAnimationTimingAttrs'?: ('begin' | 'dur' | 'end' | 'min' | 'max' | 'restart' | 'repeatCount' | 'repeatDur' | 'fill')[];
52
+ "#SVGAnimationTimingAttrs"?: ("begin" | "dur" | "end" | "min" | "max" | "restart" | "repeatCount" | "repeatDur" | "fill")[];
53
53
  /**
54
54
  * @minItems 0
55
55
  */
56
- '#SVGAnimationValueAttrs'?: ('calcMode' | 'values' | 'keyTimes' | 'keySplines' | 'from' | 'to' | 'by' | 'accelerate' | 'decelerate' | 'autoReverse' | 'speed')[];
56
+ "#SVGAnimationValueAttrs"?: ("calcMode" | "values" | "keyTimes" | "keySplines" | "from" | "to" | "by" | "accelerate" | "decelerate" | "autoReverse" | "speed")[];
57
57
  /**
58
58
  * @minItems 0
59
59
  */
60
- '#SVGConditionalProcessingAttrs'?: ('requiredExtensions' | 'systemLanguage' | 'requiredFeatures')[];
60
+ "#SVGConditionalProcessingAttrs"?: ("requiredExtensions" | "systemLanguage" | "requiredFeatures")[];
61
61
  /**
62
62
  * @minItems 0
63
63
  */
64
- '#SVGCoreAttrs'?: ('id' | 'tabindex' | 'autofocus' | 'lang' | 'xml:space' | 'class' | 'style' | 'xmlns' | 'xml:lang' | 'xml:base')[];
64
+ "#SVGCoreAttrs"?: ("id" | "tabindex" | "autofocus" | "lang" | "xml:space" | "class" | "style" | "xmlns" | "xml:lang" | "xml:base")[];
65
65
  /**
66
66
  * @minItems 0
67
67
  */
68
- '#SVGFilterPrimitiveAttrs'?: ('x' | 'y' | 'width' | 'height' | 'result' | 'in')[];
68
+ "#SVGFilterPrimitiveAttrs"?: ("x" | "y" | "width" | "height" | "result" | "in")[];
69
69
  /**
70
70
  * @minItems 0
71
71
  */
72
- '#SVGPresentationAttrs'?: ('cx' | 'cy' | 'height' | 'width' | 'x' | 'y' | 'r' | 'rx' | 'ry' | 'd' | 'fill' | 'transform' | 'patternTransform' | 'gradientTransform' | 'alignment-baseline' | 'baseline-shift' | 'clip-path' | 'clip-rule' | 'color' | 'color-interpolation' | 'color-interpolation-filters' | 'cursor' | 'direction' | 'display' | 'dominant-baseline' | 'fill-opacity' | 'fill-rule' | 'filter' | 'flood-color' | 'flood-opacity' | 'font' | 'font-family' | 'font-size' | 'font-size-adjust' | 'font-stretch' | 'font-style' | 'font-variant' | 'font-weight' | 'glyph-orientation-horizontal' | 'glyph-orientation-vertical' | 'image-rendering' | 'isolation' | 'letter-spacing' | 'lighting-color' | 'marker' | 'marker-end' | 'marker-mid' | 'marker-start' | 'mask' | 'mask-type' | 'opacity' | 'overflow' | 'paint-order' | 'pointer-events' | 'shape-rendering' | 'stop-color' | 'stop-opacity' | 'stroke' | 'stroke-dasharray' | 'stroke-dashoffset' | 'stroke-linecap' | 'stroke-linejoin' | 'stroke-miterlimit' | 'stroke-opacity' | 'stroke-width' | 'text-anchor' | 'text-decoration' | 'text-overflow' | 'text-rendering' | 'transform-origin' | 'unicode-bidi' | 'vector-effect' | 'visibility' | 'white-space' | 'word-spacing' | 'writing-mode' | 'clip' | 'color-profile' | 'color-rendering' | 'enable-background' | 'kerning')[];
72
+ "#SVGPresentationAttrs"?: ("cx" | "cy" | "height" | "width" | "x" | "y" | "r" | "rx" | "ry" | "d" | "fill" | "transform" | "patternTransform" | "gradientTransform" | "alignment-baseline" | "baseline-shift" | "clip-path" | "clip-rule" | "color" | "color-interpolation" | "color-interpolation-filters" | "cursor" | "direction" | "display" | "dominant-baseline" | "fill-opacity" | "fill-rule" | "filter" | "flood-color" | "flood-opacity" | "font" | "font-family" | "font-size" | "font-size-adjust" | "font-stretch" | "font-style" | "font-variant" | "font-weight" | "glyph-orientation-horizontal" | "glyph-orientation-vertical" | "image-rendering" | "isolation" | "letter-spacing" | "lighting-color" | "marker" | "marker-end" | "marker-mid" | "marker-start" | "mask" | "mask-type" | "opacity" | "overflow" | "paint-order" | "pointer-events" | "shape-rendering" | "stop-color" | "stop-opacity" | "stroke" | "stroke-dasharray" | "stroke-dashoffset" | "stroke-linecap" | "stroke-linejoin" | "stroke-miterlimit" | "stroke-opacity" | "stroke-width" | "text-anchor" | "text-decoration" | "text-overflow" | "text-rendering" | "transform-origin" | "unicode-bidi" | "vector-effect" | "visibility" | "white-space" | "word-spacing" | "writing-mode" | "clip" | "color-profile" | "color-rendering" | "enable-background" | "kerning")[];
73
73
  /**
74
74
  * @minItems 0
75
75
  */
76
- '#SVGTransferFunctionAttrs'?: ('type' | 'tableValues' | 'slope' | 'intercept' | 'amplitude' | 'exponent' | 'offset')[];
76
+ "#SVGTransferFunctionAttrs"?: ("type" | "tableValues" | "slope" | "intercept" | "amplitude" | "exponent" | "offset")[];
77
77
  /**
78
78
  * @minItems 0
79
79
  */
80
- '#XLinkAttrs'?: ('xlink:href' | 'xlink:title' | 'xlink:actuate' | 'xlink:arcrole' | 'xlink:role' | 'xlink:show' | 'xlink:type')[];
80
+ "#XLinkAttrs"?: ("xlink:href" | "xlink:title" | "xlink:actuate" | "xlink:arcrole" | "xlink:role" | "xlink:show" | "xlink:type")[];
81
81
  }
82
82
  export interface Attributes {
83
83
  [k: string]: AttributeJSON;
@@ -87,7 +87,7 @@ export interface Attributes {
87
87
  * via the `patternProperty` ".*".
88
88
  */
89
89
  export interface AttributeJSON {
90
- type?: AttributeType | [AttributeType, ...AttributeType[]];
90
+ type?: AttributeType | [AttributeType, ...AttributeType[]] | [ConditionalAttributeType, ...ConditionalAttributeType[]];
91
91
  defaultValue?: string;
92
92
  deprecated?: boolean;
93
93
  required?: boolean | AttributeCondition;
@@ -103,17 +103,17 @@ export interface AttributeJSON {
103
103
  * - [Comma-separated tokens](https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#comma-separated-tokens)
104
104
  */
105
105
  export interface List {
106
- token: ("<'color-profile'>" | "<'color-rendering'>" | "<'enable-background'>" | '<animatable-value>' | '<begin-value-list>' | '<class-list>' | '<clock-value>' | '<color-matrix>' | '<css-declaration-list>' | '<dasharray>' | '<end-value-list>' | '<key-points>' | '<key-splines>' | '<key-times>' | '<list-of-lengths>' | '<list-of-numbers>' | '<list-of-percentages>' | '<list-of-svg-feature-string>' | '<list-of-value>' | '<number-optional-number>' | '<origin>' | '<points>' | '<preserve-aspect-ratio>' | '<rotate>' | '<svg-font-size-adjust>' | '<svg-font-size>' | '<svg-path>' | '<system-language>' | '<text-coordinate>' | '<view-box>' | 'AbsoluteURL' | 'Accept' | 'Any' | 'AutoComplete' | 'BCP47' | 'BaseURL' | 'BrowsingContextName' | 'BrowsingContextNameOrKeyword' | 'CustomElementName' | 'DOMID' | 'DateTime' | 'FunctionBody' | 'HTTPSchemaURL' | 'HashName' | 'IconSize' | 'Int' | 'ItemProp' | 'JSON' | 'LinkTypeForAnchorAndAreaElement' | 'LinkTypeForFormElement' | 'LinkTypeForLinkElement' | 'LinkTypeForLinkElementInBody' | 'MIMEType' | 'NavigableTargetName' | 'NavigableTargetNameOrKeyword' | 'NoEmptyAny' | 'Number' | 'OneCodePointChar' | 'OneLineAny' | 'Pattern' | 'SerializedPermissionsPolicy' | 'SourceSizeList' | 'Srcset' | 'TabIndex' | 'URL' | 'Uint' | 'ValidCustomCommand' | 'XMLName' | 'Zero') | Enum;
106
+ token: ("<'color-profile'>" | "<'color-rendering'>" | "<'enable-background'>" | "<animatable-value>" | "<begin-value-list>" | "<class-list>" | "<clock-value>" | "<color-matrix>" | "<css-declaration-list>" | "<dasharray>" | "<end-value-list>" | "<key-points>" | "<key-splines>" | "<key-times>" | "<list-of-lengths>" | "<list-of-numbers>" | "<list-of-percentages>" | "<list-of-svg-feature-string>" | "<list-of-value>" | "<number-optional-number>" | "<origin>" | "<points>" | "<preserve-aspect-ratio>" | "<rotate>" | "<svg-font-size-adjust>" | "<svg-font-size>" | "<svg-path>" | "<system-language>" | "<text-coordinate>" | "<view-box>" | "AbsoluteURL" | "Accept" | "Any" | "AutoComplete" | "BCP47" | "BaseURL" | "BrowsingContextName" | "BrowsingContextNameOrKeyword" | "CustomElementName" | "DOMID" | "DateString" | "DateTime" | "Email" | "FunctionBody" | "HTTPSchemaURL" | "HashName" | "IconSize" | "Int" | "ItemProp" | "JSON" | "LinkTypeForAnchorAndAreaElement" | "LinkTypeForFormElement" | "LinkTypeForLinkElement" | "LinkTypeForLinkElementInBody" | "LocalDateTimeString" | "MIMEType" | "MonthString" | "NavigableTargetName" | "NavigableTargetNameOrKeyword" | "NoEmptyAny" | "Number" | "OneCodePointChar" | "OneLineAny" | "Pattern" | "SRIHash" | "SerializedPermissionsPolicy" | "SimpleColor" | "SourceSizeList" | "Srcset" | "TabIndex" | "TimeString" | "URL" | "Uint" | "ValidCustomCommand" | "WeekString" | "XMLName" | "Zero") | Enum;
107
107
  disallowToSurroundBySpaces?: boolean;
108
108
  allowEmpty?: boolean;
109
109
  ordered?: boolean;
110
110
  unique?: boolean;
111
111
  caseInsensitive?: boolean;
112
- number?: ('zeroOrMore' | 'oneOrMore') | {
112
+ number?: ("zeroOrMore" | "oneOrMore") | {
113
113
  min: number;
114
114
  max: number;
115
115
  };
116
- separator: 'space' | 'comma';
116
+ separator: "space" | "comma";
117
117
  }
118
118
  /**
119
119
  * [Enumerated attributes](https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#enumerated-attribute)
@@ -135,7 +135,7 @@ export interface Enum {
135
135
  * [Numbers](https://html.spec.whatwg.org/dev/common-microsyntaxes.html#numbers)
136
136
  */
137
137
  export interface Number {
138
- type: 'float' | 'integer';
138
+ type: "float" | "integer";
139
139
  gt?: number;
140
140
  gte?: number;
141
141
  lt?: number;
@@ -153,3 +153,16 @@ export interface Directive {
153
153
  token: AttributeType;
154
154
  ref?: string;
155
155
  }
156
+ /**
157
+ * Validates a value against a regular expression pattern or an exact string match. Use a `/regex/flags` literal form to match a regex, or a plain string for exact equality.
158
+ */
159
+ export interface Pattern {
160
+ pattern: string;
161
+ }
162
+ /**
163
+ * Declares that an attribute value type depends on a condition (a CSS selector) matched against the owning element. Used when an attribute's valid values differ based on the value of another attribute — for example, `<input value>` is `<'color'>` when `type=color`, or a `URL` when `type=url`. Shipped type-only in v5.0 (#3685); validation logic is deferred to #3598 and #3189.
164
+ */
165
+ export interface ConditionalAttributeType {
166
+ condition: AttributeCondition;
167
+ type: AttributeType | [AttributeType, ...AttributeType[]];
168
+ }
@@ -1,3 +1,4 @@
1
+ /* eslint-disable */
1
2
  /**
2
3
  * This file was automatically generated by json-schema-to-typescript.
3
4
  * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
@@ -1,5 +1,5 @@
1
1
  import type { ARIA } from './aria.js';
2
- import type { AttributeJSON, AttributeType, GlobalAttributes } from './attributes.js';
2
+ import type { AttributeJSON, AttributeType, ConditionalAttributeType, GlobalAttributes } from './attributes.js';
3
3
  import type { ContentModel, Category } from './permitted-structures.js';
4
4
  import type { ariaVersions } from '../utils/aria-version.js';
5
5
  import type { NamespaceURI } from '@markuplint/ml-ast';
@@ -195,7 +195,7 @@ type ElementCondition = {
195
195
  */
196
196
  export type Attribute = {
197
197
  readonly name: string;
198
- readonly type: ReadonlyDeep<AttributeType> | readonly ReadonlyDeep<AttributeType>[];
198
+ readonly type: ReadonlyDeep<AttributeType> | readonly ReadonlyDeep<AttributeType>[] | readonly ReadonlyDeep<ConditionalAttributeType>[];
199
199
  readonly description?: string;
200
200
  readonly caseSensitive?: true;
201
201
  readonly experimental?: boolean;
@@ -6,13 +6,21 @@
6
6
  export type PermittedContentPattern = PermittedContentRequire | PermittedContentOptional | PermittedContentOneOrMore | PermittedContentZeroOrMore | PermittedContentChoice | PermittedContentTransparent;
7
7
  export type Model = ContentType | ContentType[];
8
8
  export type ContentType = string | Category;
9
- export type Category = '#text' | '#phrasing' | '#flow' | '#interactive' | '#heading' | '#sectioning' | '#metadata' | '#embedded' | '#palpable' | '#script-supporting' | '#SVGAnimation' | '#SVGBasicShapes' | '#SVGContainer' | '#SVGDescriptive' | '#SVGFilterPrimitive' | '#SVGFont' | '#SVGGradient' | '#SVGGraphics' | '#SVGGraphicsReferencing' | '#SVGLightSource' | '#SVGNeverRendered' | '#SVGNone' | '#SVGPaintServer' | '#SVGRenderable' | '#SVGShape' | '#SVGStructural' | '#SVGStructurallyExternal' | '#SVGTextContent' | '#SVGTextContentChild' | '#MathMLPresentation' | '#MathMLScript' | '#MathMLTabular';
9
+ export type Category = "#text" | "#nonEmptyText" | "#phrasing" | "#flow" | "#interactive" | "#heading" | "#sectioning" | "#metadata" | "#embedded" | "#palpable" | "#script-supporting" | "#SVGAnimation" | "#SVGBasicShapes" | "#SVGContainer" | "#SVGDescriptive" | "#SVGFilterPrimitive" | "#SVGFont" | "#SVGGradient" | "#SVGGraphics" | "#SVGGraphicsReferencing" | "#SVGLightSource" | "#SVGNeverRendered" | "#SVGNone" | "#SVGPaintServer" | "#SVGRenderable" | "#SVGShape" | "#SVGStructural" | "#SVGStructurallyExternal" | "#SVGTextContent" | "#SVGTextContentChild" | "#MathMLPresentation" | "#MathMLScript" | "#MathMLTabular";
10
10
  export interface ContentModelsSchema {
11
11
  __contentModel?: ContentModel;
12
12
  }
13
13
  export interface ContentModel {
14
14
  contents: PermittedContentPattern[] | boolean;
15
15
  descendantOf?: string;
16
+ /**
17
+ * Elements that this element must NOT appear as a descendant of. Each entry is a CSS selector matching forbidden ancestor elements.
18
+ */
19
+ forbiddenAncestors?: string[];
20
+ /**
21
+ * Attributes that must be unique among sibling elements of the same type. If this element has one of these attributes, no other sibling element of the same type may also have it. Example: `["default"]` for `<track>` — only one `<track>` per parent may have `default`.
22
+ */
23
+ uniqueAttrs?: string[];
16
24
  conditional?: {
17
25
  condition: string;
18
26
  contents: PermittedContentPattern[] | boolean;
@@ -1,3 +1,4 @@
1
+ /* eslint-disable */
1
2
  /**
2
3
  * This file was automatically generated by json-schema-to-typescript.
3
4
  * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
@@ -0,0 +1,30 @@
1
+ import type { ConditionalAttributeType } from '../types/attributes.js';
2
+ import type { Attribute } from '../types/index.js';
3
+ import type { ReadonlyDeep } from 'type-fest';
4
+ /**
5
+ * Narrows an `Attribute['type']` value to `readonly ConditionalAttributeType[]` (#3685).
6
+ *
7
+ * `Attribute['type']` is the union `AttributeType | readonly AttributeType[] | readonly ConditionalAttributeType[]`.
8
+ * The three variants are mutually exclusive at the spec author level: an attribute
9
+ * either declares a single/tuple of `AttributeType` values, or it declares conditional
10
+ * types that depend on another attribute's value — never a mix.
11
+ *
12
+ * Discrimination: every non-conditional `AttributeType` object variant (`List`, `Enum`,
13
+ * `Number`, `Directive`) lacks a `condition` key, whereas `ConditionalAttributeType`
14
+ * requires it. Checking the first array element is sufficient because the schema
15
+ * forbids mixing the two shapes within a single `type` value.
16
+ *
17
+ * @example
18
+ * ```ts
19
+ * isConditionalAttributeTypeArray('URL') // false — single AttributeType
20
+ * isConditionalAttributeTypeArray(['URL', 'Any']) // false — AttributeType tuple
21
+ * isConditionalAttributeTypeArray([{ enum: ['on', 'off'] }]) // false — Enum
22
+ * isConditionalAttributeTypeArray([{ condition: "[type='color' i]", type: "<'color'>" }]) // true
23
+ * ```
24
+ *
25
+ * @param type - The `Attribute['type']` value to test; may be a scalar `AttributeType`,
26
+ * an array of `AttributeType`, or an array of `ConditionalAttributeType`
27
+ * @returns `true` if `type` is a non-empty array whose first entry is a
28
+ * `ConditionalAttributeType` (has a `condition` key); `false` otherwise
29
+ */
30
+ export declare function isConditionalAttributeTypeArray(type: Attribute['type']): type is readonly ReadonlyDeep<ConditionalAttributeType>[];
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Narrows an `Attribute['type']` value to `readonly ConditionalAttributeType[]` (#3685).
3
+ *
4
+ * `Attribute['type']` is the union `AttributeType | readonly AttributeType[] | readonly ConditionalAttributeType[]`.
5
+ * The three variants are mutually exclusive at the spec author level: an attribute
6
+ * either declares a single/tuple of `AttributeType` values, or it declares conditional
7
+ * types that depend on another attribute's value — never a mix.
8
+ *
9
+ * Discrimination: every non-conditional `AttributeType` object variant (`List`, `Enum`,
10
+ * `Number`, `Directive`) lacks a `condition` key, whereas `ConditionalAttributeType`
11
+ * requires it. Checking the first array element is sufficient because the schema
12
+ * forbids mixing the two shapes within a single `type` value.
13
+ *
14
+ * @example
15
+ * ```ts
16
+ * isConditionalAttributeTypeArray('URL') // false — single AttributeType
17
+ * isConditionalAttributeTypeArray(['URL', 'Any']) // false — AttributeType tuple
18
+ * isConditionalAttributeTypeArray([{ enum: ['on', 'off'] }]) // false — Enum
19
+ * isConditionalAttributeTypeArray([{ condition: "[type='color' i]", type: "<'color'>" }]) // true
20
+ * ```
21
+ *
22
+ * @param type - The `Attribute['type']` value to test; may be a scalar `AttributeType`,
23
+ * an array of `AttributeType`, or an array of `ConditionalAttributeType`
24
+ * @returns `true` if `type` is a non-empty array whose first entry is a
25
+ * `ConditionalAttributeType` (has a `condition` key); `false` otherwise
26
+ */
27
+ export function isConditionalAttributeTypeArray(type) {
28
+ return Array.isArray(type) && type.length > 0 && typeof type[0] === 'object' && 'condition' in type[0];
29
+ }