@devalok/shilp-sutra 0.17.2 → 0.18.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 (318) hide show
  1. package/dist/_chunks/avatar.js +21 -19
  2. package/dist/_chunks/button-group.js +27 -0
  3. package/dist/_chunks/button.js +53 -35
  4. package/dist/_chunks/card.js +50 -0
  5. package/dist/_chunks/checkbox.js +11 -9
  6. package/dist/_chunks/date-utils.js +13 -0
  7. package/dist/_chunks/form.js +20 -20
  8. package/dist/_chunks/link-context.js +19 -0
  9. package/dist/_chunks/motion.js +1376 -0
  10. package/dist/_chunks/motion2.js +35 -0
  11. package/dist/_chunks/primitives.js +3499 -3920
  12. package/dist/_chunks/sidebar.js +225 -211
  13. package/dist/_chunks/spinner.js +58 -28
  14. package/dist/_chunks/tiptap.js +1 -1
  15. package/dist/_chunks/tooltip.js +27 -10
  16. package/dist/_chunks/tree-view.js +180 -178
  17. package/dist/_chunks/use-calendar.js +531 -515
  18. package/dist/_chunks/utils.js +3 -3
  19. package/dist/_chunks/vendor-client.js +1792 -1049
  20. package/dist/_chunks/vendor-utils.js +5123 -1169
  21. package/dist/composed/activity-feed.d.ts.map +1 -1
  22. package/dist/composed/activity-feed.js +71 -74
  23. package/dist/composed/avatar-group.js +36 -36
  24. package/dist/composed/command-palette.d.ts +1 -1
  25. package/dist/composed/command-palette.d.ts.map +1 -1
  26. package/dist/composed/command-palette.js +207 -158
  27. package/dist/composed/confirm-dialog.d.ts +3 -5
  28. package/dist/composed/confirm-dialog.d.ts.map +1 -1
  29. package/dist/composed/confirm-dialog.js +46 -41
  30. package/dist/composed/content-card.d.ts +1 -1
  31. package/dist/composed/content-card.js +29 -29
  32. package/dist/composed/date-picker/calendar-grid.d.ts +1 -1
  33. package/dist/composed/date-picker/calendar-grid.d.ts.map +1 -1
  34. package/dist/composed/date-picker/date-picker.d.ts +1 -1
  35. package/dist/composed/date-picker/date-picker.d.ts.map +1 -1
  36. package/dist/composed/date-picker/date-range-picker.d.ts +1 -1
  37. package/dist/composed/date-picker/date-range-picker.d.ts.map +1 -1
  38. package/dist/composed/date-picker/date-time-picker.d.ts +1 -1
  39. package/dist/composed/date-picker/date-time-picker.d.ts.map +1 -1
  40. package/dist/composed/date-picker/month-picker.d.ts +1 -1
  41. package/dist/composed/date-picker/month-picker.d.ts.map +1 -1
  42. package/dist/composed/date-picker/presets.d.ts +1 -1
  43. package/dist/composed/date-picker/presets.d.ts.map +1 -1
  44. package/dist/composed/date-picker/time-picker.d.ts +1 -1
  45. package/dist/composed/date-picker/time-picker.d.ts.map +1 -1
  46. package/dist/composed/date-picker/year-picker.d.ts +1 -1
  47. package/dist/composed/date-picker/year-picker.d.ts.map +1 -1
  48. package/dist/composed/empty-state.d.ts +1 -0
  49. package/dist/composed/empty-state.d.ts.map +1 -1
  50. package/dist/composed/empty-state.js +51 -47
  51. package/dist/composed/error-boundary.d.ts +1 -1
  52. package/dist/composed/error-boundary.d.ts.map +1 -1
  53. package/dist/composed/error-boundary.js +48 -48
  54. package/dist/composed/extensions/mention-suggestion.d.ts +1 -1
  55. package/dist/composed/extensions/mention-suggestion.d.ts.map +1 -1
  56. package/dist/composed/global-loading.d.ts +1 -1
  57. package/dist/composed/global-loading.d.ts.map +1 -1
  58. package/dist/composed/global-loading.js +23 -20
  59. package/dist/composed/index.d.ts +2 -4
  60. package/dist/composed/index.d.ts.map +1 -1
  61. package/dist/composed/index.js +26 -29
  62. package/dist/composed/loading-skeleton.d.ts +1 -1
  63. package/dist/composed/loading-skeleton.d.ts.map +1 -1
  64. package/dist/composed/loading-skeleton.js +92 -87
  65. package/dist/composed/member-picker.d.ts +1 -1
  66. package/dist/composed/member-picker.d.ts.map +1 -1
  67. package/dist/composed/member-picker.js +47 -43
  68. package/dist/composed/page-header.js +36 -36
  69. package/dist/composed/page-skeletons.d.ts +9 -3
  70. package/dist/composed/page-skeletons.d.ts.map +1 -1
  71. package/dist/composed/page-skeletons.js +58 -58
  72. package/dist/composed/priority-indicator.js +19 -19
  73. package/dist/composed/rich-text-editor.d.ts +3 -3
  74. package/dist/composed/rich-text-editor.d.ts.map +1 -1
  75. package/dist/composed/rich-text-editor.js +316 -309
  76. package/dist/composed/schedule-view.js +88 -88
  77. package/dist/composed/simple-tooltip.d.ts +2 -5
  78. package/dist/composed/simple-tooltip.d.ts.map +1 -1
  79. package/dist/composed/simple-tooltip.js +19 -14
  80. package/dist/composed/status-badge.d.ts +2 -1
  81. package/dist/composed/status-badge.d.ts.map +1 -1
  82. package/dist/composed/status-badge.js +76 -63
  83. package/dist/hooks/index.d.ts +2 -1
  84. package/dist/hooks/index.d.ts.map +1 -1
  85. package/dist/hooks/index.js +3 -4
  86. package/dist/hooks/use-toast.d.ts +15 -45
  87. package/dist/hooks/use-toast.d.ts.map +1 -1
  88. package/dist/hooks/use-toast.js +2 -95
  89. package/dist/motion/index.d.ts +4 -0
  90. package/dist/motion/index.d.ts.map +1 -0
  91. package/dist/motion/index.js +10 -0
  92. package/dist/motion/motion-provider.d.ts +18 -0
  93. package/dist/motion/motion-provider.d.ts.map +1 -0
  94. package/dist/motion/motion-provider.js +24 -0
  95. package/dist/motion/primitives-index.d.ts +3 -0
  96. package/dist/motion/primitives-index.d.ts.map +1 -0
  97. package/dist/motion/primitives-index.js +11 -0
  98. package/dist/motion/primitives.d.ts +38 -0
  99. package/dist/motion/primitives.d.ts.map +1 -0
  100. package/dist/motion/primitives.js +187 -0
  101. package/dist/shell/app-command-palette.d.ts +14 -5
  102. package/dist/shell/app-command-palette.d.ts.map +1 -1
  103. package/dist/shell/app-command-palette.js +152 -130
  104. package/dist/shell/bottom-navbar.d.ts.map +1 -1
  105. package/dist/shell/bottom-navbar.js +90 -92
  106. package/dist/shell/command-registry.d.ts +23 -0
  107. package/dist/shell/command-registry.d.ts.map +1 -0
  108. package/dist/shell/command-registry.js +18 -0
  109. package/dist/shell/index.d.ts +2 -1
  110. package/dist/shell/index.d.ts.map +1 -1
  111. package/dist/shell/index.js +14 -11
  112. package/dist/shell/link-context.d.ts +6 -10
  113. package/dist/shell/link-context.d.ts.map +1 -1
  114. package/dist/shell/link-context.js +3 -16
  115. package/dist/shell/notification-center.d.ts.map +1 -1
  116. package/dist/shell/notification-center.js +137 -132
  117. package/dist/shell/notification-preferences.d.ts +10 -5
  118. package/dist/shell/notification-preferences.d.ts.map +1 -1
  119. package/dist/shell/notification-preferences.js +168 -165
  120. package/dist/shell/sidebar.js +119 -119
  121. package/dist/shell/top-bar.js +65 -65
  122. package/dist/tailwind/index.cjs +118 -297
  123. package/dist/tailwind/preset.d.ts.map +1 -1
  124. package/dist/tailwind/preset.js +118 -297
  125. package/dist/tokens/generate-scale.d.ts +86 -0
  126. package/dist/tokens/generate-scale.d.ts.map +1 -0
  127. package/dist/tokens/primitives.css +415 -187
  128. package/dist/tokens/semantic.css +244 -270
  129. package/dist/tokens/typography.css +6 -6
  130. package/dist/ui/accordion.d.ts.map +1 -1
  131. package/dist/ui/accordion.js +32 -22
  132. package/dist/ui/alert-dialog.d.ts +4 -1
  133. package/dist/ui/alert-dialog.d.ts.map +1 -1
  134. package/dist/ui/alert-dialog.js +114 -73
  135. package/dist/ui/alert.d.ts +6 -1
  136. package/dist/ui/alert.d.ts.map +1 -1
  137. package/dist/ui/alert.js +64 -49
  138. package/dist/ui/aspect-ratio.d.ts +2 -1
  139. package/dist/ui/aspect-ratio.d.ts.map +1 -1
  140. package/dist/ui/aspect-ratio.js +14 -4
  141. package/dist/ui/autocomplete.d.ts +11 -2
  142. package/dist/ui/autocomplete.d.ts.map +1 -1
  143. package/dist/ui/autocomplete.js +82 -57
  144. package/dist/ui/avatar.d.ts.map +1 -1
  145. package/dist/ui/avatar.js +45 -34
  146. package/dist/ui/badge.d.ts +1 -1
  147. package/dist/ui/badge.d.ts.map +1 -1
  148. package/dist/ui/badge.js +70 -65
  149. package/dist/ui/banner.d.ts.map +1 -1
  150. package/dist/ui/banner.js +53 -39
  151. package/dist/ui/breadcrumb.d.ts +2 -0
  152. package/dist/ui/breadcrumb.d.ts.map +1 -1
  153. package/dist/ui/breadcrumb.js +21 -21
  154. package/dist/ui/button.d.ts +10 -1
  155. package/dist/ui/button.d.ts.map +1 -1
  156. package/dist/ui/button.js +103 -67
  157. package/dist/ui/card.d.ts +2 -2
  158. package/dist/ui/card.d.ts.map +1 -1
  159. package/dist/ui/card.js +61 -53
  160. package/dist/ui/charts/_internal/animation.d.ts +1 -1
  161. package/dist/ui/charts/_internal/animation.d.ts.map +1 -1
  162. package/dist/ui/charts/area-chart.d.ts +3 -5
  163. package/dist/ui/charts/area-chart.d.ts.map +1 -1
  164. package/dist/ui/charts/bar-chart.d.ts +3 -5
  165. package/dist/ui/charts/bar-chart.d.ts.map +1 -1
  166. package/dist/ui/charts/chart-container.d.ts +2 -5
  167. package/dist/ui/charts/chart-container.d.ts.map +1 -1
  168. package/dist/ui/charts/gauge-chart.d.ts +3 -5
  169. package/dist/ui/charts/gauge-chart.d.ts.map +1 -1
  170. package/dist/ui/charts/index.js +1204 -1095
  171. package/dist/ui/charts/line-chart.d.ts +3 -5
  172. package/dist/ui/charts/line-chart.d.ts.map +1 -1
  173. package/dist/ui/charts/pie-chart.d.ts +2 -5
  174. package/dist/ui/charts/pie-chart.d.ts.map +1 -1
  175. package/dist/ui/charts/radar-chart.d.ts +3 -5
  176. package/dist/ui/charts/radar-chart.d.ts.map +1 -1
  177. package/dist/ui/charts/sparkline.d.ts +5 -5
  178. package/dist/ui/charts/sparkline.d.ts.map +1 -1
  179. package/dist/ui/checkbox.d.ts.map +1 -1
  180. package/dist/ui/checkbox.js +31 -19
  181. package/dist/ui/chip.d.ts +3 -2
  182. package/dist/ui/chip.d.ts.map +1 -1
  183. package/dist/ui/chip.js +62 -54
  184. package/dist/ui/code.js +16 -16
  185. package/dist/ui/collapsible.d.ts.map +1 -1
  186. package/dist/ui/collapsible.js +23 -15
  187. package/dist/ui/color-input.d.ts +1 -1
  188. package/dist/ui/color-input.d.ts.map +1 -1
  189. package/dist/ui/color-input.js +27 -27
  190. package/dist/ui/combobox.d.ts +2 -0
  191. package/dist/ui/combobox.d.ts.map +1 -1
  192. package/dist/ui/combobox.js +177 -166
  193. package/dist/ui/context-menu.d.ts +4 -2
  194. package/dist/ui/context-menu.d.ts.map +1 -1
  195. package/dist/ui/context-menu.js +146 -86
  196. package/dist/ui/data-table-toolbar.d.ts +3 -2
  197. package/dist/ui/data-table-toolbar.d.ts.map +1 -1
  198. package/dist/ui/data-table-toolbar.js +61 -59
  199. package/dist/ui/data-table.d.ts.map +1 -1
  200. package/dist/ui/data-table.js +289 -254
  201. package/dist/ui/dialog.d.ts +3 -1
  202. package/dist/ui/dialog.d.ts.map +1 -1
  203. package/dist/ui/dialog.js +114 -74
  204. package/dist/ui/dropdown-menu.d.ts +5 -3
  205. package/dist/ui/dropdown-menu.d.ts.map +1 -1
  206. package/dist/ui/dropdown-menu.js +150 -89
  207. package/dist/ui/file-upload.d.ts.map +1 -1
  208. package/dist/ui/file-upload.js +169 -127
  209. package/dist/ui/form.d.ts.map +1 -1
  210. package/dist/ui/form.js +29 -26
  211. package/dist/ui/hover-card.d.ts +1 -1
  212. package/dist/ui/hover-card.d.ts.map +1 -1
  213. package/dist/ui/hover-card.js +53 -21
  214. package/dist/ui/index.d.ts +18 -18
  215. package/dist/ui/index.d.ts.map +1 -1
  216. package/dist/ui/index.js +432 -449
  217. package/dist/ui/input-otp.d.ts +2 -0
  218. package/dist/ui/input-otp.d.ts.map +1 -1
  219. package/dist/ui/input-otp.js +7 -7
  220. package/dist/ui/input.d.ts.map +1 -1
  221. package/dist/ui/input.js +36 -34
  222. package/dist/ui/label.js +12 -12
  223. package/dist/ui/lib/date-utils.d.ts +6 -0
  224. package/dist/ui/lib/date-utils.d.ts.map +1 -0
  225. package/dist/ui/lib/index.d.ts +7 -0
  226. package/dist/ui/lib/index.d.ts.map +1 -0
  227. package/dist/ui/lib/link-context.d.ts +13 -0
  228. package/dist/ui/lib/link-context.d.ts.map +1 -0
  229. package/dist/ui/lib/motion.d.ts +44 -9
  230. package/dist/ui/lib/motion.d.ts.map +1 -1
  231. package/dist/ui/lib/use-ripple.d.ts.map +1 -1
  232. package/dist/ui/lib/utils.js +1 -1
  233. package/dist/ui/link.js +11 -11
  234. package/dist/ui/menubar.d.ts +4 -2
  235. package/dist/ui/menubar.d.ts.map +1 -1
  236. package/dist/ui/menubar.js +141 -97
  237. package/dist/ui/navigation-menu.d.ts +2 -0
  238. package/dist/ui/navigation-menu.d.ts.map +1 -1
  239. package/dist/ui/navigation-menu.js +176 -73
  240. package/dist/ui/number-input.d.ts.map +1 -1
  241. package/dist/ui/number-input.js +56 -49
  242. package/dist/ui/pagination.js +22 -22
  243. package/dist/ui/popover.d.ts +2 -1
  244. package/dist/ui/popover.d.ts.map +1 -1
  245. package/dist/ui/popover.js +54 -22
  246. package/dist/ui/progress.d.ts.map +1 -1
  247. package/dist/ui/progress.js +58 -42
  248. package/dist/ui/radio.js +19 -19
  249. package/dist/ui/search-input.d.ts.map +1 -1
  250. package/dist/ui/search-input.js +28 -33
  251. package/dist/ui/segmented-control.d.ts +2 -2
  252. package/dist/ui/segmented-control.d.ts.map +1 -1
  253. package/dist/ui/segmented-control.js +143 -124
  254. package/dist/ui/select.d.ts.map +1 -1
  255. package/dist/ui/select.js +72 -61
  256. package/dist/ui/separator.js +11 -11
  257. package/dist/ui/sheet.d.ts +1 -1
  258. package/dist/ui/sheet.d.ts.map +1 -1
  259. package/dist/ui/sheet.js +111 -75
  260. package/dist/ui/sidebar.d.ts +6 -1
  261. package/dist/ui/sidebar.d.ts.map +1 -1
  262. package/dist/ui/sidebar.js +27 -25
  263. package/dist/ui/skeleton.js +1 -1
  264. package/dist/ui/slider.d.ts +9 -0
  265. package/dist/ui/slider.d.ts.map +1 -1
  266. package/dist/ui/slider.js +33 -27
  267. package/dist/ui/spinner.d.ts +32 -25
  268. package/dist/ui/spinner.d.ts.map +1 -1
  269. package/dist/ui/spinner.js +199 -40
  270. package/dist/ui/stat-card.d.ts.map +1 -1
  271. package/dist/ui/stat-card.js +183 -116
  272. package/dist/ui/stepper.d.ts +22 -1
  273. package/dist/ui/stepper.d.ts.map +1 -1
  274. package/dist/ui/stepper.js +121 -43
  275. package/dist/ui/switch.d.ts.map +1 -1
  276. package/dist/ui/switch.js +39 -26
  277. package/dist/ui/table.d.ts +3 -0
  278. package/dist/ui/table.d.ts.map +1 -1
  279. package/dist/ui/table.js +47 -47
  280. package/dist/ui/tabs.d.ts +4 -1
  281. package/dist/ui/tabs.d.ts.map +1 -1
  282. package/dist/ui/tabs.js +94 -44
  283. package/dist/ui/text.d.ts +3 -3
  284. package/dist/ui/text.js +1 -1
  285. package/dist/ui/textarea.d.ts.map +1 -1
  286. package/dist/ui/textarea.js +29 -27
  287. package/dist/ui/toast-types.d.ts +43 -0
  288. package/dist/ui/toast-types.d.ts.map +1 -0
  289. package/dist/ui/toast-types.js +2 -0
  290. package/dist/ui/toast.d.ts +60 -26
  291. package/dist/ui/toast.d.ts.map +1 -1
  292. package/dist/ui/toast.js +535 -89
  293. package/dist/ui/toaster.d.ts +19 -23
  294. package/dist/ui/toaster.d.ts.map +1 -1
  295. package/dist/ui/toaster.js +31 -21
  296. package/dist/ui/toggle-group.d.ts +2 -2
  297. package/dist/ui/toggle-group.d.ts.map +1 -1
  298. package/dist/ui/toggle-group.js +29 -26
  299. package/dist/ui/toggle.d.ts +2 -2
  300. package/dist/ui/toggle.d.ts.map +1 -1
  301. package/dist/ui/toggle.js +21 -17
  302. package/dist/ui/tooltip.d.ts +2 -1
  303. package/dist/ui/tooltip.d.ts.map +1 -1
  304. package/dist/ui/tooltip.js +58 -21
  305. package/dist/ui/tree-view/tree-view.d.ts +1 -1
  306. package/dist/ui/tree-view/tree-view.d.ts.map +1 -1
  307. package/llms-full.txt +221 -102
  308. package/llms.txt +65 -12
  309. package/package.json +26 -8
  310. package/dist/_chunks/switch.js +0 -10
  311. package/dist/composed/upload-progress.d.ts +0 -33
  312. package/dist/composed/upload-progress.d.ts.map +0 -1
  313. package/dist/composed/upload-progress.js +0 -386
  314. package/dist/ui/lib/use-reduced-motion.d.ts +0 -4
  315. package/dist/ui/lib/use-reduced-motion.d.ts.map +0 -1
  316. package/dist/ui/transitions.d.ts +0 -17
  317. package/dist/ui/transitions.d.ts.map +0 -1
  318. package/dist/ui/transitions.js +0 -111
package/dist/ui/banner.js CHANGED
@@ -1,53 +1,67 @@
1
1
  "use client";
2
- import { jsxs as b, jsx as r } from "react/jsx-runtime";
3
- import { IconInfoCircle as n, IconAlertCircle as x, IconAlertTriangle as g, IconCircleCheck as p, IconX as h } from "@tabler/icons-react";
4
- import * as s from "react";
5
- import { e as v } from "../_chunks/vendor-utils.js";
2
+ import { jsx as e, jsxs as b } from "react/jsx-runtime";
3
+ import { IconInfoCircle as o, IconAlertCircle as g, IconAlertTriangle as p, IconCircleCheck as h, IconX as x } from "@tabler/icons-react";
4
+ import * as r from "react";
5
+ import { ag as v } from "../_chunks/vendor-utils.js";
6
6
  import { c as w } from "../_chunks/utils.js";
7
- const N = v(
7
+ import { s as N, m as I } from "../_chunks/motion2.js";
8
+ import { A as C, m as y } from "../_chunks/motion.js";
9
+ const k = v(
8
10
  "flex items-center gap-ds-04 px-ds-06 py-ds-04 text-ds-md font-medium border-b",
9
11
  {
10
12
  variants: {
11
13
  color: {
12
- info: "bg-info-surface border-info-border text-info-text",
13
- success: "bg-success-surface border-success-border text-success-text",
14
- warning: "bg-warning-surface border-warning-border text-warning-text",
15
- error: "bg-error-surface border-error-border text-error-text",
16
- neutral: "bg-layer-02 border-border text-text-primary [&>svg]:text-text-secondary"
14
+ info: "bg-info-3 border-info-7 text-info-11",
15
+ success: "bg-success-3 border-success-7 text-success-11",
16
+ warning: "bg-warning-3 border-warning-7 text-warning-11",
17
+ error: "bg-error-3 border-error-7 text-error-11",
18
+ neutral: "bg-surface-2 border-surface-border-strong text-surface-fg [&>svg]:text-surface-fg-muted"
17
19
  }
18
20
  },
19
21
  defaultVariants: { color: "info" }
20
22
  }
21
- ), y = {
22
- info: n,
23
- success: p,
24
- warning: g,
25
- error: x,
26
- neutral: n
27
- }, I = s.forwardRef(
28
- ({ className: a, color: t = "info", action: o, onDismiss: e, children: i, ...c }, l) => {
29
- const d = y[t ?? "info"], [f, m] = s.useState(!1), u = s.useCallback(() => {
30
- m(!0), setTimeout(() => e == null ? void 0 : e(), 150);
31
- }, [e]);
32
- return /* @__PURE__ */ b("div", { ref: l, className: w(N({ color: t }), f && "animate-collapse-out overflow-hidden", a), role: "alert", ...c, children: [
33
- /* @__PURE__ */ r(d, { className: "h-ico-md w-ico-md shrink-0", "aria-hidden": "true" }),
34
- /* @__PURE__ */ r("span", { className: "flex-1", children: i }),
35
- o && /* @__PURE__ */ r("span", { className: "shrink-0", children: o }),
36
- e && /* @__PURE__ */ r(
37
- "button",
38
- {
39
- type: "button",
40
- onClick: u,
41
- className: "shrink-0 min-h-ds-xs min-w-ds-xs flex items-center justify-center rounded-ds-sm text-icon-secondary transition-colors hover:text-icon-primary hover:bg-field focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-focus",
42
- "aria-label": "Dismiss",
43
- children: /* @__PURE__ */ r(h, { className: "h-ico-sm w-ico-sm" })
44
- }
45
- )
46
- ] });
23
+ ), A = {
24
+ info: o,
25
+ success: h,
26
+ warning: p,
27
+ error: g,
28
+ neutral: o
29
+ }, V = r.forwardRef(
30
+ ({ className: t, color: s = "info", action: n, onDismiss: i, children: a, ...c }, l) => {
31
+ const m = A[s ?? "info"], [f, d] = r.useState(!0), u = r.useCallback(() => {
32
+ d(!1);
33
+ }, []);
34
+ return /* @__PURE__ */ e(C, { onExitComplete: i, children: f && /* @__PURE__ */ b(
35
+ y.div,
36
+ {
37
+ ref: l,
38
+ initial: { height: "auto", opacity: 1 },
39
+ exit: { height: 0, opacity: 0 },
40
+ transition: N.snappy,
41
+ className: w(k({ color: s }), "overflow-hidden", t),
42
+ role: "alert",
43
+ ...I(c),
44
+ children: [
45
+ /* @__PURE__ */ e(m, { className: "h-ico-md w-ico-md shrink-0", "aria-hidden": "true" }),
46
+ /* @__PURE__ */ e("span", { className: "flex-1", children: a }),
47
+ n && /* @__PURE__ */ e("span", { className: "shrink-0", children: n }),
48
+ i && /* @__PURE__ */ e(
49
+ "button",
50
+ {
51
+ type: "button",
52
+ onClick: u,
53
+ className: "shrink-0 min-h-ds-xs min-w-ds-xs flex items-center justify-center rounded-ds-sm text-surface-fg-subtle transition-colors hover:text-surface-fg-muted hover:bg-surface-3 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent-9",
54
+ "aria-label": "Dismiss",
55
+ children: /* @__PURE__ */ e(x, { className: "h-ico-sm w-ico-sm" })
56
+ }
57
+ )
58
+ ]
59
+ }
60
+ ) });
47
61
  }
48
62
  );
49
- I.displayName = "Banner";
63
+ V.displayName = "Banner";
50
64
  export {
51
- I as Banner,
52
- N as bannerVariants
65
+ V as Banner,
66
+ k as bannerVariants
53
67
  };
@@ -17,5 +17,7 @@ declare const BreadcrumbEllipsis: {
17
17
  ({ className, ...props }: React.ComponentProps<"span">): import("react/jsx-runtime").JSX.Element;
18
18
  displayName: string;
19
19
  };
20
+ export type BreadcrumbProps = React.ComponentPropsWithoutRef<'nav'>;
21
+ export type BreadcrumbLinkProps = React.ComponentPropsWithoutRef<'a'>;
20
22
  export { Breadcrumb, BreadcrumbList, BreadcrumbItem, BreadcrumbLink, BreadcrumbPage, BreadcrumbSeparator, BreadcrumbEllipsis, };
21
23
  //# sourceMappingURL=breadcrumb.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"breadcrumb.d.ts","sourceRoot":"","sources":["../../src/ui/breadcrumb.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,QAAA,MAAM,UAAU;gBAEwC,KAAK,CAAC,SAAS;qCACO,CAAA;AAG9E,QAAA,MAAM,cAAc,2KAWnB,CAAA;AAGD,QAAA,MAAM,cAAc,kKAInB,CAAA;AAGD,QAAA,MAAM,cAAc;cAEgC,OAAO;2CAczD,CAAA;AAGF,QAAA,MAAM,cAAc,sKASnB,CAAA;AAGD,QAAA,MAAM,mBAAmB;wCAAuC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC;;CASzF,CAAA;AAGD,QAAA,MAAM,kBAAkB;8BAA6B,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC;;CAUhF,CAAA;AAGD,OAAO,EACL,UAAU,EACV,cAAc,EACd,cAAc,EACd,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,kBAAkB,GACnB,CAAA"}
1
+ {"version":3,"file":"breadcrumb.d.ts","sourceRoot":"","sources":["../../src/ui/breadcrumb.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,QAAA,MAAM,UAAU;gBAEwC,KAAK,CAAC,SAAS;qCACO,CAAA;AAG9E,QAAA,MAAM,cAAc,2KAWnB,CAAA;AAGD,QAAA,MAAM,cAAc,kKAInB,CAAA;AAGD,QAAA,MAAM,cAAc;cAEgC,OAAO;2CAczD,CAAA;AAGF,QAAA,MAAM,cAAc,sKASnB,CAAA;AAGD,QAAA,MAAM,mBAAmB;wCAAuC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC;;CASzF,CAAA;AAGD,QAAA,MAAM,kBAAkB;8BAA6B,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC;;CAUhF,CAAA;AAGD,MAAM,MAAM,eAAe,GAAG,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAA;AACnE,MAAM,MAAM,mBAAmB,GAAG,KAAK,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAA;AAErE,OAAO,EACL,UAAU,EACV,cAAc,EACd,cAAc,EACd,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,kBAAkB,GACnB,CAAA"}
@@ -1,48 +1,48 @@
1
1
  "use client";
2
2
  import { jsx as s, jsxs as i } from "react/jsx-runtime";
3
- import { S as c } from "../_chunks/primitives.js";
3
+ import { S as t } from "../_chunks/primitives.js";
4
4
  import { IconDots as n, IconChevronRight as d } from "@tabler/icons-react";
5
- import * as o from "react";
5
+ import * as c from "react";
6
6
  import { c as m } from "../_chunks/utils.js";
7
- const l = o.forwardRef(({ ...e }, r) => /* @__PURE__ */ s("nav", { ref: r, "aria-label": "breadcrumb", ...e }));
7
+ const l = c.forwardRef(({ ...e }, r) => /* @__PURE__ */ s("nav", { ref: r, "aria-label": "breadcrumb", ...e }));
8
8
  l.displayName = "Breadcrumb";
9
- const p = o.forwardRef(
9
+ const f = c.forwardRef(
10
10
  ({ className: e, ...r }, a) => /* @__PURE__ */ s(
11
11
  "ol",
12
12
  {
13
13
  ref: a,
14
14
  className: m(
15
- "flex flex-wrap items-center gap-ds-02b break-words text-ds-md text-text-secondary sm:gap-ds-03",
15
+ "flex flex-wrap items-center gap-ds-02b break-words text-ds-md text-surface-fg-muted sm:gap-ds-03",
16
16
  e
17
17
  ),
18
18
  ...r
19
19
  }
20
20
  )
21
21
  );
22
- p.displayName = "BreadcrumbList";
23
- const u = o.forwardRef(
22
+ f.displayName = "BreadcrumbList";
23
+ const p = c.forwardRef(
24
24
  ({ className: e, ...r }, a) => /* @__PURE__ */ s("li", { ref: a, className: m("inline-flex items-center gap-ds-02b", e), ...r })
25
25
  );
26
- u.displayName = "BreadcrumbItem";
27
- const f = o.forwardRef(({ className: e, asChild: r = !1, ...a }, t) => /* @__PURE__ */ s(
28
- r ? c : "a",
26
+ p.displayName = "BreadcrumbItem";
27
+ const u = c.forwardRef(({ className: e, asChild: r = !1, ...a }, o) => /* @__PURE__ */ s(
28
+ r ? t : "a",
29
29
  {
30
- ref: t,
30
+ ref: o,
31
31
  className: m(
32
- "transition-colors hover:text-text-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-focus rounded-ds-sm",
32
+ "transition-colors hover:text-surface-fg focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent-9 rounded-ds-sm",
33
33
  e
34
34
  ),
35
35
  ...a
36
36
  }
37
37
  ));
38
- f.displayName = "BreadcrumbLink";
39
- const b = o.forwardRef(
38
+ u.displayName = "BreadcrumbLink";
39
+ const b = c.forwardRef(
40
40
  ({ className: e, ...r }, a) => /* @__PURE__ */ s(
41
41
  "span",
42
42
  {
43
43
  ref: a,
44
44
  "aria-current": "page",
45
- className: m("font-normal text-text-primary", e),
45
+ className: m("font-normal text-surface-fg", e),
46
46
  ...r
47
47
  }
48
48
  )
@@ -59,7 +59,7 @@ const N = ({ children: e, className: r, ...a }) => /* @__PURE__ */ s(
59
59
  }
60
60
  );
61
61
  N.displayName = "BreadcrumbSeparator";
62
- const x = ({ className: e, ...r }) => /* @__PURE__ */ i(
62
+ const g = ({ className: e, ...r }) => /* @__PURE__ */ i(
63
63
  "span",
64
64
  {
65
65
  role: "presentation",
@@ -72,13 +72,13 @@ const x = ({ className: e, ...r }) => /* @__PURE__ */ i(
72
72
  ]
73
73
  }
74
74
  );
75
- x.displayName = "BreadcrumbEllipsis";
75
+ g.displayName = "BreadcrumbEllipsis";
76
76
  export {
77
77
  l as Breadcrumb,
78
- x as BreadcrumbEllipsis,
79
- u as BreadcrumbItem,
80
- f as BreadcrumbLink,
81
- p as BreadcrumbList,
78
+ g as BreadcrumbEllipsis,
79
+ p as BreadcrumbItem,
80
+ u as BreadcrumbLink,
81
+ f as BreadcrumbList,
82
82
  b as BreadcrumbPage,
83
83
  N as BreadcrumbSeparator
84
84
  };
@@ -2,7 +2,7 @@
2
2
  import { VariantProps } from 'class-variance-authority';
3
3
  import * as React from 'react';
4
4
  export declare const buttonVariants: (props?: ({
5
- variant?: "link" | "default" | "solid" | "outline" | "destructive" | "ghost" | null | undefined;
5
+ variant?: "link" | "outline" | "default" | "solid" | "destructive" | "ghost" | null | undefined;
6
6
  color?: "default" | "error" | null | undefined;
7
7
  size?: "sm" | "md" | "icon" | "lg" | "icon-sm" | "icon-md" | "icon-lg" | null | undefined;
8
8
  } & import('class-variance-authority/types').ClassProp) | undefined) => string;
@@ -60,6 +60,15 @@ export interface ButtonProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonE
60
60
  loadingPosition?: 'start' | 'end' | 'center';
61
61
  /** Stretch to full width of parent */
62
62
  fullWidth?: boolean;
63
+ /**
64
+ * Async click handler — auto-manages loading → success/error states.
65
+ * When provided, the button shows a spinner while the promise is pending,
66
+ * then briefly flashes green (success) or red (error) before reverting.
67
+ * Overrides `onClick` and `loading` when active.
68
+ */
69
+ onClickAsync?: (e: React.MouseEvent<HTMLButtonElement>) => Promise<void>;
70
+ /** How long (ms) to show the success/error state before reverting. Default: 1500 */
71
+ asyncFeedbackDuration?: number;
63
72
  }
64
73
  declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
65
74
  export { Button };
@@ -1 +1 @@
1
- {"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../src/ui/button.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAEjE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAK9B,eAAO,MAAM,cAAc;;;;8EAoD1B,CAAA;AAwBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,MAAM,WAAW,WACf,SAAQ,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC,EAClE,YAAY,CAAC,OAAO,cAAc,CAAC;IACrC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,4CAA4C;IAC5C,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC3B,2CAA2C;IAC3C,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,yFAAyF;IACzF,eAAe,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAA;IAC5C,sCAAsC;IACtC,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,QAAA,MAAM,MAAM,uFAgHX,CAAA;AAGD,OAAO,EAAE,MAAM,EAAE,CAAA"}
1
+ {"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../src/ui/button.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAIjE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAM9B,eAAO,MAAM,cAAc;;;;8EAoD1B,CAAA;AAwBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,MAAM,WAAW,WACf,SAAQ,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC,EAClE,YAAY,CAAC,OAAO,cAAc,CAAC;IACrC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,4CAA4C;IAC5C,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC3B,2CAA2C;IAC3C,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,yFAAyF;IACzF,eAAe,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAA;IAC5C,sCAAsC;IACtC,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACxE,oFAAoF;IACpF,qBAAqB,CAAC,EAAE,MAAM,CAAA;CAC/B;AAED,QAAA,MAAM,MAAM,uFA8KX,CAAA;AAGD,OAAO,EAAE,MAAM,EAAE,CAAA"}
package/dist/ui/button.js CHANGED
@@ -1,12 +1,16 @@
1
1
  "use client";
2
- import { jsx as r, jsxs as x } from "react/jsx-runtime";
3
- import { e as B } from "../_chunks/vendor-utils.js";
4
- import { S as R, a as E } from "../_chunks/primitives.js";
5
- import * as G from "react";
6
- import { u as M, S as q } from "../_chunks/spinner.js";
7
- import { c as s } from "../_chunks/utils.js";
8
- const p = B(
9
- "inline-flex items-center justify-center gap-ds-03 whitespace-nowrap font-sans font-semibold select-none border border-transparent transition-[color,background-color,border-color,box-shadow,transform] duration-fast-01 ease-productive-standard active:translate-y-px focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-focus focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-[0.38]",
2
+ import { jsx as e, jsxs as C } from "react/jsx-runtime";
3
+ import { ag as K } from "../_chunks/vendor-utils.js";
4
+ import { IconCheck as L, IconX as O } from "@tabler/icons-react";
5
+ import { S as P, a as Q } from "../_chunks/primitives.js";
6
+ import * as a from "react";
7
+ import { u as U } from "../_chunks/button-group.js";
8
+ import { s as Y } from "../_chunks/motion2.js";
9
+ import { c as n } from "../_chunks/utils.js";
10
+ import { S as Z } from "../_chunks/spinner.js";
11
+ import { A as _, m as $ } from "../_chunks/motion.js";
12
+ const R = K(
13
+ "inline-flex items-center justify-center gap-ds-03 whitespace-nowrap font-sans font-semibold select-none border border-transparent focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent-9 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-action-disabled",
10
14
  {
11
15
  variants: {
12
16
  variant: {
@@ -17,7 +21,7 @@ const p = B(
17
21
  ghost: "",
18
22
  destructive: "",
19
23
  // alias → solid + error
20
- link: "text-text-link underline-offset-4 hover:underline active:opacity-[0.8]"
24
+ link: "text-info-11 underline-offset-4 hover:underline active:opacity-80"
21
25
  },
22
26
  color: {
23
27
  default: "",
@@ -36,23 +40,23 @@ const p = B(
36
40
  },
37
41
  compoundVariants: [
38
42
  // solid + default (primary)
39
- { variant: "solid", color: "default", className: "bg-interactive text-text-on-color hover:bg-interactive-hover active:bg-interactive-active shadow-01 hover:shadow-brand" },
43
+ { variant: "solid", color: "default", className: "bg-accent-9 text-accent-fg hover:bg-accent-10 active:bg-accent-10 shadow-01 hover:shadow-brand" },
40
44
  // "default" alias → same as solid + default
41
- { variant: "default", color: "default", className: "bg-interactive text-text-on-color hover:bg-interactive-hover active:bg-interactive-active shadow-01 hover:shadow-brand" },
42
- { variant: "default", color: "error", className: "bg-error text-text-on-color hover:bg-error-hover active:bg-error-hover shadow-01" },
45
+ { variant: "default", color: "default", className: "bg-accent-9 text-accent-fg hover:bg-accent-10 active:bg-accent-10 shadow-01 hover:shadow-brand" },
46
+ { variant: "default", color: "error", className: "bg-error-9 text-accent-fg hover:bg-error-9 active:bg-error-9 shadow-01" },
43
47
  // "destructive" alias → solid + error
44
- { variant: "destructive", color: "default", className: "bg-error text-text-on-color hover:bg-error-hover active:bg-error-hover shadow-01" },
45
- { variant: "destructive", color: "error", className: "bg-error text-text-on-color hover:bg-error-hover active:bg-error-hover shadow-01" },
48
+ { variant: "destructive", color: "default", className: "bg-error-9 text-accent-fg hover:bg-error-9 active:bg-error-9 shadow-01" },
49
+ { variant: "destructive", color: "error", className: "bg-error-9 text-accent-fg hover:bg-error-9 active:bg-error-9 shadow-01" },
46
50
  // solid + error
47
- { variant: "solid", color: "error", className: "bg-error text-text-on-color hover:bg-error-hover active:bg-error-hover shadow-01" },
51
+ { variant: "solid", color: "error", className: "bg-error-9 text-accent-fg hover:bg-error-9 active:bg-error-9 shadow-01" },
48
52
  // outline + default (secondary)
49
- { variant: "outline", color: "default", className: "bg-transparent text-interactive border-border-interactive hover:bg-interactive-subtle active:bg-layer-active" },
53
+ { variant: "outline", color: "default", className: "bg-transparent text-accent-11 border-accent-7 hover:bg-accent-2 active:bg-surface-4" },
50
54
  // outline + error (error-ghost)
51
- { variant: "outline", color: "error", className: "bg-transparent text-error border border-border-error hover:bg-error-surface active:bg-error-surface" },
55
+ { variant: "outline", color: "error", className: "bg-transparent text-error-11 border border-error-7 hover:bg-error-3 active:bg-error-3" },
52
56
  // ghost + default
53
- { variant: "ghost", color: "default", className: "bg-transparent text-text-secondary hover:bg-layer-02 hover:text-text-primary active:bg-layer-active" },
57
+ { variant: "ghost", color: "default", className: "bg-transparent text-surface-fg-muted hover:bg-surface-2 hover:text-surface-fg active:bg-surface-4" },
54
58
  // ghost + error
55
- { variant: "ghost", color: "error", className: "bg-transparent text-error hover:bg-error-surface hover:text-error active:bg-error-surface" }
59
+ { variant: "ghost", color: "error", className: "bg-transparent text-error-11 hover:bg-error-3 hover:text-error-11 active:bg-error-3" }
56
60
  ],
57
61
  defaultVariants: {
58
62
  variant: "solid",
@@ -60,7 +64,7 @@ const p = B(
60
64
  size: "md"
61
65
  }
62
66
  }
63
- ), A = {
67
+ ), W = {
64
68
  sm: "h-ico-sm w-ico-sm [&>svg]:h-ico-sm [&>svg]:w-ico-sm",
65
69
  md: "h-ico-sm w-ico-sm [&>svg]:h-ico-sm [&>svg]:w-ico-sm",
66
70
  lg: "h-ico-md w-ico-md [&>svg]:h-ico-md [&>svg]:w-ico-md",
@@ -68,7 +72,7 @@ const p = B(
68
72
  "icon-sm": "h-ico-sm w-ico-sm [&>svg]:h-ico-sm [&>svg]:w-ico-sm",
69
73
  "icon-md": "h-ico-sm w-ico-sm [&>svg]:h-ico-sm [&>svg]:w-ico-sm",
70
74
  "icon-lg": "h-ico-md w-ico-md [&>svg]:h-ico-md [&>svg]:w-ico-md"
71
- }, D = {
75
+ }, ee = {
72
76
  sm: "sm",
73
77
  md: "sm",
74
78
  lg: "md",
@@ -76,64 +80,96 @@ const p = B(
76
80
  "icon-sm": "sm",
77
81
  "icon-md": "sm",
78
82
  "icon-lg": "md"
79
- }, F = G.forwardRef(
83
+ }, re = a.forwardRef(
80
84
  ({
81
- className: c,
82
- variant: w,
83
- color: N,
84
- size: y,
85
- asChild: S = !1,
86
- startIcon: d,
87
- endIcon: l,
88
- loading: e = !1,
89
- loadingPosition: t = "start",
90
- fullWidth: m = !1,
91
- disabled: v,
92
- children: a,
93
- ...u
94
- }, h) => {
95
- const i = M(), b = w ?? i.variant, f = N ?? i.color, o = y ?? i.size ?? "md", g = A[o], z = D[o], n = e ? /* @__PURE__ */ r(q, { size: z }) : null;
96
- if (S) {
97
- const V = {
98
- className: s(
99
- p({ variant: b, color: f, size: o }),
100
- m && "w-full",
101
- c
85
+ className: b,
86
+ variant: A,
87
+ color: V,
88
+ size: B,
89
+ asChild: E = !1,
90
+ startIcon: h,
91
+ endIcon: p,
92
+ loading: F = !1,
93
+ loadingPosition: d = "start",
94
+ fullWidth: w = !1,
95
+ disabled: x,
96
+ onClick: M,
97
+ onClickAsync: m,
98
+ asyncFeedbackDuration: T = 1500,
99
+ children: c,
100
+ ...N
101
+ }, y) => {
102
+ const u = U(), S = A ?? u.variant, z = V ?? u.color, i = B ?? u.size ?? "md", f = W[i], G = ee[i], [t, l] = a.useState("idle"), j = a.useRef(), o = a.useRef(!0);
103
+ a.useEffect(() => () => {
104
+ o.current = !1, clearTimeout(j.current);
105
+ }, []);
106
+ const I = (v) => {
107
+ !m || t !== "idle" || (l("loading"), m(v).then(() => {
108
+ o.current && l("success");
109
+ }).catch(() => {
110
+ o.current && l("error");
111
+ }).finally(() => {
112
+ o.current && (j.current = setTimeout(() => {
113
+ o.current && l("idle");
114
+ }, T));
115
+ }));
116
+ }, k = !!m, r = k ? t === "loading" : F, s = t === "success" || t === "error", g = r ? /* @__PURE__ */ e(Z, { size: G }) : null;
117
+ if (E) {
118
+ const v = {
119
+ className: n(
120
+ R({ variant: S, color: z, size: i }),
121
+ w && "w-full",
122
+ b
102
123
  ),
103
- ref: h,
104
- disabled: v || e,
105
- "aria-busy": e || void 0,
106
- ...u
124
+ ref: y,
125
+ disabled: x || r,
126
+ "aria-busy": r || void 0,
127
+ ...N
107
128
  };
108
- return /* @__PURE__ */ r(R, { ...V, children: /* @__PURE__ */ r(E, { children: a }) });
129
+ return /* @__PURE__ */ e(P, { ...v, children: /* @__PURE__ */ e(Q, { children: c }) });
109
130
  }
110
- const j = () => e && t === "start" ? n : d ? /* @__PURE__ */ r("span", { className: s("inline-flex shrink-0 items-center justify-center", g), children: d }) : null, k = () => e && t === "end" ? n : l ? /* @__PURE__ */ r("span", { className: s("inline-flex shrink-0 items-center justify-center", g), children: l }) : null, C = () => e && t === "center" ? /* @__PURE__ */ x("span", { className: "relative inline-flex items-center justify-center", children: [
111
- /* @__PURE__ */ r("span", { className: "invisible", children: a }),
112
- /* @__PURE__ */ r("span", { className: "absolute inset-0 flex items-center justify-center", children: n })
113
- ] }) : a;
114
- return /* @__PURE__ */ x(
131
+ const X = () => r && d === "start" ? g : h ? /* @__PURE__ */ e("span", { className: n("inline-flex shrink-0 items-center justify-center", f), children: h }) : null, q = () => r && d === "end" ? g : p ? /* @__PURE__ */ e("span", { className: n("inline-flex shrink-0 items-center justify-center", f), children: p }) : null, D = () => r && d === "center" ? /* @__PURE__ */ C("span", { className: "relative inline-flex items-center justify-center", children: [
132
+ /* @__PURE__ */ e("span", { className: "invisible", children: c }),
133
+ /* @__PURE__ */ e("span", { className: "absolute inset-0 flex items-center justify-center", children: g })
134
+ ] }) : c, H = s ? t === "success" ? "bg-success-9 text-accent-fg border-transparent hover:bg-success-9" : "bg-error-9 text-accent-fg border-transparent hover:bg-error-9" : void 0, J = s ? /* @__PURE__ */ e(_, { mode: "wait", children: /* @__PURE__ */ e(
135
+ $.span,
136
+ {
137
+ initial: { opacity: 0, scale: 0.5 },
138
+ animate: { opacity: 1, scale: 1 },
139
+ exit: { opacity: 0, scale: 0.5 },
140
+ transition: Y.bouncy,
141
+ className: n("inline-flex shrink-0 items-center justify-center", f),
142
+ children: t === "success" ? /* @__PURE__ */ e(L, { className: "h-full w-full" }) : /* @__PURE__ */ e(O, { className: "h-full w-full" })
143
+ },
144
+ t
145
+ ) }) : null;
146
+ return /* @__PURE__ */ C(
115
147
  "button",
116
148
  {
117
- className: s(
118
- p({ variant: b, color: f, size: o }),
119
- m && "w-full",
120
- c
149
+ ...N,
150
+ className: n(
151
+ R({ variant: S, color: z, size: i }),
152
+ w && "w-full",
153
+ !r && !s && "active:scale-[0.97] transition-transform duration-100",
154
+ H,
155
+ s && "transition-colors duration-200",
156
+ b
121
157
  ),
122
- ref: h,
123
- disabled: v || e,
124
- "aria-busy": e || void 0,
125
- ...u,
158
+ ref: y,
159
+ disabled: x || r || s,
160
+ "aria-busy": r || void 0,
161
+ onClick: k ? I : M,
126
162
  children: [
127
- j(),
128
- C(),
129
- k()
163
+ s ? J : X(),
164
+ s ? c : D(),
165
+ s ? null : q()
130
166
  ]
131
167
  }
132
168
  );
133
169
  }
134
170
  );
135
- F.displayName = "Button";
171
+ re.displayName = "Button";
136
172
  export {
137
- F as Button,
138
- p as buttonVariants
173
+ re as Button,
174
+ R as buttonVariants
139
175
  };
package/dist/ui/card.d.ts CHANGED
@@ -2,7 +2,7 @@
2
2
  import { VariantProps } from 'class-variance-authority';
3
3
  import * as React from 'react';
4
4
  declare const cardVariants: (props?: ({
5
- variant?: "flat" | "default" | "outline" | "elevated" | null | undefined;
5
+ variant?: "flat" | "outline" | "default" | "elevated" | null | undefined;
6
6
  } & import('class-variance-authority/types').ClassProp) | undefined) => string;
7
7
  /**
8
8
  * Props for Card — a general-purpose content container with 4 elevation/style variants and
@@ -48,7 +48,7 @@ declare const cardVariants: (props?: ({
48
48
  * @example
49
49
  * // Flat card for a sidebar panel section (no shadow):
50
50
  * <Card variant="flat" className="p-ds-05">
51
- * <p className="text-text-secondary text-ds-sm">No recent activity</p>
51
+ * <p className="text-surface-fg-muted text-ds-sm">No recent activity</p>
52
52
  * </Card>
53
53
  * // These are just a few ways — feel free to combine props creatively!
54
54
  */
@@ -1 +1 @@
1
- {"version":3,"file":"card.d.ts","sourceRoot":"","sources":["../../src/ui/card.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAIjE,QAAA,MAAM,YAAY;;8EAajB,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,MAAM,WAAW,SACf,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAC1C,YAAY,CAAC,OAAO,YAAY,CAAC;IACnC,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB;AAED,QAAA,MAAM,IAAI,kFAaT,CAAA;AAGD,QAAA,MAAM,UAAU,6GASd,CAAA;AAGF,QAAA,MAAM,SAAS,6GASb,CAAA;AAGF,QAAA,MAAM,eAAe,6GASnB,CAAA;AAGF,QAAA,MAAM,WAAW,6GAKf,CAAA;AAGF,QAAA,MAAM,UAAU,6GASd,CAAA;AAGF,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,CAAA"}
1
+ {"version":3,"file":"card.d.ts","sourceRoot":"","sources":["../../src/ui/card.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAMjE,QAAA,MAAM,YAAY;;8EAajB,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,MAAM,WAAW,SACf,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAC1C,YAAY,CAAC,OAAO,YAAY,CAAC;IACnC,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB;AAED,QAAA,MAAM,IAAI,kFAuBT,CAAA;AAGD,QAAA,MAAM,UAAU,6GASd,CAAA;AAGF,QAAA,MAAM,SAAS,6GASb,CAAA;AAGF,QAAA,MAAM,eAAe,6GASnB,CAAA;AAGF,QAAA,MAAM,WAAW,6GAKf,CAAA;AAGF,QAAA,MAAM,UAAU,6GASd,CAAA;AAGF,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,CAAA"}