@devalok/shilp-sutra 0.12.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.
- package/dist/_chunks/button.js +5 -5
- package/dist/_chunks/card.js +5 -5
- package/dist/_chunks/checkbox.js +3 -3
- package/dist/composed/empty-state.d.ts +3 -1
- package/dist/composed/empty-state.d.ts.map +1 -1
- package/dist/composed/empty-state.js +38 -39
- package/dist/shell/bottom-navbar.js +22 -22
- package/dist/shell/notification-center.d.ts +10 -0
- package/dist/shell/notification-center.d.ts.map +1 -1
- package/dist/shell/notification-center.js +107 -92
- package/dist/shell/sidebar.d.ts +21 -2
- package/dist/shell/sidebar.d.ts.map +1 -1
- package/dist/shell/sidebar.js +200 -141
- package/dist/tailwind/index.cjs +128 -1
- package/dist/tailwind/preset.d.ts.map +1 -1
- package/dist/tailwind/preset.js +128 -1
- package/dist/ui/alert.d.ts.map +1 -1
- package/dist/ui/alert.js +28 -26
- package/dist/ui/autocomplete.js +15 -15
- package/dist/ui/badge.js +2 -2
- package/dist/ui/banner.d.ts.map +1 -1
- package/dist/ui/banner.js +23 -21
- package/dist/ui/button.js +9 -9
- package/dist/ui/card.js +4 -4
- package/dist/ui/checkbox.js +4 -4
- package/dist/ui/chip.js +2 -2
- package/dist/ui/collapsible.js +12 -12
- package/dist/ui/combobox.js +20 -20
- package/dist/ui/context-menu.js +5 -5
- package/dist/ui/dropdown-menu.js +4 -4
- package/dist/ui/hover-card.js +9 -9
- package/dist/ui/index.js +352 -350
- package/dist/ui/menubar.js +26 -26
- package/dist/ui/progress.js +22 -22
- package/dist/ui/select.js +1 -1
- package/dist/ui/slider.js +8 -8
- package/dist/ui/stat-card.d.ts.map +1 -1
- package/dist/ui/stat-card.js +14 -14
- package/dist/ui/stepper.js +2 -2
- package/dist/ui/switch.js +1 -1
- package/dist/ui/tabs.js +15 -15
- package/dist/ui/toggle.js +1 -1
- package/llms-full.txt +15 -5
- package/llms.txt +17 -3
- package/package.json +1 -1
package/dist/ui/menubar.js
CHANGED
|
@@ -3,12 +3,12 @@ import { jsx as t, jsxs as i } from "react/jsx-runtime";
|
|
|
3
3
|
import * as r from "react";
|
|
4
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
|
|
6
|
+
import { c as d } from "../_chunks/utils.js";
|
|
7
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:
|
|
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:
|
|
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, ...
|
|
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:
|
|
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
|
-
...
|
|
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:
|
|
53
|
-
"z-
|
|
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:
|
|
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:
|
|
68
|
-
className:
|
|
69
|
-
"z-
|
|
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 },
|
|
78
|
+
const L = r.forwardRef(({ className: e, inset: a, ...s }, o) => /* @__PURE__ */ t(
|
|
79
79
|
f,
|
|
80
80
|
{
|
|
81
|
-
ref:
|
|
82
|
-
className:
|
|
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, ...
|
|
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:
|
|
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
|
-
...
|
|
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 },
|
|
108
|
+
const W = r.forwardRef(({ className: e, children: a, ...s }, o) => /* @__PURE__ */ i(
|
|
109
109
|
g,
|
|
110
110
|
{
|
|
111
|
-
ref:
|
|
112
|
-
className:
|
|
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 },
|
|
124
|
+
const X = r.forwardRef(({ className: e, inset: a, ...s }, o) => /* @__PURE__ */ t(
|
|
125
125
|
N,
|
|
126
126
|
{
|
|
127
|
-
ref:
|
|
128
|
-
className:
|
|
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:
|
|
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:
|
|
152
|
+
className: d(
|
|
153
153
|
"ml-auto text-ds-sm text-text-placeholder",
|
|
154
154
|
e
|
|
155
155
|
),
|
package/dist/ui/progress.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsxs as t, jsx as n } from "react/jsx-runtime";
|
|
3
|
-
import * as
|
|
4
|
-
import { aU as i, aV as
|
|
3
|
+
import * as u from "react";
|
|
4
|
+
import { aU as i, aV as g } from "../_chunks/primitives.js";
|
|
5
5
|
import { e as o } from "../_chunks/vendor-utils.js";
|
|
6
|
-
import { c as
|
|
6
|
+
import { c as e } from "../_chunks/utils.js";
|
|
7
7
|
const x = o(
|
|
8
8
|
"relative w-full overflow-hidden rounded-ds-full bg-layer-02",
|
|
9
9
|
{
|
|
@@ -17,7 +17,7 @@ const x = o(
|
|
|
17
17
|
defaultVariants: { size: "md" }
|
|
18
18
|
}
|
|
19
19
|
), h = o(
|
|
20
|
-
"h-full w-full flex-1 transition-all",
|
|
20
|
+
"h-full w-full flex-1 transition-all duration-moderate-02 ease-expressive-standard",
|
|
21
21
|
{
|
|
22
22
|
variants: {
|
|
23
23
|
color: {
|
|
@@ -29,48 +29,48 @@ const x = o(
|
|
|
29
29
|
},
|
|
30
30
|
defaultVariants: { color: "default" }
|
|
31
31
|
}
|
|
32
|
-
),
|
|
32
|
+
), v = u.forwardRef(
|
|
33
33
|
({
|
|
34
34
|
className: l,
|
|
35
35
|
value: r,
|
|
36
|
-
size:
|
|
37
|
-
color:
|
|
36
|
+
size: d,
|
|
37
|
+
color: c,
|
|
38
38
|
indicatorClassName: m,
|
|
39
|
-
showLabel:
|
|
39
|
+
showLabel: s,
|
|
40
40
|
...f
|
|
41
|
-
},
|
|
42
|
-
const
|
|
43
|
-
return /* @__PURE__ */ t("div", { className:
|
|
41
|
+
}, p) => {
|
|
42
|
+
const a = r == null;
|
|
43
|
+
return /* @__PURE__ */ t("div", { className: e("flex items-center gap-ds-03", s && "w-full"), children: [
|
|
44
44
|
/* @__PURE__ */ n(
|
|
45
45
|
i,
|
|
46
46
|
{
|
|
47
|
-
ref:
|
|
48
|
-
value:
|
|
49
|
-
className:
|
|
47
|
+
ref: p,
|
|
48
|
+
value: a ? null : r,
|
|
49
|
+
className: e(x({ size: d }), l),
|
|
50
50
|
...f,
|
|
51
51
|
children: /* @__PURE__ */ n(
|
|
52
|
-
|
|
52
|
+
g,
|
|
53
53
|
{
|
|
54
|
-
className:
|
|
55
|
-
h({ color:
|
|
56
|
-
|
|
54
|
+
className: e(
|
|
55
|
+
h({ color: c }),
|
|
56
|
+
a && "w-2/5 animate-progress-indeterminate motion-reduce:animate-none",
|
|
57
57
|
m
|
|
58
58
|
),
|
|
59
|
-
style:
|
|
59
|
+
style: a ? void 0 : { transform: `translateX(-${100 - (r || 0)}%)` }
|
|
60
60
|
}
|
|
61
61
|
)
|
|
62
62
|
}
|
|
63
63
|
),
|
|
64
|
-
|
|
64
|
+
s && !a && /* @__PURE__ */ t("span", { className: "shrink-0 text-ds-xs text-text-secondary", children: [
|
|
65
65
|
r,
|
|
66
66
|
"%"
|
|
67
67
|
] })
|
|
68
68
|
] });
|
|
69
69
|
}
|
|
70
70
|
);
|
|
71
|
-
|
|
71
|
+
v.displayName = i.displayName;
|
|
72
72
|
export {
|
|
73
|
-
|
|
73
|
+
v as Progress,
|
|
74
74
|
h as progressIndicatorVariants,
|
|
75
75
|
x as progressTrackVariants
|
|
76
76
|
};
|
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-
|
|
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/slider.js
CHANGED
|
@@ -1,30 +1,30 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsxs as r, jsx as e } from "react/jsx-runtime";
|
|
3
|
-
import * as
|
|
4
|
-
import { aA as
|
|
3
|
+
import * as t from "react";
|
|
4
|
+
import { aA as a, aB as c, aC as n, aD as d } from "../_chunks/primitives.js";
|
|
5
5
|
import { c as f } from "../_chunks/utils.js";
|
|
6
|
-
const m =
|
|
7
|
-
|
|
6
|
+
const m = t.forwardRef(({ className: s, "aria-label": o, ...i }, l) => /* @__PURE__ */ r(
|
|
7
|
+
a,
|
|
8
8
|
{
|
|
9
9
|
ref: l,
|
|
10
10
|
className: f(
|
|
11
11
|
"relative flex w-full touch-none select-none items-center",
|
|
12
|
-
|
|
12
|
+
s
|
|
13
13
|
),
|
|
14
14
|
...i,
|
|
15
15
|
children: [
|
|
16
|
-
/* @__PURE__ */ e(c, { className: "relative h-ds-02b w-full grow overflow-hidden rounded-ds-full bg-field", children: /* @__PURE__ */ e(
|
|
16
|
+
/* @__PURE__ */ e(c, { className: "relative h-ds-02b w-full grow overflow-hidden rounded-ds-full bg-field", children: /* @__PURE__ */ e(n, { className: "absolute h-full bg-interactive" }) }),
|
|
17
17
|
/* @__PURE__ */ e(
|
|
18
18
|
d,
|
|
19
19
|
{
|
|
20
20
|
"aria-label": o,
|
|
21
|
-
className: "block h-ico-sm w-ico-sm rounded-ds-full border-2 border-interactive bg-layer-01 shadow-01 transition-
|
|
21
|
+
className: "block h-ico-sm w-ico-sm rounded-ds-full border-2 border-interactive bg-layer-01 shadow-01 transition-[color,transform] duration-fast-02 hover:scale-110 active:scale-125 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]"
|
|
22
22
|
}
|
|
23
23
|
)
|
|
24
24
|
]
|
|
25
25
|
}
|
|
26
26
|
));
|
|
27
|
-
m.displayName =
|
|
27
|
+
m.displayName = a.displayName;
|
|
28
28
|
export {
|
|
29
29
|
m as Slider
|
|
30
30
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stat-card.d.ts","sourceRoot":"","sources":["../../src/ui/stat-card.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,MAAM,WAAW,aAAc,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACzE,oEAAoE;IACpE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;IACtB,KAAK,CAAC,EAAE;QACN,KAAK,EAAE,MAAM,CAAA;QACb,SAAS,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAAA;KACrC,CAAA;IACD,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,aAAa,CAAC;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACpE,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,QAAA,MAAM,QAAQ,
|
|
1
|
+
{"version":3,"file":"stat-card.d.ts","sourceRoot":"","sources":["../../src/ui/stat-card.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,MAAM,WAAW,aAAc,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACzE,oEAAoE;IACpE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;IACtB,KAAK,CAAC,EAAE;QACN,KAAK,EAAE,MAAM,CAAA;QACb,SAAS,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAAA;KACrC,CAAA;IACD,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,aAAa,CAAC;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACpE,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,QAAA,MAAM,QAAQ,sFAmEb,CAAA;AAID,OAAO,EAAE,QAAQ,EAAE,CAAA"}
|
package/dist/ui/stat-card.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsxs as n, jsx as s } from "react/jsx-runtime";
|
|
3
|
-
import { IconTrendingUp as
|
|
4
|
-
import * as
|
|
3
|
+
import { IconTrendingUp as x, IconTrendingDown as f, IconMinus as w } from "@tabler/icons-react";
|
|
4
|
+
import * as a from "react";
|
|
5
5
|
import { c as d } from "../_chunks/utils.js";
|
|
6
|
-
const
|
|
7
|
-
({ className: o, label:
|
|
8
|
-
const
|
|
9
|
-
if (
|
|
6
|
+
const N = a.forwardRef(
|
|
7
|
+
({ className: o, label: m, title: c, value: l, delta: e, icon: r, loading: u, ...t }, i) => {
|
|
8
|
+
const b = c ?? m ?? "";
|
|
9
|
+
if (u)
|
|
10
10
|
return /* @__PURE__ */ n(
|
|
11
11
|
"div",
|
|
12
12
|
{
|
|
@@ -23,7 +23,7 @@ const w = m.forwardRef(
|
|
|
23
23
|
]
|
|
24
24
|
}
|
|
25
25
|
);
|
|
26
|
-
const p = (e == null ? void 0 : e.direction) === "up" ?
|
|
26
|
+
const p = (e == null ? void 0 : e.direction) === "up" ? x : (e == null ? void 0 : e.direction) === "down" ? f : w, h = (e == null ? void 0 : e.direction) === "up" ? "text-success" : (e == null ? void 0 : e.direction) === "down" ? "text-error" : "text-text-secondary";
|
|
27
27
|
return /* @__PURE__ */ n(
|
|
28
28
|
"div",
|
|
29
29
|
{
|
|
@@ -35,12 +35,12 @@ const w = m.forwardRef(
|
|
|
35
35
|
...t,
|
|
36
36
|
children: [
|
|
37
37
|
/* @__PURE__ */ n("div", { className: "flex items-center justify-between mb-ds-04", children: [
|
|
38
|
-
/* @__PURE__ */ s("p", { className: "text-ds-md font-medium text-text-secondary", children:
|
|
39
|
-
r && /* @__PURE__ */ s("span", { className: "text-text-secondary", "aria-hidden": "true", children: typeof r == "function" ?
|
|
38
|
+
/* @__PURE__ */ s("p", { className: "text-ds-md font-medium text-text-secondary", children: b }),
|
|
39
|
+
r && /* @__PURE__ */ s("span", { className: "text-text-secondary", "aria-hidden": "true", children: typeof r == "function" ? a.createElement(r, { className: "h-ico-lg w-ico-lg" }) : r })
|
|
40
40
|
] }),
|
|
41
|
-
/* @__PURE__ */ s("p", { className: "text-ds-3xl font-semibold text-text-primary tabular-nums", children:
|
|
42
|
-
e && /* @__PURE__ */ n("div", { className: d("mt-ds-03 flex items-center gap-ds-02 text-ds-sm font-medium",
|
|
43
|
-
/* @__PURE__ */ s(p, { className: "h-ico-sm w-ico-sm", "aria-hidden": "true" }),
|
|
41
|
+
/* @__PURE__ */ s("div", { className: "overflow-hidden", children: /* @__PURE__ */ s("p", { className: "inline-block animate-count-up text-ds-3xl font-semibold text-text-primary tabular-nums", children: l }) }),
|
|
42
|
+
e && /* @__PURE__ */ n("div", { className: d("mt-ds-03 flex items-center gap-ds-02 text-ds-sm font-medium", h), children: [
|
|
43
|
+
/* @__PURE__ */ s(p, { className: "h-ico-sm w-ico-sm animate-stamp", "aria-hidden": "true" }),
|
|
44
44
|
/* @__PURE__ */ s("span", { children: e.value })
|
|
45
45
|
] })
|
|
46
46
|
]
|
|
@@ -48,7 +48,7 @@ const w = m.forwardRef(
|
|
|
48
48
|
);
|
|
49
49
|
}
|
|
50
50
|
);
|
|
51
|
-
|
|
51
|
+
N.displayName = "StatCard";
|
|
52
52
|
export {
|
|
53
|
-
|
|
53
|
+
N as StatCard
|
|
54
54
|
};
|
package/dist/ui/stepper.js
CHANGED
|
@@ -25,7 +25,7 @@ const f = t.createContext({
|
|
|
25
25
|
"div",
|
|
26
26
|
{
|
|
27
27
|
className: i(
|
|
28
|
-
"flex-1",
|
|
28
|
+
"flex-1 transition-colors duration-moderate-01 ease-productive-standard",
|
|
29
29
|
r === "vertical" ? "ml-ds-04 w-ds-01 min-h-ds-05" : "h-ds-01 min-w-ds-05",
|
|
30
30
|
a < l ? "bg-interactive" : "bg-border"
|
|
31
31
|
),
|
|
@@ -62,7 +62,7 @@ const f = t.createContext({
|
|
|
62
62
|
o === "active" && "bg-interactive text-text-on-color",
|
|
63
63
|
o === "pending" && "bg-layer-02 text-text-tertiary border border-border"
|
|
64
64
|
),
|
|
65
|
-
children: c || (o === "completed" ? /* @__PURE__ */ e("svg", { className: "w-ico-sm h-ico-sm", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2.5, strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ e("polyline", { points: "20 6 9 17 4 12" }) }) : n + 1)
|
|
65
|
+
children: c || (o === "completed" ? /* @__PURE__ */ e("svg", { className: "w-ico-sm h-ico-sm animate-check-pop", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2.5, strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ e("polyline", { points: "20 6 9 17 4 12" }) }) : n + 1)
|
|
66
66
|
}
|
|
67
67
|
),
|
|
68
68
|
/* @__PURE__ */ x("div", { className: "flex flex-col", children: [
|
package/dist/ui/switch.js
CHANGED
|
@@ -17,7 +17,7 @@ const c = n.forwardRef(({ className: t, error: a, ...s }, i) => /* @__PURE__ */
|
|
|
17
17
|
d,
|
|
18
18
|
{
|
|
19
19
|
className: r(
|
|
20
|
-
"pointer-events-none block h-ico-md w-ico-md rounded-ds-full bg-text-on-color shadow-02 ring-0 transition-transform duration-
|
|
20
|
+
"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"
|
|
21
21
|
)
|
|
22
22
|
}
|
|
23
23
|
)
|
package/dist/ui/tabs.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { jsx as
|
|
2
|
+
import { jsx as r } from "react/jsx-runtime";
|
|
3
3
|
import { bl as d, bm as c, bn as l, bo as m } from "../_chunks/primitives.js";
|
|
4
4
|
import * as s from "react";
|
|
5
5
|
import { e as b } from "../_chunks/vendor-utils.js";
|
|
@@ -13,14 +13,14 @@ 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: {
|
|
20
20
|
line: [
|
|
21
21
|
"px-ds-05 py-ds-03 -mb-px border-b-2 border-transparent",
|
|
22
22
|
"text-text-secondary hover:text-text-primary",
|
|
23
|
-
"data-[state=active]:border-interactive data-[state=active]:text-interactive"
|
|
23
|
+
"data-[state=active]:border-interactive data-[state=active]:text-interactive data-[state=active]:animate-tab-indicator"
|
|
24
24
|
],
|
|
25
25
|
contained: [
|
|
26
26
|
"px-ds-05 py-ds-02b rounded-ds-md",
|
|
@@ -31,39 +31,39 @@ const C = m, f = s.createContext({ variant: "line" }), p = b("inline-flex items-
|
|
|
31
31
|
},
|
|
32
32
|
defaultVariants: { variant: "line" }
|
|
33
33
|
}
|
|
34
|
-
), x = s.forwardRef(({ className: t, variant:
|
|
35
|
-
const
|
|
36
|
-
return /* @__PURE__ */
|
|
34
|
+
), x = s.forwardRef(({ className: t, variant: a, ...e }, n) => {
|
|
35
|
+
const i = a ?? "line";
|
|
36
|
+
return /* @__PURE__ */ r(f.Provider, { value: { variant: i }, children: /* @__PURE__ */ r(
|
|
37
37
|
d,
|
|
38
38
|
{
|
|
39
39
|
ref: n,
|
|
40
|
-
className: o(p({ variant:
|
|
41
|
-
...
|
|
40
|
+
className: o(p({ variant: i }), t),
|
|
41
|
+
...e
|
|
42
42
|
}
|
|
43
43
|
) });
|
|
44
44
|
});
|
|
45
45
|
x.displayName = d.displayName;
|
|
46
|
-
const g = s.forwardRef(({ className: t, variant:
|
|
47
|
-
const
|
|
48
|
-
return /* @__PURE__ */
|
|
46
|
+
const g = s.forwardRef(({ className: t, variant: a, ...e }, n) => {
|
|
47
|
+
const i = s.useContext(f), v = a ?? i.variant;
|
|
48
|
+
return /* @__PURE__ */ r(
|
|
49
49
|
c,
|
|
50
50
|
{
|
|
51
51
|
ref: n,
|
|
52
52
|
className: o(u({ variant: v }), t),
|
|
53
|
-
...
|
|
53
|
+
...e
|
|
54
54
|
}
|
|
55
55
|
);
|
|
56
56
|
});
|
|
57
57
|
g.displayName = c.displayName;
|
|
58
|
-
const y = s.forwardRef(({ className: t, ...
|
|
58
|
+
const y = s.forwardRef(({ className: t, ...a }, e) => /* @__PURE__ */ r(
|
|
59
59
|
l,
|
|
60
60
|
{
|
|
61
|
-
ref:
|
|
61
|
+
ref: e,
|
|
62
62
|
className: o(
|
|
63
63
|
"mt-ds-05 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-focus focus-visible:ring-offset-2",
|
|
64
64
|
t
|
|
65
65
|
),
|
|
66
|
-
...
|
|
66
|
+
...a
|
|
67
67
|
}
|
|
68
68
|
));
|
|
69
69
|
y.displayName = l.displayName;
|
package/dist/ui/toggle.js
CHANGED
|
@@ -5,7 +5,7 @@ import { aE as e } from "../_chunks/primitives.js";
|
|
|
5
5
|
import { e as n } from "../_chunks/vendor-utils.js";
|
|
6
6
|
import { c as l } from "../_chunks/utils.js";
|
|
7
7
|
const m = n(
|
|
8
|
-
"inline-flex items-center justify-center gap-ds-03 rounded-ds-md font-medium transition-
|
|
8
|
+
"inline-flex items-center justify-center gap-ds-03 rounded-ds-md font-medium transition-[color,transform] duration-fast-02 active:scale-95 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] data-[state=on]:bg-interactive-subtle data-[state=on]:text-interactive",
|
|
9
9
|
{
|
|
10
10
|
variants: {
|
|
11
11
|
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.
|
|
8
|
+
> Version: 0.14.0
|
|
9
9
|
|
|
10
10
|
---
|
|
11
11
|
|
|
@@ -1428,9 +1428,11 @@ Note: getFormFieldA11y() was removed in favor of useFormField() hook.
|
|
|
1428
1428
|
- Props:
|
|
1429
1429
|
title: string (REQUIRED)
|
|
1430
1430
|
description: string
|
|
1431
|
-
icon: ReactNode (default: Devalok chakra icon)
|
|
1431
|
+
icon: ReactNode | ComponentType<{ className?: string }> (default: Devalok chakra icon)
|
|
1432
1432
|
action: ReactNode (e.g. a Button)
|
|
1433
1433
|
compact: boolean (smaller layout)
|
|
1434
|
+
- Gotchas:
|
|
1435
|
+
- icon accepts both JSX elements (`<IconFolder />`) and component references (`IconFolder`). Component references are auto-instantiated with correct sizing classes.
|
|
1434
1436
|
- Example:
|
|
1435
1437
|
<EmptyState
|
|
1436
1438
|
title="No tasks found"
|
|
@@ -1697,9 +1699,16 @@ New fields on NavGroup:
|
|
|
1697
1699
|
action: ReactNode — action button rendered next to the group label
|
|
1698
1700
|
|
|
1699
1701
|
New type SidebarFooterConfig:
|
|
1700
|
-
links: Array<{ label: string, href: string }> — legal/utility links
|
|
1701
|
-
version: string — version or
|
|
1702
|
+
links: Array<{ label: string, href: string }> — legal/utility links rendered inline with · dividers
|
|
1703
|
+
version: string | { label: string, href: string } — version text or clickable version link, rendered inline after links
|
|
1702
1704
|
slot: ReactNode — custom content above the links row
|
|
1705
|
+
promo: SidebarPromo — dismissable promo/upsell banner
|
|
1706
|
+
|
|
1707
|
+
New type SidebarPromo:
|
|
1708
|
+
text: string — promo message text
|
|
1709
|
+
icon: ReactNode — optional icon rendered above the text
|
|
1710
|
+
action: { label: string, href?: string, onClick?: () => void } — CTA button
|
|
1711
|
+
onDismiss: () => void — when provided, renders a dismiss X button
|
|
1703
1712
|
|
|
1704
1713
|
Deprecated props:
|
|
1705
1714
|
footerLinks — use footer.links instead (footerLinks still works for backwards compat)
|
|
@@ -1805,7 +1814,8 @@ Deprecated props:
|
|
|
1805
1814
|
- Import: @devalok/shilp-sutra/shell/notification-center
|
|
1806
1815
|
- Server-safe: No
|
|
1807
1816
|
- Props:
|
|
1808
|
-
notifications: Notification[] — { id, title, body?, tier: "INFO"|"IMPORTANT"|"CRITICAL", isRead, createdAt, entityType?, entityId?, projectId?, project
|
|
1817
|
+
notifications: Notification[] — { id, title, body?, tier: "INFO"|"IMPORTANT"|"CRITICAL", isRead, createdAt, entityType?, entityId?, projectId?, project?, actions?: NotificationAction[] }
|
|
1818
|
+
NotificationAction: { label: string, variant?: "primary"|"default"|"danger", onClick: (id: string) => void }
|
|
1809
1819
|
unreadCount: number (derived from notifications if not provided)
|
|
1810
1820
|
open: boolean (controlled mode)
|
|
1811
1821
|
onOpenChange: (open: boolean) => void
|
package/llms.txt
CHANGED
|
@@ -4,6 +4,20 @@
|
|
|
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
|
+
|
|
12
|
+
## CHANGES (v0.13.0)
|
|
13
|
+
- EmptyState: icon prop now accepts ComponentType (e.g. Tabler icon references) in addition to ReactNode
|
|
14
|
+
- NotificationCenter: Notification.actions?: NotificationAction[] — inline action buttons (Approve/Deny) per notification
|
|
15
|
+
- NotificationCenter: Tier dot now doubles as read/unread marker; separate unread dot removed
|
|
16
|
+
- AppSidebar: footer.promo?: SidebarPromo — dismissable promo banner with icon, text, action button
|
|
17
|
+
- AppSidebar: Footer links + version render on same line with · dividers
|
|
18
|
+
- Collapsible: Now uses height-based expand/collapse animation (animate-collapsible-down/up)
|
|
19
|
+
- Tailwind preset: 4 new keyframes + utilities — accordion-down, accordion-up, collapsible-down, collapsible-up
|
|
20
|
+
|
|
7
21
|
## CHANGES (v0.12.0)
|
|
8
22
|
- Input: Softer resting border (border-subtle instead of border), subtler focus ring (ring-1 ring-focus/50 instead of ring-2 ring-focus)
|
|
9
23
|
- Tailwind preset: 9 animation keyframes + utilities (fade-in, fade-out, slide-up, slide-right, scale-in, scale-out, glow-pulse, scale-bounce, lift)
|
|
@@ -157,7 +171,7 @@ NOTIFICATION SELECTION GUIDE:
|
|
|
157
171
|
- AvatarGroup: users[], max(number), size(sm|md|lg), showTooltip
|
|
158
172
|
- StatusBadge: DISCRIMINATED UNION — pass status OR color, not both. status(active|pending|approved|rejected|completed|blocked|cancelled|draft) color(success|warning|error|info|neutral) size(sm|md)
|
|
159
173
|
- ContentCard: variant(default|outline|ghost) padding(default|compact|spacious|none)
|
|
160
|
-
- EmptyState: icon, title(required), description, action(ReactNode), compact
|
|
174
|
+
- EmptyState: icon(ReactNode or ComponentType), title(required), description, action(ReactNode), compact
|
|
161
175
|
- PriorityIndicator: priority(LOW|MEDIUM|HIGH|URGENT) display(compact|full)
|
|
162
176
|
- SimpleTooltip: wraps Tooltip compound into single component
|
|
163
177
|
- DatePicker, DateRangePicker, DateTimePicker, TimePicker
|
|
@@ -176,13 +190,13 @@ NOTIFICATION SELECTION GUIDE:
|
|
|
176
190
|
- NavItem.defaultOpen?: boolean — control initial collapsed state
|
|
177
191
|
- NavItem.badge?: string | number — badge on nav item (99+ cap for numbers)
|
|
178
192
|
- NavGroup.action?: ReactNode — action button next to group label
|
|
179
|
-
- footer?: SidebarFooterConfig — structured footer with links, version, slot (replaces footerLinks)
|
|
193
|
+
- footer?: SidebarFooterConfig — structured footer with links, version, slot, promo (replaces footerLinks)
|
|
180
194
|
- headerSlot?: ReactNode — content between user info and navigation
|
|
181
195
|
- preFooterSlot?: ReactNode — content between navigation and footer
|
|
182
196
|
- renderItem?: (item, defaultRender) => ReactNode | null — custom item rendering
|
|
183
197
|
|
|
184
198
|
- BottomNavbar: mobile navigation, user is optional (not required to render)
|
|
185
|
-
- NotificationCenter: notifications[], onMarkRead, onMarkAllRead, onNavigate, getNotificationRoute?(returns string|null, fallback null), footerSlot?, emptyState?, headerActions?, popoverClassName?, onDismiss?(id)
|
|
199
|
+
- NotificationCenter: notifications[], onMarkRead, onMarkAllRead, onNavigate, getNotificationRoute?(returns string|null, fallback null), footerSlot?, emptyState?, headerActions?, popoverClassName?, onDismiss?(id). Notification.actions?: NotificationAction[] for inline buttons (e.g. Approve/Deny)
|
|
186
200
|
- AppCommandPalette: user, isAdmin, onNavigate, onSearch, searchResults, isSearching, onSearchResultSelect
|
|
187
201
|
|
|
188
202
|
### Hooks
|