@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,138 +0,0 @@
1
- {
2
- "$extensions": {
3
- "org.ponti.license": "MIT",
4
- "org.ponti.identity": "mono"
5
- },
6
- "background": {
7
- "$type": "color",
8
- "$value": "rgb(255, 255, 255)"
9
- },
10
- "card": {
11
- "$type": "color",
12
- "$value": "rgb(255, 255, 255)"
13
- },
14
- "secondary": {
15
- "$type": "color",
16
- "$value": "rgb(245, 245, 245)"
17
- },
18
- "popover": {
19
- "$type": "color",
20
- "$value": "rgb(255, 255, 255)"
21
- },
22
- "muted": {
23
- "$type": "color",
24
- "$value": "rgb(250, 250, 250)"
25
- },
26
- "text-primary": {
27
- "$type": "color",
28
- "$value": "rgb(17, 17, 17)"
29
- },
30
- "text-secondary": {
31
- "$type": "color",
32
- "$value": "rgb(107, 107, 107)"
33
- },
34
- "tertiary": {
35
- "$type": "color",
36
- "$value": "{text-secondary}"
37
- },
38
- "primary": {
39
- "$type": "color",
40
- "$value": "rgb(23, 23, 23)"
41
- },
42
- "accent": {
43
- "$type": "color",
44
- "$value": "rgb(239, 246, 255)"
45
- },
46
- "destructive": {
47
- "$type": "color",
48
- "$value": "rgb(220, 38, 38)"
49
- },
50
- "success": {
51
- "$type": "color",
52
- "$value": "rgb(22, 163, 74)"
53
- },
54
- "warning": {
55
- "$type": "color",
56
- "$value": "rgb(217, 119, 6)"
57
- },
58
- "text-success": {
59
- "$type": "color",
60
- "$value": "rgb(21, 128, 61)"
61
- },
62
- "text-warning": {
63
- "$type": "color",
64
- "$value": "rgb(146, 64, 14)"
65
- },
66
- "success-foreground": {
67
- "$type": "color",
68
- "$value": "rgb(10, 10, 10)"
69
- },
70
- "warning-foreground": {
71
- "$type": "color",
72
- "$value": "rgb(10, 10, 10)"
73
- },
74
- "primary-foreground": {
75
- "$type": "color",
76
- "$value": "rgb(255, 255, 255)"
77
- },
78
- "accent-foreground": {
79
- "$type": "color",
80
- "$value": "rgb(29, 78, 216)"
81
- },
82
- "destructive-foreground": {
83
- "$type": "color",
84
- "$value": "rgb(255, 255, 255)"
85
- },
86
- "text-destructive": {
87
- "$type": "color",
88
- "$value": "rgb(185, 28, 28)"
89
- },
90
- "text-accent": {
91
- "$type": "color",
92
- "$value": "rgb(37, 99, 235)"
93
- },
94
- "border-default": {
95
- "$type": "color",
96
- "$value": "rgb(229, 229, 229)"
97
- },
98
- "focus-ring": {
99
- "$type": "color",
100
- "$value": "rgb(37, 99, 235)"
101
- },
102
- "chart-1": {
103
- "$type": "color",
104
- "$value": "rgb(37, 99, 235)"
105
- },
106
- "chart-2": {
107
- "$type": "color",
108
- "$value": "rgb(17, 17, 17)"
109
- },
110
- "chart-3": {
111
- "$type": "color",
112
- "$value": "rgb(115, 115, 115)"
113
- },
114
- "chart-4": {
115
- "$type": "color",
116
- "$value": "rgb(147, 197, 253)"
117
- },
118
- "chart-5": {
119
- "$type": "color",
120
- "$value": "rgb(212, 212, 216)"
121
- },
122
- "chart-positive": {
123
- "$type": "color",
124
- "$value": "rgb(21, 128, 61)"
125
- },
126
- "chart-negative": {
127
- "$type": "color",
128
- "$value": "rgb(220, 38, 38)"
129
- },
130
- "chart-neutral": {
131
- "$type": "color",
132
- "$value": "rgb(115, 115, 115)"
133
- },
134
- "overlay-scrim": {
135
- "$type": "color",
136
- "$value": "rgb(0, 0, 0)"
137
- }
138
- }
@@ -1,16 +0,0 @@
1
- {
2
- "source": ["src/styles/tokens/source/dark.tokens.json"],
3
- "platforms": {
4
- "css": {
5
- "transformGroup": "css",
6
- "buildPath": "src/styles/tokens/generated/",
7
- "files": [
8
- {
9
- "destination": "dark-class.css",
10
- "format": "css/variables",
11
- "options": { "selector": ":root.dark" }
12
- }
13
- ]
14
- }
15
- }
16
- }
@@ -1,16 +0,0 @@
1
- {
2
- "source": ["src/styles/tokens/source/dark.tokens.json"],
3
- "platforms": {
4
- "css": {
5
- "transformGroup": "css",
6
- "buildPath": ".storybook/generated/",
7
- "files": [
8
- {
9
- "destination": "dark-theme-class.css",
10
- "format": "css/variables",
11
- "options": { "selector": ":root.storybook-theme-dark" }
12
- }
13
- ]
14
- }
15
- }
16
- }
@@ -1,21 +0,0 @@
1
- {
2
- "source": ["src/styles/tokens/source/dark.tokens.json"],
3
- "platforms": {
4
- "css": {
5
- "transformGroup": "css",
6
- "buildPath": "src/styles/tokens/generated/",
7
- "files": [{ "destination": "dark.css", "format": "css/variables" }]
8
- },
9
- "typescript": {
10
- "transformGroup": "js",
11
- "buildPath": "src/styles/tokens/generated/",
12
- "files": [
13
- {
14
- "destination": "dark.colors.generated.ts",
15
- "format": "javascript/esm",
16
- "options": { "minify": true }
17
- }
18
- ]
19
- }
20
- }
21
- }
@@ -1,21 +0,0 @@
1
- {
2
- "source": ["src/styles/tokens/source/foundations.tokens.json"],
3
- "platforms": {
4
- "css": {
5
- "transformGroup": "css",
6
- "buildPath": "src/styles/tokens/generated/",
7
- "files": [{ "destination": "foundations.css", "format": "css/variables" }]
8
- },
9
- "typescript": {
10
- "transformGroup": "js",
11
- "buildPath": "src/styles/tokens/generated/",
12
- "files": [
13
- {
14
- "destination": "foundations.generated.ts",
15
- "format": "javascript/esm",
16
- "options": { "minify": true }
17
- }
18
- ]
19
- }
20
- }
21
- }
@@ -1,16 +0,0 @@
1
- {
2
- "source": ["src/styles/tokens/source/light.tokens.json"],
3
- "platforms": {
4
- "css": {
5
- "transformGroup": "css",
6
- "buildPath": ".storybook/generated/",
7
- "files": [
8
- {
9
- "destination": "light-theme-class.css",
10
- "format": "css/variables",
11
- "options": { "selector": ":root.storybook-theme-light" }
12
- }
13
- ]
14
- }
15
- }
16
- }
@@ -1,21 +0,0 @@
1
- {
2
- "source": ["src/styles/tokens/source/light.tokens.json"],
3
- "platforms": {
4
- "css": {
5
- "transformGroup": "css",
6
- "buildPath": "src/styles/tokens/generated/",
7
- "files": [{ "destination": "light.css", "format": "css/variables" }]
8
- },
9
- "typescript": {
10
- "transformGroup": "js",
11
- "buildPath": "src/styles/tokens/generated/",
12
- "files": [
13
- {
14
- "destination": "light.colors.generated.ts",
15
- "format": "javascript/esm",
16
- "options": { "minify": true }
17
- }
18
- ]
19
- }
20
- }
21
- }
@@ -1,157 +0,0 @@
1
- import type { Meta, StoryObj } from "@storybook/react-vite";
2
-
3
- import { fontFamilies, fontWeights, textLineHeights, textSizes, tracking } from "./index";
4
-
5
- const meta: Meta = { title: "Foundations/Typography", parameters: { layout: "fullscreen" } };
6
- export default meta;
7
- type Story = StoryObj<typeof meta>;
8
-
9
- const sizeTokens = Object.keys(textSizes) as Array<keyof typeof textSizes>;
10
- const weightTokens = Object.keys(fontWeights) as Array<keyof typeof fontWeights>;
11
- const trackingTokens = Object.keys(tracking) as Array<keyof typeof tracking>;
12
- const familyTokens = Object.keys(fontFamilies) as Array<keyof typeof fontFamilies>;
13
-
14
- export const TypeScale: Story = {
15
- render: () => (
16
- <main className="bg-background text-foreground grid min-h-screen gap-10 p-6 md:p-10">
17
- <header className="grid gap-2">
18
- <h1 className="text-2xl font-semibold">Typography</h1>
19
- <p className="text-muted-foreground max-w-prose text-sm">
20
- Font sizes, weights, tracking, and families as defined by the shared design tokens (
21
- <code className="font-mono">src/styles/tokens</code>).
22
- </p>
23
- </header>
24
-
25
- <section className="grid gap-4">
26
- <h2 className="text-muted-foreground text-xs font-medium tracking-wider uppercase">
27
- Type scale
28
- </h2>
29
- <div className="border-border divide-border grid divide-y rounded-md border">
30
- {sizeTokens.map((token) => (
31
- <div key={token} className="grid grid-cols-[6rem_5rem_1fr] items-baseline gap-4 p-4">
32
- <span className="text-muted-foreground font-mono text-xs">text-{token}</span>
33
- <span className="text-muted-foreground font-mono text-xs tabular-nums">
34
- {textSizes[token]}px / {textLineHeights[token]?.toFixed(2)}
35
- </span>
36
- <span
37
- className="truncate"
38
- style={{ fontSize: textSizes[token], lineHeight: textLineHeights[token] }}
39
- >
40
- The quick brown fox jumps
41
- </span>
42
- </div>
43
- ))}
44
- </div>
45
- </section>
46
-
47
- <section className="grid gap-4">
48
- <h2 className="text-muted-foreground text-xs font-medium tracking-wider uppercase">
49
- Font weights
50
- </h2>
51
- <div className="border-border divide-border grid divide-y rounded-md border">
52
- {weightTokens.map((token) => (
53
- <div key={token} className="grid grid-cols-[8rem_1fr] items-baseline gap-4 p-4">
54
- <span className="text-muted-foreground font-mono text-xs">
55
- {token} / {fontWeights[token]}
56
- </span>
57
- <span className="text-lg" style={{ fontWeight: fontWeights[token] }}>
58
- The quick brown fox jumps over the lazy dog
59
- </span>
60
- </div>
61
- ))}
62
- </div>
63
- </section>
64
-
65
- <section className="grid gap-4">
66
- <h2 className="text-muted-foreground text-xs font-medium tracking-wider uppercase">
67
- Tracking
68
- </h2>
69
- <div className="border-border divide-border grid divide-y rounded-md border">
70
- {trackingTokens.map((token) => (
71
- <div key={token} className="grid grid-cols-[8rem_1fr] items-baseline gap-4 p-4">
72
- <span className="text-muted-foreground font-mono text-xs">
73
- {token} / {tracking[token]}
74
- </span>
75
- <span className="text-lg" style={{ letterSpacing: tracking[token] }}>
76
- The quick brown fox jumps over the lazy dog
77
- </span>
78
- </div>
79
- ))}
80
- </div>
81
- </section>
82
-
83
- <section className="grid gap-4">
84
- <h2 className="text-muted-foreground text-xs font-medium tracking-wider uppercase">
85
- Font families
86
- </h2>
87
- <div className="border-border divide-border grid divide-y rounded-md border">
88
- {familyTokens.map((token) => (
89
- <div key={token} className="grid gap-2 p-4">
90
- <span className="text-muted-foreground font-mono text-xs">--font-{token}</span>
91
- <span className="text-2xl" style={{ fontFamily: fontFamilies[token] }}>
92
- The quick brown fox jumps over the lazy dog. 0123456789
93
- </span>
94
- </div>
95
- ))}
96
- </div>
97
- </section>
98
- </main>
99
- ),
100
- };
101
-
102
- const headingSpecimens = [
103
- { tag: "h1" as const, className: "text-4xl" },
104
- { tag: "h2" as const, className: "text-3xl" },
105
- { tag: "h3" as const, className: "text-2xl" },
106
- { tag: "h4" as const, className: "text-xl" },
107
- { tag: "h5" as const, className: "text-lg" },
108
- { tag: "h6" as const, className: "text-base" },
109
- ];
110
-
111
- export const Headings: Story = {
112
- render: () => (
113
- <main className="bg-background text-foreground grid min-h-screen gap-10 p-6 md:p-10">
114
- <header className="grid gap-2">
115
- <h1 className="text-2xl font-semibold">Headings</h1>
116
- <p className="text-muted-foreground max-w-prose text-sm">
117
- `h1`–`h6` only carry font-family, weight, and tracking from the base layer — size is unset
118
- by tag, so components pair a heading element with an explicit{" "}
119
- <code className="font-mono">text-*</code> utility. The sizes below match this
120
- codebase&apos;s own usage, not an enforced per-level scale.
121
- </p>
122
- </header>
123
-
124
- <section className="grid gap-4">
125
- <h2 className="text-muted-foreground text-xs font-medium tracking-wider uppercase">
126
- Display utilities
127
- </h2>
128
- <div className="border-border divide-border grid divide-y rounded-md border">
129
- <div className="grid gap-2 p-4">
130
- <span className="text-muted-foreground font-mono text-xs">display-1</span>
131
- <p className="display-1">Display one</p>
132
- </div>
133
- <div className="grid gap-2 p-4">
134
- <span className="text-muted-foreground font-mono text-xs">display-2</span>
135
- <p className="display-2">Display two</p>
136
- </div>
137
- </div>
138
- </section>
139
-
140
- <section className="grid gap-4">
141
- <h2 className="text-muted-foreground text-xs font-medium tracking-wider uppercase">
142
- Semantic headings
143
- </h2>
144
- <div className="border-border divide-border grid divide-y rounded-md border">
145
- {headingSpecimens.map(({ tag: Tag, className }) => (
146
- <div key={Tag} className="grid grid-cols-[6rem_1fr] items-baseline gap-4 p-4">
147
- <span className="text-muted-foreground font-mono text-xs">
148
- {Tag} / {className}
149
- </span>
150
- <Tag className={className}>The quick brown fox jumps over the lazy dog</Tag>
151
- </div>
152
- ))}
153
- </div>
154
- </section>
155
- </main>
156
- ),
157
- };
@@ -1,34 +0,0 @@
1
- export const UI_TRANSLATIONS_EN = {
2
- auth: {
3
- emailEntry: {
4
- title: "Sign in",
5
- helper: "Enter your email to continue.",
6
- emailPlaceholder: "you@example.com",
7
- emailLabel: "Email address",
8
- submitButton: "Continue",
9
- submitButtonLoading: "Sending...",
10
- passkeyButton: "Use passkey",
11
- passkeyLoadingButton: "Connecting...",
12
- emailRequiredError: "Email is required.",
13
- emailInvalidError: "Enter a valid email address.",
14
- sendFailedError: "Unable to send verification code.",
15
- },
16
- otpVerification: {
17
- title: "Verify",
18
- helper: "Code sent to {{email}}.",
19
- codeLabel: "Verification code",
20
- verifyButton: "Verify",
21
- verifyButtonLoading: "Verifying...",
22
- resendButton: "Resend code",
23
- resendButtonLoading: "Resending...",
24
- changeEmailLink: "Use a different email",
25
- codeRequiredError: "Code is required.",
26
- codeLengthError: "Code must be 6 digits.",
27
- verifyFailedError: "There was a problem signing in. Our team is working on it.",
28
- resendFailedError: "Unable to resend verification code.",
29
- },
30
- passkey: {
31
- genericError: "Passkey sign-in failed.",
32
- },
33
- },
34
- } as const;
@@ -1,32 +0,0 @@
1
- import { UI_TRANSLATIONS_EN } from "./en";
2
-
3
- type TranslationValue = string | number | boolean;
4
- type TranslationOptions = Record<string, TranslationValue>;
5
-
6
- function getTranslationValue(key: string): unknown {
7
- return key.split(".").reduce<unknown>((value, part) => {
8
- if (value && typeof value === "object" && part in value) {
9
- return (value as Record<string, unknown>)[part];
10
- }
11
-
12
- return undefined;
13
- }, UI_TRANSLATIONS_EN);
14
- }
15
-
16
- export function registerUiTranslations() {
17
- return UI_TRANSLATIONS_EN;
18
- }
19
-
20
- export function translateUi(key: string, options?: TranslationOptions) {
21
- const value = getTranslationValue(key);
22
- if (typeof value !== "string") {
23
- return key;
24
- }
25
-
26
- return value.replace(/{{\s*([a-zA-Z0-9_]+)\s*}}/g, (_, token: string) => {
27
- const replacement = options?.[token];
28
- return replacement === undefined ? "" : String(replacement);
29
- });
30
- }
31
-
32
- export { UI_TRANSLATIONS_EN };
@@ -1,42 +0,0 @@
1
- // ============================================================================
2
- // File Processing Types
3
- // ============================================================================
4
-
5
- /**
6
- * Processed file from server-side file processing
7
- */
8
- interface ProcessedFile {
9
- id: string;
10
- originalName: string;
11
- type: "image" | "document" | "audio" | "video" | "unknown";
12
- mimetype: string;
13
- size: number;
14
- content?: string;
15
- textContent?: string;
16
- metadata?: Record<string, unknown>;
17
- thumbnail?: string;
18
- duration?: number;
19
- transcription?: string;
20
- }
21
-
22
- /**
23
- * Successfully uploaded file (API response)
24
- */
25
- export interface UploadedFile extends ProcessedFile {
26
- url: string;
27
- uploadedAt: Date;
28
- vectorIds?: string[];
29
- }
30
-
31
- export interface FailedUpload {
32
- name: string;
33
- error: string;
34
- }
35
-
36
- export interface UploadResponse {
37
- success: boolean;
38
- files: UploadedFile[];
39
- failed: FailedUpload[];
40
- message: string;
41
- error?: string;
42
- }
File without changes
File without changes
File without changes