@devalok/shilp-sutra 0.21.0 → 0.22.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/use-calendar.js +115 -115
- package/dist/_chunks/vendor-utils.js +1230 -1178
- package/dist/composed/activity-feed.d.ts.map +1 -1
- package/dist/composed/activity-feed.js +78 -78
- package/dist/composed/avatar-group.d.ts +2 -2
- package/dist/composed/avatar-group.d.ts.map +1 -1
- package/dist/composed/avatar-group.js +87 -117
- package/dist/composed/command-palette.js +50 -50
- package/dist/composed/content-card.js +10 -10
- package/dist/composed/empty-state.d.ts.map +1 -1
- package/dist/composed/empty-state.js +58 -48
- package/dist/composed/global-loading.d.ts.map +1 -1
- package/dist/composed/global-loading.js +11 -10
- package/dist/composed/loading-skeleton.d.ts.map +1 -1
- package/dist/composed/loading-skeleton.js +32 -29
- package/dist/composed/member-picker.d.ts.map +1 -1
- package/dist/composed/member-picker.js +28 -17
- package/dist/composed/page-header.js +25 -25
- package/dist/composed/priority-indicator.d.ts.map +1 -1
- package/dist/composed/priority-indicator.js +60 -36
- package/dist/composed/rich-text-editor.js +104 -104
- package/dist/composed/schedule-view.d.ts.map +1 -1
- package/dist/composed/schedule-view.js +52 -44
- package/dist/composed/status-badge.js +16 -16
- package/dist/shell/bottom-navbar.d.ts.map +1 -1
- package/dist/shell/bottom-navbar.js +35 -31
- package/dist/shell/notification-center.d.ts.map +1 -1
- package/dist/shell/notification-center.js +119 -111
- package/dist/shell/sidebar.js +2 -2
- package/dist/shell/top-bar.js +9 -9
- package/dist/tailwind/index.cjs +30 -3
- package/dist/tailwind/preset.d.ts.map +1 -1
- package/dist/tailwind/preset.js +30 -3
- package/dist/tokens/semantic.css +10 -10
- package/dist/tokens/typography-semantic.css +3 -3
- package/dist/ui/accordion.js +22 -22
- package/dist/ui/alert.js +8 -8
- package/dist/ui/avatar.d.ts.map +1 -1
- package/dist/ui/avatar.js +72 -86
- package/dist/ui/badge.js +5 -5
- package/dist/ui/banner.js +18 -18
- package/dist/ui/breadcrumb.js +23 -23
- package/dist/ui/button.js +22 -22
- package/dist/ui/card.js +16 -16
- package/dist/ui/checkbox.d.ts.map +1 -1
- package/dist/ui/checkbox.js +72 -25
- package/dist/ui/chip.js +14 -14
- package/dist/ui/code.js +9 -9
- package/dist/ui/combobox.d.ts.map +1 -1
- package/dist/ui/combobox.js +46 -45
- package/dist/ui/dialog.js +17 -17
- package/dist/ui/dropdown-menu.js +22 -22
- package/dist/ui/form.d.ts.map +1 -1
- package/dist/ui/form.js +35 -29
- package/dist/ui/input.js +20 -20
- package/dist/ui/label.js +15 -15
- package/dist/ui/lib/motion.d.ts.map +1 -1
- package/dist/ui/lib/motion.js +2 -2
- package/dist/ui/link.js +14 -14
- package/dist/ui/number-input.js +36 -36
- package/dist/ui/pagination.js +14 -14
- package/dist/ui/progress.js +6 -6
- package/dist/ui/radio.d.ts.map +1 -1
- package/dist/ui/radio.js +24 -12
- package/dist/ui/search-input.d.ts.map +1 -1
- package/dist/ui/search-input.js +25 -19
- package/dist/ui/select.js +15 -15
- package/dist/ui/separator.d.ts +10 -2
- package/dist/ui/separator.d.ts.map +1 -1
- package/dist/ui/separator.js +16 -15
- package/dist/ui/sheet.js +7 -7
- package/dist/ui/sidebar.d.ts +1 -1
- package/dist/ui/sidebar.d.ts.map +1 -1
- package/dist/ui/sidebar.js +22 -22
- package/dist/ui/skeleton.js +5 -5
- package/dist/ui/slider.js +7 -7
- package/dist/ui/stat-card.js +19 -19
- package/dist/ui/switch.d.ts.map +1 -1
- package/dist/ui/switch.js +14 -13
- package/dist/ui/tabs.d.ts.map +1 -1
- package/dist/ui/tabs.js +60 -51
- package/dist/ui/textarea.js +15 -15
- package/dist/ui/toast.js +1 -1
- package/dist/ui/toggle.js +5 -5
- package/dist/ui/tooltip.d.ts +0 -4
- package/dist/ui/tooltip.d.ts.map +1 -1
- package/dist/ui/tooltip.js +24 -24
- package/docs/components/ui/avatar.md +3 -0
- package/docs/components/ui/button.md +5 -0
- package/docs/components/ui/checkbox.md +5 -0
- package/docs/components/ui/dropdown-menu.md +3 -0
- package/docs/components/ui/separator.md +3 -0
- package/docs/components/ui/tooltip.md +5 -0
- package/llms-full.txt +25 -1
- package/llms.txt +20 -0
- package/package.json +1 -1
|
@@ -1,37 +1,37 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { jsxs as
|
|
3
|
-
import * as
|
|
4
|
-
import { useRef as
|
|
5
|
-
import { formatRelativeTime as
|
|
6
|
-
import { Popover as
|
|
7
|
-
import { Tooltip as
|
|
8
|
-
import { IconBell as
|
|
2
|
+
import { jsxs as a, jsx as e, Fragment as $ } from "react/jsx-runtime";
|
|
3
|
+
import * as z from "react";
|
|
4
|
+
import { useRef as B, useCallback as x } from "react";
|
|
5
|
+
import { formatRelativeTime as G } from "../ui/lib/date-utils.js";
|
|
6
|
+
import { Popover as X, PopoverTrigger as _, PopoverContent as q } from "../ui/popover.js";
|
|
7
|
+
import { Tooltip as F, TooltipTrigger as J, TooltipContent as L } from "../ui/tooltip.js";
|
|
8
|
+
import { IconBell as Q, IconChecks as U, IconInbox as V, IconX as W } from "@tabler/icons-react";
|
|
9
9
|
import { cn as p } from "../ui/lib/utils.js";
|
|
10
|
-
import { Spinner as
|
|
11
|
-
import { m as
|
|
12
|
-
function
|
|
13
|
-
return
|
|
10
|
+
import { Spinner as Z } from "../ui/spinner.js";
|
|
11
|
+
import { m as N } from "../_chunks/framer.js";
|
|
12
|
+
function v(t, d) {
|
|
13
|
+
return t.getFullYear() === d.getFullYear() && t.getMonth() === d.getMonth() && t.getDate() === d.getDate();
|
|
14
14
|
}
|
|
15
|
-
function
|
|
16
|
-
const
|
|
17
|
-
return
|
|
15
|
+
function M(t) {
|
|
16
|
+
const d = new Date(t), i = /* @__PURE__ */ new Date(), l = /* @__PURE__ */ new Date();
|
|
17
|
+
return l.setDate(i.getDate() - 1), v(d, i) ? "Today" : v(d, l) ? "Yesterday" : "Earlier";
|
|
18
18
|
}
|
|
19
|
-
const
|
|
19
|
+
const w = {
|
|
20
20
|
INFO: "bg-info-9",
|
|
21
21
|
IMPORTANT: "bg-warning-9",
|
|
22
22
|
CRITICAL: "bg-error-9"
|
|
23
23
|
};
|
|
24
|
-
function
|
|
25
|
-
notification:
|
|
26
|
-
onRead:
|
|
24
|
+
function ee({
|
|
25
|
+
notification: t,
|
|
26
|
+
onRead: d,
|
|
27
27
|
onNavigate: i,
|
|
28
|
-
getRoute:
|
|
28
|
+
getRoute: l,
|
|
29
29
|
onDismiss: u
|
|
30
30
|
}) {
|
|
31
|
-
const g =
|
|
32
|
-
|
|
31
|
+
const g = l(t), o = () => {
|
|
32
|
+
t.isRead || d(t.id), g && i(g);
|
|
33
33
|
};
|
|
34
|
-
return /* @__PURE__ */
|
|
34
|
+
return /* @__PURE__ */ a(
|
|
35
35
|
"div",
|
|
36
36
|
{
|
|
37
37
|
role: "button",
|
|
@@ -41,50 +41,50 @@ function M({
|
|
|
41
41
|
(r.key === "Enter" || r.key === " ") && (r.preventDefault(), o());
|
|
42
42
|
},
|
|
43
43
|
className: p(
|
|
44
|
-
"group relative flex w-full cursor-pointer items-start gap-ds-04 px-ds-05 py-ds-04 text-left transition-colors duration-fast-02",
|
|
44
|
+
"group relative flex w-full cursor-pointer items-start gap-ds-04 px-ds-05 py-ds-04 text-left transition-colors duration-fast-02 ease-productive-standard",
|
|
45
45
|
"hover:bg-surface-2",
|
|
46
|
-
!
|
|
46
|
+
!t.isRead && "bg-accent-1"
|
|
47
47
|
),
|
|
48
48
|
children: [
|
|
49
|
-
/* @__PURE__ */
|
|
49
|
+
/* @__PURE__ */ e("div", { className: "mt-ds-02b flex shrink-0", children: /* @__PURE__ */ e(
|
|
50
50
|
"span",
|
|
51
51
|
{
|
|
52
52
|
className: p(
|
|
53
|
-
"h-[8px] w-[8px] rounded-ds-full transition-opacity duration-fast-02",
|
|
54
|
-
|
|
55
|
-
|
|
53
|
+
"h-[8px] w-[8px] rounded-ds-full transition-opacity duration-fast-02 ease-productive-standard",
|
|
54
|
+
w[t.tier] || w.INFO,
|
|
55
|
+
t.isRead ? "opacity-20" : "opacity-100"
|
|
56
56
|
)
|
|
57
57
|
}
|
|
58
58
|
) }),
|
|
59
|
-
/* @__PURE__ */
|
|
60
|
-
/* @__PURE__ */
|
|
59
|
+
/* @__PURE__ */ a("div", { className: "min-w-0 flex-1", children: [
|
|
60
|
+
/* @__PURE__ */ e(
|
|
61
61
|
"p",
|
|
62
62
|
{
|
|
63
63
|
className: p(
|
|
64
64
|
"truncate text-ds-md text-surface-fg",
|
|
65
|
-
!
|
|
65
|
+
!t.isRead && "font-semibold"
|
|
66
66
|
),
|
|
67
|
-
children:
|
|
67
|
+
children: t.title
|
|
68
68
|
}
|
|
69
69
|
),
|
|
70
|
-
|
|
71
|
-
/* @__PURE__ */
|
|
72
|
-
/* @__PURE__ */
|
|
73
|
-
|
|
74
|
-
/* @__PURE__ */
|
|
75
|
-
/* @__PURE__ */
|
|
70
|
+
t.body && /* @__PURE__ */ e("p", { className: "mt-ds-01 line-clamp-2 text-ds-sm text-surface-fg-subtle", children: t.body }),
|
|
71
|
+
/* @__PURE__ */ a("div", { className: "mt-ds-02 flex items-center gap-ds-03", children: [
|
|
72
|
+
/* @__PURE__ */ e("span", { className: "text-ds-sm text-surface-fg-subtle", children: G(t.createdAt) }),
|
|
73
|
+
t.project && /* @__PURE__ */ a($, { children: [
|
|
74
|
+
/* @__PURE__ */ e("span", { className: "text-surface-fg-subtle", children: "·" }),
|
|
75
|
+
/* @__PURE__ */ e("span", { className: "truncate text-ds-sm text-surface-fg-subtle", children: t.project.title })
|
|
76
76
|
] })
|
|
77
77
|
] }),
|
|
78
|
-
|
|
78
|
+
t.actions && t.actions.length > 0 && /* @__PURE__ */ e("div", { className: "mt-ds-03 flex items-center gap-ds-02", children: t.actions.map((r) => /* @__PURE__ */ e(
|
|
79
79
|
"button",
|
|
80
80
|
{
|
|
81
81
|
type: "button",
|
|
82
82
|
onClick: (c) => {
|
|
83
|
-
c.stopPropagation(), r.onClick(
|
|
83
|
+
c.stopPropagation(), r.onClick(t.id);
|
|
84
84
|
},
|
|
85
85
|
onKeyDown: (c) => c.stopPropagation(),
|
|
86
86
|
className: p(
|
|
87
|
-
"rounded-ds-md px-ds-03 py-ds-01 text-ds-sm font-medium transition-colors duration-fast-02",
|
|
87
|
+
"rounded-ds-md px-ds-03 py-ds-01 text-ds-sm font-medium transition-colors duration-fast-02 ease-productive-standard",
|
|
88
88
|
r.variant === "primary" ? "bg-accent-9 text-accent-fg hover:bg-accent-10" : r.variant === "danger" ? "text-error-11 hover:bg-error-3" : "text-surface-fg-muted hover:bg-surface-3"
|
|
89
89
|
),
|
|
90
90
|
children: r.label
|
|
@@ -92,80 +92,80 @@ function M({
|
|
|
92
92
|
r.label
|
|
93
93
|
)) })
|
|
94
94
|
] }),
|
|
95
|
-
u && /* @__PURE__ */
|
|
95
|
+
u && /* @__PURE__ */ e(
|
|
96
96
|
"button",
|
|
97
97
|
{
|
|
98
98
|
type: "button",
|
|
99
|
-
"aria-label": `Dismiss notification: ${
|
|
99
|
+
"aria-label": `Dismiss notification: ${t.title}`,
|
|
100
100
|
onClick: (r) => {
|
|
101
|
-
r.stopPropagation(), u(
|
|
101
|
+
r.stopPropagation(), u(t.id);
|
|
102
102
|
},
|
|
103
103
|
onKeyDown: (r) => r.stopPropagation(),
|
|
104
|
-
className: "absolute right-ds-03 top-ds-03 hidden rounded-ds-sm p-ds-01 text-surface-fg-subtle transition-
|
|
105
|
-
children: /* @__PURE__ */
|
|
104
|
+
className: "absolute right-ds-03 top-ds-03 hidden rounded-ds-sm p-ds-01 text-surface-fg-subtle transition-[color,background-color,opacity] duration-fast-01 ease-productive-standard hover:bg-surface-3 hover:text-surface-fg-muted group-hover:flex group-focus-within:flex",
|
|
105
|
+
children: /* @__PURE__ */ e(W, { className: "h-ico-sm w-ico-sm" })
|
|
106
106
|
}
|
|
107
107
|
)
|
|
108
108
|
]
|
|
109
109
|
}
|
|
110
110
|
);
|
|
111
111
|
}
|
|
112
|
-
const
|
|
112
|
+
const te = z.forwardRef(
|
|
113
113
|
({
|
|
114
|
-
notifications:
|
|
115
|
-
unreadCount:
|
|
114
|
+
notifications: t = [],
|
|
115
|
+
unreadCount: d,
|
|
116
116
|
open: i,
|
|
117
|
-
onOpenChange:
|
|
117
|
+
onOpenChange: l,
|
|
118
118
|
isLoading: u = !1,
|
|
119
119
|
hasMore: g = !1,
|
|
120
120
|
onFetchMore: o,
|
|
121
121
|
onMarkRead: h,
|
|
122
122
|
onMarkAllRead: r,
|
|
123
123
|
onNavigate: c,
|
|
124
|
-
getNotificationRoute:
|
|
125
|
-
onDismiss:
|
|
126
|
-
headerActions:
|
|
127
|
-
emptyState:
|
|
124
|
+
getNotificationRoute: D,
|
|
125
|
+
onDismiss: I,
|
|
126
|
+
headerActions: C,
|
|
127
|
+
emptyState: T,
|
|
128
128
|
footerSlot: b,
|
|
129
|
-
popoverClassName:
|
|
130
|
-
className:
|
|
131
|
-
...
|
|
132
|
-
},
|
|
133
|
-
const
|
|
129
|
+
popoverClassName: j,
|
|
130
|
+
className: R,
|
|
131
|
+
...k
|
|
132
|
+
}, P) => {
|
|
133
|
+
const y = B(null), n = d ?? t.filter((s) => !s.isRead).length, K = D ?? (() => null), Y = x(
|
|
134
134
|
(s) => {
|
|
135
|
-
|
|
135
|
+
l == null || l(!1), c == null || c(s);
|
|
136
136
|
},
|
|
137
|
-
[c,
|
|
138
|
-
),
|
|
137
|
+
[c, l]
|
|
138
|
+
), E = x(
|
|
139
139
|
(s) => {
|
|
140
140
|
h == null || h(s);
|
|
141
141
|
},
|
|
142
142
|
[h]
|
|
143
|
-
),
|
|
144
|
-
const s =
|
|
143
|
+
), S = x(() => {
|
|
144
|
+
const s = y.current;
|
|
145
145
|
!s || u || !g || s.scrollTop + s.clientHeight >= s.scrollHeight - 50 && (o == null || o());
|
|
146
|
-
}, [u, g, o]),
|
|
146
|
+
}, [u, g, o]), A = t.reduce(
|
|
147
147
|
(s, m) => {
|
|
148
|
-
const f =
|
|
148
|
+
const f = M(m.createdAt);
|
|
149
149
|
return s[f] || (s[f] = []), s[f].push(m), s;
|
|
150
150
|
},
|
|
151
151
|
{}
|
|
152
|
-
),
|
|
153
|
-
return /* @__PURE__ */
|
|
154
|
-
/* @__PURE__ */
|
|
155
|
-
/* @__PURE__ */
|
|
152
|
+
), H = ["Today", "Yesterday", "Earlier"];
|
|
153
|
+
return /* @__PURE__ */ a(X, { open: i, onOpenChange: l, children: [
|
|
154
|
+
/* @__PURE__ */ a(F, { children: [
|
|
155
|
+
/* @__PURE__ */ e(J, { asChild: !0, children: /* @__PURE__ */ e(_, { asChild: !0, children: /* @__PURE__ */ a(
|
|
156
156
|
"button",
|
|
157
157
|
{
|
|
158
|
-
...
|
|
159
|
-
ref:
|
|
158
|
+
...k,
|
|
159
|
+
ref: P,
|
|
160
160
|
"aria-label": n > 0 ? `Notifications, ${n} unread` : "Notifications",
|
|
161
161
|
className: p(
|
|
162
|
-
"relative flex h-ds-sm-plus w-ds-sm-plus items-center justify-center rounded-ds-full border border-surface-border-strong bg-surface-2 text-surface-fg-muted transition-colors hover:bg-surface-3",
|
|
163
|
-
|
|
162
|
+
"relative flex h-ds-sm-plus w-ds-sm-plus items-center justify-center rounded-ds-full border border-surface-border-strong bg-surface-2 text-surface-fg-muted transition-colors ease-productive-standard hover:bg-surface-3",
|
|
163
|
+
R
|
|
164
164
|
),
|
|
165
165
|
children: [
|
|
166
|
-
/* @__PURE__ */
|
|
167
|
-
n > 0 && /* @__PURE__ */
|
|
168
|
-
|
|
166
|
+
/* @__PURE__ */ e(Q, { className: "h-ico-sm w-ico-sm", "aria-hidden": "true" }),
|
|
167
|
+
n > 0 && /* @__PURE__ */ e(
|
|
168
|
+
N.span,
|
|
169
169
|
{
|
|
170
170
|
initial: { rotate: 0 },
|
|
171
171
|
animate: { rotate: [0, -3, 3, -1, 1, 0] },
|
|
@@ -177,79 +177,87 @@ const ee = O.forwardRef(
|
|
|
177
177
|
]
|
|
178
178
|
}
|
|
179
179
|
) }) }),
|
|
180
|
-
/* @__PURE__ */
|
|
180
|
+
/* @__PURE__ */ e(L, { side: "bottom", align: "center", children: "Notifications" })
|
|
181
181
|
] }),
|
|
182
|
-
/* @__PURE__ */
|
|
183
|
-
|
|
182
|
+
/* @__PURE__ */ a(
|
|
183
|
+
q,
|
|
184
184
|
{
|
|
185
185
|
className: p(
|
|
186
186
|
"w-[380px] rounded-ds-xl border border-surface-border-strong bg-surface-1 p-0 shadow-03",
|
|
187
|
-
|
|
187
|
+
j
|
|
188
188
|
),
|
|
189
189
|
sideOffset: 8,
|
|
190
190
|
align: "end",
|
|
191
191
|
children: [
|
|
192
|
-
/* @__PURE__ */
|
|
193
|
-
/* @__PURE__ */
|
|
194
|
-
/* @__PURE__ */
|
|
195
|
-
n > 0 && /* @__PURE__ */
|
|
192
|
+
/* @__PURE__ */ a("div", { className: "flex items-center justify-between border-b border-surface-border-strong px-ds-05 py-ds-04", children: [
|
|
193
|
+
/* @__PURE__ */ a("div", { className: "flex items-center gap-ds-03", children: [
|
|
194
|
+
/* @__PURE__ */ e("h3", { className: "text-ds-md font-semibold text-surface-fg", children: "Notifications" }),
|
|
195
|
+
n > 0 && /* @__PURE__ */ e("span", { className: "flex h-5 min-w-5 items-center justify-center rounded-ds-full bg-accent-2 px-ds-02b text-ds-sm font-semibold text-accent-11", children: n })
|
|
196
196
|
] }),
|
|
197
|
-
/* @__PURE__ */
|
|
198
|
-
n > 0 && r && /* @__PURE__ */
|
|
197
|
+
/* @__PURE__ */ a("div", { className: "flex items-center gap-ds-03", children: [
|
|
198
|
+
n > 0 && r && /* @__PURE__ */ a(
|
|
199
199
|
"button",
|
|
200
200
|
{
|
|
201
201
|
type: "button",
|
|
202
202
|
onClick: r,
|
|
203
203
|
className: "flex items-center gap-ds-02 text-ds-sm text-surface-fg-subtle transition-colors hover:text-accent-11",
|
|
204
204
|
children: [
|
|
205
|
-
/* @__PURE__ */
|
|
205
|
+
/* @__PURE__ */ e(U, { className: "h-ico-sm w-ico-sm" }),
|
|
206
206
|
"Mark all read"
|
|
207
207
|
]
|
|
208
208
|
}
|
|
209
209
|
),
|
|
210
|
-
|
|
210
|
+
C
|
|
211
211
|
] })
|
|
212
212
|
] }),
|
|
213
|
-
/* @__PURE__ */
|
|
213
|
+
/* @__PURE__ */ a(
|
|
214
214
|
"div",
|
|
215
215
|
{
|
|
216
|
-
ref:
|
|
217
|
-
onScroll:
|
|
216
|
+
ref: y,
|
|
217
|
+
onScroll: S,
|
|
218
218
|
className: "max-h-[420px] overflow-y-auto",
|
|
219
219
|
children: [
|
|
220
|
-
|
|
221
|
-
/* @__PURE__ */
|
|
222
|
-
/* @__PURE__ */
|
|
223
|
-
/* @__PURE__ */
|
|
224
|
-
] }) :
|
|
225
|
-
const m =
|
|
226
|
-
return !m || m.length === 0 ? null : /* @__PURE__ */
|
|
227
|
-
/* @__PURE__ */
|
|
228
|
-
m.map((f) => /* @__PURE__ */
|
|
229
|
-
|
|
220
|
+
t.length === 0 ? T || /* @__PURE__ */ a("div", { className: "flex flex-col items-center justify-center px-ds-05 py-ds-09", children: [
|
|
221
|
+
/* @__PURE__ */ e("div", { className: "flex h-ds-lg w-ds-lg items-center justify-center rounded-ds-full bg-surface-2", children: /* @__PURE__ */ e(V, { className: "h-ico-lg w-ico-lg text-surface-fg-subtle" }) }),
|
|
222
|
+
/* @__PURE__ */ e("p", { className: "mt-ds-04 text-ds-md text-surface-fg-subtle", children: "No notifications yet" }),
|
|
223
|
+
/* @__PURE__ */ e("p", { className: "mt-ds-02 text-ds-sm text-surface-fg-subtle", children: "You're all caught up!" })
|
|
224
|
+
] }) : H.map((s) => {
|
|
225
|
+
const m = A[s];
|
|
226
|
+
return !m || m.length === 0 ? null : /* @__PURE__ */ a("div", { children: [
|
|
227
|
+
/* @__PURE__ */ e("div", { className: "sticky top-0 z-raised bg-surface-1 px-ds-05 py-ds-02b", children: /* @__PURE__ */ e("span", { className: "text-ds-sm font-medium text-surface-fg-subtle", children: s }) }),
|
|
228
|
+
m.map((f, O) => /* @__PURE__ */ e(
|
|
229
|
+
N.div,
|
|
230
230
|
{
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
231
|
+
initial: { opacity: 0 },
|
|
232
|
+
animate: { opacity: 1 },
|
|
233
|
+
transition: { delay: O * 0.03 },
|
|
234
|
+
children: /* @__PURE__ */ e(
|
|
235
|
+
ee,
|
|
236
|
+
{
|
|
237
|
+
notification: f,
|
|
238
|
+
onRead: E,
|
|
239
|
+
onNavigate: Y,
|
|
240
|
+
getRoute: K,
|
|
241
|
+
onDismiss: I
|
|
242
|
+
}
|
|
243
|
+
)
|
|
236
244
|
},
|
|
237
245
|
f.id
|
|
238
246
|
))
|
|
239
247
|
] }, s);
|
|
240
248
|
}),
|
|
241
|
-
u && /* @__PURE__ */
|
|
249
|
+
u && /* @__PURE__ */ e("div", { className: "flex items-center justify-center py-ds-05", children: /* @__PURE__ */ e(Z, {}) })
|
|
242
250
|
]
|
|
243
251
|
}
|
|
244
252
|
),
|
|
245
|
-
b && /* @__PURE__ */
|
|
253
|
+
b && /* @__PURE__ */ e("div", { className: "border-t border-surface-border-strong px-ds-05 py-ds-03", children: b })
|
|
246
254
|
]
|
|
247
255
|
}
|
|
248
256
|
)
|
|
249
257
|
] });
|
|
250
258
|
}
|
|
251
259
|
);
|
|
252
|
-
|
|
260
|
+
te.displayName = "NotificationCenter";
|
|
253
261
|
export {
|
|
254
|
-
|
|
262
|
+
te as NotificationCenter
|
|
255
263
|
};
|
package/dist/shell/sidebar.js
CHANGED
|
@@ -45,7 +45,7 @@ function re({ className: r }) {
|
|
|
45
45
|
}
|
|
46
46
|
);
|
|
47
47
|
}
|
|
48
|
-
const B = "relative gap-ds-04 rounded-ds-lg px-ds-04 py-ds-03 transition-colors", F = "bg-accent-2 text-accent-11 after:absolute after:right-0 after:top-0 after:h-full after:w-ds-01 after:rounded-l-ds-full after:bg-accent-9 after:content-['']", G = "text-surface-fg-subtle hover:bg-surface-3 hover:text-surface-fg";
|
|
48
|
+
const B = "relative gap-ds-04 rounded-ds-lg px-ds-04 py-ds-03 transition-colors duration-fast-02", F = "bg-accent-2 text-accent-11 after:absolute after:right-0 after:top-0 after:h-full after:w-ds-01 after:rounded-l-ds-full after:bg-accent-9 after:content-['']", G = "text-surface-fg-subtle hover:bg-surface-3 hover:text-surface-fg";
|
|
49
49
|
function se({
|
|
50
50
|
item: r,
|
|
51
51
|
isActive: t,
|
|
@@ -216,7 +216,7 @@ const ne = m.forwardRef(
|
|
|
216
216
|
] }),
|
|
217
217
|
a ? /* @__PURE__ */ s(M, { className: "gap-ds-03 px-ds-06 py-ds-05", children: [
|
|
218
218
|
a.slot && /* @__PURE__ */ e("div", { children: a.slot }),
|
|
219
|
-
a.promo && /* @__PURE__ */ s("div", { className: "relative rounded-ds-lg border border-surface-border bg-surface-2 p-ds-04", children: [
|
|
219
|
+
a.promo && /* @__PURE__ */ s("div", { className: "relative rounded-ds-lg border border-surface-border bg-surface-2 p-ds-04 shadow-01", children: [
|
|
220
220
|
a.promo.onDismiss && /* @__PURE__ */ e(
|
|
221
221
|
"button",
|
|
222
222
|
{
|
package/dist/shell/top-bar.js
CHANGED
|
@@ -87,7 +87,7 @@ const C = l.forwardRef(({ icon: r, tooltip: s, className: t, ...a }, n) => /* @_
|
|
|
87
87
|
ref: n,
|
|
88
88
|
type: "button",
|
|
89
89
|
className: d(
|
|
90
|
-
"flex h-ds-sm-plus w-ds-sm-plus items-center justify-center rounded-ds-full border border-surface-border-strong bg-surface-3 text-surface-fg-muted transition-
|
|
90
|
+
"flex h-ds-sm-plus w-ds-sm-plus items-center justify-center rounded-ds-full border border-surface-border-strong bg-surface-3 text-surface-fg-muted transition-[color,background-color,border-color,transform] hover:bg-surface-4 active:scale-90 duration-fast-01 ease-productive-standard",
|
|
91
91
|
t
|
|
92
92
|
),
|
|
93
93
|
...a,
|
|
@@ -97,7 +97,7 @@ const C = l.forwardRef(({ icon: r, tooltip: s, className: t, ...a }, n) => /* @_
|
|
|
97
97
|
/* @__PURE__ */ e(w, { side: "bottom", align: "center", children: s })
|
|
98
98
|
] }));
|
|
99
99
|
C.displayName = "TopBar.IconButton";
|
|
100
|
-
const
|
|
100
|
+
const k = l.forwardRef(
|
|
101
101
|
({ className: r, children: s, ...t }, a) => /* @__PURE__ */ e(
|
|
102
102
|
"h2",
|
|
103
103
|
{
|
|
@@ -111,11 +111,11 @@ const M = l.forwardRef(
|
|
|
111
111
|
}
|
|
112
112
|
)
|
|
113
113
|
);
|
|
114
|
-
|
|
115
|
-
const
|
|
114
|
+
k.displayName = "TopBar.Title";
|
|
115
|
+
const M = l.forwardRef(
|
|
116
116
|
({ user: r, onNavigate: s, onLogout: t, userMenuItems: a, className: n }, i) => {
|
|
117
117
|
var u;
|
|
118
|
-
const { colorMode: m, toggleColorMode:
|
|
118
|
+
const { colorMode: m, toggleColorMode: R } = U();
|
|
119
119
|
return /* @__PURE__ */ c(S, { children: [
|
|
120
120
|
/* @__PURE__ */ c(x, { children: [
|
|
121
121
|
/* @__PURE__ */ e(b, { asChild: !0, children: /* @__PURE__ */ e(F, { asChild: !0, children: /* @__PURE__ */ e(
|
|
@@ -196,7 +196,7 @@ const R = l.forwardRef(
|
|
|
196
196
|
f,
|
|
197
197
|
{
|
|
198
198
|
className: "flex w-full cursor-pointer items-center gap-ds-03 px-ds-05 py-ds-04 hover:bg-surface-2",
|
|
199
|
-
onClick:
|
|
199
|
+
onClick: R,
|
|
200
200
|
children: [
|
|
201
201
|
m === "dark" ? /* @__PURE__ */ e(z, { className: "h-ico-sm w-ico-sm text-surface-fg-muted" }) : /* @__PURE__ */ e(E, { className: "h-ico-sm w-ico-sm text-surface-fg-muted" }),
|
|
202
202
|
/* @__PURE__ */ e("span", { className: "text-ds-md text-surface-fg-muted", children: m === "dark" ? "Light Mode" : "Dark Mode" })
|
|
@@ -223,15 +223,15 @@ const R = l.forwardRef(
|
|
|
223
223
|
] });
|
|
224
224
|
}
|
|
225
225
|
);
|
|
226
|
-
|
|
226
|
+
M.displayName = "TopBar.UserMenu";
|
|
227
227
|
const X = Object.assign(N, {
|
|
228
228
|
Left: T,
|
|
229
229
|
Center: p,
|
|
230
230
|
Right: y,
|
|
231
231
|
Section: B,
|
|
232
232
|
IconButton: C,
|
|
233
|
-
Title:
|
|
234
|
-
UserMenu:
|
|
233
|
+
Title: k,
|
|
234
|
+
UserMenu: M
|
|
235
235
|
});
|
|
236
236
|
export {
|
|
237
237
|
X as TopBar
|
package/dist/tailwind/index.cjs
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
import { aj as a } from "../_chunks/vendor-utils.js";
|
|
2
|
+
const o = {
|
|
2
3
|
/**
|
|
3
4
|
* Dark mode uses the `.dark` class strategy. If your app uses `darkMode: 'media'`,
|
|
4
5
|
* set it explicitly in your own tailwind.config — your config takes precedence.
|
|
@@ -345,10 +346,36 @@ const r = {
|
|
|
345
346
|
popover: "var(--z-popover)",
|
|
346
347
|
toast: "var(--z-toast)",
|
|
347
348
|
tooltip: "var(--z-tooltip)"
|
|
349
|
+
},
|
|
350
|
+
fontVariantNumeric: {
|
|
351
|
+
tabular: "tabular-nums"
|
|
348
352
|
}
|
|
349
353
|
}
|
|
350
354
|
},
|
|
351
|
-
plugins: [
|
|
355
|
+
plugins: [
|
|
356
|
+
a(({ addUtilities: r }) => {
|
|
357
|
+
r({
|
|
358
|
+
".focus-ring": {
|
|
359
|
+
"&:focus-visible": {
|
|
360
|
+
outline: "none",
|
|
361
|
+
"box-shadow": "0 0 0 2px var(--color-surface-1), 0 0 0 4px var(--color-accent-9)"
|
|
362
|
+
}
|
|
363
|
+
},
|
|
364
|
+
".focus-ring-inset": {
|
|
365
|
+
"&:focus-visible": {
|
|
366
|
+
outline: "none",
|
|
367
|
+
"box-shadow": "inset 0 0 0 2px var(--color-accent-9)"
|
|
368
|
+
}
|
|
369
|
+
},
|
|
370
|
+
".focus-ring-sm": {
|
|
371
|
+
"&:focus-visible": {
|
|
372
|
+
outline: "none",
|
|
373
|
+
"box-shadow": "0 0 0 1px var(--color-accent-7)"
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
});
|
|
377
|
+
})
|
|
378
|
+
]
|
|
352
379
|
};
|
|
353
|
-
module.exports =
|
|
380
|
+
module.exports = o;
|
|
354
381
|
module.exports.default = module.exports;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preset.d.ts","sourceRoot":"","sources":["../../src/tailwind/preset.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"preset.d.ts","sourceRoot":"","sources":["../../src/tailwind/preset.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAGzC,QAAA,MAAM,MAAM,EAAE,OAAO,CAAC,MAAM,CAiY3B,CAAA;AAED,eAAe,MAAM,CAAA"}
|
package/dist/tailwind/preset.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
import { aj as a } from "../_chunks/vendor-utils.js";
|
|
2
|
+
const o = {
|
|
2
3
|
/**
|
|
3
4
|
* Dark mode uses the `.dark` class strategy. If your app uses `darkMode: 'media'`,
|
|
4
5
|
* set it explicitly in your own tailwind.config — your config takes precedence.
|
|
@@ -345,11 +346,37 @@ const r = {
|
|
|
345
346
|
popover: "var(--z-popover)",
|
|
346
347
|
toast: "var(--z-toast)",
|
|
347
348
|
tooltip: "var(--z-tooltip)"
|
|
349
|
+
},
|
|
350
|
+
fontVariantNumeric: {
|
|
351
|
+
tabular: "tabular-nums"
|
|
348
352
|
}
|
|
349
353
|
}
|
|
350
354
|
},
|
|
351
|
-
plugins: [
|
|
355
|
+
plugins: [
|
|
356
|
+
a(({ addUtilities: r }) => {
|
|
357
|
+
r({
|
|
358
|
+
".focus-ring": {
|
|
359
|
+
"&:focus-visible": {
|
|
360
|
+
outline: "none",
|
|
361
|
+
"box-shadow": "0 0 0 2px var(--color-surface-1), 0 0 0 4px var(--color-accent-9)"
|
|
362
|
+
}
|
|
363
|
+
},
|
|
364
|
+
".focus-ring-inset": {
|
|
365
|
+
"&:focus-visible": {
|
|
366
|
+
outline: "none",
|
|
367
|
+
"box-shadow": "inset 0 0 0 2px var(--color-accent-9)"
|
|
368
|
+
}
|
|
369
|
+
},
|
|
370
|
+
".focus-ring-sm": {
|
|
371
|
+
"&:focus-visible": {
|
|
372
|
+
outline: "none",
|
|
373
|
+
"box-shadow": "0 0 0 1px var(--color-accent-7)"
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
});
|
|
377
|
+
})
|
|
378
|
+
]
|
|
352
379
|
};
|
|
353
380
|
export {
|
|
354
|
-
|
|
381
|
+
o as default
|
|
355
382
|
};
|
package/dist/tokens/semantic.css
CHANGED
|
@@ -258,11 +258,11 @@
|
|
|
258
258
|
/* ═══════════════════════════════════════════════════════════
|
|
259
259
|
SHADOWS
|
|
260
260
|
═══════════════════════════════════════════════════════════ */
|
|
261
|
-
--shadow-01: 0 1px
|
|
262
|
-
--shadow-02: 0 2px
|
|
263
|
-
--shadow-03: 0 4px 16px oklch(0 0 0 / 0.
|
|
264
|
-
--shadow-04: 0
|
|
265
|
-
--shadow-05: 0 16px
|
|
261
|
+
--shadow-01: 0 1px 1px oklch(0 0 0 / 0.06), 0 1px 3px oklch(0 0 0 / 0.10), 0 2px 6px oklch(0 0 0 / 0.08);
|
|
262
|
+
--shadow-02: 0 1px 2px oklch(0 0 0 / 0.08), 0 4px 8px oklch(0 0 0 / 0.12), 0 8px 24px oklch(0 0 0 / 0.10);
|
|
263
|
+
--shadow-03: 0 2px 4px oklch(0 0 0 / 0.08), 0 8px 16px oklch(0 0 0 / 0.12), 0 16px 40px oklch(0 0 0 / 0.10);
|
|
264
|
+
--shadow-04: 0 2px 4px oklch(0 0 0 / 0.10), 0 12px 24px oklch(0 0 0 / 0.14), 0 24px 56px oklch(0 0 0 / 0.12);
|
|
265
|
+
--shadow-05: 0 4px 8px oklch(0 0 0 / 0.10), 0 16px 32px oklch(0 0 0 / 0.16), 0 32px 64px oklch(0 0 0 / 0.14);
|
|
266
266
|
--shadow-brand: 0 4px 16px oklch(0.55 0.19 360 / 0.25);
|
|
267
267
|
|
|
268
268
|
/* ═══════════════════════════════════════════════════════════
|
|
@@ -372,11 +372,11 @@
|
|
|
372
372
|
--color-skeleton-shimmer: var(--neutral-3);
|
|
373
373
|
|
|
374
374
|
/* Shadows (heavier in dark mode) */
|
|
375
|
-
--shadow-01: 0 1px 2px oklch(0 0 0 / 0.
|
|
376
|
-
--shadow-02: 0 2px
|
|
377
|
-
--shadow-03: 0 4px 16px oklch(0 0 0 / 0.
|
|
378
|
-
--shadow-04: 0
|
|
379
|
-
--shadow-05: 0 16px
|
|
375
|
+
--shadow-01: 0 1px 1px oklch(0 0 0 / 0.15), 0 1px 3px oklch(0 0 0 / 0.25), 0 2px 6px oklch(0 0 0 / 0.20);
|
|
376
|
+
--shadow-02: 0 1px 2px oklch(0 0 0 / 0.20), 0 4px 8px oklch(0 0 0 / 0.30), 0 8px 24px oklch(0 0 0 / 0.25);
|
|
377
|
+
--shadow-03: 0 2px 4px oklch(0 0 0 / 0.20), 0 8px 16px oklch(0 0 0 / 0.30), 0 16px 40px oklch(0 0 0 / 0.25);
|
|
378
|
+
--shadow-04: 0 2px 4px oklch(0 0 0 / 0.25), 0 12px 24px oklch(0 0 0 / 0.35), 0 24px 56px oklch(0 0 0 / 0.30);
|
|
379
|
+
--shadow-05: 0 4px 8px oklch(0 0 0 / 0.25), 0 16px 32px oklch(0 0 0 / 0.40), 0 32px 64px oklch(0 0 0 / 0.35);
|
|
380
380
|
--shadow-brand: 0 4px 16px oklch(0.55 0.19 360 / 0.35);
|
|
381
381
|
|
|
382
382
|
/* Gradients */
|
|
@@ -18,12 +18,12 @@
|
|
|
18
18
|
--typo-heading-2xl-size: var(--font-size-6xl);
|
|
19
19
|
--typo-heading-2xl-weight: var(--font-weight-regular);
|
|
20
20
|
--typo-heading-2xl-leading: var(--line-height-tight);
|
|
21
|
-
--typo-heading-2xl-tracking: -0.
|
|
21
|
+
--typo-heading-2xl-tracking: -0.025em;
|
|
22
22
|
|
|
23
23
|
--typo-heading-xl-size: var(--font-size-5xl);
|
|
24
24
|
--typo-heading-xl-weight: var(--font-weight-regular);
|
|
25
25
|
--typo-heading-xl-leading: var(--line-height-tight);
|
|
26
|
-
--typo-heading-xl-tracking: -0.
|
|
26
|
+
--typo-heading-xl-tracking: -0.025em;
|
|
27
27
|
|
|
28
28
|
--typo-heading-lg-size: var(--font-size-4xl);
|
|
29
29
|
--typo-heading-lg-weight: var(--font-weight-regular);
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
--typo-heading-sm-size: var(--font-size-2xl);
|
|
39
39
|
--typo-heading-sm-weight: var(--font-weight-regular);
|
|
40
40
|
--typo-heading-sm-leading: var(--line-height-snug);
|
|
41
|
-
--typo-heading-sm-tracking: -0.
|
|
41
|
+
--typo-heading-sm-tracking: -0.015em;
|
|
42
42
|
|
|
43
43
|
--typo-heading-xs-size: var(--font-size-xl);
|
|
44
44
|
--typo-heading-xs-weight: var(--font-weight-regular);
|