@usefragments/ui 1.5.3 → 1.6.0

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 (497) hide show
  1. package/README.md +1 -1
  2. package/dist/assets/ui.css +8808 -5810
  3. package/dist/chart.cjs +7 -20
  4. package/dist/chart.js +7 -20
  5. package/dist/colorpicker.cjs +2 -1
  6. package/dist/colorpicker.js +2 -1
  7. package/dist/components/Accordion/Accordion.module.scss.cjs +8 -8
  8. package/dist/components/Accordion/Accordion.module.scss.js +8 -8
  9. package/dist/components/Alert/Alert.module.scss.cjs +12 -12
  10. package/dist/components/Alert/Alert.module.scss.js +12 -12
  11. package/dist/components/AppShell/AppShell.module.scss.cjs +14 -14
  12. package/dist/components/AppShell/AppShell.module.scss.js +14 -14
  13. package/dist/components/AppShell/index.cjs +5 -3
  14. package/dist/components/AppShell/index.d.ts +4 -2
  15. package/dist/components/AppShell/index.d.ts.map +1 -1
  16. package/dist/components/AppShell/index.js +5 -3
  17. package/dist/components/Avatar/Avatar.module.scss.cjs +17 -14
  18. package/dist/components/Avatar/Avatar.module.scss.js +17 -14
  19. package/dist/components/Avatar/index.cjs +100 -118
  20. package/dist/components/Avatar/index.d.ts +7 -5
  21. package/dist/components/Avatar/index.d.ts.map +1 -1
  22. package/dist/components/Avatar/index.js +100 -118
  23. package/dist/components/Badge/Badge.module.scss.cjs +19 -19
  24. package/dist/components/Badge/Badge.module.scss.js +19 -19
  25. package/dist/components/BentoGrid/BentoGrid.module.scss.cjs +14 -14
  26. package/dist/components/BentoGrid/BentoGrid.module.scss.js +14 -14
  27. package/dist/components/Box/Box.module.scss.cjs +152 -152
  28. package/dist/components/Box/Box.module.scss.js +152 -152
  29. package/dist/components/Breadcrumbs/Breadcrumbs.module.scss.cjs +8 -8
  30. package/dist/components/Breadcrumbs/Breadcrumbs.module.scss.js +8 -8
  31. package/dist/components/Button/Button.module.scss.cjs +14 -14
  32. package/dist/components/Button/Button.module.scss.js +14 -14
  33. package/dist/components/ButtonGroup/ButtonGroup.module.scss.cjs +15 -15
  34. package/dist/components/ButtonGroup/ButtonGroup.module.scss.js +15 -15
  35. package/dist/components/Card/Card.module.scss.cjs +18 -18
  36. package/dist/components/Card/Card.module.scss.js +18 -18
  37. package/dist/components/Chart/Chart.module.scss.cjs +15 -15
  38. package/dist/components/Chart/Chart.module.scss.js +15 -15
  39. package/dist/components/Chart/index.d.ts +7 -7
  40. package/dist/components/Chart/index.d.ts.map +1 -1
  41. package/dist/components/Checkbox/Checkbox.module.scss.cjs +9 -15
  42. package/dist/components/Checkbox/Checkbox.module.scss.js +9 -15
  43. package/dist/components/Checkbox/index.cjs +4 -6
  44. package/dist/components/Checkbox/index.d.ts.map +1 -1
  45. package/dist/components/Checkbox/index.js +4 -6
  46. package/dist/components/Chip/Chip.module.scss.cjs +15 -15
  47. package/dist/components/Chip/Chip.module.scss.js +15 -15
  48. package/dist/components/Chip/index.cjs +4 -5
  49. package/dist/components/Chip/index.d.ts +1 -1
  50. package/dist/components/Chip/index.d.ts.map +1 -1
  51. package/dist/components/Chip/index.js +2 -3
  52. package/dist/components/CodeBlock/CodeBlock.module.scss.cjs +22 -22
  53. package/dist/components/CodeBlock/CodeBlock.module.scss.js +22 -22
  54. package/dist/components/Collapsible/Collapsible.module.scss.cjs +9 -12
  55. package/dist/components/Collapsible/Collapsible.module.scss.js +9 -12
  56. package/dist/components/Collapsible/index.cjs +3 -2
  57. package/dist/components/Collapsible/index.d.ts +3 -3
  58. package/dist/components/Collapsible/index.d.ts.map +1 -1
  59. package/dist/components/Collapsible/index.js +3 -2
  60. package/dist/components/ColorPicker/ColorPicker.module.scss.cjs +16 -16
  61. package/dist/components/ColorPicker/ColorPicker.module.scss.js +16 -16
  62. package/dist/components/ColorPicker/index.d.ts.map +1 -1
  63. package/dist/components/Combobox/Combobox.module.scss.cjs +21 -27
  64. package/dist/components/Combobox/Combobox.module.scss.js +21 -27
  65. package/dist/components/Combobox/index.cjs +4 -4
  66. package/dist/components/Combobox/index.d.ts.map +1 -1
  67. package/dist/components/Combobox/index.js +4 -4
  68. package/dist/components/Command/Command.module.scss.cjs +11 -11
  69. package/dist/components/Command/Command.module.scss.js +11 -11
  70. package/dist/components/ConversationList/ConversationList.module.scss.cjs +11 -14
  71. package/dist/components/ConversationList/ConversationList.module.scss.js +11 -14
  72. package/dist/components/ConversationList/index.cjs +40 -44
  73. package/dist/components/ConversationList/index.d.ts +3 -3
  74. package/dist/components/ConversationList/index.d.ts.map +1 -1
  75. package/dist/components/ConversationList/index.js +40 -44
  76. package/dist/components/DataTable/DataTable.module.scss.cjs +32 -56
  77. package/dist/components/DataTable/DataTable.module.scss.js +32 -56
  78. package/dist/components/DataTable/index.d.ts +5 -4
  79. package/dist/components/DataTable/index.d.ts.map +1 -1
  80. package/dist/components/DatePicker/DatePicker.module.scss.cjs +33 -33
  81. package/dist/components/DatePicker/DatePicker.module.scss.js +33 -33
  82. package/dist/components/DatePicker/index.d.ts.map +1 -1
  83. package/dist/components/Dialog/Dialog.module.scss.cjs +14 -14
  84. package/dist/components/Dialog/Dialog.module.scss.js +14 -14
  85. package/dist/components/Drawer/Drawer.module.scss.cjs +31 -28
  86. package/dist/components/Drawer/Drawer.module.scss.js +31 -28
  87. package/dist/components/Drawer/index.cjs +1 -1
  88. package/dist/components/Drawer/index.js +1 -1
  89. package/dist/components/Editor/Editor.module.scss.cjs +23 -23
  90. package/dist/components/Editor/Editor.module.scss.js +23 -23
  91. package/dist/components/EmptyState/EmptyState.module.scss.cjs +12 -12
  92. package/dist/components/EmptyState/EmptyState.module.scss.js +12 -12
  93. package/dist/components/Field/Field.module.scss.cjs +8 -5
  94. package/dist/components/Field/Field.module.scss.js +8 -5
  95. package/dist/components/Field/index.cjs +10 -1
  96. package/dist/components/Field/index.d.ts +9 -2
  97. package/dist/components/Field/index.d.ts.map +1 -1
  98. package/dist/components/Field/index.js +10 -1
  99. package/dist/components/Fieldset/Fieldset.module.scss.cjs +3 -3
  100. package/dist/components/Fieldset/Fieldset.module.scss.js +3 -3
  101. package/dist/components/Form/Form.module.scss.cjs +5 -2
  102. package/dist/components/Form/Form.module.scss.js +5 -2
  103. package/dist/components/Form/index.cjs +6 -1
  104. package/dist/components/Form/index.d.ts +8 -3
  105. package/dist/components/Form/index.d.ts.map +1 -1
  106. package/dist/components/Form/index.js +6 -1
  107. package/dist/components/Grid/Grid.module.scss.cjs +54 -72
  108. package/dist/components/Grid/Grid.module.scss.js +54 -72
  109. package/dist/components/Grid/index.cjs +57 -77
  110. package/dist/components/Grid/index.d.ts +11 -11
  111. package/dist/components/Grid/index.d.ts.map +1 -1
  112. package/dist/components/Grid/index.js +57 -77
  113. package/dist/components/Header/Header.module.scss.cjs +33 -33
  114. package/dist/components/Header/Header.module.scss.js +33 -33
  115. package/dist/components/Header/index.cjs +2 -1
  116. package/dist/components/Header/index.d.ts.map +1 -1
  117. package/dist/components/Header/index.js +2 -1
  118. package/dist/components/Icon/Icon.module.scss.cjs +29 -8
  119. package/dist/components/Icon/Icon.module.scss.js +30 -9
  120. package/dist/components/Icon/index.cjs +30 -48
  121. package/dist/components/Icon/index.d.ts +6 -6
  122. package/dist/components/Icon/index.d.ts.map +1 -1
  123. package/dist/components/Icon/index.js +30 -48
  124. package/dist/components/IconButton/IconButton.module.scss.cjs +8 -8
  125. package/dist/components/IconButton/IconButton.module.scss.js +8 -8
  126. package/dist/components/Input/Input.module.scss.cjs +19 -25
  127. package/dist/components/Input/Input.module.scss.js +19 -25
  128. package/dist/components/Input/index.cjs +1 -2
  129. package/dist/components/Input/index.d.ts.map +1 -1
  130. package/dist/components/Input/index.js +1 -2
  131. package/dist/components/Link/Link.module.scss.cjs +10 -10
  132. package/dist/components/Link/Link.module.scss.js +10 -10
  133. package/dist/components/List/List.module.scss.cjs +19 -19
  134. package/dist/components/List/List.module.scss.js +19 -19
  135. package/dist/components/List/index.cjs +4 -7
  136. package/dist/components/List/index.d.ts.map +1 -1
  137. package/dist/components/List/index.js +4 -7
  138. package/dist/components/Listbox/Listbox.module.scss.cjs +9 -9
  139. package/dist/components/Listbox/Listbox.module.scss.js +9 -9
  140. package/dist/components/Loading/Loading.module.scss.cjs +30 -30
  141. package/dist/components/Loading/Loading.module.scss.js +30 -30
  142. package/dist/components/Loading/index.cjs +39 -67
  143. package/dist/components/Loading/index.d.ts +6 -6
  144. package/dist/components/Loading/index.d.ts.map +1 -1
  145. package/dist/components/Loading/index.js +39 -67
  146. package/dist/components/Main/Main.module.scss.cjs +7 -7
  147. package/dist/components/Main/Main.module.scss.js +7 -7
  148. package/dist/components/Markdown/Markdown.module.scss.cjs +1 -1
  149. package/dist/components/Markdown/Markdown.module.scss.js +1 -1
  150. package/dist/components/Menu/Menu.module.scss.cjs +16 -16
  151. package/dist/components/Menu/Menu.module.scss.js +16 -16
  152. package/dist/components/Menu/index.cjs +19 -61
  153. package/dist/components/Menu/index.d.ts +10 -10
  154. package/dist/components/Menu/index.d.ts.map +1 -1
  155. package/dist/components/Menu/index.js +19 -61
  156. package/dist/components/Message/Message.module.scss.cjs +18 -21
  157. package/dist/components/Message/Message.module.scss.js +18 -21
  158. package/dist/components/Message/index.cjs +15 -2
  159. package/dist/components/Message/index.d.ts.map +1 -1
  160. package/dist/components/Message/index.js +15 -2
  161. package/dist/components/NavigationMenu/NavigationMenu.module.scss.cjs +28 -28
  162. package/dist/components/NavigationMenu/NavigationMenu.module.scss.js +28 -28
  163. package/dist/components/Pagination/Pagination.module.scss.cjs +18 -9
  164. package/dist/components/Pagination/Pagination.module.scss.js +19 -10
  165. package/dist/components/Pagination/index.cjs +5 -2
  166. package/dist/components/Pagination/index.d.ts +3 -1
  167. package/dist/components/Pagination/index.d.ts.map +1 -1
  168. package/dist/components/Pagination/index.js +5 -2
  169. package/dist/components/Popover/Popover.module.scss.cjs +10 -10
  170. package/dist/components/Popover/Popover.module.scss.js +10 -10
  171. package/dist/components/Progress/Progress.module.scss.cjs +29 -32
  172. package/dist/components/Progress/Progress.module.scss.js +29 -32
  173. package/dist/components/Progress/geometry.cjs +30 -0
  174. package/dist/components/Progress/geometry.d.ts +8 -0
  175. package/dist/components/Progress/geometry.d.ts.map +1 -0
  176. package/dist/components/Progress/geometry.js +30 -0
  177. package/dist/components/Progress/index.cjs +40 -29
  178. package/dist/components/Progress/index.d.ts +4 -3
  179. package/dist/components/Progress/index.d.ts.map +1 -1
  180. package/dist/components/Progress/index.js +40 -29
  181. package/dist/components/Prompt/Prompt.module.scss.cjs +29 -29
  182. package/dist/components/Prompt/Prompt.module.scss.js +29 -29
  183. package/dist/components/Prompt/index.cjs +5 -4
  184. package/dist/components/Prompt/index.d.ts.map +1 -1
  185. package/dist/components/Prompt/index.js +5 -4
  186. package/dist/components/RadioGroup/RadioGroup.module.scss.cjs +15 -21
  187. package/dist/components/RadioGroup/RadioGroup.module.scss.js +15 -21
  188. package/dist/components/RadioGroup/index.cjs +7 -6
  189. package/dist/components/RadioGroup/index.d.ts.map +1 -1
  190. package/dist/components/RadioGroup/index.js +7 -6
  191. package/dist/components/ScrollArea/ScrollArea.module.scss.cjs +7 -22
  192. package/dist/components/ScrollArea/ScrollArea.module.scss.js +7 -22
  193. package/dist/components/ScrollArea/index.cjs +66 -42
  194. package/dist/components/ScrollArea/index.d.ts +3 -2
  195. package/dist/components/ScrollArea/index.d.ts.map +1 -1
  196. package/dist/components/ScrollArea/index.js +66 -42
  197. package/dist/components/ScrollArea/scroll-state.cjs +58 -0
  198. package/dist/components/ScrollArea/scroll-state.d.ts +16 -0
  199. package/dist/components/ScrollArea/scroll-state.d.ts.map +1 -0
  200. package/dist/components/ScrollArea/scroll-state.js +58 -0
  201. package/dist/components/Select/Select.module.scss.cjs +21 -21
  202. package/dist/components/Select/Select.module.scss.js +21 -21
  203. package/dist/components/Select/index.cjs +3 -2
  204. package/dist/components/Select/index.d.ts.map +1 -1
  205. package/dist/components/Select/index.js +3 -2
  206. package/dist/components/Separator/Separator.module.scss.cjs +13 -10
  207. package/dist/components/Separator/Separator.module.scss.js +13 -10
  208. package/dist/components/Separator/index.cjs +37 -38
  209. package/dist/components/Separator/index.d.ts +4 -4
  210. package/dist/components/Separator/index.d.ts.map +1 -1
  211. package/dist/components/Separator/index.js +37 -38
  212. package/dist/components/Sidebar/Sidebar.module.scss.cjs +43 -43
  213. package/dist/components/Sidebar/Sidebar.module.scss.js +43 -43
  214. package/dist/components/Sidebar/index.cjs +5 -3
  215. package/dist/components/Sidebar/index.d.ts +6 -1
  216. package/dist/components/Sidebar/index.d.ts.map +1 -1
  217. package/dist/components/Sidebar/index.js +5 -3
  218. package/dist/components/Skeleton/Skeleton.module.scss.cjs +50 -38
  219. package/dist/components/Skeleton/Skeleton.module.scss.js +50 -38
  220. package/dist/components/Skeleton/index.cjs +41 -55
  221. package/dist/components/Skeleton/index.d.ts +7 -7
  222. package/dist/components/Skeleton/index.d.ts.map +1 -1
  223. package/dist/components/Skeleton/index.js +41 -55
  224. package/dist/components/Slider/Slider.module.scss.cjs +12 -12
  225. package/dist/components/Slider/Slider.module.scss.js +12 -12
  226. package/dist/components/Stack/Stack.module.scss.cjs +25 -45
  227. package/dist/components/Stack/Stack.module.scss.js +25 -45
  228. package/dist/components/Stack/index.cjs +106 -101
  229. package/dist/components/Stack/index.d.ts +7 -7
  230. package/dist/components/Stack/index.d.ts.map +1 -1
  231. package/dist/components/Stack/index.js +106 -101
  232. package/dist/components/Switch/Switch.module.scss.cjs +32 -0
  233. package/dist/components/Switch/Switch.module.scss.js +32 -0
  234. package/dist/components/{Toggle → Switch}/index.cjs +9 -14
  235. package/dist/components/Switch/index.d.ts +37 -1
  236. package/dist/components/Switch/index.d.ts.map +1 -1
  237. package/dist/components/{Toggle → Switch}/index.js +5 -10
  238. package/dist/components/Table/Table.module.scss.cjs +18 -27
  239. package/dist/components/Table/Table.module.scss.js +18 -27
  240. package/dist/components/Table/index.d.ts +6 -5
  241. package/dist/components/Table/index.d.ts.map +1 -1
  242. package/dist/components/TableOfContents/TableOfContents.module.scss.cjs +15 -15
  243. package/dist/components/TableOfContents/TableOfContents.module.scss.js +15 -15
  244. package/dist/components/Tabs/Tabs.module.scss.cjs +12 -12
  245. package/dist/components/Tabs/Tabs.module.scss.js +12 -12
  246. package/dist/components/Tabs/index.cjs +2 -2
  247. package/dist/components/Tabs/index.js +2 -2
  248. package/dist/components/Text/Text.module.scss.cjs +93 -57
  249. package/dist/components/Text/Text.module.scss.js +93 -57
  250. package/dist/components/Text/index.cjs +14 -6
  251. package/dist/components/Text/index.d.ts +25 -15
  252. package/dist/components/Text/index.d.ts.map +1 -1
  253. package/dist/components/Text/index.js +14 -6
  254. package/dist/components/Textarea/Textarea.module.scss.cjs +26 -23
  255. package/dist/components/Textarea/Textarea.module.scss.js +26 -23
  256. package/dist/components/Textarea/index.cjs +5 -10
  257. package/dist/components/Textarea/index.d.ts.map +1 -1
  258. package/dist/components/Textarea/index.js +5 -10
  259. package/dist/components/Theme/context.cjs +39 -0
  260. package/dist/components/Theme/context.d.ts +21 -0
  261. package/dist/components/Theme/context.d.ts.map +1 -0
  262. package/dist/components/Theme/context.js +22 -0
  263. package/dist/components/Theme/index.cjs +14 -209
  264. package/dist/components/Theme/index.d.ts +4 -37
  265. package/dist/components/Theme/index.d.ts.map +1 -1
  266. package/dist/components/Theme/index.js +9 -204
  267. package/dist/components/{Theme → ThemeToggle}/ThemeToggle.module.scss.cjs +6 -6
  268. package/dist/components/ThemeToggle/ThemeToggle.module.scss.js +23 -0
  269. package/dist/components/ThemeToggle/index.cjs +115 -0
  270. package/dist/components/ThemeToggle/index.d.ts +21 -0
  271. package/dist/components/ThemeToggle/index.d.ts.map +1 -0
  272. package/dist/components/ThemeToggle/index.js +115 -0
  273. package/dist/components/ThinkingIndicator/ThinkingIndicator.module.scss.cjs +13 -13
  274. package/dist/components/ThinkingIndicator/ThinkingIndicator.module.scss.js +13 -13
  275. package/dist/components/ThinkingIndicator/index.cjs +34 -41
  276. package/dist/components/ThinkingIndicator/index.d.ts +4 -4
  277. package/dist/components/ThinkingIndicator/index.d.ts.map +1 -1
  278. package/dist/components/ThinkingIndicator/index.js +34 -41
  279. package/dist/components/Toast/Toast.module.scss.cjs +20 -20
  280. package/dist/components/Toast/Toast.module.scss.js +20 -20
  281. package/dist/components/Toggle/index.d.ts +2 -42
  282. package/dist/components/Toggle/index.d.ts.map +1 -1
  283. package/dist/components/ToggleGroup/ToggleGroup.module.scss.cjs +20 -20
  284. package/dist/components/ToggleGroup/ToggleGroup.module.scss.js +20 -20
  285. package/dist/components/ToggleGroup/index.cjs +3 -2
  286. package/dist/components/ToggleGroup/index.d.ts +2 -1
  287. package/dist/components/ToggleGroup/index.d.ts.map +1 -1
  288. package/dist/components/ToggleGroup/index.js +3 -2
  289. package/dist/components/Tooltip/Tooltip.module.scss.cjs +3 -3
  290. package/dist/components/Tooltip/Tooltip.module.scss.js +3 -3
  291. package/dist/components/VisuallyHidden/VisuallyHidden.module.scss.cjs +1 -1
  292. package/dist/components/VisuallyHidden/VisuallyHidden.module.scss.js +1 -1
  293. package/dist/data-table.cjs +12 -9
  294. package/dist/data-table.js +12 -9
  295. package/dist/datepicker.cjs +2 -1
  296. package/dist/datepicker.js +2 -1
  297. package/dist/index.cjs +100 -98
  298. package/dist/index.d.ts +2 -2
  299. package/dist/index.d.ts.map +1 -1
  300. package/dist/index.js +4 -2
  301. package/dist/markdown.cjs +1 -1
  302. package/dist/markdown.js +2 -2
  303. package/dist/measurements/generated.cjs +296 -0
  304. package/dist/measurements/generated.d.ts +261 -0
  305. package/dist/measurements/generated.d.ts.map +1 -0
  306. package/dist/measurements/generated.js +296 -0
  307. package/dist/measurements/index.d.ts +2 -0
  308. package/dist/measurements/index.d.ts.map +1 -0
  309. package/dist/measurements.cjs +6 -0
  310. package/dist/measurements.js +6 -0
  311. package/dist/recipes/popup.cjs +14 -0
  312. package/dist/recipes/popup.d.ts +4 -0
  313. package/dist/recipes/popup.d.ts.map +1 -0
  314. package/dist/recipes/popup.js +14 -0
  315. package/dist/recipes/table-chrome.cjs +18 -0
  316. package/dist/recipes/table-chrome.d.ts +10 -0
  317. package/dist/recipes/table-chrome.d.ts.map +1 -0
  318. package/dist/recipes/table-chrome.js +18 -0
  319. package/dist/table.cjs +5 -2
  320. package/dist/table.js +5 -2
  321. package/dist/utils/layout-spacing.cjs +27 -0
  322. package/dist/utils/layout-spacing.d.ts +5 -0
  323. package/dist/utils/layout-spacing.d.ts.map +1 -0
  324. package/dist/utils/layout-spacing.js +27 -0
  325. package/dist/utils/seed-derivation.cjs +4 -42
  326. package/dist/utils/seed-derivation.d.ts +4 -3
  327. package/dist/utils/seed-derivation.d.ts.map +1 -1
  328. package/dist/utils/seed-derivation.js +4 -42
  329. package/dist/utils/theme-presets.cjs +1 -0
  330. package/dist/utils/theme-presets.d.ts +3 -2
  331. package/dist/utils/theme-presets.d.ts.map +1 -1
  332. package/dist/utils/theme-presets.js +1 -0
  333. package/fragments.json +1 -1
  334. package/package.json +23 -4
  335. package/src/components/Accordion/Accordion.module.scss +31 -52
  336. package/src/components/Alert/Alert.module.scss +28 -44
  337. package/src/components/AppShell/AppShell.module.scss +6 -3
  338. package/src/components/AppShell/index.tsx +8 -4
  339. package/src/components/Avatar/Avatar.module.scss +22 -60
  340. package/src/components/Avatar/index.tsx +152 -146
  341. package/src/components/Badge/Badge.module.scss +51 -46
  342. package/src/components/BentoGrid/BentoGrid.module.scss +11 -32
  343. package/src/components/Box/Box.module.scss +253 -81
  344. package/src/components/Breadcrumbs/Breadcrumbs.module.scss +10 -11
  345. package/src/components/Button/Button.module.scss +52 -57
  346. package/src/components/ButtonGroup/ButtonGroup.module.scss +5 -5
  347. package/src/components/Card/Card.consumer-fixture.module.scss +8 -0
  348. package/src/components/Card/Card.module.scss +211 -175
  349. package/src/components/Chart/Chart.module.scss +28 -29
  350. package/src/components/Chart/index.tsx +40 -53
  351. package/src/components/Checkbox/Checkbox.module.scss +43 -64
  352. package/src/components/Checkbox/index.tsx +4 -9
  353. package/src/components/Chip/Chip.contract.json +4 -3
  354. package/src/components/Chip/Chip.module.scss +23 -34
  355. package/src/components/Chip/index.tsx +3 -4
  356. package/src/components/CodeBlock/CodeBlock.module.scss +102 -215
  357. package/src/components/Collapsible/Collapsible.module.scss +29 -63
  358. package/src/components/Collapsible/index.tsx +22 -26
  359. package/src/components/ColorPicker/ColorPicker.module.scss +42 -24
  360. package/src/components/ColorPicker/index.tsx +2 -1
  361. package/src/components/Combobox/Combobox.module.scss +60 -73
  362. package/src/components/Combobox/index.tsx +7 -5
  363. package/src/components/Command/Command.module.scss +47 -77
  364. package/src/components/ConversationList/ConversationList.module.scss +20 -78
  365. package/src/components/ConversationList/index.tsx +55 -59
  366. package/src/components/DataTable/DataTable.module.scss +76 -216
  367. package/src/components/DataTable/index.tsx +20 -25
  368. package/src/components/DatePicker/DatePicker.module.scss +54 -33
  369. package/src/components/DatePicker/index.tsx +2 -1
  370. package/src/components/Dialog/Dialog.module.scss +42 -66
  371. package/src/components/Drawer/Drawer.module.scss +93 -99
  372. package/src/components/Drawer/index.tsx +1 -1
  373. package/src/components/Editor/Editor.module.scss +115 -220
  374. package/src/components/EmptyState/EmptyState.module.scss +38 -85
  375. package/src/components/Field/Field.contract.json +2 -1
  376. package/src/components/Field/Field.module.scss +9 -11
  377. package/src/components/Field/index.tsx +27 -1
  378. package/src/components/Fieldset/Fieldset.module.scss +14 -6
  379. package/src/components/Form/Form.contract.json +10 -23
  380. package/src/components/Form/Form.module.scss +9 -4
  381. package/src/components/Form/index.tsx +22 -7
  382. package/src/components/Grid/Grid.module.scss +159 -63
  383. package/src/components/Grid/index.tsx +107 -126
  384. package/src/components/Header/Header.module.scss +25 -32
  385. package/src/components/Header/index.tsx +2 -1
  386. package/src/components/Icon/Icon.module.scss +16 -0
  387. package/src/components/Icon/index.tsx +74 -86
  388. package/src/components/IconButton/IconButton.module.scss +11 -21
  389. package/src/components/Input/Input.module.scss +67 -55
  390. package/src/components/Input/index.tsx +1 -2
  391. package/src/components/Link/Link.module.scss +8 -9
  392. package/src/components/List/List.module.scss +16 -21
  393. package/src/components/List/index.tsx +4 -10
  394. package/src/components/Listbox/Listbox.module.scss +26 -54
  395. package/src/components/Loading/Loading.module.scss +23 -33
  396. package/src/components/Loading/index.tsx +68 -97
  397. package/src/components/Main/Main.module.scss +3 -5
  398. package/src/components/Markdown/Markdown.module.scss +36 -184
  399. package/src/components/Markdown/index.tsx +2 -2
  400. package/src/components/Menu/Menu.module.scss +48 -133
  401. package/src/components/Menu/index.tsx +57 -89
  402. package/src/components/Message/Message.module.scss +52 -142
  403. package/src/components/Message/index.tsx +16 -6
  404. package/src/components/NavigationMenu/NavigationMenu.module.scss +59 -52
  405. package/src/components/Pagination/Pagination.module.scss +32 -25
  406. package/src/components/Pagination/index.tsx +7 -2
  407. package/src/components/Popover/Popover.module.scss +37 -73
  408. package/src/components/Progress/Progress.module.scss +61 -41
  409. package/src/components/Progress/geometry.ts +41 -0
  410. package/src/components/Progress/index.tsx +44 -30
  411. package/src/components/Prompt/Prompt.module.scss +45 -82
  412. package/src/components/Prompt/index.tsx +6 -5
  413. package/src/components/RadioGroup/RadioGroup.module.scss +50 -69
  414. package/src/components/RadioGroup/index.tsx +7 -9
  415. package/src/components/ScrollArea/ScrollArea.contract.json +8 -24
  416. package/src/components/ScrollArea/ScrollArea.module.scss +122 -96
  417. package/src/components/ScrollArea/index.tsx +78 -60
  418. package/src/components/ScrollArea/scroll-state.ts +87 -0
  419. package/src/components/Select/Select.module.scss +53 -41
  420. package/src/components/Select/index.tsx +6 -2
  421. package/src/components/Separator/Separator.module.scss +29 -19
  422. package/src/components/Separator/index.tsx +55 -51
  423. package/src/components/Sidebar/Sidebar.contract.json +12 -0
  424. package/src/components/Sidebar/Sidebar.module.scss +101 -99
  425. package/src/components/Sidebar/index.tsx +10 -3
  426. package/src/components/Skeleton/Skeleton.module.scss +26 -26
  427. package/src/components/Skeleton/index.tsx +65 -72
  428. package/src/components/Slider/Slider.module.scss +31 -25
  429. package/src/components/Stack/Stack.module.scss +101 -30
  430. package/src/components/Stack/index.tsx +157 -127
  431. package/src/components/{Toggle/Toggle.contract.json → Switch/Switch.contract.json} +1 -1
  432. package/src/components/{Toggle/Toggle.module.scss → Switch/Switch.module.scss} +55 -82
  433. package/src/components/{Toggle → Switch}/index.tsx +5 -21
  434. package/src/components/Table/Table.module.scss +38 -129
  435. package/src/components/Table/index.tsx +13 -6
  436. package/src/components/TableOfContents/TableOfContents.module.scss +20 -177
  437. package/src/components/Tabs/Tabs.module.scss +27 -22
  438. package/src/components/Tabs/index.tsx +2 -2
  439. package/src/components/Text/Text.module.scss +22 -3
  440. package/src/components/Text/index.tsx +56 -21
  441. package/src/components/Textarea/Textarea.module.scss +59 -39
  442. package/src/components/Textarea/index.tsx +5 -12
  443. package/src/components/Theme/context.ts +42 -0
  444. package/src/components/Theme/index.tsx +14 -309
  445. package/src/components/ThemeToggle/ThemeToggle.module.scss +73 -0
  446. package/src/components/ThemeToggle/index.tsx +144 -0
  447. package/src/components/ThinkingIndicator/ThinkingIndicator.module.scss +24 -19
  448. package/src/components/ThinkingIndicator/index.tsx +44 -54
  449. package/src/components/Toast/Toast.contract.json +5 -21
  450. package/src/components/Toast/Toast.module.scss +61 -138
  451. package/src/components/Toggle/index.ts +7 -0
  452. package/src/components/ToggleGroup/ToggleGroup.contract.json +12 -39
  453. package/src/components/ToggleGroup/ToggleGroup.module.scss +132 -88
  454. package/src/components/ToggleGroup/index.tsx +5 -3
  455. package/src/components/Tooltip/Tooltip.module.scss +23 -39
  456. package/src/components/VisuallyHidden/VisuallyHidden.module.scss +3 -0
  457. package/src/index.ts +2 -1
  458. package/src/measurements/MeasurementTargets.module.scss +229 -0
  459. package/src/measurements/generated.ts +317 -0
  460. package/src/measurements/index.ts +8 -0
  461. package/src/measurements/measurements.json +361 -0
  462. package/src/recipes/_action.scss +138 -0
  463. package/src/recipes/_boolean-range.scss +124 -0
  464. package/src/recipes/_feedback.scss +171 -0
  465. package/src/recipes/_field.scss +98 -0
  466. package/src/recipes/_layout.scss +67 -0
  467. package/src/recipes/_navigation.scss +110 -0
  468. package/src/recipes/_overlay.scss +191 -0
  469. package/src/recipes/_popup.scss +92 -0
  470. package/src/recipes/_prose.scss +174 -0
  471. package/src/recipes/_representation.scss +193 -0
  472. package/src/recipes/_segmented.scss +26 -0
  473. package/src/recipes/_surface.scss +13 -0
  474. package/src/recipes/_table-chrome.scss +105 -0
  475. package/src/recipes/_target.scss +31 -0
  476. package/src/recipes/_typography.scss +38 -0
  477. package/src/recipes/popup.ts +12 -0
  478. package/src/recipes/table-chrome.ts +30 -0
  479. package/src/styles/globals.scss +2 -2
  480. package/src/tokens/_component-properties.scss +2 -2
  481. package/src/tokens/_computed.scss +9 -9
  482. package/src/tokens/_density.scss +41 -132
  483. package/src/tokens/_measurements.catalog.generated.css +91 -0
  484. package/src/tokens/_measurements.generated.scss +604 -0
  485. package/src/tokens/_mixins.scss +0 -276
  486. package/src/tokens/_property-registrations.scss +96 -92
  487. package/src/tokens/_radius.scss +16 -70
  488. package/src/tokens/_seeds.scss +8 -7
  489. package/src/tokens/_variables.scss +163 -148
  490. package/src/utils/layout-spacing.ts +31 -0
  491. package/src/utils/seed-derivation.ts +134 -172
  492. package/src/utils/theme-presets.ts +58 -30
  493. package/dist/components/Theme/ThemeToggle.module.scss.js +0 -23
  494. package/dist/components/Toggle/Toggle.module.scss.cjs +0 -44
  495. package/dist/components/Toggle/Toggle.module.scss.js +0 -44
  496. package/src/components/Switch/index.ts +0 -3
  497. package/src/components/Theme/ThemeToggle.module.scss +0 -91
@@ -1,250 +1,102 @@
1
- @use '../../tokens/variables' as *;
2
- @use '../../tokens/mixins' as *;
3
-
4
- // ============================================
5
- // Markdown Prose Container
6
- // ============================================
1
+ @use "../../tokens/variables" as *;
2
+ @use "../../recipes/prose" as prose;
7
3
 
8
4
  .markdown {
9
- @include text-base;
10
- word-wrap: break-word;
11
- // Prose colour is a hook, not a constant. Markdown is routinely rendered on a
12
- // surface that carries its own foreground — a Message bubble on the accent
13
- // fill, an Alert, a Callout — and a fixed grey there is unreadable rather than
14
- // quiet. Those surfaces point the hook at `currentColor`; on a plain page it
15
- // still resolves to the secondary ramp prose has always used.
16
- color: var(--fui-markdown-text, var(--fui-text-secondary, #{$fui-text-secondary}));
17
- font-size: var(--fui-font-size-md, $fui-font-size-md);
18
- line-height: var(--fui-line-height-prose, $fui-line-height-prose);
19
-
20
- // Outer spacing belongs to whatever holds the prose — a Message bubble's
21
- // padding, a Card's, a page's rhythm. The block's own first and last margins
22
- // would add to it, or collapse through it, and either way the container ends
23
- // up looking mis-padded through no fault of its own.
24
- > :first-child {
25
- margin-top: 0;
26
- }
27
-
28
- > :last-child {
29
- margin-bottom: 0;
30
- }
31
-
32
- // ----------------------------------------
33
- // Headings
34
- // ----------------------------------------
35
-
36
- h1,
37
- h2,
38
- h3,
39
- h4,
40
- h5,
41
- h6 {
42
- margin-top: var(--fui-space-4, $fui-space-4);
43
- margin-bottom: var(--fui-space-2, $fui-space-2);
44
- font-weight: var(--fui-font-weight-semibold, $fui-font-weight-semibold);
45
- line-height: var(--fui-line-height-tight, $fui-line-height-tight);
46
- color: var(--fui-text-primary, $fui-text-primary);
47
-
48
- &:first-child {
49
- margin-top: 0;
50
- }
51
- }
52
-
53
- h1 {
54
- font-size: var(--fui-font-size-3xl, $fui-font-size-3xl);
55
- line-height: var(--fui-line-height-display, $fui-line-height-display);
56
- letter-spacing: var(--fui-letter-spacing-display, $fui-letter-spacing-display);
57
- }
58
-
59
- h2 {
60
- font-size: var(--fui-font-size-xl, $fui-font-size-xl);
61
- letter-spacing: var(--fui-letter-spacing-tight, $fui-letter-spacing-tight);
62
- margin-top: var(--fui-space-8, $fui-space-8);
63
- }
5
+ @include prose.root;
64
6
 
65
- h3 {
66
- font-size: var(--fui-font-size-lg, $fui-font-size-lg);
67
- letter-spacing: var(--fui-letter-spacing-tight, $fui-letter-spacing-tight);
68
- line-height: var(--fui-line-height-tight, $fui-line-height-tight);
69
- }
70
-
71
- h4 {
72
- font-size: var(--fui-font-size-md, $fui-font-size-md);
73
- }
7
+ overflow-wrap: anywhere;
8
+ color: var(--fui-markdown-text, var(--fui-text-secondary, #{$fui-text-secondary}));
74
9
 
75
- h5,
76
- h6 {
77
- font-size: var(--fui-font-size-sm, $fui-font-size-sm);
10
+ p {
11
+ @include prose.paragraph;
78
12
  }
79
13
 
80
- // ----------------------------------------
81
- // Paragraphs
82
- // ----------------------------------------
83
-
84
- p {
85
- margin: 0;
86
- line-height: var(--fui-line-height-prose, $fui-line-height-prose);
14
+ @for $level from 1 through 6 {
15
+ h#{$level} {
16
+ @include prose.heading($level);
87
17
 
88
- & + p {
89
- margin-top: var(--fui-space-3, $fui-space-3);
18
+ color: var(--fui-text-primary, $fui-text-primary);
90
19
  }
91
20
  }
92
21
 
93
- // ----------------------------------------
94
- // Links
95
- // ----------------------------------------
96
-
97
22
  a {
23
+ @include prose.link;
24
+
98
25
  color: var(--fui-color-accent, $fui-color-accent);
99
- text-decoration: underline;
100
- text-underline-offset: 2px;
101
26
 
102
27
  &:hover {
103
28
  opacity: 0.8;
104
29
  }
105
30
  }
106
31
 
107
- // ----------------------------------------
108
- // Lists
109
- // ----------------------------------------
110
-
111
- ul,
112
- ol {
113
- margin: var(--fui-space-2, $fui-space-2) 0;
114
- padding-left: var(--fui-space-4, $fui-space-4);
32
+ ul {
33
+ @include prose.list("disc");
115
34
  }
116
35
 
117
- li {
118
- margin-bottom: var(--fui-space-1, $fui-space-1);
119
- line-height: var(--fui-line-height-prose, $fui-line-height-prose);
120
-
121
- &:last-child {
122
- margin-bottom: 0;
123
- }
36
+ ol {
37
+ @include prose.list("decimal");
124
38
  }
125
39
 
126
- // Nested lists
127
- li > ul,
128
- li > ol {
129
- margin-top: var(--fui-space-1, $fui-space-1);
130
- margin-bottom: 0;
40
+ li + li {
41
+ margin-block-start: var(--fui-raw-space-4);
131
42
  }
132
43
 
133
- // ----------------------------------------
134
- // Inline Code
135
- // ----------------------------------------
136
-
137
44
  code {
138
- font-family: var(--fui-font-mono, $fui-font-mono);
139
- font-size: 0.9em;
140
- padding: 0.125em 0.375em;
141
- border-radius: var(--fui-radius-sm, $fui-radius-sm);
142
- background-color: var(--fui-bg-tertiary, $fui-bg-tertiary);
45
+ @include prose.inline-code;
143
46
  }
144
47
 
145
- // ----------------------------------------
146
- // Code Blocks
147
- // ----------------------------------------
148
-
149
48
  pre {
150
- margin: var(--fui-space-2, $fui-space-2) 0;
151
- padding: var(--fui-space-2);
49
+ @include prose.code-block("default");
50
+
152
51
  border-radius: var(--fui-radius-md, $fui-radius-md);
153
52
  background-color: var(--fui-code-bg, $fui-code-bg);
154
- overflow-x: auto;
155
53
 
156
54
  code {
157
55
  padding: 0;
158
56
  background: none;
159
- font-size: var(--fui-font-size-xs, $fui-font-size-xs);
57
+ font: inherit;
58
+ letter-spacing: inherit;
160
59
  }
161
60
  }
162
61
 
163
- // Only target the immediate parent wrapper of a <pre> block
164
- div:has(> div > div > pre) {
165
- margin: var(--fui-space-3, $fui-space-3) 0;
166
- }
167
-
168
- // ----------------------------------------
169
- // Blockquotes
170
- // ----------------------------------------
171
-
172
62
  blockquote {
173
- margin: var(--fui-space-2, $fui-space-2) 0;
174
- padding: var(--fui-space-1) var(--fui-space-3);
175
- border-left: 3px solid var(--fui-border, $fui-border);
176
- color: var(--fui-text-secondary, $fui-text-secondary);
63
+ @include prose.blockquote;
177
64
 
178
- p {
179
- margin: 0;
180
- }
65
+ color: var(--fui-text-secondary, $fui-text-secondary);
181
66
  }
182
67
 
183
- // ----------------------------------------
184
- // Horizontal Rule
185
- // ----------------------------------------
186
-
187
68
  hr {
188
- margin: var(--fui-space-4, $fui-space-4) 0;
189
- border: none;
190
- border-top: 1px solid var(--fui-border, $fui-border);
69
+ @include prose.rule;
191
70
  }
192
71
 
193
- // ----------------------------------------
194
- // Tables (GFM)
195
- // ----------------------------------------
196
-
197
72
  table {
198
- width: 100%;
199
- margin: var(--fui-space-2, $fui-space-2) 0;
73
+ @include prose.table;
74
+
75
+ inline-size: 100%;
200
76
  border-collapse: collapse;
201
- font-size: var(--fui-font-size-sm, $fui-font-size-sm);
202
77
  }
203
78
 
204
79
  th,
205
80
  td {
206
- padding: var(--fui-space-1) var(--fui-space-2);
207
- border: 1px solid var(--fui-border, $fui-border);
208
- text-align: left;
81
+ border: var(--fui-stroke-hairline) solid var(--fui-border, $fui-border);
82
+ text-align: start;
209
83
  }
210
84
 
211
85
  th {
212
- font-weight: var(--fui-font-weight-semibold, $fui-font-weight-semibold);
213
86
  background-color: var(--fui-bg-secondary, $fui-bg-secondary);
214
87
  }
215
88
 
216
- // ----------------------------------------
217
- // Images
218
- // ----------------------------------------
219
-
220
89
  img {
221
- max-width: 100%;
222
- height: auto;
90
+ @include prose.media;
91
+
223
92
  border-radius: var(--fui-radius-md, $fui-radius-md);
224
93
  }
225
94
 
226
- // ----------------------------------------
227
- // Task Lists (GFM)
228
- // ----------------------------------------
229
-
230
- input[type='checkbox'] {
231
- margin-right: var(--fui-space-1, $fui-space-1);
95
+ input[type="checkbox"] {
96
+ margin-inline-end: var(--fui-raw-space-4);
232
97
  }
233
98
 
234
- // ----------------------------------------
235
- // Strong & Emphasis
236
- // ----------------------------------------
237
-
238
99
  strong {
239
100
  font-weight: var(--fui-font-weight-semibold, $fui-font-weight-semibold);
240
101
  }
241
-
242
- // Remove top margin from first child and bottom margin from last child
243
- > *:first-child {
244
- margin-top: 0;
245
- }
246
-
247
- > *:last-child {
248
- margin-bottom: 0;
249
- }
250
102
  }
@@ -79,11 +79,11 @@ function loadDeps(): Promise<void> {
79
79
  function FallbackRenderer({ content }: { content: string }) {
80
80
  const paragraphs = content.split(/\n{2,}/);
81
81
  return (
82
- <div>
82
+ <>
83
83
  {paragraphs.map((p) => (
84
84
  <p key={p}>{p}</p>
85
85
  ))}
86
- </div>
86
+ </>
87
87
  );
88
88
  }
89
89
 
@@ -1,36 +1,24 @@
1
1
  @use "../../tokens/variables" as *;
2
- @use "../../tokens/mixins" as *;
2
+ @use "../../recipes/popup" as popup;
3
+ @use "../../recipes/typography" as typography;
3
4
 
4
- // Local component tokens — arrow size shared with Popover/Tooltip
5
- $fui-arrow-size: 10px !default;
6
-
7
- // Positioner — z-index must exceed Dialog positioner (51)
8
5
  .positioner {
9
- z-index: 52;
6
+ z-index: var(--fui-overlay-layer-anchored, 52);
10
7
  outline: none;
11
8
  pointer-events: auto;
12
9
  }
13
10
 
14
- // Popup container
15
11
  .popup {
16
- @include surface-elevated;
17
- @include popup-container;
12
+ @include popup.container;
18
13
 
19
- list-style: none;
14
+ min-inline-size: var(--fui-menu-min-inline, 192px);
20
15
  margin: 0;
21
- min-width: 12rem;
22
-
23
- // Menus must be fully hit-testable as soon as they open. A fade/scale
24
- // entrance can let fast clicks pass through to page links under the portal.
16
+ list-style: none;
25
17
  opacity: 1;
26
18
  transform: none;
27
19
  transform-origin: var(--transform-origin);
28
20
 
29
- &[data-open] {
30
- opacity: 1;
31
- transform: none;
32
- }
33
-
21
+ &[data-open],
34
22
  &[data-starting-style],
35
23
  &[data-ending-style] {
36
24
  opacity: 1;
@@ -38,27 +26,24 @@ $fui-arrow-size: 10px !default;
38
26
  }
39
27
  }
40
28
 
41
- // Viewport — enables content transition animations
42
29
  .viewport {
43
- overflow: hidden;
44
- transition: height var(--fui-transition-fast, $fui-transition-fast);
30
+ @include popup.viewport;
31
+
32
+ transition: block-size var(--fui-transition-fast, $fui-transition-fast);
45
33
  }
46
34
 
47
- // Menu item (shared base)
48
35
  .item {
49
- @include popup-item;
36
+ @include popup.row;
50
37
 
51
- // Base UI sets [data-highlighted] on pointer-hover AND keyboard nav → one indicator.
52
38
  &[data-highlighted] {
53
- @include popup-item-highlight;
39
+ @include popup.highlight-state;
54
40
  }
55
41
 
56
42
  &[data-disabled] {
57
- @include popup-item-disabled;
43
+ @include popup.disabled-state;
58
44
  }
59
45
  }
60
46
 
61
- // Danger variant for destructive actions
62
47
  .itemDanger {
63
48
  color: var(--fui-color-danger-text, $fui-color-danger-text);
64
49
 
@@ -68,13 +53,18 @@ $fui-arrow-size: 10px !default;
68
53
  }
69
54
  }
70
55
 
71
- // Item with icon
72
- .itemIcon {
56
+ .itemIcon,
57
+ .checkIndicator,
58
+ .radioIndicator {
73
59
  display: flex;
74
60
  align-items: center;
75
61
  justify-content: center;
76
- width: 1rem;
77
- height: 1rem;
62
+ inline-size: var(--fui-popup-indicator-box);
63
+ block-size: var(--fui-popup-indicator-box);
64
+ flex: 0 0 auto;
65
+ }
66
+
67
+ .itemIcon {
78
68
  color: var(--fui-text-secondary, $fui-text-secondary);
79
69
 
80
70
  .itemDanger & {
@@ -82,142 +72,67 @@ $fui-arrow-size: 10px !default;
82
72
  }
83
73
 
84
74
  svg {
85
- width: 1rem;
86
- height: 1rem;
75
+ inline-size: 100%;
76
+ block-size: 100%;
87
77
  }
88
78
  }
89
79
 
90
- // Item label (main text)
91
80
  .itemLabel {
92
81
  flex: 1;
82
+ min-inline-size: 0;
93
83
  }
94
84
 
95
- // Item shortcut (keyboard shortcut hint)
96
85
  .itemShortcut {
97
- font-size: var(--fui-font-size-xs, $fui-font-size-xs);
86
+ @include typography.role("caption");
87
+
88
+ margin-inline-start: auto;
98
89
  color: var(--fui-text-tertiary, $fui-text-tertiary);
99
- margin-left: auto;
100
90
  }
101
91
 
102
- // Check indicator (checkmark icon for checked items)
103
- //
104
- // Sized to the text it sits beside rather than to a 16px icon slot. Every item
105
- // in a checkable menu reserves this column so labels stay aligned whether or not
106
- // they are checked — which means its width is pure indent on every unchecked
107
- // row, and at 1rem against 12px text it read as a margin rather than a marker.
108
92
  .checkIndicator {
109
- display: flex;
110
- align-items: center;
111
- justify-content: center;
112
- width: 0.75rem;
113
- height: 0.75rem;
114
- flex-shrink: 0;
115
93
  color: var(--fui-color-accent, $fui-color-accent);
116
94
 
117
95
  svg {
118
- width: 100%;
119
- height: 100%;
96
+ inline-size: var(--fui-raw-space-12, 12px);
97
+ block-size: var(--fui-raw-space-12, 12px);
120
98
  }
121
99
  }
122
100
 
123
- // Checkbox item
124
- .checkboxItem {
125
- // Uses .checkIndicator for checked state visual
126
- }
127
-
128
- // Radio indicator (still uses icon)
129
101
  .radioIndicator {
130
- display: flex;
131
- align-items: center;
132
- justify-content: center;
133
- width: 1rem;
134
- height: 1rem;
135
102
  visibility: hidden;
136
103
 
137
104
  svg {
138
- width: 0.75rem;
139
- height: 0.75rem;
105
+ inline-size: var(--fui-raw-space-12, 12px);
106
+ block-size: var(--fui-raw-space-12, 12px);
140
107
  }
141
108
  }
142
109
 
143
- // Radio item states
144
- .radioItem {
145
- &[data-checked] .radioIndicator {
146
- visibility: visible;
147
- color: var(--fui-color-accent, $fui-color-accent);
148
- }
110
+ .radioItem[data-checked] .radioIndicator {
111
+ visibility: visible;
112
+ color: var(--fui-color-accent, $fui-color-accent);
149
113
  }
150
114
 
151
- // Separator
152
115
  .separator {
153
- height: 1px;
154
- margin: var(--fui-space-1, $fui-space-1) 0;
155
- background-color: var(--fui-border, $fui-border);
156
- }
157
-
158
- // Group container
159
- .group {
160
- // No specific styles needed
116
+ @include popup.group-separator;
161
117
  }
162
118
 
163
- // Group label
164
119
  .groupLabel {
165
- @include popup-group-label;
166
- }
167
-
168
- // Arrow
169
- .arrow {
170
- width: $fui-arrow-size;
171
- height: $fui-arrow-size;
172
- transform: rotate(45deg);
173
- background-color: var(--fui-bg-elevated, $fui-bg-elevated);
174
- border: 1px solid var(--fui-border, $fui-border);
175
-
176
- &[data-side="top"] {
177
- border-top: none;
178
- border-left: none;
179
- }
180
-
181
- &[data-side="bottom"] {
182
- border-bottom: none;
183
- border-right: none;
184
- }
185
-
186
- &[data-side="left"] {
187
- border-left: none;
188
- border-bottom: none;
189
- }
190
-
191
- &[data-side="right"] {
192
- border-right: none;
193
- border-top: none;
194
- }
120
+ @include popup.group-label;
195
121
  }
196
122
 
197
- // Submenu trigger (has arrow on right)
198
- .submenuTrigger {
199
- &::after {
200
- content: "";
201
- margin-left: auto;
202
- width: 0;
203
- height: 0;
204
- border-style: solid;
205
- border-width: 4px 0 4px 6px;
206
- border-color: transparent transparent transparent var(--fui-text-secondary, $fui-text-secondary);
207
- }
123
+ .submenuTrigger::after {
124
+ content: "";
125
+ inline-size: 0;
126
+ block-size: 0;
127
+ margin-inline-start: auto;
128
+ border-style: solid;
129
+ border-width: var(--fui-menu-submenu-caret-block, 4px) 0 var(--fui-menu-submenu-caret-block, 4px)
130
+ var(--fui-menu-submenu-caret-inline, 6px);
131
+ border-color: transparent transparent transparent var(--fui-text-secondary, $fui-text-secondary);
208
132
  }
209
133
 
210
- // ============================================
211
- // Accessibility: Reduced Motion
212
- // ============================================
213
-
214
134
  @media (prefers-reduced-motion: reduce) {
215
- .popup {
216
- transform: none;
217
-
218
- &[data-starting-style],
219
- &[data-ending-style] {
220
- transform: none;
221
- }
135
+ .viewport {
136
+ transition: none;
222
137
  }
223
138
  }