@kubetail/ui 0.3.0 → 2.0.0-rc1

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 (225) hide show
  1. package/README.md +20 -23
  2. package/dist/elements/button.cjs +2 -0
  3. package/dist/elements/button.cjs.map +1 -0
  4. package/dist/elements/button.d.ts +18 -0
  5. package/dist/elements/button.js +43 -0
  6. package/dist/elements/button.js.map +1 -0
  7. package/dist/elements/button.stories.d.ts +30 -0
  8. package/dist/elements/calendar.cjs +2 -0
  9. package/dist/elements/calendar.cjs.map +1 -0
  10. package/dist/elements/calendar.d.ts +4 -0
  11. package/dist/elements/{Calendar.js → calendar.js} +4 -4
  12. package/dist/elements/calendar.js.map +1 -0
  13. package/dist/elements/calendar.stories.d.ts +16 -0
  14. package/dist/elements/card.cjs +2 -0
  15. package/dist/elements/card.cjs.map +1 -0
  16. package/dist/elements/card.d.ts +8 -0
  17. package/dist/elements/card.js +57 -0
  18. package/dist/elements/card.js.map +1 -0
  19. package/dist/elements/card.stories.d.ts +17 -0
  20. package/dist/elements/checkbox.cjs +2 -0
  21. package/dist/elements/checkbox.cjs.map +1 -0
  22. package/dist/elements/checkbox.d.ts +3 -0
  23. package/dist/elements/checkbox.js +29 -0
  24. package/dist/elements/checkbox.js.map +1 -0
  25. package/dist/elements/checkbox.stories.d.ts +17 -0
  26. package/dist/elements/dropdown-menu.cjs +2 -0
  27. package/dist/elements/dropdown-menu.cjs.map +1 -0
  28. package/dist/elements/dropdown-menu.d.ts +25 -0
  29. package/dist/elements/dropdown-menu.js +196 -0
  30. package/dist/elements/dropdown-menu.js.map +1 -0
  31. package/dist/elements/dropdown-menu.stories.d.ts +20 -0
  32. package/dist/elements/form.cjs +2 -0
  33. package/dist/elements/form.cjs.map +1 -0
  34. package/dist/elements/form.d.ts +23 -0
  35. package/dist/elements/form.js +83 -0
  36. package/dist/elements/form.js.map +1 -0
  37. package/dist/elements/form.stories.d.ts +16 -0
  38. package/dist/elements/input.cjs +2 -0
  39. package/dist/elements/input.cjs.map +1 -0
  40. package/dist/elements/input.d.ts +2 -0
  41. package/dist/elements/input.js +22 -0
  42. package/dist/elements/input.js.map +1 -0
  43. package/dist/elements/input.stories.d.ts +35 -0
  44. package/dist/elements/label.cjs +2 -0
  45. package/dist/elements/label.cjs.map +1 -0
  46. package/dist/elements/label.d.ts +3 -0
  47. package/dist/elements/label.js +20 -0
  48. package/dist/elements/label.js.map +1 -0
  49. package/dist/elements/label.stories.d.ts +17 -0
  50. package/dist/elements/popover.cjs +2 -0
  51. package/dist/elements/popover.cjs.map +1 -0
  52. package/dist/elements/popover.d.ts +7 -0
  53. package/dist/elements/popover.js +41 -0
  54. package/dist/elements/popover.js.map +1 -0
  55. package/dist/elements/popover.stories.d.ts +17 -0
  56. package/dist/elements/select.cjs +2 -0
  57. package/dist/elements/select.cjs.map +1 -0
  58. package/dist/elements/select.d.ts +14 -0
  59. package/dist/elements/select.js +145 -0
  60. package/dist/elements/select.js.map +1 -0
  61. package/dist/elements/select.stories.d.ts +17 -0
  62. package/dist/elements/spinner.cjs +2 -0
  63. package/dist/elements/spinner.cjs.map +1 -0
  64. package/dist/elements/spinner.d.ts +7 -0
  65. package/dist/elements/{Spinner.js → spinner.js} +5 -5
  66. package/dist/elements/spinner.js.map +1 -0
  67. package/dist/elements/{Spinner.stories.d.ts → spinner.stories.d.ts} +1 -1
  68. package/dist/elements/table.cjs +2 -0
  69. package/dist/elements/table.cjs.map +1 -0
  70. package/dist/elements/table.d.ts +9 -0
  71. package/dist/elements/table.js +71 -0
  72. package/dist/elements/table.js.map +1 -0
  73. package/dist/elements/table.stories.d.ts +17 -0
  74. package/dist/elements/tabs.cjs +2 -0
  75. package/dist/elements/tabs.cjs.map +1 -0
  76. package/dist/elements/tabs.d.ts +6 -0
  77. package/dist/elements/tabs.js +42 -0
  78. package/dist/elements/tabs.js.map +1 -0
  79. package/dist/elements/tabs.stories.d.ts +16 -0
  80. package/dist/index.css +216 -90
  81. package/package.json +23 -14
  82. package/dist/elements/Alert.cjs +0 -2
  83. package/dist/elements/Alert.cjs.map +0 -1
  84. package/dist/elements/Alert.d.ts +0 -9
  85. package/dist/elements/Alert.js +0 -13
  86. package/dist/elements/Alert.js.map +0 -1
  87. package/dist/elements/Alert.stories.d.ts +0 -11
  88. package/dist/elements/Button.cjs +0 -2
  89. package/dist/elements/Button.cjs.map +0 -1
  90. package/dist/elements/Button.d.ts +0 -9
  91. package/dist/elements/Button.js +0 -44
  92. package/dist/elements/Button.js.map +0 -1
  93. package/dist/elements/Button.stories.d.ts +0 -15
  94. package/dist/elements/Calendar.cjs +0 -2
  95. package/dist/elements/Calendar.cjs.map +0 -1
  96. package/dist/elements/Calendar.d.ts +0 -3
  97. package/dist/elements/Calendar.js.map +0 -1
  98. package/dist/elements/Calendar.stories.d.ts +0 -10
  99. package/dist/elements/Container.cjs +0 -2
  100. package/dist/elements/Container.cjs.map +0 -1
  101. package/dist/elements/Container.d.ts +0 -8
  102. package/dist/elements/Container.js +0 -7
  103. package/dist/elements/Container.js.map +0 -1
  104. package/dist/elements/Container.stories.d.ts +0 -14
  105. package/dist/elements/Container.test.d.ts +0 -1
  106. package/dist/elements/DataTable/Body.cjs +0 -2
  107. package/dist/elements/DataTable/Body.cjs.map +0 -1
  108. package/dist/elements/DataTable/Body.d.ts +0 -6
  109. package/dist/elements/DataTable/Body.js +0 -8
  110. package/dist/elements/DataTable/Body.js.map +0 -1
  111. package/dist/elements/DataTable/DataCell.cjs +0 -2
  112. package/dist/elements/DataTable/DataCell.cjs.map +0 -1
  113. package/dist/elements/DataTable/DataCell.d.ts +0 -6
  114. package/dist/elements/DataTable/DataCell.js +0 -19
  115. package/dist/elements/DataTable/DataCell.js.map +0 -1
  116. package/dist/elements/DataTable/Header.cjs +0 -2
  117. package/dist/elements/DataTable/Header.cjs.map +0 -1
  118. package/dist/elements/DataTable/Header.d.ts +0 -20
  119. package/dist/elements/DataTable/Header.js +0 -23
  120. package/dist/elements/DataTable/Header.js.map +0 -1
  121. package/dist/elements/DataTable/HeaderCell.cjs +0 -2
  122. package/dist/elements/DataTable/HeaderCell.cjs.map +0 -1
  123. package/dist/elements/DataTable/HeaderCell.d.ts +0 -10
  124. package/dist/elements/DataTable/HeaderCell.js +0 -45
  125. package/dist/elements/DataTable/HeaderCell.js.map +0 -1
  126. package/dist/elements/DataTable/Row.cjs +0 -2
  127. package/dist/elements/DataTable/Row.cjs.map +0 -1
  128. package/dist/elements/DataTable/Row.d.ts +0 -6
  129. package/dist/elements/DataTable/Row.js +0 -7
  130. package/dist/elements/DataTable/Row.js.map +0 -1
  131. package/dist/elements/DataTable/index.cjs +0 -2
  132. package/dist/elements/DataTable/index.cjs.map +0 -1
  133. package/dist/elements/DataTable/index.d.ts +0 -25
  134. package/dist/elements/DataTable/index.js +0 -31
  135. package/dist/elements/DataTable/index.js.map +0 -1
  136. package/dist/elements/DataTable/shared.cjs +0 -2
  137. package/dist/elements/DataTable/shared.cjs.map +0 -1
  138. package/dist/elements/DataTable/shared.d.ts +0 -6
  139. package/dist/elements/DataTable/shared.js +0 -8
  140. package/dist/elements/DataTable/shared.js.map +0 -1
  141. package/dist/elements/DataTable.stories.d.ts +0 -11
  142. package/dist/elements/DropdownMenu.cjs +0 -2
  143. package/dist/elements/DropdownMenu.cjs.map +0 -1
  144. package/dist/elements/DropdownMenu.d.ts +0 -26
  145. package/dist/elements/DropdownMenu.js +0 -125
  146. package/dist/elements/DropdownMenu.js.map +0 -1
  147. package/dist/elements/DropdownMenu.stories.d.ts +0 -9
  148. package/dist/elements/Form.cjs +0 -2
  149. package/dist/elements/Form.cjs.map +0 -1
  150. package/dist/elements/Form.d.ts +0 -22
  151. package/dist/elements/Form.js +0 -29
  152. package/dist/elements/Form.js.map +0 -1
  153. package/dist/elements/Form.stories.d.ts +0 -11
  154. package/dist/elements/Form.test.d.ts +0 -1
  155. package/dist/elements/FormCheck.cjs +0 -2
  156. package/dist/elements/FormCheck.cjs.map +0 -1
  157. package/dist/elements/FormCheck.d.ts +0 -7
  158. package/dist/elements/FormCheck.js +0 -17
  159. package/dist/elements/FormCheck.js.map +0 -1
  160. package/dist/elements/FormCheck.stories.d.ts +0 -14
  161. package/dist/elements/FormCheck.test.d.ts +0 -1
  162. package/dist/elements/FormControl.cjs +0 -2
  163. package/dist/elements/FormControl.cjs.map +0 -1
  164. package/dist/elements/FormControl.d.ts +0 -12
  165. package/dist/elements/FormControl.js +0 -19
  166. package/dist/elements/FormControl.js.map +0 -1
  167. package/dist/elements/FormControl.test.d.ts +0 -1
  168. package/dist/elements/FormControlFeedback.cjs +0 -2
  169. package/dist/elements/FormControlFeedback.cjs.map +0 -1
  170. package/dist/elements/FormControlFeedback.d.ts +0 -8
  171. package/dist/elements/FormControlFeedback.js +0 -8
  172. package/dist/elements/FormControlFeedback.js.map +0 -1
  173. package/dist/elements/FormControlFeedback.test.d.ts +0 -1
  174. package/dist/elements/FormFeedback.cjs +0 -2
  175. package/dist/elements/FormFeedback.cjs.map +0 -1
  176. package/dist/elements/FormFeedback.d.ts +0 -8
  177. package/dist/elements/FormFeedback.js +0 -8
  178. package/dist/elements/FormFeedback.js.map +0 -1
  179. package/dist/elements/FormFeedback.test.d.ts +0 -1
  180. package/dist/elements/FormFieldset.cjs +0 -2
  181. package/dist/elements/FormFieldset.cjs.map +0 -1
  182. package/dist/elements/FormFieldset.d.ts +0 -2
  183. package/dist/elements/FormFieldset.js +0 -11
  184. package/dist/elements/FormFieldset.js.map +0 -1
  185. package/dist/elements/FormFieldset.test.d.ts +0 -1
  186. package/dist/elements/FormGroup.cjs +0 -2
  187. package/dist/elements/FormGroup.cjs.map +0 -1
  188. package/dist/elements/FormGroup.d.ts +0 -10
  189. package/dist/elements/FormGroup.js +0 -13
  190. package/dist/elements/FormGroup.js.map +0 -1
  191. package/dist/elements/FormGroup.test.d.ts +0 -1
  192. package/dist/elements/FormLabel.cjs +0 -2
  193. package/dist/elements/FormLabel.cjs.map +0 -1
  194. package/dist/elements/FormLabel.d.ts +0 -6
  195. package/dist/elements/FormLabel.js +0 -15
  196. package/dist/elements/FormLabel.js.map +0 -1
  197. package/dist/elements/FormLabel.test.d.ts +0 -1
  198. package/dist/elements/FormOption.cjs +0 -2
  199. package/dist/elements/FormOption.cjs.map +0 -1
  200. package/dist/elements/FormOption.d.ts +0 -2
  201. package/dist/elements/FormOption.js +0 -10
  202. package/dist/elements/FormOption.js.map +0 -1
  203. package/dist/elements/FormSelect.cjs +0 -2
  204. package/dist/elements/FormSelect.cjs.map +0 -1
  205. package/dist/elements/FormSelect.d.ts +0 -5
  206. package/dist/elements/FormSelect.js +0 -13
  207. package/dist/elements/FormSelect.js.map +0 -1
  208. package/dist/elements/Popover.cjs +0 -2
  209. package/dist/elements/Popover.cjs.map +0 -1
  210. package/dist/elements/Popover.d.ts +0 -7
  211. package/dist/elements/Popover.js +0 -26
  212. package/dist/elements/Popover.js.map +0 -1
  213. package/dist/elements/Popover.stories.d.ts +0 -9
  214. package/dist/elements/Spinner.cjs +0 -2
  215. package/dist/elements/Spinner.cjs.map +0 -1
  216. package/dist/elements/Spinner.d.ts +0 -7
  217. package/dist/elements/Spinner.js.map +0 -1
  218. package/dist/elements/Tabs.cjs +0 -2
  219. package/dist/elements/Tabs.cjs.map +0 -1
  220. package/dist/elements/Tabs.d.ts +0 -6
  221. package/dist/elements/Tabs.js +0 -47
  222. package/dist/elements/Tabs.js.map +0 -1
  223. package/dist/elements/Tabs.stories.d.ts +0 -9
  224. /package/dist/elements/{Alert.test.d.ts → button.test.d.ts} +0 -0
  225. /package/dist/elements/{Button.test.d.ts → input.test.d.ts} +0 -0
package/dist/index.css CHANGED
@@ -1,106 +1,232 @@
1
- @plugin "@tailwindcss/forms";
1
+ /**
2
+ * Shadcn theme
3
+ */
2
4
 
3
- @theme {
4
- --color-accent: var(--color-amber-200);
5
- --color-accent-foreground: var(--color-gray-800);
6
- --color-background: var(--color-white);
7
- --color-border: var(--color-gray-200);
8
- --color-danger: var(--color-red-500);
9
- --color-danger-foreground: var(--color-white);
10
- --color-foreground: var(--color-gray-900);
11
- --color-input: var(--color-gray-300);
12
- --color-muted: var(--color-gray-100);
13
- --color-muted-foreground: var(--color-gray-400);
14
- --color-popover: var(--color-white);
15
- --color-popover-foreground: var(--color-gray-900);
16
- --color-primary: rgb(69 110 222);
17
- --color-primary-foreground: var(--color-white);
18
- --color-ring: var(--color-blue-400);
19
- --color-secondary: var(--color-blue-100);
20
- --color-secondary-foreground: var(--color-gray-800);
21
- --color-chrome-50: var(--color-gray-50);
22
- --color-chrome-100: var(--color-gray-100);
23
- --color-chrome-200: var(--color-gray-200);
24
- --color-chrome-300: var(--color-gray-300);
25
- --color-chrome-400: var(--color-gray-400);
26
- --color-chrome-500: var(--color-gray-500);
27
- --color-chrome-600: var(--color-gray-600);
28
- --color-chrome-700: var(--color-gray-700);
29
- --color-chrome-800: var(--color-gray-800);
30
- --color-chrome-900: var(--color-gray-900);
31
- --color-chrome-950: var(--color-gray-950);
32
- --color-chrome-foreground: var(--color-gray-800);
33
- --color-chrome-foreground-muted: var(--color-gray-500);
34
- --color-chrome-foreground-subtle: var(--color-gray-300);
35
- --color-chrome-divider: var(--color-gray-300);
5
+ :root, .light {
6
+ --background: var(--color-white); /* color-bg */
7
+ --foreground: var(--color-zinc-950); /* color-text */
8
+ --card: var(--color-white);
9
+ --card-foreground: var(--color-zinc-950);
10
+ --popover: var(--color-white);
11
+ --popover-foreground: var(--color-zinc-950);
12
+ --primary: var(--color-blue-700); /* color-bg-primary */
13
+ --primary-foreground: var(--color-white); /* color-text-on-color */
14
+ --secondary: var(--color-zinc-50); /* color-bg-secondary */
15
+ --secondary-foreground: var(--color-zinc-950); /* color-text */
16
+ --muted: var(--color-zinc-50); /* color-bg-subtle */
17
+ --muted-foreground: var(--color-zinc-500); /* color-text-muted */
18
+ --accent: var(--color-blue-100);
19
+ --accent-foreground: var(--color-zinc-950);
20
+ --destructive: var(--color-red-500); /* color-bg-error-strong */
21
+ --destructive-foreground: var(--color-white); /* color-text-on-color */
22
+ --border: var(--color-zinc-200); /* color-border */
23
+ --input: var(--color-zinc-200); /* color-border-input */
24
+ --ring: var(--color-blue-500); /* color-border-focusRing */
25
+ --chart-1: oklch(0.646 0.222 41.116);
26
+ --chart-2: oklch(0.6 0.118 184.704);
27
+ --chart-3: oklch(0.398 0.07 227.392);
28
+ --chart-4: oklch(0.828 0.189 84.429);
29
+ --chart-5: oklch(0.769 0.188 70.08);
30
+ --radius: 0.625rem;
31
+ --sidebar: oklch(0.985 0 0);
32
+ --sidebar-foreground: oklch(0.145 0 0);
33
+ --sidebar-primary: oklch(0.205 0 0);
34
+ --sidebar-primary-foreground: oklch(0.985 0 0);
35
+ --sidebar-accent: oklch(0.97 0 0);
36
+ --sidebar-accent-foreground: oklch(0.205 0 0);
37
+ --sidebar-border: oklch(0.922 0 0);
38
+ --sidebar-ring: oklch(0.708 0 0);
39
+ }
36
40
 
37
- --breakpoint-sm: 576px;
38
- --breakpoint-md: 768px;
39
- --breakooint-lg: 992px;
40
- --breakpoint-xl: 1200px;
41
- --breakpoint-2xl: 1400px;
41
+ .dark {
42
+ --background: var(--color-zinc-950); /* color-bg */
43
+ --foreground: var(--color-zinc-50); /* color-text */
44
+ --card: var(--color-zinc-950);
45
+ --card-foreground: var(--color-white);
46
+ --popover: var(--color-zinc-950);
47
+ --popover-foreground: var(--color-white);
48
+ --primary: var(--color-blue-500); /* color-bg-primary */
49
+ --primary-foreground: var(--color-white); /* color-text-on-color */
50
+ --secondary: var(--color-zinc-600); /* color-bg-secondary */
51
+ --secondary-foreground: var(--color-zinc-50); /* color-text */
52
+ --muted: var(--color-zinc-900); /* color-bg-subtle */
53
+ --muted-foreground: var(--color-zinc-400); /* color-text-muted */
54
+ --accent: var(--color-blue-900);
55
+ --accent-foreground: var(--color-white);
56
+ --destructive: var(--color-red-400); /* color-bg-error-strong */
57
+ --destructive-foreground: var(--color-zinc-50); /* color-text */
58
+ --border: var(--color-zinc-700); /* color-border */
59
+ --input: var(--color-zinc-400); /* color-border-input */
60
+ --ring: var(--color-blue-500); /* color-border-focusRing */
61
+ --chart-1: oklch(0.488 0.243 264.376);
62
+ --chart-2: oklch(0.696 0.17 162.48);
63
+ --chart-3: oklch(0.769 0.188 70.08);
64
+ --chart-4: oklch(0.627 0.265 303.9);
65
+ --chart-5: oklch(0.645 0.246 16.439);
66
+ --sidebar: oklch(0.205 0 0);
67
+ --sidebar-foreground: oklch(0.985 0 0);
68
+ --sidebar-primary: oklch(0.488 0.243 264.376);
69
+ --sidebar-primary-foreground: oklch(0.985 0 0);
70
+ --sidebar-accent: oklch(0.269 0 0);
71
+ --sidebar-accent-foreground: oklch(0.985 0 0);
72
+ --sidebar-border: oklch(0.269 0 0);
73
+ --sidebar-ring: oklch(0.439 0 0);
42
74
  }
43
75
 
76
+ @theme inline {
77
+ --color-background: var(--background);
78
+ --color-foreground: var(--foreground);
79
+ --color-card: var(--card);
80
+ --color-card-foreground: var(--card-foreground);
81
+ --color-popover: var(--popover);
82
+ --color-popover-foreground: var(--popover-foreground);
83
+ --color-primary: var(--primary);
84
+ --color-primary-foreground: var(--primary-foreground);
85
+ --color-secondary: var(--secondary);
86
+ --color-secondary-foreground: var(--secondary-foreground);
87
+ --color-muted: var(--muted);
88
+ --color-muted-foreground: var(--muted-foreground);
89
+ --color-accent: var(--accent);
90
+ --color-accent-foreground: var(--accent-foreground);
91
+ --color-destructive: var(--destructive);
92
+ --color-destructive-foreground: var(--destructive-foreground);
93
+ --color-border: var(--border);
94
+ --color-input: var(--input);
95
+ --color-ring: var(--ring);
96
+ --color-chart-1: var(--chart-1);
97
+ --color-chart-2: var(--chart-2);
98
+ --color-chart-3: var(--chart-3);
99
+ --color-chart-4: var(--chart-4);
100
+ --color-chart-5: var(--chart-5);
101
+ --radius-sm: calc(var(--radius) - 4px);
102
+ --radius-md: calc(var(--radius) - 2px);
103
+ --radius-lg: var(--radius);
104
+ --radius-xl: calc(var(--radius) + 4px);
105
+ --color-sidebar: var(--sidebar);
106
+ --color-sidebar-foreground: var(--sidebar-foreground);
107
+ --color-sidebar-primary: var(--sidebar-primary);
108
+ --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
109
+ --color-sidebar-accent: var(--sidebar-accent);
110
+ --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
111
+ --color-sidebar-border: var(--sidebar-border);
112
+ --color-sidebar-ring: var(--sidebar-ring);
113
+ }
114
+
44
115
  @layer base {
45
- :root[class~="dark"] {
46
- --color-accent: var(--color-amber-200);
47
- --color-accent-foreground: var(--color-gray-800);
48
- --color-background: var(--color-neutral-800);
49
- --color-border: var(--color-gray-200);
50
- --color-danger: var(--color-red-500);
51
- --color-danger-foreground: var(--color-white);
52
- --color-foreground: var(--color-white);
53
- --color-input: var(--color-gray-300);
54
- --color-muted: var(--color-gray-100);
55
- --color-muted-foreground: var(--color-gray-600);
56
- --color-popover: var(--color-neutral-800);
57
- --color-popover-foreground: var(--color-white);
58
- --color-primary: var(--color-blue-500);
59
- --color-primary-foreground: var(--color-white);
60
- --color-ring: var(--color-blue-600);
61
- --color-secondary: var(--color-blue-100);
62
- --color-secondary-foreground: var(--color-gray-800);
63
- --color-chrome-50: var(--color-gray-950);
64
- --color-chrome-100: var(--color-gray-900);
65
- --color-chrome-200: var(--color-gray-800);
66
- --color-chrome-300: var(--color-gray-700);
67
- --color-chrome-400: var(--color-gray-600);
68
- --color-chrome-500: var(--color-gray-500);
69
- --color-chrome-600: var(--color-gray-400);
70
- --color-chrome-700: var(--color-gray-300);
71
- --color-chrome-800: var(--color-gray-200);
72
- --color-chrome-900: var(--color-gray-100);
73
- --color-chrome-950: var(--color-gray-50);
74
- --color-chrome-foreground: var(--color.white);
75
- --color-chrome-divider: var(--color-gray-700);
116
+ * {
117
+ @apply border-border outline-ring/50;
118
+ }
119
+ body {
120
+ @apply bg-background text-foreground;
76
121
  }
77
122
  }
78
123
 
79
- @layer utilities {
80
- .max-w-screen-sm { max-width: 540px; }
81
- .max-w-screen-md { max-width: 720px; }
82
- .max-w-screen-lg { max-width: 960px; }
83
- .max-w-screen-xl { max-width: 1140px; }
84
- .max-w-screen-2xl { max-width: 1320px; }
124
+ /**
125
+ * Custom theme
126
+ */
127
+
128
+ :root, .light {
129
+ --chrome-50: var(--color-gray-50);
130
+ --chrome-100: var(--color-gray-100);
131
+ --chrome-200: var(--color-gray-200);
132
+ --chrome-300: var(--color-gray-300);
133
+ --chrome-400: var(--color-gray-400);
134
+ --chrome-500: var(--color-gray-500);
135
+ --chrome-600: var(--color-gray-600);
136
+ --chrome-700: var(--color-gray-700);
137
+ --chrome-800: var(--color-gray-800);
138
+ --chrome-900: var(--color-gray-900);
139
+ --chrome-950: var(--color-gray-950);
85
140
  }
86
141
 
87
- /* Default styles */
88
- @layer base {
89
- html {
90
- @apply bg-background;
91
- @apply text-foreground;
92
- }
142
+ .dark {
143
+ --chrome-50: var(--color-gray-950);
144
+ --chrome-100: var(--color-gray-900);
145
+ --chrome-200: var(--color-gray-800);
146
+ --chrome-300: var(--color-gray-700);
147
+ --chrome-400: var(--color-gray-600);
148
+ --chrome-500: var(--color-gray-500);
149
+ --chrome-600: var(--color-gray-400);
150
+ --chrome-700: var(--color-gray-300);
151
+ --chrome-800: var(--color-gray-200);
152
+ --chrome-900: var(--color-gray-100);
153
+ --chrome-950: var(--color-gray-50);
154
+ }
155
+
156
+ @theme inline {
157
+ --color-chrome-50: var(--chrome-50);
158
+ --color-chrome-100: var(--chrome-100);
159
+ --color-chrome-200: var(--chrome-200);
160
+ --color-chrome-300: var(--chrome-300);
161
+ --color-chrome-400: var(--chrome-400);
162
+ --color-chrome-500: var(--chrome-500);
163
+ --color-chrome-600: var(--chrome-600);
164
+ --color-chrome-700: var(--chrome-700);
165
+ --color-chrome-800: var(--chrome-800);
166
+ --color-chrome-900: var(--chrome-900);
167
+ --color-chrome-950: var(--chrome-950);
93
168
 
169
+ /* text */
170
+ --text-base: 1rem;
171
+ --text-base--line-height: calc(1.5 / 1);
172
+ --text-xs: 0.75rem;
173
+ --text-xs--line-height: calc(1 / 0.75);
174
+ --text-sm: 0.875rem;
175
+ --text-sm--line-height: calc(1.25 / 0.875);
176
+ --text-md: var(--text-base);
177
+ --text-md--line-height: var(--text-base--line-height);
178
+ --text-lg: 1.125rem;
179
+ --text-lg--line-height: calc(1.875 / 1.125);
180
+ --text-xl: 1.25rem;
181
+ --text-xl--line-height: calc(2 / 1.25);
182
+ --text-2xl: 1.5rem;
183
+ --text-2xl--line-height: calc(2.375 / 1.5);
184
+
185
+ /* text-heading */
186
+ --text-heading-base: 1rem;
187
+ --text-heading-base--line-height: 1.5rem;
188
+ --text-heading-base--font-weight: 500;
189
+ --text-heading-sm: 0.875rem;
190
+ --text-heading-sm--line-height: 1.25rem;
191
+ --text-heading-sm--font-weight: var(--text-heading-base--font-weight);
192
+ --text-heading-md: var(--text-heading-base);
193
+ --text-heading-md--line-height: var(--text-heading-base--line-height);
194
+ --text-heading-md--font-weight: var(--text-heading-base--font-weight);
195
+ --text-heading-lg: 1.125rem;
196
+ --text-heading-lg--line-height: 1.875rem;
197
+ --text-heading-lg--font-weight: var(--text-heading-base--font-weight);
198
+ --text-heading-xl: 1.25rem;
199
+ --text-heading-xl--line-height: 2rem;
200
+ --text-heading-xl--font-weight: var(--text-heading-base--font-weight);
201
+ --text-heading-2xl: 1.5rem;
202
+ --text-heading-2xl--line-height: 2.375rem;
203
+ --text-heading-2xl--font-weight: var(--text-heading-base--font-weight);
204
+ --text-heading-3xl: 1.875rem;
205
+ --text-heading-3xl--line-height: 2.625rem;
206
+ --text-heading-3xl--font-weight: var(--text-heading-base--font-weight);
207
+ --text-heading-4xl: 2.25rem;
208
+ --text-heading-4xl--line-height: 3.25rem;
209
+ --text-heading-4xl--font-weight: var(--text-heading-base--font-weight);
210
+ --text-heading-5xl: 3rem;
211
+ --text-heading-5xl--line-height: 4.5rem;
212
+ --text-heading-5xl--font-weight: var(--text-heading-base--font-weight);
213
+ --text-heading-6xl: 3.75rem;
214
+ --text-heading-6xl--line-height: 5.375rem;
215
+ --text-heading-6xl--font-weight: var(--text-heading-base--font-weight);
216
+ --text-heading-7xl: 4.5rem;
217
+ --text-heading-7xl--line-height: 6.75rem;
218
+ --text-heading-7xl--font-weight: var(--text-heading-base--font-weight);
219
+ --text-heading-8xl: 6rem;
220
+ --text-heading-8xl--line-height: 9rem;
221
+ --text-heading-8xl--font-weight: var(--text-heading-base--font-weight);
222
+ --text-heading-9xl: 8rem;
223
+ --text-heading-9xl--line-height: 12rem;
224
+ --text-heading-9xl--font-weight: var(--text-heading-base--font-weight);
225
+ }
226
+
227
+ @layer base {
94
228
  body {
95
229
  @apply antialiased;
96
230
  font-feature-settings: "rlig" 1, "calt" 1;
97
231
  }
98
-
99
- .border {
100
- @apply border-border;
101
- }
102
-
103
- .ring {
104
- @apply ring-ring;
105
- }
106
232
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kubetail/ui",
3
- "version": "v0.3.0",
3
+ "version": "v2.0.0-rc1",
4
4
  "type": "module",
5
5
  "sideEffects": false,
6
6
  "module": "./dist/index.js",
@@ -30,35 +30,40 @@
30
30
  "/dist"
31
31
  ],
32
32
  "peerDependencies": {
33
- "@heroicons/react": "^2",
33
+ "@radix-ui/react-checkbox": "^1",
34
34
  "@radix-ui/react-dropdown-menu": "^2",
35
+ "@radix-ui/react-label": "^2",
35
36
  "@radix-ui/react-popover": "^1",
37
+ "@radix-ui/react-select": "^2",
36
38
  "@radix-ui/react-slot": "^1",
37
39
  "@radix-ui/react-tabs": "^1",
38
- "@restart/ui": "^1",
39
40
  "lucide-react": "*",
40
41
  "react": "^19",
41
- "react-dom": "^19",
42
42
  "react-day-picker": "^9",
43
+ "react-dom": "^19",
44
+ "react-hook-form": "^7",
43
45
  "tailwindcss": "^4"
44
46
  },
45
47
  "peerDependenciesMeta": {
46
- "@heroicons/react": {
48
+ "@radix-ui/react-checkbox": {
47
49
  "optional": true
48
50
  },
49
51
  "@radix-ui/react-dropdown-menu": {
50
52
  "optional": true
51
53
  },
54
+ "@radix-ui/react-label": {
55
+ "optional": true
56
+ },
52
57
  "@radix-ui/react-popover": {
53
58
  "optional": true
54
59
  },
55
60
  "@radix-ui/react-slot": {
56
61
  "optional": true
57
62
  },
58
- "@radix-ui/react-tabs": {
63
+ "@radix-ui/react-select": {
59
64
  "optional": true
60
65
  },
61
- "@restart/ui": {
66
+ "@radix-ui/react-tabs": {
62
67
  "optional": true
63
68
  },
64
69
  "lucide-react": {
@@ -66,6 +71,9 @@
66
71
  },
67
72
  "react-day-picker": {
68
73
  "optional": true
74
+ },
75
+ "react-hook-form": {
76
+ "optional": true
69
77
  }
70
78
  },
71
79
  "devDependencies": {
@@ -73,13 +81,14 @@
73
81
  "@eslint/compat": "^1.3.0",
74
82
  "@eslint/js": "^9.28.0",
75
83
  "@fontsource-variable/roboto-flex": "^5.2.6",
76
- "@heroicons/react": "^2.2.0",
77
84
  "@microsoft/api-extractor": "^7.52.8",
85
+ "@radix-ui/react-checkbox": "^1.3.2",
78
86
  "@radix-ui/react-dropdown-menu": "^2.1.15",
87
+ "@radix-ui/react-label": "^2.1.7",
79
88
  "@radix-ui/react-popover": "^1.1.14",
89
+ "@radix-ui/react-select": "^2.2.5",
80
90
  "@radix-ui/react-slot": "^1.2.3",
81
91
  "@radix-ui/react-tabs": "^1.1.12",
82
- "@restart/ui": "^1.9.4",
83
92
  "@storybook/addon-docs": "^9.0.9",
84
93
  "@storybook/addon-links": "^9.0.9",
85
94
  "@storybook/addon-themes": "^9.0.9",
@@ -95,9 +104,8 @@
95
104
  "@types/rollup-plugin-auto-external": "^2.0.5",
96
105
  "@vitejs/plugin-react-swc": "^3.10.2",
97
106
  "@vueless/storybook-dark-mode": "^9.0.5",
98
- "date-fns": "^4.1.0",
99
107
  "eslint": "^9.28.0",
100
- "eslint-config-airbnb-extended": "^1.0.11",
108
+ "eslint-config-airbnb-extended": "^2.1.2",
101
109
  "eslint-config-prettier": "^10.1.5",
102
110
  "eslint-import-resolver-typescript": "^4.4.3",
103
111
  "eslint-plugin-import-x": "^4.15.2",
@@ -111,20 +119,21 @@
111
119
  "jsdom": "^26.1.0",
112
120
  "lucide-react": "^0.515.0",
113
121
  "prettier": "^3.5.3",
114
- "react-day-picker": "^9.7.0",
122
+ "react-day-picker": "^9.8.1",
123
+ "react-docgen-typescript": "^2.4.0",
124
+ "react-hook-form": "^7.61.1",
115
125
  "rollup-plugin-auto-external": "^2.0.0",
116
126
  "rollup-plugin-copy": "^3.5.0",
117
127
  "storybook": "^9.0.9",
118
128
  "tslib": "^2.8.1",
119
129
  "typescript": "5.8.3",
120
130
  "typescript-eslint": "^8.34.0",
121
- "unplugin-dts": "1.0.0-beta.0",
131
+ "unplugin-dts": "1.0.0-beta.3",
122
132
  "unplugin-fonts": "^1.3.1",
123
133
  "vite": "^6.3.5",
124
134
  "vitest": "^3.2.3"
125
135
  },
126
136
  "dependencies": {
127
- "@tailwindcss/forms": "^0.5.10",
128
137
  "class-variance-authority": "^0.7.1",
129
138
  "clsx": "^2.1.1",
130
139
  "tailwind-merge": "^3.3.1"
@@ -1,2 +0,0 @@
1
- "use strict";const e=require("react/jsx-runtime"),l=require("@heroicons/react/24/solid"),t=({children:s})=>e.jsx("div",{className:"rounded-md bg-yellow-50 p-4",children:e.jsxs("div",{className:"flex",children:[e.jsx("div",{className:"flex-shrink-0",children:e.jsx(l.ExclamationTriangleIcon,{className:"h-5 w-5 text-yellow-400","aria-hidden":"true"})}),e.jsxs("div",{className:"ml-3",children:[e.jsx("h3",{className:"text-sm font-medium text-yellow-800",children:"Attention"}),e.jsx("div",{className:"mt-2 text-sm text-yellow-700",children:e.jsx("div",{children:s})})]})]})});module.exports=t;
2
- //# sourceMappingURL=Alert.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Alert.cjs","sources":["../../src/elements/Alert.tsx"],"sourcesContent":["// Copyright 2024-2025 Andres Morey\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport { ExclamationTriangleIcon } from '@heroicons/react/24/solid';\nimport type { ReactNode } from 'react';\n\ntype Props = {\n children?: ReactNode;\n};\n\n/**\n * UI component for displaying alerts\n */\nconst Alert = ({ children }: Props) => (\n <div className=\"rounded-md bg-yellow-50 p-4\">\n <div className=\"flex\">\n <div className=\"flex-shrink-0\">\n <ExclamationTriangleIcon className=\"h-5 w-5 text-yellow-400\" aria-hidden=\"true\" />\n </div>\n <div className=\"ml-3\">\n <h3 className=\"text-sm font-medium text-yellow-800\">Attention</h3>\n <div className=\"mt-2 text-sm text-yellow-700\">\n <div>{children}</div>\n </div>\n </div>\n </div>\n </div>\n);\n\nexport default Alert;\n"],"names":["Alert","children","jsx","jsxs","ExclamationTriangleIcon"],"mappings":"yFAwBMA,EAAQ,CAAC,CAAE,SAAAC,CAAA,IACfC,EAAAA,IAAC,MAAA,CAAI,UAAU,8BACb,SAAAC,EAAAA,KAAC,MAAA,CAAI,UAAU,OACb,SAAA,CAAAD,EAAAA,IAAC,MAAA,CAAI,UAAU,gBACb,SAAAA,EAAAA,IAACE,2BAAwB,UAAU,0BAA0B,cAAY,MAAA,CAAO,CAAA,CAClF,EACAD,EAAAA,KAAC,MAAA,CAAI,UAAU,OACb,SAAA,CAAAD,EAAAA,IAAC,KAAA,CAAG,UAAU,sCAAsC,SAAA,YAAS,QAC5D,MAAA,CAAI,UAAU,+BACb,SAAAA,EAAAA,IAAC,MAAA,CAAK,SAAAD,EAAS,CAAA,CACjB,CAAA,CAAA,CACF,CAAA,CAAA,CACF,CAAA,CACF"}
@@ -1,9 +0,0 @@
1
- import { ReactNode } from 'react';
2
- type Props = {
3
- children?: ReactNode;
4
- };
5
- /**
6
- * UI component for displaying alerts
7
- */
8
- declare const Alert: ({ children }: Props) => import("react/jsx-runtime").JSX.Element;
9
- export default Alert;
@@ -1,13 +0,0 @@
1
- import { jsx as e, jsxs as l } from "react/jsx-runtime";
2
- import { ExclamationTriangleIcon as s } from "@heroicons/react/24/solid";
3
- const d = ({ children: t }) => /* @__PURE__ */ e("div", { className: "rounded-md bg-yellow-50 p-4", children: /* @__PURE__ */ l("div", { className: "flex", children: [
4
- /* @__PURE__ */ e("div", { className: "flex-shrink-0", children: /* @__PURE__ */ e(s, { className: "h-5 w-5 text-yellow-400", "aria-hidden": "true" }) }),
5
- /* @__PURE__ */ l("div", { className: "ml-3", children: [
6
- /* @__PURE__ */ e("h3", { className: "text-sm font-medium text-yellow-800", children: "Attention" }),
7
- /* @__PURE__ */ e("div", { className: "mt-2 text-sm text-yellow-700", children: /* @__PURE__ */ e("div", { children: t }) })
8
- ] })
9
- ] }) });
10
- export {
11
- d as default
12
- };
13
- //# sourceMappingURL=Alert.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Alert.js","sources":["../../src/elements/Alert.tsx"],"sourcesContent":["// Copyright 2024-2025 Andres Morey\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport { ExclamationTriangleIcon } from '@heroicons/react/24/solid';\nimport type { ReactNode } from 'react';\n\ntype Props = {\n children?: ReactNode;\n};\n\n/**\n * UI component for displaying alerts\n */\nconst Alert = ({ children }: Props) => (\n <div className=\"rounded-md bg-yellow-50 p-4\">\n <div className=\"flex\">\n <div className=\"flex-shrink-0\">\n <ExclamationTriangleIcon className=\"h-5 w-5 text-yellow-400\" aria-hidden=\"true\" />\n </div>\n <div className=\"ml-3\">\n <h3 className=\"text-sm font-medium text-yellow-800\">Attention</h3>\n <div className=\"mt-2 text-sm text-yellow-700\">\n <div>{children}</div>\n </div>\n </div>\n </div>\n </div>\n);\n\nexport default Alert;\n"],"names":["Alert","children","jsx","jsxs","ExclamationTriangleIcon"],"mappings":";;AAwBA,MAAMA,IAAQ,CAAC,EAAE,UAAAC,EAAA,MACf,gBAAAC,EAAC,OAAA,EAAI,WAAU,+BACb,UAAA,gBAAAC,EAAC,OAAA,EAAI,WAAU,QACb,UAAA;AAAA,EAAA,gBAAAD,EAAC,OAAA,EAAI,WAAU,iBACb,UAAA,gBAAAA,EAACE,KAAwB,WAAU,2BAA0B,eAAY,OAAA,CAAO,EAAA,CAClF;AAAA,EACA,gBAAAD,EAAC,OAAA,EAAI,WAAU,QACb,UAAA;AAAA,IAAA,gBAAAD,EAAC,MAAA,EAAG,WAAU,uCAAsC,UAAA,aAAS;AAAA,sBAC5D,OAAA,EAAI,WAAU,gCACb,UAAA,gBAAAA,EAAC,OAAA,EAAK,UAAAD,GAAS,EAAA,CACjB;AAAA,EAAA,EAAA,CACF;AAAA,EAAA,CACF,EAAA,CACF;"}
@@ -1,11 +0,0 @@
1
- import { StoryObj } from '@storybook/react-vite';
2
- declare const meta: {
3
- title: string;
4
- component: ({ children }: {
5
- children?: import('react').ReactNode;
6
- }) => import("react/jsx-runtime").JSX.Element;
7
- tags: string[];
8
- };
9
- export default meta;
10
- type Story = StoryObj<typeof meta>;
11
- export declare const Default: Story;
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const c=require("react/jsx-runtime"),g=require("@restart/ui/Button"),m=require("class-variance-authority"),l=require("react"),b=require("../lib/utils.cjs"),r=m.cva("uppercase inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",{variants:{intent:{primary:"bg-primary text-primary-foreground hover:bg-primary/90 shadow-sm",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/60 shadow-sm",danger:"bg-danger text-danger-foreground hover:bg-danger/90 shadow-sm",outline:"border border-input bg-background hover:bg-secondary hover:text-secondary-foreground",ghost:"hover:bg-secondary hover:text-secondary-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{xs:"px-2.5 py-1.5 text-xs rounded",sm:"px-3 py-2 text-xs rounded-md",md:"px-4 py-2 text-sm rounded-md",lg:"px-4 py-2 text-base rounded-md",xl:"px-6 py-3 text-base rounded-md"}},defaultVariants:{intent:"primary",size:"md"}}),t=l.forwardRef(({as:n,children:o,className:s,disabled:a,...e},i)=>{const[d,{tagName:u}]=g.useButtonProps({tagName:n,disabled:a,...e});return c.jsx(u,{...e,...d,ref:i,className:b.cn(r(e),s),children:o})});t.displayName="Button";exports.buttonVariants=r;exports.default=t;
2
- //# sourceMappingURL=Button.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Button.cjs","sources":["../../src/elements/Button.tsx"],"sourcesContent":["// Copyright 2024-2025 Andres Morey\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport { useButtonProps } from '@restart/ui/Button';\nimport type { ButtonProps } from '@restart/ui/Button';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { forwardRef } from 'react';\n\nimport { cn } from '@/lib/utils';\n\nexport type ButtonVariantProps = VariantProps<typeof buttonVariants>;\n\nexport const buttonVariants = cva(\n 'uppercase inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50',\n {\n variants: {\n intent: {\n primary: 'bg-primary text-primary-foreground hover:bg-primary/90 shadow-sm',\n secondary: 'bg-secondary text-secondary-foreground hover:bg-secondary/60 shadow-sm',\n danger: 'bg-danger text-danger-foreground hover:bg-danger/90 shadow-sm',\n outline: 'border border-input bg-background hover:bg-secondary hover:text-secondary-foreground',\n ghost: 'hover:bg-secondary hover:text-secondary-foreground',\n link: 'text-primary underline-offset-4 hover:underline',\n },\n size: {\n xs: 'px-2.5 py-1.5 text-xs rounded',\n sm: 'px-3 py-2 text-xs rounded-md',\n md: 'px-4 py-2 text-sm rounded-md',\n lg: 'px-4 py-2 text-base rounded-md',\n xl: 'px-6 py-3 text-base rounded-md',\n },\n },\n defaultVariants: {\n intent: 'primary',\n size: 'md',\n },\n },\n);\n\nconst Button = forwardRef(({ as, children, className, disabled, ...props }: ButtonProps & ButtonVariantProps, ref) => {\n const [ariaButtonProps, { tagName: Tag }] = useButtonProps({\n tagName: as,\n disabled,\n ...props,\n });\n\n return (\n <Tag {...props} {...ariaButtonProps} ref={ref} className={cn(buttonVariants(props), className)}>\n {children}\n </Tag>\n );\n});\n\nButton.displayName = 'Button';\n\nexport default Button;\n"],"names":["buttonVariants","cva","Button","forwardRef","as","children","className","disabled","props","ref","ariaButtonProps","Tag","useButtonProps","jsx","cn"],"mappings":"wQAuBaA,EAAiBC,EAAAA,IAC5B,mSACA,CACE,SAAU,CACR,OAAQ,CACN,QAAS,mEACT,UAAW,yEACX,OAAQ,gEACR,QAAS,uFACT,MAAO,qDACP,KAAM,iDAAA,EAER,KAAM,CACJ,GAAI,gCACJ,GAAI,+BACJ,GAAI,+BACJ,GAAI,iCACJ,GAAI,gCAAA,CACN,EAEF,gBAAiB,CACf,OAAQ,UACR,KAAM,IAAA,CACR,CAEJ,EAEMC,EAASC,EAAAA,WAAW,CAAC,CAAE,GAAAC,EAAI,SAAAC,EAAU,UAAAC,EAAW,SAAAC,EAAU,GAAGC,CAAA,EAA2CC,IAAQ,CACpH,KAAM,CAACC,EAAiB,CAAE,QAASC,CAAA,CAAK,EAAIC,EAAAA,eAAe,CACzD,QAASR,EACT,SAAAG,EACA,GAAGC,CAAA,CACJ,EAED,OACEK,EAAAA,IAACF,EAAA,CAAK,GAAGH,EAAQ,GAAGE,EAAiB,IAAAD,EAAU,UAAWK,EAAAA,GAAGd,EAAeQ,CAAK,EAAGF,CAAS,EAC1F,SAAAD,CAAA,CACH,CAEJ,CAAC,EAEDH,EAAO,YAAc"}
@@ -1,9 +0,0 @@
1
- import { ButtonProps } from '@restart/ui/Button';
2
- import { VariantProps } from 'class-variance-authority';
3
- export type ButtonVariantProps = VariantProps<typeof buttonVariants>;
4
- export declare const buttonVariants: (props?: ({
5
- intent?: "link" | "primary" | "secondary" | "danger" | "outline" | "ghost" | null | undefined;
6
- size?: "xs" | "sm" | "md" | "lg" | "xl" | null | undefined;
7
- } & import('class-variance-authority/types').ClassProp) | undefined) => string;
8
- declare const Button: import('react').ForwardRefExoticComponent<ButtonProps & ButtonVariantProps & import('react').RefAttributes<unknown>>;
9
- export default Button;
@@ -1,44 +0,0 @@
1
- import { jsx as i } from "react/jsx-runtime";
2
- import { useButtonProps as m } from "@restart/ui/Button";
3
- import { cva as u } from "class-variance-authority";
4
- import { forwardRef as g } from "react";
5
- import { cn as p } from "../lib/utils.js";
6
- const f = u(
7
- "uppercase inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",
8
- {
9
- variants: {
10
- intent: {
11
- primary: "bg-primary text-primary-foreground hover:bg-primary/90 shadow-sm",
12
- secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/60 shadow-sm",
13
- danger: "bg-danger text-danger-foreground hover:bg-danger/90 shadow-sm",
14
- outline: "border border-input bg-background hover:bg-secondary hover:text-secondary-foreground",
15
- ghost: "hover:bg-secondary hover:text-secondary-foreground",
16
- link: "text-primary underline-offset-4 hover:underline"
17
- },
18
- size: {
19
- xs: "px-2.5 py-1.5 text-xs rounded",
20
- sm: "px-3 py-2 text-xs rounded-md",
21
- md: "px-4 py-2 text-sm rounded-md",
22
- lg: "px-4 py-2 text-base rounded-md",
23
- xl: "px-6 py-3 text-base rounded-md"
24
- }
25
- },
26
- defaultVariants: {
27
- intent: "primary",
28
- size: "md"
29
- }
30
- }
31
- ), c = g(({ as: r, children: o, className: t, disabled: n, ...e }, s) => {
32
- const [a, { tagName: d }] = m({
33
- tagName: r,
34
- disabled: n,
35
- ...e
36
- });
37
- return /* @__PURE__ */ i(d, { ...e, ...a, ref: s, className: p(f(e), t), children: o });
38
- });
39
- c.displayName = "Button";
40
- export {
41
- f as buttonVariants,
42
- c as default
43
- };
44
- //# sourceMappingURL=Button.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Button.js","sources":["../../src/elements/Button.tsx"],"sourcesContent":["// Copyright 2024-2025 Andres Morey\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport { useButtonProps } from '@restart/ui/Button';\nimport type { ButtonProps } from '@restart/ui/Button';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { forwardRef } from 'react';\n\nimport { cn } from '@/lib/utils';\n\nexport type ButtonVariantProps = VariantProps<typeof buttonVariants>;\n\nexport const buttonVariants = cva(\n 'uppercase inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50',\n {\n variants: {\n intent: {\n primary: 'bg-primary text-primary-foreground hover:bg-primary/90 shadow-sm',\n secondary: 'bg-secondary text-secondary-foreground hover:bg-secondary/60 shadow-sm',\n danger: 'bg-danger text-danger-foreground hover:bg-danger/90 shadow-sm',\n outline: 'border border-input bg-background hover:bg-secondary hover:text-secondary-foreground',\n ghost: 'hover:bg-secondary hover:text-secondary-foreground',\n link: 'text-primary underline-offset-4 hover:underline',\n },\n size: {\n xs: 'px-2.5 py-1.5 text-xs rounded',\n sm: 'px-3 py-2 text-xs rounded-md',\n md: 'px-4 py-2 text-sm rounded-md',\n lg: 'px-4 py-2 text-base rounded-md',\n xl: 'px-6 py-3 text-base rounded-md',\n },\n },\n defaultVariants: {\n intent: 'primary',\n size: 'md',\n },\n },\n);\n\nconst Button = forwardRef(({ as, children, className, disabled, ...props }: ButtonProps & ButtonVariantProps, ref) => {\n const [ariaButtonProps, { tagName: Tag }] = useButtonProps({\n tagName: as,\n disabled,\n ...props,\n });\n\n return (\n <Tag {...props} {...ariaButtonProps} ref={ref} className={cn(buttonVariants(props), className)}>\n {children}\n </Tag>\n );\n});\n\nButton.displayName = 'Button';\n\nexport default Button;\n"],"names":["buttonVariants","cva","Button","forwardRef","as","children","className","disabled","props","ref","ariaButtonProps","Tag","useButtonProps","jsx","cn"],"mappings":";;;;;AAuBO,MAAMA,IAAiBC;AAAA,EAC5B;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,QAAQ;AAAA,QACN,SAAS;AAAA,QACT,WAAW;AAAA,QACX,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,OAAO;AAAA,QACP,MAAM;AAAA,MAAA;AAAA,MAER,MAAM;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,MAAA;AAAA,IACN;AAAA,IAEF,iBAAiB;AAAA,MACf,QAAQ;AAAA,MACR,MAAM;AAAA,IAAA;AAAA,EACR;AAEJ,GAEMC,IAASC,EAAW,CAAC,EAAE,IAAAC,GAAI,UAAAC,GAAU,WAAAC,GAAW,UAAAC,GAAU,GAAGC,EAAA,GAA2CC,MAAQ;AACpH,QAAM,CAACC,GAAiB,EAAE,SAASC,EAAA,CAAK,IAAIC,EAAe;AAAA,IACzD,SAASR;AAAA,IACT,UAAAG;AAAA,IACA,GAAGC;AAAA,EAAA,CACJ;AAED,SACE,gBAAAK,EAACF,GAAA,EAAK,GAAGH,GAAQ,GAAGE,GAAiB,KAAAD,GAAU,WAAWK,EAAGd,EAAeQ,CAAK,GAAGF,CAAS,GAC1F,UAAAD,EAAA,CACH;AAEJ,CAAC;AAEDH,EAAO,cAAc;"}
@@ -1,15 +0,0 @@
1
- import { StoryObj } from '@storybook/react-vite';
2
- import { ButtonVariantProps } from './Button';
3
- declare const meta: {
4
- title: string;
5
- tags: string[];
6
- component: import('react').ForwardRefExoticComponent<import('@restart/ui/Button').ButtonProps & ButtonVariantProps & import('react').RefAttributes<unknown>>;
7
- };
8
- export default meta;
9
- type Story = StoryObj<typeof meta>;
10
- export declare const Primary: Story;
11
- export declare const Secondary: Story;
12
- export declare const Danger: Story;
13
- export declare const Outline: Story;
14
- export declare const Ghost: Story;
15
- export declare const Link: Story;
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),r=require("react-day-picker"),u=require("../lib/utils.cjs");function c({className:t,showOutsideDays:o=!0,...a}){const e=r.getDefaultClassNames();return n.jsx(r.DayPicker,{mode:"single",showOutsideDays:o,classNames:{today:"bg-accent text-accent-foreground",selected:"bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground",root:u.cn(e.root,t),chevron:`${e.chevron} fill-amber-500`,weekday:"text-muted-foreground font-normal text-sm",day_selected:"bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground",day_today:"bg-accent text-accent-foreground",outside:"text-muted-foreground"},...a})}exports.Calendar=c;
2
- //# sourceMappingURL=Calendar.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Calendar.cjs","sources":["../../src/elements/Calendar.tsx"],"sourcesContent":["import { DayPicker, getDefaultClassNames } from 'react-day-picker';\n\nimport { cn } from '@/lib/utils';\n\nexport type CalendarProps = React.ComponentProps<typeof DayPicker>;\n\nexport function Calendar({ className, showOutsideDays = true, ...props }: CalendarProps) {\n const defaultClassNames = getDefaultClassNames();\n return (\n <DayPicker\n mode=\"single\"\n showOutsideDays={showOutsideDays}\n classNames={{\n today: 'bg-accent text-accent-foreground',\n selected:\n 'bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground',\n root: cn(defaultClassNames.root, className),\n chevron: `${defaultClassNames.chevron} fill-amber-500`,\n weekday: 'text-muted-foreground font-normal text-sm',\n day_selected:\n 'bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground',\n day_today: 'bg-accent text-accent-foreground',\n outside: 'text-muted-foreground',\n }}\n {...props}\n />\n );\n}\n"],"names":["Calendar","className","showOutsideDays","props","defaultClassNames","getDefaultClassNames","jsx","DayPicker","cn"],"mappings":"iLAMO,SAASA,EAAS,CAAE,UAAAC,EAAW,gBAAAC,EAAkB,GAAM,GAAGC,GAAwB,CACvF,MAAMC,EAAoBC,EAAAA,qBAAA,EAC1B,OACEC,EAAAA,IAACC,EAAAA,UAAA,CACC,KAAK,SACL,gBAAAL,EACA,WAAY,CACV,MAAO,mCACP,SACE,mIACF,KAAMM,EAAAA,GAAGJ,EAAkB,KAAMH,CAAS,EAC1C,QAAS,GAAGG,EAAkB,OAAO,kBACrC,QAAS,4CACT,aACE,mIACF,UAAW,mCACX,QAAS,uBAAA,EAEV,GAAGD,CAAA,CAAA,CAGV"}
@@ -1,3 +0,0 @@
1
- import { DayPicker } from 'react-day-picker';
2
- export type CalendarProps = React.ComponentProps<typeof DayPicker>;
3
- export declare function Calendar({ className, showOutsideDays, ...props }: CalendarProps): import("react/jsx-runtime").JSX.Element;
@@ -1 +0,0 @@
1
- {"version":3,"file":"Calendar.js","sources":["../../src/elements/Calendar.tsx"],"sourcesContent":["import { DayPicker, getDefaultClassNames } from 'react-day-picker';\n\nimport { cn } from '@/lib/utils';\n\nexport type CalendarProps = React.ComponentProps<typeof DayPicker>;\n\nexport function Calendar({ className, showOutsideDays = true, ...props }: CalendarProps) {\n const defaultClassNames = getDefaultClassNames();\n return (\n <DayPicker\n mode=\"single\"\n showOutsideDays={showOutsideDays}\n classNames={{\n today: 'bg-accent text-accent-foreground',\n selected:\n 'bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground',\n root: cn(defaultClassNames.root, className),\n chevron: `${defaultClassNames.chevron} fill-amber-500`,\n weekday: 'text-muted-foreground font-normal text-sm',\n day_selected:\n 'bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground',\n day_today: 'bg-accent text-accent-foreground',\n outside: 'text-muted-foreground',\n }}\n {...props}\n />\n );\n}\n"],"names":["Calendar","className","showOutsideDays","props","defaultClassNames","getDefaultClassNames","jsx","DayPicker","cn"],"mappings":";;;AAMO,SAASA,EAAS,EAAE,WAAAC,GAAW,iBAAAC,IAAkB,IAAM,GAAGC,KAAwB;AACvF,QAAMC,IAAoBC,EAAA;AAC1B,SACE,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,iBAAAL;AAAA,MACA,YAAY;AAAA,QACV,OAAO;AAAA,QACP,UACE;AAAA,QACF,MAAMM,EAAGJ,EAAkB,MAAMH,CAAS;AAAA,QAC1C,SAAS,GAAGG,EAAkB,OAAO;AAAA,QACrC,SAAS;AAAA,QACT,cACE;AAAA,QACF,WAAW;AAAA,QACX,SAAS;AAAA,MAAA;AAAA,MAEV,GAAGD;AAAA,IAAA;AAAA,EAAA;AAGV;"}
@@ -1,10 +0,0 @@
1
- import { StoryObj } from '@storybook/react-vite';
2
- import { Calendar } from './Calendar';
3
- declare const meta: {
4
- title: string;
5
- tags: string[];
6
- component: typeof Calendar;
7
- };
8
- export default meta;
9
- type Story = StoryObj<typeof meta>;
10
- export declare const Default: Story;
@@ -1,2 +0,0 @@
1
- "use strict";const c=require("react/jsx-runtime"),t=require("../lib/utils.cjs"),x="container mx-auto sm:max-w-screen-sm md:max-w-screen-md lg:max-w-screen-lg xl:max-w-screen-xl 2xl:max-w-screen-2xl px-4",a=({as:e="div",children:s,className:n})=>{const r=e;return c.jsx(r,{className:t.cn(x,n),children:s})};module.exports=a;
2
- //# sourceMappingURL=Container.cjs.map