@devalok/shilp-sutra 0.25.0 → 0.26.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 (103) hide show
  1. package/dist/_chunks/framer.js +2 -2
  2. package/dist/_chunks/primitives.js +39 -39
  3. package/dist/_chunks/vendor-client.js +1 -1
  4. package/dist/_chunks/vendor-utils.js +83484 -3535
  5. package/dist/ai/index.js +1 -1
  6. package/dist/composed/bulk-action-bar.d.ts +29 -0
  7. package/dist/composed/bulk-action-bar.d.ts.map +1 -0
  8. package/dist/composed/bulk-action-bar.js +123 -0
  9. package/dist/composed/deadline-indicator.d.ts +18 -0
  10. package/dist/composed/deadline-indicator.d.ts.map +1 -0
  11. package/dist/composed/deadline-indicator.js +75 -0
  12. package/dist/composed/emoji-picker.d.ts +26 -0
  13. package/dist/composed/emoji-picker.d.ts.map +1 -0
  14. package/dist/composed/emoji-picker.js +104 -0
  15. package/dist/composed/file-preview.d.ts +22 -0
  16. package/dist/composed/file-preview.d.ts.map +1 -0
  17. package/dist/composed/file-preview.js +675 -0
  18. package/dist/composed/filter-bar.d.ts +38 -0
  19. package/dist/composed/filter-bar.d.ts.map +1 -0
  20. package/dist/composed/filter-bar.js +133 -0
  21. package/dist/composed/form-section.d.ts +12 -0
  22. package/dist/composed/form-section.d.ts.map +1 -0
  23. package/dist/composed/form-section.js +45 -0
  24. package/dist/composed/index.d.ts +22 -0
  25. package/dist/composed/index.d.ts.map +1 -1
  26. package/dist/composed/index.js +61 -36
  27. package/dist/composed/inline-edit.d.ts +16 -0
  28. package/dist/composed/inline-edit.d.ts.map +1 -0
  29. package/dist/composed/inline-edit.js +107 -0
  30. package/dist/composed/markdown-viewer.d.ts +14 -0
  31. package/dist/composed/markdown-viewer.d.ts.map +1 -0
  32. package/dist/composed/markdown-viewer.js +143 -0
  33. package/dist/composed/master-detail.d.ts +35 -0
  34. package/dist/composed/master-detail.d.ts.map +1 -0
  35. package/dist/composed/master-detail.js +124 -0
  36. package/dist/composed/member-picker.d.ts.map +1 -1
  37. package/dist/composed/member-picker.js +41 -88
  38. package/dist/composed/multi-select-popover.d.ts +44 -0
  39. package/dist/composed/multi-select-popover.d.ts.map +1 -0
  40. package/dist/composed/multi-select-popover.js +185 -0
  41. package/dist/composed/responsive-overlay.d.ts +15 -0
  42. package/dist/composed/responsive-overlay.d.ts.map +1 -0
  43. package/dist/composed/responsive-overlay.js +45 -0
  44. package/dist/ui/alert-dialog.js +10 -10
  45. package/dist/ui/avatar.js +1 -1
  46. package/dist/ui/button.d.ts +1 -1
  47. package/dist/ui/button.d.ts.map +1 -1
  48. package/dist/ui/button.js +42 -36
  49. package/dist/ui/card.d.ts +6 -48
  50. package/dist/ui/card.d.ts.map +1 -1
  51. package/dist/ui/card.js +92 -49
  52. package/dist/ui/checkbox.js +1 -1
  53. package/dist/ui/collapsible.js +1 -1
  54. package/dist/ui/color-swatch.d.ts +27 -0
  55. package/dist/ui/color-swatch.d.ts.map +1 -0
  56. package/dist/ui/color-swatch.js +91 -0
  57. package/dist/ui/data-table.d.ts +7 -1
  58. package/dist/ui/data-table.d.ts.map +1 -1
  59. package/dist/ui/data-table.js +221 -215
  60. package/dist/ui/dialog.js +4 -4
  61. package/dist/ui/dropdown-menu.js +31 -31
  62. package/dist/ui/index.d.ts +3 -0
  63. package/dist/ui/index.d.ts.map +1 -1
  64. package/dist/ui/index.js +187 -180
  65. package/dist/ui/input.d.ts +1 -1
  66. package/dist/ui/input.d.ts.map +1 -1
  67. package/dist/ui/input.js +10 -9
  68. package/dist/ui/label.js +1 -1
  69. package/dist/ui/progress-ring.d.ts +46 -0
  70. package/dist/ui/progress-ring.d.ts.map +1 -0
  71. package/dist/ui/progress-ring.js +144 -0
  72. package/dist/ui/search-input.d.ts +1 -1
  73. package/dist/ui/search-input.d.ts.map +1 -1
  74. package/dist/ui/search-input.js +9 -8
  75. package/dist/ui/select.d.ts +1 -1
  76. package/dist/ui/select.d.ts.map +1 -1
  77. package/dist/ui/select.js +28 -27
  78. package/dist/ui/sheet.js +1 -1
  79. package/dist/ui/sidebar.d.ts.map +1 -1
  80. package/dist/ui/sidebar.js +15 -15
  81. package/dist/ui/status-dot.d.ts +27 -0
  82. package/dist/ui/status-dot.d.ts.map +1 -0
  83. package/dist/ui/status-dot.js +64 -0
  84. package/dist/ui/textarea.d.ts +1 -1
  85. package/dist/ui/textarea.d.ts.map +1 -1
  86. package/dist/ui/textarea.js +13 -12
  87. package/docs/components/composed/bulk-action-bar.md +40 -0
  88. package/docs/components/composed/deadline-indicator.md +27 -0
  89. package/docs/components/composed/emoji-picker.md +43 -0
  90. package/docs/components/composed/file-preview.md +40 -0
  91. package/docs/components/composed/filter-bar.md +57 -0
  92. package/docs/components/composed/form-section.md +31 -0
  93. package/docs/components/composed/inline-edit.md +35 -0
  94. package/docs/components/composed/markdown-viewer.md +27 -0
  95. package/docs/components/composed/master-detail.md +48 -0
  96. package/docs/components/composed/multi-select-popover.md +53 -0
  97. package/docs/components/composed/responsive-overlay.md +34 -0
  98. package/docs/components/ui/color-swatch.md +25 -0
  99. package/docs/components/ui/progress-ring.md +41 -0
  100. package/docs/components/ui/status-dot.md +26 -0
  101. package/llms-full.txt +528 -1
  102. package/llms.txt +37 -9
  103. package/package.json +808 -733
@@ -0,0 +1,144 @@
1
+ "use client";
2
+ import { jsxs as W, jsx as a } from "react/jsx-runtime";
3
+ import * as d from "react";
4
+ import { springs as M } from "./lib/motion.js";
5
+ import { cn as x } from "./lib/utils.js";
6
+ import { a as R, b as D, c as b, m as v } from "../_chunks/framer.js";
7
+ const y = {
8
+ default: "var(--color-accent-9)",
9
+ success: "var(--color-success-9)",
10
+ warning: "var(--color-warning-9)",
11
+ error: "var(--color-error-9)",
12
+ info: "var(--color-info-9)"
13
+ }, $ = {
14
+ sm: { size: 32, strokeWidth: 3, fontSize: "text-ds-xs" },
15
+ md: { size: 48, strokeWidth: 3.5, fontSize: "text-ds-sm" },
16
+ lg: { size: 64, strokeWidth: 4, fontSize: "text-ds-md" }
17
+ }, N = d.forwardRef(
18
+ ({ value: l, max: f = 100, size: m = "md", color: h = "default", showValue: u = !1, label: e, className: r, ...g }, c) => {
19
+ const s = $[m], t = (s.size - s.strokeWidth) / 2, i = 2 * Math.PI * t, n = Math.min(Math.max(l / f, 0), 1), k = i * (1 - n), o = s.size / 2, w = Math.round(n * 100), p = R(0), P = D(p, (z) => `${Math.round(z)}%`);
20
+ return d.useEffect(() => {
21
+ const z = b(p, n * 100, {
22
+ stiffness: 100,
23
+ damping: 30,
24
+ type: "spring"
25
+ });
26
+ return () => z.stop();
27
+ }, [n, p]), /* @__PURE__ */ W(
28
+ "svg",
29
+ {
30
+ ref: c,
31
+ width: s.size,
32
+ height: s.size,
33
+ viewBox: `0 0 ${s.size} ${s.size}`,
34
+ role: "progressbar",
35
+ "aria-valuenow": l,
36
+ "aria-valuemin": 0,
37
+ "aria-valuemax": f,
38
+ "aria-label": e ?? `${w}% progress`,
39
+ className: x("shrink-0", r),
40
+ ...g,
41
+ children: [
42
+ /* @__PURE__ */ a(
43
+ "circle",
44
+ {
45
+ cx: o,
46
+ cy: o,
47
+ r: t,
48
+ fill: "none",
49
+ stroke: "var(--color-surface-sunken)",
50
+ strokeWidth: s.strokeWidth
51
+ }
52
+ ),
53
+ /* @__PURE__ */ a(
54
+ v.circle,
55
+ {
56
+ cx: o,
57
+ cy: o,
58
+ r: t,
59
+ fill: "none",
60
+ stroke: y[h],
61
+ strokeWidth: s.strokeWidth,
62
+ strokeLinecap: "round",
63
+ strokeDasharray: i,
64
+ initial: { strokeDashoffset: i },
65
+ animate: { strokeDashoffset: k },
66
+ transition: M.smooth,
67
+ transform: `rotate(-90 ${o} ${o})`
68
+ }
69
+ ),
70
+ u && /* @__PURE__ */ a(
71
+ v.text,
72
+ {
73
+ x: o,
74
+ y: o,
75
+ textAnchor: "middle",
76
+ dominantBaseline: "central",
77
+ className: x(s.fontSize, "fill-surface-fg font-sans font-semibold"),
78
+ children: P
79
+ }
80
+ )
81
+ ]
82
+ }
83
+ );
84
+ }
85
+ );
86
+ N.displayName = "ProgressRing";
87
+ const S = d.forwardRef(
88
+ ({ rings: l, size: f = "md", className: m, ...h }, u) => {
89
+ const e = $[f], r = e.size / 2, g = e.strokeWidth + 2;
90
+ return /* @__PURE__ */ a(
91
+ "svg",
92
+ {
93
+ ref: u,
94
+ width: e.size,
95
+ height: e.size,
96
+ viewBox: `0 0 ${e.size} ${e.size}`,
97
+ role: "group",
98
+ "aria-label": "Progress rings",
99
+ className: x("shrink-0", m),
100
+ ...h,
101
+ children: l.map((c, s) => {
102
+ const t = (e.size - e.strokeWidth) / 2 - s * g;
103
+ if (t <= 0) return null;
104
+ const i = 2 * Math.PI * t, n = Math.min(Math.max(c.value / (c.max ?? 100), 0), 1), k = i * (1 - n);
105
+ return /* @__PURE__ */ W(d.Fragment, { children: [
106
+ /* @__PURE__ */ a(
107
+ "circle",
108
+ {
109
+ cx: r,
110
+ cy: r,
111
+ r: t,
112
+ fill: "none",
113
+ stroke: "var(--color-surface-sunken)",
114
+ strokeWidth: e.strokeWidth
115
+ }
116
+ ),
117
+ /* @__PURE__ */ a(
118
+ v.circle,
119
+ {
120
+ cx: r,
121
+ cy: r,
122
+ r: t,
123
+ fill: "none",
124
+ stroke: y[c.color ?? "default"],
125
+ strokeWidth: e.strokeWidth,
126
+ strokeLinecap: "round",
127
+ strokeDasharray: i,
128
+ initial: { strokeDashoffset: i },
129
+ animate: { strokeDashoffset: k },
130
+ transition: M.smooth,
131
+ transform: `rotate(-90 ${r} ${r})`
132
+ }
133
+ )
134
+ ] }, s);
135
+ })
136
+ }
137
+ );
138
+ }
139
+ );
140
+ S.displayName = "MultiProgressRing";
141
+ export {
142
+ S as MultiProgressRing,
143
+ N as ProgressRing
144
+ };
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
  import * as React from 'react';
3
- type SearchInputSize = 'sm' | 'md' | 'lg';
3
+ type SearchInputSize = 'xs' | 'sm' | 'md' | 'lg';
4
4
  /**
5
5
  * Props for SearchInput — a search field with a built-in leading magnifier icon, optional loading
6
6
  * spinner, and an auto-shown clear button when `value` is non-empty and `onClear` is provided.
@@ -1 +1 @@
1
- {"version":3,"file":"search-input.d.ts","sourceRoot":"","sources":["../../src/ui/search-input.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAK9B,KAAK,eAAe,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;AAQzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACjG,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,oBAAoB;IACpB,IAAI,CAAC,EAAE,eAAe,CAAA;CACvB;AAED,QAAA,MAAM,WAAW,2FAqDhB,CAAA;AAGD,OAAO,EAAE,WAAW,EAAE,CAAA"}
1
+ {"version":3,"file":"search-input.d.ts","sourceRoot":"","sources":["../../src/ui/search-input.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAK9B,KAAK,eAAe,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;AAShD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACjG,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,oBAAoB;IACpB,IAAI,CAAC,EAAE,eAAe,CAAA;CACvB;AAED,QAAA,MAAM,WAAW,2FAqDhB,CAAA;AAGD,OAAO,EAAE,WAAW,EAAE,CAAA"}
@@ -1,19 +1,20 @@
1
1
  "use client";
2
- import { jsxs as d, jsx as e } from "react/jsx-runtime";
2
+ import { jsxs as n, jsx as e } from "react/jsx-runtime";
3
3
  import { IconSearch as m, IconX as l } from "@tabler/icons-react";
4
4
  import * as u from "react";
5
5
  import { springs as f } from "./lib/motion.js";
6
6
  import { cn as p } from "./lib/utils.js";
7
7
  import { Spinner as h } from "./spinner.js";
8
- import { A as b, m as g } from "../_chunks/framer.js";
9
- const x = {
8
+ import { A as b, m as x } from "../_chunks/framer.js";
9
+ const g = {
10
+ xs: "h-ds-xs-plus text-ds-sm pl-ds-07 pr-ds-06",
10
11
  sm: "h-ds-sm text-ds-sm pl-ds-08 pr-ds-07",
11
12
  md: "h-ds-md text-ds-md pl-[2.5rem] pr-[2.25rem]",
12
13
  lg: "h-ds-lg text-ds-md pl-[3rem] pr-[2.5rem]"
13
14
  }, v = u.forwardRef(
14
15
  ({ className: a, value: s, onClear: r, loading: t, size: i = "md", ...o }, c) => {
15
- const n = s !== void 0 && s !== "";
16
- return /* @__PURE__ */ d("div", { className: "relative flex items-center", children: [
16
+ const d = s !== void 0 && s !== "";
17
+ return /* @__PURE__ */ n("div", { className: "relative flex items-center", children: [
17
18
  /* @__PURE__ */ e(
18
19
  m,
19
20
  {
@@ -29,7 +30,7 @@ const x = {
29
30
  "aria-busy": t,
30
31
  className: p(
31
32
  "flex w-full font-sans",
32
- x[i],
33
+ g[i],
33
34
  "bg-surface-raised-hover text-surface-fg",
34
35
  "border border-surface-border-strong rounded-ds-md",
35
36
  "placeholder:text-surface-fg-subtle",
@@ -42,8 +43,8 @@ const x = {
42
43
  ...o
43
44
  }
44
45
  ),
45
- t ? /* @__PURE__ */ e("span", { className: "absolute right-[0.75rem] pointer-events-none", "aria-hidden": "true", children: /* @__PURE__ */ e(h, { size: "sm" }) }) : /* @__PURE__ */ e(b, { children: n && r && /* @__PURE__ */ e(
46
- g.button,
46
+ t ? /* @__PURE__ */ e("span", { className: "absolute right-[0.75rem] pointer-events-none", "aria-hidden": "true", children: /* @__PURE__ */ e(h, { size: "sm" }) }) : /* @__PURE__ */ e(b, { children: d && r && /* @__PURE__ */ e(
47
+ x.button,
47
48
  {
48
49
  type: "button",
49
50
  onClick: r,
@@ -27,7 +27,7 @@ declare const Select: React.FC<SelectPrimitive.SelectProps>;
27
27
  declare const SelectGroup: React.ForwardRefExoticComponent<SelectPrimitive.SelectGroupProps & React.RefAttributes<HTMLDivElement>>;
28
28
  declare const SelectValue: React.ForwardRefExoticComponent<SelectPrimitive.SelectValueProps & React.RefAttributes<HTMLSpanElement>>;
29
29
  export declare const selectTriggerVariants: (props?: ({
30
- size?: "sm" | "md" | "lg" | null | undefined;
30
+ size?: "xs" | "sm" | "md" | "lg" | null | undefined;
31
31
  } & import('class-variance-authority/types').ClassProp) | undefined) => string;
32
32
  /**
33
33
  * Props for SelectTrigger. Use `size` here (not on the `Select` root).
@@ -1 +1 @@
1
- {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../src/ui/select.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,eAAe,MAAM,0BAA0B,CAAA;AAE3D,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAMjE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,QAAA,MAAM,MAAM,uCAAuB,CAAA;AAEnC,QAAA,MAAM,WAAW,yGAAwB,CAAA;AAEzC,QAAA,MAAM,WAAW,0GAAwB,CAAA;AAEzC,eAAO,MAAM,qBAAqB;;8EAYjC,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,kBACf,SAAQ,KAAK,CAAC,wBAAwB,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,EACpE,YAAY,CAAC,OAAO,qBAAqB,CAAC;CAAG;AAEjD,QAAA,MAAM,aAAa,8FAcjB,CAAA;AAGF,QAAA,MAAM,oBAAoB,qKAcxB,CAAA;AAGF,QAAA,MAAM,sBAAsB,uKAc1B,CAAA;AAIF,QAAA,MAAM,aAAa,8JAoCjB,CAAA;AAGF,QAAA,MAAM,WAAW,4JASf,CAAA;AAGF,QAAA,MAAM,UAAU,2JAmBd,CAAA;AAGF,QAAA,MAAM,eAAe,gKASnB,CAAA;AAGF,OAAO,EACL,MAAM,EACN,WAAW,EACX,WAAW,EACX,aAAa,EACb,aAAa,EACb,WAAW,EACX,UAAU,EACV,eAAe,EACf,oBAAoB,EACpB,sBAAsB,GACvB,CAAA"}
1
+ {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../src/ui/select.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,eAAe,MAAM,0BAA0B,CAAA;AAE3D,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAMjE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,QAAA,MAAM,MAAM,uCAAuB,CAAA;AAEnC,QAAA,MAAM,WAAW,yGAAwB,CAAA;AAEzC,QAAA,MAAM,WAAW,0GAAwB,CAAA;AAEzC,eAAO,MAAM,qBAAqB;;8EAajC,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,kBACf,SAAQ,KAAK,CAAC,wBAAwB,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,EACpE,YAAY,CAAC,OAAO,qBAAqB,CAAC;CAAG;AAEjD,QAAA,MAAM,aAAa,8FAcjB,CAAA;AAGF,QAAA,MAAM,oBAAoB,qKAcxB,CAAA;AAGF,QAAA,MAAM,sBAAsB,uKAc1B,CAAA;AAIF,QAAA,MAAM,aAAa,8JAoCjB,CAAA;AAGF,QAAA,MAAM,WAAW,4JASf,CAAA;AAGF,QAAA,MAAM,UAAU,2JAmBd,CAAA;AAGF,QAAA,MAAM,eAAe,gKASnB,CAAA;AAGF,OAAO,EACL,MAAM,EACN,WAAW,EACX,WAAW,EACX,aAAa,EACb,aAAa,EACb,WAAW,EACX,UAAU,EACV,eAAe,EACf,oBAAoB,EACpB,sBAAsB,GACvB,CAAA"}
package/dist/ui/select.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { jsxs as l, jsx as e } from "react/jsx-runtime";
3
3
  import * as o from "react";
4
- import { ao as c, ap as w, aq as n, ar as m, as as x, at as p, au as N, av as f, aw as u, ax as v, ay as S, az as h, aA as I, aB as R, aC as C } from "../_chunks/primitives.js";
4
+ import { ao as c, ap as g, aq as n, ar as m, as as w, at as p, au as N, av as f, aw as u, ax as v, ay as S, az as h, aA as I, aB as R, aC as C } from "../_chunks/primitives.js";
5
5
  import { IconChevronDown as y, IconChevronUp as j, IconCheck as B } from "@tabler/icons-react";
6
6
  import { ay as V } from "../_chunks/vendor-utils.js";
7
7
  import { cn as r } from "./lib/utils.js";
@@ -12,6 +12,7 @@ const O = I, Q = C, W = R, U = V(
12
12
  {
13
13
  variants: {
14
14
  size: {
15
+ xs: "h-ds-xs-plus text-ds-sm px-ds-02",
15
16
  sm: "h-ds-sm text-ds-sm px-ds-03",
16
17
  md: "h-ds-md text-ds-md px-ds-04",
17
18
  lg: "h-ds-lg text-ds-md px-ds-05"
@@ -19,50 +20,50 @@ const O = I, Q = C, W = R, U = V(
19
20
  },
20
21
  defaultVariants: { size: "md" }
21
22
  }
22
- ), G = o.forwardRef(({ className: s, children: t, size: a, ...d }, i) => /* @__PURE__ */ l(
23
+ ), G = o.forwardRef(({ className: a, children: t, size: s, ...d }, i) => /* @__PURE__ */ l(
23
24
  c,
24
25
  {
25
26
  ref: i,
26
- className: r(U({ size: a }), s),
27
+ className: r(U({ size: s }), a),
27
28
  ...d,
28
29
  children: [
29
30
  t,
30
- /* @__PURE__ */ e(w, { asChild: !0, children: /* @__PURE__ */ e(y, { className: "h-ico-sm w-ico-sm opacity-50" }) })
31
+ /* @__PURE__ */ e(g, { asChild: !0, children: /* @__PURE__ */ e(y, { className: "h-ico-sm w-ico-sm opacity-50" }) })
31
32
  ]
32
33
  }
33
34
  ));
34
35
  G.displayName = c.displayName;
35
- const b = o.forwardRef(({ className: s, ...t }, a) => /* @__PURE__ */ e(
36
+ const b = o.forwardRef(({ className: a, ...t }, s) => /* @__PURE__ */ e(
36
37
  n,
37
38
  {
38
- ref: a,
39
+ ref: s,
39
40
  className: r(
40
41
  "flex cursor-default items-center justify-center py-ds-02",
41
- s
42
+ a
42
43
  ),
43
44
  ...t,
44
45
  children: /* @__PURE__ */ e(j, { className: "h-ico-sm w-ico-sm" })
45
46
  }
46
47
  ));
47
48
  b.displayName = n.displayName;
48
- const g = o.forwardRef(({ className: s, ...t }, a) => /* @__PURE__ */ e(
49
+ const x = o.forwardRef(({ className: a, ...t }, s) => /* @__PURE__ */ e(
49
50
  m,
50
51
  {
51
- ref: a,
52
+ ref: s,
52
53
  className: r(
53
54
  "flex cursor-default items-center justify-center py-ds-02",
54
- s
55
+ a
55
56
  ),
56
57
  ...t,
57
58
  children: /* @__PURE__ */ e(y, { className: "h-ico-sm w-ico-sm" })
58
59
  }
59
60
  ));
60
- g.displayName = m.displayName;
61
- const L = o.forwardRef(({ className: s, children: t, position: a = "popper", ...d }, i) => /* @__PURE__ */ e(x, { children: /* @__PURE__ */ e(
61
+ x.displayName = m.displayName;
62
+ const L = o.forwardRef(({ className: a, children: t, position: s = "popper", ...d }, i) => /* @__PURE__ */ e(w, { children: /* @__PURE__ */ e(
62
63
  p,
63
64
  {
64
65
  ref: i,
65
- position: a,
66
+ position: s,
66
67
  asChild: !0,
67
68
  ...d,
68
69
  children: /* @__PURE__ */ l(
@@ -73,8 +74,8 @@ const L = o.forwardRef(({ className: s, children: t, position: a = "popper", ...
73
74
  transition: { ...T.snappy, opacity: z.fade },
74
75
  className: r(
75
76
  "relative z-popover max-h-96 min-w-[8rem] overflow-hidden rounded-ds-lg border border-surface-border-strong bg-surface-overlay text-surface-fg shadow-floating",
76
- a === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
77
- s
77
+ s === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
78
+ a
78
79
  ),
79
80
  children: [
80
81
  /* @__PURE__ */ e(b, {}),
@@ -83,36 +84,36 @@ const L = o.forwardRef(({ className: s, children: t, position: a = "popper", ...
83
84
  {
84
85
  className: r(
85
86
  "p-ds-02",
86
- a === "popper" && "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"
87
+ s === "popper" && "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"
87
88
  ),
88
89
  children: t
89
90
  }
90
91
  ),
91
- /* @__PURE__ */ e(g, {})
92
+ /* @__PURE__ */ e(x, {})
92
93
  ]
93
94
  }
94
95
  )
95
96
  }
96
97
  ) }));
97
98
  L.displayName = p.displayName;
98
- const k = o.forwardRef(({ className: s, ...t }, a) => /* @__PURE__ */ e(
99
+ const k = o.forwardRef(({ className: a, ...t }, s) => /* @__PURE__ */ e(
99
100
  f,
100
101
  {
101
- ref: a,
102
- className: r("px-ds-03 py-ds-02b text-ds-md font-semibold", s),
102
+ ref: s,
103
+ className: r("px-ds-03 py-ds-02b text-ds-md font-semibold", a),
103
104
  ...t
104
105
  }
105
106
  ));
106
107
  k.displayName = f.displayName;
107
- const q = o.forwardRef(({ className: s, children: t, ...a }, d) => /* @__PURE__ */ l(
108
+ const q = o.forwardRef(({ className: a, children: t, ...s }, d) => /* @__PURE__ */ l(
108
109
  u,
109
110
  {
110
111
  ref: d,
111
112
  className: r(
112
113
  "relative flex w-full cursor-default select-none items-center rounded-ds-md py-ds-02b pl-ds-03 pr-ds-07 text-ds-md outline-none transition-colors duration-fast-01 ease-productive-standard hover:bg-surface-raised focus:bg-surface-raised focus:text-surface-fg data-[disabled]:pointer-events-none data-[disabled]:opacity-action-disabled",
113
- s
114
+ a
114
115
  ),
115
- ...a,
116
+ ...s,
116
117
  children: [
117
118
  /* @__PURE__ */ e("span", { className: "absolute right-ds-03 flex h-ico-sm w-ico-sm items-center justify-center", children: /* @__PURE__ */ e(v, { children: /* @__PURE__ */ e(B, { className: "h-ico-sm w-ico-sm" }) }) }),
118
119
  /* @__PURE__ */ e(S, { children: t })
@@ -120,11 +121,11 @@ const q = o.forwardRef(({ className: s, children: t, ...a }, d) => /* @__PURE__
120
121
  }
121
122
  ));
122
123
  q.displayName = u.displayName;
123
- const A = o.forwardRef(({ className: s, ...t }, a) => /* @__PURE__ */ e(
124
+ const A = o.forwardRef(({ className: a, ...t }, s) => /* @__PURE__ */ e(
124
125
  h,
125
126
  {
126
- ref: a,
127
- className: r("-mx-ds-01 my-ds-02 h-px bg-surface-border", s),
127
+ ref: s,
128
+ className: r("-mx-ds-01 my-ds-02 h-px bg-surface-border", a),
128
129
  ...t
129
130
  }
130
131
  ));
@@ -135,7 +136,7 @@ export {
135
136
  Q as SelectGroup,
136
137
  q as SelectItem,
137
138
  k as SelectLabel,
138
- g as SelectScrollDownButton,
139
+ x as SelectScrollDownButton,
139
140
  b as SelectScrollUpButton,
140
141
  A as SelectSeparator,
141
142
  G as SelectTrigger,
package/dist/ui/sheet.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { jsx as r, jsxs as c } from "react/jsx-runtime";
3
3
  import * as o from "react";
4
- import { aa as h, ab as R, ac as u, ad as x, ae as y, af as b, ag as P, ah as j } from "../_chunks/primitives.js";
4
+ import { a9 as h, aa as R, ab as u, ac as x, ad as y, ae as b, af as P, ag as j } from "../_chunks/primitives.js";
5
5
  import { ay as T } from "../_chunks/vendor-utils.js";
6
6
  import { IconX as A } from "@tabler/icons-react";
7
7
  import { cn as a } from "./lib/utils.js";
@@ -1 +1 @@
1
- {"version":3,"file":"sidebar.d.ts","sourceRoot":"","sources":["../../src/ui/sidebar.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sidebar.d.ts","sourceRoot":"","sources":["../../src/ui/sidebar.tsx"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@ import { TooltipProvider as j, Tooltip as $, TooltipTrigger as F, TooltipContent
15
15
  import { createContext as V, forwardRef as i, useState as I, useCallback as C, useEffect as W, useMemo as k, useContext as q } from "react";
16
16
  import { m as U } from "../_chunks/framer.js";
17
17
  const X = "sidebar:state", Y = 60 * 60 * 24 * 7, J = "16rem", Q = "18rem", Z = "3rem", ee = "b", z = V(null);
18
- function N() {
18
+ function y() {
19
19
  const a = q(z);
20
20
  if (!a)
21
21
  throw new Error("useSidebar must be used within a SidebarProvider.");
@@ -31,10 +31,10 @@ const ae = i(
31
31
  children: n,
32
32
  ...u
33
33
  }, f) => {
34
- const c = D(), [b, p] = I(!1), [y, x] = I(a), g = e ?? y, S = C(
34
+ const c = D(), [b, p] = I(!1), [N, x] = I(a), g = e ?? N, S = C(
35
35
  (l) => {
36
36
  const m = typeof l == "function" ? l(g) : l;
37
- t ? t(m) : x(m), document.cookie = `${X}=${m}; path=/; max-age=${Y}`;
37
+ t ? t(m) : x(m), typeof document < "u" && (document.cookie = `${X}=${m}; path=/; max-age=${Y}`);
38
38
  },
39
39
  [t, g]
40
40
  ), w = C(() => c ? p((l) => !l) : S((l) => !l), [c, S, p]);
@@ -93,7 +93,7 @@ const te = i(
93
93
  children: o,
94
94
  ...n
95
95
  }, u) => {
96
- const { isMobile: f, state: c, openMobile: b, setOpenMobile: p } = N();
96
+ const { isMobile: f, state: c, openMobile: b, setOpenMobile: p } = y();
97
97
  return t === "none" ? /* @__PURE__ */ s(
98
98
  "div",
99
99
  {
@@ -165,7 +165,7 @@ const te = i(
165
165
  );
166
166
  te.displayName = "Sidebar";
167
167
  const se = i(({ className: a, onClick: e, ...t }, d) => {
168
- const { toggleSidebar: o } = N();
168
+ const { toggleSidebar: o } = y();
169
169
  return /* @__PURE__ */ h(
170
170
  R,
171
171
  {
@@ -188,7 +188,7 @@ const se = i(({ className: a, onClick: e, ...t }, d) => {
188
188
  se.displayName = "SidebarTrigger";
189
189
  const re = i(
190
190
  ({ className: a, ...e }, t) => {
191
- const { toggleSidebar: d } = N();
191
+ const { toggleSidebar: d } = y();
192
192
  return /* @__PURE__ */ s(
193
193
  "button",
194
194
  {
@@ -400,7 +400,7 @@ const he = T(
400
400
  children: u,
401
401
  ...f
402
402
  }, c) => {
403
- const b = a ? v : "button", { isMobile: p, state: y } = N(), x = /* @__PURE__ */ s(
403
+ const b = a ? v : "button", { isMobile: p, state: N } = y(), x = /* @__PURE__ */ s(
404
404
  b,
405
405
  {
406
406
  ref: c,
@@ -431,7 +431,7 @@ const he = T(
431
431
  {
432
432
  side: "right",
433
433
  align: "center",
434
- hidden: y !== "collapsed" || p,
434
+ hidden: N !== "collapsed" || p,
435
435
  ...o
436
436
  }
437
437
  )
@@ -510,7 +510,7 @@ const we = i(({ className: a, showIcon: e = !1, ...t }, d) => {
510
510
  );
511
511
  });
512
512
  we.displayName = "SidebarMenuSkeleton";
513
- const Ne = i(
513
+ const ye = i(
514
514
  ({ className: a, ...e }, t) => /* @__PURE__ */ s(
515
515
  "ul",
516
516
  {
@@ -525,11 +525,11 @@ const Ne = i(
525
525
  }
526
526
  )
527
527
  );
528
- Ne.displayName = "SidebarMenuSub";
529
- const ye = i(
528
+ ye.displayName = "SidebarMenuSub";
529
+ const Ne = i(
530
530
  ({ ...a }, e) => /* @__PURE__ */ s("li", { ref: e, ...a })
531
531
  );
532
- ye.displayName = "SidebarMenuSubItem";
532
+ Ne.displayName = "SidebarMenuSubItem";
533
533
  const Me = i(({ asChild: a = !1, size: e = "md", isActive: t, className: d, ...o }, n) => /* @__PURE__ */ s(
534
534
  a ? v : "a",
535
535
  {
@@ -566,12 +566,12 @@ export {
566
566
  ve as SidebarMenuButton,
567
567
  ge as SidebarMenuItem,
568
568
  we as SidebarMenuSkeleton,
569
- Ne as SidebarMenuSub,
569
+ ye as SidebarMenuSub,
570
570
  Me as SidebarMenuSubButton,
571
- ye as SidebarMenuSubItem,
571
+ Ne as SidebarMenuSubItem,
572
572
  ae as SidebarProvider,
573
573
  re as SidebarRail,
574
574
  le as SidebarSeparator,
575
575
  se as SidebarTrigger,
576
- N as useSidebar
576
+ y as useSidebar
577
577
  };
@@ -0,0 +1,27 @@
1
+ "use client";
2
+ import * as React from 'react';
3
+ type Status = 'healthy' | 'warning' | 'critical' | 'neutral' | 'inactive';
4
+ /**
5
+ * A semantic health/presence indicator dot with optional pulse animation and inline label.
6
+ *
7
+ * @example
8
+ * <StatusDot status="healthy" />
9
+ * <StatusDot status="critical" label="Service down" pulse />
10
+ * <StatusDot status="warning" size="lg" label="Elevated load" />
11
+ */
12
+ export interface StatusDotProps extends React.HTMLAttributes<HTMLSpanElement> {
13
+ status: Status;
14
+ /** @default 'md' */
15
+ size?: 'sm' | 'md' | 'lg';
16
+ /** @default 'filled' */
17
+ variant?: 'filled' | 'ring';
18
+ /** Pulse animation. Defaults to true for 'healthy', false for others. */
19
+ pulse?: boolean;
20
+ /** Inline label text rendered after the dot */
21
+ label?: string;
22
+ labelClassName?: string;
23
+ }
24
+ declare const StatusDot: React.ForwardRefExoticComponent<StatusDotProps & React.RefAttributes<HTMLSpanElement>>;
25
+ export { StatusDot };
26
+ export type { Status as StatusDotStatus };
27
+ //# sourceMappingURL=status-dot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status-dot.d.ts","sourceRoot":"","sources":["../../src/ui/status-dot.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,KAAK,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,CAAA;AAwCzE;;;;;;;GAOG;AACH,MAAM,WAAW,cAAe,SAAQ,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC;IAC3E,MAAM,EAAE,MAAM,CAAA;IACd,oBAAoB;IACpB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;IACzB,wBAAwB;IACxB,OAAO,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAA;IAC3B,yEAAyE;IACzE,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,+CAA+C;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,QAAA,MAAM,SAAS,wFAmCd,CAAA;AAGD,OAAO,EAAE,SAAS,EAAE,CAAA;AACpB,YAAY,EAAE,MAAM,IAAI,eAAe,EAAE,CAAA"}
@@ -0,0 +1,64 @@
1
+ "use client";
2
+ import { jsxs as l, jsx as n } from "react/jsx-runtime";
3
+ import * as b from "react";
4
+ import { cn as r } from "./lib/utils.js";
5
+ const f = {
6
+ healthy: "bg-success-9",
7
+ warning: "bg-warning-9",
8
+ critical: "bg-error-9",
9
+ neutral: "bg-neutral-8",
10
+ inactive: "bg-neutral-6"
11
+ }, w = {
12
+ healthy: "text-success-11",
13
+ warning: "text-warning-11",
14
+ critical: "text-error-11",
15
+ neutral: "text-surface-fg-muted",
16
+ inactive: "text-surface-fg-subtle"
17
+ }, v = {
18
+ healthy: "border-success-9",
19
+ warning: "border-warning-9",
20
+ critical: "border-error-9",
21
+ neutral: "border-neutral-8",
22
+ inactive: "border-neutral-6"
23
+ }, y = {
24
+ healthy: "bg-success-9/40",
25
+ warning: "bg-warning-9/40",
26
+ critical: "bg-error-9/40",
27
+ neutral: "bg-neutral-8/40",
28
+ inactive: "bg-neutral-6/40"
29
+ }, N = {
30
+ sm: { dot: "h-1.5 w-1.5", pulse: "h-1.5 w-1.5", text: "text-ds-xs" },
31
+ md: { dot: "h-2 w-2", pulse: "h-2 w-2", text: "text-ds-sm" },
32
+ lg: { dot: "h-2.5 w-2.5", pulse: "h-2.5 w-2.5", text: "text-ds-sm" }
33
+ }, C = b.forwardRef(
34
+ ({ status: e, size: s = "md", variant: i = "filled", pulse: o, label: t, labelClassName: c, className: d, "aria-label": u, ...g }, p) => {
35
+ const x = o ?? e === "healthy", a = N[s], h = t ? `${t} — ${e}` : `Status: ${e}`, m = i === "ring" ? r("relative inline-flex rounded-full border-[1.5px]", a.dot, v[e], "bg-transparent") : r("relative inline-flex rounded-full", a.dot, f[e]);
36
+ return /* @__PURE__ */ l(
37
+ "span",
38
+ {
39
+ ref: p,
40
+ role: "status",
41
+ "aria-label": u ?? h,
42
+ className: r("inline-flex items-center gap-ds-02", d),
43
+ ...g,
44
+ children: [
45
+ /* @__PURE__ */ l("span", { className: "relative inline-flex shrink-0", children: [
46
+ x && /* @__PURE__ */ n(
47
+ "span",
48
+ {
49
+ "data-pulse": "",
50
+ className: r("absolute inline-flex rounded-full animate-ping", a.pulse, y[e])
51
+ }
52
+ ),
53
+ /* @__PURE__ */ n("span", { className: m })
54
+ ] }),
55
+ t && /* @__PURE__ */ n("span", { className: r(a.text, w[e], "font-sans", c), children: t })
56
+ ]
57
+ }
58
+ );
59
+ }
60
+ );
61
+ C.displayName = "StatusDot";
62
+ export {
63
+ C as StatusDot
64
+ };
@@ -3,7 +3,7 @@ import { VariantProps } from 'class-variance-authority';
3
3
  import { InputState } from './input';
4
4
  import * as React from 'react';
5
5
  declare const textareaVariants: (props?: ({
6
- size?: "sm" | "md" | "lg" | null | undefined;
6
+ size?: "xs" | "sm" | "md" | "lg" | null | undefined;
7
7
  } & import('class-variance-authority/types').ClassProp) | undefined) => string;
8
8
  /**
9
9
  * Props for Textarea — a resizable multi-line text input with size variants and validation state coloring,
@@ -1 +1 @@
1
- {"version":3,"file":"textarea.d.ts","sourceRoot":"","sources":["../../src/ui/textarea.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAGjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAGzC,QAAA,MAAM,gBAAgB;;8EAsBrB,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,WAAW,aACf,SAAQ,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC,EACrE,YAAY,CAAC,OAAO,gBAAgB,CAAC;IACvC,KAAK,CAAC,EAAE,UAAU,CAAA;CACnB;AAED,QAAA,MAAM,QAAQ,2FAyBb,CAAA;AAGD,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAA"}
1
+ {"version":3,"file":"textarea.d.ts","sourceRoot":"","sources":["../../src/ui/textarea.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAGjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAGzC,QAAA,MAAM,gBAAgB;;8EAuBrB,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,WAAW,aACf,SAAQ,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC,EACrE,YAAY,CAAC,OAAO,gBAAgB,CAAC;IACvC,KAAK,CAAC,EAAE,UAAU,CAAA;CACnB;AAED,QAAA,MAAM,QAAQ,2FAyBb,CAAA;AAGD,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAA"}