@sixthshift/design-system 0.2.1 → 0.4.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 (604) hide show
  1. package/README.md +242 -33
  2. package/dist/components/Badge/Badge.d.ts +65 -7
  3. package/dist/components/Badge/Badge.d.ts.map +1 -1
  4. package/dist/components/Badge/Badge.js +56 -46
  5. package/dist/components/Badge/Badge.js.map +1 -1
  6. package/dist/components/Badge/index.d.ts +1 -1
  7. package/dist/components/Badge/index.d.ts.map +1 -1
  8. package/dist/components/Badge/index.js +1 -1
  9. package/dist/components/Badge/index.js.map +1 -1
  10. package/dist/components/BarChart/BarChart.d.ts +20 -2
  11. package/dist/components/BarChart/BarChart.d.ts.map +1 -1
  12. package/dist/components/BarChart/BarChart.js +17 -3
  13. package/dist/components/BarChart/BarChart.js.map +1 -1
  14. package/dist/components/Button/Button.d.ts +85 -6
  15. package/dist/components/Button/Button.d.ts.map +1 -1
  16. package/dist/components/Button/Button.js +97 -106
  17. package/dist/components/Button/Button.js.map +1 -1
  18. package/dist/components/Button/index.d.ts +1 -1
  19. package/dist/components/Button/index.d.ts.map +1 -1
  20. package/dist/components/Button/index.js +1 -1
  21. package/dist/components/Button/index.js.map +1 -1
  22. package/dist/components/Calendar/Calendar.d.ts +31 -1
  23. package/dist/components/Calendar/Calendar.d.ts.map +1 -1
  24. package/dist/components/Calendar/Calendar.js +94 -225
  25. package/dist/components/Calendar/Calendar.js.map +1 -1
  26. package/dist/components/Calendar/CalendarView.d.ts +15 -0
  27. package/dist/components/Calendar/CalendarView.d.ts.map +1 -0
  28. package/dist/components/Calendar/CalendarView.js +263 -0
  29. package/dist/components/Calendar/CalendarView.js.map +1 -0
  30. package/dist/components/Calendar/calendar.types.d.ts +87 -27
  31. package/dist/components/Calendar/calendar.types.d.ts.map +1 -1
  32. package/dist/components/Calendar/calendar.types.js +10 -3
  33. package/dist/components/Calendar/calendar.types.js.map +1 -1
  34. package/dist/components/Calendar/index.d.ts +16 -2
  35. package/dist/components/Calendar/index.d.ts.map +1 -1
  36. package/dist/components/Calendar/index.js +15 -1
  37. package/dist/components/Calendar/index.js.map +1 -1
  38. package/dist/components/Card/Card.d.ts +13 -0
  39. package/dist/components/Card/Card.d.ts.map +1 -1
  40. package/dist/components/Card/Card.js +15 -2
  41. package/dist/components/Card/Card.js.map +1 -1
  42. package/dist/components/Checkbox/Checkbox.d.ts +21 -0
  43. package/dist/components/Checkbox/Checkbox.d.ts.map +1 -1
  44. package/dist/components/Checkbox/Checkbox.js +22 -1
  45. package/dist/components/Checkbox/Checkbox.js.map +1 -1
  46. package/dist/components/CheckboxGroup/CheckboxGroup.d.ts +22 -0
  47. package/dist/components/CheckboxGroup/CheckboxGroup.d.ts.map +1 -1
  48. package/dist/components/CheckboxGroup/CheckboxGroup.js +22 -0
  49. package/dist/components/CheckboxGroup/CheckboxGroup.js.map +1 -1
  50. package/dist/components/Code/Editor/Editor.js +2 -2
  51. package/dist/components/Code/Editor/Editor.js.map +1 -1
  52. package/dist/components/Code/Editor/themes.d.ts +2 -2
  53. package/dist/components/Code/Editor/themes.d.ts.map +1 -1
  54. package/dist/components/Code/Editor/themes.js +50 -32
  55. package/dist/components/Code/Editor/themes.js.map +1 -1
  56. package/dist/components/Code/ValidationStatus/ValidationStatus.d.ts.map +1 -1
  57. package/dist/components/Code/ValidationStatus/ValidationStatus.js.map +1 -1
  58. package/dist/components/DatePicker/DatePicker.d.ts +45 -2
  59. package/dist/components/DatePicker/DatePicker.d.ts.map +1 -1
  60. package/dist/components/DatePicker/DatePicker.js +228 -11
  61. package/dist/components/DatePicker/DatePicker.js.map +1 -1
  62. package/dist/components/DatePicker/DateSegments.d.ts +60 -0
  63. package/dist/components/DatePicker/DateSegments.d.ts.map +1 -0
  64. package/dist/components/DatePicker/DateSegments.js +80 -0
  65. package/dist/components/DatePicker/DateSegments.js.map +1 -0
  66. package/dist/components/DatePicker/datepicker.types.d.ts +53 -37
  67. package/dist/components/DatePicker/datepicker.types.d.ts.map +1 -1
  68. package/dist/components/DatePicker/datepicker.types.js +5 -3
  69. package/dist/components/DatePicker/datepicker.types.js.map +1 -1
  70. package/dist/components/DatePicker/index.d.ts +10 -1
  71. package/dist/components/DatePicker/index.d.ts.map +1 -1
  72. package/dist/components/DatePicker/index.js +8 -0
  73. package/dist/components/DatePicker/index.js.map +1 -1
  74. package/dist/components/DateRangePicker/DateRangePicker.d.ts +22 -3
  75. package/dist/components/DateRangePicker/DateRangePicker.d.ts.map +1 -1
  76. package/dist/components/DateRangePicker/DateRangePicker.js +38 -24
  77. package/dist/components/DateRangePicker/DateRangePicker.js.map +1 -1
  78. package/dist/components/DateRangePicker/daterangepicker.types.d.ts +26 -21
  79. package/dist/components/DateRangePicker/daterangepicker.types.d.ts.map +1 -1
  80. package/dist/components/DateRangePicker/daterangepicker.types.js +6 -0
  81. package/dist/components/DateRangePicker/daterangepicker.types.js.map +1 -1
  82. package/dist/components/DateRangePicker/index.d.ts +8 -1
  83. package/dist/components/DateRangePicker/index.d.ts.map +1 -1
  84. package/dist/components/DateRangePicker/index.js +6 -0
  85. package/dist/components/DateRangePicker/index.js.map +1 -1
  86. package/dist/components/DateTimePicker/DateTimePicker.d.ts +32 -4
  87. package/dist/components/DateTimePicker/DateTimePicker.d.ts.map +1 -1
  88. package/dist/components/DateTimePicker/DateTimePicker.js +133 -42
  89. package/dist/components/DateTimePicker/DateTimePicker.js.map +1 -1
  90. package/dist/components/DateTimePicker/DateTimeSegments.d.ts +41 -0
  91. package/dist/components/DateTimePicker/DateTimeSegments.d.ts.map +1 -0
  92. package/dist/components/DateTimePicker/DateTimeSegments.js +67 -0
  93. package/dist/components/DateTimePicker/DateTimeSegments.js.map +1 -0
  94. package/dist/components/DateTimePicker/datetimepicker.types.d.ts +26 -18
  95. package/dist/components/DateTimePicker/datetimepicker.types.d.ts.map +1 -1
  96. package/dist/components/DateTimePicker/datetimepicker.types.js +10 -0
  97. package/dist/components/DateTimePicker/datetimepicker.types.js.map +1 -1
  98. package/dist/components/DateTimePicker/index.d.ts +8 -1
  99. package/dist/components/DateTimePicker/index.d.ts.map +1 -1
  100. package/dist/components/DateTimePicker/index.js +6 -0
  101. package/dist/components/DateTimePicker/index.js.map +1 -1
  102. package/dist/components/DateTimeRangePicker/DateTimeRangePicker.d.ts +30 -4
  103. package/dist/components/DateTimeRangePicker/DateTimeRangePicker.d.ts.map +1 -1
  104. package/dist/components/DateTimeRangePicker/DateTimeRangePicker.js +171 -72
  105. package/dist/components/DateTimeRangePicker/DateTimeRangePicker.js.map +1 -1
  106. package/dist/components/DateTimeRangePicker/datetimerangepicker.types.d.ts +28 -19
  107. package/dist/components/DateTimeRangePicker/datetimerangepicker.types.d.ts.map +1 -1
  108. package/dist/components/DateTimeRangePicker/datetimerangepicker.types.js +8 -0
  109. package/dist/components/DateTimeRangePicker/datetimerangepicker.types.js.map +1 -1
  110. package/dist/components/DateTimeRangePicker/index.d.ts +8 -0
  111. package/dist/components/DateTimeRangePicker/index.d.ts.map +1 -1
  112. package/dist/components/DateTimeRangePicker/index.js +7 -0
  113. package/dist/components/DateTimeRangePicker/index.js.map +1 -1
  114. package/dist/components/Field/Field.d.ts +18 -20
  115. package/dist/components/Field/Field.d.ts.map +1 -1
  116. package/dist/components/Field/Field.js +22 -5
  117. package/dist/components/Field/Field.js.map +1 -1
  118. package/dist/components/FormField/FormField.d.ts +15 -0
  119. package/dist/components/FormField/FormField.d.ts.map +1 -1
  120. package/dist/components/FormField/FormField.js +15 -0
  121. package/dist/components/FormField/FormField.js.map +1 -1
  122. package/dist/components/HoverCard/HoverCard.d.ts +6 -0
  123. package/dist/components/HoverCard/HoverCard.d.ts.map +1 -1
  124. package/dist/components/HoverCard/HoverCard.js +6 -0
  125. package/dist/components/HoverCard/HoverCard.js.map +1 -1
  126. package/dist/components/Input/Input.d.ts +15 -0
  127. package/dist/components/Input/Input.d.ts.map +1 -1
  128. package/dist/components/Input/Input.js +18 -3
  129. package/dist/components/Input/Input.js.map +1 -1
  130. package/dist/components/LineChart/LineChart.d.ts +35 -2
  131. package/dist/components/LineChart/LineChart.d.ts.map +1 -1
  132. package/dist/components/LineChart/LineChart.js +22 -3
  133. package/dist/components/LineChart/LineChart.js.map +1 -1
  134. package/dist/components/Markdown/Markdown.d.ts +19 -4
  135. package/dist/components/Markdown/Markdown.d.ts.map +1 -1
  136. package/dist/components/Markdown/Markdown.js +20 -2
  137. package/dist/components/Markdown/Markdown.js.map +1 -1
  138. package/dist/components/Message/Message.d.ts +49 -4
  139. package/dist/components/Message/Message.d.ts.map +1 -1
  140. package/dist/components/Message/Message.js +62 -11
  141. package/dist/components/Message/Message.js.map +1 -1
  142. package/dist/components/Message/index.d.ts +1 -1
  143. package/dist/components/Message/index.d.ts.map +1 -1
  144. package/dist/components/Modal/Modal.d.ts +60 -5
  145. package/dist/components/Modal/Modal.d.ts.map +1 -1
  146. package/dist/components/Modal/Modal.js +52 -6
  147. package/dist/components/Modal/Modal.js.map +1 -1
  148. package/dist/components/Modal/components/ModalContext.d.ts +14 -0
  149. package/dist/components/Modal/components/ModalContext.d.ts.map +1 -1
  150. package/dist/components/Modal/components/ModalContext.js.map +1 -1
  151. package/dist/components/Modal/components/ModalHeader.d.ts.map +1 -1
  152. package/dist/components/Modal/components/ModalHeader.js +13 -2
  153. package/dist/components/Modal/components/ModalHeader.js.map +1 -1
  154. package/dist/components/Popover/Popover.d.ts +29 -0
  155. package/dist/components/Popover/Popover.d.ts.map +1 -1
  156. package/dist/components/Popover/Popover.js +36 -0
  157. package/dist/components/Popover/Popover.js.map +1 -1
  158. package/dist/components/Popover/components/PopoverBody.d.ts.map +1 -1
  159. package/dist/components/Popover/components/PopoverBody.js +5 -2
  160. package/dist/components/Popover/components/PopoverBody.js.map +1 -1
  161. package/dist/components/Popover/components/PopoverContext.d.ts +1 -0
  162. package/dist/components/Popover/components/PopoverContext.d.ts.map +1 -1
  163. package/dist/components/Popover/components/PopoverContext.js.map +1 -1
  164. package/dist/components/Popover/components/PopoverTrigger.d.ts.map +1 -1
  165. package/dist/components/Popover/components/PopoverTrigger.js +2 -2
  166. package/dist/components/Popover/components/PopoverTrigger.js.map +1 -1
  167. package/dist/components/ProgressBar/ProgressBar.d.ts +16 -1
  168. package/dist/components/ProgressBar/ProgressBar.d.ts.map +1 -1
  169. package/dist/components/ProgressBar/ProgressBar.js +19 -3
  170. package/dist/components/ProgressBar/ProgressBar.js.map +1 -1
  171. package/dist/components/RadioButton/RadioButton.d.ts +26 -0
  172. package/dist/components/RadioButton/RadioButton.d.ts.map +1 -1
  173. package/dist/components/RadioButton/RadioButton.js +35 -1
  174. package/dist/components/RadioButton/RadioButton.js.map +1 -1
  175. package/dist/components/RadioButtonGroup/RadioButtonGroup.d.ts +26 -0
  176. package/dist/components/RadioButtonGroup/RadioButtonGroup.d.ts.map +1 -1
  177. package/dist/components/RadioButtonGroup/RadioButtonGroup.js +33 -0
  178. package/dist/components/RadioButtonGroup/RadioButtonGroup.js.map +1 -1
  179. package/dist/components/SearchInput/SearchInput.d.ts +10 -0
  180. package/dist/components/SearchInput/SearchInput.d.ts.map +1 -1
  181. package/dist/components/SearchInput/SearchInput.js +12 -1
  182. package/dist/components/SearchInput/SearchInput.js.map +1 -1
  183. package/dist/components/Select/Select.d.ts +10 -2
  184. package/dist/components/Select/Select.d.ts.map +1 -1
  185. package/dist/components/Select/Select.js +63 -18
  186. package/dist/components/Select/Select.js.map +1 -1
  187. package/dist/components/Select/SelectDropdown.d.ts +14 -2
  188. package/dist/components/Select/SelectDropdown.d.ts.map +1 -1
  189. package/dist/components/Select/SelectDropdown.js +20 -4
  190. package/dist/components/Select/SelectDropdown.js.map +1 -1
  191. package/dist/components/Select/SelectTrigger.d.ts +10 -3
  192. package/dist/components/Select/SelectTrigger.d.ts.map +1 -1
  193. package/dist/components/Select/SelectTrigger.js +12 -3
  194. package/dist/components/Select/SelectTrigger.js.map +1 -1
  195. package/dist/components/Select/useSelectKeyboard.d.ts +15 -1
  196. package/dist/components/Select/useSelectKeyboard.d.ts.map +1 -1
  197. package/dist/components/Select/useSelectKeyboard.js +73 -65
  198. package/dist/components/Select/useSelectKeyboard.js.map +1 -1
  199. package/dist/components/Separator/Separator.d.ts +10 -0
  200. package/dist/components/Separator/Separator.d.ts.map +1 -1
  201. package/dist/components/Separator/Separator.js +10 -0
  202. package/dist/components/Separator/Separator.js.map +1 -1
  203. package/dist/components/Sheet/Sheet.d.ts +25 -5
  204. package/dist/components/Sheet/Sheet.d.ts.map +1 -1
  205. package/dist/components/Sheet/Sheet.js +24 -6
  206. package/dist/components/Sheet/Sheet.js.map +1 -1
  207. package/dist/components/Sheet/components/SheetContext.d.ts +10 -0
  208. package/dist/components/Sheet/components/SheetContext.d.ts.map +1 -1
  209. package/dist/components/Sheet/components/SheetContext.js.map +1 -1
  210. package/dist/components/Sheet/components/SheetFooter.js +1 -1
  211. package/dist/components/Sheet/components/SheetFooter.js.map +1 -1
  212. package/dist/components/Sheet/components/SheetHeader.d.ts.map +1 -1
  213. package/dist/components/Sheet/components/SheetHeader.js +11 -2
  214. package/dist/components/Sheet/components/SheetHeader.js.map +1 -1
  215. package/dist/components/Sparkline/Sparkline.d.ts +21 -2
  216. package/dist/components/Sparkline/Sparkline.d.ts.map +1 -1
  217. package/dist/components/Sparkline/Sparkline.js +16 -3
  218. package/dist/components/Sparkline/Sparkline.js.map +1 -1
  219. package/dist/components/Spinner/Spinner.d.ts +27 -2
  220. package/dist/components/Spinner/Spinner.d.ts.map +1 -1
  221. package/dist/components/Spinner/Spinner.js +28 -3
  222. package/dist/components/Spinner/Spinner.js.map +1 -1
  223. package/dist/components/Switch/Switch.d.ts +18 -0
  224. package/dist/components/Switch/Switch.d.ts.map +1 -1
  225. package/dist/components/Switch/Switch.js +19 -1
  226. package/dist/components/Switch/Switch.js.map +1 -1
  227. package/dist/components/Tabs/Tabs.d.ts +8 -2
  228. package/dist/components/Tabs/Tabs.d.ts.map +1 -1
  229. package/dist/components/Tabs/Tabs.js +6 -0
  230. package/dist/components/Tabs/Tabs.js.map +1 -1
  231. package/dist/components/Tabs/components/TabsList.d.ts +1 -1
  232. package/dist/components/Tabs/components/TabsList.d.ts.map +1 -1
  233. package/dist/components/Tabs/components/TabsList.js +5 -4
  234. package/dist/components/Tabs/components/TabsList.js.map +1 -1
  235. package/dist/components/Tabs/components/TabsPanels.d.ts +1 -1
  236. package/dist/components/Tabs/components/TabsPanels.d.ts.map +1 -1
  237. package/dist/components/Tabs/components/TabsPanels.js +5 -3
  238. package/dist/components/Tabs/components/TabsPanels.js.map +1 -1
  239. package/dist/components/Tabs/components/TabsTrigger.d.ts.map +1 -1
  240. package/dist/components/Tabs/components/TabsTrigger.js +22 -6
  241. package/dist/components/Tabs/components/TabsTrigger.js.map +1 -1
  242. package/dist/components/TagChip/TagChip.d.ts +16 -13
  243. package/dist/components/TagChip/TagChip.d.ts.map +1 -1
  244. package/dist/components/TagChip/TagChip.js +18 -3
  245. package/dist/components/TagChip/TagChip.js.map +1 -1
  246. package/dist/components/TagInput/TagInput.d.ts +12 -9
  247. package/dist/components/TagInput/TagInput.d.ts.map +1 -1
  248. package/dist/components/TagInput/TagInput.js +16 -4
  249. package/dist/components/TagInput/TagInput.js.map +1 -1
  250. package/dist/components/Text/Text.d.ts +9 -0
  251. package/dist/components/Text/Text.d.ts.map +1 -1
  252. package/dist/components/Text/Text.js +9 -0
  253. package/dist/components/Text/Text.js.map +1 -1
  254. package/dist/components/TextInline/TextInline.d.ts +15 -4
  255. package/dist/components/TextInline/TextInline.d.ts.map +1 -1
  256. package/dist/components/TextInline/TextInline.js +11 -0
  257. package/dist/components/TextInline/TextInline.js.map +1 -1
  258. package/dist/components/Textarea/Textarea.d.ts +12 -0
  259. package/dist/components/Textarea/Textarea.d.ts.map +1 -1
  260. package/dist/components/Textarea/Textarea.js +13 -1
  261. package/dist/components/Textarea/Textarea.js.map +1 -1
  262. package/dist/components/TimePicker/TimeColumn.d.ts +10 -1
  263. package/dist/components/TimePicker/TimeColumn.d.ts.map +1 -1
  264. package/dist/components/TimePicker/TimeColumn.js +8 -1
  265. package/dist/components/TimePicker/TimeColumn.js.map +1 -1
  266. package/dist/components/TimePicker/TimePicker.d.ts +34 -2
  267. package/dist/components/TimePicker/TimePicker.d.ts.map +1 -1
  268. package/dist/components/TimePicker/TimePicker.js +118 -15
  269. package/dist/components/TimePicker/TimePicker.js.map +1 -1
  270. package/dist/components/TimePicker/TimeSegments.d.ts +50 -0
  271. package/dist/components/TimePicker/TimeSegments.d.ts.map +1 -0
  272. package/dist/components/TimePicker/TimeSegments.js +93 -0
  273. package/dist/components/TimePicker/TimeSegments.js.map +1 -0
  274. package/dist/components/TimePicker/timepicker.hooks.d.ts +0 -4
  275. package/dist/components/TimePicker/timepicker.hooks.d.ts.map +1 -1
  276. package/dist/components/TimePicker/timepicker.hooks.js +1 -23
  277. package/dist/components/TimePicker/timepicker.hooks.js.map +1 -1
  278. package/dist/components/TimePicker/timepicker.types.d.ts +14 -15
  279. package/dist/components/TimePicker/timepicker.types.d.ts.map +1 -1
  280. package/dist/components/TimePicker/timepicker.types.js +4 -3
  281. package/dist/components/TimePicker/timepicker.types.js.map +1 -1
  282. package/dist/components/Toast/Toast.d.ts +27 -0
  283. package/dist/components/Toast/Toast.d.ts.map +1 -1
  284. package/dist/components/Toast/Toast.js +28 -1
  285. package/dist/components/Toast/Toast.js.map +1 -1
  286. package/dist/components/Toggle/Toggle.d.ts +31 -12
  287. package/dist/components/Toggle/Toggle.d.ts.map +1 -1
  288. package/dist/components/Toggle/Toggle.js +19 -31
  289. package/dist/components/Toggle/Toggle.js.map +1 -1
  290. package/dist/components/Toggle/index.d.ts +1 -1
  291. package/dist/components/Toggle/index.d.ts.map +1 -1
  292. package/dist/components/Toggle/index.js +1 -1
  293. package/dist/components/Toggle/index.js.map +1 -1
  294. package/dist/components/ToggleGroup/ToggleGroup.d.ts +17 -0
  295. package/dist/components/ToggleGroup/ToggleGroup.d.ts.map +1 -1
  296. package/dist/components/ToggleGroup/ToggleGroup.js +17 -0
  297. package/dist/components/ToggleGroup/ToggleGroup.js.map +1 -1
  298. package/dist/components/ToggleGroup/ToggleGroupItem.d.ts +1 -1
  299. package/dist/components/ToggleGroup/ToggleGroupItem.d.ts.map +1 -1
  300. package/dist/components/ToggleGroup/ToggleGroupItem.js +7 -6
  301. package/dist/components/ToggleGroup/ToggleGroupItem.js.map +1 -1
  302. package/dist/components/ToggleGroup/ToggleGroupMultiple.d.ts +4 -3
  303. package/dist/components/ToggleGroup/ToggleGroupMultiple.d.ts.map +1 -1
  304. package/dist/components/ToggleGroup/ToggleGroupMultiple.js +2 -2
  305. package/dist/components/ToggleGroup/ToggleGroupMultiple.js.map +1 -1
  306. package/dist/components/ToggleGroup/ToggleGroupSingle.d.ts +4 -3
  307. package/dist/components/ToggleGroup/ToggleGroupSingle.d.ts.map +1 -1
  308. package/dist/components/ToggleGroup/ToggleGroupSingle.js +2 -2
  309. package/dist/components/ToggleGroup/ToggleGroupSingle.js.map +1 -1
  310. package/dist/components/ToggleGroup/toggleGroup.types.d.ts +12 -3
  311. package/dist/components/ToggleGroup/toggleGroup.types.d.ts.map +1 -1
  312. package/dist/components/Tooltip/Tooltip.d.ts +6 -0
  313. package/dist/components/Tooltip/Tooltip.d.ts.map +1 -1
  314. package/dist/components/Tooltip/Tooltip.js +6 -0
  315. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  316. package/dist/date-time/index.d.ts +2 -0
  317. package/dist/date-time/index.d.ts.map +1 -1
  318. package/dist/date-time/index.js +9 -1
  319. package/dist/date-time/index.js.map +1 -1
  320. package/dist/date-time/iso.d.ts +261 -0
  321. package/dist/date-time/iso.d.ts.map +1 -0
  322. package/dist/date-time/iso.js +358 -0
  323. package/dist/date-time/iso.js.map +1 -0
  324. package/dist/date-time/now.d.ts +7 -6
  325. package/dist/date-time/now.d.ts.map +1 -1
  326. package/dist/date-time/now.js +3 -3
  327. package/dist/date-time/now.js.map +1 -1
  328. package/dist/internal/PickerField.d.ts +45 -0
  329. package/dist/internal/PickerField.d.ts.map +1 -0
  330. package/dist/internal/PickerField.js +24 -0
  331. package/dist/internal/PickerField.js.map +1 -0
  332. package/dist/internal/SegmentedField.d.ts +98 -0
  333. package/dist/internal/SegmentedField.d.ts.map +1 -0
  334. package/dist/internal/SegmentedField.js +315 -0
  335. package/dist/internal/SegmentedField.js.map +1 -0
  336. package/dist/internal/index.d.ts +2 -0
  337. package/dist/internal/index.d.ts.map +1 -1
  338. package/dist/internal/index.js +2 -0
  339. package/dist/internal/index.js.map +1 -1
  340. package/dist/theme/index.d.ts +4 -3
  341. package/dist/theme/index.d.ts.map +1 -1
  342. package/dist/theme/index.js +3 -2
  343. package/dist/theme/index.js.map +1 -1
  344. package/dist/theme/schema.d.ts +49 -33
  345. package/dist/theme/schema.d.ts.map +1 -1
  346. package/dist/theme/schema.js +30 -21
  347. package/dist/theme/schema.js.map +1 -1
  348. package/package.json +11 -59
  349. package/src/components/Badge/Badge.tsx +87 -49
  350. package/src/components/Badge/index.ts +10 -1
  351. package/src/components/BarChart/BarChart.tsx +37 -30
  352. package/src/components/Button/Button.tsx +129 -106
  353. package/src/components/Button/index.ts +10 -1
  354. package/src/components/Calendar/Calendar.tsx +104 -401
  355. package/src/components/Calendar/CalendarView.tsx +454 -0
  356. package/src/components/Calendar/calendar.types.ts +104 -29
  357. package/src/components/Calendar/index.ts +16 -17
  358. package/src/components/Card/Card.tsx +15 -2
  359. package/src/components/Checkbox/Checkbox.tsx +22 -2
  360. package/src/components/CheckboxGroup/CheckboxGroup.tsx +22 -0
  361. package/src/components/Code/Editor/Editor.tsx +2 -2
  362. package/src/components/Code/Editor/themes.ts +50 -32
  363. package/src/components/Code/ValidationStatus/ValidationStatus.tsx +6 -3
  364. package/src/components/DatePicker/DatePicker.tsx +369 -42
  365. package/src/components/DatePicker/DateSegments.tsx +125 -0
  366. package/src/components/DatePicker/datepicker.types.ts +58 -39
  367. package/src/components/DatePicker/index.ts +11 -3
  368. package/src/components/DateRangePicker/DateRangePicker.tsx +38 -24
  369. package/src/components/DateRangePicker/daterangepicker.types.ts +29 -23
  370. package/src/components/DateRangePicker/index.ts +9 -1
  371. package/src/components/DateTimePicker/DateTimePicker.tsx +189 -88
  372. package/src/components/DateTimePicker/DateTimeSegments.tsx +113 -0
  373. package/src/components/DateTimePicker/datetimepicker.types.ts +29 -19
  374. package/src/components/DateTimePicker/index.ts +9 -1
  375. package/src/components/DateTimeRangePicker/DateTimeRangePicker.tsx +251 -126
  376. package/src/components/DateTimeRangePicker/datetimerangepicker.types.ts +31 -20
  377. package/src/components/DateTimeRangePicker/index.ts +9 -0
  378. package/src/components/Field/Field.tsx +25 -26
  379. package/src/components/FormField/FormField.tsx +15 -0
  380. package/src/components/HoverCard/HoverCard.tsx +6 -0
  381. package/src/components/Input/Input.tsx +19 -4
  382. package/src/components/LineChart/LineChart.tsx +164 -141
  383. package/src/components/Markdown/Markdown.tsx +21 -3
  384. package/src/components/Message/Message.tsx +83 -17
  385. package/src/components/Message/index.ts +1 -1
  386. package/src/components/Modal/Modal.tsx +157 -86
  387. package/src/components/Modal/components/ModalContext.tsx +14 -0
  388. package/src/components/Modal/components/ModalHeader.tsx +15 -3
  389. package/src/components/Popover/Popover.tsx +36 -0
  390. package/src/components/Popover/components/PopoverBody.tsx +6 -1
  391. package/src/components/Popover/components/PopoverContext.tsx +1 -0
  392. package/src/components/Popover/components/PopoverTrigger.tsx +2 -1
  393. package/src/components/ProgressBar/ProgressBar.tsx +46 -28
  394. package/src/components/RadioButton/RadioButton.tsx +34 -3
  395. package/src/components/RadioButtonGroup/RadioButtonGroup.tsx +32 -0
  396. package/src/components/SearchInput/SearchInput.tsx +13 -2
  397. package/src/components/Select/Select.tsx +75 -19
  398. package/src/components/Select/SelectDropdown.tsx +45 -12
  399. package/src/components/Select/SelectTrigger.tsx +31 -8
  400. package/src/components/Select/useSelectKeyboard.ts +20 -10
  401. package/src/components/Separator/Separator.tsx +10 -0
  402. package/src/components/Sheet/Sheet.tsx +114 -83
  403. package/src/components/Sheet/components/SheetContext.tsx +10 -0
  404. package/src/components/Sheet/components/SheetFooter.tsx +1 -1
  405. package/src/components/Sheet/components/SheetHeader.tsx +18 -3
  406. package/src/components/Sparkline/Sparkline.tsx +40 -36
  407. package/src/components/Spinner/Spinner.tsx +28 -3
  408. package/src/components/Switch/Switch.tsx +27 -4
  409. package/src/components/Tabs/Tabs.tsx +6 -0
  410. package/src/components/Tabs/components/TabsList.tsx +5 -3
  411. package/src/components/Tabs/components/TabsPanels.tsx +5 -3
  412. package/src/components/Tabs/components/TabsTrigger.tsx +22 -5
  413. package/src/components/TagChip/TagChip.tsx +27 -18
  414. package/src/components/TagInput/TagInput.tsx +16 -11
  415. package/src/components/Text/Text.tsx +9 -0
  416. package/src/components/TextInline/TextInline.tsx +11 -0
  417. package/src/components/Textarea/Textarea.tsx +13 -1
  418. package/src/components/TimePicker/TimeColumn.tsx +24 -1
  419. package/src/components/TimePicker/TimePicker.tsx +157 -51
  420. package/src/components/TimePicker/TimeSegments.tsx +131 -0
  421. package/src/components/TimePicker/timepicker.hooks.ts +1 -24
  422. package/src/components/TimePicker/timepicker.types.ts +14 -16
  423. package/src/components/Toast/Toast.tsx +28 -1
  424. package/src/components/Toggle/Toggle.tsx +34 -32
  425. package/src/components/Toggle/index.ts +1 -1
  426. package/src/components/ToggleGroup/ToggleGroup.tsx +17 -0
  427. package/src/components/ToggleGroup/ToggleGroupItem.tsx +13 -8
  428. package/src/components/ToggleGroup/ToggleGroupMultiple.tsx +3 -1
  429. package/src/components/ToggleGroup/ToggleGroupSingle.tsx +3 -1
  430. package/src/components/ToggleGroup/toggleGroup.types.ts +12 -3
  431. package/src/components/Tooltip/Tooltip.tsx +6 -0
  432. package/src/date-time/index.ts +61 -1
  433. package/src/date-time/iso.ts +511 -0
  434. package/src/date-time/now.ts +10 -9
  435. package/src/internal/PickerField.tsx +90 -0
  436. package/src/internal/SegmentedField.tsx +445 -0
  437. package/src/internal/index.ts +2 -0
  438. package/src/theme/index.ts +11 -9
  439. package/src/theme/recipes/badge.css +140 -0
  440. package/src/theme/recipes/button.css +167 -0
  441. package/src/theme/recipes/card.css +26 -0
  442. package/src/theme/recipes/checkbox.css +44 -0
  443. package/src/theme/recipes/field.css +14 -0
  444. package/src/theme/recipes/index.css +28 -0
  445. package/src/theme/recipes/input.css +29 -0
  446. package/src/theme/recipes/message.css +47 -0
  447. package/src/theme/recipes/modal.css +31 -0
  448. package/src/theme/recipes/radio-button.css +42 -0
  449. package/src/theme/recipes/search-input.css +16 -0
  450. package/src/theme/recipes/select.css +105 -0
  451. package/src/theme/recipes/sheet.css +34 -0
  452. package/src/theme/recipes/spinner.css +17 -0
  453. package/src/theme/recipes/switch.css +39 -0
  454. package/src/theme/recipes/tabs.css +41 -0
  455. package/src/theme/recipes/tag-chip.css +27 -0
  456. package/src/theme/recipes/textarea.css +20 -0
  457. package/src/theme/recipes/toggle.css +92 -0
  458. package/src/theme/schema.ts +59 -58
  459. package/src/theme/tokens.css +824 -0
  460. package/dist/components/Avatar/Avatar.d.ts +0 -6
  461. package/dist/components/Avatar/Avatar.d.ts.map +0 -1
  462. package/dist/components/Avatar/Avatar.js +0 -11
  463. package/dist/components/Avatar/Avatar.js.map +0 -1
  464. package/dist/components/Avatar/index.d.ts +0 -2
  465. package/dist/components/Avatar/index.d.ts.map +0 -1
  466. package/dist/components/Avatar/index.js +0 -2
  467. package/dist/components/Avatar/index.js.map +0 -1
  468. package/dist/components/Breadcrumb/Breadcrumb.d.ts +0 -12
  469. package/dist/components/Breadcrumb/Breadcrumb.d.ts.map +0 -1
  470. package/dist/components/Breadcrumb/Breadcrumb.js +0 -19
  471. package/dist/components/Breadcrumb/Breadcrumb.js.map +0 -1
  472. package/dist/components/Breadcrumb/index.d.ts +0 -2
  473. package/dist/components/Breadcrumb/index.d.ts.map +0 -1
  474. package/dist/components/Breadcrumb/index.js +0 -2
  475. package/dist/components/Breadcrumb/index.js.map +0 -1
  476. package/dist/components/ColorDot/ColorDot.d.ts +0 -13
  477. package/dist/components/ColorDot/ColorDot.d.ts.map +0 -1
  478. package/dist/components/ColorDot/ColorDot.js +0 -34
  479. package/dist/components/ColorDot/ColorDot.js.map +0 -1
  480. package/dist/components/ColorDot/index.d.ts +0 -2
  481. package/dist/components/ColorDot/index.d.ts.map +0 -1
  482. package/dist/components/ColorDot/index.js +0 -2
  483. package/dist/components/ColorDot/index.js.map +0 -1
  484. package/dist/components/EmptyState/EmptyState.d.ts +0 -15
  485. package/dist/components/EmptyState/EmptyState.d.ts.map +0 -1
  486. package/dist/components/EmptyState/EmptyState.js +0 -7
  487. package/dist/components/EmptyState/EmptyState.js.map +0 -1
  488. package/dist/components/EmptyState/index.d.ts +0 -2
  489. package/dist/components/EmptyState/index.d.ts.map +0 -1
  490. package/dist/components/EmptyState/index.js +0 -2
  491. package/dist/components/EmptyState/index.js.map +0 -1
  492. package/dist/components/HeatMap/HeatMapCalendar.d.ts +0 -11
  493. package/dist/components/HeatMap/HeatMapCalendar.d.ts.map +0 -1
  494. package/dist/components/HeatMap/HeatMapCalendar.js +0 -68
  495. package/dist/components/HeatMap/HeatMapCalendar.js.map +0 -1
  496. package/dist/components/HeatMap/HeatMapMatrix.d.ts +0 -12
  497. package/dist/components/HeatMap/HeatMapMatrix.d.ts.map +0 -1
  498. package/dist/components/HeatMap/HeatMapMatrix.js +0 -35
  499. package/dist/components/HeatMap/HeatMapMatrix.js.map +0 -1
  500. package/dist/components/HeatMap/heat-map.utils.d.ts +0 -10
  501. package/dist/components/HeatMap/heat-map.utils.d.ts.map +0 -1
  502. package/dist/components/HeatMap/heat-map.utils.js +0 -10
  503. package/dist/components/HeatMap/heat-map.utils.js.map +0 -1
  504. package/dist/components/HeatMap/index.d.ts +0 -4
  505. package/dist/components/HeatMap/index.d.ts.map +0 -1
  506. package/dist/components/HeatMap/index.js +0 -3
  507. package/dist/components/HeatMap/index.js.map +0 -1
  508. package/dist/components/MetricList/MetricList.d.ts +0 -9
  509. package/dist/components/MetricList/MetricList.d.ts.map +0 -1
  510. package/dist/components/MetricList/MetricList.js +0 -6
  511. package/dist/components/MetricList/MetricList.js.map +0 -1
  512. package/dist/components/MetricList/MetricRow.d.ts +0 -13
  513. package/dist/components/MetricList/MetricRow.d.ts.map +0 -1
  514. package/dist/components/MetricList/MetricRow.js +0 -13
  515. package/dist/components/MetricList/MetricRow.js.map +0 -1
  516. package/dist/components/MetricList/index.d.ts +0 -3
  517. package/dist/components/MetricList/index.d.ts.map +0 -1
  518. package/dist/components/MetricList/index.js +0 -3
  519. package/dist/components/MetricList/index.js.map +0 -1
  520. package/dist/components/NavBottom/NavBottom.d.ts +0 -15
  521. package/dist/components/NavBottom/NavBottom.d.ts.map +0 -1
  522. package/dist/components/NavBottom/NavBottom.js +0 -19
  523. package/dist/components/NavBottom/NavBottom.js.map +0 -1
  524. package/dist/components/NavBottom/index.d.ts +0 -3
  525. package/dist/components/NavBottom/index.d.ts.map +0 -1
  526. package/dist/components/NavBottom/index.js +0 -2
  527. package/dist/components/NavBottom/index.js.map +0 -1
  528. package/dist/components/NavSide/NavItem.d.ts +0 -9
  529. package/dist/components/NavSide/NavItem.d.ts.map +0 -1
  530. package/dist/components/NavSide/NavItem.js +0 -13
  531. package/dist/components/NavSide/NavItem.js.map +0 -1
  532. package/dist/components/NavSide/NavSide.d.ts +0 -15
  533. package/dist/components/NavSide/NavSide.d.ts.map +0 -1
  534. package/dist/components/NavSide/NavSide.js +0 -10
  535. package/dist/components/NavSide/NavSide.js.map +0 -1
  536. package/dist/components/NavSide/index.d.ts +0 -3
  537. package/dist/components/NavSide/index.d.ts.map +0 -1
  538. package/dist/components/NavSide/index.js +0 -2
  539. package/dist/components/NavSide/index.js.map +0 -1
  540. package/dist/components/NavSide/types.d.ts +0 -38
  541. package/dist/components/NavSide/types.d.ts.map +0 -1
  542. package/dist/components/NavSide/types.js +0 -2
  543. package/dist/components/NavSide/types.js.map +0 -1
  544. package/dist/components/Pagination/Pagination.d.ts +0 -35
  545. package/dist/components/Pagination/Pagination.d.ts.map +0 -1
  546. package/dist/components/Pagination/Pagination.js +0 -26
  547. package/dist/components/Pagination/Pagination.js.map +0 -1
  548. package/dist/components/Pagination/index.d.ts +0 -3
  549. package/dist/components/Pagination/index.d.ts.map +0 -1
  550. package/dist/components/Pagination/index.js +0 -2
  551. package/dist/components/Pagination/index.js.map +0 -1
  552. package/dist/components/Skeleton/Skeleton.d.ts +0 -3
  553. package/dist/components/Skeleton/Skeleton.d.ts.map +0 -1
  554. package/dist/components/Skeleton/Skeleton.js +0 -7
  555. package/dist/components/Skeleton/Skeleton.js.map +0 -1
  556. package/dist/components/Skeleton/index.d.ts +0 -2
  557. package/dist/components/Skeleton/index.d.ts.map +0 -1
  558. package/dist/components/Skeleton/index.js +0 -2
  559. package/dist/components/Skeleton/index.js.map +0 -1
  560. package/dist/components/StatsCard/StatsCard.d.ts +0 -17
  561. package/dist/components/StatsCard/StatsCard.d.ts.map +0 -1
  562. package/dist/components/StatsCard/StatsCard.js +0 -13
  563. package/dist/components/StatsCard/StatsCard.js.map +0 -1
  564. package/dist/components/StatsCard/index.d.ts +0 -2
  565. package/dist/components/StatsCard/index.d.ts.map +0 -1
  566. package/dist/components/StatsCard/index.js +0 -2
  567. package/dist/components/StatsCard/index.js.map +0 -1
  568. package/dist/styles.css +0 -2
  569. package/dist/theme.generated.css +0 -438
  570. package/src/components/Avatar/Avatar.tsx +0 -19
  571. package/src/components/Avatar/index.ts +0 -1
  572. package/src/components/Breadcrumb/Breadcrumb.tsx +0 -47
  573. package/src/components/Breadcrumb/index.ts +0 -5
  574. package/src/components/ColorDot/ColorDot.tsx +0 -50
  575. package/src/components/ColorDot/index.ts +0 -1
  576. package/src/components/EmptyState/EmptyState.tsx +0 -29
  577. package/src/components/EmptyState/index.ts +0 -1
  578. package/src/components/HeatMap/HeatMapCalendar.tsx +0 -127
  579. package/src/components/HeatMap/HeatMapMatrix.tsx +0 -75
  580. package/src/components/HeatMap/heat-map.utils.ts +0 -15
  581. package/src/components/HeatMap/index.ts +0 -3
  582. package/src/components/MetricList/MetricList.tsx +0 -13
  583. package/src/components/MetricList/MetricRow.tsx +0 -30
  584. package/src/components/MetricList/index.ts +0 -2
  585. package/src/components/NavBottom/NavBottom.tsx +0 -53
  586. package/src/components/NavBottom/index.ts +0 -3
  587. package/src/components/NavSide/NavItem.tsx +0 -39
  588. package/src/components/NavSide/NavSide.tsx +0 -40
  589. package/src/components/NavSide/index.ts +0 -2
  590. package/src/components/NavSide/types.ts +0 -36
  591. package/src/components/Pagination/Pagination.tsx +0 -86
  592. package/src/components/Pagination/index.ts +0 -2
  593. package/src/components/Skeleton/Skeleton.tsx +0 -7
  594. package/src/components/Skeleton/index.ts +0 -1
  595. package/src/components/StatsCard/StatsCard.tsx +0 -40
  596. package/src/components/StatsCard/index.ts +0 -1
  597. package/src/styles/base.css +0 -41
  598. package/src/theme/palette.json +0 -100
  599. package/src/theme/palette.schema.json +0 -40
  600. package/src/theme/theme.json +0 -349
  601. package/src/theme/theme.schema.json +0 -876
  602. package/src/theme/typography.json +0 -7
  603. package/src/theme/typography.schema.json +0 -36
  604. package/tailwind.config.ts +0 -261
@@ -0,0 +1,824 @@
1
+ /**
2
+ * Design tokens — the single source of truth for the design system.
3
+ *
4
+ * Hand-edited. Three token tiers, each answering a different question, and each
5
+ * with a different editor:
6
+ *
7
+ * 1. Palette — raw scales. What colours exist. Never referenced by
8
+ * components; a new hue is added here and nowhere else.
9
+ * 2. Semantic — what a colour *means*, one block per mode. Every value points
10
+ * at a palette entry, so a re-skin edits tier 1 only. This tier is what
11
+ * collapses the light/dark axis: 145 of its tokens remap between modes, so
12
+ * nothing downstream has to know a mode exists.
13
+ * 3. Component — which meaning a given component part uses, per variant and
14
+ * state. Lives in `recipes/`, imported below. This is the consumer's
15
+ * override surface: tier 2 is edited to re-skin, tier 3 to re-wire.
16
+ *
17
+ * Two emitters carry the tiers into the build:
18
+ *
19
+ * - `@theme` tells Tailwind which utilities exist. Every semantic token needs
20
+ * an entry here or its class does not compile. Component tokens do not —
21
+ * tier 3 is read as plain `var()` in CSS, never through a utility.
22
+ * - `@layer base` holds the few global rules the components genuinely need.
23
+ * App opinions (page background, scroll behaviour) are deliberately not
24
+ * here: a library has no business restyling its consumer's page.
25
+ *
26
+ * Nothing verifies any of that, so when you add a token: put it in *both* mode
27
+ * blocks and give it a `@theme` entry. Miss the dark block and it is undefined
28
+ * in dark mode; miss the `@theme` entry and its utility never compiles. Neither
29
+ * failure raises an error anywhere.
30
+ */
31
+
32
+ /* Tier 3. Imported here rather than from each component's `.tsx` so it reaches
33
+ consumers through the `theme.css` import they already have — the build is
34
+ `tsc` only, which does not copy `.css` into `dist/`. `@import` must precede
35
+ every rule in this file, so this stays at the top. */
36
+ @import "./recipes/index.css";
37
+
38
+ /* =============================================================================
39
+ 1. PALETTE
40
+ ============================================================================= */
41
+
42
+ :root {
43
+ /* Identity. Declared as variables rather than comments so anything that wants
44
+ them — the token documentation stories, a consumer's about page — can read
45
+ them at runtime instead of parsing this file. */
46
+ --theme-name: "Default";
47
+ --theme-version: "0.1.0";
48
+
49
+ --color-emerald-50: #f2fafb;
50
+ --color-emerald-100: #d6eef0;
51
+ --color-emerald-200: #addde0;
52
+ --color-emerald-300: #7cc4c8;
53
+ --color-emerald-400: #4ba5a9;
54
+ --color-emerald-500: #368086;
55
+ --color-emerald-600: #2c666c;
56
+ --color-emerald-700: #234e53;
57
+ --color-emerald-800: #19393d;
58
+ --color-emerald-900: #11292c;
59
+ --color-emerald-950: #0a1a1d;
60
+
61
+ --color-topaz-50: #fff7f0;
62
+ --color-topaz-100: #ffe5d1;
63
+ --color-topaz-200: #fbc89f;
64
+ --color-topaz-300: #f0a066;
65
+ --color-topaz-400: #d9722e;
66
+ --color-topaz-500: #c4530a;
67
+ --color-topaz-600: #9f4007;
68
+ --color-topaz-700: #7b2e06;
69
+ --color-topaz-800: #5a2105;
70
+ --color-topaz-900: #3d1503;
71
+ --color-topaz-950: #230c02;
72
+
73
+ --color-ruby-50: #fff5f6;
74
+ --color-ruby-100: #fde1e4;
75
+ --color-ruby-200: #f8bac3;
76
+ --color-ruby-300: #ec8796;
77
+ --color-ruby-400: #d55368;
78
+ --color-ruby-500: #c33341;
79
+ --color-ruby-600: #9e2533;
80
+ --color-ruby-700: #7a1b27;
81
+ --color-ruby-800: #57131c;
82
+ --color-ruby-900: #3a0c13;
83
+ --color-ruby-950: #21070b;
84
+
85
+ --color-ocean-50: #f0f4fa;
86
+ --color-ocean-100: #dce6f4;
87
+ --color-ocean-200: #b9cde9;
88
+ --color-ocean-300: #8fafd9;
89
+ --color-ocean-400: #6691c7;
90
+ --color-ocean-500: #4573ae;
91
+ --color-ocean-600: #355a8c;
92
+ --color-ocean-700: #034078;
93
+ --color-ocean-800: #022f5a;
94
+ --color-ocean-900: #001f54;
95
+ --color-ocean-950: #0a1128;
96
+
97
+ --color-sky-50: #effcff;
98
+ --color-sky-100: #d6f5fb;
99
+ --color-sky-200: #b3ecf7;
100
+ --color-sky-300: #7fdff0;
101
+ --color-sky-400: #44c9e2;
102
+ --color-sky-500: #1282a2;
103
+ --color-sky-600: #0f6b86;
104
+ --color-sky-700: #10576d;
105
+ --color-sky-800: #12475a;
106
+ --color-sky-900: #133c4c;
107
+ --color-sky-950: #062733;
108
+
109
+ --color-earth-50: #fefcfb;
110
+ --color-earth-100: #faf6f4;
111
+ --color-earth-200: #f2ebe7;
112
+ --color-earth-300: #e8ddd6;
113
+ --color-earth-400: #d4c4b9;
114
+ --color-earth-500: #b8a192;
115
+ --color-earth-600: #9a816f;
116
+ --color-earth-700: #7d6555;
117
+ --color-earth-800: #5e4b40;
118
+ --color-earth-900: #3d302a;
119
+ --color-earth-950: #211916;
120
+
121
+ --color-slate-50: #f8fafc;
122
+ --color-slate-100: #f1f5f9;
123
+ --color-slate-200: #e2e8f0;
124
+ --color-slate-300: #cbd5e1;
125
+ --color-slate-400: #94a3b8;
126
+ --color-slate-500: #64748b;
127
+ --color-slate-600: #475569;
128
+ --color-slate-700: #334155;
129
+ --color-slate-800: #1e293b;
130
+ --color-slate-900: #0f172a;
131
+ --color-slate-950: #020617;
132
+
133
+ --font-sans: Inter Variable, ui-sans-serif, system-ui, sans-serif;
134
+ --font-mono: JetBrains Mono Variable, ui-monospace, monospace;
135
+ }
136
+
137
+ /* =============================================================================
138
+ 2. SEMANTIC TOKENS
139
+ ============================================================================= */
140
+
141
+ :root:not([data-theme]),
142
+ :root[data-theme="light"] {
143
+ /* Background */
144
+ --bg-strong: var(--color-slate-800);
145
+ --bg-strong-hovered: var(--color-slate-900);
146
+ --bg-strong-pressed: var(--color-slate-950);
147
+ --bg-strong-disabled: var(--color-slate-300);
148
+ --bg-normal: white;
149
+ --bg-normal-hovered: var(--color-slate-50);
150
+ --bg-normal-pressed: var(--color-slate-100);
151
+ --bg-normal-disabled: var(--color-slate-200);
152
+ --bg-subtle: var(--color-slate-50);
153
+ --bg-subtle-hovered: var(--color-slate-100);
154
+ --bg-subtle-pressed: var(--color-slate-200);
155
+ --bg-subtle-disabled: var(--color-slate-100);
156
+ --bg-brand-subtle: var(--color-ocean-100);
157
+ --bg-brand-subtle-hovered: var(--color-ocean-200);
158
+ --bg-brand-subtle-pressed: var(--color-ocean-300);
159
+ --bg-brand-subtle-disabled: var(--color-ocean-50);
160
+ --bg-brand: var(--color-ocean-600);
161
+ --bg-brand-hovered: var(--color-ocean-700);
162
+ --bg-brand-pressed: var(--color-ocean-800);
163
+ --bg-brand-disabled: var(--color-ocean-300);
164
+ --bg-brand-strong: var(--color-ocean-800);
165
+ --bg-brand-strong-hovered: var(--color-ocean-900);
166
+ --bg-brand-strong-pressed: var(--color-ocean-950);
167
+ --bg-brand-strong-disabled: var(--color-ocean-400);
168
+ --bg-success-subtle: var(--color-emerald-100);
169
+ --bg-success-subtle-hovered: var(--color-emerald-200);
170
+ --bg-success-subtle-pressed: var(--color-emerald-300);
171
+ --bg-success-subtle-disabled: var(--color-emerald-50);
172
+ --bg-success: var(--color-emerald-600);
173
+ --bg-success-hovered: var(--color-emerald-700);
174
+ --bg-success-pressed: var(--color-emerald-800);
175
+ --bg-success-disabled: var(--color-emerald-300);
176
+ --bg-success-strong: var(--color-emerald-800);
177
+ --bg-success-strong-hovered: var(--color-emerald-900);
178
+ --bg-success-strong-pressed: var(--color-emerald-950);
179
+ --bg-success-strong-disabled: var(--color-emerald-400);
180
+ --bg-warning-subtle: var(--color-topaz-100);
181
+ --bg-warning-subtle-hovered: var(--color-topaz-200);
182
+ --bg-warning-subtle-pressed: var(--color-topaz-300);
183
+ --bg-warning-subtle-disabled: var(--color-topaz-50);
184
+ --bg-warning: var(--color-topaz-600);
185
+ --bg-warning-hovered: var(--color-topaz-700);
186
+ --bg-warning-pressed: var(--color-topaz-800);
187
+ --bg-warning-disabled: var(--color-topaz-300);
188
+ --bg-warning-strong: var(--color-topaz-800);
189
+ --bg-warning-strong-hovered: var(--color-topaz-900);
190
+ --bg-warning-strong-pressed: var(--color-topaz-950);
191
+ --bg-warning-strong-disabled: var(--color-topaz-400);
192
+ --bg-danger-subtle: var(--color-ruby-100);
193
+ --bg-danger-subtle-hovered: var(--color-ruby-200);
194
+ --bg-danger-subtle-pressed: var(--color-ruby-300);
195
+ --bg-danger-subtle-disabled: var(--color-ruby-50);
196
+ --bg-danger: var(--color-ruby-600);
197
+ --bg-danger-hovered: var(--color-ruby-700);
198
+ --bg-danger-pressed: var(--color-ruby-800);
199
+ --bg-danger-disabled: var(--color-ruby-300);
200
+ --bg-danger-strong: var(--color-ruby-800);
201
+ --bg-danger-strong-hovered: var(--color-ruby-900);
202
+ --bg-danger-strong-pressed: var(--color-ruby-950);
203
+ --bg-danger-strong-disabled: var(--color-ruby-400);
204
+ --bg-overlay: rgba(0, 0, 0, 0.5);
205
+
206
+ /* Foreground */
207
+ --fg-strong: var(--color-slate-900);
208
+ --fg-strong-hovered: var(--color-slate-950);
209
+ --fg-strong-pressed: black;
210
+ --fg-strong-disabled: var(--color-slate-400);
211
+ --fg-on-strong: var(--color-slate-50);
212
+ --fg-on-strong-hovered: white;
213
+ --fg-on-strong-pressed: white;
214
+ --fg-on-strong-disabled: var(--color-slate-300);
215
+ --fg-normal: var(--color-slate-900);
216
+ --fg-normal-hovered: var(--color-slate-950);
217
+ --fg-normal-pressed: var(--color-slate-950);
218
+ --fg-normal-disabled: var(--color-slate-400);
219
+ --fg-subtle: var(--color-slate-500);
220
+ --fg-subtle-hovered: var(--color-slate-600);
221
+ --fg-subtle-pressed: var(--color-slate-700);
222
+ --fg-subtle-disabled: var(--color-slate-300);
223
+ --fg-brand: var(--color-ocean-700);
224
+ --fg-brand-hovered: var(--color-ocean-800);
225
+ --fg-brand-pressed: var(--color-ocean-900);
226
+ --fg-brand-disabled: var(--color-ocean-300);
227
+ --fg-on-brand-subtle: var(--color-ocean-800);
228
+ --fg-on-brand-subtle-hovered: var(--color-ocean-900);
229
+ --fg-on-brand-subtle-pressed: var(--color-ocean-950);
230
+ --fg-on-brand-subtle-disabled: var(--color-ocean-400);
231
+ --fg-on-brand: var(--color-slate-50);
232
+ --fg-on-brand-hovered: white;
233
+ --fg-on-brand-pressed: white;
234
+ --fg-on-brand-disabled: var(--color-slate-300);
235
+ --fg-on-brand-strong: var(--color-slate-50);
236
+ --fg-on-brand-strong-hovered: white;
237
+ --fg-on-brand-strong-pressed: white;
238
+ --fg-on-brand-strong-disabled: var(--color-slate-300);
239
+ --fg-success: var(--color-emerald-700);
240
+ --fg-success-hovered: var(--color-emerald-800);
241
+ --fg-success-pressed: var(--color-emerald-900);
242
+ --fg-success-disabled: var(--color-emerald-300);
243
+ --fg-on-success-subtle: var(--color-emerald-800);
244
+ --fg-on-success-subtle-hovered: var(--color-emerald-900);
245
+ --fg-on-success-subtle-pressed: var(--color-emerald-950);
246
+ --fg-on-success-subtle-disabled: var(--color-emerald-400);
247
+ --fg-on-success: var(--color-slate-50);
248
+ --fg-on-success-hovered: white;
249
+ --fg-on-success-pressed: white;
250
+ --fg-on-success-disabled: var(--color-slate-300);
251
+ --fg-on-success-strong: var(--color-slate-50);
252
+ --fg-on-success-strong-hovered: white;
253
+ --fg-on-success-strong-pressed: white;
254
+ --fg-on-success-strong-disabled: var(--color-slate-300);
255
+ --fg-warning: var(--color-topaz-700);
256
+ --fg-warning-hovered: var(--color-topaz-800);
257
+ --fg-warning-pressed: var(--color-topaz-900);
258
+ --fg-warning-disabled: var(--color-topaz-300);
259
+ --fg-on-warning-subtle: var(--color-topaz-800);
260
+ --fg-on-warning-subtle-hovered: var(--color-topaz-900);
261
+ --fg-on-warning-subtle-pressed: var(--color-topaz-950);
262
+ --fg-on-warning-subtle-disabled: var(--color-topaz-400);
263
+ --fg-on-warning: var(--color-slate-50);
264
+ --fg-on-warning-hovered: white;
265
+ --fg-on-warning-pressed: white;
266
+ --fg-on-warning-disabled: var(--color-slate-300);
267
+ --fg-on-warning-strong: var(--color-slate-50);
268
+ --fg-on-warning-strong-hovered: white;
269
+ --fg-on-warning-strong-pressed: white;
270
+ --fg-on-warning-strong-disabled: var(--color-slate-300);
271
+ --fg-danger: var(--color-ruby-700);
272
+ --fg-danger-hovered: var(--color-ruby-800);
273
+ --fg-danger-pressed: var(--color-ruby-900);
274
+ --fg-danger-disabled: var(--color-ruby-300);
275
+ --fg-on-danger-subtle: var(--color-ruby-800);
276
+ --fg-on-danger-subtle-hovered: var(--color-ruby-900);
277
+ --fg-on-danger-subtle-pressed: var(--color-ruby-950);
278
+ --fg-on-danger-subtle-disabled: var(--color-ruby-400);
279
+ --fg-on-danger: var(--color-slate-50);
280
+ --fg-on-danger-hovered: white;
281
+ --fg-on-danger-pressed: white;
282
+ --fg-on-danger-disabled: var(--color-slate-300);
283
+ --fg-on-danger-strong: var(--color-slate-50);
284
+ --fg-on-danger-strong-hovered: white;
285
+ --fg-on-danger-strong-pressed: white;
286
+ --fg-on-danger-strong-disabled: var(--color-slate-300);
287
+
288
+ /* Border */
289
+ --border-strong: var(--color-slate-800);
290
+ --border-strong-hovered: var(--color-slate-900);
291
+ --border-strong-pressed: var(--color-slate-950);
292
+ --border-strong-disabled: var(--color-slate-300);
293
+ --border-normal: var(--color-slate-300);
294
+ --border-normal-hovered: var(--color-slate-400);
295
+ --border-normal-pressed: var(--color-slate-500);
296
+ --border-normal-disabled: var(--color-slate-100);
297
+ --border-subtle: var(--color-slate-100);
298
+ --border-subtle-hovered: var(--color-slate-200);
299
+ --border-subtle-pressed: var(--color-slate-300);
300
+ --border-subtle-disabled: var(--color-slate-50);
301
+ --border-brand-subtle: var(--color-ocean-300);
302
+ --border-brand-subtle-hovered: var(--color-ocean-400);
303
+ --border-brand-subtle-pressed: var(--color-ocean-500);
304
+ --border-brand-subtle-disabled: var(--color-ocean-200);
305
+ --border-brand: var(--color-ocean-600);
306
+ --border-brand-hovered: var(--color-ocean-700);
307
+ --border-brand-pressed: var(--color-ocean-800);
308
+ --border-brand-disabled: var(--color-ocean-200);
309
+ --border-brand-strong: var(--color-ocean-800);
310
+ --border-brand-strong-hovered: var(--color-ocean-900);
311
+ --border-brand-strong-pressed: var(--color-ocean-950);
312
+ --border-brand-strong-disabled: var(--color-ocean-400);
313
+ --border-success: var(--color-emerald-300);
314
+ --border-success-hovered: var(--color-emerald-400);
315
+ --border-success-pressed: var(--color-emerald-500);
316
+ --border-success-disabled: var(--color-emerald-200);
317
+ --border-warning: var(--color-topaz-300);
318
+ --border-warning-hovered: var(--color-topaz-400);
319
+ --border-warning-pressed: var(--color-topaz-500);
320
+ --border-warning-disabled: var(--color-topaz-200);
321
+ --border-danger: var(--color-ruby-300);
322
+ --border-danger-hovered: var(--color-ruby-400);
323
+ --border-danger-pressed: var(--color-ruby-500);
324
+ --border-danger-disabled: var(--color-ruby-200);
325
+
326
+ /* Interaction */
327
+ --focus-ring: var(--color-ocean-500);
328
+ }
329
+
330
+ :root[data-theme="dark"] {
331
+ /* Background */
332
+ --bg-strong: var(--color-slate-200);
333
+ --bg-strong-hovered: var(--color-slate-100);
334
+ --bg-strong-pressed: var(--color-slate-50);
335
+ --bg-strong-disabled: var(--color-slate-600);
336
+ --bg-normal: var(--color-slate-900);
337
+ --bg-normal-hovered: var(--color-slate-800);
338
+ --bg-normal-pressed: var(--color-slate-700);
339
+ --bg-normal-disabled: var(--color-slate-900);
340
+ --bg-subtle: var(--color-slate-800);
341
+ --bg-subtle-hovered: var(--color-slate-700);
342
+ --bg-subtle-pressed: var(--color-slate-600);
343
+ --bg-subtle-disabled: var(--color-slate-800);
344
+ --bg-brand-subtle: var(--color-ocean-950);
345
+ --bg-brand-subtle-hovered: var(--color-ocean-900);
346
+ --bg-brand-subtle-pressed: var(--color-ocean-800);
347
+ --bg-brand-subtle-disabled: var(--color-ocean-950);
348
+ --bg-brand: var(--color-ocean-500);
349
+ --bg-brand-hovered: var(--color-ocean-600);
350
+ --bg-brand-pressed: var(--color-ocean-700);
351
+ --bg-brand-disabled: var(--color-ocean-800);
352
+ --bg-brand-strong: var(--color-ocean-300);
353
+ --bg-brand-strong-hovered: var(--color-ocean-200);
354
+ --bg-brand-strong-pressed: var(--color-ocean-100);
355
+ --bg-brand-strong-disabled: var(--color-ocean-600);
356
+ --bg-success-subtle: var(--color-emerald-950);
357
+ --bg-success-subtle-hovered: var(--color-emerald-900);
358
+ --bg-success-subtle-pressed: var(--color-emerald-800);
359
+ --bg-success-subtle-disabled: var(--color-emerald-950);
360
+ --bg-success: var(--color-emerald-500);
361
+ --bg-success-hovered: var(--color-emerald-600);
362
+ --bg-success-pressed: var(--color-emerald-700);
363
+ --bg-success-disabled: var(--color-emerald-800);
364
+ --bg-success-strong: var(--color-emerald-300);
365
+ --bg-success-strong-hovered: var(--color-emerald-200);
366
+ --bg-success-strong-pressed: var(--color-emerald-100);
367
+ --bg-success-strong-disabled: var(--color-emerald-600);
368
+ --bg-warning-subtle: var(--color-topaz-950);
369
+ --bg-warning-subtle-hovered: var(--color-topaz-900);
370
+ --bg-warning-subtle-pressed: var(--color-topaz-800);
371
+ --bg-warning-subtle-disabled: var(--color-topaz-950);
372
+ --bg-warning: var(--color-topaz-500);
373
+ --bg-warning-hovered: var(--color-topaz-600);
374
+ --bg-warning-pressed: var(--color-topaz-700);
375
+ --bg-warning-disabled: var(--color-topaz-800);
376
+ --bg-warning-strong: var(--color-topaz-300);
377
+ --bg-warning-strong-hovered: var(--color-topaz-200);
378
+ --bg-warning-strong-pressed: var(--color-topaz-100);
379
+ --bg-warning-strong-disabled: var(--color-topaz-600);
380
+ --bg-danger-subtle: var(--color-ruby-950);
381
+ --bg-danger-subtle-hovered: var(--color-ruby-900);
382
+ --bg-danger-subtle-pressed: var(--color-ruby-800);
383
+ --bg-danger-subtle-disabled: var(--color-ruby-950);
384
+ --bg-danger: var(--color-ruby-500);
385
+ --bg-danger-hovered: var(--color-ruby-600);
386
+ --bg-danger-pressed: var(--color-ruby-700);
387
+ --bg-danger-disabled: var(--color-ruby-800);
388
+ --bg-danger-strong: var(--color-ruby-300);
389
+ --bg-danger-strong-hovered: var(--color-ruby-200);
390
+ --bg-danger-strong-pressed: var(--color-ruby-100);
391
+ --bg-danger-strong-disabled: var(--color-ruby-600);
392
+ --bg-overlay: rgba(0, 0, 0, 0.6);
393
+
394
+ /* Foreground */
395
+ --fg-strong: var(--color-slate-50);
396
+ --fg-strong-hovered: white;
397
+ --fg-strong-pressed: white;
398
+ --fg-strong-disabled: var(--color-slate-500);
399
+ --fg-on-strong: var(--color-slate-900);
400
+ --fg-on-strong-hovered: var(--color-slate-950);
401
+ --fg-on-strong-pressed: black;
402
+ --fg-on-strong-disabled: var(--color-slate-500);
403
+ --fg-normal: var(--color-slate-50);
404
+ --fg-normal-hovered: white;
405
+ --fg-normal-pressed: white;
406
+ --fg-normal-disabled: var(--color-slate-500);
407
+ --fg-subtle: var(--color-slate-400);
408
+ --fg-subtle-hovered: var(--color-slate-300);
409
+ --fg-subtle-pressed: var(--color-slate-200);
410
+ --fg-subtle-disabled: var(--color-slate-600);
411
+ --fg-brand: var(--color-ocean-300);
412
+ --fg-brand-hovered: var(--color-ocean-200);
413
+ --fg-brand-pressed: var(--color-ocean-100);
414
+ --fg-brand-disabled: var(--color-ocean-700);
415
+ --fg-on-brand-subtle: var(--color-ocean-300);
416
+ --fg-on-brand-subtle-hovered: var(--color-ocean-200);
417
+ --fg-on-brand-subtle-pressed: var(--color-ocean-100);
418
+ --fg-on-brand-subtle-disabled: var(--color-ocean-700);
419
+ --fg-on-brand: white;
420
+ --fg-on-brand-hovered: white;
421
+ --fg-on-brand-pressed: white;
422
+ --fg-on-brand-disabled: var(--color-slate-400);
423
+ --fg-on-brand-strong: var(--color-slate-900);
424
+ --fg-on-brand-strong-hovered: var(--color-slate-950);
425
+ --fg-on-brand-strong-pressed: black;
426
+ --fg-on-brand-strong-disabled: var(--color-slate-500);
427
+ --fg-success: var(--color-emerald-300);
428
+ --fg-success-hovered: var(--color-emerald-200);
429
+ --fg-success-pressed: var(--color-emerald-100);
430
+ --fg-success-disabled: var(--color-emerald-700);
431
+ --fg-on-success-subtle: var(--color-emerald-300);
432
+ --fg-on-success-subtle-hovered: var(--color-emerald-200);
433
+ --fg-on-success-subtle-pressed: var(--color-emerald-100);
434
+ --fg-on-success-subtle-disabled: var(--color-emerald-700);
435
+ --fg-on-success: white;
436
+ --fg-on-success-hovered: white;
437
+ --fg-on-success-pressed: white;
438
+ --fg-on-success-disabled: var(--color-slate-500);
439
+ --fg-on-success-strong: var(--color-slate-900);
440
+ --fg-on-success-strong-hovered: var(--color-slate-950);
441
+ --fg-on-success-strong-pressed: black;
442
+ --fg-on-success-strong-disabled: var(--color-slate-500);
443
+ --fg-warning: var(--color-topaz-300);
444
+ --fg-warning-hovered: var(--color-topaz-200);
445
+ --fg-warning-pressed: var(--color-topaz-100);
446
+ --fg-warning-disabled: var(--color-topaz-700);
447
+ --fg-on-warning-subtle: var(--color-topaz-300);
448
+ --fg-on-warning-subtle-hovered: var(--color-topaz-200);
449
+ --fg-on-warning-subtle-pressed: var(--color-topaz-100);
450
+ --fg-on-warning-subtle-disabled: var(--color-topaz-700);
451
+ --fg-on-warning: white;
452
+ --fg-on-warning-hovered: white;
453
+ --fg-on-warning-pressed: white;
454
+ --fg-on-warning-disabled: var(--color-slate-500);
455
+ --fg-on-warning-strong: var(--color-slate-900);
456
+ --fg-on-warning-strong-hovered: var(--color-slate-950);
457
+ --fg-on-warning-strong-pressed: black;
458
+ --fg-on-warning-strong-disabled: var(--color-slate-500);
459
+ --fg-danger: var(--color-ruby-300);
460
+ --fg-danger-hovered: var(--color-ruby-200);
461
+ --fg-danger-pressed: var(--color-ruby-100);
462
+ --fg-danger-disabled: var(--color-ruby-700);
463
+ --fg-on-danger-subtle: var(--color-ruby-300);
464
+ --fg-on-danger-subtle-hovered: var(--color-ruby-200);
465
+ --fg-on-danger-subtle-pressed: var(--color-ruby-100);
466
+ --fg-on-danger-subtle-disabled: var(--color-ruby-700);
467
+ --fg-on-danger: white;
468
+ --fg-on-danger-hovered: white;
469
+ --fg-on-danger-pressed: white;
470
+ --fg-on-danger-disabled: var(--color-slate-500);
471
+ --fg-on-danger-strong: var(--color-slate-900);
472
+ --fg-on-danger-strong-hovered: var(--color-slate-950);
473
+ --fg-on-danger-strong-pressed: black;
474
+ --fg-on-danger-strong-disabled: var(--color-slate-500);
475
+
476
+ /* Border */
477
+ --border-strong: var(--color-slate-200);
478
+ --border-strong-hovered: var(--color-slate-100);
479
+ --border-strong-pressed: var(--color-slate-50);
480
+ --border-strong-disabled: var(--color-slate-600);
481
+ --border-normal: var(--color-slate-700);
482
+ --border-normal-hovered: var(--color-slate-600);
483
+ --border-normal-pressed: var(--color-slate-500);
484
+ --border-normal-disabled: var(--color-slate-800);
485
+ --border-subtle: var(--color-slate-800);
486
+ --border-subtle-hovered: var(--color-slate-700);
487
+ --border-subtle-pressed: var(--color-slate-600);
488
+ --border-subtle-disabled: var(--color-slate-900);
489
+ --border-brand-subtle: var(--color-ocean-700);
490
+ --border-brand-subtle-hovered: var(--color-ocean-600);
491
+ --border-brand-subtle-pressed: var(--color-ocean-500);
492
+ --border-brand-subtle-disabled: var(--color-ocean-800);
493
+ --border-brand: var(--color-ocean-500);
494
+ --border-brand-hovered: var(--color-ocean-400);
495
+ --border-brand-pressed: var(--color-ocean-300);
496
+ --border-brand-disabled: var(--color-ocean-800);
497
+ --border-brand-strong: var(--color-ocean-300);
498
+ --border-brand-strong-hovered: var(--color-ocean-200);
499
+ --border-brand-strong-pressed: var(--color-ocean-100);
500
+ --border-brand-strong-disabled: var(--color-ocean-600);
501
+ --border-success: var(--color-emerald-700);
502
+ --border-success-hovered: var(--color-emerald-600);
503
+ --border-success-pressed: var(--color-emerald-500);
504
+ --border-success-disabled: var(--color-emerald-800);
505
+ --border-warning: var(--color-topaz-700);
506
+ --border-warning-hovered: var(--color-topaz-600);
507
+ --border-warning-pressed: var(--color-topaz-500);
508
+ --border-warning-disabled: var(--color-topaz-800);
509
+ --border-danger: var(--color-ruby-700);
510
+ --border-danger-hovered: var(--color-ruby-600);
511
+ --border-danger-pressed: var(--color-ruby-500);
512
+ --border-danger-disabled: var(--color-ruby-800);
513
+
514
+ /* Interaction */
515
+ --focus-ring: var(--color-ocean-400);
516
+ }
517
+
518
+ /* =============================================================================
519
+ 3. TAILWIND THEME
520
+ ============================================================================= */
521
+
522
+ /* Theming is a runtime variable swap, not a build-time variant, so `dark:` is
523
+ only here for consumers who reach for it. Components never use it. */
524
+ @custom-variant dark (&:where([data-theme="dark"], [data-theme="dark"] *));
525
+
526
+ @theme inline {
527
+ /* Drop Tailwind's stock palette: a `bg-red-500` in component source is a
528
+ token that was never designed, so it should fail to compile. */
529
+ --color-*: initial;
530
+ --color-white: #ffffff;
531
+ --color-black: #000000;
532
+
533
+ /* Background */
534
+ --color-bg-strong: var(--bg-strong);
535
+ --color-bg-strong-hovered: var(--bg-strong-hovered);
536
+ --color-bg-strong-pressed: var(--bg-strong-pressed);
537
+ --color-bg-strong-disabled: var(--bg-strong-disabled);
538
+ --color-bg-normal: var(--bg-normal);
539
+ --color-bg-normal-hovered: var(--bg-normal-hovered);
540
+ --color-bg-normal-pressed: var(--bg-normal-pressed);
541
+ --color-bg-normal-disabled: var(--bg-normal-disabled);
542
+ --color-bg-subtle: var(--bg-subtle);
543
+ --color-bg-subtle-hovered: var(--bg-subtle-hovered);
544
+ --color-bg-subtle-pressed: var(--bg-subtle-pressed);
545
+ --color-bg-subtle-disabled: var(--bg-subtle-disabled);
546
+ --color-bg-brand-subtle: var(--bg-brand-subtle);
547
+ --color-bg-brand-subtle-hovered: var(--bg-brand-subtle-hovered);
548
+ --color-bg-brand-subtle-pressed: var(--bg-brand-subtle-pressed);
549
+ --color-bg-brand-subtle-disabled: var(--bg-brand-subtle-disabled);
550
+ --color-bg-brand: var(--bg-brand);
551
+ --color-bg-brand-hovered: var(--bg-brand-hovered);
552
+ --color-bg-brand-pressed: var(--bg-brand-pressed);
553
+ --color-bg-brand-disabled: var(--bg-brand-disabled);
554
+ --color-bg-brand-strong: var(--bg-brand-strong);
555
+ --color-bg-brand-strong-hovered: var(--bg-brand-strong-hovered);
556
+ --color-bg-brand-strong-pressed: var(--bg-brand-strong-pressed);
557
+ --color-bg-brand-strong-disabled: var(--bg-brand-strong-disabled);
558
+ --color-bg-success-subtle: var(--bg-success-subtle);
559
+ --color-bg-success-subtle-hovered: var(--bg-success-subtle-hovered);
560
+ --color-bg-success-subtle-pressed: var(--bg-success-subtle-pressed);
561
+ --color-bg-success-subtle-disabled: var(--bg-success-subtle-disabled);
562
+ --color-bg-success: var(--bg-success);
563
+ --color-bg-success-hovered: var(--bg-success-hovered);
564
+ --color-bg-success-pressed: var(--bg-success-pressed);
565
+ --color-bg-success-disabled: var(--bg-success-disabled);
566
+ --color-bg-success-strong: var(--bg-success-strong);
567
+ --color-bg-success-strong-hovered: var(--bg-success-strong-hovered);
568
+ --color-bg-success-strong-pressed: var(--bg-success-strong-pressed);
569
+ --color-bg-success-strong-disabled: var(--bg-success-strong-disabled);
570
+ --color-bg-warning-subtle: var(--bg-warning-subtle);
571
+ --color-bg-warning-subtle-hovered: var(--bg-warning-subtle-hovered);
572
+ --color-bg-warning-subtle-pressed: var(--bg-warning-subtle-pressed);
573
+ --color-bg-warning-subtle-disabled: var(--bg-warning-subtle-disabled);
574
+ --color-bg-warning: var(--bg-warning);
575
+ --color-bg-warning-hovered: var(--bg-warning-hovered);
576
+ --color-bg-warning-pressed: var(--bg-warning-pressed);
577
+ --color-bg-warning-disabled: var(--bg-warning-disabled);
578
+ --color-bg-warning-strong: var(--bg-warning-strong);
579
+ --color-bg-warning-strong-hovered: var(--bg-warning-strong-hovered);
580
+ --color-bg-warning-strong-pressed: var(--bg-warning-strong-pressed);
581
+ --color-bg-warning-strong-disabled: var(--bg-warning-strong-disabled);
582
+ --color-bg-danger-subtle: var(--bg-danger-subtle);
583
+ --color-bg-danger-subtle-hovered: var(--bg-danger-subtle-hovered);
584
+ --color-bg-danger-subtle-pressed: var(--bg-danger-subtle-pressed);
585
+ --color-bg-danger-subtle-disabled: var(--bg-danger-subtle-disabled);
586
+ --color-bg-danger: var(--bg-danger);
587
+ --color-bg-danger-hovered: var(--bg-danger-hovered);
588
+ --color-bg-danger-pressed: var(--bg-danger-pressed);
589
+ --color-bg-danger-disabled: var(--bg-danger-disabled);
590
+ --color-bg-danger-strong: var(--bg-danger-strong);
591
+ --color-bg-danger-strong-hovered: var(--bg-danger-strong-hovered);
592
+ --color-bg-danger-strong-pressed: var(--bg-danger-strong-pressed);
593
+ --color-bg-danger-strong-disabled: var(--bg-danger-strong-disabled);
594
+ --color-bg-overlay: var(--bg-overlay);
595
+
596
+ /* Foreground */
597
+ --color-fg-strong: var(--fg-strong);
598
+ --color-fg-strong-hovered: var(--fg-strong-hovered);
599
+ --color-fg-strong-pressed: var(--fg-strong-pressed);
600
+ --color-fg-strong-disabled: var(--fg-strong-disabled);
601
+ --color-fg-on-strong: var(--fg-on-strong);
602
+ --color-fg-on-strong-hovered: var(--fg-on-strong-hovered);
603
+ --color-fg-on-strong-pressed: var(--fg-on-strong-pressed);
604
+ --color-fg-on-strong-disabled: var(--fg-on-strong-disabled);
605
+ --color-fg-normal: var(--fg-normal);
606
+ --color-fg-normal-hovered: var(--fg-normal-hovered);
607
+ --color-fg-normal-pressed: var(--fg-normal-pressed);
608
+ --color-fg-normal-disabled: var(--fg-normal-disabled);
609
+ --color-fg-subtle: var(--fg-subtle);
610
+ --color-fg-subtle-hovered: var(--fg-subtle-hovered);
611
+ --color-fg-subtle-pressed: var(--fg-subtle-pressed);
612
+ --color-fg-subtle-disabled: var(--fg-subtle-disabled);
613
+ --color-fg-brand: var(--fg-brand);
614
+ --color-fg-brand-hovered: var(--fg-brand-hovered);
615
+ --color-fg-brand-pressed: var(--fg-brand-pressed);
616
+ --color-fg-brand-disabled: var(--fg-brand-disabled);
617
+ --color-fg-on-brand-subtle: var(--fg-on-brand-subtle);
618
+ --color-fg-on-brand-subtle-hovered: var(--fg-on-brand-subtle-hovered);
619
+ --color-fg-on-brand-subtle-pressed: var(--fg-on-brand-subtle-pressed);
620
+ --color-fg-on-brand-subtle-disabled: var(--fg-on-brand-subtle-disabled);
621
+ --color-fg-on-brand: var(--fg-on-brand);
622
+ --color-fg-on-brand-hovered: var(--fg-on-brand-hovered);
623
+ --color-fg-on-brand-pressed: var(--fg-on-brand-pressed);
624
+ --color-fg-on-brand-disabled: var(--fg-on-brand-disabled);
625
+ --color-fg-on-brand-strong: var(--fg-on-brand-strong);
626
+ --color-fg-on-brand-strong-hovered: var(--fg-on-brand-strong-hovered);
627
+ --color-fg-on-brand-strong-pressed: var(--fg-on-brand-strong-pressed);
628
+ --color-fg-on-brand-strong-disabled: var(--fg-on-brand-strong-disabled);
629
+ --color-fg-success: var(--fg-success);
630
+ --color-fg-success-hovered: var(--fg-success-hovered);
631
+ --color-fg-success-pressed: var(--fg-success-pressed);
632
+ --color-fg-success-disabled: var(--fg-success-disabled);
633
+ --color-fg-on-success-subtle: var(--fg-on-success-subtle);
634
+ --color-fg-on-success-subtle-hovered: var(--fg-on-success-subtle-hovered);
635
+ --color-fg-on-success-subtle-pressed: var(--fg-on-success-subtle-pressed);
636
+ --color-fg-on-success-subtle-disabled: var(--fg-on-success-subtle-disabled);
637
+ --color-fg-on-success: var(--fg-on-success);
638
+ --color-fg-on-success-hovered: var(--fg-on-success-hovered);
639
+ --color-fg-on-success-pressed: var(--fg-on-success-pressed);
640
+ --color-fg-on-success-disabled: var(--fg-on-success-disabled);
641
+ --color-fg-warning: var(--fg-warning);
642
+ --color-fg-warning-hovered: var(--fg-warning-hovered);
643
+ --color-fg-warning-pressed: var(--fg-warning-pressed);
644
+ --color-fg-warning-disabled: var(--fg-warning-disabled);
645
+ --color-fg-on-warning-subtle: var(--fg-on-warning-subtle);
646
+ --color-fg-on-warning-subtle-hovered: var(--fg-on-warning-subtle-hovered);
647
+ --color-fg-on-warning-subtle-pressed: var(--fg-on-warning-subtle-pressed);
648
+ --color-fg-on-warning-subtle-disabled: var(--fg-on-warning-subtle-disabled);
649
+ --color-fg-on-warning: var(--fg-on-warning);
650
+ --color-fg-on-warning-hovered: var(--fg-on-warning-hovered);
651
+ --color-fg-on-warning-pressed: var(--fg-on-warning-pressed);
652
+ --color-fg-on-warning-disabled: var(--fg-on-warning-disabled);
653
+ --color-fg-danger: var(--fg-danger);
654
+ --color-fg-danger-hovered: var(--fg-danger-hovered);
655
+ --color-fg-danger-pressed: var(--fg-danger-pressed);
656
+ --color-fg-danger-disabled: var(--fg-danger-disabled);
657
+ --color-fg-on-danger-subtle: var(--fg-on-danger-subtle);
658
+ --color-fg-on-danger-subtle-hovered: var(--fg-on-danger-subtle-hovered);
659
+ --color-fg-on-danger-subtle-pressed: var(--fg-on-danger-subtle-pressed);
660
+ --color-fg-on-danger-subtle-disabled: var(--fg-on-danger-subtle-disabled);
661
+ --color-fg-on-danger: var(--fg-on-danger);
662
+ --color-fg-on-danger-hovered: var(--fg-on-danger-hovered);
663
+ --color-fg-on-danger-pressed: var(--fg-on-danger-pressed);
664
+ --color-fg-on-danger-disabled: var(--fg-on-danger-disabled);
665
+
666
+ /* Border */
667
+ --color-border-strong: var(--border-strong);
668
+ --color-border-strong-hovered: var(--border-strong-hovered);
669
+ --color-border-strong-pressed: var(--border-strong-pressed);
670
+ --color-border-strong-disabled: var(--border-strong-disabled);
671
+ --color-border-normal: var(--border-normal);
672
+ --color-border-normal-hovered: var(--border-normal-hovered);
673
+ --color-border-normal-pressed: var(--border-normal-pressed);
674
+ --color-border-normal-disabled: var(--border-normal-disabled);
675
+ --color-border-subtle: var(--border-subtle);
676
+ --color-border-subtle-hovered: var(--border-subtle-hovered);
677
+ --color-border-subtle-pressed: var(--border-subtle-pressed);
678
+ --color-border-subtle-disabled: var(--border-subtle-disabled);
679
+ --color-border-brand-subtle: var(--border-brand-subtle);
680
+ --color-border-brand-subtle-hovered: var(--border-brand-subtle-hovered);
681
+ --color-border-brand-subtle-pressed: var(--border-brand-subtle-pressed);
682
+ --color-border-brand-subtle-disabled: var(--border-brand-subtle-disabled);
683
+ --color-border-brand: var(--border-brand);
684
+ --color-border-brand-hovered: var(--border-brand-hovered);
685
+ --color-border-brand-pressed: var(--border-brand-pressed);
686
+ --color-border-brand-disabled: var(--border-brand-disabled);
687
+ --color-border-brand-strong: var(--border-brand-strong);
688
+ --color-border-brand-strong-hovered: var(--border-brand-strong-hovered);
689
+ --color-border-brand-strong-pressed: var(--border-brand-strong-pressed);
690
+ --color-border-brand-strong-disabled: var(--border-brand-strong-disabled);
691
+ --color-border-success: var(--border-success);
692
+ --color-border-success-hovered: var(--border-success-hovered);
693
+ --color-border-success-pressed: var(--border-success-pressed);
694
+ --color-border-success-disabled: var(--border-success-disabled);
695
+ --color-border-warning: var(--border-warning);
696
+ --color-border-warning-hovered: var(--border-warning-hovered);
697
+ --color-border-warning-pressed: var(--border-warning-pressed);
698
+ --color-border-warning-disabled: var(--border-warning-disabled);
699
+ --color-border-danger: var(--border-danger);
700
+ --color-border-danger-hovered: var(--border-danger-hovered);
701
+ --color-border-danger-pressed: var(--border-danger-pressed);
702
+ --color-border-danger-disabled: var(--border-danger-disabled);
703
+
704
+ /* Interaction */
705
+ --color-focus-ring: var(--focus-ring);
706
+
707
+ /* Stacking order. Named tokens only — never a raw `z-[n]`. */
708
+ --z-index-content-sticky: 10;
709
+ --z-index-app-bar: 30;
710
+ --z-index-sheet: 50;
711
+ --z-index-popover: 60;
712
+ --z-index-modal: 70;
713
+ --z-index-toast: 9999;
714
+
715
+ /* Overlay enter/exit pairs, selected by `data-state`. */
716
+ --animate-fade-in: fade-in 200ms ease-out forwards;
717
+ --animate-fade-out: fade-out 200ms ease-out forwards;
718
+ --animate-fade-in-slow: fade-in 300ms ease-out forwards;
719
+ --animate-fade-out-slow: fade-out 300ms ease-out forwards;
720
+ --animate-slide-up-in: slide-up-in 200ms ease-out forwards;
721
+ --animate-slide-up-out: slide-up-out 200ms ease-out forwards;
722
+ --animate-slide-right-in: slide-right-in 200ms ease-out forwards;
723
+ --animate-slide-right-out: slide-right-out 200ms ease-out forwards;
724
+ --animate-slide-left-in: slide-left-in 200ms ease-out forwards;
725
+ --animate-slide-left-out: slide-left-out 200ms ease-out forwards;
726
+
727
+ @keyframes fade-in {
728
+ from {
729
+ opacity: 0;
730
+ }
731
+ to {
732
+ opacity: 1;
733
+ }
734
+ }
735
+ @keyframes fade-out {
736
+ from {
737
+ opacity: 1;
738
+ }
739
+ to {
740
+ opacity: 0;
741
+ }
742
+ }
743
+ @keyframes slide-up-in {
744
+ from {
745
+ transform: translateY(100%);
746
+ }
747
+ to {
748
+ transform: translateY(0);
749
+ }
750
+ }
751
+ @keyframes slide-up-out {
752
+ from {
753
+ transform: translateY(0);
754
+ }
755
+ to {
756
+ transform: translateY(100%);
757
+ }
758
+ }
759
+ @keyframes slide-right-in {
760
+ from {
761
+ transform: translateX(100%);
762
+ }
763
+ to {
764
+ transform: translateX(0);
765
+ }
766
+ }
767
+ @keyframes slide-right-out {
768
+ from {
769
+ transform: translateX(0);
770
+ }
771
+ to {
772
+ transform: translateX(100%);
773
+ }
774
+ }
775
+ @keyframes slide-left-in {
776
+ from {
777
+ transform: translateX(-100%);
778
+ }
779
+ to {
780
+ transform: translateX(0);
781
+ }
782
+ }
783
+ @keyframes slide-left-out {
784
+ from {
785
+ transform: translateX(0);
786
+ }
787
+ to {
788
+ transform: translateX(-100%);
789
+ }
790
+ }
791
+ }
792
+
793
+ /* =============================================================================
794
+ 4. BASE LAYER
795
+ ============================================================================= */
796
+
797
+ /* Not app styling — each of these is something the components depend on. */
798
+ @layer base {
799
+ /* Tailwind's preflight defaults border-color to currentColor, so any component
800
+ using a bare `border` would take its border from the text colour. */
801
+ * {
802
+ @apply border-border-normal;
803
+ }
804
+
805
+ /* Twenty components have no focus style of their own and rely on this. */
806
+ :focus-visible {
807
+ @apply outline-hidden ring-2 ring-focus-ring ring-offset-2 ring-offset-bg-normal;
808
+ }
809
+
810
+ /* Honored globally rather than per component, so every animation the system
811
+ ships inherits it. `!important` is the point: it has to beat the animation
812
+ utilities on the elements themselves. */
813
+ @media (prefers-reduced-motion: reduce) {
814
+ /* biome-ignore-start lint/complexity/noImportantStyles: overriding utility-level animations is the intent */
815
+ *,
816
+ *::before,
817
+ *::after {
818
+ animation-duration: 0.01ms !important;
819
+ animation-iteration-count: 1 !important;
820
+ transition-duration: 0.01ms !important;
821
+ }
822
+ /* biome-ignore-end lint/complexity/noImportantStyles: overriding utility-level animations is the intent */
823
+ }
824
+ }