@giddaa-housing/ui 1.0.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 (326) hide show
  1. package/css/generated/shared.css +1 -1
  2. package/dist/accordion.d.ts +9 -10
  3. package/dist/accordion.js +41 -87
  4. package/dist/activity-timeline.d.ts +12 -16
  5. package/dist/activity-timeline.js +83 -198
  6. package/dist/alert.d.ts +8 -9
  7. package/dist/alert.js +53 -111
  8. package/dist/auth-layout.d.ts +4 -4
  9. package/dist/auth-layout.js +143 -294
  10. package/dist/avatar.d.ts +6 -6
  11. package/dist/avatar.js +49 -19
  12. package/dist/badge.d.ts +12 -14
  13. package/dist/badge.js +71 -11
  14. package/dist/bar-chart.d.ts +65 -67
  15. package/dist/bar-chart.js +232 -207
  16. package/dist/breadcrumb.d.ts +5 -5
  17. package/dist/breadcrumb.js +56 -118
  18. package/dist/bullet-chart.d.ts +33 -33
  19. package/dist/bullet-chart.js +121 -148
  20. package/dist/button-BZIeyUw6.d.ts +17 -0
  21. package/dist/button-group.d.ts +13 -16
  22. package/dist/button-group.js +39 -88
  23. package/dist/button.d.ts +2 -19
  24. package/dist/button.js +94 -13
  25. package/dist/calendar.d.ts +6 -6
  26. package/dist/calendar.js +138 -17
  27. package/dist/card.d.ts +14 -16
  28. package/dist/card.js +59 -145
  29. package/dist/carousel.d.ts +34 -35
  30. package/dist/carousel.js +335 -20
  31. package/dist/chart.d.ts +58 -59
  32. package/dist/chart.js +376 -28
  33. package/dist/checkbox.d.ts +10 -12
  34. package/dist/checkbox.js +82 -47
  35. package/dist/cn-BI_4DMBf.js +23 -0
  36. package/dist/collapsible.d.ts +7 -8
  37. package/dist/collapsible.js +22 -47
  38. package/dist/combobox.d.ts +10 -10
  39. package/dist/combobox.js +236 -44
  40. package/dist/cta.d.ts +12 -14
  41. package/dist/cta.js +175 -341
  42. package/dist/currency-selector.d.ts +31 -32
  43. package/dist/currency-selector.js +106 -184
  44. package/dist/data-table.d.ts +164 -0
  45. package/dist/data-table.js +673 -0
  46. package/dist/date-picker.d.ts +22 -23
  47. package/dist/date-picker.js +119 -192
  48. package/dist/details-card.d.ts +7 -7
  49. package/dist/details-card.js +104 -253
  50. package/dist/dialog.d.ts +13 -14
  51. package/dist/dialog.js +116 -209
  52. package/dist/dropdown-menu.d.ts +13 -13
  53. package/dist/dropdown-menu.js +180 -37
  54. package/dist/dropzone.d.ts +55 -55
  55. package/dist/dropzone.js +327 -439
  56. package/dist/editorial-card.d.ts +23 -25
  57. package/dist/editorial-card.js +129 -296
  58. package/dist/empty-state.d.ts +8 -9
  59. package/dist/empty-state.js +48 -105
  60. package/dist/field.d.ts +23 -25
  61. package/dist/field.js +110 -221
  62. package/dist/filter.d.ts +118 -0
  63. package/dist/filter.js +775 -0
  64. package/dist/footer.d.ts +8 -15
  65. package/dist/footer.js +197 -400
  66. package/dist/funnel-chart.d.ts +38 -41
  67. package/dist/funnel-chart.js +167 -189
  68. package/dist/gallery-indicator.d.ts +11 -12
  69. package/dist/gallery-indicator.js +75 -12
  70. package/dist/heatmap-chart.d.ts +47 -50
  71. package/dist/heatmap-chart.js +186 -237
  72. package/dist/infotip.d.ts +8 -9
  73. package/dist/infotip.js +33 -59
  74. package/dist/input-CfoEJ8A6.d.ts +12 -0
  75. package/dist/input-group.d.ts +16 -20
  76. package/dist/input-group.js +99 -23
  77. package/dist/input-size-context-C-SFx9sx.d.ts +10 -0
  78. package/dist/input-size-context.d.ts +2 -11
  79. package/dist/input-size-context.js +17 -9
  80. package/dist/input.d.ts +2 -13
  81. package/dist/input.js +27 -11
  82. package/dist/item.d.ts +7 -8
  83. package/dist/item.js +22 -59
  84. package/dist/kpi-card.d.ts +18 -20
  85. package/dist/kpi-card.js +84 -192
  86. package/dist/label.d.ts +6 -6
  87. package/dist/label.js +40 -8
  88. package/dist/line-chart.d.ts +88 -89
  89. package/dist/line-chart.js +142 -104
  90. package/dist/logo.d.ts +4 -4
  91. package/dist/logo.js +92 -9
  92. package/dist/map-indicator.d.ts +7 -7
  93. package/dist/map-indicator.js +80 -106
  94. package/dist/match.d.ts +10 -11
  95. package/dist/match.js +62 -107
  96. package/dist/media-gallery-hero.d.ts +40 -42
  97. package/dist/media-gallery-hero.js +182 -343
  98. package/dist/media-player.d.ts +17 -17
  99. package/dist/media-player.js +873 -1348
  100. package/dist/multi-step-form.d.ts +56 -0
  101. package/dist/multi-step-form.js +342 -0
  102. package/dist/number-input.d.ts +34 -34
  103. package/dist/number-input.js +61 -117
  104. package/dist/page-header.d.ts +10 -11
  105. package/dist/page-header.js +34 -79
  106. package/dist/pagination.d.ts +17 -21
  107. package/dist/pagination.js +132 -207
  108. package/dist/password-input.d.ts +5 -13
  109. package/dist/password-input.js +31 -55
  110. package/dist/phone-input.d.ts +19 -20
  111. package/dist/phone-input.js +226 -344
  112. package/dist/photo-gallery.d.ts +19 -19
  113. package/dist/photo-gallery.js +313 -449
  114. package/dist/picker-lzgmsNfG.js +32 -0
  115. package/dist/pie-chart.d.ts +60 -60
  116. package/dist/pie-chart.js +140 -148
  117. package/dist/popover.d.ts +9 -9
  118. package/dist/popover.js +72 -23
  119. package/dist/price-tag.d.ts +26 -27
  120. package/dist/price-tag.js +113 -173
  121. package/dist/progress.d.ts +16 -17
  122. package/dist/progress.js +169 -24
  123. package/dist/property-listing-card.d.ts +14 -17
  124. package/dist/property-listing-card.js +102 -220
  125. package/dist/radar-chart.d.ts +29 -31
  126. package/dist/radar-chart.js +162 -137
  127. package/dist/radio-group.d.ts +11 -13
  128. package/dist/radio-group.js +46 -60
  129. package/dist/review-block.d.ts +14 -16
  130. package/dist/review-block.js +154 -10
  131. package/dist/rich-text-editor.d.ts +30 -14
  132. package/dist/rich-text-editor.js +592 -716
  133. package/dist/scatter-chart.d.ts +45 -47
  134. package/dist/scatter-chart.js +236 -240
  135. package/dist/search-input.d.ts +8 -16
  136. package/dist/search-input.js +57 -109
  137. package/dist/select.d.ts +8 -8
  138. package/dist/select.js +144 -27
  139. package/dist/separator.d.ts +8 -9
  140. package/dist/separator.js +32 -8
  141. package/dist/sheet.d.ts +11 -11
  142. package/dist/sheet.js +103 -24
  143. package/dist/sidebar.d.ts +32 -37
  144. package/dist/sidebar.js +364 -634
  145. package/dist/size-context-D4mYvcg8.d.ts +10 -0
  146. package/dist/size-context.d.ts +2 -11
  147. package/dist/size-context.js +17 -9
  148. package/dist/skeleton.d.ts +4 -5
  149. package/dist/skeleton.js +12 -8
  150. package/dist/slider.d.ts +8 -9
  151. package/dist/slider.js +64 -135
  152. package/dist/sparkline.d.ts +43 -46
  153. package/dist/sparkline.js +221 -251
  154. package/dist/stepper.d.ts +23 -24
  155. package/dist/stepper.js +149 -246
  156. package/dist/styles.css +510 -108
  157. package/dist/switch.d.ts +10 -12
  158. package/dist/switch.js +48 -70
  159. package/dist/table-card.d.ts +35 -0
  160. package/dist/table-card.js +125 -0
  161. package/dist/table.d.ts +18 -14
  162. package/dist/table.js +113 -154
  163. package/dist/tabs.d.ts +23 -15
  164. package/dist/tabs.js +71 -18
  165. package/dist/tag.d.ts +21 -23
  166. package/dist/tag.js +103 -159
  167. package/dist/testimonial-block.d.ts +18 -19
  168. package/dist/testimonial-block.js +189 -358
  169. package/dist/textarea-IS_D8pXf.d.ts +11 -0
  170. package/dist/textarea.d.ts +2 -12
  171. package/dist/textarea.js +24 -11
  172. package/dist/time-picker.d.ts +11 -11
  173. package/dist/time-picker.js +245 -302
  174. package/dist/toast.d.ts +16 -18
  175. package/dist/toast.js +154 -205
  176. package/dist/tooltip.d.ts +8 -9
  177. package/dist/tooltip.js +37 -12
  178. package/dist/tree-map.d.ts +54 -57
  179. package/dist/tree-map.js +227 -269
  180. package/dist/use-uncontrolled-CLfM1XbB.js +21 -0
  181. package/dist/waterfall-chart.d.ts +94 -97
  182. package/dist/waterfall-chart.js +455 -552
  183. package/package.json +28 -9
  184. package/dist/accordion.js.map +0 -1
  185. package/dist/activity-timeline.js.map +0 -1
  186. package/dist/alert.js.map +0 -1
  187. package/dist/auth-layout.js.map +0 -1
  188. package/dist/avatar.js.map +0 -1
  189. package/dist/badge.js.map +0 -1
  190. package/dist/bar-chart.js.map +0 -1
  191. package/dist/breadcrumb.js.map +0 -1
  192. package/dist/bullet-chart.js.map +0 -1
  193. package/dist/button-group.js.map +0 -1
  194. package/dist/button.js.map +0 -1
  195. package/dist/calendar.js.map +0 -1
  196. package/dist/card.js.map +0 -1
  197. package/dist/carousel.js.map +0 -1
  198. package/dist/chart.js.map +0 -1
  199. package/dist/checkbox.js.map +0 -1
  200. package/dist/chunk-322YCNVL.js +0 -278
  201. package/dist/chunk-322YCNVL.js.map +0 -1
  202. package/dist/chunk-3ACQVT7A.js +0 -25
  203. package/dist/chunk-3ACQVT7A.js.map +0 -1
  204. package/dist/chunk-3T65TLJX.js +0 -334
  205. package/dist/chunk-3T65TLJX.js.map +0 -1
  206. package/dist/chunk-6ZSGQHH2.js +0 -192
  207. package/dist/chunk-6ZSGQHH2.js.map +0 -1
  208. package/dist/chunk-7TBMLFGW.js +0 -41
  209. package/dist/chunk-7TBMLFGW.js.map +0 -1
  210. package/dist/chunk-B4H6RNDH.js +0 -135
  211. package/dist/chunk-B4H6RNDH.js.map +0 -1
  212. package/dist/chunk-BUXCGZ6X.js +0 -219
  213. package/dist/chunk-BUXCGZ6X.js.map +0 -1
  214. package/dist/chunk-CHII2QHH.js +0 -58
  215. package/dist/chunk-CHII2QHH.js.map +0 -1
  216. package/dist/chunk-DMNOXRRW.js +0 -147
  217. package/dist/chunk-DMNOXRRW.js.map +0 -1
  218. package/dist/chunk-EFSOSSIC.js +0 -130
  219. package/dist/chunk-EFSOSSIC.js.map +0 -1
  220. package/dist/chunk-FZDSVMKY.js +0 -363
  221. package/dist/chunk-FZDSVMKY.js.map +0 -1
  222. package/dist/chunk-GJOFIJS3.js +0 -246
  223. package/dist/chunk-GJOFIJS3.js.map +0 -1
  224. package/dist/chunk-HL3ZSYES.js +0 -23
  225. package/dist/chunk-HL3ZSYES.js.map +0 -1
  226. package/dist/chunk-JVLUBAPB.js +0 -129
  227. package/dist/chunk-JVLUBAPB.js.map +0 -1
  228. package/dist/chunk-KDPYSOYZ.js +0 -64
  229. package/dist/chunk-KDPYSOYZ.js.map +0 -1
  230. package/dist/chunk-KSMDANKI.js +0 -43
  231. package/dist/chunk-KSMDANKI.js.map +0 -1
  232. package/dist/chunk-MEKCCOP5.js +0 -46
  233. package/dist/chunk-MEKCCOP5.js.map +0 -1
  234. package/dist/chunk-NOFXVRWL.js +0 -451
  235. package/dist/chunk-NOFXVRWL.js.map +0 -1
  236. package/dist/chunk-PC5MHNVA.js +0 -171
  237. package/dist/chunk-PC5MHNVA.js.map +0 -1
  238. package/dist/chunk-QKAQZ2GU.js +0 -122
  239. package/dist/chunk-QKAQZ2GU.js.map +0 -1
  240. package/dist/chunk-QZHSHSVV.js +0 -26
  241. package/dist/chunk-QZHSHSVV.js.map +0 -1
  242. package/dist/chunk-RBMK26XD.js +0 -19
  243. package/dist/chunk-RBMK26XD.js.map +0 -1
  244. package/dist/chunk-SFNJGF6M.js +0 -262
  245. package/dist/chunk-SFNJGF6M.js.map +0 -1
  246. package/dist/chunk-UJJNLGTM.js +0 -112
  247. package/dist/chunk-UJJNLGTM.js.map +0 -1
  248. package/dist/chunk-VGR4ZWJ3.js +0 -418
  249. package/dist/chunk-VGR4ZWJ3.js.map +0 -1
  250. package/dist/chunk-XG47P6D4.js +0 -99
  251. package/dist/chunk-XG47P6D4.js.map +0 -1
  252. package/dist/chunk-XZZAHNVM.js +0 -21
  253. package/dist/chunk-XZZAHNVM.js.map +0 -1
  254. package/dist/chunk-Y4TTYVNE.js +0 -36
  255. package/dist/chunk-Y4TTYVNE.js.map +0 -1
  256. package/dist/chunk-YDWIHW6Q.js +0 -69
  257. package/dist/chunk-YDWIHW6Q.js.map +0 -1
  258. package/dist/collapsible.js.map +0 -1
  259. package/dist/combobox.js.map +0 -1
  260. package/dist/cta.js.map +0 -1
  261. package/dist/currency-selector.js.map +0 -1
  262. package/dist/date-picker.js.map +0 -1
  263. package/dist/details-card.js.map +0 -1
  264. package/dist/dialog.js.map +0 -1
  265. package/dist/dropdown-menu.js.map +0 -1
  266. package/dist/dropzone.js.map +0 -1
  267. package/dist/editorial-card.js.map +0 -1
  268. package/dist/empty-state.js.map +0 -1
  269. package/dist/field.js.map +0 -1
  270. package/dist/footer.js.map +0 -1
  271. package/dist/funnel-chart.js.map +0 -1
  272. package/dist/gallery-indicator.js.map +0 -1
  273. package/dist/heatmap-chart.js.map +0 -1
  274. package/dist/infotip.js.map +0 -1
  275. package/dist/input-group.js.map +0 -1
  276. package/dist/input-size-context.js.map +0 -1
  277. package/dist/input.js.map +0 -1
  278. package/dist/item.js.map +0 -1
  279. package/dist/kpi-card.js.map +0 -1
  280. package/dist/label.js.map +0 -1
  281. package/dist/line-chart.js.map +0 -1
  282. package/dist/logo.js.map +0 -1
  283. package/dist/map-indicator.js.map +0 -1
  284. package/dist/match.js.map +0 -1
  285. package/dist/media-gallery-hero.js.map +0 -1
  286. package/dist/media-player.js.map +0 -1
  287. package/dist/number-input.js.map +0 -1
  288. package/dist/page-header.js.map +0 -1
  289. package/dist/pagination.js.map +0 -1
  290. package/dist/password-input.js.map +0 -1
  291. package/dist/phone-input.js.map +0 -1
  292. package/dist/photo-gallery.js.map +0 -1
  293. package/dist/pie-chart.js.map +0 -1
  294. package/dist/popover.js.map +0 -1
  295. package/dist/price-tag.js.map +0 -1
  296. package/dist/progress.js.map +0 -1
  297. package/dist/property-listing-card.js.map +0 -1
  298. package/dist/radar-chart.js.map +0 -1
  299. package/dist/radio-group.js.map +0 -1
  300. package/dist/review-block.js.map +0 -1
  301. package/dist/rich-text-editor.js.map +0 -1
  302. package/dist/scatter-chart.js.map +0 -1
  303. package/dist/search-input.js.map +0 -1
  304. package/dist/select.js.map +0 -1
  305. package/dist/separator.js.map +0 -1
  306. package/dist/sheet.js.map +0 -1
  307. package/dist/sidebar.js.map +0 -1
  308. package/dist/size-context.js.map +0 -1
  309. package/dist/skeleton.js.map +0 -1
  310. package/dist/slider.js.map +0 -1
  311. package/dist/sparkline.js.map +0 -1
  312. package/dist/stepper.js.map +0 -1
  313. package/dist/switch.js.map +0 -1
  314. package/dist/tab-list.d.ts +0 -38
  315. package/dist/tab-list.js +0 -123
  316. package/dist/tab-list.js.map +0 -1
  317. package/dist/table.js.map +0 -1
  318. package/dist/tabs.js.map +0 -1
  319. package/dist/tag.js.map +0 -1
  320. package/dist/testimonial-block.js.map +0 -1
  321. package/dist/textarea.js.map +0 -1
  322. package/dist/time-picker.js.map +0 -1
  323. package/dist/toast.js.map +0 -1
  324. package/dist/tooltip.js.map +0 -1
  325. package/dist/tree-map.js.map +0 -1
  326. package/dist/waterfall-chart.js.map +0 -1
package/dist/table.js CHANGED
@@ -1,170 +1,129 @@
1
1
  "use client";
2
- import {
3
- cn
4
- } from "./chunk-Y4TTYVNE.js";
5
-
6
- // src/table.tsx
2
+ import { t as cn } from "./cn-BI_4DMBf.js";
7
3
  import { jsx } from "react/jsx-runtime";
8
- function Table({
9
- className,
10
- containerClassName,
11
- ...props
12
- }) {
13
- return /* @__PURE__ */ jsx(
14
- "div",
15
- {
16
- "data-slot": "table-container",
17
- className: cn(
18
- "relative w-full overflow-x-auto rounded-xl border border-line bg-surface-overlay",
19
- containerClassName
20
- ),
21
- children: /* @__PURE__ */ jsx(
22
- "table",
23
- {
24
- "data-slot": "table",
25
- className: cn("min-w-full caption-bottom", className),
26
- ...props
27
- }
28
- )
29
- }
30
- );
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
+ });
31
22
  }
32
- function TableHeader({
33
- className,
34
- sticky = false,
35
- ...props
36
- }) {
37
- return /* @__PURE__ */ jsx(
38
- "thead",
39
- {
40
- "data-slot": "table-header",
41
- className: cn(
42
- "bg-surface-raised",
43
- sticky && "sticky top-0 z-2 shadow-(--elevation-e2-shadow)",
44
- className
45
- ),
46
- ...props
47
- }
48
- );
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
+ });
49
35
  }
50
36
  function TableBody({ className, ...props }) {
51
- return /* @__PURE__ */ jsx(
52
- "tbody",
53
- {
54
- "data-slot": "table-body",
55
- className: cn("[&_tr:last-child]:border-0", className),
56
- ...props
57
- }
58
- );
37
+ return /* @__PURE__ */ jsx("tbody", {
38
+ "data-slot": "table-body",
39
+ className: cn("[&_tr:last-child]:border-0", className),
40
+ ...props
41
+ });
59
42
  }
43
+ /**
44
+ * Footer band (tfoot).
45
+ *
46
+ * Shares the same raised surface as the header.
47
+ */
60
48
  function TableFooter({ className, ...props }) {
61
- return /* @__PURE__ */ jsx(
62
- "tfoot",
63
- {
64
- "data-slot": "table-footer",
65
- className: cn(
66
- "border-t border-line bg-surface-raised font-medium [&>tr]:last:border-b-0",
67
- className
68
- ),
69
- ...props
70
- }
71
- );
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
+ });
72
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
+ */
73
61
  function TableRow({ className, ...props }) {
74
- return /* @__PURE__ */ jsx(
75
- "tr",
76
- {
77
- "data-slot": "table-row",
78
- className: cn(
79
- "group border-b border-line-subtle transition-colors",
80
- "hover:bg-surface has-aria-expanded:bg-surface",
81
- "data-[state=selected]:bg-surface-brand-subtle",
82
- className
83
- ),
84
- ...props
85
- }
86
- );
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
+ });
87
67
  }
88
- function TableHead({ className, ...props }) {
89
- return /* @__PURE__ */ jsx(
90
- "th",
91
- {
92
- "data-slot": "table-head",
93
- className: cn(
94
- "h-11 px-5 py-3.5 text-left align-middle bg-surface-raised",
95
- "text-gdt-capitalized font-bold uppercase tracking-wide text-fg-secondary",
96
- "whitespace-nowrap has-[[role=checkbox]]:pr-0",
97
- className
98
- ),
99
- ...props
100
- }
101
- );
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
+ });
102
81
  }
103
- function TableCell({
104
- className,
105
- pinned = false,
106
- ...props
107
- }) {
108
- return /* @__PURE__ */ jsx(
109
- "td",
110
- {
111
- "data-slot": "table-cell",
112
- className: cn(
113
- "px-5 py-3.5 align-middle text-gdt-sm text-fg-primary",
114
- "whitespace-nowrap",
115
- pinned && "bg-surface-raised group-hover:bg-surface group-data-[state=selected]:bg-surface-brand-subtle",
116
- className
117
- ),
118
- ...props
119
- }
120
- );
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
+ });
121
97
  }
98
+ /**
99
+ * Formatted cell title, for use within a TableCell
100
+ */
122
101
  function TableCellTitle({ className, ...props }) {
123
- return /* @__PURE__ */ jsx(
124
- "span",
125
- {
126
- "data-slot": "table-cell-title",
127
- className: cn("text-gdt-sm font-semibold", className),
128
- ...props
129
- }
130
- );
102
+ return /* @__PURE__ */ jsx("span", {
103
+ "data-slot": "table-cell-title",
104
+ className: cn("text-gdt-sm font-semibold", className),
105
+ ...props
106
+ });
131
107
  }
132
- function TableCellCaption({
133
- className,
134
- ...props
135
- }) {
136
- return /* @__PURE__ */ jsx(
137
- "span",
138
- {
139
- "data-slot": "table-cell-caption",
140
- className: cn("text-gdt-xs text-fg-secondary", className),
141
- ...props
142
- }
143
- );
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
+ });
144
117
  }
145
- function TableCaption({
146
- className,
147
- ...props
148
- }) {
149
- return /* @__PURE__ */ jsx(
150
- "caption",
151
- {
152
- "data-slot": "table-caption",
153
- className: cn("mt-4 text-gdt-sm text-fg-secondary", className),
154
- ...props
155
- }
156
- );
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
+ });
157
127
  }
158
- export {
159
- Table,
160
- TableBody,
161
- TableCaption,
162
- TableCell,
163
- TableCellCaption,
164
- TableCellTitle,
165
- TableFooter,
166
- TableHead,
167
- TableHeader,
168
- TableRow
169
- };
170
- //# 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,19 +1,72 @@
1
1
  "use client";
2
- import {
3
- Tabs,
4
- TabsContent,
5
- TabsCount,
6
- TabsList,
7
- TabsTrigger,
8
- tabsListVariants
9
- } from "./chunk-EFSOSSIC.js";
10
- import "./chunk-Y4TTYVNE.js";
11
- export {
12
- Tabs,
13
- TabsContent,
14
- TabsCount,
15
- TabsList,
16
- TabsTrigger,
17
- tabsListVariants
18
- };
19
- //# sourceMappingURL=tabs.js.map
2
+ import { t as cn } from "./cn-BI_4DMBf.js";
3
+ import { useComponentSize } from "./size-context.js";
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
+ */
12
+ function resolveTabsListVariant(variant) {
13
+ return variant === "default" ? "secondary" : variant === "line" ? "underline" : variant;
14
+ }
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
+ });
24
+ }
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
+ });
41
+ }
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
+ });
56
+ }
57
+ function TabsCount({ className, ...props }) {
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
+ });
63
+ }
64
+ function TabsContent({ className, ...props }) {
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
+ });
70
+ }
71
+ //#endregion
72
+ export { Tabs, TabsContent, TabsCount, TabsList, TabsTrigger, tabsListVariants, tabsTriggerClassName };
package/dist/tag.d.ts CHANGED
@@ -1,26 +1,24 @@
1
- import * as React from 'react';
2
- import { ButtonHTMLAttributes, 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;
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;
12
10
  interface TagProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, "children" | "disabled" | "onClick" | "type"> {
13
- label: string;
14
- leadingIcon?: ReactNode;
15
- onClose?: (e: MouseEvent<HTMLButtonElement>) => void;
16
- closeButtonProps?: Omit<ButtonHTMLAttributes<HTMLButtonElement>, "children" | "disabled" | "onClick" | "type">;
17
- onClick?: (e: MouseEvent<HTMLButtonElement>) => void;
18
- size?: ComponentSize;
19
- shape?: "full" | "box";
20
- border?: boolean;
21
- clickable?: boolean;
22
- disabled?: boolean;
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;
23
21
  }
24
- declare function Tag({ label, leadingIcon, onClose, closeButtonProps, onClick, size, shape, border, clickable, disabled, className, ...props }: TagProps): React.JSX.Element;
25
-
26
- export { Tag, type TagProps, 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 };