@giddaa-housing/ui 0.1.0 → 1.1.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 (315) hide show
  1. package/README.md +18 -6
  2. package/css/base.css +37 -0
  3. package/css/components.css +135 -0
  4. package/css/generated/shared.css +1 -0
  5. package/css/giddaa.css +402 -0
  6. package/css/preset.css +77 -0
  7. package/css/styles.css +2 -0
  8. package/css/theme.css +255 -0
  9. package/dist/accordion.d.ts +9 -10
  10. package/dist/accordion.js +41 -117
  11. package/dist/activity-timeline.d.ts +29 -0
  12. package/dist/activity-timeline.js +97 -0
  13. package/dist/alert.d.ts +8 -9
  14. package/dist/alert.js +53 -141
  15. package/dist/auth-layout.d.ts +23 -0
  16. package/dist/auth-layout.js +153 -0
  17. package/dist/avatar.d.ts +6 -6
  18. package/dist/avatar.js +40 -142
  19. package/dist/badge.d.ts +12 -13
  20. package/dist/badge.js +66 -114
  21. package/dist/bar-chart.d.ts +136 -114
  22. package/dist/bar-chart.js +244 -297
  23. package/dist/breadcrumb.d.ts +5 -5
  24. package/dist/breadcrumb.js +56 -148
  25. package/dist/bullet-chart.d.ts +33 -33
  26. package/dist/bullet-chart.js +123 -183
  27. package/dist/button-BZIeyUw6.d.ts +17 -0
  28. package/dist/button-group.d.ts +13 -16
  29. package/dist/button-group.js +38 -163
  30. package/dist/button.d.ts +2 -19
  31. package/dist/button.js +90 -142
  32. package/dist/calendar.d.ts +6 -6
  33. package/dist/calendar.js +134 -288
  34. package/dist/card.d.ts +14 -16
  35. package/dist/card.js +58 -174
  36. package/dist/carousel.d.ts +34 -35
  37. package/dist/carousel.js +319 -378
  38. package/dist/chart.d.ts +58 -59
  39. package/dist/chart.js +350 -466
  40. package/dist/checkbox.d.ts +10 -12
  41. package/dist/checkbox.js +84 -84
  42. package/dist/cn-BI_4DMBf.js +23 -0
  43. package/dist/collapsible.d.ts +7 -8
  44. package/dist/collapsible.js +23 -77
  45. package/dist/combobox.d.ts +10 -10
  46. package/dist/combobox.js +220 -696
  47. package/dist/cta.d.ts +64 -0
  48. package/dist/cta.js +192 -0
  49. package/dist/currency-selector.d.ts +41 -0
  50. package/dist/currency-selector.js +114 -0
  51. package/dist/data-table.d.ts +164 -0
  52. package/dist/data-table.js +673 -0
  53. package/dist/date-picker.d.ts +27 -20
  54. package/dist/date-picker.js +122 -520
  55. package/dist/details-card.d.ts +19 -0
  56. package/dist/details-card.js +118 -0
  57. package/dist/dialog.d.ts +13 -14
  58. package/dist/dialog.js +117 -320
  59. package/dist/dropdown-menu.d.ts +14 -14
  60. package/dist/dropdown-menu.js +170 -365
  61. package/dist/dropzone.d.ts +55 -55
  62. package/dist/dropzone.js +328 -467
  63. package/dist/editorial-card.d.ts +27 -0
  64. package/dist/editorial-card.js +144 -0
  65. package/dist/empty-state.d.ts +8 -9
  66. package/dist/empty-state.js +48 -135
  67. package/dist/field.d.ts +23 -25
  68. package/dist/field.js +111 -327
  69. package/dist/filter.d.ts +118 -0
  70. package/dist/filter.js +775 -0
  71. package/dist/footer.d.ts +40 -0
  72. package/dist/footer.js +227 -0
  73. package/dist/funnel-chart.d.ts +38 -41
  74. package/dist/funnel-chart.js +168 -563
  75. package/dist/gallery-indicator.d.ts +17 -0
  76. package/dist/gallery-indicator.js +75 -0
  77. package/dist/heatmap-chart.d.ts +95 -0
  78. package/dist/heatmap-chart.js +197 -0
  79. package/dist/infotip.d.ts +10 -0
  80. package/dist/infotip.js +40 -0
  81. package/dist/input-CfoEJ8A6.d.ts +12 -0
  82. package/dist/input-group.d.ts +16 -19
  83. package/dist/input-group.js +92 -372
  84. package/dist/input-size-context-C-SFx9sx.d.ts +10 -0
  85. package/dist/input-size-context.d.ts +2 -11
  86. package/dist/input-size-context.js +14 -20
  87. package/dist/input.d.ts +2 -13
  88. package/dist/input.js +23 -79
  89. package/dist/item.d.ts +7 -8
  90. package/dist/item.js +22 -89
  91. package/dist/kpi-card.d.ts +18 -20
  92. package/dist/kpi-card.js +84 -232
  93. package/dist/label.d.ts +6 -6
  94. package/dist/label.js +39 -66
  95. package/dist/line-chart.d.ts +88 -89
  96. package/dist/line-chart.js +143 -262
  97. package/dist/logo.d.ts +4 -4
  98. package/dist/logo.js +87 -141
  99. package/dist/map-indicator.d.ts +13 -0
  100. package/dist/map-indicator.js +83 -0
  101. package/dist/match.d.ts +15 -0
  102. package/dist/match.js +68 -0
  103. package/dist/media-gallery-hero.d.ts +58 -0
  104. package/dist/media-gallery-hero.js +201 -0
  105. package/dist/media-player.d.ts +60 -0
  106. package/dist/media-player.js +919 -0
  107. package/dist/multi-step-form.d.ts +56 -0
  108. package/dist/multi-step-form.js +342 -0
  109. package/dist/number-input.d.ts +34 -34
  110. package/dist/number-input.js +62 -413
  111. package/dist/page-header.d.ts +10 -11
  112. package/dist/page-header.js +34 -107
  113. package/dist/pagination.d.ts +17 -20
  114. package/dist/pagination.js +132 -341
  115. package/dist/password-input.d.ts +5 -12
  116. package/dist/password-input.js +32 -354
  117. package/dist/phone-input.d.ts +19 -19
  118. package/dist/phone-input.js +232 -561
  119. package/dist/photo-gallery.d.ts +20 -20
  120. package/dist/photo-gallery.js +314 -746
  121. package/dist/picker-lzgmsNfG.js +32 -0
  122. package/dist/pie-chart.d.ts +60 -60
  123. package/dist/pie-chart.js +141 -184
  124. package/dist/popover.d.ts +9 -9
  125. package/dist/popover.js +60 -156
  126. package/dist/price-tag.d.ts +34 -0
  127. package/dist/price-tag.js +118 -0
  128. package/dist/progress.d.ts +18 -16
  129. package/dist/progress.js +156 -300
  130. package/dist/property-listing-card.d.ts +29 -0
  131. package/dist/property-listing-card.js +117 -0
  132. package/dist/radar-chart.d.ts +108 -0
  133. package/dist/radar-chart.js +172 -0
  134. package/dist/radio-group.d.ts +11 -13
  135. package/dist/radio-group.js +47 -96
  136. package/dist/review-block.d.ts +18 -0
  137. package/dist/review-block.js +154 -0
  138. package/dist/rich-text-editor.d.ts +30 -14
  139. package/dist/rich-text-editor.js +594 -979
  140. package/dist/scatter-chart.d.ts +140 -0
  141. package/dist/scatter-chart.js +248 -0
  142. package/dist/search-input.d.ts +8 -15
  143. package/dist/search-input.js +58 -408
  144. package/dist/select.d.ts +8 -8
  145. package/dist/select.js +131 -291
  146. package/dist/separator.d.ts +8 -9
  147. package/dist/separator.js +31 -70
  148. package/dist/sheet.d.ts +11 -11
  149. package/dist/sheet.js +84 -262
  150. package/dist/sidebar.d.ts +32 -37
  151. package/dist/sidebar.js +380 -1055
  152. package/dist/size-context-D4mYvcg8.d.ts +10 -0
  153. package/dist/size-context.d.ts +2 -11
  154. package/dist/size-context.js +14 -18
  155. package/dist/skeleton.d.ts +4 -5
  156. package/dist/skeleton.js +9 -45
  157. package/dist/slider.d.ts +27 -0
  158. package/dist/slider.js +81 -0
  159. package/dist/sparkline.d.ts +43 -46
  160. package/dist/sparkline.js +223 -561
  161. package/dist/stepper.d.ts +23 -24
  162. package/dist/stepper.js +149 -276
  163. package/dist/styles.css +9995 -2
  164. package/dist/switch.d.ts +10 -12
  165. package/dist/switch.js +49 -106
  166. package/dist/table-card.d.ts +35 -0
  167. package/dist/table-card.js +125 -0
  168. package/dist/table.d.ts +18 -14
  169. package/dist/table.js +114 -182
  170. package/dist/tabs.d.ts +23 -15
  171. package/dist/tabs.js +62 -149
  172. package/dist/tag.d.ts +22 -23
  173. package/dist/tag.js +104 -156
  174. package/dist/testimonial-block.d.ts +33 -0
  175. package/dist/testimonial-block.js +208 -0
  176. package/dist/textarea-IS_D8pXf.d.ts +11 -0
  177. package/dist/textarea.d.ts +2 -12
  178. package/dist/textarea.js +20 -74
  179. package/dist/time-picker.d.ts +11 -11
  180. package/dist/time-picker.js +247 -464
  181. package/dist/toast.d.ts +16 -18
  182. package/dist/toast.js +154 -310
  183. package/dist/tooltip.d.ts +9 -10
  184. package/dist/tooltip.js +33 -91
  185. package/dist/tree-map.d.ts +54 -57
  186. package/dist/tree-map.js +231 -646
  187. package/dist/use-uncontrolled-CLfM1XbB.js +21 -0
  188. package/dist/waterfall-chart.d.ts +126 -0
  189. package/dist/waterfall-chart.js +480 -0
  190. package/package.json +123 -34
  191. package/dist/accordion.js.map +0 -1
  192. package/dist/alert.js.map +0 -1
  193. package/dist/avatar.js.map +0 -1
  194. package/dist/badge.js.map +0 -1
  195. package/dist/bar-chart.js.map +0 -1
  196. package/dist/base.css +0 -32
  197. package/dist/breadcrumb.js.map +0 -1
  198. package/dist/bullet-chart.js.map +0 -1
  199. package/dist/button-group.js.map +0 -1
  200. package/dist/button.js.map +0 -1
  201. package/dist/calendar.js.map +0 -1
  202. package/dist/card.js.map +0 -1
  203. package/dist/carousel.js.map +0 -1
  204. package/dist/chart.js.map +0 -1
  205. package/dist/checkbox.js.map +0 -1
  206. package/dist/collapsible.js.map +0 -1
  207. package/dist/combobox.js.map +0 -1
  208. package/dist/date-picker.js.map +0 -1
  209. package/dist/dialog.js.map +0 -1
  210. package/dist/dropdown-menu.js.map +0 -1
  211. package/dist/dropzone.js.map +0 -1
  212. package/dist/empty-state.js.map +0 -1
  213. package/dist/field.js.map +0 -1
  214. package/dist/files/red-hat-display-latin-300-italic.woff +0 -0
  215. package/dist/files/red-hat-display-latin-300-italic.woff2 +0 -0
  216. package/dist/files/red-hat-display-latin-300-normal.woff +0 -0
  217. package/dist/files/red-hat-display-latin-300-normal.woff2 +0 -0
  218. package/dist/files/red-hat-display-latin-400-italic.woff +0 -0
  219. package/dist/files/red-hat-display-latin-400-italic.woff2 +0 -0
  220. package/dist/files/red-hat-display-latin-400-normal.woff +0 -0
  221. package/dist/files/red-hat-display-latin-400-normal.woff2 +0 -0
  222. package/dist/files/red-hat-display-latin-500-italic.woff +0 -0
  223. package/dist/files/red-hat-display-latin-500-italic.woff2 +0 -0
  224. package/dist/files/red-hat-display-latin-500-normal.woff +0 -0
  225. package/dist/files/red-hat-display-latin-500-normal.woff2 +0 -0
  226. package/dist/files/red-hat-display-latin-600-italic.woff +0 -0
  227. package/dist/files/red-hat-display-latin-600-italic.woff2 +0 -0
  228. package/dist/files/red-hat-display-latin-600-normal.woff +0 -0
  229. package/dist/files/red-hat-display-latin-600-normal.woff2 +0 -0
  230. package/dist/files/red-hat-display-latin-700-italic.woff +0 -0
  231. package/dist/files/red-hat-display-latin-700-italic.woff2 +0 -0
  232. package/dist/files/red-hat-display-latin-700-normal.woff +0 -0
  233. package/dist/files/red-hat-display-latin-700-normal.woff2 +0 -0
  234. package/dist/files/red-hat-display-latin-800-italic.woff +0 -0
  235. package/dist/files/red-hat-display-latin-800-italic.woff2 +0 -0
  236. package/dist/files/red-hat-display-latin-800-normal.woff +0 -0
  237. package/dist/files/red-hat-display-latin-800-normal.woff2 +0 -0
  238. package/dist/files/red-hat-display-latin-900-italic.woff +0 -0
  239. package/dist/files/red-hat-display-latin-900-italic.woff2 +0 -0
  240. package/dist/files/red-hat-display-latin-900-normal.woff +0 -0
  241. package/dist/files/red-hat-display-latin-900-normal.woff2 +0 -0
  242. package/dist/files/red-hat-display-latin-ext-300-italic.woff +0 -0
  243. package/dist/files/red-hat-display-latin-ext-300-italic.woff2 +0 -0
  244. package/dist/files/red-hat-display-latin-ext-300-normal.woff +0 -0
  245. package/dist/files/red-hat-display-latin-ext-300-normal.woff2 +0 -0
  246. package/dist/files/red-hat-display-latin-ext-400-italic.woff +0 -0
  247. package/dist/files/red-hat-display-latin-ext-400-italic.woff2 +0 -0
  248. package/dist/files/red-hat-display-latin-ext-400-normal.woff +0 -0
  249. package/dist/files/red-hat-display-latin-ext-400-normal.woff2 +0 -0
  250. package/dist/files/red-hat-display-latin-ext-500-italic.woff +0 -0
  251. package/dist/files/red-hat-display-latin-ext-500-italic.woff2 +0 -0
  252. package/dist/files/red-hat-display-latin-ext-500-normal.woff +0 -0
  253. package/dist/files/red-hat-display-latin-ext-500-normal.woff2 +0 -0
  254. package/dist/files/red-hat-display-latin-ext-600-italic.woff +0 -0
  255. package/dist/files/red-hat-display-latin-ext-600-italic.woff2 +0 -0
  256. package/dist/files/red-hat-display-latin-ext-600-normal.woff +0 -0
  257. package/dist/files/red-hat-display-latin-ext-600-normal.woff2 +0 -0
  258. package/dist/files/red-hat-display-latin-ext-700-italic.woff +0 -0
  259. package/dist/files/red-hat-display-latin-ext-700-italic.woff2 +0 -0
  260. package/dist/files/red-hat-display-latin-ext-700-normal.woff +0 -0
  261. package/dist/files/red-hat-display-latin-ext-700-normal.woff2 +0 -0
  262. package/dist/files/red-hat-display-latin-ext-800-italic.woff +0 -0
  263. package/dist/files/red-hat-display-latin-ext-800-italic.woff2 +0 -0
  264. package/dist/files/red-hat-display-latin-ext-800-normal.woff +0 -0
  265. package/dist/files/red-hat-display-latin-ext-800-normal.woff2 +0 -0
  266. package/dist/files/red-hat-display-latin-ext-900-italic.woff +0 -0
  267. package/dist/files/red-hat-display-latin-ext-900-italic.woff2 +0 -0
  268. package/dist/files/red-hat-display-latin-ext-900-normal.woff +0 -0
  269. package/dist/files/red-hat-display-latin-ext-900-normal.woff2 +0 -0
  270. package/dist/funnel-chart.js.map +0 -1
  271. package/dist/index.d.ts +0 -87
  272. package/dist/index.js +0 -10448
  273. package/dist/index.js.map +0 -1
  274. package/dist/input-group.js.map +0 -1
  275. package/dist/input-size-context.js.map +0 -1
  276. package/dist/input.js.map +0 -1
  277. package/dist/item.js.map +0 -1
  278. package/dist/kpi-card.js.map +0 -1
  279. package/dist/label.js.map +0 -1
  280. package/dist/line-chart.js.map +0 -1
  281. package/dist/logo.js.map +0 -1
  282. package/dist/number-input.js.map +0 -1
  283. package/dist/page-header.js.map +0 -1
  284. package/dist/pagination.js.map +0 -1
  285. package/dist/password-input.js.map +0 -1
  286. package/dist/phone-input.js.map +0 -1
  287. package/dist/photo-gallery.js.map +0 -1
  288. package/dist/pie-chart.js.map +0 -1
  289. package/dist/popover.js.map +0 -1
  290. package/dist/progress.js.map +0 -1
  291. package/dist/radio-group.js.map +0 -1
  292. package/dist/red-hat-display.css +0 -2
  293. package/dist/rich-text-editor.js.map +0 -1
  294. package/dist/search-input.js.map +0 -1
  295. package/dist/select.js.map +0 -1
  296. package/dist/separator.js.map +0 -1
  297. package/dist/sheet.js.map +0 -1
  298. package/dist/sidebar.js.map +0 -1
  299. package/dist/size-context.js.map +0 -1
  300. package/dist/skeleton.js.map +0 -1
  301. package/dist/sparkline.js.map +0 -1
  302. package/dist/stepper.js.map +0 -1
  303. package/dist/switch.js.map +0 -1
  304. package/dist/tab-list.d.ts +0 -38
  305. package/dist/tab-list.js +0 -394
  306. package/dist/tab-list.js.map +0 -1
  307. package/dist/table.js.map +0 -1
  308. package/dist/tabs.js.map +0 -1
  309. package/dist/tag.js.map +0 -1
  310. package/dist/textarea.js.map +0 -1
  311. package/dist/theme/giddaa.css +0 -2
  312. package/dist/time-picker.js.map +0 -1
  313. package/dist/toast.js.map +0 -1
  314. package/dist/tooltip.js.map +0 -1
  315. package/dist/tree-map.js.map +0 -1
package/dist/table.js CHANGED
@@ -1,197 +1,129 @@
1
- // src/lib/cn.ts
2
- import { clsx } from "clsx";
3
- import { extendTailwindMerge } from "tailwind-merge";
4
- var twMerge = extendTailwindMerge({
5
- extend: {
6
- classGroups: {
7
- "font-size": [
8
- {
9
- text: [
10
- "gdt-display",
11
- "gdt-h1",
12
- "gdt-h2",
13
- "gdt-h3",
14
- "gdt-h4",
15
- "gdt-h5",
16
- "gdt-xl",
17
- "gdt-lg",
18
- "gdt-md",
19
- "gdt-sm",
20
- "gdt-xs",
21
- "gdt-subtext",
22
- "gdt-capitalized"
23
- ]
24
- }
25
- ]
26
- }
27
- }
28
- });
29
- function cn(...inputs) {
30
- return twMerge(clsx(inputs));
31
- }
32
-
33
- // src/components/ui/table.tsx
1
+ "use client";
2
+ import { t as cn } from "./cn-BI_4DMBf.js";
34
3
  import { jsx } from "react/jsx-runtime";
35
- function Table({
36
- className,
37
- containerClassName,
38
- ...props
39
- }) {
40
- return /* @__PURE__ */ jsx(
41
- "div",
42
- {
43
- "data-slot": "table-container",
44
- className: cn(
45
- "relative w-full overflow-x-auto rounded-xl border border-line bg-surface-overlay",
46
- containerClassName
47
- ),
48
- children: /* @__PURE__ */ jsx(
49
- "table",
50
- {
51
- "data-slot": "table",
52
- className: cn("min-w-full caption-bottom", className),
53
- ...props
54
- }
55
- )
56
- }
57
- );
4
+ //#region src/table.tsx
5
+ /**
6
+ * Outer card wrapper.
7
+ *
8
+ * Tokens: bg-canvas (container fill), border-line-subtle (container border).
9
+ * Pass `containerClassName` to override scroll, sizing, or rounding for
10
+ * individual call-sites (e.g. the data-table's max-height + rounded-[20px]).
11
+ */
12
+ function Table({ className, containerClassName, ...props }) {
13
+ return /* @__PURE__ */ jsx("div", {
14
+ "data-slot": "table-container",
15
+ className: cn("relative w-full overflow-x-auto rounded-2xl border border-line-subtle bg-canvas", containerClassName),
16
+ children: /* @__PURE__ */ jsx("table", {
17
+ "data-slot": "table",
18
+ className: cn("min-w-full caption-bottom", className),
19
+ ...props
20
+ })
21
+ });
58
22
  }
59
- function TableHeader({
60
- className,
61
- sticky = false,
62
- ...props
63
- }) {
64
- return /* @__PURE__ */ jsx(
65
- "thead",
66
- {
67
- "data-slot": "table-header",
68
- className: cn(
69
- "bg-surface-raised",
70
- sticky && "sticky top-0 z-2 shadow-(--elevation-e2-shadow)",
71
- className
72
- ),
73
- ...props
74
- }
75
- );
23
+ /**
24
+ * Header band (thead).
25
+ *
26
+ * Token: bg-surface-raised (header fill).
27
+ * Add `sticky` to pin the header and show Shadow-2 elevation while scrolled.
28
+ */
29
+ function TableHeader({ className, sticky = false, ...props }) {
30
+ return /* @__PURE__ */ jsx("thead", {
31
+ "data-slot": "table-header",
32
+ className: cn("bg-surface-raised", sticky && "sticky top-0 z-2 shadow-(--elevation-e2-shadow)", className),
33
+ ...props
34
+ });
76
35
  }
77
36
  function TableBody({ className, ...props }) {
78
- return /* @__PURE__ */ jsx(
79
- "tbody",
80
- {
81
- "data-slot": "table-body",
82
- className: cn("[&_tr:last-child]:border-0", className),
83
- ...props
84
- }
85
- );
37
+ return /* @__PURE__ */ jsx("tbody", {
38
+ "data-slot": "table-body",
39
+ className: cn("[&_tr:last-child]:border-0", className),
40
+ ...props
41
+ });
86
42
  }
43
+ /**
44
+ * Footer band (tfoot).
45
+ *
46
+ * Shares the same raised surface as the header.
47
+ */
87
48
  function TableFooter({ className, ...props }) {
88
- return /* @__PURE__ */ jsx(
89
- "tfoot",
90
- {
91
- "data-slot": "table-footer",
92
- className: cn(
93
- "border-t border-line bg-surface-raised font-medium [&>tr]:last:border-b-0",
94
- className
95
- ),
96
- ...props
97
- }
98
- );
49
+ return /* @__PURE__ */ jsx("tfoot", {
50
+ "data-slot": "table-footer",
51
+ className: cn("border-t border-line bg-surface-raised font-medium [&>tr]:last:border-b-0", className),
52
+ ...props
53
+ });
99
54
  }
55
+ /**
56
+ * Table row (tr).
57
+ *
58
+ * Token: border-line-subtle (row divider). The last body row has no border
59
+ * via the [&_tr:last-child]:border-0 rule on TableBody.
60
+ */
100
61
  function TableRow({ className, ...props }) {
101
- return /* @__PURE__ */ jsx(
102
- "tr",
103
- {
104
- "data-slot": "table-row",
105
- className: cn(
106
- "group border-b border-line-subtle transition-colors",
107
- "hover:bg-surface has-aria-expanded:bg-surface",
108
- "data-[state=selected]:bg-surface-brand-subtle",
109
- className
110
- ),
111
- ...props
112
- }
113
- );
62
+ return /* @__PURE__ */ jsx("tr", {
63
+ "data-slot": "table-row",
64
+ className: cn("group border-b border-line-subtle bg-canvas transition-[background-color,filter]", "hover:bg-surface active:bg-surface-raised has-aria-expanded:bg-surface", "data-[state=selected]:bg-surface-brand-subtle data-[state=selected]:hover:bg-surface-brand-subtle data-[state=selected]:hover:brightness-95 data-[state=selected]:active:brightness-90", className),
65
+ ...props
66
+ });
114
67
  }
115
- function TableHead({ className, ...props }) {
116
- return /* @__PURE__ */ jsx(
117
- "th",
118
- {
119
- "data-slot": "table-head",
120
- className: cn(
121
- "h-11 px-5 py-3.5 text-left align-middle bg-surface-raised",
122
- "text-gdt-capitalized font-bold uppercase tracking-wide text-fg-secondary",
123
- "whitespace-nowrap has-[[role=checkbox]]:pr-0",
124
- className
125
- ),
126
- ...props
127
- }
128
- );
68
+ /**
69
+ * Header cell (th).
70
+ *
71
+ * Tokens: bg-surface-raised (always applied so sticky/pinned th cells correctly
72
+ * cover scrolling content), text-fg-secondary, text-gdt-sm semibold for the
73
+ * table header style in Figma.
74
+ */
75
+ function TableHead({ className, pinnedSide, ...props }) {
76
+ return /* @__PURE__ */ jsx("th", {
77
+ "data-slot": "table-head",
78
+ className: cn("h-14 px-6 py-4 text-left align-middle bg-surface-raised", "text-gdt-sm font-semibold text-fg-secondary", "whitespace-nowrap has-[[role=checkbox]]:pr-0", pinnedSide === "left" && "border-r-2 border-line", pinnedSide === "right" && "border-l-2 border-line", className),
79
+ ...props
80
+ });
129
81
  }
130
- function TableCell({
131
- className,
132
- pinned = false,
133
- ...props
134
- }) {
135
- return /* @__PURE__ */ jsx(
136
- "td",
137
- {
138
- "data-slot": "table-cell",
139
- className: cn(
140
- "px-5 py-3.5 align-middle text-gdt-sm text-fg-primary",
141
- "whitespace-nowrap",
142
- pinned && "bg-surface-raised group-hover:bg-surface group-data-[state=selected]:bg-surface-brand-subtle",
143
- className
144
- ),
145
- ...props
146
- }
147
- );
82
+ /**
83
+ * Standard body cell (td).
84
+ *
85
+ * Token: text-fg-primary (body cell text), text-gdt-sm.
86
+ * Pass `pinned` when the column is sticky. Pinned cells get an opaque
87
+ * bg-canvas cover so scrolling content doesn't bleed through. Pass
88
+ * `pinnedSide` to draw the 2px sticky-column divider from the Figma spec.
89
+ * Non-pinned cells are left transparent so the parent row's surface shows through.
90
+ */
91
+ function TableCell({ className, pinned = false, pinnedSide, ...props }) {
92
+ return /* @__PURE__ */ jsx("td", {
93
+ "data-slot": "table-cell",
94
+ className: cn("h-14 px-6 py-4 align-middle text-gdt-sm text-fg-primary", "whitespace-nowrap", pinned && "bg-canvas transition-[background-color,filter] group-hover:bg-surface group-active:bg-surface-raised group-data-[state=selected]:bg-surface-brand-subtle group-data-[state=selected]:group-hover:bg-surface-brand-subtle group-data-[state=selected]:group-hover:brightness-95 group-data-[state=selected]:group-active:brightness-90", pinnedSide === "left" && "border-r-2 border-line", pinnedSide === "right" && "border-l-2 border-line", className),
95
+ ...props
96
+ });
148
97
  }
98
+ /**
99
+ * Formatted cell title, for use within a TableCell
100
+ */
149
101
  function TableCellTitle({ className, ...props }) {
150
- return /* @__PURE__ */ jsx(
151
- "span",
152
- {
153
- "data-slot": "table-cell-title",
154
- className: cn("text-gdt-sm font-semibold", className),
155
- ...props
156
- }
157
- );
102
+ return /* @__PURE__ */ jsx("span", {
103
+ "data-slot": "table-cell-title",
104
+ className: cn("text-gdt-sm font-semibold", className),
105
+ ...props
106
+ });
158
107
  }
159
- function TableCellCaption({
160
- className,
161
- ...props
162
- }) {
163
- return /* @__PURE__ */ jsx(
164
- "span",
165
- {
166
- "data-slot": "table-cell-caption",
167
- className: cn("text-gdt-xs text-fg-secondary", className),
168
- ...props
169
- }
170
- );
108
+ /**
109
+ * Formatted cell caption, for use within a TableCell. Usually for auxiliary info below the title, uses the secondary text token and smaller size.
110
+ */
111
+ function TableCellCaption({ className, ...props }) {
112
+ return /* @__PURE__ */ jsx("span", {
113
+ "data-slot": "table-cell-caption",
114
+ className: cn("text-gdt-xs text-fg-secondary", className),
115
+ ...props
116
+ });
171
117
  }
172
- function TableCaption({
173
- className,
174
- ...props
175
- }) {
176
- return /* @__PURE__ */ jsx(
177
- "caption",
178
- {
179
- "data-slot": "table-caption",
180
- className: cn("mt-4 text-gdt-sm text-fg-secondary", className),
181
- ...props
182
- }
183
- );
118
+ /**
119
+ * Caption — rendered below the table, uses secondary text token.
120
+ */
121
+ function TableCaption({ className, ...props }) {
122
+ return /* @__PURE__ */ jsx("caption", {
123
+ "data-slot": "table-caption",
124
+ className: cn("mt-4 text-gdt-sm text-fg-secondary", className),
125
+ ...props
126
+ });
184
127
  }
185
- export {
186
- Table,
187
- TableBody,
188
- TableCaption,
189
- TableCell,
190
- TableCellCaption,
191
- TableCellTitle,
192
- TableFooter,
193
- TableHead,
194
- TableHeader,
195
- TableRow
196
- };
197
- //# sourceMappingURL=table.js.map
128
+ //#endregion
129
+ export { Table, TableBody, TableCaption, TableCell, TableCellCaption, TableCellTitle, TableFooter, TableHead, TableHeader, TableRow };
package/dist/tabs.d.ts CHANGED
@@ -1,18 +1,26 @@
1
- import * as class_variance_authority_types from 'class-variance-authority/types';
2
- import * as React from 'react';
3
- import { ComponentPropsWithoutRef } from 'react';
4
- import { Tabs as Tabs$1 } from '@base-ui/react/tabs';
5
-
1
+ import { t as ComponentSize } from "./size-context-D4mYvcg8.js";
2
+ import { ComponentPropsWithoutRef } from "react";
3
+ import { Tabs as Tabs$1 } from "@base-ui/react/tabs";
4
+ //#region src/tabs.d.ts
6
5
  type TabsListVariant = "default" | "line" | "secondary" | "underline";
7
- declare function Tabs({ className, orientation, ...props }: Tabs$1.Root.Props): React.JSX.Element;
6
+ declare function Tabs({ className, orientation, size, ...props }: Tabs$1.Root.Props & {
7
+ size?: ComponentSize;
8
+ }): import("react").JSX.Element;
8
9
  declare const tabsListVariants: (props?: ({
9
- variant?: "secondary" | "underline" | null | undefined;
10
- } & class_variance_authority_types.ClassProp) | undefined) => string;
10
+ variant?: "secondary" | "underline" | null | undefined;
11
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
11
12
  declare function TabsList({ className, variant, children, ...props }: Tabs$1.List.Props & {
12
- variant?: TabsListVariant;
13
- }): React.JSX.Element;
14
- declare function TabsTrigger({ className, nativeButton, ...props }: Tabs$1.Tab.Props): React.JSX.Element;
15
- declare function TabsCount({ className, ...props }: ComponentPropsWithoutRef<"span">): React.JSX.Element;
16
- declare function TabsContent({ className, ...props }: Tabs$1.Panel.Props): React.JSX.Element;
17
-
18
- export { Tabs, TabsContent, TabsCount, TabsList, TabsTrigger, tabsListVariants };
13
+ variant?: TabsListVariant;
14
+ }): import("react").JSX.Element;
15
+ /**
16
+ * Trigger styling, exported so recipes (e.g. an overflow "More" button that
17
+ * isn't a real tab) can render the same look. Reads `variant` off the parent
18
+ * `group/tabs-list` and `size` off the ancestor `group/tabs`, so it stays in
19
+ * sync wherever it lives inside a `Tabs` tree.
20
+ */
21
+ declare const tabsTriggerClassName: string;
22
+ declare function TabsTrigger({ className, nativeButton, ...props }: Tabs$1.Tab.Props): import("react").JSX.Element;
23
+ declare function TabsCount({ className, ...props }: ComponentPropsWithoutRef<"span">): import("react").JSX.Element;
24
+ declare function TabsContent({ className, ...props }: Tabs$1.Panel.Props): import("react").JSX.Element;
25
+ //#endregion
26
+ export { Tabs, TabsContent, TabsCount, TabsList, TabsTrigger, tabsListVariants, tabsTriggerClassName };
package/dist/tabs.js CHANGED
@@ -1,159 +1,72 @@
1
- // src/components/ui/tabs.tsx
2
- import { Tabs as TabsPrimitive } from "@base-ui/react/tabs";
3
- import { cva } from "class-variance-authority";
4
-
5
- // src/lib/cn.ts
6
- import { clsx } from "clsx";
7
- import { extendTailwindMerge } from "tailwind-merge";
8
- var twMerge = extendTailwindMerge({
9
- extend: {
10
- classGroups: {
11
- "font-size": [
12
- {
13
- text: [
14
- "gdt-display",
15
- "gdt-h1",
16
- "gdt-h2",
17
- "gdt-h3",
18
- "gdt-h4",
19
- "gdt-h5",
20
- "gdt-xl",
21
- "gdt-lg",
22
- "gdt-md",
23
- "gdt-sm",
24
- "gdt-xs",
25
- "gdt-subtext",
26
- "gdt-capitalized"
27
- ]
28
- }
29
- ]
30
- }
31
- }
32
- });
33
- function cn(...inputs) {
34
- return twMerge(clsx(inputs));
35
- }
36
-
37
- // src/components/ui/tabs.tsx
1
+ "use client";
2
+ import { t as cn } from "./cn-BI_4DMBf.js";
3
+ import { useComponentSize } from "./size-context.js";
38
4
  import { jsx, jsxs } from "react/jsx-runtime";
5
+ import { cva } from "class-variance-authority";
6
+ import { Tabs as Tabs$1 } from "@base-ui/react/tabs";
7
+ //#region src/tabs.tsx
8
+ /**
9
+ * Keep friendly aliases in the public API, but collapse to the two concrete
10
+ * looks the design system ships: `underline` (Primary) and `secondary` (Pill).
11
+ */
39
12
  function resolveTabsListVariant(variant) {
40
- return variant === "default" ? "secondary" : variant === "line" ? "underline" : variant;
13
+ return variant === "default" ? "secondary" : variant === "line" ? "underline" : variant;
41
14
  }
42
- function Tabs({
43
- className,
44
- orientation = "horizontal",
45
- ...props
46
- }) {
47
- return /* @__PURE__ */ jsx(
48
- TabsPrimitive.Root,
49
- {
50
- "data-slot": "tabs",
51
- "data-orientation": orientation,
52
- className: cn(
53
- "group/tabs flex gap-3 data-[orientation=horizontal]:flex-col",
54
- className
55
- ),
56
- ...props
57
- }
58
- );
15
+ function Tabs({ className, orientation = "horizontal", size, ...props }) {
16
+ const resolvedSize = useComponentSize(size);
17
+ return /* @__PURE__ */ jsx(Tabs$1.Root, {
18
+ "data-slot": "tabs",
19
+ "data-orientation": orientation,
20
+ "data-size": resolvedSize,
21
+ className: cn("group/tabs flex gap-3 data-[orientation=horizontal]:flex-col", className),
22
+ ...props
23
+ });
59
24
  }
60
- var tabsListVariants = cva(
61
- "group/tabs-list relative inline-flex w-fit shrink-0 items-center gap-1 text-fg-secondary group-data-[orientation=horizontal]/tabs:border-b group-data-[orientation=horizontal]/tabs:border-line-subtle group-data-[orientation=vertical]/tabs:flex-col group-data-[orientation=vertical]/tabs:border-l group-data-[orientation=vertical]/tabs:border-line-subtle",
62
- {
63
- variants: {
64
- variant: {
65
- underline: "rounded-none bg-transparent p-0",
66
- secondary: "rounded-4xl bg-transparent p-0"
67
- }
68
- },
69
- defaultVariants: {
70
- variant: "underline"
71
- }
72
- }
73
- );
74
- function TabsList({
75
- className,
76
- variant = "underline",
77
- children,
78
- ...props
79
- }) {
80
- const resolvedVariant = resolveTabsListVariant(variant);
81
- return /* @__PURE__ */ jsxs(
82
- TabsPrimitive.List,
83
- {
84
- "data-slot": "tabs-list",
85
- "data-variant": resolvedVariant,
86
- className: cn(tabsListVariants({ variant: resolvedVariant }), className),
87
- ...props,
88
- children: [
89
- children,
90
- /* @__PURE__ */ jsx(
91
- TabsPrimitive.Indicator,
92
- {
93
- className: cn(
94
- "pointer-events-none absolute left-0 top-0 z-0 h-(--active-tab-height) w-(--active-tab-width) translate-x-(--active-tab-left) translate-y-(--active-tab-top) transition-[transform,width,height] duration-200 ease-in-out",
95
- "group-data-[variant=secondary]/tabs-list:hidden",
96
- "group-data-[variant=underline]/tabs-list:rounded-none group-data-[variant=underline]/tabs-list:bg-line-focus group-data-[variant=underline]/tabs-list:shadow-none",
97
- "group-data-[orientation=horizontal]/tabs:group-data-[variant=underline]/tabs-list:top-auto group-data-[orientation=horizontal]/tabs:group-data-[variant=underline]/tabs-list:bottom-[-1px] group-data-[orientation=horizontal]/tabs:group-data-[variant=underline]/tabs-list:h-0.5! group-data-[orientation=horizontal]/tabs:group-data-[variant=underline]/tabs-list:translate-y-0",
98
- "group-data-[orientation=vertical]/tabs:group-data-[variant=underline]/tabs-list:left-auto group-data-[orientation=vertical]/tabs:group-data-[variant=underline]/tabs-list:right-[-1px] group-data-[orientation=vertical]/tabs:group-data-[variant=underline]/tabs-list:w-0.5! group-data-[orientation=vertical]/tabs:group-data-[variant=underline]/tabs-list:translate-x-0"
99
- )
100
- }
101
- )
102
- ]
103
- }
104
- );
25
+ const tabsListVariants = cva(cn("group/tabs-list relative inline-flex w-fit shrink-0 items-center gap-1 text-fg-secondary", "group-data-[orientation=horizontal]/tabs:border-b group-data-[orientation=horizontal]/tabs:border-line-subtle", "group-data-[orientation=vertical]/tabs:flex-col group-data-[orientation=vertical]/tabs:border-l group-data-[orientation=vertical]/tabs:border-line-subtle"), {
26
+ variants: { variant: {
27
+ underline: "rounded-none bg-transparent p-0",
28
+ secondary: "rounded-4xl bg-transparent p-0"
29
+ } },
30
+ defaultVariants: { variant: "underline" }
31
+ });
32
+ function TabsList({ className, variant = "underline", children, ...props }) {
33
+ const resolvedVariant = resolveTabsListVariant(variant);
34
+ return /* @__PURE__ */ jsxs(Tabs$1.List, {
35
+ "data-slot": "tabs-list",
36
+ "data-variant": resolvedVariant,
37
+ className: cn(tabsListVariants({ variant: resolvedVariant }), className),
38
+ ...props,
39
+ children: [children, /* @__PURE__ */ jsx(Tabs$1.Indicator, { className: cn("pointer-events-none absolute left-0 top-0 z-0 h-(--active-tab-height) w-(--active-tab-width) translate-x-(--active-tab-left) translate-y-(--active-tab-top) transition-[transform,width,height] duration-200 ease-in-out", "group-data-[variant=secondary]/tabs-list:hidden", "group-data-[variant=underline]/tabs-list:rounded-none group-data-[variant=underline]/tabs-list:bg-line-focus group-data-[variant=underline]/tabs-list:shadow-none", "group-data-[orientation=horizontal]/tabs:group-data-[variant=underline]/tabs-list:top-auto group-data-[orientation=horizontal]/tabs:group-data-[variant=underline]/tabs-list:bottom-[-1px] group-data-[orientation=horizontal]/tabs:group-data-[variant=underline]/tabs-list:h-0.5! group-data-[orientation=horizontal]/tabs:group-data-[variant=underline]/tabs-list:translate-y-0", "group-data-[orientation=vertical]/tabs:group-data-[variant=underline]/tabs-list:left-auto group-data-[orientation=vertical]/tabs:group-data-[variant=underline]/tabs-list:right-[-1px] group-data-[orientation=vertical]/tabs:group-data-[variant=underline]/tabs-list:w-0.5! group-data-[orientation=vertical]/tabs:group-data-[variant=underline]/tabs-list:translate-x-0") })]
40
+ });
105
41
  }
106
- function TabsTrigger({
107
- className,
108
- nativeButton = true,
109
- ...props
110
- }) {
111
- return /* @__PURE__ */ jsx(
112
- TabsPrimitive.Tab,
113
- {
114
- "data-slot": "tabs-trigger",
115
- nativeButton,
116
- className: cn(
117
- "group/tabs-trigger relative inline-flex shrink-0 items-center justify-center gap-2 whitespace-nowrap border border-transparent font-semibold outline-none transition-[background-color,color,box-shadow] focus-visible:shadow-[0px_0px_0px_2px_var(--color-line-focus)] disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 group-data-[orientation=vertical]/tabs:w-full group-data-[orientation=vertical]/tabs:justify-start [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg]:text-current [&_svg:not([class*='size-'])]:size-4",
118
- "group-data-[variant=underline]/tabs-list:-mb-px group-data-[variant=underline]/tabs-list:rounded-none group-data-[variant=underline]/tabs-list:px-4 group-data-[variant=underline]/tabs-list:py-3 group-data-[variant=underline]/tabs-list:text-gdt-md group-data-[variant=underline]/tabs-list:text-fg-secondary group-data-[variant=underline]/tabs-list:hover:text-fg-primary group-data-[variant=underline]/tabs-list:data-active:text-fg-primary max-sm:group-data-[variant=underline]/tabs-list:px-3 max-sm:group-data-[variant=underline]/tabs-list:py-2.5 max-sm:group-data-[variant=underline]/tabs-list:text-gdt-sm",
119
- "group-data-[variant=secondary]/tabs-list:rounded-4xl group-data-[variant=secondary]/tabs-list:bg-surface-raised group-data-[variant=secondary]/tabs-list:px-4 group-data-[variant=secondary]/tabs-list:py-3 group-data-[variant=secondary]/tabs-list:text-gdt-md group-data-[variant=secondary]/tabs-list:text-fg-secondary group-data-[variant=secondary]/tabs-list:hover:bg-surface group-data-[variant=secondary]/tabs-list:hover:text-fg-primary group-data-[variant=secondary]/tabs-list:data-active:bg-surface-brand group-data-[variant=secondary]/tabs-list:data-active:text-fg-on-brand group-data-[variant=secondary]/tabs-list:data-active:shadow-(--elevation-e1-shadow) group-data-[variant=secondary]/tabs-list:data-active:hover:bg-surface-brand group-data-[variant=secondary]/tabs-list:data-active:hover:text-fg-on-brand max-sm:group-data-[variant=secondary]/tabs-list:px-3 max-sm:group-data-[variant=secondary]/tabs-list:py-2.5 max-sm:group-data-[variant=secondary]/tabs-list:text-gdt-sm",
120
- className
121
- ),
122
- ...props
123
- }
124
- );
42
+ /**
43
+ * Trigger styling, exported so recipes (e.g. an overflow "More" button that
44
+ * isn't a real tab) can render the same look. Reads `variant` off the parent
45
+ * `group/tabs-list` and `size` off the ancestor `group/tabs`, so it stays in
46
+ * sync wherever it lives inside a `Tabs` tree.
47
+ */
48
+ const tabsTriggerClassName = cn("group/tabs-trigger relative inline-flex shrink-0 items-center justify-center gap-2 whitespace-nowrap border border-transparent font-semibold outline-none transition-[background-color,color,box-shadow]", "focus-visible:shadow-[0px_0px_0px_2px_var(--color-line-focus)]", "disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50", "group-data-[orientation=vertical]/tabs:w-full group-data-[orientation=vertical]/tabs:justify-start", "[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg]:text-current", "group-data-[size=sm]/tabs:px-3 group-data-[size=sm]/tabs:py-2 group-data-[size=sm]/tabs:text-gdt-xs group-data-[size=sm]/tabs:[&_svg:not([class*='size-'])]:size-3.5", "group-data-[size=md]/tabs:px-4 group-data-[size=md]/tabs:py-2.5 group-data-[size=md]/tabs:text-gdt-sm group-data-[size=md]/tabs:[&_svg:not([class*='size-'])]:size-4", "group-data-[size=lg]/tabs:px-5 group-data-[size=lg]/tabs:py-3 group-data-[size=lg]/tabs:text-gdt-md group-data-[size=lg]/tabs:[&_svg:not([class*='size-'])]:size-4.5", "group-data-[variant=underline]/tabs-list:-mb-px group-data-[variant=underline]/tabs-list:rounded-none group-data-[variant=underline]/tabs-list:text-fg-secondary group-data-[variant=underline]/tabs-list:hover:text-fg-primary group-data-[variant=underline]/tabs-list:data-active:text-fg-primary", "group-data-[variant=secondary]/tabs-list:rounded-4xl group-data-[variant=secondary]/tabs-list:bg-surface-raised group-data-[variant=secondary]/tabs-list:text-fg-secondary group-data-[variant=secondary]/tabs-list:hover:bg-surface group-data-[variant=secondary]/tabs-list:hover:text-fg-primary group-data-[variant=secondary]/tabs-list:data-active:bg-surface-brand group-data-[variant=secondary]/tabs-list:data-active:text-fg-on-brand group-data-[variant=secondary]/tabs-list:data-active:shadow-(--elevation-e1-shadow) group-data-[variant=secondary]/tabs-list:data-active:hover:bg-surface-brand group-data-[variant=secondary]/tabs-list:data-active:hover:text-fg-on-brand");
49
+ function TabsTrigger({ className, nativeButton = true, ...props }) {
50
+ return /* @__PURE__ */ jsx(Tabs$1.Tab, {
51
+ "data-slot": "tabs-trigger",
52
+ nativeButton,
53
+ className: cn(tabsTriggerClassName, className),
54
+ ...props
55
+ });
125
56
  }
126
57
  function TabsCount({ className, ...props }) {
127
- return /* @__PURE__ */ jsx(
128
- "span",
129
- {
130
- "data-slot": "tabs-count",
131
- className: cn(
132
- "inline-flex min-w-5 items-center justify-center rounded-full px-1.5 py-0.5 text-[11px] leading-none font-semibold transition-[background-color,color]",
133
- "group-data-[variant=underline]/tabs-list:bg-surface-raised group-data-[variant=underline]/tabs-list:text-fg-secondary group-data-[variant=underline]/tabs-list:group-data-[active]/tabs-trigger:bg-surface-brand-subtle group-data-[variant=underline]/tabs-list:group-data-[active]/tabs-trigger:text-fg-brand",
134
- "group-data-[variant=secondary]/tabs-list:bg-surface-overlay group-data-[variant=secondary]/tabs-list:text-fg-secondary group-data-[variant=secondary]/tabs-list:group-data-[active]/tabs-trigger:bg-surface-brand-subtle group-data-[variant=secondary]/tabs-list:group-data-[active]/tabs-trigger:text-fg-brand",
135
- className
136
- ),
137
- ...props
138
- }
139
- );
58
+ return /* @__PURE__ */ jsx("span", {
59
+ "data-slot": "tabs-count",
60
+ className: cn("inline-flex items-center justify-center rounded-full font-semibold leading-none transition-[background-color,color]", "group-data-[size=sm]/tabs:h-4 group-data-[size=sm]/tabs:min-w-4 group-data-[size=sm]/tabs:px-1 group-data-[size=sm]/tabs:text-[10px]", "group-data-[size=md]/tabs:h-5 group-data-[size=md]/tabs:min-w-5 group-data-[size=md]/tabs:px-1 group-data-[size=md]/tabs:text-[11px]", "group-data-[size=lg]/tabs:h-5 group-data-[size=lg]/tabs:min-w-5 group-data-[size=lg]/tabs:px-1.5 group-data-[size=lg]/tabs:text-gdt-xs", "group-data-[variant=underline]/tabs-list:bg-surface-raised group-data-[variant=underline]/tabs-list:text-fg-secondary group-data-[variant=underline]/tabs-list:group-data-[active]/tabs-trigger:bg-surface-brand-subtle group-data-[variant=underline]/tabs-list:group-data-[active]/tabs-trigger:text-fg-brand", "group-data-[variant=secondary]/tabs-list:bg-surface-overlay group-data-[variant=secondary]/tabs-list:text-fg-secondary group-data-[variant=secondary]/tabs-list:group-data-[active]/tabs-trigger:bg-surface-brand-subtle group-data-[variant=secondary]/tabs-list:group-data-[active]/tabs-trigger:text-fg-brand", className),
61
+ ...props
62
+ });
140
63
  }
141
64
  function TabsContent({ className, ...props }) {
142
- return /* @__PURE__ */ jsx(
143
- TabsPrimitive.Panel,
144
- {
145
- "data-slot": "tabs-content",
146
- className: cn("flex-1 text-sm outline-none", className),
147
- ...props
148
- }
149
- );
65
+ return /* @__PURE__ */ jsx(Tabs$1.Panel, {
66
+ "data-slot": "tabs-content",
67
+ className: cn("flex-1 text-sm outline-none", className),
68
+ ...props
69
+ });
150
70
  }
151
- export {
152
- Tabs,
153
- TabsContent,
154
- TabsCount,
155
- TabsList,
156
- TabsTrigger,
157
- tabsListVariants
158
- };
159
- //# sourceMappingURL=tabs.js.map
71
+ //#endregion
72
+ export { Tabs, TabsContent, TabsCount, TabsList, TabsTrigger, tabsListVariants, tabsTriggerClassName };
package/dist/tag.d.ts CHANGED
@@ -1,25 +1,24 @@
1
- import * as React from 'react';
2
- import { ReactNode, MouseEvent } from 'react';
3
- import * as class_variance_authority_types from 'class-variance-authority/types';
4
- import { ComponentSize } from './size-context.js';
5
-
1
+ import { t as ComponentSize } from "./size-context-D4mYvcg8.js";
2
+ import { ButtonHTMLAttributes, MouseEvent, ReactNode } from "react";
3
+ //#region src/tag.d.ts
6
4
  declare const tagVariants: (props?: ({
7
- size?: "sm" | "md" | "lg" | null | undefined;
8
- border?: boolean | null | undefined;
9
- clickable?: boolean | null | undefined;
10
- disabled?: boolean | null | undefined;
11
- } & class_variance_authority_types.ClassProp) | undefined) => string;
12
- interface TagProps {
13
- label: string;
14
- leadingIcon?: ReactNode;
15
- onClose?: (e: MouseEvent<HTMLButtonElement>) => void;
16
- onClick?: () => void;
17
- size?: ComponentSize;
18
- border?: boolean;
19
- clickable?: boolean;
20
- disabled?: boolean;
21
- className?: string;
5
+ size?: "lg" | "md" | "sm" | null | undefined;
6
+ border?: boolean | null | undefined;
7
+ clickable?: boolean | null | undefined;
8
+ disabled?: boolean | null | undefined;
9
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
10
+ interface TagProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, "children" | "disabled" | "onClick" | "type"> {
11
+ label: string;
12
+ leadingIcon?: ReactNode;
13
+ onClose?: (e: MouseEvent<HTMLButtonElement>) => void;
14
+ closeButtonProps?: Omit<ButtonHTMLAttributes<HTMLButtonElement>, "children" | "disabled" | "onClick" | "type">;
15
+ onClick?: (e: MouseEvent<HTMLButtonElement>) => void;
16
+ size?: ComponentSize;
17
+ shape?: "full" | "box";
18
+ border?: boolean;
19
+ clickable?: boolean;
20
+ disabled?: boolean;
22
21
  }
23
- declare function Tag({ label, leadingIcon, onClose, onClick, size, border, clickable, disabled, className, }: TagProps): React.JSX.Element;
24
-
25
- export { Tag, tagVariants };
22
+ declare function Tag({ label, leadingIcon, onClose, closeButtonProps, onClick, size, shape, border, clickable, disabled, className, ...props }: TagProps): import("react").JSX.Element;
23
+ //#endregion
24
+ export { Tag, type TagProps, tagVariants };