@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
package/src/index.ts DELETED
@@ -1,311 +0,0 @@
1
- export { LegalLinks } from './components/LegalLinks/LegalLinks';
2
- export type { LegalLinksProps } from './components/LegalLinks/LegalLinks';
3
- export { ConsentPrompt } from './components/ConsentPrompt/ConsentPrompt';
4
- export type { ConsentPromptProps } from './components/ConsentPrompt/ConsentPrompt';
5
- export { Markdown } from './components/Markdown/Markdown';
6
- export type { MarkdownProps } from './components/Markdown/Markdown';
7
- export { Badge } from './components/Badge/Badge';
8
- export type { BadgeProps, BadgeVariant, BadgeStatus } from './components/Badge/Badge';
9
- export { Icon } from './components/Icon/Icon';
10
- export { Toggle } from './components/Toggle/Toggle';
11
- export type { ToggleProps } from './components/Toggle/Toggle';
12
- export { SegmentedControl } from './components/SegmentedControl/SegmentedControl';
13
- export type {
14
- SegmentedControlProps,
15
- SegmentedOption,
16
- } from './components/SegmentedControl/SegmentedControl';
17
- export { Tabs } from './components/Tabs/Tabs';
18
- export type { TabsProps, TabItem } from './components/Tabs/Tabs';
19
- export { Select } from './components/Select/Select';
20
- export type { SelectProps } from './components/Select/Select';
21
- export { SystemBanner } from './components/SystemBanner/SystemBanner';
22
- export type { SystemBannerProps, BannerVariant } from './components/SystemBanner/SystemBanner';
23
- export { Popover } from './components/Popover/Popover';
24
- export type { PopoverProps } from './components/Popover/Popover';
25
- export type { IconProps, IconName } from './components/Icon/Icon';
26
- export { Button } from './components/Button/Button';
27
- export type { ButtonProps, ButtonVariant, ButtonSize } from './components/Button/Button';
28
- export { Input } from './components/Input/Input';
29
- export type { InputProps } from './components/Input/Input';
30
- export { Textarea } from './components/Textarea/Textarea';
31
- export type { TextareaProps } from './components/Textarea/Textarea';
32
- export { CodeTextarea } from './components/CodeTextarea/CodeTextarea';
33
- export type { CodeTextareaProps } from './components/CodeTextarea/CodeTextarea';
34
- export { StatusBadge } from './components/StatusBadge/StatusBadge';
35
- export type { StatusBadgeProps, StatusBadgeStatus } from './components/StatusBadge/StatusBadge';
36
- export { SplitPane } from './components/SplitPane/SplitPane';
37
- export type { SplitPaneProps } from './components/SplitPane/SplitPane';
38
- export { TagInput } from './components/TagInput/TagInput';
39
- export type { TagInputProps } from './components/TagInput/TagInput';
40
- export { Dialog, useOverlaySecondRow } from './components/Dialog/Dialog';
41
- export type { DialogProps, DialogSize } from './components/Dialog/Dialog';
42
- export { Drawer } from './components/Drawer/Drawer';
43
- export type { DrawerProps } from './components/Drawer/Drawer';
44
- export { OverlayHeader } from './components/OverlayHeader/OverlayHeader';
45
- export type { OverlayHeaderProps } from './components/OverlayHeader/OverlayHeader';
46
- export { Sheet } from './components/Sheet/Sheet';
47
- export type { SheetProps } from './components/Sheet/Sheet';
48
- export { ConfirmDialog } from './components/ConfirmDialog/ConfirmDialog';
49
- export type { ConfirmDialogProps } from './components/ConfirmDialog/ConfirmDialog';
50
- export { Menu, MenuEntries } from './components/Menu/Menu';
51
- export type {
52
- MenuProps,
53
- MenuItem,
54
- MenuLabel,
55
- MenuSeparator,
56
- MenuEntry,
57
- } from './components/Menu/Menu';
58
- export { UserMenu } from './components/UserMenu/UserMenu';
59
- export type { UserMenuProps, UserMenuItem } from './components/UserMenu/UserMenu';
60
- export { AppsLauncher } from './components/AppsLauncher/AppsLauncher';
61
- export type { AppsLauncherProps, AppsLauncherItem } from './components/AppsLauncher/AppsLauncher';
62
- export { NotificationsPanel } from './components/NotificationsPanel/NotificationsPanel';
63
- export type {
64
- NotificationsPanelProps,
65
- NotificationsPanelItem,
66
- } from './components/NotificationsPanel/NotificationsPanel';
67
- export { ToastProvider, useToast } from './components/Toast/Toast';
68
- export type { ToastItem, ToastContextValue } from './components/Toast/Toast';
69
- export { Card } from './components/Card/Card';
70
- export type { CardProps } from './components/Card/Card';
71
-
72
- export { CardTile, CardTileGrid, NewCardTile } from './components/CardTile/CardTile';
73
- export type {
74
- CardTileProps,
75
- CardTileGridProps,
76
- NewCardTileProps,
77
- } from './components/CardTile/CardTile';
78
- export { FormField } from './components/FormField/FormField';
79
- export type { FormFieldProps, FormFieldRenderProps } from './components/FormField/FormField';
80
- export { PageHeader } from './components/PageHeader/PageHeader';
81
- export type { PageHeaderProps } from './components/PageHeader/PageHeader';
82
- export { PageContainer } from './components/PageContainer/PageContainer';
83
- export type { PageContainerProps } from './components/PageContainer/PageContainer';
84
- export { Header } from './components/Header/Header';
85
- export type { HeaderProps, HeaderPlugin } from './components/Header/Header';
86
- export { MobileHeader } from './components/MobileHeader/MobileHeader';
87
- export type { MobileHeaderProps } from './components/MobileHeader/MobileHeader';
88
- export { MobileFooter } from './components/MobileFooter/MobileFooter';
89
- export type { MobileFooterProps, FooterIcon } from './components/MobileFooter/MobileFooter';
90
- export { MobileAppsDrawer } from './components/MobileAppsDrawer/MobileAppsDrawer';
91
- export type {
92
- MobileAppsDrawerProps,
93
- MobileAppsDrawerItem,
94
- } from './components/MobileAppsDrawer/MobileAppsDrawer';
95
- export { EmptyState } from './components/EmptyState/EmptyState';
96
- export type { EmptyStateProps } from './components/EmptyState/EmptyState';
97
- export { OfflineGate } from './components/OfflineGate/OfflineGate';
98
- export type { OfflineGateProps } from './components/OfflineGate/OfflineGate';
99
- export { DeviceOnlyGate } from './components/DeviceOnlyGate/DeviceOnlyGate';
100
- export type { DeviceOnlyGateProps } from './components/DeviceOnlyGate/DeviceOnlyGate';
101
- export { DeviceStorageKeyGate } from './components/DeviceStorageKeyGate/DeviceStorageKeyGate';
102
- export type {
103
- DeviceStorageKeyGateProps,
104
- DeviceStorageKeyGateStatus,
105
- } from './components/DeviceStorageKeyGate/DeviceStorageKeyGate';
106
- export { Spinner } from './components/Spinner/Spinner';
107
- export type { SpinnerProps } from './components/Spinner/Spinner';
108
- export { Avatar } from './components/Avatar/Avatar';
109
- export type { AvatarProps } from './components/Avatar/Avatar';
110
- export { NavTabs } from './components/NavTabs/NavTabs';
111
- export type { NavTabsProps, NavTabItem, NavTabLinkProps } from './components/NavTabs/NavTabs';
112
- export { Tooltip } from './components/Tooltip/Tooltip';
113
- export type { TooltipProps } from './components/Tooltip/Tooltip';
114
- export { Checkbox } from './components/Checkbox/Checkbox';
115
- export type { CheckboxProps } from './components/Checkbox/Checkbox';
116
- export { RadioGroup } from './components/RadioGroup/RadioGroup';
117
- export type { RadioGroupProps, RadioGroupItem } from './components/RadioGroup/RadioGroup';
118
- export { Slider } from './components/Slider/Slider';
119
- export type { SliderProps } from './components/Slider/Slider';
120
- export { Progress } from './components/Progress/Progress';
121
- export type { ProgressProps } from './components/Progress/Progress';
122
- export {
123
- Table,
124
- TableHead,
125
- TableBody,
126
- TableRow,
127
- TableHeaderCell,
128
- TableCell,
129
- } from './components/Table/Table';
130
- export type { TableProps } from './components/Table/Table';
131
- export { Alert } from './components/Alert/Alert';
132
- export type { AlertProps, AlertVariant } from './components/Alert/Alert';
133
- export { Breadcrumb } from './components/Breadcrumb/Breadcrumb';
134
- export type { BreadcrumbProps, BreadcrumbItem } from './components/Breadcrumb/Breadcrumb';
135
- export { Pagination } from './components/Pagination/Pagination';
136
- export type { PaginationProps } from './components/Pagination/Pagination';
137
- export { Kbd } from './components/Kbd/Kbd';
138
- export type { KbdProps } from './components/Kbd/Kbd';
139
- export { Collapsible } from './components/Collapsible/Collapsible';
140
- export type { CollapsibleProps } from './components/Collapsible/Collapsible';
141
- export { Accordion } from './components/Accordion/Accordion';
142
- export type { AccordionProps, AccordionItem } from './components/Accordion/Accordion';
143
- export { AspectRatio } from './components/AspectRatio/AspectRatio';
144
- export type { AspectRatioProps } from './components/AspectRatio/AspectRatio';
145
- export { ButtonGroup } from './components/ButtonGroup/ButtonGroup';
146
- export type { ButtonGroupProps } from './components/ButtonGroup/ButtonGroup';
147
- export { Item } from './components/Item/Item';
148
- export type { ItemProps } from './components/Item/Item';
149
- export { Label } from './components/Label/Label';
150
- export type { LabelProps } from './components/Label/Label';
151
- export { ScrollArea } from './components/ScrollArea/ScrollArea';
152
- export type { ScrollAreaProps } from './components/ScrollArea/ScrollArea';
153
- export { Typography } from './components/Typography/Typography';
154
- export type { TypographyProps, TypographyVariant } from './components/Typography/Typography';
155
- export { Marker } from './components/Marker/Marker';
156
- export type { MarkerProps } from './components/Marker/Marker';
157
- export { Message } from './components/Message/Message';
158
- export type { MessageProps, MessageSender } from './components/Message/Message';
159
- export { MessageScroller } from './components/MessageScroller/MessageScroller';
160
- export type { MessageScrollerProps } from './components/MessageScroller/MessageScroller';
161
- export { HoverCard } from './components/HoverCard/HoverCard';
162
- export type { HoverCardProps } from './components/HoverCard/HoverCard';
163
- export { ContextMenu } from './components/ContextMenu/ContextMenu';
164
- export type { ContextMenuProps } from './components/ContextMenu/ContextMenu';
165
- export { NavigationMenu } from './components/NavigationMenu/NavigationMenu';
166
- export type {
167
- NavigationMenuProps,
168
- NavigationMenuItem,
169
- } from './components/NavigationMenu/NavigationMenu';
170
- export { Menubar } from './components/Menubar/Menubar';
171
- export type { MenubarProps, MenubarMenu } from './components/Menubar/Menubar';
172
- export { Command } from './components/Command/Command';
173
- export type { CommandProps, CommandItem } from './components/Command/Command';
174
- export {
175
- ResizablePanelGroup,
176
- ResizablePanel,
177
- ResizableHandle,
178
- } from './components/Resizable/Resizable';
179
- export type {
180
- ResizablePanelGroupProps,
181
- ResizablePanelProps,
182
- ResizableHandleProps,
183
- ResizableDirection,
184
- } from './components/Resizable/Resizable';
185
- export { DataTable } from './components/DataTable/DataTable';
186
- export type {
187
- DataTableProps,
188
- DataTableColumn,
189
- SortDirection,
190
- } from './components/DataTable/DataTable';
191
- export { Combobox } from './components/Combobox/Combobox';
192
- export type { ComboboxProps, ComboboxOption } from './components/Combobox/Combobox';
193
- export { DragHandleRow } from './components/DragHandleRow/DragHandleRow';
194
- export type { DragHandleRowProps } from './components/DragHandleRow/DragHandleRow';
195
- export { GripIcon } from './components/GripIcon/GripIcon';
196
- export type { GripIconProps } from './components/GripIcon/GripIcon';
197
- export { StepStrip } from './components/StepStrip/StepStrip';
198
- export type { StepStripProps, StepStripItem } from './components/StepStrip/StepStrip';
199
- export { FileDropzone } from './components/FileDropzone/FileDropzone';
200
- export type { FileDropzoneProps } from './components/FileDropzone/FileDropzone';
201
- export { Calendar } from './components/Calendar/Calendar';
202
- export type { CalendarProps } from './components/Calendar/Calendar';
203
- export { DatePicker } from './components/DatePicker/DatePicker';
204
- export type { DatePickerProps } from './components/DatePicker/DatePicker';
205
- export { SuggestionInput } from './components/SuggestionInput/SuggestionInput';
206
- export type {
207
- SuggestionInputProps,
208
- SuggestionOption,
209
- } from './components/SuggestionInput/SuggestionInput';
210
- export { IconPicker } from './components/IconPicker/IconPicker';
211
- export type { IconPickerProps } from './components/IconPicker/IconPicker';
212
- export { ColorPicker } from './components/ColorPicker/ColorPicker';
213
- export type { ColorPickerProps, ColorPickerSwatch } from './components/ColorPicker/ColorPicker';
214
- export { QuantityStepper } from './components/QuantityStepper/QuantityStepper';
215
- export type { QuantityStepperProps } from './components/QuantityStepper/QuantityStepper';
216
- export { CheckableListRow } from './components/CheckableListRow/CheckableListRow';
217
- export type { CheckableListRowProps } from './components/CheckableListRow/CheckableListRow';
218
- export { CurrencyInput } from './components/CurrencyInput/CurrencyInput';
219
- export type { CurrencyInputProps } from './components/CurrencyInput/CurrencyInput';
220
- export { BalanceChip } from './components/BalanceChip/BalanceChip';
221
- export type { BalanceChipProps } from './components/BalanceChip/BalanceChip';
222
- export { SplitMethodSelector } from './components/SplitMethodSelector/SplitMethodSelector';
223
- export type {
224
- SplitMethodSelectorProps,
225
- SplitMethod,
226
- } from './components/SplitMethodSelector/SplitMethodSelector';
227
- export { MemberMultiSelect } from './components/MemberMultiSelect/MemberMultiSelect';
228
- export type {
229
- MemberMultiSelectProps,
230
- MemberMultiSelectOption,
231
- } from './components/MemberMultiSelect/MemberMultiSelect';
232
- export {
233
- useLongPress,
234
- useDoubleTapHandler,
235
- useSingleOrDoubleTap,
236
- useIsMobile,
237
- useIsOffline,
238
- useOfflineTileState,
239
- useCommitOnEnterOrBlur,
240
- useSwipeReveal,
241
- useSnapCarousel,
242
- useResponsiveLayout,
243
- useCarouselRouteSync,
244
- useReorderSensors,
245
- shouldHandleDndEvent,
246
- useSwipeStack,
247
- } from './hooks';
248
- export type { OfflineTileState } from './hooks';
249
- export { MOBILE_BREAKPOINT_PX, SWIPE_STACK_TRANSITION_MS } from './hooks';
250
- export type {
251
- UseLongPressOptions,
252
- LongPressHandlers,
253
- CommitOnEnterOrBlurHandlers,
254
- UseSwipeRevealOptions,
255
- UseSwipeRevealHandlers,
256
- UseSwipeRevealResult,
257
- UseSnapCarouselOptions,
258
- UseSnapCarouselResult,
259
- UseResponsiveLayoutOptions,
260
- UseResponsiveLayoutResult,
261
- UseCarouselRouteSyncOptions,
262
- UseCarouselRouteSyncResult,
263
- UseReorderSensorsOptions,
264
- SwipeDirection,
265
- UseSwipeStackOptions,
266
- UseSwipeStackHandlers,
267
- UseSwipeStackResult,
268
- } from './hooks';
269
- export { ResponsiveSurface } from './components/ResponsiveSurface/ResponsiveSurface';
270
- export type { ResponsiveSurfaceProps } from './components/ResponsiveSurface/ResponsiveSurface';
271
- export { SwipableMobileCarouselDots } from './components/SwipableMobileCarouselDots/SwipableMobileCarouselDots';
272
- export type { SwipableMobileCarouselDotsProps } from './components/SwipableMobileCarouselDots/SwipableMobileCarouselDots';
273
- export { SwipableMobileCarousel } from './components/SwipableMobileCarousel/SwipableMobileCarousel';
274
- export type {
275
- SwipableMobileCarouselProps,
276
- SwipableMobileCarouselIndicatorProps,
277
- } from './components/SwipableMobileCarousel/SwipableMobileCarousel';
278
- export { SwipableMobileCarouselSlide } from './components/SwipableMobileCarousel/SwipableMobileCarouselSlide';
279
- export type { SwipableMobileCarouselSlideProps } from './components/SwipableMobileCarousel/SwipableMobileCarouselSlide';
280
- export { SwipableMobileCarouselSlideHeader } from './components/SwipableMobileCarousel/SwipableMobileCarouselSlideHeader';
281
- export type { SwipableMobileCarouselSlideHeaderProps } from './components/SwipableMobileCarousel/SwipableMobileCarouselSlideHeader';
282
- export { SwipableMobileCarouselSlideBody } from './components/SwipableMobileCarousel/SwipableMobileCarouselSlideBody';
283
- export type { SwipableMobileCarouselSlideBodyProps } from './components/SwipableMobileCarousel/SwipableMobileCarouselSlideBody';
284
- export { SwipableMobileCarouselSlideFooter } from './components/SwipableMobileCarousel/SwipableMobileCarouselSlideFooter';
285
- export type { SwipableMobileCarouselSlideFooterProps } from './components/SwipableMobileCarousel/SwipableMobileCarouselSlideFooter';
286
- export { SwipeStack } from './components/SwipeStack/SwipeStack';
287
- export type { SwipeStackProps, SwipeDirectionMeta } from './components/SwipeStack/SwipeStack';
288
- export { SwipeStackCard } from './components/SwipeStack/SwipeStackCard';
289
- export type { SwipeStackCardProps } from './components/SwipeStack/SwipeStackCard';
290
- export { ThreeColumnLayout } from './components/ThreeColumnLayout/ThreeColumnLayout';
291
- export type { ThreeColumnLayoutProps } from './components/ThreeColumnLayout/ThreeColumnLayout';
292
- export { HeaderFooterLayout } from './components/HeaderFooterLayout/HeaderFooterLayout';
293
- export type { HeaderFooterLayoutProps } from './components/HeaderFooterLayout/HeaderFooterLayout';
294
- export { RootLayout } from './components/RootLayout/RootLayout';
295
- export type { RootLayoutProps, RootLayoutVariant } from './components/RootLayout/RootLayout';
296
- export { PageLayout } from './components/PageLayout/PageLayout';
297
- export type { PageLayoutProps, PageLayoutPadding } from './components/PageLayout/PageLayout';
298
- export { NavList } from './components/NavList/NavList';
299
- export type {
300
- NavListProps,
301
- NavListGroup,
302
- NavListItem,
303
- NavListLinkProps,
304
- } from './components/NavList/NavList';
305
-
306
- // Theme presets (RFC 0094) — the closed, built-in preset data. Consumed
307
- // directly by runtime/src/instance-style.ts (RFC 0095); Storybook and
308
- // standalone consumers instead import the generated
309
- // '@sovereignfs/ui/tokens/theme-presets.css'.
310
- export { THEME_PRESETS, THEME_PRESET_NAMES } from './tokens/theme-presets';
311
- export type { ThemePresetName, ThemePresetTokens } from './tokens/theme-presets';
package/src/motion.ts DELETED
@@ -1,78 +0,0 @@
1
- 'use client';
2
-
3
- import { useEffect, useState } from 'react';
4
-
5
- export type TransitionPhase = 'entering' | 'open' | 'closing' | 'closed';
6
-
7
- /**
8
- * useMountTransition — generic two-phase-mount state machine for animated
9
- * overlays (Dialog, Drawer, and their Phase-B successors: Sheet,
10
- * ConfirmDialog, Menu). Internal to the design system — not exported from
11
- * `index.ts`; each component wires its own CSS classes to the returned phase.
12
- *
13
- * The `open` prop controls mounting from the outside, but both directions need
14
- * two renders to actually animate rather than snap: entering needs a frame at
15
- * the closed-position styles before flipping to open (so the browser has
16
- * something to interpolate from), and exiting needs to stay mounted *after*
17
- * `open` goes false long enough to play in reverse — so `mounted` and `open`
18
- * diverge for `durationMs` on close:
19
- *
20
- * open=true -> phase 'entering' (closed-position styles — this applies
21
- * equally to a fresh mount that starts open, e.g. a
22
- * route-driven overlay, and to an existing instance whose
23
- * `open` prop just flipped true; both should animate in the
24
- * same way) -> next frame, phase 'open' (open-position styles;
25
- * the CSS transition between the two animates the entrance).
26
- * open=false -> phase 'closing' (still mounted, rendered back at the
27
- * closed-position styles so the transition reverses) -> after
28
- * durationMs, phase 'closed' (unmounts).
29
- *
30
- * A component only needs one conditional class: apply the "open" variant
31
- * when `phase === 'open'`, and leave the base (closed-position) styles as the
32
- * unconditional default — entering, closing, and the pre-transition instant
33
- * all render as that same base state, which is exactly what should animate
34
- * to/from.
35
- */
36
- export function useMountTransition(
37
- open: boolean,
38
- durationMs: number,
39
- ): { mounted: boolean; phase: TransitionPhase } {
40
- const [phase, setPhase] = useState<TransitionPhase>(open ? 'entering' : 'closed');
41
-
42
- useEffect(() => {
43
- if (open) {
44
- setPhase('entering');
45
- const raf = requestAnimationFrame(() => setPhase('open'));
46
- return () => cancelAnimationFrame(raf);
47
- }
48
- setPhase((p) => (p === 'closed' ? 'closed' : 'closing'));
49
- const timer = setTimeout(() => setPhase('closed'), durationMs);
50
- return () => clearTimeout(timer);
51
- }, [open, durationMs]);
52
-
53
- return { mounted: phase !== 'closed', phase };
54
- }
55
-
56
- /**
57
- * usePrefersReducedMotion — SSR-safe (defaults to `false` until the client
58
- * mounts, matching every other SSR-safe hook in this system). Components pair
59
- * this with a `durationMs` of ~0 passed to `useMountTransition` and a matching
60
- * `@media (prefers-reduced-motion: reduce)` CSS rule collapsing the same
61
- * transition to near-instant — both sides must agree, or the JS unmount timer
62
- * and the CSS animation duration drift apart.
63
- */
64
- export function usePrefersReducedMotion(): boolean {
65
- const [reduced, setReduced] = useState(false);
66
-
67
- useEffect(() => {
68
- const mql = window.matchMedia('(prefers-reduced-motion: reduce)');
69
- setReduced(mql.matches);
70
- function handleChange(e: MediaQueryListEvent) {
71
- setReduced(e.matches);
72
- }
73
- mql.addEventListener('change', handleChange);
74
- return () => mql.removeEventListener('change', handleChange);
75
- }, []);
76
-
77
- return reduced;
78
- }
@@ -1,159 +0,0 @@
1
- 'use client';
2
-
3
- import { type RefObject, useEffect, useRef } from 'react';
4
- import { lockBodyScroll, unlockBodyScroll } from './scroll-lock';
5
-
6
- // Internal to the design system — not exported from `index.ts`. Shared by
7
- // Dialog, Drawer, and Sheet, which independently implemented identical
8
- // scrim/focus-trap/Escape/scroll-lock logic before this consolidation
9
- // (RFC 0079, epic task 9.19). ConfirmDialog is deliberately not migrated
10
- // here — it stays on the native `<dialog>` element, which already provides
11
- // equivalent focus-trap/backdrop semantics more reliably for its use case.
12
-
13
- export const OVERLAY_FOCUSABLE_SELECTOR =
14
- 'a[href], button:not([disabled]), textarea:not([disabled]), input:not([disabled]), select:not([disabled]), [tabindex]:not([tabindex="-1"])';
15
-
16
- // Matches --sv-motion-duration-base (Dialog/Drawer/Sheet's own .module.css
17
- // files) — kept as a plain JS constant rather than read from the CSS custom
18
- // property so the unmount timer and the CSS transition duration can't
19
- // silently drift apart at build time; change both together if this value
20
- // ever changes. Single shared export (not one copy per component) so a
21
- // future edit to one component's own local copy can't silently desync from
22
- // the other two — previously hand-copied identically into all three files.
23
- export const OVERLAY_MOTION_DURATION_MS = 250;
24
-
25
- // A LIFO stack of currently-open overlay ids, used only to decide which
26
- // overlay's Escape handler should act when more than one is open at once —
27
- // e.g. a ConfirmDialog opened from inside a Dialog. Module-level, not React
28
- // state: precedence is a synchronous fact resolved at keydown time, not
29
- // something that needs to trigger a render. Every overlay that wants a say
30
- // in Escape precedence registers here, including ConfirmDialog (native
31
- // `<dialog>`, not built on `useOverlayKeyboardTrap` — see this file's own
32
- // top comment) — it participates in this stack purely so a `Dialog`
33
- // underneath it knows to defer, without adopting any of the other hooks.
34
- let openOverlayIds: string[] = [];
35
- let nextOverlayId = 0;
36
-
37
- /** Call on open; returns an id to pass to `unregisterOpenOverlay`. */
38
- export function registerOpenOverlay(): string {
39
- const id = `overlay-${nextOverlayId++}`;
40
- openOverlayIds.push(id);
41
- return id;
42
- }
43
-
44
- /** Call on close/unmount, with the id `registerOpenOverlay` returned. */
45
- export function unregisterOpenOverlay(id: string): void {
46
- openOverlayIds = openOverlayIds.filter((existing) => existing !== id);
47
- }
48
-
49
- /** Whether `id` is the most-recently-registered still-open overlay. */
50
- export function isTopmostOpenOverlay(id: string): boolean {
51
- return openOverlayIds.at(-1) === id;
52
- }
53
-
54
- /**
55
- * Locks document scroll for the whole mounted lifetime of an overlay
56
- * (including its exit animation), not just while `open` — so the background
57
- * can't scroll while the panel is still visibly sliding/fading away.
58
- * Ref-counted via `scroll-lock.ts` so nested overlays (e.g. a confirmation
59
- * dialog inside an overlay-shell plugin) don't release the lock while a
60
- * sibling is still open.
61
- */
62
- export function useOverlayScrollLock(mounted: boolean): void {
63
- useEffect(() => {
64
- if (!mounted) return;
65
- lockBodyScroll();
66
- return unlockBodyScroll;
67
- }, [mounted]);
68
- }
69
-
70
- /**
71
- * Captures the element focused before the overlay opened, moves focus into
72
- * the panel when `active` becomes true, and restores the original focus on
73
- * cleanup. Callers pass whichever prop should trigger the capture — `open`
74
- * for Dialog/Drawer, `mounted` for Sheet (which restores focus on unmount
75
- * rather than on the raw `open` transition).
76
- */
77
- export function useOverlayFocusCapture(
78
- panelRef: RefObject<HTMLElement | null>,
79
- active: boolean,
80
- ): void {
81
- const previouslyFocused = useRef<HTMLElement | null>(null);
82
- useEffect(() => {
83
- if (!active) return;
84
- previouslyFocused.current = document.activeElement as HTMLElement | null;
85
- const panel = panelRef.current;
86
- const first = panel?.querySelector<HTMLElement>(OVERLAY_FOCUSABLE_SELECTOR);
87
- (first ?? panel)?.focus();
88
- return () => previouslyFocused.current?.focus();
89
- }, [active, panelRef]);
90
- }
91
-
92
- /**
93
- * Escape-to-close plus a Tab focus trap cycling within the panel. Attached
94
- * at `document` level so no keyboard listener is needed on the overlay's own
95
- * element (which would trigger `jsx-a11y/no-noninteractive-element-interactions`).
96
- *
97
- * Registers with the module's open-overlay stack (see above) for the
98
- * lifetime of `open`, and only actually calls `onClose` on Escape when this
99
- * overlay is the topmost one. Without this, a Dialog whose descendant opens
100
- * its own nested overlay (a ConfirmDialog, another Dialog) would react to
101
- * every Escape press itself — closing the wrong, outer surface, and doing so
102
- * before the actually-topmost overlay (e.g. a native `<dialog>`, whose own
103
- * Escape handling is asynchronous per spec) gets a chance to process the key
104
- * itself. Registration is a separate effect keyed only on `open`, not on
105
- * `onClose`/`panelRef` — those change identity on unrelated re-renders, and
106
- * re-registering on every one of them would keep bumping this overlay to the
107
- * top of the stack, which is wrong when nothing about its open/closed state
108
- * actually changed.
109
- */
110
- export function useOverlayKeyboardTrap(
111
- panelRef: RefObject<HTMLElement | null>,
112
- open: boolean,
113
- onClose: () => void,
114
- ): void {
115
- const overlayIdRef = useRef<string | null>(null);
116
-
117
- useEffect(() => {
118
- if (!open) return;
119
- const id = registerOpenOverlay();
120
- overlayIdRef.current = id;
121
- return () => {
122
- unregisterOpenOverlay(id);
123
- overlayIdRef.current = null;
124
- };
125
- }, [open]);
126
-
127
- useEffect(() => {
128
- if (!open) return;
129
- function handleKeyDown(e: KeyboardEvent) {
130
- if (e.key === 'Escape') {
131
- const id = overlayIdRef.current;
132
- if (id !== null && !isTopmostOpenOverlay(id)) return;
133
- e.stopPropagation();
134
- onClose();
135
- return;
136
- }
137
- if (e.key !== 'Tab') return;
138
- const panel = panelRef.current;
139
- if (!panel) return;
140
- const focusable = [...panel.querySelectorAll<HTMLElement>(OVERLAY_FOCUSABLE_SELECTOR)];
141
- const first = focusable[0];
142
- const last = focusable.at(-1);
143
- if (!first || !last) {
144
- e.preventDefault();
145
- return;
146
- }
147
- const active = document.activeElement;
148
- if (e.shiftKey && active === first) {
149
- e.preventDefault();
150
- last.focus();
151
- } else if (!e.shiftKey && active === last) {
152
- e.preventDefault();
153
- first.focus();
154
- }
155
- }
156
- document.addEventListener('keydown', handleKeyDown);
157
- return () => document.removeEventListener('keydown', handleKeyDown);
158
- }, [open, onClose, panelRef]);
159
- }
@@ -1,22 +0,0 @@
1
- // Ref-counted body scroll lock. Multiple overlays (Dialog, Drawer) can be
2
- // open simultaneously; the body stays locked until all of them close.
3
- // Uses data-scroll-locks on <body> as a counter so concurrent callers
4
- // don't clobber each other's lock state.
5
- //
6
- // Only locks overflow-y (not the shorthand overflow) so the stylesheet's
7
- // overflow-x: hidden on html,body is never overridden. On Android, clearing
8
- // the overflow shorthand causes a brief frame where overflow-x is also
9
- // unlocked — content wider than the viewport can paint and the home screen
10
- // appears to "blow out" after the overlay closes.
11
-
12
- export function lockBodyScroll(): void {
13
- const count = parseInt(document.body.dataset.scrollLocks ?? '0', 10);
14
- document.body.dataset.scrollLocks = String(count + 1);
15
- if (count === 0) document.body.style.overflowY = 'hidden';
16
- }
17
-
18
- export function unlockBodyScroll(): void {
19
- const next = Math.max(0, parseInt(document.body.dataset.scrollLocks ?? '0', 10) - 1);
20
- document.body.dataset.scrollLocks = String(next);
21
- if (next === 0) document.body.style.overflowY = '';
22
- }
@@ -1,44 +0,0 @@
1
- import type { Meta, StoryObj } from '@storybook/react-vite';
2
- import { Avatar } from '../components/Avatar/Avatar';
3
-
4
- const meta = {
5
- title: 'Components/Avatar',
6
- component: Avatar,
7
- parameters: { layout: 'centered' },
8
- } satisfies Meta<typeof Avatar>;
9
-
10
- export default meta;
11
- type Story = StoryObj<typeof meta>;
12
-
13
- export const Initials: Story = {
14
- args: { name: 'Jane Smith' },
15
- };
16
-
17
- export const SingleName: Story = {
18
- args: { name: 'Admin' },
19
- };
20
-
21
- export const WithImage: Story = {
22
- args: {
23
- name: 'Jane Smith',
24
- src: 'https://i.pravatar.cc/150?u=jane',
25
- },
26
- };
27
-
28
- export const BrokenImage: Story = {
29
- args: {
30
- name: 'Jane Smith',
31
- src: 'https://broken.invalid/avatar.png',
32
- },
33
- };
34
-
35
- export const AllSizes: Story = {
36
- args: { name: 'Jane Smith' },
37
- render: () => (
38
- <div style={{ display: 'flex', alignItems: 'center', gap: 12 }}>
39
- <Avatar name="Jane Smith" size="sm" />
40
- <Avatar name="Jane Smith" size="md" />
41
- <Avatar name="Jane Smith" size="lg" />
42
- </div>
43
- ),
44
- };
@@ -1,35 +0,0 @@
1
- import type { Meta, StoryObj } from '@storybook/react-vite';
2
- import { Card } from '../components/Card/Card';
3
-
4
- const meta = {
5
- title: 'Components/Card',
6
- component: Card,
7
- parameters: { layout: 'padded' },
8
- args: { children: 'Card content goes here.' },
9
- } satisfies Meta<typeof Card>;
10
-
11
- export default meta;
12
- type Story = StoryObj<typeof meta>;
13
-
14
- export const Default: Story = {};
15
-
16
- export const SmallPadding: Story = { args: { padding: 'sm' } };
17
- export const LargePadding: Story = { args: { padding: 'lg' } };
18
-
19
- export const Interactive: Story = {
20
- args: {
21
- as: 'article',
22
- interactive: true,
23
- children: 'Click me — I have hover + focus styles.',
24
- },
25
- };
26
-
27
- export const AsListItem: Story = {
28
- render: () => (
29
- <ul style={{ listStyle: 'none', padding: 0, display: 'flex', flexDirection: 'column', gap: 8 }}>
30
- <Card as="li">First item</Card>
31
- <Card as="li">Second item</Card>
32
- <Card as="li">Third item</Card>
33
- </ul>
34
- ),
35
- };