@sovereignfs/ui 0.83.1 → 0.89.1

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 (556) hide show
  1. package/LICENSE +373 -661
  2. package/NOTICE +8 -0
  3. package/README.md +4 -6
  4. package/dist/AppsLauncher.module.css +6 -0
  5. package/dist/Button.module.css +5 -0
  6. package/dist/Card.module.css +6 -0
  7. package/dist/CardTile.module.css +6 -0
  8. package/dist/CheckableListRow.module.css +8 -0
  9. package/dist/Checkbox.module.css +8 -0
  10. package/dist/CodeTextarea.module.css +6 -0
  11. package/dist/ColorPicker.module.css +6 -0
  12. package/dist/Combobox.module.css +6 -0
  13. package/dist/Command.module.css +6 -0
  14. package/dist/ConfirmDialog.module.css +6 -0
  15. package/dist/DatePicker.module.css +6 -0
  16. package/dist/Dialog.module.css +1 -1
  17. package/dist/DragHandleRow.module.css +6 -0
  18. package/dist/FileDropzone.module.css +25 -1
  19. package/dist/Header.module.css +6 -0
  20. package/dist/IconPicker.module.css +14 -4
  21. package/dist/Input.module.css +6 -0
  22. package/dist/LegalLinks.module.css +9 -2
  23. package/dist/Markdown.module.css +5 -0
  24. package/dist/Message.module.css +9 -0
  25. package/dist/MobileAppsDrawer.module.css +9 -5
  26. package/dist/MobileFooter.module.css +6 -0
  27. package/dist/NavList.module.css +11 -2
  28. package/dist/NavTabs.module.css +7 -1
  29. package/dist/NotificationsPanel.module.css +10 -0
  30. package/dist/QrCode.module.css +17 -0
  31. package/dist/QuantityStepper.module.css +4 -2
  32. package/dist/RadioGroup.module.css +6 -0
  33. package/dist/SegmentedControl.module.css +6 -0
  34. package/dist/Select.module.css +6 -0
  35. package/dist/Sheet.module.css +16 -1
  36. package/dist/SplitPane.module.css +1 -1
  37. package/dist/StepStrip.module.css +5 -3
  38. package/dist/SuggestionInput.module.css +12 -1
  39. package/dist/SwipableMobileCarouselDots.module.css +6 -0
  40. package/dist/SystemBanner.module.css +6 -0
  41. package/dist/Tabs.module.css +6 -0
  42. package/dist/TagInput.module.css +6 -0
  43. package/dist/Textarea.module.css +6 -0
  44. package/dist/Toast.module.css +5 -0
  45. package/dist/Toggle.module.css +7 -0
  46. package/dist/Tooltip.module.css +6 -0
  47. package/dist/UserMenu.module.css +5 -0
  48. package/dist/fonts/OFL.txt +93 -0
  49. package/dist/fonts/hanken-grotesk-cyrillic-ext-wght-normal.woff2 +0 -0
  50. package/dist/fonts/hanken-grotesk-latin-ext-wght-normal.woff2 +0 -0
  51. package/dist/fonts/hanken-grotesk-latin-wght-normal.woff2 +0 -0
  52. package/dist/fonts/hanken-grotesk-vietnamese-wght-normal.woff2 +0 -0
  53. package/dist/index.d.ts +121 -43
  54. package/dist/index.js +1410 -1152
  55. package/dist/tokens/fonts.css +53 -0
  56. package/dist/tokens/primitives.css +12 -12
  57. package/dist/tokens.css +2 -1
  58. package/package.json +24 -13
  59. package/src/__tests__/motion.test.tsx +0 -105
  60. package/src/__tests__/package-json.test.ts +0 -8
  61. package/src/components/Accordion/Accordion.module.css +0 -3
  62. package/src/components/Accordion/Accordion.stories.tsx +0 -110
  63. package/src/components/Accordion/Accordion.tsx +0 -53
  64. package/src/components/Accordion/__tests__/Accordion.test.tsx +0 -61
  65. package/src/components/Alert/Alert.module.css +0 -62
  66. package/src/components/Alert/Alert.stories.tsx +0 -96
  67. package/src/components/Alert/Alert.tsx +0 -58
  68. package/src/components/Alert/__tests__/Alert.test.tsx +0 -75
  69. package/src/components/AppsLauncher/AppsLauncher.module.css +0 -96
  70. package/src/components/AppsLauncher/AppsLauncher.stories.tsx +0 -58
  71. package/src/components/AppsLauncher/AppsLauncher.tsx +0 -117
  72. package/src/components/AppsLauncher/__tests__/AppsLauncher.test.tsx +0 -52
  73. package/src/components/AspectRatio/AspectRatio.module.css +0 -15
  74. package/src/components/AspectRatio/AspectRatio.stories.tsx +0 -78
  75. package/src/components/AspectRatio/AspectRatio.tsx +0 -21
  76. package/src/components/AspectRatio/__tests__/AspectRatio.test.tsx +0 -27
  77. package/src/components/Avatar/Avatar.module.css +0 -38
  78. package/src/components/Avatar/Avatar.tsx +0 -42
  79. package/src/components/Badge/Badge.module.css +0 -177
  80. package/src/components/Badge/Badge.stories.tsx +0 -238
  81. package/src/components/Badge/Badge.tsx +0 -84
  82. package/src/components/Badge/__tests__/Badge.test.tsx +0 -90
  83. package/src/components/BalanceChip/BalanceChip.module.css +0 -32
  84. package/src/components/BalanceChip/BalanceChip.stories.tsx +0 -45
  85. package/src/components/BalanceChip/BalanceChip.tsx +0 -33
  86. package/src/components/Breadcrumb/Breadcrumb.module.css +0 -49
  87. package/src/components/Breadcrumb/Breadcrumb.stories.tsx +0 -47
  88. package/src/components/Breadcrumb/Breadcrumb.tsx +0 -57
  89. package/src/components/Breadcrumb/__tests__/Breadcrumb.test.tsx +0 -52
  90. package/src/components/Button/Button.module.css +0 -169
  91. package/src/components/Button/Button.stories.tsx +0 -83
  92. package/src/components/Button/Button.tsx +0 -52
  93. package/src/components/Button/__tests__/Button.test.tsx +0 -66
  94. package/src/components/ButtonGroup/ButtonGroup.module.css +0 -29
  95. package/src/components/ButtonGroup/ButtonGroup.stories.tsx +0 -57
  96. package/src/components/ButtonGroup/ButtonGroup.tsx +0 -27
  97. package/src/components/ButtonGroup/__tests__/ButtonGroup.test.tsx +0 -29
  98. package/src/components/Calendar/Calendar.module.css +0 -126
  99. package/src/components/Calendar/Calendar.tsx +0 -213
  100. package/src/components/Calendar/__tests__/Calendar.test.tsx +0 -98
  101. package/src/components/Calendar/dateUtils.ts +0 -97
  102. package/src/components/Card/Card.module.css +0 -42
  103. package/src/components/Card/Card.tsx +0 -34
  104. package/src/components/CardTile/CardTile.module.css +0 -181
  105. package/src/components/CardTile/CardTile.stories.tsx +0 -86
  106. package/src/components/CardTile/CardTile.tsx +0 -128
  107. package/src/components/CardTile/__tests__/CardTile.test.tsx +0 -56
  108. package/src/components/CheckableListRow/CheckableListRow.module.css +0 -95
  109. package/src/components/CheckableListRow/CheckableListRow.stories.tsx +0 -99
  110. package/src/components/CheckableListRow/CheckableListRow.tsx +0 -89
  111. package/src/components/Checkbox/Checkbox.module.css +0 -111
  112. package/src/components/Checkbox/Checkbox.tsx +0 -78
  113. package/src/components/CodeTextarea/CodeTextarea.module.css +0 -53
  114. package/src/components/CodeTextarea/CodeTextarea.stories.tsx +0 -77
  115. package/src/components/CodeTextarea/CodeTextarea.tsx +0 -36
  116. package/src/components/Collapsible/Collapsible.module.css +0 -70
  117. package/src/components/Collapsible/Collapsible.stories.tsx +0 -62
  118. package/src/components/Collapsible/Collapsible.tsx +0 -66
  119. package/src/components/Collapsible/__tests__/Collapsible.test.tsx +0 -71
  120. package/src/components/ColorPicker/ColorPicker.module.css +0 -132
  121. package/src/components/ColorPicker/ColorPicker.stories.tsx +0 -80
  122. package/src/components/ColorPicker/ColorPicker.tsx +0 -157
  123. package/src/components/ColorPicker/__tests__/ColorPicker.test.tsx +0 -117
  124. package/src/components/Combobox/Combobox.module.css +0 -122
  125. package/src/components/Combobox/Combobox.stories.tsx +0 -79
  126. package/src/components/Combobox/Combobox.tsx +0 -186
  127. package/src/components/Combobox/__tests__/Combobox.test.tsx +0 -158
  128. package/src/components/Command/Command.module.css +0 -80
  129. package/src/components/Command/Command.stories.tsx +0 -104
  130. package/src/components/Command/Command.tsx +0 -168
  131. package/src/components/Command/__tests__/Command.test.tsx +0 -162
  132. package/src/components/ConfirmDialog/ConfirmDialog.module.css +0 -113
  133. package/src/components/ConfirmDialog/ConfirmDialog.tsx +0 -150
  134. package/src/components/ConfirmDialog/__tests__/ConfirmDialog.test.tsx +0 -214
  135. package/src/components/ConsentPrompt/ConsentPrompt.module.css +0 -21
  136. package/src/components/ConsentPrompt/ConsentPrompt.stories.tsx +0 -31
  137. package/src/components/ConsentPrompt/ConsentPrompt.tsx +0 -66
  138. package/src/components/ContextMenu/ContextMenu.stories.tsx +0 -81
  139. package/src/components/ContextMenu/ContextMenu.tsx +0 -100
  140. package/src/components/ContextMenu/__tests__/ContextMenu.test.tsx +0 -87
  141. package/src/components/CurrencyInput/CurrencyInput.stories.tsx +0 -50
  142. package/src/components/CurrencyInput/CurrencyInput.tsx +0 -60
  143. package/src/components/DataTable/DataTable.module.css +0 -28
  144. package/src/components/DataTable/DataTable.stories.tsx +0 -74
  145. package/src/components/DataTable/DataTable.tsx +0 -154
  146. package/src/components/DataTable/__tests__/DataTable.test.tsx +0 -123
  147. package/src/components/DatePicker/DatePicker.module.css +0 -61
  148. package/src/components/DatePicker/DatePicker.tsx +0 -103
  149. package/src/components/DatePicker/__tests__/DatePicker.test.tsx +0 -89
  150. package/src/components/DeviceOnlyGate/DeviceOnlyGate.tsx +0 -58
  151. package/src/components/DeviceOnlyGate/__tests__/DeviceOnlyGate.test.tsx +0 -45
  152. package/src/components/DeviceStorageKeyGate/DeviceStorageKeyGate.tsx +0 -100
  153. package/src/components/DeviceStorageKeyGate/__tests__/DeviceStorageKeyGate.test.tsx +0 -119
  154. package/src/components/Dialog/Dialog.module.css +0 -335
  155. package/src/components/Dialog/Dialog.stories.tsx +0 -324
  156. package/src/components/Dialog/Dialog.tsx +0 -254
  157. package/src/components/Dialog/__tests__/Dialog.test.tsx +0 -318
  158. package/src/components/DragHandleRow/DragHandleRow.module.css +0 -57
  159. package/src/components/DragHandleRow/DragHandleRow.tsx +0 -42
  160. package/src/components/Drawer/Drawer.module.css +0 -121
  161. package/src/components/Drawer/Drawer.stories.tsx +0 -132
  162. package/src/components/Drawer/Drawer.tsx +0 -175
  163. package/src/components/Drawer/__tests__/Drawer.test.tsx +0 -226
  164. package/src/components/EmptyState/EmptyState.module.css +0 -27
  165. package/src/components/EmptyState/EmptyState.tsx +0 -27
  166. package/src/components/FileDropzone/FileDropzone.module.css +0 -63
  167. package/src/components/FileDropzone/FileDropzone.tsx +0 -109
  168. package/src/components/FileDropzone/__tests__/FileDropzone.test.tsx +0 -67
  169. package/src/components/FormField/FormField.module.css +0 -33
  170. package/src/components/FormField/FormField.tsx +0 -78
  171. package/src/components/FormField/__tests__/FormField.test.tsx +0 -83
  172. package/src/components/GripIcon/GripIcon.tsx +0 -27
  173. package/src/components/Header/Header.module.css +0 -62
  174. package/src/components/Header/Header.stories.tsx +0 -452
  175. package/src/components/Header/Header.tsx +0 -102
  176. package/src/components/Header/__tests__/Header.test.tsx +0 -104
  177. package/src/components/HeaderFooterLayout/HeaderFooterLayout.module.css +0 -21
  178. package/src/components/HeaderFooterLayout/HeaderFooterLayout.stories.tsx +0 -111
  179. package/src/components/HeaderFooterLayout/HeaderFooterLayout.tsx +0 -54
  180. package/src/components/HeaderFooterLayout/__tests__/HeaderFooterLayout.test.tsx +0 -58
  181. package/src/components/HoverCard/HoverCard.module.css +0 -3
  182. package/src/components/HoverCard/HoverCard.stories.tsx +0 -66
  183. package/src/components/HoverCard/HoverCard.tsx +0 -111
  184. package/src/components/HoverCard/__tests__/HoverCard.test.tsx +0 -99
  185. package/src/components/Icon/Icon.module.css +0 -27
  186. package/src/components/Icon/Icon.stories.tsx +0 -95
  187. package/src/components/Icon/Icon.tsx +0 -43
  188. package/src/components/Icon/__tests__/Icon.test.tsx +0 -40
  189. package/src/components/Icon/icons/activity.tsx +0 -20
  190. package/src/components/Icon/icons/alert-triangle.tsx +0 -22
  191. package/src/components/Icon/icons/apple.tsx +0 -21
  192. package/src/components/Icon/icons/arrow-left-right.tsx +0 -23
  193. package/src/components/Icon/icons/banana.tsx +0 -21
  194. package/src/components/Icon/icons/beef.tsx +0 -22
  195. package/src/components/Icon/icons/beer.tsx +0 -24
  196. package/src/components/Icon/icons/bell.tsx +0 -21
  197. package/src/components/Icon/icons/bold.tsx +0 -20
  198. package/src/components/Icon/icons/calendar.tsx +0 -23
  199. package/src/components/Icon/icons/candy.tsx +0 -24
  200. package/src/components/Icon/icons/carrot.tsx +0 -22
  201. package/src/components/Icon/icons/check.tsx +0 -20
  202. package/src/components/Icon/icons/chevron-down.tsx +0 -20
  203. package/src/components/Icon/icons/chevron-left.tsx +0 -20
  204. package/src/components/Icon/icons/chevron-right.tsx +0 -20
  205. package/src/components/Icon/icons/chevron-up.tsx +0 -20
  206. package/src/components/Icon/icons/circle-check.tsx +0 -21
  207. package/src/components/Icon/icons/circle-chevron-left.tsx +0 -21
  208. package/src/components/Icon/icons/circle-x.tsx +0 -22
  209. package/src/components/Icon/icons/code.tsx +0 -21
  210. package/src/components/Icon/icons/coffee.tsx +0 -23
  211. package/src/components/Icon/icons/cookie.tsx +0 -25
  212. package/src/components/Icon/icons/copy.tsx +0 -21
  213. package/src/components/Icon/icons/credit-card.tsx +0 -21
  214. package/src/components/Icon/icons/croissant.tsx +0 -24
  215. package/src/components/Icon/icons/cup-soda.tsx +0 -23
  216. package/src/components/Icon/icons/database.tsx +0 -22
  217. package/src/components/Icon/icons/download.tsx +0 -22
  218. package/src/components/Icon/icons/drumstick.tsx +0 -21
  219. package/src/components/Icon/icons/egg.tsx +0 -20
  220. package/src/components/Icon/icons/ellipsis-vertical.tsx +0 -22
  221. package/src/components/Icon/icons/external-link.tsx +0 -22
  222. package/src/components/Icon/icons/eye-off.tsx +0 -23
  223. package/src/components/Icon/icons/eye.tsx +0 -21
  224. package/src/components/Icon/icons/file-text.tsx +0 -24
  225. package/src/components/Icon/icons/file.tsx +0 -21
  226. package/src/components/Icon/icons/fish.tsx +0 -25
  227. package/src/components/Icon/icons/folder-closed.tsx +0 -21
  228. package/src/components/Icon/icons/folder-open.tsx +0 -20
  229. package/src/components/Icon/icons/folder.tsx +0 -20
  230. package/src/components/Icon/icons/folders.tsx +0 -21
  231. package/src/components/Icon/icons/grid-2x2.tsx +0 -22
  232. package/src/components/Icon/icons/hat-glasses.tsx +0 -24
  233. package/src/components/Icon/icons/history.tsx +0 -22
  234. package/src/components/Icon/icons/house.tsx +0 -21
  235. package/src/components/Icon/icons/inbox.tsx +0 -21
  236. package/src/components/Icon/icons/index.ts +0 -394
  237. package/src/components/Icon/icons/info.tsx +0 -22
  238. package/src/components/Icon/icons/italic.tsx +0 -22
  239. package/src/components/Icon/icons/layers.tsx +0 -22
  240. package/src/components/Icon/icons/layout-dashboard.tsx +0 -23
  241. package/src/components/Icon/icons/layout-grid.tsx +0 -23
  242. package/src/components/Icon/icons/link.tsx +0 -21
  243. package/src/components/Icon/icons/list-ordered.tsx +0 -25
  244. package/src/components/Icon/icons/list.tsx +0 -25
  245. package/src/components/Icon/icons/lock.tsx +0 -21
  246. package/src/components/Icon/icons/log-out.tsx +0 -22
  247. package/src/components/Icon/icons/luggage.tsx +0 -24
  248. package/src/components/Icon/icons/mail.tsx +0 -21
  249. package/src/components/Icon/icons/map-pin.tsx +0 -21
  250. package/src/components/Icon/icons/menu.tsx +0 -22
  251. package/src/components/Icon/icons/milk.tsx +0 -22
  252. package/src/components/Icon/icons/minus.tsx +0 -20
  253. package/src/components/Icon/icons/package.tsx +0 -23
  254. package/src/components/Icon/icons/paint-bucket.tsx +0 -23
  255. package/src/components/Icon/icons/panel-left.tsx +0 -21
  256. package/src/components/Icon/icons/pencil.tsx +0 -21
  257. package/src/components/Icon/icons/pin.tsx +0 -21
  258. package/src/components/Icon/icons/pizza.tsx +0 -24
  259. package/src/components/Icon/icons/plus.tsx +0 -21
  260. package/src/components/Icon/icons/rectangle-ellipsis.tsx +0 -23
  261. package/src/components/Icon/icons/refresh-cw.tsx +0 -23
  262. package/src/components/Icon/icons/rotate-ccw.tsx +0 -21
  263. package/src/components/Icon/icons/rotate-cw.tsx +0 -21
  264. package/src/components/Icon/icons/route.tsx +0 -22
  265. package/src/components/Icon/icons/salad.tsx +0 -24
  266. package/src/components/Icon/icons/search.tsx +0 -21
  267. package/src/components/Icon/icons/send.tsx +0 -21
  268. package/src/components/Icon/icons/settings.tsx +0 -21
  269. package/src/components/Icon/icons/share-2.tsx +0 -24
  270. package/src/components/Icon/icons/sheet.tsx +0 -24
  271. package/src/components/Icon/icons/shield.tsx +0 -20
  272. package/src/components/Icon/icons/shopping-basket.tsx +0 -26
  273. package/src/components/Icon/icons/sliders-horizontal.tsx +0 -28
  274. package/src/components/Icon/icons/smartphone.tsx +0 -21
  275. package/src/components/Icon/icons/snowflake.tsx +0 -31
  276. package/src/components/Icon/icons/spray-can.tsx +0 -29
  277. package/src/components/Icon/icons/square-kanban.tsx +0 -23
  278. package/src/components/Icon/icons/table.tsx +0 -23
  279. package/src/components/Icon/icons/trash-2.tsx +0 -24
  280. package/src/components/Icon/icons/upload.tsx +0 -22
  281. package/src/components/Icon/icons/user-round-plus.tsx +0 -23
  282. package/src/components/Icon/icons/user.tsx +0 -21
  283. package/src/components/Icon/icons/users.tsx +0 -23
  284. package/src/components/Icon/icons/wine.tsx +0 -23
  285. package/src/components/Icon/icons/x.tsx +0 -21
  286. package/src/components/IconPicker/IconPicker.module.css +0 -63
  287. package/src/components/IconPicker/IconPicker.stories.tsx +0 -84
  288. package/src/components/IconPicker/IconPicker.tsx +0 -90
  289. package/src/components/Input/Input.module.css +0 -52
  290. package/src/components/Input/Input.stories.tsx +0 -86
  291. package/src/components/Input/Input.tsx +0 -20
  292. package/src/components/Input/__tests__/Input.test.tsx +0 -22
  293. package/src/components/Item/Item.module.css +0 -70
  294. package/src/components/Item/Item.stories.tsx +0 -62
  295. package/src/components/Item/Item.tsx +0 -54
  296. package/src/components/Item/__tests__/Item.test.tsx +0 -39
  297. package/src/components/Kbd/Kbd.module.css +0 -14
  298. package/src/components/Kbd/Kbd.stories.tsx +0 -32
  299. package/src/components/Kbd/Kbd.tsx +0 -12
  300. package/src/components/Kbd/__tests__/Kbd.test.tsx +0 -14
  301. package/src/components/Label/Label.module.css +0 -11
  302. package/src/components/Label/Label.stories.tsx +0 -40
  303. package/src/components/Label/Label.tsx +0 -24
  304. package/src/components/Label/__tests__/Label.test.tsx +0 -32
  305. package/src/components/LegalLinks/LegalLinks.module.css +0 -24
  306. package/src/components/LegalLinks/LegalLinks.stories.tsx +0 -22
  307. package/src/components/LegalLinks/LegalLinks.tsx +0 -40
  308. package/src/components/Markdown/Markdown.module.css +0 -73
  309. package/src/components/Markdown/Markdown.stories.tsx +0 -40
  310. package/src/components/Markdown/Markdown.tsx +0 -305
  311. package/src/components/Markdown/__tests__/Markdown.test.tsx +0 -144
  312. package/src/components/Marker/Marker.module.css +0 -33
  313. package/src/components/Marker/Marker.stories.tsx +0 -39
  314. package/src/components/Marker/Marker.tsx +0 -34
  315. package/src/components/Marker/__tests__/Marker.test.tsx +0 -23
  316. package/src/components/MemberMultiSelect/MemberMultiSelect.module.css +0 -27
  317. package/src/components/MemberMultiSelect/MemberMultiSelect.stories.tsx +0 -74
  318. package/src/components/MemberMultiSelect/MemberMultiSelect.tsx +0 -67
  319. package/src/components/Menu/Menu.module.css +0 -90
  320. package/src/components/Menu/Menu.tsx +0 -209
  321. package/src/components/Menu/__tests__/Menu.test.tsx +0 -227
  322. package/src/components/Menubar/Menubar.stories.tsx +0 -52
  323. package/src/components/Menubar/Menubar.tsx +0 -42
  324. package/src/components/Menubar/__tests__/Menubar.test.tsx +0 -45
  325. package/src/components/Message/Message.module.css +0 -99
  326. package/src/components/Message/Message.stories.tsx +0 -79
  327. package/src/components/Message/Message.tsx +0 -41
  328. package/src/components/Message/__tests__/Message.test.tsx +0 -46
  329. package/src/components/MessageScroller/MessageScroller.module.css +0 -65
  330. package/src/components/MessageScroller/MessageScroller.stories.tsx +0 -84
  331. package/src/components/MessageScroller/MessageScroller.tsx +0 -84
  332. package/src/components/MessageScroller/__tests__/MessageScroller.test.tsx +0 -105
  333. package/src/components/MobileAppsDrawer/MobileAppsDrawer.module.css +0 -82
  334. package/src/components/MobileAppsDrawer/MobileAppsDrawer.tsx +0 -78
  335. package/src/components/MobileAppsDrawer/__tests__/MobileAppsDrawer.test.tsx +0 -80
  336. package/src/components/MobileFooter/MobileFooter.module.css +0 -73
  337. package/src/components/MobileFooter/MobileFooter.stories.tsx +0 -47
  338. package/src/components/MobileFooter/MobileFooter.tsx +0 -122
  339. package/src/components/MobileFooter/__tests__/MobileFooter.test.tsx +0 -129
  340. package/src/components/MobileHeader/MobileHeader.module.css +0 -76
  341. package/src/components/MobileHeader/MobileHeader.stories.tsx +0 -57
  342. package/src/components/MobileHeader/MobileHeader.tsx +0 -90
  343. package/src/components/MobileHeader/__tests__/MobileHeader.test.tsx +0 -113
  344. package/src/components/NavList/NavList.module.css +0 -130
  345. package/src/components/NavList/NavList.tsx +0 -136
  346. package/src/components/NavList/__tests__/NavList.test.tsx +0 -109
  347. package/src/components/NavTabs/NavTabs.module.css +0 -50
  348. package/src/components/NavTabs/NavTabs.tsx +0 -61
  349. package/src/components/NavigationMenu/NavigationMenu.module.css +0 -53
  350. package/src/components/NavigationMenu/NavigationMenu.stories.tsx +0 -58
  351. package/src/components/NavigationMenu/NavigationMenu.tsx +0 -125
  352. package/src/components/NavigationMenu/__tests__/NavigationMenu.test.tsx +0 -93
  353. package/src/components/NotificationsPanel/NotificationsPanel.module.css +0 -258
  354. package/src/components/NotificationsPanel/NotificationsPanel.stories.tsx +0 -61
  355. package/src/components/NotificationsPanel/NotificationsPanel.tsx +0 -187
  356. package/src/components/NotificationsPanel/__tests__/NotificationsPanel.test.tsx +0 -78
  357. package/src/components/OfflineGate/OfflineGate.tsx +0 -44
  358. package/src/components/OfflineGate/__tests__/OfflineGate.test.tsx +0 -66
  359. package/src/components/OverlayHeader/OverlayHeader.module.css +0 -98
  360. package/src/components/OverlayHeader/OverlayHeader.tsx +0 -77
  361. package/src/components/OverlayHeader/__tests__/OverlayHeader.test.tsx +0 -69
  362. package/src/components/PageContainer/PageContainer.module.css +0 -82
  363. package/src/components/PageContainer/PageContainer.tsx +0 -64
  364. package/src/components/PageContainer/__tests__/PageContainer.test.tsx +0 -70
  365. package/src/components/PageHeader/PageHeader.module.css +0 -86
  366. package/src/components/PageHeader/PageHeader.tsx +0 -176
  367. package/src/components/PageHeader/__tests__/PageHeader.test.tsx +0 -103
  368. package/src/components/PageLayout/PageLayout.module.css +0 -51
  369. package/src/components/PageLayout/PageLayout.stories.tsx +0 -73
  370. package/src/components/PageLayout/PageLayout.tsx +0 -51
  371. package/src/components/PageLayout/__tests__/PageLayout.test.tsx +0 -34
  372. package/src/components/Pagination/Pagination.module.css +0 -98
  373. package/src/components/Pagination/Pagination.stories.tsx +0 -49
  374. package/src/components/Pagination/Pagination.tsx +0 -87
  375. package/src/components/Pagination/__tests__/Pagination.test.tsx +0 -56
  376. package/src/components/Popover/Popover.module.css +0 -74
  377. package/src/components/Popover/Popover.stories.tsx +0 -357
  378. package/src/components/Popover/Popover.tsx +0 -290
  379. package/src/components/Popover/__tests__/Popover.test.tsx +0 -263
  380. package/src/components/Progress/Progress.module.css +0 -20
  381. package/src/components/Progress/Progress.stories.tsx +0 -40
  382. package/src/components/Progress/Progress.tsx +0 -35
  383. package/src/components/Progress/__tests__/Progress.test.tsx +0 -31
  384. package/src/components/QuantityStepper/QuantityStepper.module.css +0 -67
  385. package/src/components/QuantityStepper/QuantityStepper.stories.tsx +0 -79
  386. package/src/components/QuantityStepper/QuantityStepper.tsx +0 -107
  387. package/src/components/RadioGroup/RadioGroup.module.css +0 -88
  388. package/src/components/RadioGroup/RadioGroup.stories.tsx +0 -69
  389. package/src/components/RadioGroup/RadioGroup.tsx +0 -99
  390. package/src/components/RadioGroup/__tests__/RadioGroup.test.tsx +0 -59
  391. package/src/components/Resizable/Resizable.module.css +0 -70
  392. package/src/components/Resizable/Resizable.stories.tsx +0 -82
  393. package/src/components/Resizable/Resizable.tsx +0 -313
  394. package/src/components/Resizable/__tests__/Resizable.test.tsx +0 -128
  395. package/src/components/ResponsiveSurface/ResponsiveSurface.tsx +0 -24
  396. package/src/components/ResponsiveSurface/__tests__/ResponsiveSurface.test.tsx +0 -73
  397. package/src/components/RootLayout/RootLayout.module.css +0 -12
  398. package/src/components/RootLayout/RootLayout.stories.tsx +0 -125
  399. package/src/components/RootLayout/RootLayout.tsx +0 -185
  400. package/src/components/RootLayout/__tests__/RootLayout.test.tsx +0 -161
  401. package/src/components/ScrollArea/ScrollArea.module.css +0 -20
  402. package/src/components/ScrollArea/ScrollArea.stories.tsx +0 -57
  403. package/src/components/ScrollArea/ScrollArea.tsx +0 -27
  404. package/src/components/ScrollArea/__tests__/ScrollArea.test.tsx +0 -39
  405. package/src/components/SegmentedControl/SegmentedControl.module.css +0 -55
  406. package/src/components/SegmentedControl/SegmentedControl.stories.tsx +0 -118
  407. package/src/components/SegmentedControl/SegmentedControl.tsx +0 -56
  408. package/src/components/SegmentedControl/__tests__/SegmentedControl.test.tsx +0 -63
  409. package/src/components/Select/Select.module.css +0 -82
  410. package/src/components/Select/Select.stories.tsx +0 -115
  411. package/src/components/Select/Select.tsx +0 -48
  412. package/src/components/Select/__tests__/Select.test.tsx +0 -59
  413. package/src/components/Sheet/Sheet.module.css +0 -58
  414. package/src/components/Sheet/Sheet.tsx +0 -109
  415. package/src/components/Sheet/__tests__/Sheet.test.tsx +0 -99
  416. package/src/components/Slider/Slider.module.css +0 -95
  417. package/src/components/Slider/Slider.stories.tsx +0 -64
  418. package/src/components/Slider/Slider.tsx +0 -77
  419. package/src/components/Slider/__tests__/Slider.test.tsx +0 -45
  420. package/src/components/Spinner/Spinner.module.css +0 -39
  421. package/src/components/Spinner/Spinner.tsx +0 -23
  422. package/src/components/SplitMethodSelector/SplitMethodSelector.stories.tsx +0 -33
  423. package/src/components/SplitMethodSelector/SplitMethodSelector.tsx +0 -43
  424. package/src/components/SplitPane/SplitPane.module.css +0 -85
  425. package/src/components/SplitPane/SplitPane.stories.tsx +0 -160
  426. package/src/components/SplitPane/SplitPane.tsx +0 -149
  427. package/src/components/SplitPane/__tests__/SplitPane.test.tsx +0 -51
  428. package/src/components/StatusBadge/StatusBadge.module.css +0 -59
  429. package/src/components/StatusBadge/StatusBadge.stories.tsx +0 -74
  430. package/src/components/StatusBadge/StatusBadge.tsx +0 -65
  431. package/src/components/StepStrip/StepStrip.module.css +0 -53
  432. package/src/components/StepStrip/StepStrip.tsx +0 -74
  433. package/src/components/SuggestionInput/SuggestionInput.module.css +0 -103
  434. package/src/components/SuggestionInput/SuggestionInput.stories.tsx +0 -144
  435. package/src/components/SuggestionInput/SuggestionInput.tsx +0 -207
  436. package/src/components/SwipableMobileCarousel/SwipableMobileCarousel.module.css +0 -64
  437. package/src/components/SwipableMobileCarousel/SwipableMobileCarousel.tsx +0 -243
  438. package/src/components/SwipableMobileCarousel/SwipableMobileCarouselSlide.tsx +0 -35
  439. package/src/components/SwipableMobileCarousel/SwipableMobileCarouselSlideBody.tsx +0 -42
  440. package/src/components/SwipableMobileCarousel/SwipableMobileCarouselSlideFooter.tsx +0 -18
  441. package/src/components/SwipableMobileCarousel/SwipableMobileCarouselSlideHeader.tsx +0 -21
  442. package/src/components/SwipableMobileCarousel/SwipableMobileCarouselSlideParts.module.css +0 -29
  443. package/src/components/SwipableMobileCarousel/__tests__/SwipableMobileCarousel.test.tsx +0 -214
  444. package/src/components/SwipableMobileCarousel/__tests__/SwipableMobileCarouselDevGuard.test.tsx +0 -61
  445. package/src/components/SwipableMobileCarousel/context.ts +0 -13
  446. package/src/components/SwipableMobileCarouselDots/SwipableMobileCarouselDots.module.css +0 -64
  447. package/src/components/SwipableMobileCarouselDots/SwipableMobileCarouselDots.tsx +0 -73
  448. package/src/components/SwipableMobileCarouselDots/__tests__/SwipableMobileCarouselDots.test.tsx +0 -63
  449. package/src/components/SwipeStack/SwipeStack.module.css +0 -101
  450. package/src/components/SwipeStack/SwipeStack.tsx +0 -199
  451. package/src/components/SwipeStack/SwipeStackCard.tsx +0 -22
  452. package/src/components/SwipeStack/__tests__/SwipeStack.test.tsx +0 -169
  453. package/src/components/SystemBanner/SystemBanner.module.css +0 -79
  454. package/src/components/SystemBanner/SystemBanner.stories.tsx +0 -86
  455. package/src/components/SystemBanner/SystemBanner.tsx +0 -50
  456. package/src/components/SystemBanner/__tests__/SystemBanner.test.tsx +0 -50
  457. package/src/components/Table/Table.module.css +0 -45
  458. package/src/components/Table/Table.stories.tsx +0 -125
  459. package/src/components/Table/Table.tsx +0 -51
  460. package/src/components/Table/__tests__/Table.test.tsx +0 -50
  461. package/src/components/Tabs/Tabs.module.css +0 -56
  462. package/src/components/Tabs/Tabs.stories.tsx +0 -100
  463. package/src/components/Tabs/Tabs.tsx +0 -46
  464. package/src/components/Tabs/__tests__/Tabs.test.tsx +0 -45
  465. package/src/components/TagInput/TagInput.module.css +0 -141
  466. package/src/components/TagInput/TagInput.stories.tsx +0 -109
  467. package/src/components/TagInput/TagInput.tsx +0 -174
  468. package/src/components/TagInput/__tests__/TagInput.test.tsx +0 -69
  469. package/src/components/Textarea/Textarea.module.css +0 -47
  470. package/src/components/Textarea/Textarea.tsx +0 -38
  471. package/src/components/Textarea/__tests__/Textarea.test.tsx +0 -51
  472. package/src/components/ThreeColumnLayout/ThreeColumnLayout.module.css +0 -35
  473. package/src/components/ThreeColumnLayout/ThreeColumnLayout.stories.tsx +0 -152
  474. package/src/components/ThreeColumnLayout/ThreeColumnLayout.tsx +0 -87
  475. package/src/components/ThreeColumnLayout/__tests__/ThreeColumnLayout.test.tsx +0 -78
  476. package/src/components/Toast/Toast.module.css +0 -191
  477. package/src/components/Toast/Toast.stories.tsx +0 -191
  478. package/src/components/Toast/Toast.tsx +0 -139
  479. package/src/components/Toggle/Toggle.module.css +0 -57
  480. package/src/components/Toggle/Toggle.stories.tsx +0 -95
  481. package/src/components/Toggle/Toggle.tsx +0 -39
  482. package/src/components/Toggle/__tests__/Toggle.test.tsx +0 -47
  483. package/src/components/Tooltip/Tooltip.module.css +0 -56
  484. package/src/components/Tooltip/Tooltip.tsx +0 -30
  485. package/src/components/Typography/Typography.module.css +0 -47
  486. package/src/components/Typography/Typography.stories.tsx +0 -62
  487. package/src/components/Typography/Typography.tsx +0 -30
  488. package/src/components/Typography/__tests__/Typography.test.tsx +0 -34
  489. package/src/components/UserMenu/UserMenu.module.css +0 -90
  490. package/src/components/UserMenu/UserMenu.stories.tsx +0 -49
  491. package/src/components/UserMenu/UserMenu.tsx +0 -132
  492. package/src/components/UserMenu/__tests__/UserMenu.test.tsx +0 -77
  493. package/src/css-modules.d.ts +0 -4
  494. package/src/hooks/__tests__/useCarouselRouteSync.test.tsx +0 -126
  495. package/src/hooks/__tests__/useDoubleTap.test.tsx +0 -117
  496. package/src/hooks/__tests__/useIsMobile.test.tsx +0 -80
  497. package/src/hooks/__tests__/useIsOffline.test.tsx +0 -53
  498. package/src/hooks/__tests__/useLongPress.test.tsx +0 -158
  499. package/src/hooks/__tests__/useOfflineTileState.test.tsx +0 -69
  500. package/src/hooks/__tests__/usePublishShellChromeHeight.test.tsx +0 -118
  501. package/src/hooks/__tests__/useReorderSensors.test.ts +0 -26
  502. package/src/hooks/__tests__/useResponsiveLayout.test.tsx +0 -87
  503. package/src/hooks/__tests__/useSnapCarousel.test.tsx +0 -175
  504. package/src/hooks/__tests__/useSwipeReveal.test.tsx +0 -110
  505. package/src/hooks/__tests__/useSwipeStack.test.tsx +0 -155
  506. package/src/hooks/index.ts +0 -33
  507. package/src/hooks/useCarouselRouteSync.ts +0 -92
  508. package/src/hooks/useCommitOnEnterOrBlur.ts +0 -39
  509. package/src/hooks/useDoubleTap.ts +0 -91
  510. package/src/hooks/useIsMobile.ts +0 -33
  511. package/src/hooks/useIsOffline.ts +0 -41
  512. package/src/hooks/useLongPress.ts +0 -185
  513. package/src/hooks/useOfflineTileState.ts +0 -45
  514. package/src/hooks/usePublishShellChromeHeight.ts +0 -96
  515. package/src/hooks/useReorderSensors.ts +0 -88
  516. package/src/hooks/useResponsiveLayout.ts +0 -36
  517. package/src/hooks/useSnapCarousel.ts +0 -284
  518. package/src/hooks/useSwipeReveal.ts +0 -107
  519. package/src/hooks/useSwipeStack.ts +0 -235
  520. package/src/index.ts +0 -311
  521. package/src/motion.ts +0 -78
  522. package/src/overlay-shell.ts +0 -159
  523. package/src/scroll-lock.ts +0 -22
  524. package/src/stories/Avatar.stories.tsx +0 -44
  525. package/src/stories/Card.stories.tsx +0 -35
  526. package/src/stories/Checkbox.stories.tsx +0 -45
  527. package/src/stories/DesignSystemOverview.stories.tsx +0 -3793
  528. package/src/stories/DeviceOnlyGate.stories.tsx +0 -35
  529. package/src/stories/DeviceStorageKeyGate.stories.tsx +0 -57
  530. package/src/stories/DragHandleRow.stories.tsx +0 -41
  531. package/src/stories/EmptyState.stories.tsx +0 -33
  532. package/src/stories/FileDropzone.stories.tsx +0 -69
  533. package/src/stories/FormField.stories.tsx +0 -47
  534. package/src/stories/GripIcon.stories.tsx +0 -29
  535. package/src/stories/InteractionHooks.stories.tsx +0 -925
  536. package/src/stories/LayoutSystem.stories.tsx +0 -639
  537. package/src/stories/MenuEntries.stories.tsx +0 -86
  538. package/src/stories/MobilePatterns.stories.tsx +0 -1536
  539. package/src/stories/NavList.stories.tsx +0 -147
  540. package/src/stories/NavTabs.stories.tsx +0 -53
  541. package/src/stories/OfflineGate.stories.tsx +0 -42
  542. package/src/stories/PageContainer.stories.tsx +0 -82
  543. package/src/stories/PageHeader.stories.tsx +0 -95
  544. package/src/stories/ResponsiveSurface.stories.tsx +0 -47
  545. package/src/stories/Spinner.stories.tsx +0 -25
  546. package/src/stories/StepStrip.stories.tsx +0 -76
  547. package/src/stories/SwipableMobileCarousel.stories.tsx +0 -362
  548. package/src/stories/SwipeStack.stories.tsx +0 -200
  549. package/src/stories/Textarea.stories.tsx +0 -63
  550. package/src/stories/TokenGallery.stories.tsx +0 -652
  551. package/src/stories/Tooltip.stories.tsx +0 -59
  552. package/src/tokens/primitives.css +0 -168
  553. package/src/tokens/semantic.css +0 -162
  554. package/src/tokens/theme-presets.css +0 -33
  555. package/src/tokens/theme-presets.ts +0 -72
  556. package/src/tokens.css +0 -5
@@ -1,168 +0,0 @@
1
- /*
2
- * Sovereign Design System — primitive tokens.
3
- *
4
- * Raw, context-free scales: the palette, spacing, type, and radii. These are
5
- * fixed — tenant theming never overrides primitives (it overrides the semantic
6
- * layer in semantic.css). Plugin code should reference SEMANTIC colour tokens,
7
- * not these primitives directly.
8
- */
9
- :root {
10
- /* Neutral grey scale (monochrome identity) */
11
- --sv-white: #ffffff;
12
-
13
- /* Status colour primitives — amber (warning), green (success), red (error), blue (info).
14
- Kept minimal: only the swatches the semantic status tokens reference.
15
- Hex values align with the v3.1 design spec. */
16
- --sv-amber-100: #fff7ed;
17
- --sv-amber-200: #fed7aa;
18
- --sv-amber-800: #b45309;
19
- --sv-amber-900: #92400e;
20
- --sv-green-100: #ecfdf3;
21
- --sv-green-200: #bbf7d0;
22
- --sv-green-800: #167c4a;
23
- --sv-green-900: #14532d;
24
- --sv-red-100: #fef2f2;
25
- --sv-red-200: #fecaca;
26
- --sv-red-700: #b91c1c;
27
- --sv-red-800: #991b1b;
28
- --sv-red-900: #7f1d1d;
29
- --sv-blue-100: #eff6ff;
30
- --sv-blue-200: #dbeafe;
31
- --sv-blue-800: #1d4ed8;
32
- --sv-blue-900: #1e3a8a;
33
- --sv-black: #000000;
34
- --sv-grey-50: #fafafa;
35
- --sv-grey-100: #f4f4f5;
36
- --sv-grey-200: #e4e4e7;
37
- --sv-grey-300: #d4d4d8;
38
- --sv-grey-400: #a1a1aa;
39
- --sv-grey-500: #71717a;
40
- --sv-grey-600: #52525b;
41
- --sv-grey-700: #3f3f46;
42
- --sv-grey-800: #27272a;
43
- --sv-grey-900: #18181b;
44
- --sv-grey-950: #09090b;
45
-
46
- /* Spacing scale (4px base) */
47
- --sv-space-1: 0.25rem;
48
- --sv-space-2: 0.5rem;
49
- --sv-space-3: 0.75rem;
50
- --sv-space-4: 1rem;
51
- --sv-space-5: 1.25rem;
52
- --sv-space-6: 1.5rem;
53
- --sv-space-8: 2rem;
54
- --sv-space-10: 2.5rem;
55
- --sv-space-12: 3rem;
56
- --sv-space-16: 4rem;
57
-
58
- /* Typography
59
- Default pair: Hanken Grotesk (body) + JetBrains Mono (code/identifiers).
60
- Operators supply the web font via <link> or instance CSS; the fallback
61
- stack applies when the font is not loaded. */
62
- --sv-font-family:
63
- 'Hanken Grotesk', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial,
64
- sans-serif;
65
- --sv-font-family-mono:
66
- 'JetBrains Mono', ui-monospace, 'SF Mono', Menlo, Consolas, 'Liberation Mono', monospace;
67
- --sv-font-size-2xs: 0.625rem; /* 10px — smallest badge size (Badge size="xs") */
68
- --sv-font-size-label: 0.6875rem; /* 11px — all-caps section labels */
69
- --sv-font-size-xs: 0.75rem; /* 12px — mono identifiers */
70
- --sv-font-size-caption: 0.8125rem; /* 13px — secondary / supporting copy */
71
- --sv-font-size-sm: 0.875rem; /* 14px — body copy */
72
- --sv-font-size-md: 1rem; /* 16px */
73
- --sv-font-size-lg: 1.125rem; /* 18px */
74
- --sv-font-size-xl: 1.25rem; /* 20px */
75
- --sv-font-size-2xl: 1.5rem; /* 24px */
76
- --sv-font-size-3xl: 2rem; /* 32px — document title style (RichTextEditor "Title" paragraph style). A
77
- modest step above 2xl reads too close to Heading 1 at a glance (both
78
- bold, only 4px apart) — this keeps roughly the same ~1.3x jump Google
79
- Docs itself uses between its own Title and Heading 1 sizes. */
80
- --sv-font-weight-regular: 400;
81
- --sv-font-weight-medium: 500;
82
- --sv-font-weight-semibold: 600;
83
- --sv-font-weight-bold: 700;
84
-
85
- /* In-app text-size control (task 10.2), discharging the pinch-zoom-disabled
86
- accessibility debt (runtime/app/layout.tsx sets userScalable: false).
87
- Every --sv-font-size-* above is rem-based, so scaling the root font size
88
- scales the whole type system with no per-component changes. Driven by
89
- [data-text-size] on <html>, set pre-paint by runtime/src/theme-script.ts
90
- from the `sv-text-size` cookie — same mechanism as [data-theme]. Like
91
- --sv-radius-scale, this is a theme-stable scale token with no separate
92
- semantic tier. */
93
- --sv-text-size-scale: 1;
94
-
95
- /* Icon sizes — scale tokens used directly by the Icon component */
96
- --sv-icon-size-xs: 0.75rem; /* 12px — inline metadata (e.g. a due-date badge) */
97
- --sv-icon-size-sm: 1rem; /* 16px — inline with body text */
98
- --sv-icon-size-md: 1.25rem; /* 20px — standard affordance */
99
- --sv-icon-size-lg: 1.5rem; /* 24px — prominent / standalone */
100
-
101
- /* Border radii (v3.1 spec values). --sv-radius-scale is the one
102
- instance-controllable exception to "scale tokens are theme-stable"
103
- (RFC 0077) — an operator's corner-radius preset (None/XS/S/M/L)
104
- overrides it at :root via the InstanceProvider style injection
105
- (runtime/src/instance-provider.tsx), same pipeline as --sv-color-accent.
106
- Every corner token below is proportional to it, so a plugin author never
107
- references --sv-radius-scale directly — they keep using --sv-radius-sm
108
- etc. exactly as before. --sv-radius-full is deliberately NOT derived
109
- from the scale: it's a shape token (circle/pill), not a corner-rounding
110
- one, and stays fixed regardless of the instance preset. */
111
- --sv-radius-scale: 1;
112
- --sv-radius-sm: calc(var(--sv-radius-scale) * 0.375rem); /* 6px @ scale 1 — badge, tag */
113
- --sv-radius-md: calc(var(--sv-radius-scale) * 0.5rem); /* 8px @ scale 1 — button, input */
114
- --sv-radius-lg: calc(
115
- var(--sv-radius-scale) * 0.6875rem
116
- ); /* 11px @ scale 1 — sidebar icon, card */
117
- --sv-radius-xl: calc(var(--sv-radius-scale) * 0.75rem); /* 12px @ scale 1 — card, panel */
118
- --sv-radius-2xl: calc(var(--sv-radius-scale) * 0.875rem); /* 14px @ scale 1 — popover */
119
- --sv-radius-3xl: calc(
120
- var(--sv-radius-scale) * 1.25rem
121
- ); /* 20px @ scale 1 — bottom sheet (Drawer top corners) */
122
- --sv-radius-full: 9999px; /* pill / avatar — unaffected by --sv-radius-scale */
123
-
124
- /* Border width (RFC 0094). Theme-stable like the other scale tokens above —
125
- a theme preset can override it (e.g. neobrutalism's thicker outline), but
126
- it has no separate semantic tier. Every component references this by
127
- name instead of a literal `1px`, the way --sv-radius-* etc. do. */
128
- --sv-border-width-hairline: 1px;
129
-
130
- /* Touch targets — minimum hit-area dimension for interactive controls.
131
- 44px follows the WCAG 2.5.5 / Apple HIG / Material guideline for reliable
132
- touch without a pointing device. Applied to icon-only controls on mobile
133
- (avatar, footer button, Drawer nav items). */
134
- --sv-touch-target-min: 44px;
135
-
136
- /* Motion scale — durations and easings for overlay enter/exit transitions
137
- (Dialog, Drawer, and their Phase-B successors: Sheet, ConfirmDialog,
138
- Menu). Theme-stable like the other scale tokens above — dark mode does
139
- not change motion, so there is no semantic tier. Components must pair
140
- every transition with `@media (prefers-reduced-motion: reduce)` collapsing
141
- it to near-instant; the durations here are not a substitute for that. */
142
- --sv-motion-duration-fast: 150ms; /* micro-interactions — hover/press feedback */
143
- --sv-motion-duration-base: 250ms; /* default overlay enter/exit (Dialog, Drawer) */
144
- --sv-motion-duration-slow: 350ms; /* larger surfaces / bigger travel distance */
145
- --sv-motion-ease-out: cubic-bezier(0, 0, 0.2, 1); /* entrances — fast start, gentle settle */
146
- --sv-motion-ease-in-out: cubic-bezier(0.4, 0, 0.2, 1); /* state changes with no fixed direction */
147
- --sv-motion-ease-spring: cubic-bezier(
148
- 0.34,
149
- 1.56,
150
- 0.64,
151
- 1
152
- ); /* slight overshoot — playful emphasis, use sparingly */
153
- }
154
-
155
- /* Root font size scales with --sv-text-size-scale — see the token comment
156
- above. calc(... * 100%) keeps the browser/OS text-zoom default intact at
157
- scale 1 rather than hardcoding a px value. */
158
- html {
159
- font-size: calc(var(--sv-text-size-scale) * 100%);
160
- }
161
-
162
- :root[data-text-size='large'] {
163
- --sv-text-size-scale: 1.125; /* +12.5% */
164
- }
165
-
166
- :root[data-text-size='larger'] {
167
- --sv-text-size-scale: 1.25; /* +25% */
168
- }
@@ -1,162 +0,0 @@
1
- /*
2
- * Sovereign Design System — semantic tokens.
3
- *
4
- * Contextual roles mapped from primitives. THIS is the theming surface: dark
5
- * mode and tenant theming work by overriding these values at :root (or under
6
- * [data-theme]) — no component changes required. Every value here references a
7
- * primitive token; none is a hardcoded literal (except shadows and the scrim,
8
- * which compose rgba layers).
9
- *
10
- * Identity is monochrome: the accent is near-black on light, near-white on dark.
11
- * A tenant gives Sovereign its own colour by overriding --sv-color-accent.
12
- */
13
- :root {
14
- --sv-color-surface: var(--sv-white);
15
- --sv-color-surface-sunken: var(--sv-grey-50);
16
- --sv-color-surface-raised: var(--sv-white);
17
-
18
- --sv-color-text-primary: var(--sv-grey-950);
19
- --sv-color-text-muted: var(--sv-grey-500);
20
- --sv-color-text-subtle: var(--sv-grey-400);
21
- --sv-color-text-on-accent: var(--sv-white);
22
- /* Guaranteed-contrast text pair for content painted directly on a
23
- plugin-supplied literal background colour (data, not a design-system
24
- token — e.g. a kanban board's own canvas colour). A consumer picks
25
- whichever member actually contrasts with its own literal background;
26
- neither can be theme-reactive the way --sv-color-text-primary is,
27
- since the background itself doesn't react to the app's theme either.
28
- Intentionally NOT overridden under [data-theme='dark'] below — same
29
- "reads the same regardless of overall page theme" reasoning as
30
- --sv-color-text-on-error/-success. */
31
- --sv-color-text-on-light-fill: var(--sv-grey-950);
32
- --sv-color-text-on-dark-fill: var(--sv-grey-50);
33
-
34
- --sv-color-border: var(--sv-grey-200);
35
- --sv-color-border-strong: var(--sv-grey-300);
36
-
37
- --sv-color-accent: var(--sv-grey-900);
38
- --sv-color-accent-hover: var(--sv-grey-700);
39
- /* Derived from --sv-color-accent via color-mix, so it re-themes automatically —
40
- no separate dark-mode override needed. Tinted background for badges/chips
41
- paired with --sv-color-accent text. */
42
- --sv-color-accent-subtle: color-mix(in srgb, var(--sv-color-accent) 12%, transparent);
43
-
44
- --sv-color-focus-ring: var(--sv-grey-900);
45
-
46
- /* Status surfaces — error (red), warning (amber), success (green).
47
- Use these for banners, badges, and inline validation UI.
48
- Never hardcode colour hex in components — reference these tokens. */
49
- --sv-color-error-surface: var(--sv-red-100);
50
- --sv-color-error-text: var(--sv-red-800);
51
- --sv-color-error-border: var(--sv-red-200);
52
- --sv-color-warning-surface: var(--sv-amber-100);
53
- --sv-color-warning-text: var(--sv-amber-800);
54
- --sv-color-warning-border: var(--sv-amber-200);
55
- --sv-color-success-surface: var(--sv-green-100);
56
- --sv-color-success-text: var(--sv-green-800);
57
- --sv-color-success-border: var(--sv-green-200);
58
-
59
- /* Status solids — a saturated fill for status affordances that need to
60
- read as a filled action button rather than a tinted surface (e.g. a
61
- mobile swipe-to-reveal Delete/Done action). Paired with
62
- --sv-color-text-on-error/-success (white) for the icon/label on top.
63
- Intentionally NOT overridden under [data-theme='dark'] below — like
64
- --sv-color-accent-subtle, a solid action fill reads the same regardless
65
- of overall page theme; it's the surrounding surface that inverts, not
66
- this fixed-contrast pairing. */
67
- --sv-color-error-solid: var(--sv-red-700);
68
- --sv-color-success-solid: var(--sv-green-800);
69
- --sv-color-text-on-error: var(--sv-white);
70
- --sv-color-text-on-success: var(--sv-white);
71
-
72
- /* Info surfaces — blue palette. Use for informational banners and badges.
73
- Never hardcode colour hex in components — reference these tokens. */
74
- --sv-color-info-surface: var(--sv-blue-100);
75
- --sv-color-info-text: var(--sv-blue-800);
76
- --sv-color-info-border: var(--sv-blue-200);
77
-
78
- /* Overlay surfaces (Dialog/Sheet): the scrim behind a dialog and the panel's
79
- elevation shadow. Composed rgba layers, like --sv-shadow-card. */
80
- --sv-color-scrim: rgba(0, 0, 0, 0.5);
81
-
82
- /* High-contrast shadow colour (RFC 0094). Distinct from --sv-color-border-strong
83
- even though they resolve to the same monochrome scale — a theme preset's
84
- hard offset shadows (e.g. neobrutalism) need a bolder, more saturated value
85
- than a border does to read as "authentic," so this is its own token rather
86
- than reusing border-strong. Unused by the default theme's soft rgba()
87
- shadows above; only a preset that opts in (theme-presets.ts) references it. */
88
- --sv-color-shadow-strong: var(--sv-grey-950);
89
-
90
- --sv-shadow-card: 0 1px 2px rgba(0, 0, 0, 0.06), 0 1px 3px rgba(0, 0, 0, 0.1);
91
- --sv-shadow-hover: 0 2px 6px rgba(0, 0, 0, 0.08); /* e1 — card hover lift */
92
- --sv-shadow-popover:
93
- 0 4px 16px rgba(0, 0, 0, 0.14), 0 2px 6px rgba(0, 0, 0, 0.08); /* e2 — floating panels */
94
- --sv-shadow-overlay: 0 10px 38px rgba(0, 0, 0, 0.18), 0 6px 12px rgba(0, 0, 0, 0.12);
95
- --sv-shadow-control: 0 1px 3px rgba(0, 0, 0, 0.2); /* small interactive-control shadows, e.g. Toggle thumb */
96
-
97
- /* Button press-interaction tokens (RFC 0094). Consumed unconditionally by
98
- Button.module.css's :active rule — these defaults (none/0/0) make that
99
- rule a no-op for today's default look. A theme preset (e.g.
100
- neobrutalism) sets non-zero values to get a tactile "press into shadow"
101
- effect. Not overridden under [data-theme='dark'] below — like the
102
- shadow tokens above, a theme preset's own light/dark variants set these
103
- directly rather than this file deriving a dark-mode default for them. */
104
- --sv-button-shadow: none;
105
- --sv-button-press-x: 0;
106
- --sv-button-press-y: 0;
107
-
108
- /*
109
- * Instance identity tokens (RFC 0027 / RFC 0032 rename). Distinct namespace from --sv-color-*:
110
- * these hold URLs (not colours) and are set once by the operator, not swapped
111
- * with dark mode. Set by InstanceProvider server component from instance_config DB.
112
- * CSS: background-image: var(--sv-instance-logo);
113
- * or <img src="var(--sv-instance-logo)"> is NOT correct — use the InstanceProvider
114
- * prop `instanceName` and the /api/instance/* routes for the actual URLs.
115
- */
116
- --sv-instance-logo: none;
117
- --sv-instance-logo-dark: none;
118
- --sv-instance-favicon: none;
119
- }
120
-
121
- [data-theme='dark'] {
122
- --sv-color-surface: var(--sv-grey-950);
123
- --sv-color-surface-sunken: var(--sv-grey-900);
124
- --sv-color-surface-raised: var(--sv-grey-900);
125
-
126
- --sv-color-text-primary: var(--sv-grey-50);
127
- --sv-color-text-muted: var(--sv-grey-400);
128
- --sv-color-text-subtle: var(--sv-grey-600);
129
- --sv-color-text-on-accent: var(--sv-grey-950);
130
-
131
- --sv-color-border: var(--sv-grey-800);
132
- --sv-color-border-strong: var(--sv-grey-700);
133
-
134
- --sv-color-accent: var(--sv-grey-50);
135
- --sv-color-accent-hover: var(--sv-grey-200);
136
-
137
- --sv-color-focus-ring: var(--sv-grey-100);
138
-
139
- --sv-color-error-surface: var(--sv-red-900);
140
- --sv-color-error-text: var(--sv-red-200);
141
- --sv-color-error-border: var(--sv-red-700);
142
- --sv-color-warning-surface: var(--sv-amber-900);
143
- --sv-color-warning-text: var(--sv-amber-200);
144
- --sv-color-warning-border: var(--sv-amber-800);
145
- --sv-color-success-surface: var(--sv-green-900);
146
- --sv-color-success-text: var(--sv-green-200);
147
- --sv-color-success-border: var(--sv-green-800);
148
-
149
- --sv-color-info-surface: var(--sv-blue-900);
150
- --sv-color-info-text: var(--sv-blue-100);
151
- --sv-color-info-border: var(--sv-blue-800);
152
-
153
- --sv-color-scrim: rgba(0, 0, 0, 0.65);
154
-
155
- --sv-color-shadow-strong: var(--sv-grey-50);
156
-
157
- --sv-shadow-card: 0 1px 2px rgba(0, 0, 0, 0.4), 0 1px 3px rgba(0, 0, 0, 0.5);
158
- --sv-shadow-hover: 0 2px 6px rgba(0, 0, 0, 0.3);
159
- --sv-shadow-popover: 0 4px 16px rgba(0, 0, 0, 0.5), 0 2px 6px rgba(0, 0, 0, 0.3);
160
- --sv-shadow-overlay: 0 10px 38px rgba(0, 0, 0, 0.6), 0 6px 12px rgba(0, 0, 0, 0.5);
161
- --sv-shadow-control: 0 1px 3px rgba(0, 0, 0, 0.5);
162
- }
@@ -1,33 +0,0 @@
1
- /*
2
- * Generated by scripts/generate-theme-presets-css.ts — do not edit.
3
- * Source of truth: packages/ui/src/tokens/theme-presets.ts
4
- *
5
- * For Storybook / standalone (non-runtime) use only — set data-theme-preset
6
- * on the document root element (<html>), never a nested wrapper. See the
7
- * generator script's doc comment for why.
8
- */
9
- [data-theme-preset='neobrutalism'] {
10
- --sv-radius-scale: 0;
11
- --sv-border-width-hairline: 2px;
12
- --sv-shadow-card: 4px 4px 0 0 var(--sv-color-shadow-strong);
13
- --sv-shadow-hover: 6px 6px 0 0 var(--sv-color-shadow-strong);
14
- --sv-shadow-popover: 4px 4px 0 0 var(--sv-color-shadow-strong);
15
- --sv-shadow-overlay: 8px 8px 0 0 var(--sv-color-shadow-strong);
16
- --sv-shadow-control: 2px 2px 0 0 var(--sv-color-shadow-strong);
17
- --sv-button-shadow: 4px 4px 0 0 var(--sv-color-shadow-strong);
18
- --sv-button-press-x: 4px;
19
- --sv-button-press-y: 4px;
20
- }
21
-
22
- [data-theme-preset='neobrutalism'][data-theme='dark'] {
23
- --sv-radius-scale: 0;
24
- --sv-border-width-hairline: 2px;
25
- --sv-shadow-card: 4px 4px 0 0 var(--sv-color-shadow-strong);
26
- --sv-shadow-hover: 6px 6px 0 0 var(--sv-color-shadow-strong);
27
- --sv-shadow-popover: 4px 4px 0 0 var(--sv-color-shadow-strong);
28
- --sv-shadow-overlay: 8px 8px 0 0 var(--sv-color-shadow-strong);
29
- --sv-shadow-control: 2px 2px 0 0 var(--sv-color-shadow-strong);
30
- --sv-button-shadow: 4px 4px 0 0 var(--sv-color-shadow-strong);
31
- --sv-button-press-x: 4px;
32
- --sv-button-press-y: 4px;
33
- }
@@ -1,72 +0,0 @@
1
- /**
2
- * Sovereign Design System — theme presets (RFC 0094).
3
- *
4
- * The single source of truth for every built-in theme preset's token
5
- * overrides. Deliberately plain data (no CSS-in-JS, no build dependency) so
6
- * it can be consumed two ways with zero duplication:
7
- * - `scripts/generate-theme-presets-css.ts` (`pnpm generate:theme-presets`)
8
- * reads this file and emits `theme-presets.css` for Storybook/standalone
9
- * consumers.
10
- * - `runtime/src/instance-style.ts` (RFC 0095) imports `THEME_PRESETS`
11
- * directly and flattens the selected preset into the existing
12
- * `:root { ... }` instance-style injection — no CSS parsing, no second
13
- * copy of these values to drift out of sync.
14
- *
15
- * Presets are closed and built-in (RFC 0094's "Alternatives considered") —
16
- * add a new one here and re-run the generator, never accept arbitrary
17
- * operator-supplied values into this shape.
18
- *
19
- * `'default'` MUST stay `{ light: {}, dark: {} }` — an empty override set is
20
- * what guarantees today's look stays byte-identical for every instance that
21
- * never opts into a different preset.
22
- */
23
-
24
- export type ThemePresetName = 'default' | 'neobrutalism';
25
-
26
- export const THEME_PRESET_NAMES: readonly ThemePresetName[] = ['default', 'neobrutalism'];
27
-
28
- export interface ThemePresetTokens {
29
- /** Sparse — only tokens this preset overrides. Everything else falls through to the default. */
30
- light: Record<string, string>;
31
- dark: Record<string, string>;
32
- }
33
-
34
- export const THEME_PRESETS: Record<ThemePresetName, ThemePresetTokens> = {
35
- default: { light: {}, dark: {} },
36
- neobrutalism: {
37
- light: {
38
- // --sv-radius-scale is a calc()-chain root: --sv-radius-sm..-3xl are
39
- // all `calc(var(--sv-radius-scale) * ...)`, declared once at :root
40
- // (primitives.css). This ONLY cascades correctly if the selector this
41
- // override lands under matches :root itself (<html>) — a scoped
42
- // descendant selector would set --sv-radius-scale there, but the
43
- // dependent --sv-radius-* tokens were never re-declared at that node,
44
- // so they'd keep inheriting their :root-resolved value unchanged. See
45
- // the `withRadius` decorator comment in `.storybook/preview.ts` for
46
- // the same constraint, discovered independently while building RFC
47
- // 0077's Token Gallery preset demo.
48
- '--sv-radius-scale': '0',
49
- '--sv-border-width-hairline': '2px',
50
- '--sv-shadow-card': '4px 4px 0 0 var(--sv-color-shadow-strong)',
51
- '--sv-shadow-hover': '6px 6px 0 0 var(--sv-color-shadow-strong)',
52
- '--sv-shadow-popover': '4px 4px 0 0 var(--sv-color-shadow-strong)',
53
- '--sv-shadow-overlay': '8px 8px 0 0 var(--sv-color-shadow-strong)',
54
- '--sv-shadow-control': '2px 2px 0 0 var(--sv-color-shadow-strong)',
55
- '--sv-button-shadow': '4px 4px 0 0 var(--sv-color-shadow-strong)',
56
- '--sv-button-press-x': '4px',
57
- '--sv-button-press-y': '4px',
58
- },
59
- dark: {
60
- '--sv-radius-scale': '0',
61
- '--sv-border-width-hairline': '2px',
62
- '--sv-shadow-card': '4px 4px 0 0 var(--sv-color-shadow-strong)',
63
- '--sv-shadow-hover': '6px 6px 0 0 var(--sv-color-shadow-strong)',
64
- '--sv-shadow-popover': '4px 4px 0 0 var(--sv-color-shadow-strong)',
65
- '--sv-shadow-overlay': '8px 8px 0 0 var(--sv-color-shadow-strong)',
66
- '--sv-shadow-control': '2px 2px 0 0 var(--sv-color-shadow-strong)',
67
- '--sv-button-shadow': '4px 4px 0 0 var(--sv-color-shadow-strong)',
68
- '--sv-button-press-x': '4px',
69
- '--sv-button-press-y': '4px',
70
- },
71
- },
72
- };
package/src/tokens.css DELETED
@@ -1,5 +0,0 @@
1
- /* Convenience entry that loads both token tiers. The runtime shell imports this
2
- * once so --sv-* variables are available globally (primitives first, then the
3
- * semantic layer that maps them). */
4
- @import './tokens/primitives.css';
5
- @import './tokens/semantic.css';