@neasg/design-system 0.1.3 → 0.2.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 (189) hide show
  1. package/README.md +102 -14
  2. package/dist/animated-icons/arrow-down.d.ts +10 -0
  3. package/dist/animated-icons/arrow-down.js +54 -0
  4. package/dist/animated-icons/arrow-up.d.ts +10 -0
  5. package/dist/animated-icons/arrow-up.js +54 -0
  6. package/dist/animated-icons/bell.d.ts +10 -0
  7. package/dist/animated-icons/bell.js +42 -0
  8. package/dist/animated-icons/bold.d.ts +10 -0
  9. package/dist/animated-icons/bold.js +45 -0
  10. package/dist/animated-icons/book-open.d.ts +10 -0
  11. package/dist/animated-icons/book-open.js +55 -0
  12. package/dist/animated-icons/building.d.ts +10 -0
  13. package/dist/animated-icons/building.js +46 -0
  14. package/dist/animated-icons/check.d.ts +10 -0
  15. package/dist/animated-icons/check.js +55 -0
  16. package/dist/animated-icons/chevron-down.d.ts +10 -0
  17. package/dist/animated-icons/chevron-down.js +42 -0
  18. package/dist/animated-icons/chevron-left.d.ts +10 -0
  19. package/dist/animated-icons/chevron-left.js +42 -0
  20. package/dist/animated-icons/chevron-right.d.ts +10 -0
  21. package/dist/animated-icons/chevron-right.js +42 -0
  22. package/dist/animated-icons/chevron-up.d.ts +10 -0
  23. package/dist/animated-icons/chevron-up.js +42 -0
  24. package/dist/animated-icons/clipboard-check.d.ts +10 -0
  25. package/dist/animated-icons/clipboard-check.js +56 -0
  26. package/dist/animated-icons/download.d.ts +10 -0
  27. package/dist/animated-icons/download.js +47 -0
  28. package/dist/animated-icons/external-link.d.ts +10 -0
  29. package/dist/animated-icons/external-link.js +59 -0
  30. package/dist/animated-icons/eye.d.ts +10 -0
  31. package/dist/animated-icons/eye.js +41 -0
  32. package/dist/animated-icons/file-text.d.ts +11 -0
  33. package/dist/animated-icons/file-text.js +89 -0
  34. package/dist/animated-icons/filter.d.ts +10 -0
  35. package/dist/animated-icons/filter.js +78 -0
  36. package/dist/animated-icons/folder-open.d.ts +10 -0
  37. package/dist/animated-icons/folder-open.js +46 -0
  38. package/dist/animated-icons/form.d.ts +10 -0
  39. package/dist/animated-icons/form.js +56 -0
  40. package/dist/animated-icons/git-branch.d.ts +10 -0
  41. package/dist/animated-icons/git-branch.js +56 -0
  42. package/dist/animated-icons/grip-horizontal.d.ts +10 -0
  43. package/dist/animated-icons/grip-horizontal.js +70 -0
  44. package/dist/animated-icons/grip-vertical.d.ts +10 -0
  45. package/dist/animated-icons/grip-vertical.js +67 -0
  46. package/dist/animated-icons/grip.d.ts +10 -0
  47. package/dist/animated-icons/grip.js +72 -0
  48. package/dist/animated-icons/highlighter.d.ts +10 -0
  49. package/dist/animated-icons/highlighter.js +46 -0
  50. package/dist/animated-icons/history.d.ts +10 -0
  51. package/dist/animated-icons/history.js +80 -0
  52. package/dist/animated-icons/index.d.ts +100 -0
  53. package/dist/animated-icons/index.js +50 -0
  54. package/dist/animated-icons/italic.d.ts +10 -0
  55. package/dist/animated-icons/italic.js +45 -0
  56. package/dist/animated-icons/link.d.ts +10 -0
  57. package/dist/animated-icons/link.js +51 -0
  58. package/dist/animated-icons/list-ordered.d.ts +10 -0
  59. package/dist/animated-icons/list-ordered.js +46 -0
  60. package/dist/animated-icons/list.d.ts +10 -0
  61. package/dist/animated-icons/list.js +56 -0
  62. package/dist/animated-icons/loader-pinwheel.d.ts +10 -0
  63. package/dist/animated-icons/loader-pinwheel.js +51 -0
  64. package/dist/animated-icons/logout.d.ts +10 -0
  65. package/dist/animated-icons/logout.js +44 -0
  66. package/dist/animated-icons/maximize.d.ts +10 -0
  67. package/dist/animated-icons/maximize.js +45 -0
  68. package/dist/animated-icons/message-square.d.ts +10 -0
  69. package/dist/animated-icons/message-square.js +56 -0
  70. package/dist/animated-icons/palette.d.ts +10 -0
  71. package/dist/animated-icons/palette.js +45 -0
  72. package/dist/animated-icons/paperclip.d.ts +10 -0
  73. package/dist/animated-icons/paperclip.js +45 -0
  74. package/dist/animated-icons/pencil.d.ts +10 -0
  75. package/dist/animated-icons/pencil.js +46 -0
  76. package/dist/animated-icons/plus.d.ts +10 -0
  77. package/dist/animated-icons/plus.js +42 -0
  78. package/dist/animated-icons/search.d.ts +10 -0
  79. package/dist/animated-icons/search.js +44 -0
  80. package/dist/animated-icons/send.d.ts +10 -0
  81. package/dist/animated-icons/send.js +46 -0
  82. package/dist/animated-icons/settings.d.ts +10 -0
  83. package/dist/animated-icons/settings.js +42 -0
  84. package/dist/animated-icons/shield.d.ts +10 -0
  85. package/dist/animated-icons/shield.js +45 -0
  86. package/dist/animated-icons/strikethrough.d.ts +10 -0
  87. package/dist/animated-icons/strikethrough.js +45 -0
  88. package/dist/animated-icons/timer.d.ts +10 -0
  89. package/dist/animated-icons/timer.js +70 -0
  90. package/dist/animated-icons/trash.d.ts +10 -0
  91. package/dist/animated-icons/trash.js +56 -0
  92. package/dist/animated-icons/trending-down.d.ts +10 -0
  93. package/dist/animated-icons/trending-down.js +86 -0
  94. package/dist/animated-icons/trending-up.d.ts +10 -0
  95. package/dist/animated-icons/trending-up.js +86 -0
  96. package/dist/animated-icons/underline.d.ts +10 -0
  97. package/dist/animated-icons/underline.js +45 -0
  98. package/dist/animated-icons/upload.d.ts +10 -0
  99. package/dist/animated-icons/upload.js +47 -0
  100. package/dist/animated-icons/users.d.ts +10 -0
  101. package/dist/animated-icons/users.js +45 -0
  102. package/dist/animated-icons/x.d.ts +10 -0
  103. package/dist/animated-icons/x.js +45 -0
  104. package/dist/avatar.d.ts +32 -0
  105. package/dist/avatar.js +21 -0
  106. package/dist/badge.d.ts +4 -3
  107. package/dist/badge.js +7 -12
  108. package/dist/breadcrumb.d.ts +30 -0
  109. package/dist/breadcrumb.js +32 -0
  110. package/dist/button.d.ts +2 -2
  111. package/dist/button.js +84 -6
  112. package/dist/command-search.d.ts +44 -0
  113. package/dist/command-search.js +73 -0
  114. package/dist/command.d.ts +77 -0
  115. package/dist/command.js +24 -0
  116. package/dist/count-badge.d.ts +10 -0
  117. package/dist/count-badge.js +34 -0
  118. package/dist/dialog-primitive.d.ts +22 -0
  119. package/dist/dialog-primitive.js +23 -0
  120. package/dist/dialog.d.ts +28 -0
  121. package/dist/dialog.js +60 -0
  122. package/dist/draggable-tabs.d.ts +27 -0
  123. package/dist/draggable-tabs.js +61 -0
  124. package/dist/drawer.d.ts +30 -0
  125. package/dist/drawer.js +77 -0
  126. package/dist/editable-table.d.ts +31 -0
  127. package/dist/editable-table.js +122 -0
  128. package/dist/email-input.d.ts +16 -0
  129. package/dist/email-input.js +55 -0
  130. package/dist/empty-state.d.ts +11 -0
  131. package/dist/empty-state.js +7 -0
  132. package/dist/field.d.ts +6 -0
  133. package/dist/field.js +18 -0
  134. package/dist/filter-toggle.d.ts +12 -0
  135. package/dist/filter-toggle.js +23 -0
  136. package/dist/govt-masthead.d.ts +9 -0
  137. package/dist/govt-masthead.js +8 -0
  138. package/dist/index.d.ts +55 -4
  139. package/dist/index.js +32 -4
  140. package/dist/input-control.d.ts +4 -0
  141. package/dist/input-control.js +7 -0
  142. package/dist/input-validation.d.ts +9 -0
  143. package/dist/input-validation.js +75 -0
  144. package/dist/input.d.ts +16 -0
  145. package/dist/input.js +22 -0
  146. package/dist/label-value-grid.d.ts +13 -0
  147. package/dist/label-value-grid.js +61 -0
  148. package/dist/label-value.d.ts +11 -0
  149. package/dist/label-value.js +19 -0
  150. package/dist/layout.d.ts +57 -0
  151. package/dist/layout.js +166 -0
  152. package/dist/otp-input.d.ts +21 -0
  153. package/dist/otp-input.js +60 -0
  154. package/dist/page-header.d.ts +9 -0
  155. package/dist/page-header.js +6 -0
  156. package/dist/pagination.d.ts +12 -0
  157. package/dist/pagination.js +24 -0
  158. package/dist/phone-input.d.ts +36 -0
  159. package/dist/phone-input.js +135 -0
  160. package/dist/right-drawer.d.ts +2 -0
  161. package/dist/right-drawer.js +1 -0
  162. package/dist/search-input-shell.d.ts +8 -0
  163. package/dist/search-input-shell.js +9 -0
  164. package/dist/search-input.d.ts +20 -0
  165. package/dist/search-input.js +73 -0
  166. package/dist/select-primitive.d.ts +17 -0
  167. package/dist/select-primitive.js +33 -0
  168. package/dist/select.d.ts +31 -0
  169. package/dist/select.js +97 -0
  170. package/dist/styles.css +111 -1
  171. package/dist/table-toolbar.d.ts +7 -0
  172. package/dist/table-toolbar.js +7 -0
  173. package/dist/table.d.ts +87 -3
  174. package/dist/table.js +102 -5
  175. package/dist/tabs.d.ts +24 -7
  176. package/dist/tabs.js +22 -26
  177. package/dist/tailwind-preset.d.ts +4 -0
  178. package/dist/tailwind-preset.js +97 -0
  179. package/dist/textarea.d.ts +16 -0
  180. package/dist/textarea.js +23 -0
  181. package/dist/theme.d.ts +259 -0
  182. package/dist/theme.js +118 -0
  183. package/dist/tooltip.d.ts +15 -3
  184. package/dist/tooltip.js +9 -4
  185. package/dist/typography.d.ts +11 -0
  186. package/dist/typography.js +41 -0
  187. package/dist/use-search-highlight.d.ts +13 -0
  188. package/dist/use-search-highlight.js +46 -0
  189. package/package.json +126 -4
package/dist/theme.d.ts CHANGED
@@ -30,6 +30,130 @@ export declare const neaPalette: {
30
30
  readonly name: "Green 900";
31
31
  readonly token: "--nea-green-900";
32
32
  }];
33
+ readonly blue: readonly [{
34
+ readonly name: "Blue 50";
35
+ readonly token: "--nea-blue-50";
36
+ }, {
37
+ readonly name: "Blue 100";
38
+ readonly token: "--nea-blue-100";
39
+ }, {
40
+ readonly name: "Blue 200";
41
+ readonly token: "--nea-blue-200";
42
+ }, {
43
+ readonly name: "Blue 300";
44
+ readonly token: "--nea-blue-300";
45
+ }, {
46
+ readonly name: "Blue 400";
47
+ readonly token: "--nea-blue-400";
48
+ }, {
49
+ readonly name: "Blue 500";
50
+ readonly token: "--nea-blue-500";
51
+ }, {
52
+ readonly name: "Blue 600";
53
+ readonly token: "--nea-blue-600";
54
+ }, {
55
+ readonly name: "Blue 700";
56
+ readonly token: "--nea-blue-700";
57
+ }, {
58
+ readonly name: "Blue 800";
59
+ readonly token: "--nea-blue-800";
60
+ }, {
61
+ readonly name: "Blue 900";
62
+ readonly token: "--nea-blue-900";
63
+ }];
64
+ readonly amber: readonly [{
65
+ readonly name: "Amber 50";
66
+ readonly token: "--nea-amber-50";
67
+ }, {
68
+ readonly name: "Amber 100";
69
+ readonly token: "--nea-amber-100";
70
+ }, {
71
+ readonly name: "Amber 200";
72
+ readonly token: "--nea-amber-200";
73
+ }, {
74
+ readonly name: "Amber 300";
75
+ readonly token: "--nea-amber-300";
76
+ }, {
77
+ readonly name: "Amber 400";
78
+ readonly token: "--nea-amber-400";
79
+ }, {
80
+ readonly name: "Amber 500";
81
+ readonly token: "--nea-amber-500";
82
+ }, {
83
+ readonly name: "Amber 600";
84
+ readonly token: "--nea-amber-600";
85
+ }, {
86
+ readonly name: "Amber 700";
87
+ readonly token: "--nea-amber-700";
88
+ }, {
89
+ readonly name: "Amber 800";
90
+ readonly token: "--nea-amber-800";
91
+ }, {
92
+ readonly name: "Amber 900";
93
+ readonly token: "--nea-amber-900";
94
+ }];
95
+ readonly red: readonly [{
96
+ readonly name: "Red 50";
97
+ readonly token: "--nea-red-50";
98
+ }, {
99
+ readonly name: "Red 100";
100
+ readonly token: "--nea-red-100";
101
+ }, {
102
+ readonly name: "Red 200";
103
+ readonly token: "--nea-red-200";
104
+ }, {
105
+ readonly name: "Red 300";
106
+ readonly token: "--nea-red-300";
107
+ }, {
108
+ readonly name: "Red 400";
109
+ readonly token: "--nea-red-400";
110
+ }, {
111
+ readonly name: "Red 500";
112
+ readonly token: "--nea-red-500";
113
+ }, {
114
+ readonly name: "Red 600";
115
+ readonly token: "--nea-red-600";
116
+ }, {
117
+ readonly name: "Red 700";
118
+ readonly token: "--nea-red-700";
119
+ }, {
120
+ readonly name: "Red 800";
121
+ readonly token: "--nea-red-800";
122
+ }, {
123
+ readonly name: "Red 900";
124
+ readonly token: "--nea-red-900";
125
+ }];
126
+ readonly violet: readonly [{
127
+ readonly name: "Violet 50";
128
+ readonly token: "--nea-violet-50";
129
+ }, {
130
+ readonly name: "Violet 100";
131
+ readonly token: "--nea-violet-100";
132
+ }, {
133
+ readonly name: "Violet 200";
134
+ readonly token: "--nea-violet-200";
135
+ }, {
136
+ readonly name: "Violet 300";
137
+ readonly token: "--nea-violet-300";
138
+ }, {
139
+ readonly name: "Violet 400";
140
+ readonly token: "--nea-violet-400";
141
+ }, {
142
+ readonly name: "Violet 500";
143
+ readonly token: "--nea-violet-500";
144
+ }, {
145
+ readonly name: "Violet 600";
146
+ readonly token: "--nea-violet-600";
147
+ }, {
148
+ readonly name: "Violet 700";
149
+ readonly token: "--nea-violet-700";
150
+ }, {
151
+ readonly name: "Violet 800";
152
+ readonly token: "--nea-violet-800";
153
+ }, {
154
+ readonly name: "Violet 900";
155
+ readonly token: "--nea-violet-900";
156
+ }];
33
157
  readonly neutral: readonly [{
34
158
  readonly name: "Neutral 0";
35
159
  readonly token: "--nea-neutral-0";
@@ -100,6 +224,26 @@ export declare const semanticColorTokens: readonly [{
100
224
  readonly name: "Destructive";
101
225
  readonly token: "--destructive";
102
226
  readonly foregroundToken: "--destructive-foreground";
227
+ }, {
228
+ readonly name: "Status Success";
229
+ readonly token: "--status-success";
230
+ readonly foregroundToken: "--status-success-foreground";
231
+ }, {
232
+ readonly name: "Status Warning";
233
+ readonly token: "--status-warning";
234
+ readonly foregroundToken: "--status-warning-foreground";
235
+ }, {
236
+ readonly name: "Status Info";
237
+ readonly token: "--status-info";
238
+ readonly foregroundToken: "--status-info-foreground";
239
+ }, {
240
+ readonly name: "Status Accent";
241
+ readonly token: "--status-accent";
242
+ readonly foregroundToken: "--status-accent-foreground";
243
+ }, {
244
+ readonly name: "Status Destructive";
245
+ readonly token: "--status-destructive";
246
+ readonly foregroundToken: "--status-destructive-foreground";
103
247
  }, {
104
248
  readonly name: "Border";
105
249
  readonly token: "--border";
@@ -110,3 +254,118 @@ export declare const semanticColorTokens: readonly [{
110
254
  readonly name: "Ring";
111
255
  readonly token: "--ring";
112
256
  }];
257
+ export declare const typographyTokens: readonly [{
258
+ readonly name: "Sans Font";
259
+ readonly token: "--font-sans";
260
+ }, {
261
+ readonly name: "Monospace Font";
262
+ readonly token: "--font-mono";
263
+ }, {
264
+ readonly name: "Root Font Size";
265
+ readonly token: "--font-size-root";
266
+ }, {
267
+ readonly name: "Weight Regular";
268
+ readonly token: "--font-weight-regular";
269
+ }, {
270
+ readonly name: "Weight Medium";
271
+ readonly token: "--font-weight-medium";
272
+ }, {
273
+ readonly name: "Weight Semibold";
274
+ readonly token: "--font-weight-semibold";
275
+ }, {
276
+ readonly name: "Weight Bold";
277
+ readonly token: "--font-weight-bold";
278
+ }];
279
+ export declare const radiusTokens: readonly [{
280
+ readonly name: "Base Radius";
281
+ readonly token: "--radius";
282
+ }, {
283
+ readonly name: "Radius Small";
284
+ readonly token: "--radius-sm";
285
+ }, {
286
+ readonly name: "Radius Medium";
287
+ readonly token: "--radius-md";
288
+ }, {
289
+ readonly name: "Radius Large";
290
+ readonly token: "--radius-lg";
291
+ }, {
292
+ readonly name: "Radius XLarge";
293
+ readonly token: "--radius-xl";
294
+ }];
295
+ export declare const spacingTokens: readonly [{
296
+ readonly name: "Space 0";
297
+ readonly token: "--space-0";
298
+ }, {
299
+ readonly name: "Space 1";
300
+ readonly token: "--space-1";
301
+ }, {
302
+ readonly name: "Space 2";
303
+ readonly token: "--space-2";
304
+ }, {
305
+ readonly name: "Space 3";
306
+ readonly token: "--space-3";
307
+ }, {
308
+ readonly name: "Space 4";
309
+ readonly token: "--space-4";
310
+ }, {
311
+ readonly name: "Space 5";
312
+ readonly token: "--space-5";
313
+ }, {
314
+ readonly name: "Space 6";
315
+ readonly token: "--space-6";
316
+ }, {
317
+ readonly name: "Space 8";
318
+ readonly token: "--space-8";
319
+ }, {
320
+ readonly name: "Space 10";
321
+ readonly token: "--space-10";
322
+ }, {
323
+ readonly name: "Space 12";
324
+ readonly token: "--space-12";
325
+ }];
326
+ export declare const layoutTokens: readonly [{
327
+ readonly name: "Shell Background";
328
+ readonly token: "--layout-shell-background";
329
+ }, {
330
+ readonly name: "Sidebar Width";
331
+ readonly token: "--layout-sidebar-width";
332
+ }, {
333
+ readonly name: "Sidebar Collapsed Width";
334
+ readonly token: "--layout-sidebar-collapsed-width";
335
+ }, {
336
+ readonly name: "Sidebar Padding Inline";
337
+ readonly token: "--layout-sidebar-padding-inline";
338
+ }, {
339
+ readonly name: "Sidebar Padding Top";
340
+ readonly token: "--layout-sidebar-padding-top";
341
+ }, {
342
+ readonly name: "Content Gap Start";
343
+ readonly token: "--layout-content-gap-start";
344
+ }, {
345
+ readonly name: "Content Gap Start MD";
346
+ readonly token: "--layout-content-gap-start-md";
347
+ }, {
348
+ readonly name: "Content Gap Start LG";
349
+ readonly token: "--layout-content-gap-start-lg";
350
+ }, {
351
+ readonly name: "Content Padding";
352
+ readonly token: "--layout-content-padding";
353
+ }, {
354
+ readonly name: "Content Padding MD";
355
+ readonly token: "--layout-content-padding-md";
356
+ }, {
357
+ readonly name: "Content Padding LG";
358
+ readonly token: "--layout-content-padding-lg";
359
+ }, {
360
+ readonly name: "Surface Padding";
361
+ readonly token: "--layout-surface-padding";
362
+ }, {
363
+ readonly name: "Surface Padding MD";
364
+ readonly token: "--layout-surface-padding-md";
365
+ }, {
366
+ readonly name: "Surface Padding LG";
367
+ readonly token: "--layout-surface-padding-lg";
368
+ }, {
369
+ readonly name: "Surface Gap";
370
+ readonly token: "--layout-surface-gap";
371
+ }];
package/dist/theme.js CHANGED
@@ -11,6 +11,54 @@ export const neaPalette = {
11
11
  { name: "Green 800", token: "--nea-green-800" },
12
12
  { name: "Green 900", token: "--nea-green-900" },
13
13
  ],
14
+ blue: [
15
+ { name: "Blue 50", token: "--nea-blue-50" },
16
+ { name: "Blue 100", token: "--nea-blue-100" },
17
+ { name: "Blue 200", token: "--nea-blue-200" },
18
+ { name: "Blue 300", token: "--nea-blue-300" },
19
+ { name: "Blue 400", token: "--nea-blue-400" },
20
+ { name: "Blue 500", token: "--nea-blue-500" },
21
+ { name: "Blue 600", token: "--nea-blue-600" },
22
+ { name: "Blue 700", token: "--nea-blue-700" },
23
+ { name: "Blue 800", token: "--nea-blue-800" },
24
+ { name: "Blue 900", token: "--nea-blue-900" },
25
+ ],
26
+ amber: [
27
+ { name: "Amber 50", token: "--nea-amber-50" },
28
+ { name: "Amber 100", token: "--nea-amber-100" },
29
+ { name: "Amber 200", token: "--nea-amber-200" },
30
+ { name: "Amber 300", token: "--nea-amber-300" },
31
+ { name: "Amber 400", token: "--nea-amber-400" },
32
+ { name: "Amber 500", token: "--nea-amber-500" },
33
+ { name: "Amber 600", token: "--nea-amber-600" },
34
+ { name: "Amber 700", token: "--nea-amber-700" },
35
+ { name: "Amber 800", token: "--nea-amber-800" },
36
+ { name: "Amber 900", token: "--nea-amber-900" },
37
+ ],
38
+ red: [
39
+ { name: "Red 50", token: "--nea-red-50" },
40
+ { name: "Red 100", token: "--nea-red-100" },
41
+ { name: "Red 200", token: "--nea-red-200" },
42
+ { name: "Red 300", token: "--nea-red-300" },
43
+ { name: "Red 400", token: "--nea-red-400" },
44
+ { name: "Red 500", token: "--nea-red-500" },
45
+ { name: "Red 600", token: "--nea-red-600" },
46
+ { name: "Red 700", token: "--nea-red-700" },
47
+ { name: "Red 800", token: "--nea-red-800" },
48
+ { name: "Red 900", token: "--nea-red-900" },
49
+ ],
50
+ violet: [
51
+ { name: "Violet 50", token: "--nea-violet-50" },
52
+ { name: "Violet 100", token: "--nea-violet-100" },
53
+ { name: "Violet 200", token: "--nea-violet-200" },
54
+ { name: "Violet 300", token: "--nea-violet-300" },
55
+ { name: "Violet 400", token: "--nea-violet-400" },
56
+ { name: "Violet 500", token: "--nea-violet-500" },
57
+ { name: "Violet 600", token: "--nea-violet-600" },
58
+ { name: "Violet 700", token: "--nea-violet-700" },
59
+ { name: "Violet 800", token: "--nea-violet-800" },
60
+ { name: "Violet 900", token: "--nea-violet-900" },
61
+ ],
14
62
  neutral: [
15
63
  { name: "Neutral 0", token: "--nea-neutral-0" },
16
64
  { name: "Neutral 50", token: "--nea-neutral-50" },
@@ -35,7 +83,77 @@ export const semanticColorTokens = [
35
83
  { name: "Muted", token: "--muted", foregroundToken: "--muted-foreground" },
36
84
  { name: "Accent", token: "--accent", foregroundToken: "--accent-foreground" },
37
85
  { name: "Destructive", token: "--destructive", foregroundToken: "--destructive-foreground" },
86
+ {
87
+ name: "Status Success",
88
+ token: "--status-success",
89
+ foregroundToken: "--status-success-foreground",
90
+ },
91
+ {
92
+ name: "Status Warning",
93
+ token: "--status-warning",
94
+ foregroundToken: "--status-warning-foreground",
95
+ },
96
+ {
97
+ name: "Status Info",
98
+ token: "--status-info",
99
+ foregroundToken: "--status-info-foreground",
100
+ },
101
+ {
102
+ name: "Status Accent",
103
+ token: "--status-accent",
104
+ foregroundToken: "--status-accent-foreground",
105
+ },
106
+ {
107
+ name: "Status Destructive",
108
+ token: "--status-destructive",
109
+ foregroundToken: "--status-destructive-foreground",
110
+ },
38
111
  { name: "Border", token: "--border" },
39
112
  { name: "Input", token: "--input" },
40
113
  { name: "Ring", token: "--ring" },
41
114
  ];
115
+ export const typographyTokens = [
116
+ { name: "Sans Font", token: "--font-sans" },
117
+ { name: "Monospace Font", token: "--font-mono" },
118
+ { name: "Root Font Size", token: "--font-size-root" },
119
+ { name: "Weight Regular", token: "--font-weight-regular" },
120
+ { name: "Weight Medium", token: "--font-weight-medium" },
121
+ { name: "Weight Semibold", token: "--font-weight-semibold" },
122
+ { name: "Weight Bold", token: "--font-weight-bold" },
123
+ ];
124
+ export const radiusTokens = [
125
+ { name: "Base Radius", token: "--radius" },
126
+ { name: "Radius Small", token: "--radius-sm" },
127
+ { name: "Radius Medium", token: "--radius-md" },
128
+ { name: "Radius Large", token: "--radius-lg" },
129
+ { name: "Radius XLarge", token: "--radius-xl" },
130
+ ];
131
+ export const spacingTokens = [
132
+ { name: "Space 0", token: "--space-0" },
133
+ { name: "Space 1", token: "--space-1" },
134
+ { name: "Space 2", token: "--space-2" },
135
+ { name: "Space 3", token: "--space-3" },
136
+ { name: "Space 4", token: "--space-4" },
137
+ { name: "Space 5", token: "--space-5" },
138
+ { name: "Space 6", token: "--space-6" },
139
+ { name: "Space 8", token: "--space-8" },
140
+ { name: "Space 10", token: "--space-10" },
141
+ { name: "Space 12", token: "--space-12" },
142
+ ];
143
+ export const layoutTokens = [
144
+ { name: "Shell Background", token: "--layout-shell-background" },
145
+ { name: "Sidebar Width", token: "--layout-sidebar-width" },
146
+ { name: "Sidebar Collapsed Width", token: "--layout-sidebar-collapsed-width" },
147
+ { name: "Sidebar Padding Inline", token: "--layout-sidebar-padding-inline" },
148
+ { name: "Sidebar Padding Top", token: "--layout-sidebar-padding-top" },
149
+ { name: "Content Gap Start", token: "--layout-content-gap-start" },
150
+ { name: "Content Gap Start MD", token: "--layout-content-gap-start-md" },
151
+ { name: "Content Gap Start LG", token: "--layout-content-gap-start-lg" },
152
+ { name: "Content Padding", token: "--layout-content-padding" },
153
+ { name: "Content Padding MD", token: "--layout-content-padding-md" },
154
+ { name: "Content Padding LG", token: "--layout-content-padding-lg" },
155
+ { name: "Surface Padding", token: "--layout-surface-padding" },
156
+ { name: "Surface Padding MD", token: "--layout-surface-padding-md" },
157
+ { name: "Surface Padding LG", token: "--layout-surface-padding-lg" },
158
+ { name: "Surface Gap", token: "--layout-surface-gap" },
159
+ ];
package/dist/tooltip.d.ts CHANGED
@@ -1,7 +1,19 @@
1
1
  import * as React from "react";
2
2
  import * as TooltipPrimitive from "@radix-ui/react-tooltip";
3
- declare const TooltipProvider: React.FC<TooltipPrimitive.TooltipProviderProps>;
4
- declare const Tooltip: React.FC<TooltipPrimitive.TooltipProps>;
3
+ declare function TooltipProvider({ delayDuration, ...props }: React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Provider>): import("react/jsx-runtime").JSX.Element;
4
+ declare const TooltipRoot: React.FC<TooltipPrimitive.TooltipProps>;
5
5
  declare const TooltipTrigger: React.ForwardRefExoticComponent<TooltipPrimitive.TooltipTriggerProps & React.RefAttributes<HTMLButtonElement>>;
6
6
  declare const TooltipContent: React.ForwardRefExoticComponent<Omit<TooltipPrimitive.TooltipContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
7
- export { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider };
7
+ export interface TooltipProps {
8
+ content: React.ReactNode;
9
+ children: React.ReactElement;
10
+ delayDuration?: number;
11
+ side?: React.ComponentProps<typeof TooltipContent>["side"];
12
+ sideOffset?: number;
13
+ contentClassName?: string;
14
+ open?: boolean;
15
+ defaultOpen?: boolean;
16
+ onOpenChange?: (open: boolean) => void;
17
+ }
18
+ declare function Tooltip({ content, children, delayDuration, side, sideOffset, contentClassName, open, defaultOpen, onOpenChange, }: TooltipProps): import("react/jsx-runtime").JSX.Element;
19
+ export { Tooltip, TooltipRoot, TooltipTrigger, TooltipContent, TooltipProvider };
package/dist/tooltip.js CHANGED
@@ -1,11 +1,16 @@
1
1
  "use client";
2
- import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import * as React from "react";
4
4
  import * as TooltipPrimitive from "@radix-ui/react-tooltip";
5
5
  import { cn } from "./lib/utils";
6
- const TooltipProvider = TooltipPrimitive.Provider;
7
- const Tooltip = TooltipPrimitive.Root;
6
+ function TooltipProvider({ delayDuration = 100, ...props }) {
7
+ return _jsx(TooltipPrimitive.Provider, { delayDuration: delayDuration, ...props });
8
+ }
9
+ const TooltipRoot = TooltipPrimitive.Root;
8
10
  const TooltipTrigger = TooltipPrimitive.Trigger;
9
11
  const TooltipContent = React.forwardRef(({ className, sideOffset = 4, ...props }, ref) => (_jsx(TooltipPrimitive.Portal, { children: _jsx(TooltipPrimitive.Content, { ref: ref, sideOffset: sideOffset, className: cn("z-50 overflow-hidden rounded-md bg-[#111827] px-3 py-1.5 text-sm text-white shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2", className), ...props }) })));
10
12
  TooltipContent.displayName = TooltipPrimitive.Content.displayName;
11
- export { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider };
13
+ function Tooltip({ content, children, delayDuration = 100, side = "top", sideOffset = 4, contentClassName, open, defaultOpen, onOpenChange, }) {
14
+ return (_jsx(TooltipProvider, { delayDuration: delayDuration, children: _jsxs(TooltipRoot, { open: open, defaultOpen: defaultOpen, onOpenChange: onOpenChange, children: [_jsx(TooltipTrigger, { asChild: true, children: children }), _jsx(TooltipContent, { side: side, sideOffset: sideOffset, className: contentClassName, children: content })] }) }));
15
+ }
16
+ export { Tooltip, TooltipRoot, TooltipTrigger, TooltipContent, TooltipProvider };
@@ -0,0 +1,11 @@
1
+ import * as React from "react";
2
+ import { type VariantProps } from "class-variance-authority";
3
+ declare const typographyVariants: (props?: ({
4
+ variant?: "label" | "body" | "caption" | "title" | "heading" | "subheading" | "bodySm" | "eyebrow" | null | undefined;
5
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
6
+ export interface TypographyProps extends React.HTMLAttributes<HTMLElement>, VariantProps<typeof typographyVariants> {
7
+ as?: keyof React.JSX.IntrinsicElements;
8
+ asChild?: boolean;
9
+ }
10
+ declare const Typography: React.ForwardRefExoticComponent<TypographyProps & React.RefAttributes<HTMLElement>>;
11
+ export { Typography, typographyVariants };
@@ -0,0 +1,41 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import * as React from "react";
3
+ import { Slot } from "@radix-ui/react-slot";
4
+ import { cva } from "class-variance-authority";
5
+ import { cn } from "./lib/utils";
6
+ const typographyVariants = cva("", {
7
+ variants: {
8
+ variant: {
9
+ title: "text-2xl font-bold tracking-tight text-foreground",
10
+ heading: "text-xl font-semibold tracking-tight text-foreground",
11
+ subheading: "text-lg font-semibold text-foreground",
12
+ body: "text-base leading-6 text-foreground",
13
+ bodySm: "text-sm leading-6 text-foreground",
14
+ label: "text-sm font-medium leading-none text-foreground",
15
+ caption: "text-sm leading-5 text-muted-foreground",
16
+ eyebrow: "text-xs font-semibold uppercase tracking-wider text-muted-foreground",
17
+ },
18
+ },
19
+ defaultVariants: {
20
+ variant: "body",
21
+ },
22
+ });
23
+ const defaultElementByVariant = {
24
+ title: "h2",
25
+ heading: "h3",
26
+ subheading: "h4",
27
+ body: "p",
28
+ bodySm: "p",
29
+ label: "span",
30
+ caption: "span",
31
+ eyebrow: "span",
32
+ };
33
+ const Typography = React.forwardRef(({ as, asChild = false, className, variant, ...props }, ref) => {
34
+ const resolvedVariant = (variant !== null && variant !== void 0 ? variant : "body");
35
+ const Comp = asChild
36
+ ? Slot
37
+ : as !== null && as !== void 0 ? as : defaultElementByVariant[resolvedVariant];
38
+ return (_jsx(Comp, { ref: ref, className: cn(typographyVariants({ variant: resolvedVariant }), className), ...props }));
39
+ });
40
+ Typography.displayName = "Typography";
41
+ export { Typography, typographyVariants };
@@ -0,0 +1,13 @@
1
+ import * as React from "react";
2
+ export interface SearchHighlightSegment {
3
+ text: string;
4
+ matched: boolean;
5
+ }
6
+ declare function useSearchHighlight(text: string, query: string): SearchHighlightSegment[];
7
+ export interface SearchHighlightProps extends Omit<React.HTMLAttributes<HTMLSpanElement>, "children"> {
8
+ text: string;
9
+ query: string;
10
+ markClassName?: string;
11
+ }
12
+ declare function SearchHighlight({ text, query, className, markClassName, ...props }: SearchHighlightProps): import("react/jsx-runtime").JSX.Element;
13
+ export { SearchHighlight, useSearchHighlight };
@@ -0,0 +1,46 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import * as React from "react";
3
+ import { cn } from "./lib/utils";
4
+ function createSearchHighlightSegments(text, query) {
5
+ if (!text) {
6
+ return [];
7
+ }
8
+ const normalizedQuery = query.trim();
9
+ if (!normalizedQuery) {
10
+ return [{ text, matched: false }];
11
+ }
12
+ const normalizedText = text.toLocaleLowerCase();
13
+ const normalizedMatch = normalizedQuery.toLocaleLowerCase();
14
+ const segments = [];
15
+ let cursor = 0;
16
+ while (cursor < text.length) {
17
+ const matchIndex = normalizedText.indexOf(normalizedMatch, cursor);
18
+ if (matchIndex === -1) {
19
+ segments.push({
20
+ text: text.slice(cursor),
21
+ matched: false,
22
+ });
23
+ break;
24
+ }
25
+ if (matchIndex > cursor) {
26
+ segments.push({
27
+ text: text.slice(cursor, matchIndex),
28
+ matched: false,
29
+ });
30
+ }
31
+ segments.push({
32
+ text: text.slice(matchIndex, matchIndex + normalizedQuery.length),
33
+ matched: true,
34
+ });
35
+ cursor = matchIndex + normalizedQuery.length;
36
+ }
37
+ return segments.length ? segments : [{ text, matched: false }];
38
+ }
39
+ function useSearchHighlight(text, query) {
40
+ return React.useMemo(() => createSearchHighlightSegments(text, query), [query, text]);
41
+ }
42
+ function SearchHighlight({ text, query, className, markClassName, ...props }) {
43
+ const segments = useSearchHighlight(text, query);
44
+ return (_jsx("span", { className: className, ...props, children: segments.map((segment, index) => segment.matched ? (_jsx("mark", { className: cn("rounded-[2px] bg-[hsl(var(--status-warning))] px-0.5 font-medium text-[hsl(var(--status-warning-foreground))]", markClassName), children: segment.text }, `${segment.text}-${index}`)) : (_jsx(React.Fragment, { children: segment.text }, `${segment.text}-${index}`))) }));
45
+ }
46
+ export { SearchHighlight, useSearchHighlight };