@devalok/shilp-sutra 0.11.0 → 0.13.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 (48) hide show
  1. package/dist/_chunks/button.js +5 -5
  2. package/dist/_chunks/card.js +5 -5
  3. package/dist/_chunks/checkbox.js +6 -6
  4. package/dist/_chunks/sidebar.js +21 -21
  5. package/dist/_chunks/utils.js +8 -5
  6. package/dist/composed/avatar-group.js +21 -21
  7. package/dist/composed/empty-state.d.ts +3 -1
  8. package/dist/composed/empty-state.d.ts.map +1 -1
  9. package/dist/composed/empty-state.js +38 -39
  10. package/dist/shell/bottom-navbar.js +22 -22
  11. package/dist/shell/notification-center.d.ts +10 -0
  12. package/dist/shell/notification-center.d.ts.map +1 -1
  13. package/dist/shell/notification-center.js +107 -92
  14. package/dist/shell/sidebar.d.ts +17 -1
  15. package/dist/shell/sidebar.d.ts.map +1 -1
  16. package/dist/shell/sidebar.js +198 -139
  17. package/dist/tailwind/index.cjs +190 -4
  18. package/dist/tailwind/preset.d.ts.map +1 -1
  19. package/dist/tailwind/preset.js +190 -4
  20. package/dist/tokens/semantic.css +1 -0
  21. package/dist/ui/alert.d.ts.map +1 -1
  22. package/dist/ui/alert.js +28 -26
  23. package/dist/ui/badge.js +2 -2
  24. package/dist/ui/banner.d.ts.map +1 -1
  25. package/dist/ui/banner.js +23 -21
  26. package/dist/ui/button.js +9 -9
  27. package/dist/ui/card.js +4 -4
  28. package/dist/ui/checkbox.js +9 -9
  29. package/dist/ui/chip.js +2 -2
  30. package/dist/ui/collapsible.js +12 -12
  31. package/dist/ui/context-menu.js +6 -6
  32. package/dist/ui/dropdown-menu.js +3 -3
  33. package/dist/ui/index.js +352 -350
  34. package/dist/ui/input.js +8 -8
  35. package/dist/ui/lib/utils.d.ts.map +1 -1
  36. package/dist/ui/lib/utils.js +8 -5
  37. package/dist/ui/menubar.js +3 -3
  38. package/dist/ui/progress.js +22 -22
  39. package/dist/ui/slider.js +8 -8
  40. package/dist/ui/stat-card.d.ts.map +1 -1
  41. package/dist/ui/stat-card.js +14 -14
  42. package/dist/ui/stepper.js +2 -2
  43. package/dist/ui/switch.js +1 -1
  44. package/dist/ui/tabs.js +14 -14
  45. package/dist/ui/toggle.js +1 -1
  46. package/llms-full.txt +16 -5
  47. package/llms.txt +17 -3
  48. package/package.json +1 -1
@@ -5,7 +5,7 @@ import { S as R, a as E } from "./primitives.js";
5
5
  import * as G from "react";
6
6
  import { u as M, S as q } from "./spinner.js";
7
7
  import { c as s } from "./utils.js";
8
- const p = V("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] duration-fast-01 ease-productive-standard 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]", {
8
+ const p = V("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]", {
9
9
  variants: {
10
10
  variant: {
11
11
  solid: "",
@@ -73,8 +73,8 @@ const p = V("inline-flex items-center justify-center gap-ds-03 whitespace-nowrap
73
73
  "icon-sm": "sm",
74
74
  "icon-md": "sm",
75
75
  "icon-lg": "md"
76
- }, F = G.forwardRef(({ className: c, variant: w, color: N, size: y, asChild: S = !1, startIcon: d, endIcon: l, loading: e = !1, loadingPosition: t = "start", fullWidth: m = !1, disabled: v, children: i, ...u }, h) => {
77
- const a = M(), b = w ?? a.variant, f = N ?? a.color, o = y ?? a.size ?? "md", g = A[o], z = D[o], n = e ? r(q, { size: z }) : null;
76
+ }, F = G.forwardRef(({ className: c, variant: w, color: N, size: y, asChild: S = !1, startIcon: d, endIcon: l, loading: e = !1, loadingPosition: t = "start", fullWidth: m = !1, disabled: v, children: a, ...u }, h) => {
77
+ const i = M(), b = w ?? i.variant, f = N ?? i.color, o = y ?? i.size ?? "md", g = A[o], z = D[o], n = e ? r(q, { size: z }) : null;
78
78
  if (S) {
79
79
  const C = {
80
80
  className: s(p({ variant: b, color: f, size: o }), m && "w-full", c),
@@ -83,9 +83,9 @@ const p = V("inline-flex items-center justify-center gap-ds-03 whitespace-nowrap
83
83
  "aria-busy": e || void 0,
84
84
  ...u
85
85
  };
86
- return r(R, { ...C, children: r(E, { children: i }) });
86
+ return r(R, { ...C, children: r(E, { children: a }) });
87
87
  }
88
- const j = () => e && t === "start" ? n : d ? r("span", { className: s("inline-flex shrink-0 items-center justify-center", g), children: d }) : null, k = () => e && t === "end" ? n : l ? r("span", { className: s("inline-flex shrink-0 items-center justify-center", g), children: l }) : null, B = () => e && t === "center" ? x("span", { className: "relative inline-flex items-center justify-center", children: [r("span", { className: "invisible", children: i }), r("span", { className: "absolute inset-0 flex items-center justify-center", children: n })] }) : i;
88
+ const j = () => e && t === "start" ? n : d ? r("span", { className: s("inline-flex shrink-0 items-center justify-center", g), children: d }) : null, k = () => e && t === "end" ? n : l ? r("span", { className: s("inline-flex shrink-0 items-center justify-center", g), children: l }) : null, B = () => e && t === "center" ? x("span", { className: "relative inline-flex items-center justify-center", children: [r("span", { className: "invisible", children: a }), r("span", { className: "absolute inset-0 flex items-center justify-center", children: n })] }) : a;
89
89
  return x("button", { className: s(p({ variant: b, color: f, size: o }), m && "w-full", c), ref: h, disabled: v || e, "aria-busy": e || void 0, ...u, children: [j(), B(), k()] });
90
90
  });
91
91
  F.displayName = "Button";
@@ -4,7 +4,7 @@ import * as o from "react";
4
4
  import { bj as n, bk as c } from "./primitives.js";
5
5
  import { c as s } from "./utils.js";
6
6
  import { e as l } from "./vendor-utils.js";
7
- const f = o.forwardRef(({ className: e, error: r, ...a }, d) => t(n, { className: s("peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-ds-full border-2 border-transparent shadow-01 transition-colors duration-fast-01 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-focus focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-[0.38] data-[state=checked]:bg-interactive data-[state=unchecked]:bg-border-strong", r && "border-border-error data-[state=checked]:bg-error", e), ...a, ref: d, children: t(c, { className: s("pointer-events-none block h-ico-md w-ico-md rounded-ds-full bg-text-on-color shadow-02 ring-0 transition-transform duration-fast-01 data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0") }) }));
7
+ const f = o.forwardRef(({ className: e, error: r, ...a }, d) => t(n, { className: s("peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-ds-full border-2 border-transparent shadow-01 transition-colors duration-fast-01 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-focus focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-[0.38] data-[state=checked]:bg-interactive data-[state=unchecked]:bg-border-strong", r && "border-border-error data-[state=checked]:bg-error", e), ...a, ref: d, children: t(c, { className: s("pointer-events-none block h-ico-md w-ico-md rounded-ds-full bg-text-on-color shadow-02 ring-0 transition-transform duration-moderate-01 ease-bounce data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0") }) }));
8
8
  f.displayName = n.displayName;
9
9
  const b = l("rounded-ds-lg text-text-primary", {
10
10
  variants: {
@@ -16,7 +16,7 @@ const b = l("rounded-ds-lg text-text-primary", {
16
16
  }
17
17
  },
18
18
  defaultVariants: { variant: "default" }
19
- }), m = o.forwardRef(({ className: e, variant: r, interactive: a, ...d }, i) => t("div", { ref: i, className: s(b({ variant: r }), a && "hover:shadow-02 hover:border-border-strong cursor-pointer transition-shadow duration-fast-01", e), ...d }));
19
+ }), m = o.forwardRef(({ className: e, variant: r, interactive: a, ...d }, i) => t("div", { ref: i, className: s(b({ variant: r }), a && "hover:shadow-02 hover:border-border-strong hover:-translate-y-px active:scale-[0.98] cursor-pointer transition-all duration-fast-02 ease-productive-standard", e), ...d }));
20
20
  m.displayName = "Card";
21
21
  const p = o.forwardRef(({ className: e, ...r }, a) => t("div", { ref: a, className: s("flex flex-col space-y-ds-02b p-ds-06", e), ...r }));
22
22
  p.displayName = "CardHeader";
@@ -26,8 +26,8 @@ const h = o.forwardRef(({ className: e, ...r }, a) => t("div", { ref: a, classNa
26
26
  h.displayName = "CardDescription";
27
27
  const v = o.forwardRef(({ className: e, ...r }, a) => t("div", { ref: a, className: s("p-ds-06 pt-0", e), ...r }));
28
28
  v.displayName = "CardContent";
29
- const w = o.forwardRef(({ className: e, ...r }, a) => t("div", { ref: a, className: s("flex items-center p-ds-06 pt-0", e), ...r }));
30
- w.displayName = "CardFooter";
29
+ const g = o.forwardRef(({ className: e, ...r }, a) => t("div", { ref: a, className: s("flex items-center p-ds-06 pt-0", e), ...r }));
30
+ g.displayName = "CardFooter";
31
31
  export {
32
32
  m as C,
33
33
  f as S,
@@ -35,6 +35,6 @@ export {
35
35
  u as b,
36
36
  v as c,
37
37
  h as d,
38
- w as e,
38
+ g as e,
39
39
  b as f
40
40
  };
@@ -1,12 +1,12 @@
1
1
  "use client";
2
2
  import { jsx as e } from "react/jsx-runtime";
3
- import { C as r, b as n } from "./primitives.js";
3
+ import { C as r, b as d } from "./primitives.js";
4
4
  import { IconMinus as m, IconCheck as l } from "@tabler/icons-react";
5
- import * as b from "react";
6
- import { c as f } from "./utils.js";
7
- const h = b.forwardRef(({ className: o, error: i, indeterminate: a, checked: s, ...c }, d) => {
8
- const t = a ? "indeterminate" : s;
9
- return e(r, { ref: d, checked: t, className: f("peer h-ico-md w-ico-md shrink-0 rounded-ds-sm", "border border-border-strong", "bg-field", "transition-colors duration-fast-01", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-focus focus-visible:ring-offset-2", "disabled:cursor-not-allowed disabled:opacity-[0.38]", "data-[state=checked]:bg-interactive data-[state=checked]:border-interactive data-[state=checked]:text-text-on-color", "data-[state=indeterminate]:bg-interactive data-[state=indeterminate]:border-interactive data-[state=indeterminate]:text-text-on-color", i && "border-border-error", o), ...c, children: e(n, { className: "flex items-center justify-center text-current", children: t === "indeterminate" ? e(m, { className: "h-ico-sm w-ico-sm" }) : e(l, { className: "h-ico-sm w-ico-sm" }) }) });
5
+ import * as f from "react";
6
+ import { c as b } from "./utils.js";
7
+ const h = f.forwardRef(({ className: i, error: o, indeterminate: a, checked: c, ...s }, n) => {
8
+ const t = a ? "indeterminate" : c;
9
+ return e(r, { ref: n, checked: t, className: b("peer flex items-center justify-center h-ico-md w-ico-md shrink-0 rounded-ds-sm", "border border-border-strong", "bg-field", "transition-colors duration-fast-01", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-focus focus-visible:ring-offset-2", "disabled:cursor-not-allowed disabled:opacity-[0.38]", "data-[state=checked]:bg-interactive data-[state=checked]:border-interactive data-[state=checked]:text-text-on-color", "data-[state=indeterminate]:bg-interactive data-[state=indeterminate]:border-interactive data-[state=indeterminate]:text-text-on-color", o && "border-border-error", i), ...s, children: e(d, { className: "flex items-center justify-center text-current animate-check-pop", children: t === "indeterminate" ? e(m, { className: "h-ico-sm w-ico-sm" }) : e(l, { className: "h-3 w-3" }) }) });
10
10
  });
11
11
  h.displayName = r.displayName;
12
12
  export {
@@ -15,11 +15,11 @@ import { T as $, a as P, b as W, c as U } from "./tooltip.js";
15
15
  const X = z([
16
16
  "flex w-full font-sans",
17
17
  "bg-field text-text-primary",
18
- "border border-border rounded-ds-md",
18
+ "border border-border-subtle rounded-ds-md",
19
19
  "placeholder:text-text-placeholder",
20
20
  "hover:bg-field-hover",
21
21
  "transition-colors duration-fast-01",
22
- "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-focus focus-visible:border-border-interactive",
22
+ "focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-focus/50 focus-visible:border-border-subtle",
23
23
  "disabled:cursor-not-allowed disabled:opacity-[0.38]",
24
24
  "read-only:bg-layer-02 read-only:cursor-default"
25
25
  ], {
@@ -32,7 +32,7 @@ const X = z([
32
32
  },
33
33
  defaultVariants: { size: "md" }
34
34
  }), T = B.forwardRef(({ className: a, type: e, state: t, size: d, startIcon: s, endIcon: n, ...c }, f) => {
35
- const l = K(), u = t ?? (l.state === "helper" ? void 0 : l.state), p = c["aria-describedby"] ?? l.helperTextId, g = c["aria-required"] ?? l.required, y = r("input", { type: e, className: i(X({ size: d }), s && "pl-ds-08", n && "pr-ds-08", u === "error" && "border-border-error focus-visible:ring-error", u === "warning" && "border-border-warning focus-visible:ring-warning", u === "success" && "border-border-success focus-visible:ring-success", a), "aria-invalid": u === "error" || void 0, "aria-describedby": p, "aria-required": g || void 0, ref: f, ...c });
35
+ const l = K(), u = t ?? (l.state === "helper" ? void 0 : l.state), b = c["aria-describedby"] ?? l.helperTextId, g = c["aria-required"] ?? l.required, y = r("input", { type: e, className: i(X({ size: d }), s && "pl-ds-07", n && "pr-ds-07", u === "error" && "border-border-error focus-visible:ring-error", u === "warning" && "border-border-warning focus-visible:ring-warning", u === "success" && "border-border-success focus-visible:ring-success", a), "aria-invalid": u === "error" || void 0, "aria-describedby": b, "aria-required": g || void 0, ref: f, ...c });
36
36
  return !s && !n ? y : x("div", { className: "relative flex items-center w-full", children: [s && r("span", { className: "absolute left-ds-03 flex items-center text-text-secondary pointer-events-none [&>svg]:h-ico-sm [&>svg]:w-ico-sm", children: s }), y, n && r("span", { className: "absolute right-ds-03 flex items-center text-text-secondary pointer-events-none [&>svg]:h-ico-sm [&>svg]:w-ico-sm", children: n })] });
37
37
  });
38
38
  T.displayName = "Input";
@@ -55,18 +55,18 @@ const te = o(
55
55
  children: n,
56
56
  ...c
57
57
  }, f) => {
58
- const l = G(), [u, p] = _(!1), [g, y] = _(a), h = e ?? g, w = C(
59
- (b) => {
60
- const m = typeof b == "function" ? b(h) : b;
58
+ const l = G(), [u, b] = _(!1), [g, y] = _(a), h = e ?? g, w = C(
59
+ (p) => {
60
+ const m = typeof p == "function" ? p(h) : p;
61
61
  t ? t(m) : y(m), document.cookie = `${Y}=${m}; path=/; max-age=${J}`;
62
62
  },
63
63
  [t, h]
64
- ), S = C(() => l ? p((b) => !b) : w((b) => !b), [l, w, p]);
64
+ ), S = C(() => l ? b((p) => !p) : w((p) => !p), [l, w, b]);
65
65
  j(() => {
66
- const b = (m) => {
66
+ const p = (m) => {
67
67
  m.key === ae && (m.metaKey || m.ctrlKey) && (m.preventDefault(), S());
68
68
  };
69
- return window.addEventListener("keydown", b), () => window.removeEventListener("keydown", b);
69
+ return window.addEventListener("keydown", p), () => window.removeEventListener("keydown", p);
70
70
  }, [S]);
71
71
  const M = h ? "expanded" : "collapsed", D = E(
72
72
  () => ({
@@ -75,7 +75,7 @@ const te = o(
75
75
  setOpen: w,
76
76
  isMobile: l,
77
77
  openMobile: u,
78
- setOpenMobile: p,
78
+ setOpenMobile: b,
79
79
  toggleSidebar: S
80
80
  }),
81
81
  [
@@ -84,7 +84,7 @@ const te = o(
84
84
  w,
85
85
  l,
86
86
  u,
87
- p,
87
+ b,
88
88
  S
89
89
  ]
90
90
  );
@@ -117,7 +117,7 @@ const re = o(
117
117
  children: s,
118
118
  ...n
119
119
  }, c) => {
120
- const { isMobile: f, state: l, openMobile: u, setOpenMobile: p } = N();
120
+ const { isMobile: f, state: l, openMobile: u, setOpenMobile: b } = N();
121
121
  return t === "none" ? /* @__PURE__ */ r(
122
122
  "div",
123
123
  {
@@ -129,7 +129,7 @@ const re = o(
129
129
  ...n,
130
130
  children: s
131
131
  }
132
- ) : f ? /* @__PURE__ */ r(V, { open: u, onOpenChange: p, ...n, children: /* @__PURE__ */ r(
132
+ ) : f ? /* @__PURE__ */ r(V, { open: u, onOpenChange: b, ...n, children: /* @__PURE__ */ r(
133
133
  F,
134
134
  {
135
135
  "data-sidebar": "sidebar",
@@ -317,7 +317,7 @@ const ue = o(
317
317
  )
318
318
  );
319
319
  ue.displayName = "SidebarContent";
320
- const pe = o(
320
+ const be = o(
321
321
  ({ className: a, ...e }, t) => /* @__PURE__ */ r(
322
322
  "div",
323
323
  {
@@ -328,8 +328,8 @@ const pe = o(
328
328
  }
329
329
  )
330
330
  );
331
- pe.displayName = "SidebarGroup";
332
- const be = o(({ className: a, asChild: e = !1, ...t }, d) => /* @__PURE__ */ r(
331
+ be.displayName = "SidebarGroup";
332
+ const pe = o(({ className: a, asChild: e = !1, ...t }, d) => /* @__PURE__ */ r(
333
333
  e ? v : "div",
334
334
  {
335
335
  ref: d,
@@ -342,7 +342,7 @@ const be = o(({ className: a, asChild: e = !1, ...t }, d) => /* @__PURE__ */ r(
342
342
  ...t
343
343
  }
344
344
  ));
345
- be.displayName = "SidebarGroupLabel";
345
+ pe.displayName = "SidebarGroupLabel";
346
346
  const me = o(({ className: a, asChild: e = !1, ...t }, d) => /* @__PURE__ */ r(
347
347
  e ? v : "button",
348
348
  {
@@ -423,7 +423,7 @@ const xe = z(
423
423
  className: n,
424
424
  ...c
425
425
  }, f) => {
426
- const l = a ? v : "button", { isMobile: u, state: p } = N(), g = /* @__PURE__ */ r(
426
+ const l = a ? v : "button", { isMobile: u, state: b } = N(), g = /* @__PURE__ */ r(
427
427
  l,
428
428
  {
429
429
  ref: f,
@@ -443,7 +443,7 @@ const xe = z(
443
443
  {
444
444
  side: "right",
445
445
  align: "center",
446
- hidden: p !== "collapsed" || u,
446
+ hidden: b !== "collapsed" || u,
447
447
  ...s
448
448
  }
449
449
  )
@@ -567,8 +567,8 @@ export {
567
567
  ne as a,
568
568
  ce as b,
569
569
  ue as c,
570
- pe as d,
571
- be as e,
570
+ be as d,
571
+ pe as e,
572
572
  me as f,
573
573
  fe as g,
574
574
  ge as h,
@@ -1,14 +1,17 @@
1
- import { g as s, h as t } from "./vendor-utils.js";
2
- const n = t({
1
+ import { g as d, h as e } from "./vendor-utils.js";
2
+ const t = e({
3
3
  extend: {
4
+ theme: {
5
+ spacing: ["ds-01", "ds-02", "ds-02b", "ds-03", "ds-04", "ds-05", "ds-05b", "ds-06", "ds-06b", "ds-07", "ds-08", "ds-09", "ds-10", "ds-11", "ds-12", "ds-13"]
6
+ },
4
7
  classGroups: {
5
8
  "font-size": [{ "text-ds": ["xs", "sm", "md"] }]
6
9
  }
7
10
  }
8
11
  });
9
- function o(...e) {
10
- return n(s(e));
12
+ function r(...s) {
13
+ return t(d(s));
11
14
  }
12
15
  export {
13
- o as c
16
+ r as c
14
17
  };
@@ -1,12 +1,12 @@
1
1
  "use client";
2
- import { jsx as e, jsxs as r } from "react/jsx-runtime";
2
+ import { jsx as e, jsxs as s } from "react/jsx-runtime";
3
3
  import * as u from "react";
4
4
  import { e as w } from "../_chunks/vendor-utils.js";
5
- import { c as d } from "../_chunks/utils.js";
5
+ import { c as i } from "../_chunks/utils.js";
6
6
  import { A, a as T, b as C } from "../_chunks/avatar.js";
7
7
  import { T as I, a as f, b as p, c as h } from "../_chunks/tooltip.js";
8
8
  import { getInitials as j } from "./lib/string-utils.js";
9
- const x = w(
9
+ const v = w(
10
10
  "shrink-0 overflow-hidden rounded-ds-full border-2 border-layer-01",
11
11
  {
12
12
  variants: {
@@ -21,34 +21,34 @@ const x = w(
21
21
  }
22
22
  }
23
23
  ), z = u.forwardRef(
24
- ({ users: s, max: l = 4, size: o, showTooltip: b = !0, className: v, ...g }, y) => {
25
- const i = s.slice(0, l), m = s.length - l, n = {
24
+ ({ users: r, max: l = 4, size: d, showTooltip: b = !0, className: x, ...g }, y) => {
25
+ const o = r.slice(0, l), m = r.length - l, n = {
26
26
  sm: "-ml-ds-02b",
27
27
  md: "-ml-ds-03",
28
28
  lg: "-ml-ds-04"
29
- }[o ?? "md"];
30
- return /* @__PURE__ */ e(I, { children: /* @__PURE__ */ r(
29
+ }[d ?? "md"];
30
+ return /* @__PURE__ */ e(I, { children: /* @__PURE__ */ s(
31
31
  "div",
32
32
  {
33
33
  ref: y,
34
- className: d("flex items-center", v),
34
+ className: i("flex items-center", x),
35
35
  ...g,
36
36
  children: [
37
- i.map((a, t) => {
38
- const N = j(a.name), c = /* @__PURE__ */ r(
37
+ o.map((a, t) => {
38
+ const N = j(a.name), c = /* @__PURE__ */ s(
39
39
  A,
40
40
  {
41
- className: d(
42
- x({ size: o }),
41
+ className: i(
42
+ v({ size: d }),
43
43
  t > 0 && n
44
44
  ),
45
- style: { zIndex: i.length - t },
45
+ style: { zIndex: o.length - t },
46
46
  children: [
47
47
  a.image && /* @__PURE__ */ e(T, { src: a.image, alt: a.name }),
48
48
  /* @__PURE__ */ e(
49
49
  C,
50
50
  {
51
- className: "bg-field font-body font-semibold text-text-on-color",
51
+ className: "font-body font-semibold",
52
52
  children: N
53
53
  }
54
54
  )
@@ -56,7 +56,7 @@ const x = w(
56
56
  },
57
57
  t
58
58
  );
59
- return b ? /* @__PURE__ */ r(f, { children: [
59
+ return b ? /* @__PURE__ */ s(f, { children: [
60
60
  /* @__PURE__ */ e(p, { asChild: !0, children: c }),
61
61
  /* @__PURE__ */ e(
62
62
  h,
@@ -68,14 +68,14 @@ const x = w(
68
68
  )
69
69
  ] }, t) : c;
70
70
  }),
71
- m > 0 && /* @__PURE__ */ r(f, { children: [
72
- /* @__PURE__ */ e(p, { asChild: !0, children: /* @__PURE__ */ r(
71
+ m > 0 && /* @__PURE__ */ s(f, { children: [
72
+ /* @__PURE__ */ e(p, { asChild: !0, children: /* @__PURE__ */ s(
73
73
  "div",
74
74
  {
75
- className: d(
76
- x({ size: o }),
75
+ className: i(
76
+ v({ size: d }),
77
77
  n,
78
- "flex cursor-default items-center justify-center bg-layer-03 font-body font-semibold text-text-on-color"
78
+ "flex cursor-default items-center justify-center bg-interactive-subtle font-body font-semibold text-interactive"
79
79
  ),
80
80
  style: { zIndex: 0 },
81
81
  children: [
@@ -89,7 +89,7 @@ const x = w(
89
89
  {
90
90
  className: "border-border bg-layer-01 text-text-primary",
91
91
  sideOffset: 6,
92
- children: /* @__PURE__ */ e("div", { className: "flex flex-col gap-ds-01", children: s.slice(l).map((a, t) => /* @__PURE__ */ e("p", { className: "text-ds-sm", children: a.name }, t)) })
92
+ children: /* @__PURE__ */ e("div", { className: "flex flex-col gap-ds-01", children: r.slice(l).map((a, t) => /* @__PURE__ */ e("p", { className: "text-ds-sm", children: a.name }, t)) })
93
93
  }
94
94
  )
95
95
  ] })
@@ -1,6 +1,8 @@
1
1
  import * as React from 'react';
2
2
  export interface EmptyStateProps extends React.HTMLAttributes<HTMLDivElement> {
3
- icon?: React.ReactNode;
3
+ icon?: React.ReactNode | React.ComponentType<{
4
+ className?: string;
5
+ }>;
4
6
  title: string;
5
7
  description?: string;
6
8
  action?: React.ReactNode;
@@ -1 +1 @@
1
- {"version":3,"file":"empty-state.d.ts","sourceRoot":"","sources":["../../src/composed/empty-state.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,MAAM,WAAW,eAAgB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC3E,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACxB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAcD,QAAA,MAAM,UAAU,wFAkEf,CAAA;AAGD,OAAO,EAAE,UAAU,EAAE,CAAA"}
1
+ {"version":3,"file":"empty-state.d.ts","sourceRoot":"","sources":["../../src/composed/empty-state.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,MAAM,WAAW,eAAgB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC3E,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,aAAa,CAAC;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACpE,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACxB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAcD,QAAA,MAAM,UAAU,wFAwEf,CAAA;AAGD,OAAO,EAAE,UAAU,EAAE,CAAA"}
@@ -1,85 +1,84 @@
1
- import { jsx as e, jsxs as r } from "react/jsx-runtime";
2
- import * as n from "react";
3
- import { c } from "../_chunks/utils.js";
4
- const h = ({ className: t }) => /* @__PURE__ */ e(
1
+ import { jsx as t, jsxs as m } from "react/jsx-runtime";
2
+ import * as c from "react";
3
+ import { c as s } from "../_chunks/utils.js";
4
+ const h = ({ className: e }) => /* @__PURE__ */ t(
5
5
  "svg",
6
6
  {
7
7
  xmlns: "http://www.w3.org/2000/svg",
8
8
  viewBox: "0 0 32 32",
9
9
  fill: "currentColor",
10
- className: t,
10
+ className: e,
11
11
  "aria-hidden": "true",
12
- children: /* @__PURE__ */ e("path", { d: "M25.97,21.39c-0.9-1.85,0.08-3.95-1.72-5.39c1.76-1.44,0.8-3.55,1.69-5.39c0.05-0.12,0.04-0.25-0.02-0.35c-0.06-0.1-0.16-0.18-0.29-0.19c-2.05-0.15-3.35-2.04-5.5-1.21c-0.39-2.21-2.7-2.44-3.84-4.13c-0.08-0.1-0.19-0.16-0.31-0.16c-0.12,0-0.23,0.05-0.31,0.16c-1.14,1.69-3.43,1.92-3.82,4.13c-2.14-0.83-3.47,1.07-5.52,1.21c-0.13,0.01-0.23,0.09-0.29,0.19c-0.06,0.1-0.07,0.23-0.02,0.35c0.9,1.85-0.08,3.95,1.72,5.39c-1.76,1.44-0.8,3.55-1.69,5.39C6,21.51,6.02,21.64,6.07,21.74c0.06,0.1,0.16,0.18,0.29,0.19c2.05,0.15,3.38,2.06,5.52,1.23c0.39,2.21,2.67,2.43,3.82,4.12c0.08,0.1,0.19,0.16,0.31,0.16c0.12,0,0.23-0.05,0.31-0.16c1.14-1.69,3.42-1.92,3.81-4.13c2.14,0.83,3.48-1.07,5.53-1.22c0.13-0.01,0.23-0.09,0.29-0.19C26.01,21.64,26.02,21.51,25.97,21.39z" })
12
+ children: /* @__PURE__ */ t("path", { d: "M25.97,21.39c-0.9-1.85,0.08-3.95-1.72-5.39c1.76-1.44,0.8-3.55,1.69-5.39c0.05-0.12,0.04-0.25-0.02-0.35c-0.06-0.1-0.16-0.18-0.29-0.19c-2.05-0.15-3.35-2.04-5.5-1.21c-0.39-2.21-2.7-2.44-3.84-4.13c-0.08-0.1-0.19-0.16-0.31-0.16c-0.12,0-0.23,0.05-0.31,0.16c-1.14,1.69-3.43,1.92-3.82,4.13c-2.14-0.83-3.47,1.07-5.52,1.21c-0.13,0.01-0.23,0.09-0.29,0.19c-0.06,0.1-0.07,0.23-0.02,0.35c0.9,1.85-0.08,3.95,1.72,5.39c-1.76,1.44-0.8,3.55-1.69,5.39C6,21.51,6.02,21.64,6.07,21.74c0.06,0.1,0.16,0.18,0.29,0.19c2.05,0.15,3.38,2.06,5.52,1.23c0.39,2.21,2.67,2.43,3.82,4.12c0.08,0.1,0.19,0.16,0.31,0.16c0.12,0,0.23-0.05,0.31-0.16c1.14-1.69,3.42-1.92,3.81-4.13c2.14,0.83,3.48-1.07,5.53-1.22c0.13-0.01,0.23-0.09,0.29-0.19C26.01,21.64,26.02,21.51,25.97,21.39z" })
13
13
  }
14
- ), f = n.forwardRef(
14
+ ), y = c.forwardRef(
15
15
  ({
16
- icon: t,
17
- title: a,
16
+ icon: e,
17
+ title: o,
18
18
  description: d,
19
- action: l,
20
- compact: s = !1,
19
+ action: a,
20
+ compact: l = !1,
21
21
  className: i,
22
- ...m
23
- }, o) => {
24
- const x = t ?? /* @__PURE__ */ e(
22
+ ...n
23
+ }, x) => {
24
+ const r = l ? "h-ico-md w-ico-md" : "h-ico-lg w-ico-lg", f = e != null && !c.isValidElement(e) && (typeof e == "function" || typeof e == "object" && "$$typeof" in e), p = e ? f ? c.createElement(e, {
25
+ className: s("text-text-placeholder", r)
26
+ }) : e : /* @__PURE__ */ t(
25
27
  h,
26
28
  {
27
- className: c(
28
- "text-text-placeholder",
29
- s ? "h-ico-md w-ico-md" : "h-ico-lg w-ico-lg"
30
- )
29
+ className: s("text-text-placeholder", r)
31
30
  }
32
31
  );
33
- return /* @__PURE__ */ r(
32
+ return /* @__PURE__ */ m(
34
33
  "div",
35
34
  {
36
- ref: o,
37
- className: c(
35
+ ref: x,
36
+ className: s(
38
37
  "flex flex-col items-center justify-center text-center",
39
- s ? "gap-ds-04 py-ds-07" : "gap-ds-05 py-ds-10",
38
+ l ? "gap-ds-04 py-ds-07" : "gap-ds-05 py-ds-10",
40
39
  i
41
40
  ),
42
- ...m,
41
+ ...n,
43
42
  children: [
44
- /* @__PURE__ */ e(
43
+ /* @__PURE__ */ t(
45
44
  "div",
46
45
  {
47
- className: c(
48
- "flex items-center justify-center rounded-ds-xl bg-layer-02",
49
- s ? "h-ds-md w-ds-md" : "h-ds-lg w-ds-lg"
46
+ className: s(
47
+ "flex items-center justify-center rounded-ds-xl bg-layer-02 animate-float",
48
+ l ? "h-ds-md w-ds-md" : "h-ds-lg w-ds-lg"
50
49
  ),
51
- children: x
50
+ children: p
52
51
  }
53
52
  ),
54
- /* @__PURE__ */ r("div", { className: "flex max-w-[280px] flex-col gap-ds-02", children: [
55
- /* @__PURE__ */ e(
53
+ /* @__PURE__ */ m("div", { className: "flex max-w-[280px] flex-col gap-ds-02", children: [
54
+ /* @__PURE__ */ t(
56
55
  "h3",
57
56
  {
58
- className: c(
57
+ className: s(
59
58
  "text-text-primary",
60
- s ? "text-ds-md font-semibold" : "text-ds-base font-semibold"
59
+ l ? "text-ds-md font-semibold" : "text-ds-base font-semibold"
61
60
  ),
62
- children: a
61
+ children: o
63
62
  }
64
63
  ),
65
- d && /* @__PURE__ */ e(
64
+ d && /* @__PURE__ */ t(
66
65
  "p",
67
66
  {
68
- className: c(
67
+ className: s(
69
68
  "text-text-placeholder",
70
- s ? "text-ds-sm" : "text-ds-md"
69
+ l ? "text-ds-sm" : "text-ds-md"
71
70
  ),
72
71
  children: d
73
72
  }
74
73
  )
75
74
  ] }),
76
- l && /* @__PURE__ */ e("div", { className: "mt-ds-02", children: l })
75
+ a && /* @__PURE__ */ t("div", { className: "mt-ds-02", children: a })
77
76
  ]
78
77
  }
79
78
  );
80
79
  }
81
80
  );
82
- f.displayName = "EmptyState";
81
+ y.displayName = "EmptyState";
83
82
  export {
84
- f as EmptyState
83
+ y as EmptyState
85
84
  };
@@ -1,12 +1,12 @@
1
1
  "use client";
2
- import { jsxs as s, Fragment as v, jsx as t } from "react/jsx-runtime";
2
+ import { jsxs as a, Fragment as v, jsx as t } from "react/jsx-runtime";
3
3
  import * as g from "react";
4
4
  import { useState as N } from "react";
5
5
  import { useLink as p } from "./link-context.js";
6
6
  import { IconX as y, IconDots as w } from "@tabler/icons-react";
7
7
  import { c as r } from "../_chunks/utils.js";
8
8
  function k({
9
- item: a,
9
+ item: s,
10
10
  isActive: n,
11
11
  onClick: d
12
12
  }) {
@@ -14,45 +14,45 @@ function k({
14
14
  return /* @__PURE__ */ t(
15
15
  i,
16
16
  {
17
- href: a.href,
17
+ href: s.href,
18
18
  onClick: d,
19
- "aria-label": a.title,
19
+ "aria-label": s.title,
20
20
  "aria-current": n ? "page" : void 0,
21
21
  className: r(
22
- "flex h-16 max-w-[70px] flex-1 cursor-pointer flex-col items-center gap-ds-02 p-ds-02 pt-0 text-ds-sm",
22
+ "flex h-16 max-w-[70px] flex-1 cursor-pointer flex-col items-center gap-ds-02 p-ds-02 pt-0 text-ds-sm active:animate-subtle-bounce",
23
23
  n ? "font-semibold text-interactive" : "text-text-helper"
24
24
  ),
25
- children: /* @__PURE__ */ s("div", { className: "relative flex w-full flex-col items-center gap-ds-02", children: [
25
+ children: /* @__PURE__ */ a("div", { className: "relative flex w-full flex-col items-center gap-ds-02", children: [
26
26
  /* @__PURE__ */ t(
27
27
  "div",
28
28
  {
29
29
  className: r(
30
- "absolute top-0 h-[3px] w-full rounded-b-ds-sm bg-interactive p-0 transition-opacity duration-slow-01",
31
- n ? "opacity-100" : "opacity-0"
30
+ "absolute top-0 h-[3px] w-full rounded-b-ds-sm bg-interactive p-0 transition-[opacity,transform] duration-moderate-01",
31
+ n ? "opacity-100 animate-tab-indicator" : "opacity-0 scale-x-0"
32
32
  ),
33
33
  "aria-hidden": "true"
34
34
  }
35
35
  ),
36
- /* @__PURE__ */ t("div", { className: "p-ds-03", children: /* @__PURE__ */ t("span", { className: "[&>svg]:h-ico-md [&>svg]:w-ico-md", "aria-hidden": "true", children: a.icon }) }),
37
- /* @__PURE__ */ t("span", { className: "text-center", children: a.title })
36
+ /* @__PURE__ */ t("div", { className: "p-ds-03", children: /* @__PURE__ */ t("span", { className: "[&>svg]:h-ico-md [&>svg]:w-ico-md", "aria-hidden": "true", children: s.icon }) }),
37
+ /* @__PURE__ */ t("span", { className: "text-center", children: s.title })
38
38
  ] })
39
39
  }
40
40
  );
41
41
  }
42
42
  const M = g.forwardRef(
43
43
  ({
44
- currentPath: a = "/",
44
+ currentPath: s = "/",
45
45
  user: n,
46
46
  primaryItems: d = [],
47
47
  moreItems: i = [],
48
48
  className: f,
49
49
  ...x
50
50
  }, h) => {
51
- const b = p(), [o, l] = N(!1), c = (e, u = !1) => u || e === "/" ? a === e : a.startsWith(e), m = i.some(
51
+ const b = p(), [o, l] = N(!1), c = (e, u = !1) => u || e === "/" ? s === e : s.startsWith(e), m = i.some(
52
52
  (e) => c(e.href, e.exact)
53
53
  );
54
- return /* @__PURE__ */ s(v, { children: [
55
- o && /* @__PURE__ */ s(
54
+ return /* @__PURE__ */ a(v, { children: [
55
+ o && /* @__PURE__ */ a(
56
56
  "div",
57
57
  {
58
58
  role: "button",
@@ -64,14 +64,14 @@ const M = g.forwardRef(
64
64
  },
65
65
  children: [
66
66
  /* @__PURE__ */ t("div", { className: "absolute inset-0 bg-overlay" }),
67
- /* @__PURE__ */ s(
67
+ /* @__PURE__ */ a(
68
68
  "div",
69
69
  {
70
70
  className: "absolute bottom-[72px] left-0 right-0 rounded-t-ds-2xl border-t border-border bg-layer-01 p-ds-05 pb-ds-03",
71
71
  onClick: (e) => e.stopPropagation(),
72
72
  onKeyDown: (e) => e.stopPropagation(),
73
73
  children: [
74
- /* @__PURE__ */ s("div", { className: "mb-ds-04 flex items-center justify-between", children: [
74
+ /* @__PURE__ */ a("div", { className: "mb-ds-04 flex items-center justify-between", children: [
75
75
  /* @__PURE__ */ t("span", { className: "text-ds-md font-semibold text-text-primary", children: "More" }),
76
76
  /* @__PURE__ */ t(
77
77
  "button",
@@ -83,7 +83,7 @@ const M = g.forwardRef(
83
83
  }
84
84
  )
85
85
  ] }),
86
- /* @__PURE__ */ t("div", { className: "grid grid-cols-4 gap-ds-03", children: i.map((e) => /* @__PURE__ */ s(
86
+ /* @__PURE__ */ t("div", { className: "grid grid-cols-4 gap-ds-03", children: i.map((e) => /* @__PURE__ */ a(
87
87
  b,
88
88
  {
89
89
  href: e.href,
@@ -105,7 +105,7 @@ const M = g.forwardRef(
105
105
  ]
106
106
  }
107
107
  ),
108
- /* @__PURE__ */ s(
108
+ /* @__PURE__ */ a(
109
109
  "nav",
110
110
  {
111
111
  ...x,
@@ -132,16 +132,16 @@ const M = g.forwardRef(
132
132
  "aria-label": "More navigation options",
133
133
  "aria-expanded": o,
134
134
  className: r(
135
- "flex h-16 max-w-[70px] flex-1 cursor-pointer flex-col items-center gap-ds-02 p-ds-02 pt-0 text-ds-sm",
135
+ "flex h-16 max-w-[70px] flex-1 cursor-pointer flex-col items-center gap-ds-02 p-ds-02 pt-0 text-ds-sm active:animate-subtle-bounce",
136
136
  o || m ? "font-semibold text-interactive" : "text-text-helper"
137
137
  ),
138
- children: /* @__PURE__ */ s("div", { className: "relative flex w-full flex-col items-center gap-ds-02", children: [
138
+ children: /* @__PURE__ */ a("div", { className: "relative flex w-full flex-col items-center gap-ds-02", children: [
139
139
  /* @__PURE__ */ t(
140
140
  "div",
141
141
  {
142
142
  className: r(
143
- "absolute top-0 h-[3px] w-full rounded-b-ds-sm bg-interactive p-0 transition-opacity duration-slow-01",
144
- o || m ? "opacity-100" : "opacity-0"
143
+ "absolute top-0 h-[3px] w-full rounded-b-ds-sm bg-interactive p-0 transition-[opacity,transform] duration-moderate-01",
144
+ o || m ? "opacity-100 animate-tab-indicator" : "opacity-0 scale-x-0"
145
145
  ),
146
146
  "aria-hidden": "true"
147
147
  }