@devalok/shilp-sutra 0.22.2 → 0.23.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/tree-view.js +26 -26
- package/dist/_chunks/use-calendar.js +106 -106
- package/dist/composed/activity-feed.js +10 -10
- package/dist/composed/avatar-group.js +74 -75
- package/dist/composed/command-palette.js +8 -8
- package/dist/composed/content-card.js +10 -10
- package/dist/composed/empty-state.js +6 -6
- package/dist/composed/error-boundary.js +2 -2
- package/dist/composed/loading-skeleton.js +83 -83
- package/dist/composed/member-picker.js +6 -6
- package/dist/composed/page-skeletons.js +5 -5
- package/dist/composed/rich-text-editor.js +63 -63
- package/dist/composed/schedule-view.js +26 -26
- package/dist/composed/status-badge.js +8 -8
- package/dist/shell/bottom-navbar.js +4 -4
- package/dist/shell/notification-center.js +29 -29
- package/dist/shell/notification-preferences.js +2 -2
- package/dist/shell/sidebar.js +6 -6
- package/dist/shell/top-bar.js +71 -71
- package/dist/tailwind/index.cjs +33 -11
- package/dist/tailwind/preset.d.ts.map +1 -1
- package/dist/tailwind/preset.js +33 -11
- package/dist/tokens/primitives.css +2 -0
- package/dist/tokens/semantic.css +83 -14
- package/dist/tokens/typography.css +1 -1
- package/dist/ui/accordion.js +1 -1
- package/dist/ui/alert-dialog.js +32 -32
- package/dist/ui/alert.js +12 -12
- package/dist/ui/autocomplete.js +16 -16
- package/dist/ui/avatar.d.ts.map +1 -1
- package/dist/ui/avatar.js +81 -74
- package/dist/ui/badge.js +2 -2
- package/dist/ui/banner.js +1 -1
- package/dist/ui/button.js +8 -8
- package/dist/ui/card.d.ts +1 -1
- package/dist/ui/card.js +10 -10
- package/dist/ui/charts/index.js +312 -312
- package/dist/ui/checkbox.js +3 -3
- package/dist/ui/chip.js +4 -4
- package/dist/ui/code.js +2 -2
- package/dist/ui/color-input.js +1 -1
- package/dist/ui/combobox.js +37 -37
- package/dist/ui/context-menu.js +6 -6
- package/dist/ui/data-table-toolbar.js +18 -18
- package/dist/ui/data-table.js +132 -132
- package/dist/ui/dialog.js +12 -12
- package/dist/ui/dropdown-menu.js +67 -67
- package/dist/ui/file-upload.js +3 -3
- package/dist/ui/hover-card.js +13 -13
- package/dist/ui/input-otp.js +9 -9
- package/dist/ui/input.js +10 -10
- package/dist/ui/menubar.js +33 -33
- package/dist/ui/navigation-menu.js +52 -52
- package/dist/ui/number-input.js +14 -14
- package/dist/ui/pagination.js +25 -25
- package/dist/ui/popover.js +17 -17
- package/dist/ui/progress.js +1 -1
- package/dist/ui/radio.js +2 -2
- package/dist/ui/search-input.js +3 -3
- package/dist/ui/segmented-control.d.ts +1 -1
- package/dist/ui/segmented-control.js +16 -16
- package/dist/ui/select.js +17 -17
- package/dist/ui/sheet.js +21 -21
- package/dist/ui/sidebar.js +13 -13
- package/dist/ui/slider.js +2 -2
- package/dist/ui/stat-card.js +52 -52
- package/dist/ui/stepper.js +1 -1
- package/dist/ui/switch.js +11 -11
- package/dist/ui/table.js +19 -19
- package/dist/ui/tabs.js +2 -2
- package/dist/ui/textarea.js +6 -6
- package/dist/ui/toast.js +3 -3
- package/dist/ui/toggle.js +7 -7
- package/dist/ui/tooltip.js +17 -17
- package/docs/components/composed/avatar-group.md +5 -0
- package/docs/components/ui/avatar.md +4 -0
- package/llms-full.txt +10 -1
- package/llms.txt +66 -5
- package/package.json +1 -1
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { jsx as t, jsxs as b } from "react/jsx-runtime";
|
|
3
3
|
import * as l from "react";
|
|
4
4
|
import { N as Y, R as Z, m as ee, a as te, E as se, S as re, u as B, U as P, T as z, b as U, P as ne, H as K, c as $, d as M, L as q, I as O, M as V, e as F } from "../_chunks/tiptap.js";
|
|
5
|
-
import { IconFile as ie, IconDownload as ae, IconBold as
|
|
5
|
+
import { IconFile as ie, IconDownload as ae, IconBold as oe, IconItalic as ce, IconUnderline as le, IconStrikethrough as ue, IconHighlight as de, IconH2 as fe, IconH3 as me, IconBlockquote as he, IconList as ge, IconListNumbers as be, IconListCheck as pe, IconCode as ke, IconPhoto as xe, IconPaperclip as ve, IconLineDashed as we, IconAlignLeft as ye, IconAlignCenter as Ae, IconAlignRight as _e, IconMoodSmile as Ne, IconArrowBackUp as Ie, IconArrowForwardUp as Le, IconLink as Ce } from "@tabler/icons-react";
|
|
6
6
|
import { createRoot as W } from "react-dom/client";
|
|
7
7
|
import { cn as p } from "../ui/lib/utils.js";
|
|
8
8
|
import { useColorMode as Ee } from "../hooks/use-color-mode.js";
|
|
@@ -17,7 +17,7 @@ function Te({ node: e }) {
|
|
|
17
17
|
href: s,
|
|
18
18
|
target: "_blank",
|
|
19
19
|
rel: "noopener noreferrer",
|
|
20
|
-
className: "inline-flex items-center gap-ds-03 rounded-ds-md border border-surface-border-strong bg-surface-
|
|
20
|
+
className: "inline-flex items-center gap-ds-03 rounded-ds-md border border-surface-border-strong bg-surface-raised px-ds-04 py-ds-03 text-ds-sm text-surface-fg transition-colors hover:border-surface-border-strong hover:bg-surface-raised-hover",
|
|
21
21
|
contentEditable: !1,
|
|
22
22
|
children: [
|
|
23
23
|
/* @__PURE__ */ t(ie, { className: "h-ico-sm w-ico-sm shrink-0 text-surface-fg-subtle" }),
|
|
@@ -56,17 +56,17 @@ const G = Y.create({
|
|
|
56
56
|
({ items: e, command: s }, r) => {
|
|
57
57
|
const [n, a] = l.useState(0);
|
|
58
58
|
return l.useEffect(() => a(0), [e]), l.useImperativeHandle(r, () => ({
|
|
59
|
-
onKeyDown: ({ event: i }) => i.key === "ArrowUp" ? (a((
|
|
60
|
-
})), e.length ? /* @__PURE__ */ t("div", { role: "listbox", "aria-label": "Mention suggestions", className: "z-popover overflow-hidden rounded-ds-md border border-surface-border-strong bg-surface-
|
|
59
|
+
onKeyDown: ({ event: i }) => i.key === "ArrowUp" ? (a((c) => (c + e.length - 1) % e.length), !0) : i.key === "ArrowDown" ? (a((c) => (c + 1) % e.length), !0) : i.key === "Enter" ? (e[n] && s(e[n]), !0) : !1
|
|
60
|
+
})), e.length ? /* @__PURE__ */ t("div", { role: "listbox", "aria-label": "Mention suggestions", className: "z-popover overflow-hidden rounded-ds-md border border-surface-border-strong bg-surface-overlay shadow-raised-hover", children: e.map((i, c) => /* @__PURE__ */ b(
|
|
61
61
|
"button",
|
|
62
62
|
{
|
|
63
63
|
type: "button",
|
|
64
64
|
role: "option",
|
|
65
|
-
"aria-selected":
|
|
65
|
+
"aria-selected": c === n,
|
|
66
66
|
onClick: () => s(i),
|
|
67
67
|
className: p(
|
|
68
68
|
"flex w-full items-center gap-ds-03 px-ds-04 py-ds-02b text-left text-ds-sm",
|
|
69
|
-
|
|
69
|
+
c === n ? "bg-surface-raised text-surface-fg" : "text-surface-fg-muted hover:bg-surface-raised"
|
|
70
70
|
),
|
|
71
71
|
children: [
|
|
72
72
|
i.avatar ? /* @__PURE__ */ t("img", { src: i.avatar, alt: "", className: "h-ico-md w-ico-md rounded-ds-full object-cover" }) : /* @__PURE__ */ t("span", { className: "flex h-ico-md w-ico-md items-center justify-center rounded-ds-full bg-accent-2 text-[10px] font-semibold text-accent-11", children: i.label.charAt(0).toUpperCase() }),
|
|
@@ -83,9 +83,9 @@ function He(e) {
|
|
|
83
83
|
let s = null, r = null, n = null;
|
|
84
84
|
return {
|
|
85
85
|
onStart: (a) => {
|
|
86
|
-
var
|
|
86
|
+
var c;
|
|
87
87
|
r = document.createElement("div"), r.style.position = "absolute", r.style.zIndex = "1400";
|
|
88
|
-
const i = (
|
|
88
|
+
const i = (c = a.clientRect) == null ? void 0 : c.call(a);
|
|
89
89
|
i && (r.style.left = `${i.left}px`, r.style.top = `${i.bottom + 4}px`), document.body.appendChild(r), s = W(r), s.render(
|
|
90
90
|
/* @__PURE__ */ t(
|
|
91
91
|
T,
|
|
@@ -102,9 +102,9 @@ function He(e) {
|
|
|
102
102
|
);
|
|
103
103
|
},
|
|
104
104
|
onUpdate: (a) => {
|
|
105
|
-
var
|
|
105
|
+
var c;
|
|
106
106
|
if (!s || !r) return;
|
|
107
|
-
const i = (
|
|
107
|
+
const i = (c = a.clientRect) == null ? void 0 : c.call(a);
|
|
108
108
|
i && (r.style.left = `${i.left}px`, r.style.top = `${i.bottom + 4}px`), s.render(
|
|
109
109
|
/* @__PURE__ */ t(
|
|
110
110
|
T,
|
|
@@ -144,17 +144,17 @@ const H = l.forwardRef(
|
|
|
144
144
|
({ items: e, command: s }, r) => {
|
|
145
145
|
const [n, a] = l.useState(0);
|
|
146
146
|
return l.useEffect(() => a(0), [e]), l.useImperativeHandle(r, () => ({
|
|
147
|
-
onKeyDown: ({ event: i }) => i.key === "ArrowUp" ? (a((
|
|
148
|
-
})), e.length ? /* @__PURE__ */ t("div", { role: "listbox", "aria-label": "Emoji suggestions", className: "z-popover max-h-[200px] overflow-x-hidden overflow-y-auto rounded-ds-md border border-surface-border-strong bg-surface-
|
|
147
|
+
onKeyDown: ({ event: i }) => i.key === "ArrowUp" ? (a((c) => (c + e.length - 1) % e.length), !0) : i.key === "ArrowDown" ? (a((c) => (c + 1) % e.length), !0) : i.key === "Enter" ? (e[n] && s(e[n]), !0) : !1
|
|
148
|
+
})), e.length ? /* @__PURE__ */ t("div", { role: "listbox", "aria-label": "Emoji suggestions", className: "z-popover max-h-[200px] overflow-x-hidden overflow-y-auto rounded-ds-md border border-surface-border-strong bg-surface-overlay shadow-raised-hover", children: e.map((i, c) => /* @__PURE__ */ b(
|
|
149
149
|
"button",
|
|
150
150
|
{
|
|
151
151
|
type: "button",
|
|
152
152
|
role: "option",
|
|
153
|
-
"aria-selected":
|
|
153
|
+
"aria-selected": c === n,
|
|
154
154
|
onClick: () => s(i),
|
|
155
155
|
className: p(
|
|
156
156
|
"flex w-full items-center gap-ds-03 px-ds-04 py-ds-02b text-left text-ds-sm",
|
|
157
|
-
|
|
157
|
+
c === n ? "bg-surface-raised text-surface-fg" : "text-surface-fg-muted hover:bg-surface-raised"
|
|
158
158
|
),
|
|
159
159
|
children: [
|
|
160
160
|
/* @__PURE__ */ t("span", { className: "text-ds-base", children: i.native }),
|
|
@@ -182,11 +182,11 @@ function je() {
|
|
|
182
182
|
/* @__PURE__ */ t(
|
|
183
183
|
H,
|
|
184
184
|
{
|
|
185
|
-
ref: (
|
|
186
|
-
r =
|
|
185
|
+
ref: (c) => {
|
|
186
|
+
r = c;
|
|
187
187
|
},
|
|
188
188
|
items: n.items,
|
|
189
|
-
command: (
|
|
189
|
+
command: (c) => n.command(c)
|
|
190
190
|
}
|
|
191
191
|
)
|
|
192
192
|
);
|
|
@@ -199,11 +199,11 @@ function je() {
|
|
|
199
199
|
/* @__PURE__ */ t(
|
|
200
200
|
H,
|
|
201
201
|
{
|
|
202
|
-
ref: (
|
|
203
|
-
r =
|
|
202
|
+
ref: (c) => {
|
|
203
|
+
r = c;
|
|
204
204
|
},
|
|
205
205
|
items: n.items,
|
|
206
|
-
command: (
|
|
206
|
+
command: (c) => n.command(c)
|
|
207
207
|
}
|
|
208
208
|
)
|
|
209
209
|
);
|
|
@@ -243,8 +243,8 @@ const De = se.create({
|
|
|
243
243
|
"[&_p]:mb-ds-02b [&_p]:text-surface-fg-muted",
|
|
244
244
|
"[&_ul]:ml-ds-05 [&_ul]:list-disc [&_ol]:ml-ds-05 [&_ol]:list-decimal",
|
|
245
245
|
"[&_li]:text-surface-fg-muted",
|
|
246
|
-
"[&_code]:rounded [&_code]:bg-surface-
|
|
247
|
-
"[&_pre]:rounded-ds-lg [&_pre]:bg-surface-
|
|
246
|
+
"[&_code]:rounded [&_code]:bg-surface-raised [&_code]:px-ds-02b [&_code]:py-ds-01 [&_code]:text-ds-md [&_code]:text-accent-11",
|
|
247
|
+
"[&_pre]:rounded-ds-lg [&_pre]:bg-surface-raised [&_pre]:p-ds-04",
|
|
248
248
|
"[&_strong]:font-semibold [&_strong]:text-surface-fg",
|
|
249
249
|
"[&_blockquote]:border-l-[3px] [&_blockquote]:border-accent-6 [&_blockquote]:pl-ds-04 [&_blockquote]:italic [&_blockquote]:text-surface-fg-subtle",
|
|
250
250
|
"[&_mark]:rounded-sm [&_mark]:bg-warning-3 [&_mark]:px-[2px]",
|
|
@@ -271,16 +271,16 @@ function d({
|
|
|
271
271
|
"aria-pressed": s,
|
|
272
272
|
className: p(
|
|
273
273
|
"inline-flex h-ds-xs-plus w-ds-xs-plus items-center justify-center rounded-ds-md transition-colors duration-fast-01 ease-productive-standard",
|
|
274
|
-
"hover:bg-surface-
|
|
274
|
+
"hover:bg-surface-raised-hover",
|
|
275
275
|
"disabled:pointer-events-none disabled:opacity-action-disabled",
|
|
276
|
-
s ? "bg-surface-
|
|
276
|
+
s ? "bg-surface-raised-hover text-accent-11" : "text-surface-fg-subtle"
|
|
277
277
|
),
|
|
278
278
|
children: a
|
|
279
279
|
}
|
|
280
280
|
);
|
|
281
281
|
}
|
|
282
282
|
function Be({ editor: e }) {
|
|
283
|
-
const [s, r] = l.useState(!1), [n, a] = l.useState(""), i = l.useRef(null),
|
|
283
|
+
const [s, r] = l.useState(!1), [n, a] = l.useState(""), i = l.useRef(null), c = () => {
|
|
284
284
|
if (e.isActive("link")) {
|
|
285
285
|
e.chain().focus().unsetLink().run();
|
|
286
286
|
return;
|
|
@@ -296,13 +296,13 @@ function Be({ editor: e }) {
|
|
|
296
296
|
h.key === "Escape" && (r(!1), a(""), e.commands.focus());
|
|
297
297
|
};
|
|
298
298
|
return /* @__PURE__ */ b("div", { className: "relative", children: [
|
|
299
|
-
/* @__PURE__ */ t(d, { onClick:
|
|
299
|
+
/* @__PURE__ */ t(d, { onClick: c, isActive: e.isActive("link"), title: "Link", children: /* @__PURE__ */ t(Ce, { className: "h-ico-sm w-ico-sm", stroke: 2 }) }),
|
|
300
300
|
s && /* @__PURE__ */ b(
|
|
301
301
|
"form",
|
|
302
302
|
{
|
|
303
303
|
onSubmit: m,
|
|
304
304
|
"aria-label": "Edit link URL",
|
|
305
|
-
className: "absolute left-0 top-full z-popover mt-ds-01 flex items-center gap-ds-02 rounded-ds-md border border-surface-border-strong bg-surface-
|
|
305
|
+
className: "absolute left-0 top-full z-popover mt-ds-01 flex items-center gap-ds-02 rounded-ds-md border border-surface-border-strong bg-surface-overlay p-ds-02 shadow-raised-hover",
|
|
306
306
|
children: [
|
|
307
307
|
/* @__PURE__ */ t(
|
|
308
308
|
"input",
|
|
@@ -313,7 +313,7 @@ function Be({ editor: e }) {
|
|
|
313
313
|
onChange: (h) => a(h.target.value),
|
|
314
314
|
onKeyDown: k,
|
|
315
315
|
placeholder: "https://...",
|
|
316
|
-
className: "h-ds-sm w-[240px] rounded-ds-sm border border-surface-border-strong bg-surface-
|
|
316
|
+
className: "h-ds-sm w-[240px] rounded-ds-sm border border-surface-border-strong bg-surface-overlay px-ds-03 text-ds-sm text-surface-fg focus:border-accent-7 focus:outline-none"
|
|
317
317
|
}
|
|
318
318
|
),
|
|
319
319
|
/* @__PURE__ */ t("button", { type: "submit", className: "h-ds-sm rounded-ds-sm bg-accent-9 px-ds-03 text-ds-sm text-accent-fg hover:bg-accent-10", children: "Apply" })
|
|
@@ -327,8 +327,8 @@ function x() {
|
|
|
327
327
|
}
|
|
328
328
|
function Pe({ editor: e, onImageClick: s, onFileClick: r, onEmojiClick: n }) {
|
|
329
329
|
return /* @__PURE__ */ b("div", { className: "flex flex-wrap items-center gap-ds-01 border-b border-surface-border-strong px-ds-04 py-ds-02b", children: [
|
|
330
|
-
/* @__PURE__ */ t(d, { onClick: () => e.chain().focus().toggleBold().run(), isActive: e.isActive("bold"), title: "Bold", children: /* @__PURE__ */ t(
|
|
331
|
-
/* @__PURE__ */ t(d, { onClick: () => e.chain().focus().toggleItalic().run(), isActive: e.isActive("italic"), title: "Italic", children: /* @__PURE__ */ t(
|
|
330
|
+
/* @__PURE__ */ t(d, { onClick: () => e.chain().focus().toggleBold().run(), isActive: e.isActive("bold"), title: "Bold", children: /* @__PURE__ */ t(oe, { className: "h-ico-sm w-ico-sm", stroke: 2.5 }) }),
|
|
331
|
+
/* @__PURE__ */ t(d, { onClick: () => e.chain().focus().toggleItalic().run(), isActive: e.isActive("italic"), title: "Italic", children: /* @__PURE__ */ t(ce, { className: "h-ico-sm w-ico-sm", stroke: 2.5 }) }),
|
|
332
332
|
/* @__PURE__ */ t(d, { onClick: () => e.chain().focus().toggleUnderline().run(), isActive: e.isActive("underline"), title: "Underline", children: /* @__PURE__ */ t(le, { className: "h-ico-sm w-ico-sm", stroke: 2.5 }) }),
|
|
333
333
|
/* @__PURE__ */ t(d, { onClick: () => e.chain().focus().toggleStrike().run(), isActive: e.isActive("strike"), title: "Strikethrough", children: /* @__PURE__ */ t(ue, { className: "h-ico-sm w-ico-sm", stroke: 2.5 }) }),
|
|
334
334
|
/* @__PURE__ */ t(d, { onClick: () => e.chain().focus().toggleHighlight().run(), isActive: e.isActive("highlight"), title: "Highlight", children: /* @__PURE__ */ t(de, { className: "h-ico-sm w-ico-sm", stroke: 2.5 }) }),
|
|
@@ -362,7 +362,7 @@ function Ue({ onSelect: e }) {
|
|
|
362
362
|
l.useEffect(() => {
|
|
363
363
|
import("@emoji-mart/data").then((i) => r(i.default));
|
|
364
364
|
}, []);
|
|
365
|
-
const a = /* @__PURE__ */ t("div", { className: "flex h-[350px] w-[352px] items-center justify-center rounded-ds-lg border border-surface-border-strong bg-surface-
|
|
365
|
+
const a = /* @__PURE__ */ t("div", { className: "flex h-[350px] w-[352px] items-center justify-center rounded-ds-lg border border-surface-border-strong bg-surface-overlay shadow-raised-hover", children: /* @__PURE__ */ t("span", { className: "text-ds-sm text-surface-fg-subtle", children: "Loading..." }) });
|
|
366
366
|
return s ? /* @__PURE__ */ t(l.Suspense, { fallback: a, children: /* @__PURE__ */ t(
|
|
367
367
|
ze,
|
|
368
368
|
{
|
|
@@ -381,29 +381,29 @@ const Ke = l.forwardRef(
|
|
|
381
381
|
onChange: n,
|
|
382
382
|
className: a,
|
|
383
383
|
editable: i = !0,
|
|
384
|
-
onImageUpload:
|
|
384
|
+
onImageUpload: c,
|
|
385
385
|
onFileUpload: m,
|
|
386
386
|
mentions: k,
|
|
387
387
|
onMentionSearch: h,
|
|
388
388
|
onMentionSelect: v,
|
|
389
389
|
...Q
|
|
390
390
|
}, X) {
|
|
391
|
-
const N = l.useRef(null), I = l.useRef(!1), [L, w] = l.useState(!1), C = l.useRef(null), S = l.useRef(null), j = l.useRef(null), E = async (
|
|
391
|
+
const N = l.useRef(null), I = l.useRef(!1), [L, w] = l.useState(!1), C = l.useRef(null), S = l.useRef(null), j = l.useRef(null), E = async (o) => {
|
|
392
392
|
const f = N.current;
|
|
393
393
|
if (f)
|
|
394
|
-
if (
|
|
395
|
-
const u = await o
|
|
394
|
+
if (c) {
|
|
395
|
+
const u = await c(o);
|
|
396
396
|
u && /^https?:\/\//i.test(u) && f.chain().focus().setImage({ src: u }).run();
|
|
397
397
|
} else {
|
|
398
398
|
const u = new FileReader();
|
|
399
399
|
u.onload = () => {
|
|
400
400
|
f.chain().focus().setImage({ src: u.result }).run();
|
|
401
|
-
}, u.readAsDataURL(
|
|
401
|
+
}, u.readAsDataURL(o);
|
|
402
402
|
}
|
|
403
|
-
}, R = async (
|
|
403
|
+
}, R = async (o) => {
|
|
404
404
|
const f = N.current;
|
|
405
405
|
if (!f || !m) return;
|
|
406
|
-
const u = await m(
|
|
406
|
+
const u = await m(o);
|
|
407
407
|
f.chain().focus().insertContent({
|
|
408
408
|
type: "fileAttachment",
|
|
409
409
|
attrs: { url: u.url, name: u.name, size: u.size }
|
|
@@ -425,7 +425,7 @@ const Ke = l.forwardRef(
|
|
|
425
425
|
q.configure({
|
|
426
426
|
openOnClick: !1,
|
|
427
427
|
protocols: ["http", "https", "mailto"],
|
|
428
|
-
validate: (
|
|
428
|
+
validate: (o) => /^(https?:\/\/|mailto:)/i.test(o),
|
|
429
429
|
HTMLAttributes: {
|
|
430
430
|
rel: "noopener noreferrer",
|
|
431
431
|
target: "_blank"
|
|
@@ -442,7 +442,7 @@ const Ke = l.forwardRef(
|
|
|
442
442
|
V.configure({
|
|
443
443
|
HTMLAttributes: { class: "mention" },
|
|
444
444
|
suggestion: {
|
|
445
|
-
items: async ({ query:
|
|
445
|
+
items: async ({ query: o }) => h ? await h(o) : k ? k.filter((f) => f.label.toLowerCase().includes(o.toLowerCase())).slice(0, 8) : [],
|
|
446
446
|
render: He(v)
|
|
447
447
|
}
|
|
448
448
|
})
|
|
@@ -452,13 +452,13 @@ const Ke = l.forwardRef(
|
|
|
452
452
|
content: s,
|
|
453
453
|
editable: i,
|
|
454
454
|
editorProps: {
|
|
455
|
-
handleDrop: (
|
|
455
|
+
handleDrop: (o, f, u, y) => {
|
|
456
456
|
var D;
|
|
457
457
|
if (y || !((D = f.dataTransfer) != null && D.files.length)) return !1;
|
|
458
458
|
const A = f.dataTransfer.files[0];
|
|
459
459
|
return A ? A.type.startsWith("image/") ? (E(A), !0) : m ? (R(A), !0) : !1 : !1;
|
|
460
460
|
},
|
|
461
|
-
handlePaste: (
|
|
461
|
+
handlePaste: (o, f) => {
|
|
462
462
|
var y;
|
|
463
463
|
const u = (y = f.clipboardData) == null ? void 0 : y.files[0];
|
|
464
464
|
return u ? u.type.startsWith("image/") ? (E(u), !0) : m ? (R(u), !0) : !1 : !1;
|
|
@@ -471,8 +471,8 @@ const Ke = l.forwardRef(
|
|
|
471
471
|
)
|
|
472
472
|
}
|
|
473
473
|
},
|
|
474
|
-
onUpdate: ({ editor:
|
|
475
|
-
I.current = !0, n == null || n(
|
|
474
|
+
onUpdate: ({ editor: o }) => {
|
|
475
|
+
I.current = !0, n == null || n(o.getHTML()), queueMicrotask(() => {
|
|
476
476
|
I.current = !1;
|
|
477
477
|
});
|
|
478
478
|
}
|
|
@@ -481,10 +481,10 @@ const Ke = l.forwardRef(
|
|
|
481
481
|
N.current = g;
|
|
482
482
|
}, [g]), l.useEffect(() => {
|
|
483
483
|
if (!L) return;
|
|
484
|
-
const
|
|
484
|
+
const o = (f) => {
|
|
485
485
|
C.current && !C.current.contains(f.target) && w(!1);
|
|
486
486
|
};
|
|
487
|
-
return document.addEventListener("mousedown",
|
|
487
|
+
return document.addEventListener("mousedown", o), () => document.removeEventListener("mousedown", o);
|
|
488
488
|
}, [L]), l.useEffect(() => {
|
|
489
489
|
I.current || g && s !== g.getHTML() && g.commands.setContent(s, !1);
|
|
490
490
|
}, [g, s]), g ? /* @__PURE__ */ b("div", { ref: X, ...Q, className: p("relative", a), children: [
|
|
@@ -493,14 +493,14 @@ const Ke = l.forwardRef(
|
|
|
493
493
|
{
|
|
494
494
|
ref: C,
|
|
495
495
|
className: "absolute bottom-full right-0 z-popover mb-ds-02",
|
|
496
|
-
onKeyDown: (
|
|
497
|
-
|
|
496
|
+
onKeyDown: (o) => {
|
|
497
|
+
o.key === "Escape" && (o.stopPropagation(), w(!1));
|
|
498
498
|
},
|
|
499
499
|
children: /* @__PURE__ */ t(
|
|
500
500
|
Ue,
|
|
501
501
|
{
|
|
502
|
-
onSelect: (
|
|
503
|
-
g.chain().focus().insertContent(
|
|
502
|
+
onSelect: (o) => {
|
|
503
|
+
g.chain().focus().insertContent(o).run(), w(!1);
|
|
504
504
|
}
|
|
505
505
|
}
|
|
506
506
|
)
|
|
@@ -510,7 +510,7 @@ const Ke = l.forwardRef(
|
|
|
510
510
|
"div",
|
|
511
511
|
{
|
|
512
512
|
className: p(
|
|
513
|
-
"overflow-hidden rounded-ds-lg border border-surface-border-strong bg-surface-
|
|
513
|
+
"overflow-hidden rounded-ds-lg border border-surface-border-strong bg-surface-raised",
|
|
514
514
|
"transition-colors ease-productive-standard focus-within:border-surface-border-strong"
|
|
515
515
|
),
|
|
516
516
|
children: [
|
|
@@ -522,10 +522,10 @@ const Ke = l.forwardRef(
|
|
|
522
522
|
accept: "image/*",
|
|
523
523
|
"aria-label": "Upload image",
|
|
524
524
|
className: "hidden",
|
|
525
|
-
onChange: (
|
|
525
|
+
onChange: (o) => {
|
|
526
526
|
var u;
|
|
527
|
-
const f = (u =
|
|
528
|
-
f && E(f),
|
|
527
|
+
const f = (u = o.target.files) == null ? void 0 : u[0];
|
|
528
|
+
f && E(f), o.target.value = "";
|
|
529
529
|
}
|
|
530
530
|
}
|
|
531
531
|
),
|
|
@@ -536,10 +536,10 @@ const Ke = l.forwardRef(
|
|
|
536
536
|
type: "file",
|
|
537
537
|
"aria-label": "Upload file",
|
|
538
538
|
className: "hidden",
|
|
539
|
-
onChange: (
|
|
539
|
+
onChange: (o) => {
|
|
540
540
|
var u;
|
|
541
|
-
const f = (u =
|
|
542
|
-
f && R(f),
|
|
541
|
+
const f = (u = o.target.files) == null ? void 0 : u[0];
|
|
542
|
+
f && R(f), o.target.value = "";
|
|
543
543
|
}
|
|
544
544
|
}
|
|
545
545
|
),
|
|
@@ -548,14 +548,14 @@ const Ke = l.forwardRef(
|
|
|
548
548
|
{
|
|
549
549
|
editor: g,
|
|
550
550
|
onImageClick: () => {
|
|
551
|
-
var
|
|
552
|
-
return (
|
|
551
|
+
var o;
|
|
552
|
+
return (o = S.current) == null ? void 0 : o.click();
|
|
553
553
|
},
|
|
554
554
|
onFileClick: m ? () => {
|
|
555
|
-
var
|
|
556
|
-
return (
|
|
555
|
+
var o;
|
|
556
|
+
return (o = j.current) == null ? void 0 : o.click();
|
|
557
557
|
} : void 0,
|
|
558
|
-
onEmojiClick: () => w((
|
|
558
|
+
onEmojiClick: () => w((o) => !o)
|
|
559
559
|
}
|
|
560
560
|
),
|
|
561
561
|
/* @__PURE__ */ t(F, { editor: g })
|
|
@@ -581,7 +581,7 @@ const $e = l.forwardRef(
|
|
|
581
581
|
q.configure({
|
|
582
582
|
openOnClick: !0,
|
|
583
583
|
protocols: ["http", "https", "mailto"],
|
|
584
|
-
validate: (
|
|
584
|
+
validate: (c) => /^(https?:\/\/|mailto:)/i.test(c),
|
|
585
585
|
HTMLAttributes: {
|
|
586
586
|
rel: "noopener noreferrer",
|
|
587
587
|
target: "_blank"
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { jsxs as w, jsx as
|
|
2
|
+
import { jsxs as w, jsx as n } from "react/jsx-runtime";
|
|
3
3
|
import * as $ from "react";
|
|
4
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";
|
|
@@ -10,7 +10,7 @@ const P = {
|
|
|
10
10
|
warning: "bg-warning-3 border-warning-7 text-warning-11",
|
|
11
11
|
error: "bg-error-3 border-error-7 text-error-11",
|
|
12
12
|
info: "bg-info-3 border-info-7 text-info-11",
|
|
13
|
-
neutral: "bg-surface-
|
|
13
|
+
neutral: "bg-surface-raised border-surface-border-strong text-surface-fg-muted"
|
|
14
14
|
};
|
|
15
15
|
function T(r) {
|
|
16
16
|
return r === 0 ? "12 AM" : r < 12 ? `${r} AM` : r === 12 ? "12 PM" : `${r - 12} PM`;
|
|
@@ -27,12 +27,12 @@ function j({ startHour: r, endHour: s }) {
|
|
|
27
27
|
for (let t = r; t < s; t++)
|
|
28
28
|
o.push(t);
|
|
29
29
|
const d = 100 / (s - r);
|
|
30
|
-
return /* @__PURE__ */
|
|
30
|
+
return /* @__PURE__ */ n(
|
|
31
31
|
"div",
|
|
32
32
|
{
|
|
33
33
|
className: "relative shrink-0 w-[60px] border-r border-surface-border-strong",
|
|
34
34
|
"aria-hidden": "true",
|
|
35
|
-
children: o.map((t) => /* @__PURE__ */
|
|
35
|
+
children: o.map((t) => /* @__PURE__ */ n(
|
|
36
36
|
"div",
|
|
37
37
|
{
|
|
38
38
|
className: "text-ds-xs text-surface-fg-muted pr-ds-02 text-right",
|
|
@@ -56,72 +56,72 @@ function R({
|
|
|
56
56
|
}) {
|
|
57
57
|
const y = s.filter((e) => I(e.start, r)), p = (d - o) * 60, h = p / t, b = [];
|
|
58
58
|
for (let e = 0; e < h; e++) {
|
|
59
|
-
const
|
|
60
|
-
|
|
61
|
-
const f = new Date(
|
|
62
|
-
f.setMinutes(f.getMinutes() + t), b.push({ start:
|
|
59
|
+
const a = new Date(r);
|
|
60
|
+
a.setHours(o, e * t, 0, 0);
|
|
61
|
+
const f = new Date(a);
|
|
62
|
+
f.setMinutes(f.getMinutes() + t), b.push({ start: a, end: f });
|
|
63
63
|
}
|
|
64
64
|
const l = D(r);
|
|
65
65
|
let g = null;
|
|
66
66
|
if (l) {
|
|
67
|
-
const e = /* @__PURE__ */ new Date(),
|
|
68
|
-
|
|
67
|
+
const e = /* @__PURE__ */ new Date(), a = N(e), f = v(e);
|
|
68
|
+
a >= o && a < d && (g = ((a - o) * 60 + f) / p * 100);
|
|
69
69
|
}
|
|
70
70
|
return /* @__PURE__ */ w("div", { className: "flex flex-1 flex-col min-w-[80px]", children: [
|
|
71
|
-
m && /* @__PURE__ */
|
|
71
|
+
m && /* @__PURE__ */ n(
|
|
72
72
|
"div",
|
|
73
73
|
{
|
|
74
74
|
className: x(
|
|
75
75
|
"text-center text-ds-sm font-semibold py-ds-02 border-b border-surface-border-strong",
|
|
76
|
-
l ? "text-accent-11 bg-accent-2" : "text-surface-fg bg-surface-
|
|
76
|
+
l ? "text-accent-11 bg-accent-2" : "text-surface-fg bg-surface-raised"
|
|
77
77
|
),
|
|
78
78
|
children: u(r, "EEE d")
|
|
79
79
|
}
|
|
80
80
|
),
|
|
81
81
|
/* @__PURE__ */ w("div", { className: "relative flex-1", children: [
|
|
82
|
-
b.map((e,
|
|
82
|
+
b.map((e, a) => /* @__PURE__ */ n(
|
|
83
83
|
"button",
|
|
84
84
|
{
|
|
85
85
|
type: "button",
|
|
86
86
|
className: x(
|
|
87
|
-
"block w-full border-b border-surface-border hover:bg-surface-
|
|
88
|
-
|
|
87
|
+
"block w-full border-b border-surface-border hover:bg-surface-raised-hover transition-colors ease-productive-standard",
|
|
88
|
+
a % 2 === 0 ? "border-surface-border-strong" : "border-surface-border-subtle"
|
|
89
89
|
),
|
|
90
90
|
style: { height: `${100 / h}%` },
|
|
91
91
|
onClick: () => c == null ? void 0 : c(e.start, e.end),
|
|
92
92
|
"aria-label": `${u(e.start, "h:mm a")} to ${u(e.end, "h:mm a")}`
|
|
93
93
|
},
|
|
94
|
-
|
|
94
|
+
a
|
|
95
95
|
)),
|
|
96
96
|
y.map((e) => {
|
|
97
|
-
const
|
|
98
|
-
return /* @__PURE__ */
|
|
97
|
+
const a = V(e, o, d), f = P[e.color ?? "primary"];
|
|
98
|
+
return /* @__PURE__ */ n(
|
|
99
99
|
"button",
|
|
100
100
|
{
|
|
101
101
|
type: "button",
|
|
102
102
|
className: x(
|
|
103
103
|
"absolute left-ds-01 right-ds-01 rounded-ds-sm border-l-[3px] px-ds-02 py-ds-01",
|
|
104
104
|
"text-left text-ds-xs font-medium overflow-hidden cursor-pointer",
|
|
105
|
-
"hover:shadow-
|
|
105
|
+
"hover:shadow-raised hover:scale-[1.02] transition-[box-shadow,transform] duration-fast-02 ease-productive-standard",
|
|
106
106
|
f
|
|
107
107
|
),
|
|
108
|
-
style:
|
|
108
|
+
style: a,
|
|
109
109
|
onClick: (M) => {
|
|
110
110
|
M.stopPropagation(), i == null || i(e);
|
|
111
111
|
},
|
|
112
112
|
"aria-label": `${e.title}, ${u(e.start, "h:mm a")} to ${u(e.end, "h:mm a")}`,
|
|
113
|
-
children: /* @__PURE__ */
|
|
113
|
+
children: /* @__PURE__ */ n("span", { className: "line-clamp-2", children: e.title })
|
|
114
114
|
},
|
|
115
115
|
e.id
|
|
116
116
|
);
|
|
117
117
|
}),
|
|
118
|
-
g != null && /* @__PURE__ */
|
|
118
|
+
g != null && /* @__PURE__ */ n(
|
|
119
119
|
"div",
|
|
120
120
|
{
|
|
121
121
|
className: "absolute left-0 right-0 h-[2px] bg-error-9 z-10 pointer-events-none",
|
|
122
122
|
style: { top: `${g}%` },
|
|
123
123
|
"aria-hidden": "true",
|
|
124
|
-
children: /* @__PURE__ */
|
|
124
|
+
children: /* @__PURE__ */ n(
|
|
125
125
|
O.span,
|
|
126
126
|
{
|
|
127
127
|
className: "absolute -left-[5px] -top-[4px] h-[10px] w-[10px] rounded-ds-full bg-error-9",
|
|
@@ -159,14 +159,14 @@ const W = $.forwardRef(
|
|
|
159
159
|
role: "region",
|
|
160
160
|
"aria-label": r === "day" ? `Schedule for ${u(s, "EEEE, MMMM d, yyyy")}` : `Week schedule starting ${u(b[0], "MMMM d, yyyy")}`,
|
|
161
161
|
className: x(
|
|
162
|
-
"flex rounded-ds-md border border-surface-border-strong bg-surface-
|
|
162
|
+
"flex rounded-ds-md border border-surface-border-strong bg-surface-raised overflow-hidden",
|
|
163
163
|
"h-[480px]",
|
|
164
164
|
y
|
|
165
165
|
),
|
|
166
166
|
...p,
|
|
167
167
|
children: [
|
|
168
|
-
/* @__PURE__ */
|
|
169
|
-
/* @__PURE__ */
|
|
168
|
+
/* @__PURE__ */ n(j, { startHour: i, endHour: c }),
|
|
169
|
+
/* @__PURE__ */ n("div", { className: "flex flex-1 divide-x divide-surface-border overflow-x-auto", children: b.map((l) => /* @__PURE__ */ n(
|
|
170
170
|
R,
|
|
171
171
|
{
|
|
172
172
|
date: l,
|
|
@@ -16,15 +16,15 @@ const b = C(
|
|
|
16
16
|
rejected: "bg-error-3 text-error-11",
|
|
17
17
|
completed: "bg-success-3 text-success-11",
|
|
18
18
|
blocked: "bg-error-3 text-error-11",
|
|
19
|
-
cancelled: "bg-surface-
|
|
20
|
-
draft: "bg-surface-
|
|
19
|
+
cancelled: "bg-surface-raised text-surface-fg-subtle",
|
|
20
|
+
draft: "bg-surface-raised text-surface-fg-subtle"
|
|
21
21
|
},
|
|
22
22
|
color: {
|
|
23
23
|
success: "bg-success-3 text-success-11",
|
|
24
24
|
warning: "bg-warning-3 text-warning-11",
|
|
25
25
|
error: "bg-error-3 text-error-11",
|
|
26
26
|
info: "bg-info-3 text-info-11",
|
|
27
|
-
neutral: "bg-surface-
|
|
27
|
+
neutral: "bg-surface-raised text-surface-fg-subtle"
|
|
28
28
|
},
|
|
29
29
|
size: {
|
|
30
30
|
sm: "px-ds-03 py-ds-01 text-ds-xs font-semibold",
|
|
@@ -51,7 +51,7 @@ const b = C(
|
|
|
51
51
|
info: "bg-info-9",
|
|
52
52
|
neutral: "bg-surface-fg-subtle"
|
|
53
53
|
}, f = { duration: 0.3, ease: "easeOut" }, A = v.forwardRef(
|
|
54
|
-
({ status: m, color: s, size: t, label: n, hideDot: c = !1, className:
|
|
54
|
+
({ status: m, color: s, size: t, label: n, hideDot: c = !1, className: i, ...o }, d) => {
|
|
55
55
|
if (s != null) {
|
|
56
56
|
const h = n ?? s.charAt(0).toUpperCase() + s.slice(1), y = k[s];
|
|
57
57
|
return /* @__PURE__ */ a(l, { mode: "wait", children: /* @__PURE__ */ u(
|
|
@@ -64,9 +64,9 @@ const b = C(
|
|
|
64
64
|
transition: f,
|
|
65
65
|
className: r(
|
|
66
66
|
b({ color: s, size: t }),
|
|
67
|
-
|
|
67
|
+
i
|
|
68
68
|
),
|
|
69
|
-
...g(
|
|
69
|
+
...g(o),
|
|
70
70
|
children: [
|
|
71
71
|
!c && /* @__PURE__ */ a(
|
|
72
72
|
"span",
|
|
@@ -96,9 +96,9 @@ const b = C(
|
|
|
96
96
|
transition: f,
|
|
97
97
|
className: r(
|
|
98
98
|
b({ status: e, size: t }),
|
|
99
|
-
|
|
99
|
+
i
|
|
100
100
|
),
|
|
101
|
-
...g(
|
|
101
|
+
...g(o),
|
|
102
102
|
children: [
|
|
103
103
|
!c && /* @__PURE__ */ a(
|
|
104
104
|
"span",
|
|
@@ -86,7 +86,7 @@ const L = w.forwardRef(
|
|
|
86
86
|
animate: { y: 0 },
|
|
87
87
|
exit: { y: "100%" },
|
|
88
88
|
transition: d.smooth,
|
|
89
|
-
className: "absolute bottom-[72px] left-0 right-0 rounded-t-ds-2xl border-t border-surface-border-strong bg-surface-
|
|
89
|
+
className: "absolute bottom-[72px] left-0 right-0 rounded-t-ds-2xl border-t border-surface-border-strong bg-surface-overlay p-ds-05 pb-ds-03",
|
|
90
90
|
onClick: (e) => e.stopPropagation(),
|
|
91
91
|
onKeyDown: (e) => e.stopPropagation(),
|
|
92
92
|
children: [
|
|
@@ -97,7 +97,7 @@ const L = w.forwardRef(
|
|
|
97
97
|
{
|
|
98
98
|
onClick: () => f(!1),
|
|
99
99
|
"aria-label": "Close more menu",
|
|
100
|
-
className: "flex h-ds-sm w-ds-sm items-center justify-center rounded-ds-full hover:bg-surface-
|
|
100
|
+
className: "flex h-ds-sm w-ds-sm items-center justify-center rounded-ds-full hover:bg-surface-raised-hover",
|
|
101
101
|
children: /* @__PURE__ */ s(k, { className: "h-ico-sm w-ico-sm text-surface-fg-muted", "aria-hidden": "true" })
|
|
102
102
|
}
|
|
103
103
|
)
|
|
@@ -109,7 +109,7 @@ const L = w.forwardRef(
|
|
|
109
109
|
onClick: () => f(!1),
|
|
110
110
|
className: l(
|
|
111
111
|
"flex flex-col items-center gap-ds-02b rounded-ds-xl p-ds-04 text-ds-sm transition-colors ease-productive-standard",
|
|
112
|
-
m(e.href, e.exact) ? "bg-surface-
|
|
112
|
+
m(e.href, e.exact) ? "bg-surface-raised-hover text-accent-11" : "text-surface-fg-subtle hover:bg-surface-raised-hover"
|
|
113
113
|
),
|
|
114
114
|
children: [
|
|
115
115
|
/* @__PURE__ */ s("span", { className: "[&>svg]:h-ico-md [&>svg]:w-ico-md", children: e.icon }),
|
|
@@ -131,7 +131,7 @@ const L = w.forwardRef(
|
|
|
131
131
|
ref: b,
|
|
132
132
|
"aria-label": "Mobile navigation",
|
|
133
133
|
className: l(
|
|
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-
|
|
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-sunken px-ds-05 pb-ds-05b pt-0 md:hidden",
|
|
135
135
|
h
|
|
136
136
|
),
|
|
137
137
|
children: [
|