@devalok/shilp-sutra 0.21.0 → 0.22.1
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 +82 -107
- 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,9 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsxs as w, jsx as a } from "react/jsx-runtime";
|
|
3
3
|
import * as $ from "react";
|
|
4
|
-
import { startOfWeek as
|
|
4
|
+
import { startOfWeek as S, addDays as E, format as u, isSameDay as I, isToday as D, getHours as N, getMinutes as v, differenceInMinutes as A } from "date-fns";
|
|
5
5
|
import { cn as x } from "../ui/lib/utils.js";
|
|
6
|
-
|
|
6
|
+
import { m as O } from "../_chunks/framer.js";
|
|
7
|
+
const P = {
|
|
7
8
|
primary: "bg-accent-2 border-accent-7 text-accent-11",
|
|
8
9
|
success: "bg-success-3 border-success-7 text-success-11",
|
|
9
10
|
warning: "bg-warning-3 border-warning-7 text-warning-11",
|
|
@@ -11,21 +12,21 @@ const O = {
|
|
|
11
12
|
info: "bg-info-3 border-info-7 text-info-11",
|
|
12
13
|
neutral: "bg-surface-2 border-surface-border-strong text-surface-fg-muted"
|
|
13
14
|
};
|
|
14
|
-
function
|
|
15
|
+
function T(r) {
|
|
15
16
|
return r === 0 ? "12 AM" : r < 12 ? `${r} AM` : r === 12 ? "12 PM" : `${r - 12} PM`;
|
|
16
17
|
}
|
|
17
|
-
function
|
|
18
|
-
const
|
|
18
|
+
function V(r, s, o) {
|
|
19
|
+
const d = (o - s) * 60, t = (N(r.start) - s) * 60 + v(r.start), i = A(r.end, r.start), c = t / d * 100, m = i / d * 100;
|
|
19
20
|
return {
|
|
20
|
-
top: `${
|
|
21
|
+
top: `${c}%`,
|
|
21
22
|
height: `${m}%`
|
|
22
23
|
};
|
|
23
24
|
}
|
|
24
|
-
function
|
|
25
|
+
function j({ startHour: r, endHour: s }) {
|
|
25
26
|
const o = [];
|
|
26
27
|
for (let t = r; t < s; t++)
|
|
27
28
|
o.push(t);
|
|
28
|
-
const
|
|
29
|
+
const d = 100 / (s - r);
|
|
29
30
|
return /* @__PURE__ */ a(
|
|
30
31
|
"div",
|
|
31
32
|
{
|
|
@@ -35,36 +36,36 @@ function V({ startHour: r, endHour: s }) {
|
|
|
35
36
|
"div",
|
|
36
37
|
{
|
|
37
38
|
className: "text-ds-xs text-surface-fg-muted pr-ds-02 text-right",
|
|
38
|
-
style: { height: `${
|
|
39
|
-
children:
|
|
39
|
+
style: { height: `${d}%` },
|
|
40
|
+
children: T(t)
|
|
40
41
|
},
|
|
41
42
|
t
|
|
42
43
|
))
|
|
43
44
|
}
|
|
44
45
|
);
|
|
45
46
|
}
|
|
46
|
-
function
|
|
47
|
+
function R({
|
|
47
48
|
date: r,
|
|
48
49
|
events: s,
|
|
49
50
|
startHour: o,
|
|
50
|
-
endHour:
|
|
51
|
+
endHour: d,
|
|
51
52
|
slotDuration: t,
|
|
52
|
-
onEventClick:
|
|
53
|
-
onSlotClick:
|
|
53
|
+
onEventClick: i,
|
|
54
|
+
onSlotClick: c,
|
|
54
55
|
showHeader: m
|
|
55
56
|
}) {
|
|
56
|
-
const y = s.filter((e) =>
|
|
57
|
-
for (let e = 0; e <
|
|
57
|
+
const y = s.filter((e) => I(e.start, r)), p = (d - o) * 60, h = p / t, b = [];
|
|
58
|
+
for (let e = 0; e < h; e++) {
|
|
58
59
|
const n = new Date(r);
|
|
59
60
|
n.setHours(o, e * t, 0, 0);
|
|
60
61
|
const f = new Date(n);
|
|
61
62
|
f.setMinutes(f.getMinutes() + t), b.push({ start: n, end: f });
|
|
62
63
|
}
|
|
63
|
-
const l =
|
|
64
|
-
let
|
|
64
|
+
const l = D(r);
|
|
65
|
+
let g = null;
|
|
65
66
|
if (l) {
|
|
66
|
-
const e = /* @__PURE__ */ new Date(), n = N(e), f =
|
|
67
|
-
n >= o && n <
|
|
67
|
+
const e = /* @__PURE__ */ new Date(), n = N(e), f = v(e);
|
|
68
|
+
n >= o && n < d && (g = ((n - o) * 60 + f) / p * 100);
|
|
68
69
|
}
|
|
69
70
|
return /* @__PURE__ */ w("div", { className: "flex flex-1 flex-col min-w-[80px]", children: [
|
|
70
71
|
m && /* @__PURE__ */ a(
|
|
@@ -83,17 +84,17 @@ function j({
|
|
|
83
84
|
{
|
|
84
85
|
type: "button",
|
|
85
86
|
className: x(
|
|
86
|
-
"block w-full border-b border-surface-border hover:bg-surface-3 transition-colors",
|
|
87
|
+
"block w-full border-b border-surface-border hover:bg-surface-3 transition-colors ease-productive-standard",
|
|
87
88
|
n % 2 === 0 ? "border-surface-border-strong" : "border-surface-3"
|
|
88
89
|
),
|
|
89
|
-
style: { height: `${100 /
|
|
90
|
-
onClick: () =>
|
|
90
|
+
style: { height: `${100 / h}%` },
|
|
91
|
+
onClick: () => c == null ? void 0 : c(e.start, e.end),
|
|
91
92
|
"aria-label": `${u(e.start, "h:mm a")} to ${u(e.end, "h:mm a")}`
|
|
92
93
|
},
|
|
93
94
|
n
|
|
94
95
|
)),
|
|
95
96
|
y.map((e) => {
|
|
96
|
-
const n =
|
|
97
|
+
const n = V(e, o, d), f = P[e.color ?? "primary"];
|
|
97
98
|
return /* @__PURE__ */ a(
|
|
98
99
|
"button",
|
|
99
100
|
{
|
|
@@ -101,12 +102,12 @@ function j({
|
|
|
101
102
|
className: x(
|
|
102
103
|
"absolute left-ds-01 right-ds-01 rounded-ds-sm border-l-[3px] px-ds-02 py-ds-01",
|
|
103
104
|
"text-left text-ds-xs font-medium overflow-hidden cursor-pointer",
|
|
104
|
-
"hover:
|
|
105
|
+
"hover:shadow-01 hover:scale-[1.02] transition-[box-shadow,transform] duration-fast-02 ease-productive-standard",
|
|
105
106
|
f
|
|
106
107
|
),
|
|
107
108
|
style: n,
|
|
108
109
|
onClick: (M) => {
|
|
109
|
-
M.stopPropagation(),
|
|
110
|
+
M.stopPropagation(), i == null || i(e);
|
|
110
111
|
},
|
|
111
112
|
"aria-label": `${e.title}, ${u(e.start, "h:mm a")} to ${u(e.end, "h:mm a")}`,
|
|
112
113
|
children: /* @__PURE__ */ a("span", { className: "line-clamp-2", children: e.title })
|
|
@@ -114,40 +115,47 @@ function j({
|
|
|
114
115
|
e.id
|
|
115
116
|
);
|
|
116
117
|
}),
|
|
117
|
-
|
|
118
|
+
g != null && /* @__PURE__ */ a(
|
|
118
119
|
"div",
|
|
119
120
|
{
|
|
120
121
|
className: "absolute left-0 right-0 h-[2px] bg-error-9 z-10 pointer-events-none",
|
|
121
|
-
style: { top: `${
|
|
122
|
+
style: { top: `${g}%` },
|
|
122
123
|
"aria-hidden": "true",
|
|
123
|
-
children: /* @__PURE__ */ a(
|
|
124
|
+
children: /* @__PURE__ */ a(
|
|
125
|
+
O.span,
|
|
126
|
+
{
|
|
127
|
+
className: "absolute -left-[5px] -top-[4px] h-[10px] w-[10px] rounded-ds-full bg-error-9",
|
|
128
|
+
animate: { scale: [1, 1.3, 1] },
|
|
129
|
+
transition: { repeat: 1 / 0, duration: 2 }
|
|
130
|
+
}
|
|
131
|
+
)
|
|
124
132
|
}
|
|
125
133
|
)
|
|
126
134
|
] })
|
|
127
135
|
] });
|
|
128
136
|
}
|
|
129
|
-
const
|
|
137
|
+
const W = $.forwardRef(
|
|
130
138
|
({
|
|
131
139
|
view: r,
|
|
132
140
|
date: s,
|
|
133
141
|
events: o,
|
|
134
|
-
onEventClick:
|
|
142
|
+
onEventClick: d,
|
|
135
143
|
onSlotClick: t,
|
|
136
|
-
startHour:
|
|
137
|
-
endHour:
|
|
144
|
+
startHour: i = 8,
|
|
145
|
+
endHour: c = 18,
|
|
138
146
|
slotDuration: m = 30,
|
|
139
147
|
className: y,
|
|
140
148
|
...p
|
|
141
|
-
},
|
|
149
|
+
}, h) => {
|
|
142
150
|
const b = $.useMemo(() => {
|
|
143
151
|
if (r === "day") return [s];
|
|
144
|
-
const l =
|
|
145
|
-
return Array.from({ length: 7 }, (
|
|
152
|
+
const l = S(s, { weekStartsOn: 1 });
|
|
153
|
+
return Array.from({ length: 7 }, (g, e) => E(l, e));
|
|
146
154
|
}, [r, s]);
|
|
147
155
|
return /* @__PURE__ */ w(
|
|
148
156
|
"div",
|
|
149
157
|
{
|
|
150
|
-
ref:
|
|
158
|
+
ref: h,
|
|
151
159
|
role: "region",
|
|
152
160
|
"aria-label": r === "day" ? `Schedule for ${u(s, "EEEE, MMMM d, yyyy")}` : `Week schedule starting ${u(b[0], "MMMM d, yyyy")}`,
|
|
153
161
|
className: x(
|
|
@@ -157,16 +165,16 @@ const R = $.forwardRef(
|
|
|
157
165
|
),
|
|
158
166
|
...p,
|
|
159
167
|
children: [
|
|
160
|
-
/* @__PURE__ */ a(
|
|
168
|
+
/* @__PURE__ */ a(j, { startHour: i, endHour: c }),
|
|
161
169
|
/* @__PURE__ */ a("div", { className: "flex flex-1 divide-x divide-surface-border overflow-x-auto", children: b.map((l) => /* @__PURE__ */ a(
|
|
162
|
-
|
|
170
|
+
R,
|
|
163
171
|
{
|
|
164
172
|
date: l,
|
|
165
173
|
events: o,
|
|
166
|
-
startHour:
|
|
167
|
-
endHour:
|
|
174
|
+
startHour: i,
|
|
175
|
+
endHour: c,
|
|
168
176
|
slotDuration: m,
|
|
169
|
-
onEventClick:
|
|
177
|
+
onEventClick: d,
|
|
170
178
|
onSlotClick: t,
|
|
171
179
|
showHeader: r === "week"
|
|
172
180
|
},
|
|
@@ -177,7 +185,7 @@ const R = $.forwardRef(
|
|
|
177
185
|
);
|
|
178
186
|
}
|
|
179
187
|
);
|
|
180
|
-
|
|
188
|
+
W.displayName = "ScheduleView";
|
|
181
189
|
export {
|
|
182
|
-
|
|
190
|
+
W as ScheduleView
|
|
183
191
|
};
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { jsx as
|
|
2
|
+
import { jsx as a, jsxs as u } from "react/jsx-runtime";
|
|
3
3
|
import * as v from "react";
|
|
4
4
|
import { ag as C } from "../_chunks/vendor-utils.js";
|
|
5
5
|
import { motionProps as g } from "../ui/lib/motion.js";
|
|
6
|
-
import { cn as
|
|
7
|
-
import { A as
|
|
6
|
+
import { cn as r } from "../ui/lib/utils.js";
|
|
7
|
+
import { A as l, m as p } from "../_chunks/framer.js";
|
|
8
8
|
const b = C(
|
|
9
9
|
"inline-flex items-center gap-ds-02b rounded-ds-full font-body",
|
|
10
10
|
{
|
|
@@ -54,24 +54,24 @@ const b = C(
|
|
|
54
54
|
({ status: m, color: s, size: t, label: n, hideDot: c = !1, className: o, ...i }, d) => {
|
|
55
55
|
if (s != null) {
|
|
56
56
|
const h = n ?? s.charAt(0).toUpperCase() + s.slice(1), y = k[s];
|
|
57
|
-
return /* @__PURE__ */
|
|
58
|
-
|
|
57
|
+
return /* @__PURE__ */ a(l, { mode: "wait", children: /* @__PURE__ */ u(
|
|
58
|
+
p.span,
|
|
59
59
|
{
|
|
60
60
|
ref: d,
|
|
61
|
-
initial: { opacity: 0.6 },
|
|
62
|
-
animate: { opacity: 1 },
|
|
63
|
-
exit: { opacity: 0.6 },
|
|
61
|
+
initial: { opacity: 0.6, scale: 0.95 },
|
|
62
|
+
animate: { opacity: 1, scale: 1 },
|
|
63
|
+
exit: { opacity: 0.6, scale: 0.95 },
|
|
64
64
|
transition: f,
|
|
65
|
-
className:
|
|
65
|
+
className: r(
|
|
66
66
|
b({ color: s, size: t }),
|
|
67
67
|
o
|
|
68
68
|
),
|
|
69
69
|
...g(i),
|
|
70
70
|
children: [
|
|
71
|
-
!c && /* @__PURE__ */
|
|
71
|
+
!c && /* @__PURE__ */ a(
|
|
72
72
|
"span",
|
|
73
73
|
{
|
|
74
|
-
className:
|
|
74
|
+
className: r(
|
|
75
75
|
"shrink-0 rounded-ds-full",
|
|
76
76
|
t === "sm" ? "h-ds-02b w-ds-02b" : "h-[8px] w-[8px]",
|
|
77
77
|
y
|
|
@@ -86,24 +86,24 @@ const b = C(
|
|
|
86
86
|
) });
|
|
87
87
|
}
|
|
88
88
|
const e = m ?? "pending", x = n ?? e.charAt(0).toUpperCase() + e.slice(1), w = j[e];
|
|
89
|
-
return /* @__PURE__ */
|
|
90
|
-
|
|
89
|
+
return /* @__PURE__ */ a(l, { mode: "wait", children: /* @__PURE__ */ u(
|
|
90
|
+
p.span,
|
|
91
91
|
{
|
|
92
92
|
ref: d,
|
|
93
93
|
initial: { opacity: 0.6 },
|
|
94
94
|
animate: { opacity: 1 },
|
|
95
95
|
exit: { opacity: 0.6 },
|
|
96
96
|
transition: f,
|
|
97
|
-
className:
|
|
97
|
+
className: r(
|
|
98
98
|
b({ status: e, size: t }),
|
|
99
99
|
o
|
|
100
100
|
),
|
|
101
101
|
...g(i),
|
|
102
102
|
children: [
|
|
103
|
-
!c && /* @__PURE__ */
|
|
103
|
+
!c && /* @__PURE__ */ a(
|
|
104
104
|
"span",
|
|
105
105
|
{
|
|
106
|
-
className:
|
|
106
|
+
className: r(
|
|
107
107
|
"shrink-0 rounded-ds-full",
|
|
108
108
|
t === "sm" ? "h-ds-02b w-ds-02b" : "h-[8px] w-[8px]",
|
|
109
109
|
w
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bottom-navbar.d.ts","sourceRoot":"","sources":["../../src/shell/bottom-navbar.tsx"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAY9B,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,KAAK,CAAC,SAAS,CAAA;IACrB,uEAAuE;IACvE,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,mFAAmF;IACnF,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,iBACf,SAAQ,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC;IACzC,gCAAgC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,kEAAkE;IAClE,IAAI,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAA;IAC9B,6EAA6E;IAC7E,YAAY,CAAC,EAAE,aAAa,EAAE,CAAA;IAC9B,yDAAyD;IACzD,SAAS,CAAC,EAAE,aAAa,EAAE,CAAA;IAC3B,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AA2ED,QAAA,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"bottom-navbar.d.ts","sourceRoot":"","sources":["../../src/shell/bottom-navbar.tsx"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAY9B,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,KAAK,CAAC,SAAS,CAAA;IACrB,uEAAuE;IACvE,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,mFAAmF;IACnF,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,iBACf,SAAQ,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC;IACzC,gCAAgC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,kEAAkE;IAClE,IAAI,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAA;IAC9B,6EAA6E;IAC7E,YAAY,CAAC,EAAE,aAAa,EAAE,CAAA;IAC9B,yDAAyD;IACzD,SAAS,CAAC,EAAE,aAAa,EAAE,CAAA;IAC3B,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AA2ED,QAAA,MAAM,YAAY,uFA2IjB,CAAA;AAGD,OAAO,EAAE,YAAY,EAAE,CAAA"}
|
|
@@ -4,17 +4,17 @@ import * as w from "react";
|
|
|
4
4
|
import { useState as y } from "react";
|
|
5
5
|
import { u } from "../_chunks/link-context.js";
|
|
6
6
|
import { IconX as k, IconDots as M } from "@tabler/icons-react";
|
|
7
|
-
import { cn as
|
|
7
|
+
import { cn as l } from "../ui/lib/utils.js";
|
|
8
8
|
import { springs as d } from "../ui/lib/motion.js";
|
|
9
|
-
import { m as
|
|
10
|
-
function
|
|
9
|
+
import { A as j, m as c } from "../_chunks/framer.js";
|
|
10
|
+
function C({ count: a }) {
|
|
11
11
|
if (!a || a <= 0) return null;
|
|
12
12
|
const r = a > 99 ? "99+" : String(a), i = a >= 10;
|
|
13
13
|
return /* @__PURE__ */ s(
|
|
14
14
|
"span",
|
|
15
15
|
{
|
|
16
16
|
"aria-label": `${a} notifications`,
|
|
17
|
-
className:
|
|
17
|
+
className: l(
|
|
18
18
|
"absolute -right-1 -top-0.5 flex h-4 min-w-4 items-center justify-center rounded-full bg-error-9 text-[10px] font-semibold leading-none text-accent-fg animate-in zoom-in-75",
|
|
19
19
|
i ? "px-0.5" : ""
|
|
20
20
|
),
|
|
@@ -22,26 +22,26 @@ function j({ count: a }) {
|
|
|
22
22
|
}
|
|
23
23
|
);
|
|
24
24
|
}
|
|
25
|
-
function
|
|
25
|
+
function B({
|
|
26
26
|
item: a,
|
|
27
27
|
isActive: r,
|
|
28
28
|
onClick: i
|
|
29
29
|
}) {
|
|
30
30
|
const n = u();
|
|
31
|
-
return /* @__PURE__ */ s(
|
|
31
|
+
return /* @__PURE__ */ s(c.div, { whileTap: { y: -2 }, transition: d.snappy, className: "flex max-w-[70px] flex-1", children: /* @__PURE__ */ s(
|
|
32
32
|
n,
|
|
33
33
|
{
|
|
34
34
|
href: a.href,
|
|
35
35
|
onClick: i,
|
|
36
36
|
"aria-label": a.title,
|
|
37
37
|
"aria-current": r ? "page" : void 0,
|
|
38
|
-
className:
|
|
39
|
-
"flex h-16 w-full cursor-pointer flex-col items-center gap-ds-02 p-ds-02 pt-0 text-ds-sm",
|
|
38
|
+
className: l(
|
|
39
|
+
"flex h-16 w-full cursor-pointer flex-col items-center gap-ds-02 p-ds-02 pt-0 text-ds-sm transition-colors duration-fast-02 ease-productive-standard",
|
|
40
40
|
r ? "font-semibold text-accent-11" : "text-surface-fg-subtle"
|
|
41
41
|
),
|
|
42
42
|
children: /* @__PURE__ */ t("div", { className: "relative flex w-full flex-col items-center gap-ds-02", children: [
|
|
43
43
|
r && /* @__PURE__ */ s(
|
|
44
|
-
|
|
44
|
+
c.div,
|
|
45
45
|
{
|
|
46
46
|
layoutId: "bottom-nav-indicator",
|
|
47
47
|
className: "absolute top-0 h-[3px] w-full rounded-b-ds-sm bg-accent-9 p-0",
|
|
@@ -51,14 +51,14 @@ function C({
|
|
|
51
51
|
),
|
|
52
52
|
/* @__PURE__ */ t("div", { className: "relative p-ds-03", children: [
|
|
53
53
|
/* @__PURE__ */ s("span", { className: "[&>svg]:h-ico-md [&>svg]:w-ico-md", "aria-hidden": "true", children: a.icon }),
|
|
54
|
-
a.badge != null && /* @__PURE__ */ s(
|
|
54
|
+
a.badge != null && /* @__PURE__ */ s(C, { count: a.badge })
|
|
55
55
|
] }),
|
|
56
56
|
/* @__PURE__ */ s("span", { className: "text-center", children: a.title })
|
|
57
57
|
] })
|
|
58
58
|
}
|
|
59
59
|
) });
|
|
60
60
|
}
|
|
61
|
-
const
|
|
61
|
+
const L = w.forwardRef(
|
|
62
62
|
({
|
|
63
63
|
currentPath: a = "/",
|
|
64
64
|
user: r,
|
|
@@ -67,21 +67,25 @@ const B = w.forwardRef(
|
|
|
67
67
|
className: h,
|
|
68
68
|
...x
|
|
69
69
|
}, b) => {
|
|
70
|
-
const g = u(), [
|
|
70
|
+
const g = u(), [o, f] = y(!1), m = (e, v = !1) => v || e === "/" ? a === e : a.startsWith(e), p = n.some(
|
|
71
71
|
(e) => m(e.href, e.exact)
|
|
72
72
|
);
|
|
73
73
|
return /* @__PURE__ */ t(N, { children: [
|
|
74
|
-
|
|
74
|
+
/* @__PURE__ */ s(j, { children: o && // eslint-disable-next-line jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events -- backdrop overlay, dismiss via mouse only; keyboard users close via Escape
|
|
75
75
|
/* @__PURE__ */ t(
|
|
76
76
|
"div",
|
|
77
77
|
{
|
|
78
78
|
className: "fixed inset-0 z-overlay md:hidden",
|
|
79
|
-
onClick: () =>
|
|
79
|
+
onClick: () => f(!1),
|
|
80
80
|
children: [
|
|
81
81
|
/* @__PURE__ */ s("div", { className: "absolute inset-0 bg-overlay" }),
|
|
82
82
|
/* @__PURE__ */ t(
|
|
83
|
-
|
|
83
|
+
c.div,
|
|
84
84
|
{
|
|
85
|
+
initial: { y: "100%" },
|
|
86
|
+
animate: { y: 0 },
|
|
87
|
+
exit: { y: "100%" },
|
|
88
|
+
transition: d.smooth,
|
|
85
89
|
className: "absolute bottom-[72px] left-0 right-0 rounded-t-ds-2xl border-t border-surface-border-strong bg-surface-2 p-ds-05 pb-ds-03",
|
|
86
90
|
onClick: (e) => e.stopPropagation(),
|
|
87
91
|
onKeyDown: (e) => e.stopPropagation(),
|
|
@@ -91,7 +95,7 @@ const B = w.forwardRef(
|
|
|
91
95
|
/* @__PURE__ */ s(
|
|
92
96
|
"button",
|
|
93
97
|
{
|
|
94
|
-
onClick: () =>
|
|
98
|
+
onClick: () => f(!1),
|
|
95
99
|
"aria-label": "Close more menu",
|
|
96
100
|
className: "flex h-ds-sm w-ds-sm items-center justify-center rounded-ds-full hover:bg-surface-3",
|
|
97
101
|
children: /* @__PURE__ */ s(k, { className: "h-ico-sm w-ico-sm text-surface-fg-muted", "aria-hidden": "true" })
|
|
@@ -102,9 +106,9 @@ const B = w.forwardRef(
|
|
|
102
106
|
g,
|
|
103
107
|
{
|
|
104
108
|
href: e.href,
|
|
105
|
-
onClick: () =>
|
|
106
|
-
className:
|
|
107
|
-
"flex flex-col items-center gap-ds-02b rounded-ds-xl p-ds-04 text-ds-sm transition-colors",
|
|
109
|
+
onClick: () => f(!1),
|
|
110
|
+
className: l(
|
|
111
|
+
"flex flex-col items-center gap-ds-02b rounded-ds-xl p-ds-04 text-ds-sm transition-colors ease-productive-standard",
|
|
108
112
|
m(e.href, e.exact) ? "bg-surface-3 text-accent-11" : "text-surface-fg-subtle hover:bg-surface-3"
|
|
109
113
|
),
|
|
110
114
|
children: [
|
|
@@ -119,20 +123,20 @@ const B = w.forwardRef(
|
|
|
119
123
|
)
|
|
120
124
|
]
|
|
121
125
|
}
|
|
122
|
-
),
|
|
126
|
+
) }),
|
|
123
127
|
/* @__PURE__ */ t(
|
|
124
128
|
"nav",
|
|
125
129
|
{
|
|
126
130
|
...x,
|
|
127
131
|
ref: b,
|
|
128
132
|
"aria-label": "Mobile navigation",
|
|
129
|
-
className:
|
|
133
|
+
className: l(
|
|
130
134
|
"fixed bottom-0 left-0 right-0 z-sticky flex w-full flex-row items-start justify-between border-t border-surface-border-strong bg-surface-2 px-ds-05 pb-ds-05b pt-0 md:hidden",
|
|
131
135
|
h
|
|
132
136
|
),
|
|
133
137
|
children: [
|
|
134
138
|
i.map((e) => /* @__PURE__ */ s(
|
|
135
|
-
|
|
139
|
+
B,
|
|
136
140
|
{
|
|
137
141
|
item: e,
|
|
138
142
|
isActive: m(e.href, e.exact)
|
|
@@ -140,21 +144,21 @@ const B = w.forwardRef(
|
|
|
140
144
|
e.href
|
|
141
145
|
)),
|
|
142
146
|
n.length > 0 && /* @__PURE__ */ s(
|
|
143
|
-
|
|
147
|
+
c.button,
|
|
144
148
|
{
|
|
145
149
|
type: "button",
|
|
146
|
-
onClick: () =>
|
|
150
|
+
onClick: () => f(!o),
|
|
147
151
|
"aria-label": "More navigation options",
|
|
148
|
-
"aria-expanded":
|
|
152
|
+
"aria-expanded": o,
|
|
149
153
|
whileTap: { y: -2 },
|
|
150
154
|
transition: d.snappy,
|
|
151
|
-
className:
|
|
155
|
+
className: l(
|
|
152
156
|
"flex h-16 max-w-[70px] flex-1 cursor-pointer flex-col items-center gap-ds-02 p-ds-02 pt-0 text-ds-sm",
|
|
153
|
-
|
|
157
|
+
o || p ? "font-semibold text-accent-11" : "text-surface-fg-subtle"
|
|
154
158
|
),
|
|
155
159
|
children: /* @__PURE__ */ t("div", { className: "relative flex w-full flex-col items-center gap-ds-02", children: [
|
|
156
|
-
(
|
|
157
|
-
|
|
160
|
+
(o || p) && /* @__PURE__ */ s(
|
|
161
|
+
c.div,
|
|
158
162
|
{
|
|
159
163
|
layoutId: "bottom-nav-indicator",
|
|
160
164
|
className: "absolute top-0 h-[3px] w-full rounded-b-ds-sm bg-accent-9 p-0",
|
|
@@ -173,7 +177,7 @@ const B = w.forwardRef(
|
|
|
173
177
|
] });
|
|
174
178
|
}
|
|
175
179
|
);
|
|
176
|
-
|
|
180
|
+
L.displayName = "BottomNavbar";
|
|
177
181
|
export {
|
|
178
|
-
|
|
182
|
+
L as BottomNavbar
|
|
179
183
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notification-center.d.ts","sourceRoot":"","sources":["../../src/shell/notification-center.tsx"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAsB9B,MAAM,WAAW,kBAAkB;IACjC,mBAAmB;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,oFAAoF;IACpF,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAA;IAC1C,8EAA8E;IAC9E,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;CAC9B;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,UAAU,CAAA;IACvC,MAAM,EAAE,OAAO,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,OAAO,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;IAClC,wEAAwE;IACxE,OAAO,CAAC,EAAE,kBAAkB,EAAE,CAAA;CAC/B;AAED,MAAM,WAAW,uBACf,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;IACrD,uCAAuC;IACvC,aAAa,CAAC,EAAE,YAAY,EAAE,CAAA;IAC9B,iFAAiF;IACjF,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,oDAAoD;IACpD,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,iDAAiD;IACjD,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACtC,6CAA6C;IAC7C,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,oDAAoD;IACpD,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,gEAAgE;IAChE,WAAW,CAAC,EAAE,MAAM,IAAI,CAAA;IACxB,mDAAmD;IACnD,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,+CAA+C;IAC/C,aAAa,CAAC,EAAE,MAAM,IAAI,CAAA;IAC1B,4EAA4E;IAC5E,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACnC,iFAAiF;IACjF,oBAAoB,CAAC,EAAE,CAAC,YAAY,EAAE,YAAY,KAAK,MAAM,GAAG,IAAI,CAAA;IACpE,wEAAwE;IACxE,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC/B,oEAAoE;IACpE,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC5B,+DAA+D;IAC/D,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC5B,gGAAgG;IAChG,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IAChC,6DAA6D;IAC7D,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,2BAA2B;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AA4KD,QAAA,MAAM,kBAAkB,
|
|
1
|
+
{"version":3,"file":"notification-center.d.ts","sourceRoot":"","sources":["../../src/shell/notification-center.tsx"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAsB9B,MAAM,WAAW,kBAAkB;IACjC,mBAAmB;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,oFAAoF;IACpF,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAA;IAC1C,8EAA8E;IAC9E,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;CAC9B;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,UAAU,CAAA;IACvC,MAAM,EAAE,OAAO,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,OAAO,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;IAClC,wEAAwE;IACxE,OAAO,CAAC,EAAE,kBAAkB,EAAE,CAAA;CAC/B;AAED,MAAM,WAAW,uBACf,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;IACrD,uCAAuC;IACvC,aAAa,CAAC,EAAE,YAAY,EAAE,CAAA;IAC9B,iFAAiF;IACjF,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,oDAAoD;IACpD,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,iDAAiD;IACjD,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACtC,6CAA6C;IAC7C,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,oDAAoD;IACpD,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,gEAAgE;IAChE,WAAW,CAAC,EAAE,MAAM,IAAI,CAAA;IACxB,mDAAmD;IACnD,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,+CAA+C;IAC/C,aAAa,CAAC,EAAE,MAAM,IAAI,CAAA;IAC1B,4EAA4E;IAC5E,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACnC,iFAAiF;IACjF,oBAAoB,CAAC,EAAE,CAAC,YAAY,EAAE,YAAY,KAAK,MAAM,GAAG,IAAI,CAAA;IACpE,wEAAwE;IACxE,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC/B,oEAAoE;IACpE,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC5B,+DAA+D;IAC/D,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC5B,gGAAgG;IAChG,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IAChC,6DAA6D;IAC7D,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,2BAA2B;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AA4KD,QAAA,MAAM,kBAAkB,mGA0MvB,CAAA;AAGD,OAAO,EAAE,kBAAkB,EAAE,CAAA"}
|