@devalok/shilp-sutra 0.13.0 → 0.14.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.
@@ -62,8 +62,11 @@ export interface SidebarFooterConfig {
62
62
  label: string;
63
63
  href: string;
64
64
  }>;
65
- /** Version or build info text rendered inline after links */
66
- version?: string;
65
+ /** Version or build info text (or link) rendered inline after links */
66
+ version?: string | {
67
+ label: string;
68
+ href: string;
69
+ };
67
70
  /** Custom content rendered above the links row */
68
71
  slot?: React.ReactNode;
69
72
  /** Promo/upsell banner rendered above the links row */
@@ -1 +1 @@
1
- {"version":3,"file":"sidebar.d.ts","sourceRoot":"","sources":["../../src/shell/sidebar.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sidebar.d.ts","sourceRoot":"","sources":["../../src/shell/sidebar.tsx"],"names":[],"mappings":"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"}
@@ -2,10 +2,10 @@
2
2
  import { jsxs as t, jsx as e, Fragment as k } from "react/jsx-runtime";
3
3
  import * as p from "react";
4
4
  import { useLink as G } from "./link-context.js";
5
- import { S as W, a as T, b, c as z, d as H, e as U, f as $, g as q, h as E, i as A, j as L, k as M, l as j, m as J, n as K, o as Q } from "../_chunks/sidebar.js";
5
+ import { S as W, a as T, b as u, c as z, d as H, e as U, f as $, g as q, h as E, i as A, j as L, k as M, l as j, m as J, n as K, o as Q } from "../_chunks/sidebar.js";
6
6
  import { Collapsible as V, CollapsibleTrigger as X, CollapsibleContent as Y } from "../ui/collapsible.js";
7
7
  import { A as Z, a as _, b as P } from "../_chunks/avatar.js";
8
- import { c as g } from "../_chunks/utils.js";
8
+ import { c as v } from "../_chunks/utils.js";
9
9
  function ee({ className: r }) {
10
10
  return /* @__PURE__ */ e(
11
11
  "svg",
@@ -64,7 +64,7 @@ function re({
64
64
  asChild: !0,
65
65
  isActive: n || d,
66
66
  tooltip: r.title,
67
- className: g(
67
+ className: v(
68
68
  I,
69
69
  n || d ? B : F
70
70
  ),
@@ -122,7 +122,7 @@ function re({
122
122
  asChild: !0,
123
123
  isActive: n,
124
124
  tooltip: r.title,
125
- className: g(
125
+ className: v(
126
126
  I,
127
127
  n ? B : F
128
128
  ),
@@ -158,14 +158,14 @@ const te = p.forwardRef(
158
158
  ...D
159
159
  }, O) => {
160
160
  var f, N, w, y;
161
- const u = G(), v = (s, i = !1) => i || s === "/" ? r === s : r.startsWith(s);
161
+ const b = G(), g = (s, i = !1) => i || s === "/" ? r === s : r.startsWith(s);
162
162
  return /* @__PURE__ */ t(
163
163
  W,
164
164
  {
165
165
  ...D,
166
166
  ref: O,
167
167
  "aria-label": "Main navigation",
168
- className: g(
168
+ className: v(
169
169
  "z-raised hidden h-full flex-col border-r border-border bg-layer-01 md:flex",
170
170
  R
171
171
  ),
@@ -181,13 +181,13 @@ const te = p.forwardRef(
181
181
  /* @__PURE__ */ e("span", { className: "truncate text-ds-sm text-text-placeholder", children: n.designation || n.role })
182
182
  ] })
183
183
  ] }),
184
- /* @__PURE__ */ e(b, {}),
184
+ /* @__PURE__ */ e(u, {}),
185
185
  l && /* @__PURE__ */ t(k, { children: [
186
186
  l,
187
- /* @__PURE__ */ e(b, {})
187
+ /* @__PURE__ */ e(u, {})
188
188
  ] }),
189
189
  /* @__PURE__ */ e(z, { className: "no-scrollbar px-ds-04", children: m.map((s, i) => /* @__PURE__ */ t("div", { children: [
190
- i > 0 && /* @__PURE__ */ e(b, {}),
190
+ i > 0 && /* @__PURE__ */ e(u, {}),
191
191
  /* @__PURE__ */ t(H, { children: [
192
192
  /* @__PURE__ */ e(U, { className: "px-ds-04 text-ds-sm text-text-placeholder", children: s.label }),
193
193
  s.action && /* @__PURE__ */ e($, { asChild: !0, children: s.action }),
@@ -196,8 +196,8 @@ const te = p.forwardRef(
196
196
  re,
197
197
  {
198
198
  item: c,
199
- isActive: v(c.href, c.exact),
200
- isPathActive: v
199
+ isActive: g(c.href, c.exact),
200
+ isPathActive: g
201
201
  }
202
202
  );
203
203
  if (h) {
@@ -210,7 +210,7 @@ const te = p.forwardRef(
210
210
  ] })
211
211
  ] }, s.label)) }),
212
212
  d && /* @__PURE__ */ t(k, { children: [
213
- /* @__PURE__ */ e(b, {}),
213
+ /* @__PURE__ */ e(u, {}),
214
214
  d
215
215
  ] }),
216
216
  a ? /* @__PURE__ */ t(A, { className: "gap-ds-03 px-ds-06 py-ds-05", children: [
@@ -230,7 +230,7 @@ const te = p.forwardRef(
230
230
  /* @__PURE__ */ t("div", { className: "flex min-w-0 flex-col gap-ds-03", children: [
231
231
  /* @__PURE__ */ e("p", { className: "text-ds-sm text-text-primary", children: a.promo.text }),
232
232
  a.promo.action && (a.promo.action.href ? /* @__PURE__ */ e(
233
- u,
233
+ b,
234
234
  {
235
235
  href: a.promo.action.href,
236
236
  onClick: a.promo.action.onClick,
@@ -252,7 +252,7 @@ const te = p.forwardRef(
252
252
  (w = a.links) == null ? void 0 : w.map((s, i) => /* @__PURE__ */ t(p.Fragment, { children: [
253
253
  i > 0 && /* @__PURE__ */ e("span", { children: "·" }),
254
254
  /* @__PURE__ */ e(
255
- u,
255
+ b,
256
256
  {
257
257
  className: "transition-colors hover:text-interactive",
258
258
  href: s.href,
@@ -261,12 +261,12 @@ const te = p.forwardRef(
261
261
  )
262
262
  ] }, s.href)),
263
263
  ((y = a.links) == null ? void 0 : y.length) && a.version && /* @__PURE__ */ e("span", { children: "·" }),
264
- a.version && /* @__PURE__ */ e("span", { children: a.version })
264
+ a.version && (typeof a.version == "string" ? /* @__PURE__ */ e("span", { children: a.version }) : /* @__PURE__ */ e(b, { className: "transition-colors hover:text-interactive", href: a.version.href, children: a.version.label }))
265
265
  ] })
266
266
  ] }) : x.length > 0 ? /* @__PURE__ */ e(A, { className: "px-ds-06 py-ds-05", children: /* @__PURE__ */ e("div", { className: "flex items-center gap-ds-03 text-ds-sm text-text-placeholder", children: x.map((s, i) => /* @__PURE__ */ t(p.Fragment, { children: [
267
267
  i > 0 && /* @__PURE__ */ e("span", { children: "·" }),
268
268
  /* @__PURE__ */ e(
269
- u,
269
+ b,
270
270
  {
271
271
  className: "transition-colors hover:text-interactive",
272
272
  href: s.href,
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { jsxs as O, jsx as p } from "react/jsx-runtime";
2
+ import { jsxs as O, jsx as m } from "react/jsx-runtime";
3
3
  import * as t from "react";
4
4
  import { c as b } from "../_chunks/utils.js";
5
5
  const T = t.forwardRef(
@@ -13,7 +13,7 @@ const T = t.forwardRef(
13
13
  className: R,
14
14
  id: N
15
15
  }, i) => {
16
- const E = t.useId(), w = N || E, k = `${w}-listbox`, v = `${w}-option`, [f, g] = t.useState((o == null ? void 0 : o.label) ?? ""), [c, a] = t.useState(!1), [r, l] = t.useState(-1), $ = t.useRef(null), A = t.useRef(null), y = t.useRef(), M = t.useCallback(
16
+ const E = t.useId(), w = N || E, v = `${w}-listbox`, k = `${w}-option`, [f, g] = t.useState((o == null ? void 0 : o.label) ?? ""), [c, a] = t.useState(!1), [r, l] = t.useState(-1), $ = t.useRef(null), A = t.useRef(null), y = t.useRef(), M = t.useCallback(
17
17
  (e) => {
18
18
  $.current = e, typeof i == "function" ? i(e) : i && (i.current = e);
19
19
  },
@@ -25,7 +25,7 @@ const T = t.forwardRef(
25
25
  const n = t.useMemo(
26
26
  () => f ? x.filter((e) => e.label.toLowerCase().includes(f.toLowerCase())) : x,
27
27
  [x, f]
28
- ), m = t.useCallback(
28
+ ), p = t.useCallback(
29
29
  (e) => {
30
30
  g(e.label), a(!1), l(-1), u == null || u(e);
31
31
  },
@@ -44,17 +44,17 @@ const T = t.forwardRef(
44
44
  e.preventDefault(), l((s) => Math.max(s - 1, 0));
45
45
  break;
46
46
  case "Enter":
47
- e.preventDefault(), r >= 0 && n[r] && m(n[r]);
47
+ e.preventDefault(), r >= 0 && n[r] && p(n[r]);
48
48
  break;
49
49
  case "Escape":
50
50
  a(!1), l(-1);
51
51
  break;
52
52
  }
53
53
  },
54
- [c, n, r, m]
55
- ), K = r >= 0 ? `${v}-${r}` : void 0;
54
+ [c, n, r, p]
55
+ ), K = r >= 0 ? `${k}-${r}` : void 0;
56
56
  return /* @__PURE__ */ O("div", { className: b("relative", R), children: [
57
- /* @__PURE__ */ p(
57
+ /* @__PURE__ */ m(
58
58
  "input",
59
59
  {
60
60
  ref: M,
@@ -62,7 +62,7 @@ const T = t.forwardRef(
62
62
  role: "combobox",
63
63
  "aria-expanded": c,
64
64
  "aria-autocomplete": "list",
65
- "aria-controls": c ? k : void 0,
65
+ "aria-controls": c ? v : void 0,
66
66
  "aria-activedescendant": K,
67
67
  value: f,
68
68
  placeholder: D,
@@ -83,20 +83,20 @@ const T = t.forwardRef(
83
83
  onKeyDown: S
84
84
  }
85
85
  ),
86
- c && /* @__PURE__ */ p(
86
+ c && /* @__PURE__ */ m(
87
87
  "ul",
88
88
  {
89
- id: k,
89
+ id: v,
90
90
  ref: A,
91
91
  role: "listbox",
92
92
  className: b(
93
- "absolute z-dropdown mt-ds-02 w-full overflow-auto rounded-ds-md border border-border bg-layer-01 shadow-02",
93
+ "absolute z-popover mt-ds-02 w-full overflow-auto rounded-ds-md border border-border bg-layer-01 shadow-02",
94
94
  "max-h-60"
95
95
  ),
96
- children: n.length === 0 ? /* @__PURE__ */ p("li", { className: "px-ds-04 py-ds-03 text-ds-md text-text-secondary", children: I }) : n.map((e, s) => /* @__PURE__ */ p(
96
+ children: n.length === 0 ? /* @__PURE__ */ m("li", { className: "px-ds-04 py-ds-03 text-ds-md text-text-secondary", children: I }) : n.map((e, s) => /* @__PURE__ */ m(
97
97
  "li",
98
98
  {
99
- id: `${v}-${s}`,
99
+ id: `${k}-${s}`,
100
100
  role: "option",
101
101
  "aria-selected": r === s,
102
102
  className: b(
@@ -105,9 +105,9 @@ const T = t.forwardRef(
105
105
  (o == null ? void 0 : o.value) === e.value && "font-semibold"
106
106
  ),
107
107
  onMouseDown: (d) => d.preventDefault(),
108
- onClick: () => m(e),
108
+ onClick: () => p(e),
109
109
  onKeyDown: (d) => {
110
- (d.key === "Enter" || d.key === " ") && (d.preventDefault(), m(e));
110
+ (d.key === "Enter" || d.key === " ") && (d.preventDefault(), p(e));
111
111
  },
112
112
  onMouseEnter: () => l(s),
113
113
  children: e.label
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { jsx as r, jsxs as d, Fragment as B } from "react/jsx-runtime";
2
+ import { jsx as r, jsxs as c, Fragment as B } from "react/jsx-runtime";
3
3
  import * as a from "react";
4
4
  import { g as G, h as U, P as q, i as J } from "../_chunks/primitives.js";
5
5
  import { IconChevronDown as Q, IconSearch as W, IconCheck as Y, IconX as Z } from "@tabler/icons-react";
@@ -20,7 +20,7 @@ const P = 2, V = 36, ee = a.forwardRef(
20
20
  renderOption: E,
21
21
  ...H
22
22
  }, M) => {
23
- const [h, w] = a.useState(!1), [v, y] = a.useState(""), [i, c] = a.useState(-1), k = a.useRef(null), N = a.useRef(null), R = a.useId(), I = a.useId(), n = a.useMemo(() => f == null ? [] : Array.isArray(f) ? f : [f], [f]), o = a.useMemo(
23
+ const [h, w] = a.useState(!1), [v, y] = a.useState(""), [i, d] = a.useState(-1), k = a.useRef(null), N = a.useRef(null), R = a.useId(), I = a.useId(), n = a.useMemo(() => f == null ? [] : Array.isArray(f) ? f : [f], [f]), o = a.useMemo(
24
24
  () => v ? u.filter(
25
25
  (e) => e.label.toLowerCase().includes(v.toLowerCase())
26
26
  ) : u,
@@ -46,7 +46,7 @@ const P = 2, V = 36, ee = a.forwardRef(
46
46
  [n, m]
47
47
  ), z = a.useCallback(
48
48
  (e) => {
49
- p || (w(e), e || (y(""), c(-1)));
49
+ p || (w(e), e || (y(""), d(-1)));
50
50
  },
51
51
  [p]
52
52
  );
@@ -77,19 +77,19 @@ const P = 2, V = 36, ee = a.forwardRef(
77
77
  case "ArrowDown": {
78
78
  e.preventDefault();
79
79
  const t = C(i, 1);
80
- c(t);
80
+ d(t);
81
81
  break;
82
82
  }
83
83
  case "ArrowUp": {
84
84
  e.preventDefault();
85
85
  const t = C(i, -1);
86
- c(t);
86
+ d(t);
87
87
  break;
88
88
  }
89
89
  case "Home": {
90
90
  e.preventDefault();
91
91
  const t = o.findIndex((s) => !s.disabled);
92
- c(t);
92
+ d(t);
93
93
  break;
94
94
  }
95
95
  case "End": {
@@ -100,7 +100,7 @@ const P = 2, V = 36, ee = a.forwardRef(
100
100
  t = s;
101
101
  break;
102
102
  }
103
- c(t);
103
+ d(t);
104
104
  break;
105
105
  }
106
106
  case "Enter": {
@@ -108,7 +108,7 @@ const P = 2, V = 36, ee = a.forwardRef(
108
108
  break;
109
109
  }
110
110
  case "Escape": {
111
- e.preventDefault(), w(!1), y(""), c(-1);
111
+ e.preventDefault(), w(!1), y(""), d(-1);
112
112
  break;
113
113
  }
114
114
  }
@@ -129,10 +129,10 @@ const P = 2, V = 36, ee = a.forwardRef(
129
129
  }, [n, u]), F = () => {
130
130
  if (b && n.length > 0) {
131
131
  const e = n.slice(0, P), t = n.length - P;
132
- return /* @__PURE__ */ d("span", { className: "flex flex-1 flex-wrap items-center gap-ds-02 overflow-hidden", children: [
132
+ return /* @__PURE__ */ c("span", { className: "flex flex-1 flex-wrap items-center gap-ds-02 overflow-hidden", children: [
133
133
  e.map((s) => {
134
134
  const l = u.find((D) => D.value === s);
135
- return l ? /* @__PURE__ */ d(
135
+ return l ? /* @__PURE__ */ c(
136
136
  "span",
137
137
  {
138
138
  className: "inline-flex items-center gap-ds-01 rounded-ds-md bg-interactive-subtle px-ds-03 py-[1px] text-ds-sm",
@@ -154,7 +154,7 @@ const P = 2, V = 36, ee = a.forwardRef(
154
154
  s
155
155
  ) : null;
156
156
  }),
157
- t > 0 && /* @__PURE__ */ d("span", { className: "text-ds-sm text-text-secondary", children: [
157
+ t > 0 && /* @__PURE__ */ c("span", { className: "text-ds-sm text-text-secondary", children: [
158
158
  "+",
159
159
  t,
160
160
  " more"
@@ -168,8 +168,8 @@ const P = 2, V = 36, ee = a.forwardRef(
168
168
  }
169
169
  return /* @__PURE__ */ r("span", { className: "flex-1 truncate text-left text-text-placeholder", children: S });
170
170
  };
171
- return /* @__PURE__ */ r(G, { open: h, onOpenChange: z, children: /* @__PURE__ */ d("div", { className: x("relative", T), ...H, children: [
172
- /* @__PURE__ */ r(U, { asChild: !0, disabled: p, children: /* @__PURE__ */ d(
171
+ return /* @__PURE__ */ r(G, { open: h, onOpenChange: z, children: /* @__PURE__ */ c("div", { className: x("relative", T), ...H, children: [
172
+ /* @__PURE__ */ r(U, { asChild: !0, disabled: p, children: /* @__PURE__ */ c(
173
173
  "button",
174
174
  {
175
175
  ref: M,
@@ -193,11 +193,11 @@ const P = 2, V = 36, ee = a.forwardRef(
193
193
  ]
194
194
  }
195
195
  ) }),
196
- /* @__PURE__ */ r(q, { children: /* @__PURE__ */ d(
196
+ /* @__PURE__ */ r(q, { children: /* @__PURE__ */ c(
197
197
  J,
198
198
  {
199
199
  className: x(
200
- "z-dropdown w-[var(--radix-popover-trigger-width)] overflow-hidden rounded-ds-lg border border-border-subtle bg-layer-01 shadow-02",
200
+ "z-popover w-[var(--radix-popover-trigger-width)] overflow-hidden rounded-ds-lg border border-border-subtle bg-layer-01 shadow-02",
201
201
  "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=top]:slide-in-from-bottom-2"
202
202
  ),
203
203
  sideOffset: 4,
@@ -207,7 +207,7 @@ const P = 2, V = 36, ee = a.forwardRef(
207
207
  e.preventDefault(), (t = k.current) == null || t.focus();
208
208
  },
209
209
  children: [
210
- /* @__PURE__ */ d("div", { className: "flex items-center gap-ds-02 border-b border-border-subtle px-ds-04", children: [
210
+ /* @__PURE__ */ c("div", { className: "flex items-center gap-ds-02 border-b border-border-subtle px-ds-04", children: [
211
211
  /* @__PURE__ */ r(W, { className: "h-ico-sm w-ico-sm shrink-0 text-text-tertiary", "aria-hidden": "true" }),
212
212
  /* @__PURE__ */ r(
213
213
  "input",
@@ -218,7 +218,7 @@ const P = 2, V = 36, ee = a.forwardRef(
218
218
  placeholder: A,
219
219
  value: v,
220
220
  onChange: (e) => {
221
- y(e.target.value), c(-1);
221
+ y(e.target.value), d(-1);
222
222
  },
223
223
  onKeyDown: K,
224
224
  "aria-autocomplete": "list",
@@ -239,7 +239,7 @@ const P = 2, V = 36, ee = a.forwardRef(
239
239
  style: { maxHeight: `${j * V}px` },
240
240
  children: o.map((e, t) => {
241
241
  const s = O(e.value);
242
- return /* @__PURE__ */ d(
242
+ return /* @__PURE__ */ c(
243
243
  "li",
244
244
  {
245
245
  id: `${R}-option-${t}`,
@@ -260,11 +260,11 @@ const P = 2, V = 36, ee = a.forwardRef(
260
260
  !e.disabled && (l.key === "Enter" || l.key === " ") && (l.preventDefault(), g(e.value));
261
261
  },
262
262
  onMouseEnter: () => {
263
- e.disabled || c(t);
263
+ e.disabled || d(t);
264
264
  },
265
265
  children: [
266
266
  e.icon && /* @__PURE__ */ r("span", { className: "flex h-ico-sm w-ico-sm items-center justify-center shrink-0", children: e.icon }),
267
- /* @__PURE__ */ r("span", { className: "flex flex-1 flex-col", children: E ? E(e, s) : /* @__PURE__ */ d(B, { children: [
267
+ /* @__PURE__ */ r("span", { className: "flex flex-1 flex-col", children: E ? E(e, s) : /* @__PURE__ */ c(B, { children: [
268
268
  /* @__PURE__ */ r("span", { children: e.label }),
269
269
  e.description && /* @__PURE__ */ r("span", { className: "text-ds-sm text-text-secondary", children: e.description })
270
270
  ] }) }),
@@ -2,9 +2,9 @@
2
2
  import { jsxs as i, jsx as s } from "react/jsx-runtime";
3
3
  import * as n from "react";
4
4
  import { j as l, k as m, l as c, m as p, n as u, o as f, p as x, q as b, L as y, r as N, s as h, G as C, t as g, u as w, v as M } from "../_chunks/primitives.js";
5
- import { IconChevronRight as R, IconCheck as I, IconCircle as S } from "@tabler/icons-react";
5
+ import { IconChevronRight as R, IconCheck as v, IconCircle as I } from "@tabler/icons-react";
6
6
  import { c as d } from "../_chunks/utils.js";
7
- const F = h, H = M, J = C, K = c, O = w, Q = g, v = n.forwardRef(({ className: e, inset: t, children: a, ...o }, r) => /* @__PURE__ */ i(
7
+ const F = h, H = M, J = C, K = c, O = w, Q = g, S = n.forwardRef(({ className: e, inset: t, children: a, ...o }, r) => /* @__PURE__ */ i(
8
8
  l,
9
9
  {
10
10
  ref: r,
@@ -20,13 +20,13 @@ const F = h, H = M, J = C, K = c, O = w, Q = g, v = n.forwardRef(({ className: e
20
20
  ]
21
21
  }
22
22
  ));
23
- v.displayName = l.displayName;
23
+ S.displayName = l.displayName;
24
24
  const z = n.forwardRef(({ className: e, ...t }, a) => /* @__PURE__ */ s(
25
25
  m,
26
26
  {
27
27
  ref: a,
28
28
  className: d(
29
- "z-dropdown min-w-[8rem] overflow-hidden rounded-ds-lg border border-border bg-layer-01 p-ds-02 text-text-primary shadow-03 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
29
+ "z-popover min-w-[8rem] overflow-hidden rounded-ds-lg border border-border bg-layer-01 p-ds-02 text-text-primary shadow-03 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
30
30
  e
31
31
  ),
32
32
  ...t
@@ -38,7 +38,7 @@ const j = n.forwardRef(({ className: e, ...t }, a) => /* @__PURE__ */ s(c, { chi
38
38
  {
39
39
  ref: a,
40
40
  className: d(
41
- "z-dropdown rounded-ds-lg border border-border bg-layer-01 p-ds-02 text-text-primary shadow-03 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
41
+ "z-popover rounded-ds-lg border border-border bg-layer-01 p-ds-02 text-text-primary shadow-03 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
42
42
  e
43
43
  ),
44
44
  ...t
@@ -69,7 +69,7 @@ const k = n.forwardRef(({ className: e, children: t, checked: a, ...o }, r) => /
69
69
  checked: a,
70
70
  ...o,
71
71
  children: [
72
- /* @__PURE__ */ s("span", { className: "absolute left-ds-03 flex h-ico-sm w-ico-sm items-center justify-center", children: /* @__PURE__ */ s(x, { children: /* @__PURE__ */ s(I, { className: "h-ico-sm w-ico-sm" }) }) }),
72
+ /* @__PURE__ */ s("span", { className: "absolute left-ds-03 flex h-ico-sm w-ico-sm items-center justify-center", children: /* @__PURE__ */ s(x, { children: /* @__PURE__ */ s(v, { className: "h-ico-sm w-ico-sm" }) }) }),
73
73
  t
74
74
  ]
75
75
  }
@@ -85,7 +85,7 @@ const T = n.forwardRef(({ className: e, children: t, ...a }, o) => /* @__PURE__
85
85
  ),
86
86
  ...a,
87
87
  children: [
88
- /* @__PURE__ */ s("span", { className: "absolute left-ds-03 flex h-ico-sm w-ico-sm items-center justify-center", children: /* @__PURE__ */ s(x, { children: /* @__PURE__ */ s(S, { className: "h-ico-sm w-ico-sm fill-current" }) }) }),
88
+ /* @__PURE__ */ s("span", { className: "absolute left-ds-03 flex h-ico-sm w-ico-sm items-center justify-center", children: /* @__PURE__ */ s(x, { children: /* @__PURE__ */ s(I, { className: "h-ico-sm w-ico-sm fill-current" }) }) }),
89
89
  t
90
90
  ]
91
91
  }
@@ -141,6 +141,6 @@ export {
141
141
  q as ContextMenuShortcut,
142
142
  O as ContextMenuSub,
143
143
  z as ContextMenuSubContent,
144
- v as ContextMenuSubTrigger,
144
+ S as ContextMenuSubTrigger,
145
145
  H as ContextMenuTrigger
146
146
  };
@@ -26,7 +26,7 @@ const C = r.forwardRef(({ className: e, ...a }, t) => /* @__PURE__ */ o(
26
26
  {
27
27
  ref: t,
28
28
  className: d(
29
- "z-dropdown min-w-[8rem] overflow-hidden rounded-ds-lg border border-border bg-layer-01 p-ds-02 text-text-primary shadow-03 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
29
+ "z-popover min-w-[8rem] overflow-hidden rounded-ds-lg border border-border bg-layer-01 p-ds-02 text-text-primary shadow-03 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
30
30
  e
31
31
  ),
32
32
  ...a
@@ -39,7 +39,7 @@ const z = r.forwardRef(({ className: e, sideOffset: a = 4, ...t }, s) => /* @__P
39
39
  ref: s,
40
40
  sideOffset: a,
41
41
  className: d(
42
- "z-dropdown min-w-[8rem] rounded-ds-lg border border-border bg-layer-01 p-ds-02 text-text-primary shadow-03",
42
+ "z-popover min-w-[8rem] rounded-ds-lg border border-border bg-layer-01 p-ds-02 text-text-primary shadow-03",
43
43
  "duration-moderate-01 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
44
44
  e
45
45
  ),
@@ -2,23 +2,23 @@
2
2
  import { jsx as t } from "react/jsx-runtime";
3
3
  import * as i from "react";
4
4
  import { w as n, x as o, y as m, z as l } from "../_chunks/primitives.js";
5
- import { c as f } from "../_chunks/utils.js";
6
- const u = m, w = l, p = i.forwardRef(({ className: a, align: e = "center", sideOffset: d = 4, ...r }, s) => /* @__PURE__ */ t(n, { children: /* @__PURE__ */ t(
5
+ import { c as p } from "../_chunks/utils.js";
6
+ const u = m, C = l, f = i.forwardRef(({ className: a, align: e = "center", sideOffset: r = 4, ...d }, s) => /* @__PURE__ */ t(n, { children: /* @__PURE__ */ t(
7
7
  o,
8
8
  {
9
9
  ref: s,
10
10
  align: e,
11
- sideOffset: d,
12
- className: f(
13
- "z-dropdown w-64 rounded-ds-lg border border-border bg-layer-01 p-ds-05 shadow-03 outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
11
+ sideOffset: r,
12
+ className: p(
13
+ "z-popover w-64 rounded-ds-lg border border-border bg-layer-01 p-ds-05 shadow-03 outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
14
14
  a
15
15
  ),
16
- ...r
16
+ ...d
17
17
  }
18
18
  ) }));
19
- p.displayName = o.displayName;
19
+ f.displayName = o.displayName;
20
20
  export {
21
21
  u as HoverCard,
22
- p as HoverCardContent,
23
- w as HoverCardTrigger
22
+ f as HoverCardContent,
23
+ C as HoverCardTrigger
24
24
  };
package/dist/ui/index.js CHANGED
@@ -211,7 +211,7 @@ const _ = w, N = s.createContext({ variant: "line" }), B = d("inline-flex items-
211
211
  }
212
212
  },
213
213
  defaultVariants: { variant: "line" }
214
- }), G = d("inline-flex items-center justify-center whitespace-nowrap font-sans text-ds-md font-medium transition-[color,background-color,border-color,box-shadow] duration-fast-01 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-focus focus-visible:ring-offset-1 disabled:pointer-events-none disabled:opacity-[0.38]", {
214
+ }), G = d("inline-flex items-center justify-center gap-ds-02 whitespace-nowrap font-sans text-ds-md font-medium transition-[color,background-color,border-color,box-shadow] duration-fast-01 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-focus focus-visible:ring-offset-1 disabled:pointer-events-none disabled:opacity-[0.38]", {
215
215
  variants: {
216
216
  variant: {
217
217
  line: [
@@ -1,14 +1,14 @@
1
1
  "use client";
2
2
  import { jsx as t, jsxs as i } from "react/jsx-runtime";
3
3
  import * as r from "react";
4
- import { aW as l, aX as m, aY as c, aZ as p, a_ as b, a$ as u, b0 as f, b1 as y, b2 as x, b3 as g, b4 as N, b5 as h, b6 as M, b7 as v, b8 as R, b9 as I } from "../_chunks/primitives.js";
4
+ import { aW as l, aX as m, aY as c, aZ as p, a_ as b, a$ as u, b0 as f, b1 as y, b2 as x, b3 as g, b4 as N, b5 as h, b6 as v, b7 as M, b8 as R, b9 as I } from "../_chunks/primitives.js";
5
5
  import { IconChevronRight as S, IconCheck as C, IconCircle as z } from "@tabler/icons-react";
6
- import { c as o } from "../_chunks/utils.js";
7
- const D = v, E = M, F = b, H = I, J = R, k = r.forwardRef(({ className: e, ...a }, s) => /* @__PURE__ */ t(
6
+ import { c as d } from "../_chunks/utils.js";
7
+ const D = M, E = v, F = b, H = I, J = R, k = r.forwardRef(({ className: e, ...a }, s) => /* @__PURE__ */ t(
8
8
  l,
9
9
  {
10
10
  ref: s,
11
- className: o(
11
+ className: d(
12
12
  "flex h-ds-sm-plus items-center space-x-ds-02 rounded-ds-lg border border-border bg-layer-01 p-ds-02 shadow-01",
13
13
  e
14
14
  ),
@@ -20,7 +20,7 @@ const _ = r.forwardRef(({ className: e, ...a }, s) => /* @__PURE__ */ t(
20
20
  m,
21
21
  {
22
22
  ref: s,
23
- className: o(
23
+ className: d(
24
24
  "flex cursor-default select-none items-center rounded-ds-sm px-ds-04 py-ds-02 text-ds-md font-medium outline-none transition-colors hover:bg-field focus-visible:bg-field data-[state=open]:bg-field",
25
25
  e
26
26
  ),
@@ -28,16 +28,16 @@ const _ = r.forwardRef(({ className: e, ...a }, s) => /* @__PURE__ */ t(
28
28
  }
29
29
  ));
30
30
  _.displayName = m.displayName;
31
- const j = r.forwardRef(({ className: e, inset: a, children: s, ...d }, n) => /* @__PURE__ */ i(
31
+ const j = r.forwardRef(({ className: e, inset: a, children: s, ...o }, n) => /* @__PURE__ */ i(
32
32
  c,
33
33
  {
34
34
  ref: n,
35
- className: o(
35
+ className: d(
36
36
  "flex cursor-default select-none items-center gap-ds-03 rounded-ds-md px-ds-03 py-ds-02b text-ds-md outline-none focus:bg-layer-02 data-[state=open]:bg-layer-02 [&_svg]:pointer-events-none [&_svg]:h-ico-sm [&_svg]:w-ico-sm [&_svg]:shrink-0",
37
37
  a && "pl-ds-07",
38
38
  e
39
39
  ),
40
- ...d,
40
+ ...o,
41
41
  children: [
42
42
  s,
43
43
  /* @__PURE__ */ t(S, { className: "ml-auto" })
@@ -49,8 +49,8 @@ const G = r.forwardRef(({ className: e, ...a }, s) => /* @__PURE__ */ t(
49
49
  p,
50
50
  {
51
51
  ref: s,
52
- className: o(
53
- "z-dropdown min-w-[8rem] overflow-hidden rounded-ds-lg border border-border bg-layer-01 p-ds-02 text-text-primary shadow-03 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
52
+ className: d(
53
+ "z-popover min-w-[8rem] overflow-hidden rounded-ds-lg border border-border bg-layer-01 p-ds-02 text-text-primary shadow-03 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
54
54
  e
55
55
  ),
56
56
  ...a
@@ -58,15 +58,15 @@ const G = r.forwardRef(({ className: e, ...a }, s) => /* @__PURE__ */ t(
58
58
  ));
59
59
  G.displayName = p.displayName;
60
60
  const T = r.forwardRef(
61
- ({ className: e, align: a = "start", alignOffset: s = -4, sideOffset: d = 8, ...n }, w) => /* @__PURE__ */ t(b, { children: /* @__PURE__ */ t(
61
+ ({ className: e, align: a = "start", alignOffset: s = -4, sideOffset: o = 8, ...n }, w) => /* @__PURE__ */ t(b, { children: /* @__PURE__ */ t(
62
62
  u,
63
63
  {
64
64
  ref: w,
65
65
  align: a,
66
66
  alignOffset: s,
67
- sideOffset: d,
68
- className: o(
69
- "z-dropdown min-w-[12rem] rounded-ds-lg border border-border bg-layer-01 p-ds-02 text-text-primary shadow-03",
67
+ sideOffset: o,
68
+ className: d(
69
+ "z-popover min-w-[12rem] rounded-ds-lg border border-border bg-layer-01 p-ds-02 text-text-primary shadow-03",
70
70
  "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
71
71
  e
72
72
  ),
@@ -75,11 +75,11 @@ const T = r.forwardRef(
75
75
  ) })
76
76
  );
77
77
  T.displayName = u.displayName;
78
- const L = r.forwardRef(({ className: e, inset: a, ...s }, d) => /* @__PURE__ */ t(
78
+ const L = r.forwardRef(({ className: e, inset: a, ...s }, o) => /* @__PURE__ */ t(
79
79
  f,
80
80
  {
81
- ref: d,
82
- className: o(
81
+ ref: o,
82
+ className: d(
83
83
  "relative flex cursor-default select-none items-center gap-ds-03 rounded-ds-md px-ds-03 py-ds-02b text-ds-md outline-none transition-colors focus:bg-layer-02 focus:text-text-primary data-[disabled]:pointer-events-none data-[disabled]:opacity-[0.38] [&>svg]:h-ico-sm [&>svg]:w-ico-sm [&>svg]:shrink-0",
84
84
  a && "pl-ds-07",
85
85
  e
@@ -88,16 +88,16 @@ const L = r.forwardRef(({ className: e, inset: a, ...s }, d) => /* @__PURE__ */
88
88
  }
89
89
  ));
90
90
  L.displayName = f.displayName;
91
- const P = r.forwardRef(({ className: e, children: a, checked: s, ...d }, n) => /* @__PURE__ */ i(
91
+ const P = r.forwardRef(({ className: e, children: a, checked: s, ...o }, n) => /* @__PURE__ */ i(
92
92
  y,
93
93
  {
94
94
  ref: n,
95
- className: o(
95
+ className: d(
96
96
  "relative flex cursor-default select-none items-center rounded-ds-md py-ds-02b pl-ds-07 pr-ds-03 text-ds-md outline-none transition-colors focus:bg-layer-02 focus:text-text-primary data-[disabled]:pointer-events-none data-[disabled]:opacity-[0.38]",
97
97
  e
98
98
  ),
99
99
  checked: s,
100
- ...d,
100
+ ...o,
101
101
  children: [
102
102
  /* @__PURE__ */ t("span", { className: "absolute left-ds-03 flex h-ico-sm w-ico-sm items-center justify-center", children: /* @__PURE__ */ t(x, { children: /* @__PURE__ */ t(C, { className: "h-ico-sm w-ico-sm" }) }) }),
103
103
  a
@@ -105,11 +105,11 @@ const P = r.forwardRef(({ className: e, children: a, checked: s, ...d }, n) => /
105
105
  }
106
106
  ));
107
107
  P.displayName = y.displayName;
108
- const W = r.forwardRef(({ className: e, children: a, ...s }, d) => /* @__PURE__ */ i(
108
+ const W = r.forwardRef(({ className: e, children: a, ...s }, o) => /* @__PURE__ */ i(
109
109
  g,
110
110
  {
111
- ref: d,
112
- className: o(
111
+ ref: o,
112
+ className: d(
113
113
  "relative flex cursor-default select-none items-center rounded-ds-md py-ds-02b pl-ds-07 pr-ds-03 text-ds-md outline-none transition-colors focus:bg-layer-02 focus:text-text-primary data-[disabled]:pointer-events-none data-[disabled]:opacity-[0.38]",
114
114
  e
115
115
  ),
@@ -121,11 +121,11 @@ const W = r.forwardRef(({ className: e, children: a, ...s }, d) => /* @__PURE__
121
121
  }
122
122
  ));
123
123
  W.displayName = g.displayName;
124
- const X = r.forwardRef(({ className: e, inset: a, ...s }, d) => /* @__PURE__ */ t(
124
+ const X = r.forwardRef(({ className: e, inset: a, ...s }, o) => /* @__PURE__ */ t(
125
125
  N,
126
126
  {
127
- ref: d,
128
- className: o(
127
+ ref: o,
128
+ className: d(
129
129
  "px-ds-03 py-ds-02b text-ds-md font-semibold",
130
130
  a && "pl-ds-07",
131
131
  e
@@ -138,7 +138,7 @@ const Y = r.forwardRef(({ className: e, ...a }, s) => /* @__PURE__ */ t(
138
138
  h,
139
139
  {
140
140
  ref: s,
141
- className: o("-mx-ds-01 my-ds-02 h-px bg-border-subtle", e),
141
+ className: d("-mx-ds-01 my-ds-02 h-px bg-border-subtle", e),
142
142
  ...a
143
143
  }
144
144
  ));
@@ -149,7 +149,7 @@ const Z = ({
149
149
  }) => /* @__PURE__ */ t(
150
150
  "span",
151
151
  {
152
- className: o(
152
+ className: d(
153
153
  "ml-auto text-ds-sm text-text-placeholder",
154
154
  e
155
155
  ),
package/dist/ui/select.js CHANGED
@@ -61,7 +61,7 @@ const D = r.forwardRef(({ className: s, children: t, position: a = "popper", ...
61
61
  {
62
62
  ref: l,
63
63
  className: o(
64
- "relative z-dropdown max-h-96 min-w-[8rem] overflow-hidden rounded-ds-lg border border-border bg-layer-01 text-text-primary shadow-03 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
64
+ "relative z-popover max-h-96 min-w-[8rem] overflow-hidden rounded-ds-lg border border-border bg-layer-01 text-text-primary shadow-03 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
65
65
  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",
66
66
  s
67
67
  ),
package/dist/ui/tabs.js CHANGED
@@ -13,7 +13,7 @@ const C = m, f = s.createContext({ variant: "line" }), p = b("inline-flex items-
13
13
  },
14
14
  defaultVariants: { variant: "line" }
15
15
  }), u = b(
16
- "inline-flex items-center justify-center whitespace-nowrap font-sans text-ds-md font-medium transition-[color,background-color,border-color,box-shadow] duration-fast-01 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-focus focus-visible:ring-offset-1 disabled:pointer-events-none disabled:opacity-[0.38]",
16
+ "inline-flex items-center justify-center gap-ds-02 whitespace-nowrap font-sans text-ds-md font-medium transition-[color,background-color,border-color,box-shadow] duration-fast-01 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-focus focus-visible:ring-offset-1 disabled:pointer-events-none disabled:opacity-[0.38]",
17
17
  {
18
18
  variants: {
19
19
  variant: {
package/llms-full.txt CHANGED
@@ -5,7 +5,7 @@
5
5
  > All variant values and props verified from source CVA definitions.
6
6
  >
7
7
  > Package: @devalok/shilp-sutra
8
- > Version: 0.13.0
8
+ > Version: 0.14.0
9
9
 
10
10
  ---
11
11
 
@@ -1700,7 +1700,7 @@ New fields on NavGroup:
1700
1700
 
1701
1701
  New type SidebarFooterConfig:
1702
1702
  links: Array<{ label: string, href: string }> — legal/utility links rendered inline with · dividers
1703
- version: string — version or build info text rendered inline after links
1703
+ version: string | { label: string, href: string } — version text or clickable version link, rendered inline after links
1704
1704
  slot: ReactNode — custom content above the links row
1705
1705
  promo: SidebarPromo — dismissable promo/upsell banner
1706
1706
 
package/llms.txt CHANGED
@@ -4,6 +4,11 @@
4
4
  > Built on the same primitives as shadcn/ui but with key API differences.
5
5
  > Read this file BEFORE writing any UI code. Do NOT guess from shadcn/ui knowledge.
6
6
 
7
+ ## CHANGES (v0.14.0)
8
+ - **BREAKING z-index**: Select, Combobox, Autocomplete, DropdownMenu, ContextMenu, Menubar, HoverCard promoted from z-dropdown (1000) to z-popover (1400). Fixes dropdowns rendering behind Sheet/Dialog. If you had custom z-index overrides (e.g. `[data-radix-popper-content-wrapper] { z-index: 1400 !important }`) you can now remove them.
9
+ - TabsTrigger: Added gap-ds-02 (4px) between icon and label
10
+ - AppSidebar: footer.version now accepts string | { label, href } for clickable version links
11
+
7
12
  ## CHANGES (v0.13.0)
8
13
  - EmptyState: icon prop now accepts ComponentType (e.g. Tabler icon references) in addition to ReactNode
9
14
  - NotificationCenter: Notification.actions?: NotificationAction[] — inline action buttons (Approve/Deny) per notification
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@devalok/shilp-sutra",
3
- "version": "0.13.0",
3
+ "version": "0.14.0",
4
4
  "description": "Devalok Design System — tokens, components, and patterns for Next.js",
5
5
  "license": "MIT",
6
6
  "type": "module",