@viraui/react 1.0.13 → 1.0.14

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.
Files changed (140) hide show
  1. package/dist/catalog.json +10 -4
  2. package/dist/components/accordion/accordion.css +1 -1
  3. package/dist/components/accordion/accordion.guide.json +26 -0
  4. package/dist/components/annotate/annotate.css +1 -1
  5. package/dist/components/annotate/annotate.guide.json +46 -57
  6. package/dist/components/avatar/avatar.css +1 -1
  7. package/dist/components/avatar/avatar.guide.json +22 -10
  8. package/dist/components/avatar/avatar.js +0 -2
  9. package/dist/components/avatar-group/avatar-group.css +1 -7
  10. package/dist/components/avatar-group/avatar-group.guide.json +23 -16
  11. package/dist/components/badge/badge.css +1 -1
  12. package/dist/components/badge/badge.d.ts +1 -1
  13. package/dist/components/badge/badge.guide.json +17 -13
  14. package/dist/components/badge/badge.js +1 -1
  15. package/dist/components/basic-input/basic-input.css +1 -1
  16. package/dist/components/basic-input/field-label.css +1 -1
  17. package/dist/components/basic-input/field-label.js +2 -0
  18. package/dist/components/bleed/bleed.guide.json +9 -6
  19. package/dist/components/button/button-chrome.d.ts +3 -1
  20. package/dist/components/button/button-chrome.js +3 -2
  21. package/dist/components/button/button-link.guide.json +55 -1
  22. package/dist/components/button/button-link.js +1 -0
  23. package/dist/components/button/button.css +1 -1
  24. package/dist/components/button/button.guide.json +27 -7
  25. package/dist/components/button/button.js +1 -0
  26. package/dist/components/checkbox/checkbox.css +1 -1
  27. package/dist/components/checkbox/checkbox.guide.json +40 -1
  28. package/dist/components/checkbox/checkbox.js +2 -2
  29. package/dist/components/checkbox/checkbox.module.js +1 -3
  30. package/dist/components/chip/chip.css +1 -1
  31. package/dist/components/chip/chip.guide.json +23 -6
  32. package/dist/components/chip/chip.js +1 -0
  33. package/dist/components/clamp-text/clamp-text.css +1 -1
  34. package/dist/components/clamp-text/clamp-text.guide.json +9 -0
  35. package/dist/components/dialog/dialog-sheet.js +1 -1
  36. package/dist/components/dialog/dialog.css +1 -1
  37. package/dist/components/dialog/dialog.guide.json +24 -0
  38. package/dist/components/dialog/dialog.module.js +1 -3
  39. package/dist/components/elevator/elevator.guide.json +23 -1
  40. package/dist/components/fieldset/fieldset.guide.json +16 -3
  41. package/dist/components/fieldset/fieldset.js +6 -6
  42. package/dist/components/fit-text/fit-text.css +1 -1
  43. package/dist/components/fit-text/fit-text.guide.json +2 -4
  44. package/dist/components/icon-button/icon-button-link.guide.json +52 -1
  45. package/dist/components/icon-button/icon-button-link.js +2 -2
  46. package/dist/components/icon-button/icon-button.d.ts +1 -1
  47. package/dist/components/icon-button/icon-button.guide.json +48 -3
  48. package/dist/components/icon-button/icon-button.js +2 -2
  49. package/dist/components/index.d.ts +1 -0
  50. package/dist/components/linear-progress/linear-progress.guide.json +16 -5
  51. package/dist/components/linear-progress/linear-progress.js +0 -1
  52. package/dist/components/masonry/masonry.d.ts +1 -1
  53. package/dist/components/masonry/masonry.guide.json +11 -9
  54. package/dist/components/menu/index.d.ts +11 -0
  55. package/dist/components/menu/menu-checkbox-item.d.ts +42 -0
  56. package/dist/components/menu/menu-checkbox-item.js +28 -0
  57. package/dist/components/menu/menu-group.d.ts +12 -0
  58. package/dist/components/menu/menu-group.js +36 -0
  59. package/dist/components/menu/menu-indicator-slot.d.ts +15 -0
  60. package/dist/components/menu/menu-indicator-slot.js +52 -0
  61. package/dist/components/menu/menu-item-row.d.ts +18 -0
  62. package/dist/components/menu/menu-item-row.js +47 -0
  63. package/dist/components/menu/menu-item.d.ts +36 -0
  64. package/dist/components/menu/menu-item.js +23 -0
  65. package/dist/components/menu/menu-link-item.d.ts +36 -0
  66. package/dist/components/menu/menu-link-item.js +26 -0
  67. package/dist/components/menu/menu-popup.d.ts +17 -0
  68. package/dist/components/menu/menu-popup.js +28 -0
  69. package/dist/components/menu/menu-radio-group.d.ts +16 -0
  70. package/dist/components/menu/menu-radio-group.js +36 -0
  71. package/dist/components/menu/menu-radio-item.d.ts +42 -0
  72. package/dist/components/menu/menu-radio-item.js +28 -0
  73. package/dist/components/menu/menu-separator.d.ts +9 -0
  74. package/dist/components/menu/menu-separator.js +15 -0
  75. package/dist/components/menu/menu-submenu-trigger.d.ts +29 -0
  76. package/dist/components/menu/menu-submenu-trigger.js +26 -0
  77. package/dist/components/menu/menu.css +1 -0
  78. package/dist/components/menu/menu.d.ts +58 -0
  79. package/dist/components/menu/menu.guide.json +101 -0
  80. package/dist/components/menu/menu.js +36 -0
  81. package/dist/components/menu/menu.module.js +13 -0
  82. package/dist/components/meter/meter.guide.json +15 -4
  83. package/dist/components/meter/meter.js +0 -1
  84. package/dist/components/popover/popover-sheet.js +1 -1
  85. package/dist/components/popover/popover.guide.json +25 -1
  86. package/dist/components/progressive-blur/progressive-blur.css +1 -1
  87. package/dist/components/progressive-blur/progressive-blur.guide.json +14 -4
  88. package/dist/components/progressive-blur/progressive-blur.js +2 -2
  89. package/dist/components/radio/radio.css +1 -1
  90. package/dist/components/radio/radio.guide.json +34 -1
  91. package/dist/components/radio/radio.js +28 -31
  92. package/dist/components/select/select-group.js +1 -1
  93. package/dist/components/select/select-option.d.ts +1 -1
  94. package/dist/components/select/select-option.js +2 -5
  95. package/dist/components/select/select-separator.js +7 -4
  96. package/dist/components/select/select.css +1 -1
  97. package/dist/components/select/select.guide.json +49 -8
  98. package/dist/components/select/select.js +1 -1
  99. package/dist/components/select/select.module.js +1 -5
  100. package/dist/components/separator/separator.guide.json +28 -1
  101. package/dist/components/shimmer/shimmer.css +1 -1
  102. package/dist/components/shimmer/shimmer.guide.json +19 -16
  103. package/dist/components/skeleton/skeleton.guide.json +24 -31
  104. package/dist/components/slider/slider.guide.json +27 -7
  105. package/dist/components/spinner/spinner.guide.json +5 -4
  106. package/dist/components/stack/stack.guide.json +49 -47
  107. package/dist/components/static-noise/static-noise.guide.json +18 -2
  108. package/dist/components/surface/surface.css +1 -1
  109. package/dist/components/surface/surface.guide.json +41 -48
  110. package/dist/components/switch/switch.css +1 -1
  111. package/dist/components/switch/switch.guide.json +25 -10
  112. package/dist/components/tabs/tabs.guide.json +11 -0
  113. package/dist/components/text/text.css +1 -1
  114. package/dist/components/text/text.guide.json +67 -76
  115. package/dist/components/textarea/textarea.css +1 -1
  116. package/dist/components/textarea/textarea.d.ts +4 -3
  117. package/dist/components/textarea/textarea.guide.json +19 -7
  118. package/dist/components/textfield/textfield.css +1 -1
  119. package/dist/components/textfield/textfield.guide.json +22 -7
  120. package/dist/components/title/title.css +1 -1
  121. package/dist/components/title/title.guide.json +62 -72
  122. package/dist/components/title/title.js +0 -1
  123. package/dist/components/toast/toast.css +1 -1
  124. package/dist/components/toast/toast.guide.json +32 -1
  125. package/dist/components/toggle-button/toggle-button.css +1 -0
  126. package/dist/components/toggle-button/toggle-button.d.ts +7 -0
  127. package/dist/components/toggle-button/toggle-button.guide.json +29 -2
  128. package/dist/components/toggle-button/toggle-button.js +18 -3
  129. package/dist/components/toggle-button/toggle-button.module.js +9 -0
  130. package/dist/components/toggle-group/toggle-group.d.ts +2 -1
  131. package/dist/components/toggle-group/toggle-group.guide.json +2 -3
  132. package/dist/components/tooltip/tooltip.guide.json +8 -1
  133. package/dist/components/typewriter/typewriter.css +1 -1
  134. package/dist/components/typewriter/typewriter.guide.json +27 -5
  135. package/dist/index.js +12 -2
  136. package/dist/internal/chrome-icons/chrome-icons.d.ts +2 -0
  137. package/dist/internal/chrome-icons/chrome-icons.js +7 -1
  138. package/dist/preflight-surface.json +1 -1
  139. package/dist/preflight.css +1 -1
  140. package/package.json +3 -3
@@ -23,15 +23,16 @@
23
23
  "related": ["Button", "IconButton"],
24
24
  "properties": {
25
25
  "react": {
26
+ "color": {
27
+ "description": "Overrides the spinner fill color."
28
+ },
26
29
  "size": {
27
- "description": "Sets the rendered spinner size.",
28
- "refCss": "size"
30
+ "description": "Sets the rendered spinner size."
29
31
  }
30
32
  },
31
33
  "css": {
32
34
  "size": {
33
- "description": "Spinner glyph size on the root.",
34
- "refReact": "size"
35
+ "description": "Spinner glyph size on the root."
35
36
  }
36
37
  }
37
38
  }
@@ -24,77 +24,79 @@
24
24
  "related": ["Surface", "Text", "Button"],
25
25
  "properties": {
26
26
  "react": {
27
- "rowGap": {
28
- "description": "Sets row gap using a Vira space token.",
29
- "refCss": "row-gap"
30
- },
31
27
  "columnGap": {
32
- "description": "Sets column gap using a Vira space token.",
33
- "refCss": "column-gap"
28
+ "description": "Sets the gap between flex columns using the Vira space token scale."
34
29
  },
35
- "hAlign": {
36
- "description": "Sets main-axis alignment for column layouts and cross-axis for row layouts.",
37
- "refCss": "h-align"
30
+ "direction": {
31
+ "description": "Renders children across rows or columns using the chosen flex direction."
38
32
  },
39
- "vAlign": {
40
- "description": "Sets cross-axis alignment for column layouts and main-axis for row layouts.",
41
- "refCss": "v-align"
33
+ "fillChildren": {
34
+ "description": "Makes direct children grow to fill the available space within the stack."
35
+ },
36
+ "hAlign": {
37
+ "description": "Aligns content on the horizontal axis from the consumer point of view."
42
38
  },
43
39
  "hPadding": {
44
- "description": "Sets inline padding using one token or a [start, end] tuple."
40
+ "description": "Sets inline padding using one token for both sides or a `[start, end]` tuple."
45
41
  },
46
- "vPadding": {
47
- "description": "Sets block padding using one token or a [start, end] tuple."
42
+ "inline": {
43
+ "description": "Displays the stack as `inline-flex` instead of `flex`."
48
44
  },
49
45
  "maxWidth": {
50
- "description": "Constrains max inline size of the stack root.",
51
- "refCss": "max-width"
46
+ "description": "Applies a maximum width value to the stack root."
52
47
  },
53
48
  "minWidth": {
54
- "description": "Constrains min inline size of the stack root.",
55
- "refCss": "min-width"
49
+ "description": "Applies a minimum width value to the stack root."
50
+ },
51
+ "ref": {
52
+ "description": "Ref forwarded to the rendered stack root element."
53
+ },
54
+ "render": {
55
+ "description": "Replaces the default `div` root using Base UI render semantics."
56
+ },
57
+ "rowGap": {
58
+ "description": "Sets the gap between flex rows using the Vira space token scale."
59
+ },
60
+ "vAlign": {
61
+ "description": "Aligns content on the vertical axis from the consumer point of view."
62
+ },
63
+ "vPadding": {
64
+ "description": "Sets block padding using one token for both sides or a `[start, end]` tuple."
65
+ },
66
+ "wrap": {
67
+ "description": "Allows direct children to wrap onto additional lines when space is constrained."
56
68
  }
57
69
  },
58
70
  "css": {
59
- "row-gap": {
60
- "description": "Flex row gap on the root.",
61
- "refReact": "rowGap"
62
- },
63
71
  "column-gap": {
64
- "description": "Flex column gap on the root.",
65
- "refReact": "columnGap"
72
+ "description": "Flex column gap on the root."
66
73
  },
67
74
  "h-align": {
68
- "description": "Logical horizontal flex alignment hook.",
69
- "refReact": "hAlign"
75
+ "description": "Logical horizontal flex alignment hook."
70
76
  },
71
- "v-align": {
72
- "description": "Logical vertical flex alignment hook.",
73
- "refReact": "vAlign"
77
+ "max-width": {
78
+ "description": "Max inline size of the stack root."
74
79
  },
75
- "padding-inline-start": {
76
- "description": "Inline-start padding when padding is enabled.",
77
- "refReact": "hPadding"
80
+ "min-width": {
81
+ "description": "Min inline size of the stack root."
78
82
  },
79
- "padding-inline-end": {
80
- "description": "Inline-end padding when padding is enabled.",
81
- "refReact": "hPadding"
83
+ "padding-block-end": {
84
+ "description": "Block-end padding when padding is enabled."
82
85
  },
83
86
  "padding-block-start": {
84
- "description": "Block-start padding when padding is enabled.",
85
- "refReact": "vPadding"
87
+ "description": "Block-start padding when padding is enabled."
86
88
  },
87
- "padding-block-end": {
88
- "description": "Block-end padding when padding is enabled.",
89
- "refReact": "vPadding"
89
+ "padding-inline-end": {
90
+ "description": "Inline-end padding when padding is enabled."
90
91
  },
91
- "max-width": {
92
- "description": "Max inline size of the stack root.",
93
- "refReact": "maxWidth"
92
+ "padding-inline-start": {
93
+ "description": "Inline-start padding when padding is enabled."
94
94
  },
95
- "min-width": {
96
- "description": "Min inline size of the stack root.",
97
- "refReact": "minWidth"
95
+ "row-gap": {
96
+ "description": "Flex row gap on the root."
97
+ },
98
+ "v-align": {
99
+ "description": "Logical vertical flex alignment hook."
98
100
  }
99
101
  }
100
102
  }
@@ -13,7 +13,7 @@
13
13
  "Large numbers of simultaneous full-viewport overlays on the same page"
14
14
  ],
15
15
  "accessibility": [
16
- "StaticNoise is decorative — the root renders with aria-hidden by default",
16
+ "StaticNoise is decorative — the root hardcodes `aria-hidden=\"true\"` (not overridable via props)",
17
17
  "Parent surface or region must expose any meaningful label or busy state",
18
18
  "Consumer owns position, inset, z-index, and sizing for the overlay placement"
19
19
  ],
@@ -22,5 +22,21 @@
22
22
  "Using StaticNoise as the only loading announcement for a page",
23
23
  "Embedding layout positioning rules inside the component stylesheet"
24
24
  ],
25
- "related": ["Surface", "Skeleton"]
25
+ "related": ["Surface", "Skeleton"],
26
+ "properties": {
27
+ "react": {
28
+ "animate": {
29
+ "description": "Animates the internal turbulence filter by cycling `feTurbulence` seed values."
30
+ },
31
+ "baseFrequency": {
32
+ "description": "Sets the SVG turbulence `baseFrequency` for the internal noise filter."
33
+ },
34
+ "mixBlendMode": {
35
+ "description": "Sets the rendered overlay mix blend mode."
36
+ },
37
+ "opacity": {
38
+ "description": "Sets the rendered overlay opacity."
39
+ }
40
+ }
41
+ }
26
42
  }
@@ -1 +1 @@
1
- @layer viraui.preflight, viraui.components, viraui.overrides;@layer viraui.components{@property --vui-surface-background{syntax:"*";inherits:false;initial-value:none}@property --vui-surface-background-hover{syntax:"*";inherits:false;initial-value:none}@property --vui-surface-border-style{syntax:"<custom-ident>";inherits:false;initial-value:solid}@property --vui-surface-overflow{syntax:"<custom-ident>";inherits:false;initial-value:visible}@property --vui-surface-border-radius{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --vui-surface-border-radius-top-left{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --vui-surface-border-radius-top-right{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --vui-surface-border-radius-bottom-right{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --vui-surface-border-radius-bottom-left{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --vui-surface-padding-inline-start{syntax:"<length>";inherits:false;initial-value:0}@property --vui-surface-padding-inline-end{syntax:"<length>";inherits:false;initial-value:0}@property --vui-surface-padding-block-start{syntax:"<length>";inherits:false;initial-value:0}@property --vui-surface-padding-block-end{syntax:"<length>";inherits:false;initial-value:0}.viraui__surface-module__Surface_slEYq{--vui-surface-border-radius-top-left:var(--vui-surface-border-radius);--vui-surface-border-radius-top-right:var(--vui-surface-border-radius);--vui-surface-border-radius-bottom-right:var(--vui-surface-border-radius);--vui-surface-border-radius-bottom-left:var(--vui-surface-border-radius);--vui-surface-background-hover:var(--vui-surface-background);position:relative;overflow:var(--vui-surface-overflow);box-sizing:border-box;background:var(--vui-surface-background);border-radius:var(--vui-surface-border-radius-top-left) var(--vui-surface-border-radius-top-right) var(--vui-surface-border-radius-bottom-right) var(--vui-surface-border-radius-bottom-left);border:0;@container root not style(--vibrancy-enable: initial){&[data-vibrant]{background:oklab(from var(--vui-surface-background) l a b/80%)}}&[data-surface-radius=auto]{--vui-surface-border-radius-top-left:0;--vui-surface-border-radius-top-right:0;--vui-surface-border-radius-bottom-right:0;--vui-surface-border-radius-bottom-left:0}&[data-surface-has-padding=true]{padding:var(--vui-surface-padding-block-start) var(--vui-surface-padding-inline-end) var(--vui-surface-padding-block-end) var(--vui-surface-padding-inline-start)}&[data-surface-border]{border-style:var(--vui-surface-border-style);border-color:var(--global-contrast)}&[data-surface-border=all]{border-width:1px}&[data-surface-border=top]{border-width:1px 0 0}&[data-surface-border=right]{border-width:0 1px 0 0}&[data-surface-border=bottom]{border-width:0 0 1px}&[data-surface-border=left]{border-width:0 0 0 1px}&[data-surface-border=x]{border-width:0 1px}&[data-surface-border=y]{border-width:1px 0}@media (hover:hover) and (pointer:fine){&[data-surface-has-hover-color=true]:hover{background:var(--vui-surface-background-hover)}}}}
1
+ @layer viraui.preflight, viraui.components, viraui.overrides;@layer viraui.components{@property --vui-surface-background{syntax:"*";inherits:false;initial-value:none}@property --vui-surface-background-hover{syntax:"*";inherits:false;initial-value:none}@property --vui-surface-border-style{syntax:"<custom-ident>";inherits:false;initial-value:solid}@property --vui-surface-overflow{syntax:"<custom-ident>";inherits:false;initial-value:visible}@property --vui-surface-border-radius{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --vui-surface-border-radius-top-left{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --vui-surface-border-radius-top-right{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --vui-surface-border-radius-bottom-right{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --vui-surface-border-radius-bottom-left{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --vui-surface-padding-inline-start{syntax:"<length>";inherits:false;initial-value:0}@property --vui-surface-padding-inline-end{syntax:"<length>";inherits:false;initial-value:0}@property --vui-surface-padding-block-start{syntax:"<length>";inherits:false;initial-value:0}@property --vui-surface-padding-block-end{syntax:"<length>";inherits:false;initial-value:0}.viraui__surface-module__Surface_slEYq{--vui-surface-border-radius-top-left:var(--vui-surface-border-radius);--vui-surface-border-radius-top-right:var(--vui-surface-border-radius);--vui-surface-border-radius-bottom-right:var(--vui-surface-border-radius);--vui-surface-border-radius-bottom-left:var(--vui-surface-border-radius);--vui-surface-background-hover:var(--vui-surface-background);position:relative;overflow:var(--vui-surface-overflow);box-sizing:border-box;background:var(--vui-surface-background);border-radius:var(--vui-surface-border-radius-top-left) var(--vui-surface-border-radius-top-right) var(--vui-surface-border-radius-bottom-right) var(--vui-surface-border-radius-bottom-left);border:0;@container root not style(--vibrancy-enable: initial){&[data-vibrant]{background:oklab(from var(--vui-surface-background) l a b/80%)}}&[data-surface-has-padding=true]{padding:var(--vui-surface-padding-block-start) var(--vui-surface-padding-inline-end) var(--vui-surface-padding-block-end) var(--vui-surface-padding-inline-start)}&[data-surface-border]{border-style:var(--vui-surface-border-style);border-color:var(--global-contrast)}&[data-surface-border=all]{border-width:1px}&[data-surface-border=top]{border-width:1px 0 0}&[data-surface-border=right]{border-width:0 1px 0 0}&[data-surface-border=bottom]{border-width:0 0 1px}&[data-surface-border=left]{border-width:0 0 0 1px}&[data-surface-border=x]{border-width:0 1px}&[data-surface-border=y]{border-width:1px 0}@media (hover:hover) and (pointer:fine){&[data-surface-has-hover-color=true]:hover{background:var(--vui-surface-background-hover)}}}}
@@ -33,85 +33,78 @@
33
33
  "related": ["Elevator", "Stack"],
34
34
  "properties": {
35
35
  "react": {
36
+ "border": {
37
+ "description": "Applies the shared contrast border on the chosen side or axis. Omit for no border."
38
+ },
39
+ "borderStyle": {
40
+ "description": "Sets the CSS border style when `border` is set."
41
+ },
36
42
  "color": {
37
- "description": "Sets the resting background using a base ramp layer or literal CSS color.",
38
- "refCss": "background"
43
+ "description": "Sets the resting background using a base ramp layer (`1`–`3`) or a literal CSS color value."
39
44
  },
40
45
  "hoverColor": {
41
- "description": "Sets the hover background on hover-capable pointers.",
42
- "refCss": "background-hover"
46
+ "description": "Sets the hover background on hover-capable pointers using a base ramp layer (`1`–`3`) or literal CSS value."
43
47
  },
44
- "borderStyle": {
45
- "description": "Sets the CSS border style when border is set.",
46
- "refCss": "border-style"
48
+ "hPadding": {
49
+ "description": "Sets inline padding using one token for both sides or a `[start, end]` tuple."
47
50
  },
48
51
  "overflow": {
49
- "description": "Sets root overflow through the surface overflow custom property.",
52
+ "description": "Sets root overflow through the `--vui-surface-overflow` custom property.",
50
53
  "refCss": "overflow"
51
54
  },
52
55
  "radius": {
53
- "description": "Sets corner radius from tokens, a per-corner tuple, or auto for concentric radii.",
54
- "refCss": "border-radius"
56
+ "description": "Sets corner radius from the Vira radius token scale, a per-corner `[top-left, top-right, bottom-right, bottom-left]` tuple (`0` for square corners), or `auto` for concentric radii from the nearest ancestor Surface."
55
57
  },
56
- "hPadding": {
57
- "description": "Sets inline padding using one token or a [start, end] tuple."
58
+ "ref": {
59
+ "description": "Ref forwarded to the rendered surface root element."
60
+ },
61
+ "render": {
62
+ "description": "Replaces the default `div` root using Base UI render semantics."
58
63
  },
59
64
  "vPadding": {
60
- "description": "Sets block padding using one token or a [start, end] tuple."
65
+ "description": "Sets block padding using one token for both sides or a `[start, end]` tuple."
61
66
  }
62
67
  },
63
68
  "css": {
64
69
  "background": {
65
- "description": "Resting surface background on the root.",
66
- "refReact": "color"
70
+ "description": "Resting surface background on the root."
67
71
  },
68
72
  "background-hover": {
69
- "description": "Hover surface background on the root.",
70
- "refReact": "hoverColor"
73
+ "description": "Hover surface background on the root."
71
74
  },
72
- "border-style": {
73
- "description": "Border style when border is enabled.",
74
- "refReact": "borderStyle"
75
+ "border-radius": {
76
+ "description": "Uniform corner radius when radius is a single token."
75
77
  },
76
- "overflow": {
77
- "description": "Root overflow behavior.",
78
- "refReact": "overflow"
78
+ "border-radius-bottom-left": {
79
+ "description": "Bottom-left corner radius; radius tuple or auto resolves per corner."
79
80
  },
80
- "border-radius": {
81
- "description": "Uniform corner radius when radius is a single token.",
82
- "refReact": "radius"
81
+ "border-radius-bottom-right": {
82
+ "description": "Bottom-right corner radius; radius tuple or auto resolves per corner."
83
83
  },
84
84
  "border-radius-top-left": {
85
- "description": "Top-left corner radius; radius tuple or auto resolves per corner.",
86
- "refReact": "radius"
85
+ "description": "Top-left corner radius; radius tuple or auto resolves per corner."
87
86
  },
88
87
  "border-radius-top-right": {
89
- "description": "Top-right corner radius; radius tuple or auto resolves per corner.",
90
- "refReact": "radius"
88
+ "description": "Top-right corner radius; radius tuple or auto resolves per corner."
91
89
  },
92
- "border-radius-bottom-right": {
93
- "description": "Bottom-right corner radius; radius tuple or auto resolves per corner.",
94
- "refReact": "radius"
95
- },
96
- "border-radius-bottom-left": {
97
- "description": "Bottom-left corner radius; radius tuple or auto resolves per corner.",
98
- "refReact": "radius"
90
+ "border-style": {
91
+ "description": "Border style when border is enabled."
99
92
  },
100
- "padding-inline-start": {
101
- "description": "Inline-start padding when padding is enabled.",
102
- "refReact": "hPadding"
93
+ "overflow": {
94
+ "description": "Root overflow behavior.",
95
+ "refReact": "overflow"
103
96
  },
104
- "padding-inline-end": {
105
- "description": "Inline-end padding when padding is enabled.",
106
- "refReact": "hPadding"
97
+ "padding-block-end": {
98
+ "description": "Block-end padding when padding is enabled."
107
99
  },
108
100
  "padding-block-start": {
109
- "description": "Block-start padding when padding is enabled.",
110
- "refReact": "vPadding"
101
+ "description": "Block-start padding when padding is enabled."
111
102
  },
112
- "padding-block-end": {
113
- "description": "Block-end padding when padding is enabled.",
114
- "refReact": "vPadding"
103
+ "padding-inline-end": {
104
+ "description": "Inline-end padding when padding is enabled."
105
+ },
106
+ "padding-inline-start": {
107
+ "description": "Inline-start padding when padding is enabled."
115
108
  }
116
109
  }
117
110
  }
@@ -1 +1 @@
1
- @layer viraui.preflight, viraui.components, viraui.overrides;@layer viraui.components{@property --vui-switch-track-block-size{syntax:"<length>";inherits:false;initial-value:0}@property --vui-switch-track-radius{syntax:"<length-percentage>";inherits:true;initial-value:0}@property --vui-switch-track-background{syntax:"<color>";inherits:false;initial-value:#0000}@property --vui-switch-thumb-background{syntax:"<color>";inherits:true;initial-value:#0000}@property --vui-switch-thumb-size{syntax:"<length>";inherits:true;initial-value:0}@property --vui-switch-thumb-inset{syntax:"<length>";inherits:true;initial-value:0}.viraui__switch-module__Switch_L86y7{&:has([required]) .viraui__switch-module__Label_9R-rv:after{content:" *";color:var(--highlight-red)}}.viraui__switch-module__SwitchRoot_Zv9An{--vui-switch-track-block-size:var(--space-large);--vui-switch-track-radius:var(--radius-small);--vui-switch-track-background:var(--global-contrast);--vui-switch-thumb-background:var(--base-1);--vui-switch-thumb-size:calc(var(--space-large) - var(--space-x-small));--vui-switch-thumb-inset:var(--space-2x-small);position:relative;appearance:none;border:0;box-shadow:none;inline-size:calc((var(--vui-switch-thumb-size) * 2) + var(--vui-switch-thumb-inset) * 2);block-size:var(--vui-switch-track-block-size);background:var(--vui-switch-track-background);border-radius:var(--vui-switch-track-radius);&[data-size=small]{--vui-switch-track-radius:var(--radius-x-small);--vui-switch-track-block-size:var(--space-medium);--vui-switch-thumb-size:calc(var(--space-medium) - var(--space-x-small))}&[data-checked]:not([data-disabled]){--vui-switch-track-background:var(--global-primary);--vui-switch-thumb-background:contrast-color(var(--global-primary))}&[data-invalid]:not([data-disabled]),.viraui__switch-module__Switch_L86y7[data-invalid]>&:not([data-disabled]){box-shadow:inset 0 0 0 1px var(--highlight-red);outline-color:oklab(from var(--highlight-red) l a b/.5)}&[data-disabled],.viraui__switch-module__Switch_L86y7[data-disabled]>&{--vui-switch-track-background:var(--global-disabled-background);--vui-switch-thumb-background:var(--global-disabled-foreground);box-shadow:none;cursor:not-allowed}}.viraui__switch-module__Thumb_ldwJw{--switch-thumb-radius:calc(var(--vui-switch-track-radius) - var(--vui-switch-thumb-inset));position:absolute;inset-block:var(--vui-switch-thumb-inset);inset-inline-start:var(--vui-switch-thumb-inset);background:var(--vui-switch-thumb-background);inline-size:var(--vui-switch-thumb-size);block-size:var(--vui-switch-thumb-size);border-radius:var(--switch-thumb-radius);transition:translate var(--easing-entrance) var(--duration-fast);box-shadow:0 0 1px 1px var(--global-contrast);.viraui__switch-module__SwitchRoot_Zv9An[data-checked]>&{translate:100% 0;box-shadow:none}.viraui__switch-module__SwitchRoot_Zv9An[data-checked]:dir(rtl)>&{translate:-100% 0}}}
1
+ @layer viraui.preflight, viraui.components, viraui.overrides;@layer viraui.components{@property --vui-switch-track-block-size{syntax:"<length>";inherits:false;initial-value:0}@property --vui-switch-track-radius{syntax:"<length-percentage>";inherits:true;initial-value:0}@property --vui-switch-track-background{syntax:"<color>";inherits:false;initial-value:#0000}@property --vui-switch-thumb-background{syntax:"<color>";inherits:true;initial-value:#0000}@property --vui-switch-thumb-size{syntax:"<length>";inherits:true;initial-value:0}@property --vui-switch-thumb-inset{syntax:"<length>";inherits:true;initial-value:0}@property --__switch-thumb-radius{syntax:"<length-percentage>";inherits:true;initial-value:0}.viraui__switch-module__Switch_L86y7{&:has([required]) .viraui__switch-module__Label_9R-rv:after{content:" *";color:var(--highlight-red)}}.viraui__switch-module__SwitchRoot_Zv9An{--vui-switch-track-block-size:var(--space-large);--vui-switch-track-radius:var(--radius-small);--vui-switch-track-background:var(--global-contrast);--vui-switch-thumb-background:var(--base-1);--vui-switch-thumb-size:calc(var(--space-large) - var(--space-x-small));--vui-switch-thumb-inset:var(--space-2x-small);position:relative;appearance:none;border:0;box-shadow:none;inline-size:calc((var(--vui-switch-thumb-size) * 2) + var(--vui-switch-thumb-inset) * 2);block-size:var(--vui-switch-track-block-size);background:var(--vui-switch-track-background);border-radius:var(--vui-switch-track-radius);&[data-size=small]{--vui-switch-track-radius:var(--radius-x-small);--vui-switch-track-block-size:var(--space-medium);--vui-switch-thumb-size:calc(var(--space-medium) - var(--space-x-small))}&[data-checked]:not([data-disabled]){--vui-switch-track-background:var(--global-primary);--vui-switch-thumb-background:contrast-color(var(--global-primary))}&[data-invalid]:not([data-disabled]){box-shadow:inset 0 0 0 1px var(--highlight-red);outline-color:oklab(from var(--highlight-red) l a b/.5)}&[data-disabled]{--vui-switch-track-background:var(--global-disabled-background);--vui-switch-thumb-background:var(--global-disabled-foreground);box-shadow:none;cursor:not-allowed}}.viraui__switch-module__Thumb_ldwJw{--__switch-thumb-radius:calc(var(--vui-switch-track-radius) - var(--vui-switch-thumb-inset));position:absolute;inset-block:var(--vui-switch-thumb-inset);inset-inline-start:var(--vui-switch-thumb-inset);background:var(--vui-switch-thumb-background);inline-size:var(--vui-switch-thumb-size);block-size:var(--vui-switch-thumb-size);border-radius:var(--__switch-thumb-radius);transition:translate var(--easing-entrance) var(--duration-fast);box-shadow:0 0 1px 1px var(--global-contrast);.viraui__switch-module__SwitchRoot_Zv9An[data-checked]>&{translate:100% 0;box-shadow:none}.viraui__switch-module__SwitchRoot_Zv9An[data-checked]:dir(rtl)>&{translate:-100% 0}}}
@@ -23,19 +23,32 @@
23
23
  "related": ["Textfield", "Stack", "Text"],
24
24
  "properties": {
25
25
  "react": {
26
+ "description": {
27
+ "description": "Helper copy rendered with `Field.Description` and `Text` while the field is valid."
28
+ },
29
+ "error": {
30
+ "description": "Error copy rendered with `Field.Error` and `Text` in the same slot as `description`. Replaces description while the field is invalid."
31
+ },
32
+ "hPadding": {
33
+ "description": "Sets inline padding using one token for both sides or a `[start, end]` tuple."
34
+ },
35
+ "label": {
36
+ "description": "Visible label rendered with shared internal `FieldLabel`."
37
+ },
26
38
  "size": {
27
39
  "description": "Controls the visual switch size.",
28
40
  "refCss": "track-block-size"
41
+ },
42
+ "vPadding": {
43
+ "description": "Sets block padding using one token for both sides or a `[start, end]` tuple."
29
44
  }
30
45
  },
31
46
  "css": {
32
- "track-block-size": {
33
- "description": "Switch track block size; size presets adjust track and thumb.",
34
- "refReact": "size"
47
+ "thumb-background": {
48
+ "description": "Switch thumb background color."
35
49
  },
36
- "track-radius": {
37
- "description": "Switch track corner radius.",
38
- "refReact": "size"
50
+ "thumb-inset": {
51
+ "description": "Inset between thumb and track edges."
39
52
  },
40
53
  "thumb-size": {
41
54
  "description": "Switch thumb size derived from track block size.",
@@ -44,11 +57,13 @@
44
57
  "track-background": {
45
58
  "description": "Switch track background color."
46
59
  },
47
- "thumb-background": {
48
- "description": "Switch thumb background color."
60
+ "track-block-size": {
61
+ "description": "Switch track block size; size presets adjust track and thumb.",
62
+ "refReact": "size"
49
63
  },
50
- "thumb-inset": {
51
- "description": "Inset between thumb and track edges."
64
+ "track-radius": {
65
+ "description": "Switch track corner radius.",
66
+ "refReact": "size"
52
67
  }
53
68
  }
54
69
  }
@@ -22,6 +22,17 @@
22
22
  ],
23
23
  "related": ["Surface", "Stack", "Text"],
24
24
  "properties": {
25
+ "react": {
26
+ "listAlignment": {
27
+ "description": "Horizontal alignment of tab list within root Stack."
28
+ },
29
+ "Tab.addon": {
30
+ "description": "Decorative addon rendered alongside the tab label."
31
+ },
32
+ "Tab.addonPosition": {
33
+ "description": "Controls whether the addon appears before or after the label."
34
+ }
35
+ },
25
36
  "css": {
26
37
  "translate-amount": {
27
38
  "description": "Panel entry translate distance for tab transitions."
@@ -1 +1 @@
1
- @layer viraui.preflight, viraui.components, viraui.overrides;@layer viraui.components{@property --vui-text-align{syntax:"*";inherits:false;initial-value:start}@property --vui-text-max-width{syntax:"*";inherits:false;initial-value:none}@property --vui-text-literal-color{syntax:"<color>";inherits:false;initial-value:#0000}@property --vui-text-white-space{syntax:"*";inherits:false;initial-value:normal}@property --vui-text-font-weight{syntax:"<number>";inherits:false;initial-value:400}@property --vui-text-font-width{syntax:"<number>";inherits:false;initial-value:100}@property --vui-text-font-opsz{syntax:"<number>";inherits:false;initial-value:16}@property --vui-text-trim{syntax:"*";inherits:false;initial-value:none}@property --vui-text-trim-type{syntax:"*";inherits:false;initial-value:none}@property --vui-text-padding-inline-start{syntax:"<length>";inherits:false;initial-value:0}@property --vui-text-padding-inline-end{syntax:"<length>";inherits:false;initial-value:0}@property --vui-text-padding-block-start{syntax:"<length>";inherits:false;initial-value:0}@property --vui-text-padding-block-end{syntax:"<length>";inherits:false;initial-value:0}@property --vui-text-font-size{syntax:"<length>";inherits:false;initial-value:1rem}@property --vui-text-font-family{syntax:"*";inherits:false;initial-value:sans-serif}@property --vui-text-line-height{syntax:"normal | <number> | <length-percentage>";inherits:false;initial-value:normal}.viraui__text-module__Text_bS8kv{--text-medium:clamp(var(--font-scale-body-medium),calc(var(--font-scale-body-medium) + var(--font-scale-body-x-small) / 12 + 0.24cqi),calc(var(--font-scale-body-medium) + var(--font-scale-body-x-small) / 3));--vui-text-font-family:var(--font-family-body);--vui-text-font-size:clamp(var(--font-scale-body-small),var(--text-medium),var(--font-scale-body-medium));--vui-text-line-height:var(--font-leading-standard);margin:0;min-inline-size:0;max-inline-size:var(--vui-text-max-width);font-family:var(--vui-text-font-family);font-size:var(--vui-text-font-size);line-height:var(--vui-text-line-height);text-align:var(--vui-text-align);white-space:var(--vui-text-white-space);word-break:break-word;font-weight:var(--vui-text-font-weight);font-stretch:calc(var(--vui-text-font-width) * 1%);font-optical-sizing:auto;font-variation-settings:"wght" var(--vui-text-font-weight),"wdth" var(--vui-text-font-width),"opsz" var(--vui-text-font-opsz);text-box:var(--vui-text-trim) var(--vui-text-trim-type);&[data-text-balanced=true]{text-wrap:balance}&[data-text-selection=false]{-webkit-user-select:none;user-select:none}&[data-text-has-padding=true]{padding:var(--vui-text-padding-block-start) var(--vui-text-padding-inline-end) var(--vui-text-padding-block-end) var(--vui-text-padding-inline-start)}&[data-text-family=mono]{--vui-text-font-family:var(--font-family-mono)}&[data-text-size=x-large]{--vui-text-font-size:clamp(var(--font-scale-body-large),calc(var(--text-medium) * pow(var(--font-heading-typescale), 2)),var(--font-scale-body-x-large))}&[data-text-size=large]{--vui-text-font-size:clamp(var(--font-scale-body-medium),calc(var(--text-medium) * pow(var(--font-heading-typescale), 1)),var(--font-scale-body-large))}&[data-text-size=medium]{--vui-text-font-size:clamp(var(--font-scale-body-small),var(--text-medium),var(--font-scale-body-medium))}&[data-text-size=small]{--vui-text-font-size:clamp(var(--font-scale-body-x-small),calc(var(--text-medium) * pow(var(--font-heading-typescale), -0.1)),var(--font-scale-body-small))}&[data-text-size=x-small]{--vui-text-font-size:var(--font-scale-body-x-small)}&[data-text-weight=light]{--vui-text-font-weight:200}&[data-text-weight=semibold]{--vui-text-font-weight:600}&[data-text-weight=bold]{--vui-text-font-weight:800}&[data-text-tone=muted]{color:var(--global-muted)}&[data-text-tone=interactive]{color:var(--global-interactive-text)}&[data-text-tone=positive]{color:var(--highlight-green)}&[data-text-tone=informative]{color:var(--highlight-blue)}&[data-text-tone=danger]{color:var(--highlight-red)}&[data-text-tone=warning]{color:var(--highlight-yellow)}&[data-text-has-literal-color=true]{color:var(--vui-text-literal-color)}&[data-text-line-height=none]{--vui-text-line-height:0}&[data-text-line-height=x-small]{--vui-text-line-height:var(--font-leading-x-small)}&[data-text-line-height=small]{--vui-text-line-height:var(--font-leading-small)}&[data-text-line-height=large]{--vui-text-line-height:var(--font-leading-large)}}}
1
+ @layer viraui.preflight, viraui.components, viraui.overrides;@layer viraui.components{@property --vui-text-align{syntax:"*";inherits:false;initial-value:start}@property --vui-text-max-width{syntax:"*";inherits:false;initial-value:none}@property --vui-text-literal-color{syntax:"<color>";inherits:false;initial-value:#0000}@property --vui-text-white-space{syntax:"*";inherits:false;initial-value:normal}@property --vui-text-font-weight{syntax:"<number>";inherits:false;initial-value:400}@property --vui-text-font-width{syntax:"<number>";inherits:false;initial-value:100}@property --vui-text-font-opsz{syntax:"<number>";inherits:false;initial-value:16}@property --vui-text-trim{syntax:"*";inherits:false;initial-value:trim-both}@property --vui-text-trim-type{syntax:"*";inherits:false;initial-value:cap alphabetic}@property --vui-text-padding-inline-start{syntax:"<length>";inherits:false;initial-value:0}@property --vui-text-padding-inline-end{syntax:"<length>";inherits:false;initial-value:0}@property --vui-text-padding-block-start{syntax:"<length>";inherits:false;initial-value:0}@property --vui-text-padding-block-end{syntax:"<length>";inherits:false;initial-value:0}@property --vui-text-font-size{syntax:"<length>";inherits:false;initial-value:1rem}@property --vui-text-font-family{syntax:"*";inherits:false;initial-value:sans-serif}@property --vui-text-line-height{syntax:"normal | <number> | <length-percentage>";inherits:false;initial-value:normal}@property --__text-medium{syntax:"*";inherits:false;initial-value:0}.viraui__text-module__Text_bS8kv{--__text-medium:clamp(var(--font-scale-body-medium),calc(var(--font-scale-body-medium) + var(--font-scale-body-x-small) / 12 + 0.24cqi),calc(var(--font-scale-body-medium) + var(--font-scale-body-x-small) / 3));--vui-text-font-family:var(--font-family-body);--vui-text-font-size:clamp(var(--font-scale-body-small),var(--__text-medium),var(--font-scale-body-medium));--vui-text-line-height:var(--font-leading-standard);margin:0;min-inline-size:0;max-inline-size:var(--vui-text-max-width);font-family:var(--vui-text-font-family);font-size:var(--vui-text-font-size);line-height:var(--vui-text-line-height);text-align:var(--vui-text-align);white-space:var(--vui-text-white-space);word-break:break-word;font-weight:var(--vui-text-font-weight);font-stretch:calc(var(--vui-text-font-width) * 1%);font-optical-sizing:auto;font-variation-settings:"wght" var(--vui-text-font-weight),"wdth" var(--vui-text-font-width),"opsz" var(--vui-text-font-opsz);text-box:var(--vui-text-trim) var(--vui-text-trim-type);&[data-text-balanced=true]{text-wrap:balance}&[data-text-selection=false]{-webkit-user-select:none;user-select:none}&[data-text-has-padding=true]{padding:var(--vui-text-padding-block-start) var(--vui-text-padding-inline-end) var(--vui-text-padding-block-end) var(--vui-text-padding-inline-start)}&[data-text-family=mono]{--vui-text-font-family:var(--font-family-mono)}&[data-text-size=x-large]{--vui-text-font-size:clamp(var(--font-scale-body-large),calc(var(--__text-medium) * pow(var(--font-heading-typescale), 2)),var(--font-scale-body-x-large))}&[data-text-size=large]{--vui-text-font-size:clamp(var(--font-scale-body-medium),calc(var(--__text-medium) * pow(var(--font-heading-typescale), 1)),var(--font-scale-body-large))}&[data-text-size=small]{--vui-text-font-size:clamp(var(--font-scale-body-x-small),calc(var(--__text-medium) * pow(var(--font-heading-typescale), -0.1)),var(--font-scale-body-small))}&[data-text-size=x-small]{--vui-text-font-size:var(--font-scale-body-x-small)}&[data-text-weight=light]{--vui-text-font-weight:200}&[data-text-weight=semibold]{--vui-text-font-weight:600}&[data-text-weight=bold]{--vui-text-font-weight:800}&[data-text-tone=muted]{color:var(--global-muted)}&[data-text-tone=interactive]{color:var(--global-interactive-text)}&[data-text-tone=positive]{color:var(--highlight-green)}&[data-text-tone=informative]{color:var(--highlight-blue)}&[data-text-tone=danger]{color:var(--highlight-red)}&[data-text-tone=warning]{color:var(--highlight-yellow)}&[data-text-has-literal-color=true]{color:var(--vui-text-literal-color)}&[data-text-line-height=none]{--vui-text-line-height:0}&[data-text-line-height=x-small]{--vui-text-line-height:var(--font-leading-x-small)}&[data-text-line-height=small]{--vui-text-line-height:var(--font-leading-small)}&[data-text-line-height=large]{--vui-text-line-height:var(--font-leading-large)}}}
@@ -24,55 +24,60 @@
24
24
  "description": "Aligns text using logical alignment values.",
25
25
  "refCss": "align"
26
26
  },
27
- "maxWidth": {
28
- "description": "Constrains the maximum inline size of the rendered text block.",
29
- "refCss": "max-width"
27
+ "balanced": {
28
+ "description": "Enables balanced wrapping for block-like copy."
30
29
  },
31
30
  "color": {
32
- "description": "Applies a literal color escape hatch when semantic tone is not used.",
33
- "refCss": "literal-color"
34
- },
35
- "whiteSpace": {
36
- "description": "Controls white-space preservation and wrapping behavior.",
37
- "refCss": "white-space"
31
+ "description": "Applies a literal color escape hatch when semantic `tone` is not used."
38
32
  },
39
- "weight": {
40
- "description": "Numeric font weight; maps to font-weight and the wght variation axis.",
41
- "refCss": "font-weight"
33
+ "family": {
34
+ "description": "Selects the semantic font family for body copy and inline code-like text."
42
35
  },
43
36
  "fontWidth": {
44
- "description": "Font width as a percentage (100 = normal); maps to font-stretch and the wdth variation axis.",
45
- "refCss": "font-width"
37
+ "description": "Overrides font width as a percentage (100 = normal); maps to `font-stretch` and `wdth`."
38
+ },
39
+ "hPadding": {
40
+ "description": "Sets inline padding using one token for both sides or a `[start, end]` tuple."
41
+ },
42
+ "lineHeight": {
43
+ "description": "Controls line height through foundation leading tokens."
44
+ },
45
+ "maxWidth": {
46
+ "description": "Constrains the maximum inline size of the rendered text block."
46
47
  },
47
48
  "opticalSize": {
48
- "description": "Optical size axis override (variable fonts); static fonts keep font-optical-sizing: auto.",
49
- "refCss": "font-opsz"
49
+ "description": "Overrides the optical size (`opsz`) axis on variable fonts; static fonts keep `font-optical-sizing: auto`."
50
+ },
51
+ "ref": {
52
+ "description": "Ref forwarded to the rendered text root element."
53
+ },
54
+ "render": {
55
+ "description": "Replaces the default `span` root using Base UI render semantics."
56
+ },
57
+ "selection": {
58
+ "description": "Enables text selection on the rendered copy."
59
+ },
60
+ "size": {
61
+ "description": "Selects a semantic body typography size from the active theme scale."
62
+ },
63
+ "tone": {
64
+ "description": "Sets the semantic text color role when no literal `color` override is used."
50
65
  },
51
66
  "trim": {
52
- "description": "Trims text box whitespace at the chosen edge.",
67
+ "description": "Trims text box whitespace at the chosen edge when the browser supports `text-box`.",
53
68
  "refCss": "trim"
54
69
  },
55
70
  "trimType": {
56
- "description": "Selects the text-box trim basis when trim is active.",
57
- "refCss": "trim-type"
58
- },
59
- "hPadding": {
60
- "description": "Sets inline padding using one token or a [start, end] tuple."
71
+ "description": "Selects the `text-box` trim basis when `trim` is active."
61
72
  },
62
73
  "vPadding": {
63
- "description": "Sets block padding using one token or a [start, end] tuple."
64
- },
65
- "size": {
66
- "description": "Selects a semantic body typography size from the active theme scale.",
67
- "refCss": "font-size"
74
+ "description": "Sets block padding using one token for both sides or a `[start, end]` tuple."
68
75
  },
69
- "family": {
70
- "description": "Selects the semantic font family for body copy.",
71
- "refCss": "font-family"
76
+ "weight": {
77
+ "description": "Selects a semantic weight keyword or a numeric weight (`font-weight` + `wght` axis)."
72
78
  },
73
- "lineHeight": {
74
- "description": "Controls line height through foundation leading tokens.",
75
- "refCss": "line-height"
79
+ "whiteSpace": {
80
+ "description": "Controls white-space preservation and wrapping behavior."
76
81
  }
77
82
  },
78
83
  "css": {
@@ -80,65 +85,51 @@
80
85
  "description": "Text alignment on the root.",
81
86
  "refReact": "align"
82
87
  },
83
- "max-width": {
84
- "description": "Max inline size of the text root.",
85
- "refReact": "maxWidth"
88
+ "font-family": {
89
+ "description": "Font family; family prop presets via data attributes."
86
90
  },
87
- "literal-color": {
88
- "description": "Literal color override on the root.",
89
- "refReact": "color"
91
+ "font-opsz": {
92
+ "description": "Optical size axis on the root (variable fonts)."
90
93
  },
91
- "white-space": {
92
- "description": "White-space behavior on the root.",
93
- "refReact": "whiteSpace"
94
+ "font-size": {
95
+ "description": "Body font size; size prop presets via data attributes."
94
96
  },
95
97
  "font-weight": {
96
- "description": "Font weight on the root.",
97
- "refReact": "weight"
98
+ "description": "Font weight on the root; keyword presets or numeric via weight prop."
98
99
  },
99
100
  "font-width": {
100
- "description": "Font width percentage on the root (font-stretch + wdth).",
101
- "refReact": "fontWidth"
101
+ "description": "Font width percentage on the root (font-stretch + wdth)."
102
102
  },
103
- "font-opsz": {
104
- "description": "Optical size axis on the root (variable fonts).",
105
- "refReact": "opticalSize"
106
- },
107
- "trim": {
108
- "description": "Text-box trim mode on the root.",
109
- "refReact": "trim"
103
+ "line-height": {
104
+ "description": "Line height; lineHeight prop presets via data attributes."
110
105
  },
111
- "trim-type": {
112
- "description": "Text-box trim basis on the root.",
113
- "refReact": "trimType"
106
+ "literal-color": {
107
+ "description": "Literal color override on the root."
114
108
  },
115
- "padding-inline-start": {
116
- "description": "Inline-start padding when padding is enabled.",
117
- "refReact": "hPadding"
109
+ "max-width": {
110
+ "description": "Max inline size of the text root."
118
111
  },
119
- "padding-inline-end": {
120
- "description": "Inline-end padding when padding is enabled.",
121
- "refReact": "hPadding"
112
+ "padding-block-end": {
113
+ "description": "Block-end padding when padding is enabled."
122
114
  },
123
115
  "padding-block-start": {
124
- "description": "Block-start padding when padding is enabled.",
125
- "refReact": "vPadding"
116
+ "description": "Block-start padding when padding is enabled."
126
117
  },
127
- "padding-block-end": {
128
- "description": "Block-end padding when padding is enabled.",
129
- "refReact": "vPadding"
118
+ "padding-inline-end": {
119
+ "description": "Inline-end padding when padding is enabled."
130
120
  },
131
- "font-size": {
132
- "description": "Body font size; size prop presets via data attributes.",
133
- "refReact": "size"
121
+ "padding-inline-start": {
122
+ "description": "Inline-start padding when padding is enabled."
134
123
  },
135
- "font-family": {
136
- "description": "Font family; family prop presets via data attributes.",
137
- "refReact": "family"
124
+ "trim": {
125
+ "description": "Text-box trim mode on the root.",
126
+ "refReact": "trim"
138
127
  },
139
- "line-height": {
140
- "description": "Line height; lineHeight prop presets via data attributes.",
141
- "refReact": "lineHeight"
128
+ "trim-type": {
129
+ "description": "Text-box trim basis on the root."
130
+ },
131
+ "white-space": {
132
+ "description": "White-space behavior on the root."
142
133
  }
143
134
  }
144
135
  }