@ponti-studios/ui 2.0.1 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (319) hide show
  1. package/README.md +36 -3
  2. package/dist/auth/index.d.ts +3 -0
  3. package/dist/auth/index.js +3 -0
  4. package/dist/components/data-display/accordion.d.ts +10 -0
  5. package/dist/components/data-display/accordion.js +53 -0
  6. package/{src/components/data-display/index.ts → dist/components/data-display/index.d.ts} +1 -10
  7. package/dist/components/data-display/index.js +8 -0
  8. package/dist/components/data-display/metric-card.d.ts +9 -0
  9. package/dist/components/data-display/metric-card.js +25 -0
  10. package/dist/components/data-display/sort-controls.d.ts +13 -0
  11. package/dist/components/data-display/sort-controls.js +57 -0
  12. package/dist/components/data-display/sort-row.d.ts +10 -0
  13. package/dist/components/data-display/sort-row.js +52 -0
  14. package/dist/components/data-display/table.d.ts +10 -0
  15. package/dist/components/data-display/table.js +57 -0
  16. package/dist/components/feedback/alert.d.ts +9 -0
  17. package/dist/components/feedback/alert.js +38 -0
  18. package/dist/components/feedback/empty-state.d.ts +18 -0
  19. package/dist/components/feedback/empty-state.js +36 -0
  20. package/{src/components/feedback/index.ts → dist/components/feedback/index.d.ts} +2 -0
  21. package/dist/components/feedback/index.js +7 -0
  22. package/dist/components/feedback/progress.d.ts +6 -0
  23. package/dist/components/feedback/progress.js +25 -0
  24. package/dist/components/feedback/skeleton.d.ts +2 -0
  25. package/dist/components/feedback/skeleton.js +11 -0
  26. package/dist/components/feedback/spinner.d.ts +14 -0
  27. package/dist/components/feedback/spinner.js +27 -0
  28. package/dist/components/feedback/update-guard.d.ts +13 -0
  29. package/dist/components/feedback/update-guard.js +38 -0
  30. package/dist/components/filters/active-filters-bar.d.ts +14 -0
  31. package/dist/components/filters/active-filters-bar.js +44 -0
  32. package/dist/components/filters/filter-chip.d.ts +11 -0
  33. package/dist/components/filters/filter-chip.js +33 -0
  34. package/dist/components/filters/filter-select.d.ts +17 -0
  35. package/dist/components/filters/filter-select.js +46 -0
  36. package/dist/components/filters/index.js +4 -0
  37. package/dist/components/forms/checkbox.d.ts +4 -0
  38. package/dist/components/forms/checkbox.js +24 -0
  39. package/dist/components/forms/date-month-select.d.ts +11 -0
  40. package/dist/components/forms/date-month-select.js +47 -0
  41. package/dist/components/forms/date-picker.d.ts +60 -0
  42. package/dist/components/forms/date-picker.js +193 -0
  43. package/dist/components/forms/date-utils.d.ts +14 -0
  44. package/dist/components/forms/date-utils.js +18 -0
  45. package/dist/components/forms/drop-zone.d.ts +42 -0
  46. package/dist/components/forms/drop-zone.js +184 -0
  47. package/{src/components/forms/index.ts → dist/components/forms/index.d.ts} +3 -9
  48. package/dist/components/forms/index.js +17 -0
  49. package/dist/components/forms/input.d.ts +3 -0
  50. package/dist/components/forms/input.js +15 -0
  51. package/dist/components/forms/label.d.ts +3 -0
  52. package/dist/components/forms/label.js +14 -0
  53. package/dist/components/forms/passkey-management.d.ts +14 -0
  54. package/dist/components/forms/passkey-management.js +132 -0
  55. package/dist/components/forms/radio-group.d.ts +6 -0
  56. package/dist/components/forms/radio-group.js +28 -0
  57. package/dist/components/forms/select.d.ts +18 -0
  58. package/dist/components/forms/select.js +103 -0
  59. package/dist/components/forms/slider.d.ts +9 -0
  60. package/dist/components/forms/slider.js +25 -0
  61. package/dist/components/forms/stepper.d.ts +15 -0
  62. package/dist/components/forms/stepper.js +41 -0
  63. package/dist/components/forms/switch.d.ts +6 -0
  64. package/dist/components/forms/switch.js +21 -0
  65. package/dist/components/forms/text-field.d.ts +15 -0
  66. package/dist/components/forms/text-field.js +46 -0
  67. package/dist/components/forms/text-field.types.d.ts +8 -0
  68. package/dist/components/forms/textarea.d.ts +3 -0
  69. package/dist/components/forms/textarea.js +14 -0
  70. package/dist/components/layout/index.js +5 -0
  71. package/dist/components/layout/particle-background.d.ts +19 -0
  72. package/dist/components/layout/particle-background.js +171 -0
  73. package/dist/components/layout/scroll-area.d.ts +9 -0
  74. package/dist/components/layout/scroll-area.js +35 -0
  75. package/dist/components/layout/section-intro.d.ts +12 -0
  76. package/dist/components/layout/section-intro.js +28 -0
  77. package/dist/components/layout/surface-panel.d.ts +7 -0
  78. package/dist/components/layout/surface-panel.js +11 -0
  79. package/dist/components/navigation/app-navigation.d.ts +67 -0
  80. package/dist/components/navigation/app-navigation.js +106 -0
  81. package/{src/components/navigation/index.ts → dist/components/navigation/index.d.ts} +1 -7
  82. package/dist/components/navigation/index.js +4 -0
  83. package/dist/components/navigation/pagination-controls.d.ts +7 -0
  84. package/dist/components/navigation/pagination-controls.js +50 -0
  85. package/dist/components/navigation/tabs.d.ts +7 -0
  86. package/dist/components/navigation/tabs.js +35 -0
  87. package/dist/components/overlays/bottom-sheet.d.ts +20 -0
  88. package/dist/components/overlays/bottom-sheet.js +101 -0
  89. package/dist/components/overlays/command.d.ts +29 -0
  90. package/dist/components/overlays/command.js +123 -0
  91. package/dist/components/overlays/dialog.d.ts +30 -0
  92. package/dist/components/overlays/dialog.js +105 -0
  93. package/dist/components/overlays/dropdown-menu.d.ts +29 -0
  94. package/dist/components/overlays/dropdown-menu.js +128 -0
  95. package/dist/components/overlays/index.d.ts +7 -0
  96. package/dist/components/overlays/index.js +8 -0
  97. package/dist/components/overlays/popover.d.ts +14 -0
  98. package/dist/components/overlays/popover.js +56 -0
  99. package/dist/components/overlays/sheet.d.ts +27 -0
  100. package/dist/components/overlays/sheet.js +81 -0
  101. package/dist/components/overlays/tooltip.d.ts +10 -0
  102. package/dist/components/overlays/tooltip.js +23 -0
  103. package/dist/components/primitives/avatar.d.ts +14 -0
  104. package/dist/components/primitives/avatar.js +72 -0
  105. package/dist/components/primitives/badge.d.ts +7 -0
  106. package/dist/components/primitives/badge.js +27 -0
  107. package/dist/components/primitives/button.d.ts +13 -0
  108. package/dist/components/primitives/button.js +113 -0
  109. package/{src/components/primitives/button.types.ts → dist/components/primitives/button.types.d.ts} +4 -6
  110. package/dist/components/primitives/card.d.ts +9 -0
  111. package/dist/components/primitives/card.js +56 -0
  112. package/{src/components/primitives/index.ts → dist/components/primitives/index.d.ts} +1 -9
  113. package/dist/components/primitives/index.js +7 -0
  114. package/dist/components/primitives/segmented-control.d.ts +20 -0
  115. package/dist/components/primitives/segmented-control.js +27 -0
  116. package/dist/components/primitives/separator.d.ts +4 -0
  117. package/dist/components/primitives/separator.js +16 -0
  118. package/dist/constants/chart-colors.d.ts +33 -0
  119. package/dist/constants/chart-colors.js +31 -0
  120. package/dist/hooks/index.js +9 -0
  121. package/{src/hooks/sort.types.ts → dist/hooks/sort.types.d.ts} +2 -4
  122. package/dist/hooks/use-api-client.d.ts +30 -0
  123. package/dist/hooks/use-api-client.js +106 -0
  124. package/dist/hooks/use-debounced-value.d.ts +1 -0
  125. package/dist/hooks/use-debounced-value.js +12 -0
  126. package/dist/hooks/use-derived-filter-state.d.ts +20 -0
  127. package/dist/hooks/use-derived-filter-state.js +39 -0
  128. package/dist/hooks/use-filter-state.d.ts +12 -0
  129. package/dist/hooks/use-filter-state.js +37 -0
  130. package/dist/hooks/use-media-query.d.ts +6 -0
  131. package/dist/hooks/use-media-query.js +27 -0
  132. package/dist/hooks/use-mobile.d.ts +1 -0
  133. package/dist/hooks/use-mobile.js +14 -0
  134. package/dist/hooks/use-sort.d.ts +11 -0
  135. package/dist/hooks/use-sort.js +14 -0
  136. package/{src/index.ts → dist/index.d.ts} +4 -32
  137. package/dist/index.js +15 -0
  138. package/dist/integrations/service-worker.d.ts +2 -0
  139. package/dist/integrations/service-worker.js +2 -0
  140. package/dist/lib/auth.d.ts +2 -0
  141. package/dist/lib/auth.js +7 -0
  142. package/dist/lib/clipboard.d.ts +1 -0
  143. package/dist/lib/clipboard.js +10 -0
  144. package/dist/lib/index.js +4 -0
  145. package/{src/lib/slot.tsx → dist/lib/slot.d.ts} +2 -15
  146. package/dist/lib/slot.js +14 -0
  147. package/dist/lib/utils.d.ts +2 -0
  148. package/dist/lib/utils.js +8 -0
  149. package/dist/native/components.d.ts +41 -0
  150. package/dist/native/components.js +135 -0
  151. package/dist/native/index.js +3 -0
  152. package/dist/native/theme.d.ts +19 -0
  153. package/dist/native/theme.js +58 -0
  154. package/dist/styles/tokens/css-vars.d.ts +7 -0
  155. package/dist/styles/tokens/css-vars.js +5 -0
  156. package/dist/styles/tokens/generated/dark.colors.generated.d.ts +40 -0
  157. package/dist/styles/tokens/generated/dark.colors.generated.js +39 -0
  158. package/dist/styles/tokens/generated/foundations.generated.d.ts +323 -0
  159. package/dist/styles/tokens/generated/foundations.generated.js +453 -0
  160. package/dist/styles/tokens/generated/light.colors.generated.d.ts +40 -0
  161. package/dist/styles/tokens/generated/light.colors.generated.js +39 -0
  162. package/dist/styles/tokens/index.d.ts +317 -0
  163. package/dist/styles/tokens/index.js +14 -0
  164. package/dist/styles.css +1 -1
  165. package/dist/translations/en.d.ts +34 -0
  166. package/dist/translations/index.d.ts +39 -0
  167. package/dist/translations/ui-provider.d.ts +9 -0
  168. package/dist/translations/ui-provider.js +16 -0
  169. package/dist/types/upload.d.ts +36 -0
  170. package/package.json +50 -33
  171. package/src/components/data-display/accordion.stories.tsx +0 -57
  172. package/src/components/data-display/accordion.tsx +0 -86
  173. package/src/components/data-display/metric-card.stories.tsx +0 -48
  174. package/src/components/data-display/metric-card.tsx +0 -20
  175. package/src/components/data-display/sort-controls.stories.tsx +0 -45
  176. package/src/components/data-display/sort-controls.tsx +0 -96
  177. package/src/components/data-display/sort-row.tsx +0 -88
  178. package/src/components/data-display/table.stories.tsx +0 -75
  179. package/src/components/data-display/table.tsx +0 -80
  180. package/src/components/feedback/alert.stories.tsx +0 -51
  181. package/src/components/feedback/alert.tsx +0 -64
  182. package/src/components/feedback/empty-state.tsx +0 -76
  183. package/src/components/feedback/progress.stories.tsx +0 -54
  184. package/src/components/feedback/progress.tsx +0 -41
  185. package/src/components/feedback/skeleton.stories.tsx +0 -36
  186. package/src/components/feedback/skeleton.tsx +0 -7
  187. package/src/components/feedback/spinner.stories.tsx +0 -52
  188. package/src/components/feedback/spinner.tsx +0 -47
  189. package/src/components/feedback/update-guard.stories.tsx +0 -28
  190. package/src/components/feedback/update-guard.tsx +0 -57
  191. package/src/components/filters/active-filters-bar.stories.tsx +0 -114
  192. package/src/components/filters/active-filters-bar.tsx +0 -61
  193. package/src/components/filters/filter-chip.tsx +0 -57
  194. package/src/components/filters/filter-select.stories.tsx +0 -71
  195. package/src/components/filters/filter-select.tsx +0 -68
  196. package/src/components/forms/checkbox.stories.tsx +0 -35
  197. package/src/components/forms/checkbox.tsx +0 -38
  198. package/src/components/forms/date-month-select.stories.tsx +0 -26
  199. package/src/components/forms/date-month-select.tsx +0 -79
  200. package/src/components/forms/date-picker.stories.tsx +0 -188
  201. package/src/components/forms/date-picker.tsx +0 -303
  202. package/src/components/forms/date-utils.ts +0 -37
  203. package/src/components/forms/drop-zone.stories.tsx +0 -140
  204. package/src/components/forms/drop-zone.tsx +0 -298
  205. package/src/components/forms/input.stories.tsx +0 -47
  206. package/src/components/forms/input.tsx +0 -24
  207. package/src/components/forms/label.stories.tsx +0 -16
  208. package/src/components/forms/label.tsx +0 -25
  209. package/src/components/forms/passkey-management.stories.tsx +0 -85
  210. package/src/components/forms/passkey-management.tsx +0 -168
  211. package/src/components/forms/radio-group.stories.tsx +0 -46
  212. package/src/components/forms/radio-group.tsx +0 -44
  213. package/src/components/forms/select.stories.tsx +0 -207
  214. package/src/components/forms/select.tsx +0 -182
  215. package/src/components/forms/slider.stories.tsx +0 -70
  216. package/src/components/forms/slider.tsx +0 -50
  217. package/src/components/forms/stepper.stories.tsx +0 -111
  218. package/src/components/forms/stepper.tsx +0 -66
  219. package/src/components/forms/switch.stories.tsx +0 -144
  220. package/src/components/forms/switch.tsx +0 -39
  221. package/src/components/forms/text-field.stories.tsx +0 -87
  222. package/src/components/forms/text-field.tsx +0 -75
  223. package/src/components/forms/text-field.types.ts +0 -9
  224. package/src/components/forms/textarea.stories.tsx +0 -150
  225. package/src/components/forms/textarea.tsx +0 -22
  226. package/src/components/layout/particle-background.stories.tsx +0 -38
  227. package/src/components/layout/particle-background.tsx +0 -378
  228. package/src/components/layout/scroll-area.stories.tsx +0 -91
  229. package/src/components/layout/scroll-area.tsx +0 -79
  230. package/src/components/layout/section-intro.stories.tsx +0 -29
  231. package/src/components/layout/section-intro.tsx +0 -31
  232. package/src/components/layout/surface-panel.stories.tsx +0 -32
  233. package/src/components/layout/surface-panel.tsx +0 -23
  234. package/src/components/navigation/app-navigation.stories.tsx +0 -217
  235. package/src/components/navigation/app-navigation.tsx +0 -234
  236. package/src/components/navigation/pagination-controls.stories.tsx +0 -41
  237. package/src/components/navigation/pagination-controls.tsx +0 -46
  238. package/src/components/navigation/tabs.stories.tsx +0 -48
  239. package/src/components/navigation/tabs.tsx +0 -52
  240. package/src/components/overlays/bottom-sheet.stories.tsx +0 -52
  241. package/src/components/overlays/bottom-sheet.tsx +0 -179
  242. package/src/components/overlays/command.stories.tsx +0 -65
  243. package/src/components/overlays/command.tsx +0 -227
  244. package/src/components/overlays/dialog.stories.tsx +0 -148
  245. package/src/components/overlays/dialog.tsx +0 -203
  246. package/src/components/overlays/dropdown-menu.stories.tsx +0 -74
  247. package/src/components/overlays/dropdown-menu.tsx +0 -236
  248. package/src/components/overlays/index.ts +0 -56
  249. package/src/components/overlays/popover.stories.tsx +0 -51
  250. package/src/components/overlays/popover.tsx +0 -78
  251. package/src/components/overlays/sheet.stories.tsx +0 -68
  252. package/src/components/overlays/sheet.tsx +0 -155
  253. package/src/components/overlays/tooltip.stories.tsx +0 -29
  254. package/src/components/overlays/tooltip.tsx +0 -41
  255. package/src/components/primitives/avatar-placeholder.svg +0 -13
  256. package/src/components/primitives/avatar.stories.tsx +0 -72
  257. package/src/components/primitives/avatar.tsx +0 -136
  258. package/src/components/primitives/badge.stories.tsx +0 -43
  259. package/src/components/primitives/badge.tsx +0 -43
  260. package/src/components/primitives/button.stories.tsx +0 -113
  261. package/src/components/primitives/button.tsx +0 -131
  262. package/src/components/primitives/card.stories.tsx +0 -59
  263. package/src/components/primitives/card.tsx +0 -66
  264. package/src/components/primitives/segmented-control.stories.tsx +0 -54
  265. package/src/components/primitives/segmented-control.tsx +0 -73
  266. package/src/components/primitives/separator.stories.tsx +0 -34
  267. package/src/components/primitives/separator.tsx +0 -27
  268. package/src/constants/chart-colors.ts +0 -39
  269. package/src/env.d.ts +0 -9
  270. package/src/hooks/use-api-client.ts +0 -122
  271. package/src/hooks/use-debounced-value.ts +0 -12
  272. package/src/hooks/use-derived-filter-state.ts +0 -70
  273. package/src/hooks/use-filter-state.ts +0 -66
  274. package/src/hooks/use-media-query.ts +0 -69
  275. package/src/hooks/use-mobile.tsx +0 -19
  276. package/src/hooks/use-sort.ts +0 -20
  277. package/src/lib/auth.ts +0 -5
  278. package/src/lib/clipboard.ts +0 -8
  279. package/src/lib/utils.ts +0 -6
  280. package/src/native/components.tsx +0 -198
  281. package/src/native/theme.tsx +0 -69
  282. package/src/storybook/controls.ts +0 -117
  283. package/src/storybook/options.ts +0 -52
  284. package/src/styles/build.ts +0 -1
  285. package/src/styles/index.css +0 -423
  286. package/src/styles/nokia.css +0 -36
  287. package/src/styles/package.css +0 -3
  288. package/src/styles/tokens/chart-colors.stories.tsx +0 -189
  289. package/src/styles/tokens/color-systems.stories.tsx +0 -190
  290. package/src/styles/tokens/css-vars.ts +0 -15
  291. package/src/styles/tokens/generated/dark-class.css +0 -39
  292. package/src/styles/tokens/generated/dark.colors.generated.ts +0 -39
  293. package/src/styles/tokens/generated/dark.css +0 -39
  294. package/src/styles/tokens/generated/foundations.css +0 -149
  295. package/src/styles/tokens/generated/foundations.generated.ts +0 -454
  296. package/src/styles/tokens/generated/light.colors.generated.ts +0 -39
  297. package/src/styles/tokens/generated/light.css +0 -39
  298. package/src/styles/tokens/index.ts +0 -70
  299. package/src/styles/tokens/layout.stories.tsx +0 -50
  300. package/src/styles/tokens/scripts/check-foundations.mjs +0 -126
  301. package/src/styles/tokens/scripts/check-source.mjs +0 -53
  302. package/src/styles/tokens/source/dark.tokens.json +0 -138
  303. package/src/styles/tokens/source/foundations.tokens.json +0 -344
  304. package/src/styles/tokens/source/light.tokens.json +0 -138
  305. package/src/styles/tokens/style-dictionary.dark-class.json +0 -16
  306. package/src/styles/tokens/style-dictionary.dark-storybook.json +0 -16
  307. package/src/styles/tokens/style-dictionary.dark.json +0 -21
  308. package/src/styles/tokens/style-dictionary.foundations.json +0 -21
  309. package/src/styles/tokens/style-dictionary.light-storybook.json +0 -16
  310. package/src/styles/tokens/style-dictionary.light.json +0 -21
  311. package/src/styles/tokens/typography.stories.tsx +0 -157
  312. package/src/translations/en.ts +0 -34
  313. package/src/translations/index.ts +0 -32
  314. package/src/types/upload.ts +0 -42
  315. /package/{src/components/filters/index.ts → dist/components/filters/index.d.ts} +0 -0
  316. /package/{src/components/layout/index.ts → dist/components/layout/index.d.ts} +0 -0
  317. /package/{src/hooks/index.ts → dist/hooks/index.d.ts} +0 -0
  318. /package/{src/lib/index.ts → dist/lib/index.d.ts} +0 -0
  319. /package/{src/native/index.ts → dist/native/index.d.ts} +0 -0
@@ -1,454 +0,0 @@
1
- /**
2
- * Do not edit directly, this file was auto-generated.
3
- */
4
-
5
- export default {
6
- spacing: "0.25rem",
7
- "spacing-scale": {
8
- 0: "0rem",
9
- 1: "0.25rem",
10
- 2: "0.5rem",
11
- 3: "0.75rem",
12
- 4: "1rem",
13
- 5: "1.25rem",
14
- 6: "1.5rem",
15
- 7: "1.75rem",
16
- 8: "2rem",
17
- 9: "2.25rem",
18
- 10: "2.5rem",
19
- 11: "2.75rem",
20
- 12: "3rem",
21
- 14: "3.5rem",
22
- 16: "4rem",
23
- 20: "5rem",
24
- 24: "6rem",
25
- 28: "7rem",
26
- 32: "8rem",
27
- 36: "9rem",
28
- 40: "10rem",
29
- 44: "11rem",
30
- 48: "12rem",
31
- 52: "13rem",
32
- 56: "14rem",
33
- 60: "15rem",
34
- 64: "16rem",
35
- 72: "18rem",
36
- 80: "20rem",
37
- 96: "24rem",
38
- px: "1px",
39
- "0-5": "0.125rem",
40
- "1-5": "0.375rem",
41
- "2-5": "0.625rem",
42
- "3-5": "0.875rem",
43
- },
44
- font: {
45
- sans: [
46
- "Geist",
47
- "system-ui",
48
- "-apple-system",
49
- "BlinkMacSystemFont",
50
- "Segoe UI",
51
- "Roboto",
52
- "Helvetica Neue",
53
- "Noto Sans",
54
- "Arial",
55
- "sans-serif",
56
- "Apple Color Emoji",
57
- "Segoe UI Emoji",
58
- "Segoe UI Symbol",
59
- "Noto Color Emoji",
60
- ],
61
- serif: [
62
- "system-ui",
63
- "-apple-system",
64
- "BlinkMacSystemFont",
65
- "Segoe UI",
66
- "Roboto",
67
- "Helvetica Neue",
68
- "Noto Sans",
69
- "Arial",
70
- "sans-serif",
71
- "Apple Color Emoji",
72
- "Segoe UI Emoji",
73
- "Segoe UI Symbol",
74
- "Noto Color Emoji",
75
- ],
76
- mono: [
77
- "Geist Mono",
78
- "ui-monospace",
79
- "SFMono-Regular",
80
- "Menlo",
81
- "Monaco",
82
- "Consolas",
83
- "Liberation Mono",
84
- "Courier New",
85
- "monospace",
86
- ],
87
- },
88
- text: {
89
- xs: "0.75rem",
90
- sm: "0.875rem",
91
- base: "1rem",
92
- lg: "1.125rem",
93
- xl: "1.25rem",
94
- "2xl": "1.5rem",
95
- "3xl": "1.875rem",
96
- "4xl": "2.25rem",
97
- "5xl": "3rem",
98
- "6xl": "3.75rem",
99
- "7xl": "4.5rem",
100
- "8xl": "6rem",
101
- "9xl": "8rem",
102
- },
103
- "text-line-height": {
104
- xs: 1.3333333333,
105
- sm: 1.4285714286,
106
- base: 1.5,
107
- lg: 1.5555555556,
108
- xl: 1.4,
109
- "2xl": 1.3333333333,
110
- "3xl": 1.2,
111
- "4xl": 1.1111111111,
112
- "5xl": 1,
113
- "6xl": 1,
114
- "7xl": 1,
115
- "8xl": 1,
116
- "9xl": 1,
117
- },
118
- "font-weight": {
119
- thin: 100,
120
- extralight: 200,
121
- light: 300,
122
- normal: 400,
123
- medium: 500,
124
- semibold: 600,
125
- bold: 700,
126
- extrabold: 800,
127
- black: 900,
128
- },
129
- tracking: {
130
- tighter: "-0.05em",
131
- tight: "-0.025em",
132
- normal: "0em",
133
- wide: "0.025em",
134
- wider: "0.05em",
135
- widest: "0.1em",
136
- },
137
- leading: {
138
- tight: 1.25,
139
- snug: 1.375,
140
- normal: 1.5,
141
- relaxed: 1.625,
142
- loose: 2,
143
- },
144
- radius: {
145
- xs: "0.125rem",
146
- sm: "0.25rem",
147
- md: "0.375rem",
148
- lg: "0.5rem",
149
- xl: "0.75rem",
150
- "2xl": "1rem",
151
- "3xl": "1.5rem",
152
- "4xl": "2rem",
153
- full: "9999px",
154
- },
155
- shadow: {
156
- "2xs": [
157
- {
158
- color: "rgb(0 0 0 / 0.05)",
159
- offsetX: {
160
- value: 0,
161
- unit: "px",
162
- },
163
- offsetY: {
164
- value: 1,
165
- unit: "px",
166
- },
167
- blur: {
168
- value: 0,
169
- unit: "px",
170
- },
171
- spread: {
172
- value: 0,
173
- unit: "px",
174
- },
175
- },
176
- ],
177
- xs: [
178
- {
179
- color: "rgb(0 0 0 / 0.05)",
180
- offsetX: {
181
- value: 0,
182
- unit: "px",
183
- },
184
- offsetY: {
185
- value: 1,
186
- unit: "px",
187
- },
188
- blur: {
189
- value: 2,
190
- unit: "px",
191
- },
192
- spread: {
193
- value: 0,
194
- unit: "px",
195
- },
196
- },
197
- ],
198
- sm: [
199
- {
200
- color: "rgb(0 0 0 / 0.1)",
201
- offsetX: {
202
- value: 0,
203
- unit: "px",
204
- },
205
- offsetY: {
206
- value: 1,
207
- unit: "px",
208
- },
209
- blur: {
210
- value: 3,
211
- unit: "px",
212
- },
213
- spread: {
214
- value: 0,
215
- unit: "px",
216
- },
217
- },
218
- {
219
- color: "rgb(0 0 0 / 0.1)",
220
- offsetX: {
221
- value: 0,
222
- unit: "px",
223
- },
224
- offsetY: {
225
- value: 1,
226
- unit: "px",
227
- },
228
- blur: {
229
- value: 2,
230
- unit: "px",
231
- },
232
- spread: {
233
- value: -1,
234
- unit: "px",
235
- },
236
- },
237
- ],
238
- md: [
239
- {
240
- color: "rgb(0 0 0 / 0.1)",
241
- offsetX: {
242
- value: 0,
243
- unit: "px",
244
- },
245
- offsetY: {
246
- value: 4,
247
- unit: "px",
248
- },
249
- blur: {
250
- value: 6,
251
- unit: "px",
252
- },
253
- spread: {
254
- value: -1,
255
- unit: "px",
256
- },
257
- },
258
- {
259
- color: "rgb(0 0 0 / 0.1)",
260
- offsetX: {
261
- value: 0,
262
- unit: "px",
263
- },
264
- offsetY: {
265
- value: 2,
266
- unit: "px",
267
- },
268
- blur: {
269
- value: 4,
270
- unit: "px",
271
- },
272
- spread: {
273
- value: -2,
274
- unit: "px",
275
- },
276
- },
277
- ],
278
- lg: [
279
- {
280
- color: "rgb(0 0 0 / 0.1)",
281
- offsetX: {
282
- value: 0,
283
- unit: "px",
284
- },
285
- offsetY: {
286
- value: 10,
287
- unit: "px",
288
- },
289
- blur: {
290
- value: 15,
291
- unit: "px",
292
- },
293
- spread: {
294
- value: -3,
295
- unit: "px",
296
- },
297
- },
298
- {
299
- color: "rgb(0 0 0 / 0.1)",
300
- offsetX: {
301
- value: 0,
302
- unit: "px",
303
- },
304
- offsetY: {
305
- value: 4,
306
- unit: "px",
307
- },
308
- blur: {
309
- value: 6,
310
- unit: "px",
311
- },
312
- spread: {
313
- value: -4,
314
- unit: "px",
315
- },
316
- },
317
- ],
318
- xl: [
319
- {
320
- color: "rgb(0 0 0 / 0.1)",
321
- offsetX: {
322
- value: 0,
323
- unit: "px",
324
- },
325
- offsetY: {
326
- value: 20,
327
- unit: "px",
328
- },
329
- blur: {
330
- value: 25,
331
- unit: "px",
332
- },
333
- spread: {
334
- value: -5,
335
- unit: "px",
336
- },
337
- },
338
- {
339
- color: "rgb(0 0 0 / 0.1)",
340
- offsetX: {
341
- value: 0,
342
- unit: "px",
343
- },
344
- offsetY: {
345
- value: 8,
346
- unit: "px",
347
- },
348
- blur: {
349
- value: 10,
350
- unit: "px",
351
- },
352
- spread: {
353
- value: -6,
354
- unit: "px",
355
- },
356
- },
357
- ],
358
- "2xl": [
359
- {
360
- color: "rgb(0 0 0 / 0.25)",
361
- offsetX: {
362
- value: 0,
363
- unit: "px",
364
- },
365
- offsetY: {
366
- value: 25,
367
- unit: "px",
368
- },
369
- blur: {
370
- value: 50,
371
- unit: "px",
372
- },
373
- spread: {
374
- value: -12,
375
- unit: "px",
376
- },
377
- },
378
- ],
379
- none: [
380
- {
381
- color: "transparent",
382
- offsetX: {
383
- value: 0,
384
- unit: "px",
385
- },
386
- offsetY: {
387
- value: 0,
388
- unit: "px",
389
- },
390
- blur: {
391
- value: 0,
392
- unit: "px",
393
- },
394
- spread: {
395
- value: 0,
396
- unit: "px",
397
- },
398
- },
399
- ],
400
- },
401
- breakpoint: {
402
- sm: "40rem",
403
- md: "48rem",
404
- lg: "64rem",
405
- xl: "80rem",
406
- "2xl": "96rem",
407
- },
408
- container: {
409
- "3xs": "16rem",
410
- "2xs": "18rem",
411
- xs: "20rem",
412
- sm: "24rem",
413
- md: "28rem",
414
- lg: "32rem",
415
- xl: "36rem",
416
- "2xl": "42rem",
417
- "3xl": "48rem",
418
- "4xl": "56rem",
419
- "5xl": "64rem",
420
- "6xl": "72rem",
421
- "7xl": "80rem",
422
- },
423
- "z-index": {
424
- 0: 0,
425
- 10: 10,
426
- 20: 20,
427
- 30: 30,
428
- 40: 40,
429
- 50: 50,
430
- auto: "auto",
431
- },
432
- ease: {
433
- in: [0.4, 0, 1, 1],
434
- out: [0, 0, 0.2, 1],
435
- "in-out": [0.4, 0, 0.2, 1],
436
- drawer: [0.32, 0.72, 0, 1],
437
- },
438
- duration: {
439
- 75: "75ms",
440
- 100: "100ms",
441
- 150: "150ms",
442
- 200: "200ms",
443
- 300: "300ms",
444
- 500: "500ms",
445
- 700: "700ms",
446
- 1000: "1000ms",
447
- },
448
- animate: {
449
- spin: "spin 1s linear infinite",
450
- ping: "ping 1s cubic-bezier(0, 0, 0.2, 1) infinite",
451
- pulse: "pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite",
452
- bounce: "bounce 1s infinite",
453
- },
454
- };
@@ -1,39 +0,0 @@
1
- /**
2
- * Do not edit directly, this file was auto-generated.
3
- */
4
-
5
- export default {
6
- background: "#ffffff",
7
- card: "#ffffff",
8
- secondary: "#f5f5f5",
9
- popover: "#ffffff",
10
- muted: "#fafafa",
11
- "text-primary": "#111111",
12
- "text-secondary": "#6b6b6b",
13
- tertiary: "#6b6b6b",
14
- primary: "#171717",
15
- accent: "#eff6ff",
16
- destructive: "#dc2626",
17
- success: "#16a34a",
18
- warning: "#d97706",
19
- "text-success": "#15803d",
20
- "text-warning": "#92400e",
21
- "success-foreground": "#0a0a0a",
22
- "warning-foreground": "#0a0a0a",
23
- "primary-foreground": "#ffffff",
24
- "accent-foreground": "#1d4ed8",
25
- "destructive-foreground": "#ffffff",
26
- "text-destructive": "#b91c1c",
27
- "text-accent": "#2563eb",
28
- "border-default": "#e5e5e5",
29
- "focus-ring": "#2563eb",
30
- "chart-1": "#2563eb",
31
- "chart-2": "#111111",
32
- "chart-3": "#737373",
33
- "chart-4": "#93c5fd",
34
- "chart-5": "#d4d4d8",
35
- "chart-positive": "#15803d",
36
- "chart-negative": "#dc2626",
37
- "chart-neutral": "#737373",
38
- "overlay-scrim": "#000000",
39
- };
@@ -1,39 +0,0 @@
1
- /**
2
- * Do not edit directly, this file was auto-generated.
3
- */
4
-
5
- :root {
6
- --background: #ffffff;
7
- --card: #ffffff;
8
- --secondary: #f5f5f5;
9
- --popover: #ffffff;
10
- --muted: #fafafa;
11
- --text-primary: #111111;
12
- --text-secondary: #6b6b6b;
13
- --tertiary: #6b6b6b;
14
- --primary: #171717;
15
- --accent: #eff6ff;
16
- --destructive: #dc2626;
17
- --success: #16a34a;
18
- --warning: #d97706;
19
- --text-success: #15803d;
20
- --text-warning: #92400e;
21
- --success-foreground: #0a0a0a;
22
- --warning-foreground: #0a0a0a;
23
- --primary-foreground: #ffffff;
24
- --accent-foreground: #1d4ed8;
25
- --destructive-foreground: #ffffff;
26
- --text-destructive: #b91c1c;
27
- --text-accent: #2563eb;
28
- --border-default: #e5e5e5;
29
- --focus-ring: #2563eb;
30
- --chart-1: #2563eb;
31
- --chart-2: #111111;
32
- --chart-3: #737373;
33
- --chart-4: #93c5fd;
34
- --chart-5: #d4d4d8;
35
- --chart-positive: #15803d;
36
- --chart-negative: #dc2626;
37
- --chart-neutral: #737373;
38
- --overlay-scrim: #000000;
39
- }
@@ -1,70 +0,0 @@
1
- import darkTokens from "./generated/dark.colors.generated";
2
- import foundations from "./generated/foundations.generated";
3
- import lightTokens from "./generated/light.colors.generated";
4
-
5
- const toPixels = (value: string) => {
6
- if (value.endsWith("rem")) return Number.parseFloat(value) * 16;
7
- if (value.endsWith("px")) return Number.parseFloat(value);
8
- throw new Error(`Unsupported foundation dimension: ${value}`);
9
- };
10
-
11
- const toMilliseconds = (value: string) => Number.parseFloat(value);
12
- const toBezier = (value: number[]) => `cubic-bezier(${value.join(", ")})`;
13
- type NormalizedSpacingKey<Key> = Key extends number
14
- ? `${Key}`
15
- : Key extends `${infer Whole}-${infer Fraction}`
16
- ? `${Whole}.${Fraction}`
17
- : Key;
18
- export type SpacingToken = NormalizedSpacingKey<keyof (typeof foundations)["spacing-scale"]>;
19
-
20
- export const colorTokenNames = Object.keys(lightTokens) as Array<keyof typeof lightTokens>;
21
- export type ColorToken = keyof typeof lightTokens;
22
- export type ColorMode = "light" | "dark";
23
- export type ColorTheme = Readonly<Record<ColorToken, string>>;
24
-
25
- export const colorThemes = {
26
- light: lightTokens,
27
- dark: darkTokens,
28
- } as const satisfies Record<ColorMode, ColorTheme>;
29
-
30
- export const spacing = Object.fromEntries(
31
- Object.entries(foundations["spacing-scale"]).map(([key, value]) => [
32
- key.replace("-", "."),
33
- toPixels(value),
34
- ]),
35
- ) as Record<SpacingToken, number>;
36
-
37
- export const fontFamilies = Object.fromEntries(
38
- Object.entries(foundations.font).map(([key, value]) => [key, value.join(", ")]),
39
- ) as Record<keyof typeof foundations.font, string>;
40
-
41
- export const textSizes = Object.fromEntries(
42
- Object.entries(foundations.text).map(([key, value]) => [key, toPixels(value)]),
43
- ) as Record<keyof typeof foundations.text, number>;
44
- export const textLineHeights = foundations["text-line-height"];
45
- export const fontWeights = Object.fromEntries(
46
- Object.entries(foundations["font-weight"]).map(([key, value]) => [key, String(value)]),
47
- ) as Record<keyof (typeof foundations)["font-weight"], string>;
48
- export const tracking = foundations.tracking;
49
- export const leading = foundations.leading;
50
- export const radii = Object.fromEntries(
51
- Object.entries(foundations.radius).map(([key, value]) => [key, toPixels(value)]),
52
- ) as Record<keyof typeof foundations.radius, number>;
53
- export const shadows = foundations.shadow;
54
- export const breakpoints = foundations.breakpoint;
55
- export const containers = foundations.container;
56
- export const zIndices = foundations["z-index"];
57
- export const easing = Object.fromEntries(
58
- Object.entries(foundations.ease).map(([key, value]) => [key, toBezier(value)]),
59
- ) as Record<keyof typeof foundations.ease, string>;
60
- export const transitionDurations = Object.fromEntries(
61
- Object.entries(foundations.duration).map(([key, value]) => [key, toMilliseconds(value)]),
62
- ) as Record<keyof typeof foundations.duration, number>;
63
- export const animations = foundations.animate;
64
-
65
- export type RadiusToken = keyof typeof radii;
66
- export type TextSizeToken = keyof typeof textSizes;
67
- export type FontWeightToken = keyof typeof fontWeights;
68
- export type TrackingToken = keyof typeof tracking;
69
- export type LeadingToken = keyof typeof leading;
70
- export type ShadowToken = keyof typeof shadows;
@@ -1,50 +0,0 @@
1
- import type { Meta, StoryObj } from "@storybook/react-vite";
2
-
3
- const meta = {
4
- title: "Foundations/Layout Rhythm",
5
- parameters: { layout: "fullscreen" },
6
- } satisfies Meta;
7
- export default meta;
8
- type Story = StoryObj<typeof meta>;
9
-
10
- export const PageShell: Story = {
11
- render: () => (
12
- <main className="page-shell bg-background text-foreground">
13
- <header className="flex flex-col gap-4">
14
- <p className="text-muted-foreground text-sm">Page shell</p>
15
- <h1 className="text-4xl font-semibold tracking-tight">
16
- A consistent starting point for content pages.
17
- </h1>
18
- </header>
19
- <section className="flex flex-col gap-4">
20
- <h2 className="text-2xl font-semibold">Section rhythm</h2>
21
- <p className="text-muted-foreground max-w-2xl text-base">
22
- Layout helpers compose standard Tailwind spacing and semantic colors.
23
- </p>
24
- </section>
25
- </main>
26
- ),
27
- };
28
-
29
- export const ListRows: Story = {
30
- render: () => (
31
- <main className="page-shell bg-background text-foreground">
32
- <div className="flex flex-col gap-4">
33
- <h1 className="text-4xl font-semibold tracking-tight">List row rhythm</h1>
34
- <div className="divide-border border-border divide-y border-b">
35
- {["A compact row", "A readable row", "A responsive row"].map((title, index) => (
36
- <div key={title} className="flex gap-4 py-6">
37
- <span className="text-muted-foreground font-mono text-sm">0{index + 1}</span>
38
- <div className="flex min-w-0 flex-1 flex-col gap-1">
39
- <h2 className="text-lg font-semibold">{title}</h2>
40
- <p className="text-muted-foreground text-sm">
41
- Consistent padding keeps scanning calm.
42
- </p>
43
- </div>
44
- </div>
45
- ))}
46
- </div>
47
- </div>
48
- </main>
49
- ),
50
- };