@wealthx/shadcn 1.5.16 → 1.5.18
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/.turbo/turbo-build.log +130 -130
- package/CHANGELOG.md +12 -0
- package/dist/{chunk-UJMVXREM.mjs → chunk-2UA4CPE5.mjs} +1 -1
- package/dist/{chunk-DYSVJ473.mjs → chunk-2VTOF7PW.mjs} +1 -1
- package/dist/{chunk-6MDNL5I2.mjs → chunk-45V7X563.mjs} +3 -3
- package/dist/{chunk-RKHKBEE6.mjs → chunk-5BU7TNB4.mjs} +2 -2
- package/dist/{chunk-B7DD3ODQ.mjs → chunk-7T4TYUO3.mjs} +2 -2
- package/dist/{chunk-JGBV3XMQ.mjs → chunk-ANERULZS.mjs} +2 -2
- package/dist/{chunk-LRQSY3TP.mjs → chunk-C4ESZLGT.mjs} +142 -69
- package/dist/{chunk-5YVJSKFH.mjs → chunk-DKH35J4U.mjs} +2 -2
- package/dist/{chunk-MXP2RX2V.mjs → chunk-ET4MTPIY.mjs} +1 -1
- package/dist/{chunk-QHAMVWDG.mjs → chunk-G7YCLJ53.mjs} +2 -2
- package/dist/{chunk-XAS6KBIG.mjs → chunk-JJSA772M.mjs} +1 -1
- package/dist/{chunk-MNMSHB2J.mjs → chunk-K3XP5ETH.mjs} +2 -2
- package/dist/{chunk-I4P7RXAE.mjs → chunk-KJQ3BVTB.mjs} +1 -1
- package/dist/{chunk-MUV4EGDW.mjs → chunk-KPGARKFC.mjs} +1 -1
- package/dist/{chunk-R6U246E4.mjs → chunk-L7IZ3YHI.mjs} +1 -1
- package/dist/{chunk-P7CEBZM6.mjs → chunk-LSRGA5BI.mjs} +19 -5
- package/dist/{chunk-GMF7INNS.mjs → chunk-LWYMZHN7.mjs} +2 -2
- package/dist/{chunk-XMP24PWA.mjs → chunk-NXZ2F4JA.mjs} +1 -1
- package/dist/{chunk-4X4MGYHE.mjs → chunk-PUGQVHQL.mjs} +1 -1
- package/dist/{chunk-LPVXO3TD.mjs → chunk-RFWP2325.mjs} +2 -2
- package/dist/{chunk-3KLJ4XRE.mjs → chunk-RPOIXMHW.mjs} +1 -1
- package/dist/{chunk-IFSQWDRN.mjs → chunk-SH5L5VG6.mjs} +1 -1
- package/dist/{chunk-FW4U543X.mjs → chunk-STDCXTUU.mjs} +2 -2
- package/dist/{chunk-2KNQZG5S.mjs → chunk-SU6TPDEU.mjs} +1 -1
- package/dist/{chunk-K4WDPVFY.mjs → chunk-WZFBLRNP.mjs} +1 -1
- package/dist/{chunk-UYRHYJPX.mjs → chunk-XNX3XJ2F.mjs} +1 -1
- package/dist/components/ui/about-you-form.js +17 -4
- package/dist/components/ui/about-you-form.mjs +3 -3
- package/dist/components/ui/add-column-modal.js +17 -4
- package/dist/components/ui/add-column-modal.mjs +2 -2
- package/dist/components/ui/ai-conversations.js +458 -345
- package/dist/components/ui/ai-conversations.mjs +2 -1
- package/dist/components/ui/appointment-action-dialogs.js +17 -4
- package/dist/components/ui/appointment-action-dialogs.mjs +2 -2
- package/dist/components/ui/appointment-availability-settings.js +17 -4
- package/dist/components/ui/appointment-availability-settings.mjs +4 -4
- package/dist/components/ui/appointment-book-dialog.js +17 -4
- package/dist/components/ui/appointment-book-dialog.mjs +3 -3
- package/dist/components/ui/appointment-detail-sheet.js +17 -4
- package/dist/components/ui/appointment-detail-sheet.mjs +3 -3
- package/dist/components/ui/appointment-upcoming-card.js +17 -4
- package/dist/components/ui/appointment-upcoming-card.mjs +2 -2
- package/dist/components/ui/backoffice-signup-steps.js +17 -4
- package/dist/components/ui/backoffice-signup-steps.mjs +4 -4
- package/dist/components/ui/bank-statement-generate-dialog.js +17 -4
- package/dist/components/ui/bank-statement-generate-dialog.mjs +5 -5
- package/dist/components/ui/chat-widget.js +17 -4
- package/dist/components/ui/chat-widget.mjs +3 -3
- package/dist/components/ui/contact-alert-dialog/index.js +17 -4
- package/dist/components/ui/contact-alert-dialog/index.mjs +3 -3
- package/dist/components/ui/create-contact-modal.js +17 -4
- package/dist/components/ui/create-contact-modal.mjs +3 -3
- package/dist/components/ui/date-picker.mjs +2 -2
- package/dist/components/ui/expense-detail-item.mjs +3 -3
- package/dist/components/ui/expense-work-details.mjs +3 -3
- package/dist/components/ui/field.js +17 -4
- package/dist/components/ui/field.mjs +2 -2
- package/dist/components/ui/form-primitives.js +17 -4
- package/dist/components/ui/form-primitives.mjs +2 -2
- package/dist/components/ui/frontend-signup-steps.js +17 -4
- package/dist/components/ui/frontend-signup-steps.mjs +6 -6
- package/dist/components/ui/income-work-details.mjs +3 -3
- package/dist/components/ui/label.js +20 -4
- package/dist/components/ui/label.mjs +1 -1
- package/dist/components/ui/opportunity-edit-modals.js +17 -4
- package/dist/components/ui/opportunity-edit-modals.mjs +5 -5
- package/dist/components/ui/opportunity-summary-tab.js +17 -4
- package/dist/components/ui/opportunity-summary-tab.mjs +6 -6
- package/dist/components/ui/pipeline-dialogs.mjs +3 -3
- package/dist/components/ui/property-report-dialog.js +17 -4
- package/dist/components/ui/property-report-dialog.mjs +4 -4
- package/dist/components/ui/review-alerts-dialog.js +17 -4
- package/dist/components/ui/review-alerts-dialog.mjs +2 -2
- package/dist/components/ui/savings-goal-modal.mjs +2 -2
- package/dist/components/ui/share-details-dialog.js +17 -4
- package/dist/components/ui/share-details-dialog.mjs +2 -2
- package/dist/components/ui/signup-form-primitives.js +17 -4
- package/dist/components/ui/signup-form-primitives.mjs +3 -3
- package/dist/components/ui/two-fa-setup-form.js +17 -4
- package/dist/components/ui/two-fa-setup-form.mjs +3 -3
- package/dist/index.js +1360 -1281
- package/dist/index.mjs +35 -35
- package/dist/styles.css +1 -1
- package/package.json +9 -1
- package/src/components/ui/ai-conversations.tsx +161 -83
- package/src/components/ui/label.tsx +18 -3
- package/src/styles/styles-css.ts +1 -1
- package/dist/{chunk-TRM3KIHT.mjs → chunk-UMF6LLQK.mjs} +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
AddressAutocomplete,
|
|
7
7
|
CurrencyInputWithSlider,
|
|
8
8
|
OwnershipSplit
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-ET4MTPIY.mjs";
|
|
10
10
|
import {
|
|
11
11
|
Slider
|
|
12
12
|
} from "./chunk-ISUA7DSB.mjs";
|
|
@@ -32,10 +32,10 @@ import {
|
|
|
32
32
|
} from "./chunk-LI2CTS5O.mjs";
|
|
33
33
|
import {
|
|
34
34
|
DatePicker
|
|
35
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-UMF6LLQK.mjs";
|
|
36
36
|
import {
|
|
37
37
|
Label
|
|
38
|
-
} from "./chunk-
|
|
38
|
+
} from "./chunk-LSRGA5BI.mjs";
|
|
39
39
|
import {
|
|
40
40
|
ToggleGroup,
|
|
41
41
|
ToggleGroupItem
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
} from "./chunk-JTK6VJXY.mjs";
|
|
6
6
|
import {
|
|
7
7
|
AddressAutocomplete
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-ET4MTPIY.mjs";
|
|
9
9
|
import {
|
|
10
10
|
AppointmentSlotSection
|
|
11
11
|
} from "./chunk-CQ7HKBEX.mjs";
|
|
@@ -46,7 +46,7 @@ import {
|
|
|
46
46
|
} from "./chunk-LHWJQNLG.mjs";
|
|
47
47
|
import {
|
|
48
48
|
Label
|
|
49
|
-
} from "./chunk-
|
|
49
|
+
} from "./chunk-LSRGA5BI.mjs";
|
|
50
50
|
import {
|
|
51
51
|
Toggle
|
|
52
52
|
} from "./chunk-6QAFGZC2.mjs";
|
|
@@ -6,10 +6,10 @@ import {
|
|
|
6
6
|
} from "./chunk-HK4HUQTV.mjs";
|
|
7
7
|
import {
|
|
8
8
|
FormField
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-2UA4CPE5.mjs";
|
|
10
10
|
import {
|
|
11
11
|
AddressAutocomplete
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-ET4MTPIY.mjs";
|
|
13
13
|
import {
|
|
14
14
|
Slider
|
|
15
15
|
} from "./chunk-ISUA7DSB.mjs";
|
|
@@ -41,6 +41,11 @@ import {
|
|
|
41
41
|
ToggleGroup,
|
|
42
42
|
ToggleGroupItem
|
|
43
43
|
} from "./chunk-OWFQSXVD.mjs";
|
|
44
|
+
import {
|
|
45
|
+
Popover,
|
|
46
|
+
PopoverContent,
|
|
47
|
+
PopoverTrigger
|
|
48
|
+
} from "./chunk-HB5BKRMH.mjs";
|
|
44
49
|
import {
|
|
45
50
|
Input
|
|
46
51
|
} from "./chunk-LBTHZSBT.mjs";
|
|
@@ -55,6 +60,13 @@ import {
|
|
|
55
60
|
|
|
56
61
|
// src/components/ui/ai-conversations.tsx
|
|
57
62
|
import React, { useState } from "react";
|
|
63
|
+
import { useEditor, EditorContent } from "@tiptap/react";
|
|
64
|
+
import StarterKit from "@tiptap/starter-kit";
|
|
65
|
+
import TiptapUnderline from "@tiptap/extension-underline";
|
|
66
|
+
import TiptapLink from "@tiptap/extension-link";
|
|
67
|
+
import ReactMarkdown from "react-markdown";
|
|
68
|
+
import rehypeRaw from "rehype-raw";
|
|
69
|
+
import rehypeSanitize, { defaultSchema } from "rehype-sanitize";
|
|
58
70
|
import {
|
|
59
71
|
Archive,
|
|
60
72
|
ArrowLeft,
|
|
@@ -405,12 +417,12 @@ function ChatBubble({ message, className }) {
|
|
|
405
417
|
"div",
|
|
406
418
|
{
|
|
407
419
|
className: cn(
|
|
408
|
-
"px-3 py-2 text-sm leading-relaxed",
|
|
409
|
-
isBot && "border border-border bg-muted/60 text-foreground",
|
|
410
|
-
isVisitor && "border border-border bg-background text-foreground",
|
|
411
|
-
isAdvisor && "bg-primary text-primary-foreground"
|
|
420
|
+
"px-3 py-2 text-sm leading-relaxed break-words [&_a]:underline [&_p]:m-0",
|
|
421
|
+
isBot && "border border-border bg-muted/60 text-foreground [&_a]:text-primary",
|
|
422
|
+
isVisitor && "border border-border bg-background text-foreground [&_a]:text-primary",
|
|
423
|
+
isAdvisor && "bg-primary text-primary-foreground [&_a]:text-primary-foreground"
|
|
412
424
|
),
|
|
413
|
-
children: content
|
|
425
|
+
children: /* @__PURE__ */ jsx(ReactMarkdown, { rehypePlugins: [rehypeRaw, [rehypeSanitize, defaultSchema]], children: content })
|
|
414
426
|
}
|
|
415
427
|
),
|
|
416
428
|
timestamp && /* @__PURE__ */ jsx("span", { className: "text-caption text-muted-foreground", children: timestamp })
|
|
@@ -421,6 +433,89 @@ function ChatBubble({ message, className }) {
|
|
|
421
433
|
}
|
|
422
434
|
);
|
|
423
435
|
}
|
|
436
|
+
function ComposerToolbarButton({
|
|
437
|
+
label,
|
|
438
|
+
icon: Icon,
|
|
439
|
+
pressed,
|
|
440
|
+
onToggle
|
|
441
|
+
}) {
|
|
442
|
+
return /* @__PURE__ */ jsx(
|
|
443
|
+
"button",
|
|
444
|
+
{
|
|
445
|
+
type: "button",
|
|
446
|
+
"aria-label": label,
|
|
447
|
+
"aria-pressed": pressed,
|
|
448
|
+
onClick: onToggle,
|
|
449
|
+
className: cn(
|
|
450
|
+
"flex size-7 items-center justify-center transition-colors",
|
|
451
|
+
pressed ? "bg-foreground text-background" : "text-muted-foreground hover:bg-muted hover:text-foreground"
|
|
452
|
+
),
|
|
453
|
+
children: /* @__PURE__ */ jsx(Icon, { className: "size-3.5" })
|
|
454
|
+
}
|
|
455
|
+
);
|
|
456
|
+
}
|
|
457
|
+
function ComposerLinkPopover({ editor }) {
|
|
458
|
+
const [open, setOpen] = React.useState(false);
|
|
459
|
+
const [url, setUrl] = React.useState("");
|
|
460
|
+
const handleApply = () => {
|
|
461
|
+
if (url.trim()) {
|
|
462
|
+
editor == null ? void 0 : editor.chain().focus().setLink({ href: url.trim() }).run();
|
|
463
|
+
}
|
|
464
|
+
setOpen(false);
|
|
465
|
+
setUrl("");
|
|
466
|
+
};
|
|
467
|
+
return /* @__PURE__ */ jsxs(
|
|
468
|
+
Popover,
|
|
469
|
+
{
|
|
470
|
+
open,
|
|
471
|
+
onOpenChange: (newOpen) => {
|
|
472
|
+
if (newOpen && (editor == null ? void 0 : editor.isActive("link"))) {
|
|
473
|
+
editor.chain().focus().unsetLink().run();
|
|
474
|
+
return;
|
|
475
|
+
}
|
|
476
|
+
if (newOpen) setUrl("");
|
|
477
|
+
setOpen(newOpen);
|
|
478
|
+
},
|
|
479
|
+
children: [
|
|
480
|
+
/* @__PURE__ */ jsx(
|
|
481
|
+
PopoverTrigger,
|
|
482
|
+
{
|
|
483
|
+
"aria-label": "Insert link",
|
|
484
|
+
className: cn(
|
|
485
|
+
"flex size-7 items-center justify-center transition-colors",
|
|
486
|
+
(editor == null ? void 0 : editor.isActive("link")) ? "bg-foreground text-background" : "text-muted-foreground hover:bg-muted hover:text-foreground"
|
|
487
|
+
),
|
|
488
|
+
children: /* @__PURE__ */ jsx(Link2, { className: "size-3.5" })
|
|
489
|
+
}
|
|
490
|
+
),
|
|
491
|
+
/* @__PURE__ */ jsx(PopoverContent, { className: "w-72 p-2", align: "start", children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1.5", children: [
|
|
492
|
+
/* @__PURE__ */ jsx(
|
|
493
|
+
"input",
|
|
494
|
+
{
|
|
495
|
+
type: "url",
|
|
496
|
+
value: url,
|
|
497
|
+
onChange: (e) => setUrl(e.target.value),
|
|
498
|
+
onKeyDown: (e) => e.key === "Enter" && handleApply(),
|
|
499
|
+
placeholder: "https://",
|
|
500
|
+
className: "min-w-0 flex-1 border border-border bg-transparent px-2 py-1.5 text-sm text-foreground outline-none placeholder:text-muted-foreground focus:border-primary",
|
|
501
|
+
autoFocus: true
|
|
502
|
+
}
|
|
503
|
+
),
|
|
504
|
+
/* @__PURE__ */ jsx(Button, { size: "sm", className: "h-8 px-3", onClick: handleApply, children: "Apply" })
|
|
505
|
+
] }) })
|
|
506
|
+
]
|
|
507
|
+
}
|
|
508
|
+
);
|
|
509
|
+
}
|
|
510
|
+
function ComposerEmailFieldRow({
|
|
511
|
+
label,
|
|
512
|
+
children
|
|
513
|
+
}) {
|
|
514
|
+
return /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3 border-b border-border px-4 py-2.5", children: [
|
|
515
|
+
/* @__PURE__ */ jsx("span", { className: "w-14 shrink-0 text-sm text-muted-foreground", children: label }),
|
|
516
|
+
children
|
|
517
|
+
] });
|
|
518
|
+
}
|
|
424
519
|
function ChatComposer({
|
|
425
520
|
mode,
|
|
426
521
|
channel: channelProp = "chat",
|
|
@@ -442,43 +537,25 @@ function ChatComposer({
|
|
|
442
537
|
const [emailCc, setEmailCc] = React.useState("");
|
|
443
538
|
const [showCc, setShowCc] = React.useState(false);
|
|
444
539
|
const [emailSubject, setEmailSubject] = React.useState("");
|
|
445
|
-
const [
|
|
446
|
-
const
|
|
447
|
-
|
|
540
|
+
const [, forceUpdate] = React.useReducer((x) => x + 1, 0);
|
|
541
|
+
const editor = useEditor({
|
|
542
|
+
extensions: [
|
|
543
|
+
StarterKit,
|
|
544
|
+
TiptapUnderline,
|
|
545
|
+
TiptapLink.configure({ openOnClick: false })
|
|
546
|
+
],
|
|
547
|
+
content: "",
|
|
548
|
+
onTransaction: () => forceUpdate(),
|
|
549
|
+
editorProps: {
|
|
550
|
+
attributes: {
|
|
551
|
+
class: "min-h-[150px] px-4 py-3 text-base text-foreground outline-none prose prose-sm max-w-none [&_p]:m-0 [&_a]:text-primary [&_a]:underline [&_a]:cursor-pointer"
|
|
552
|
+
}
|
|
553
|
+
}
|
|
554
|
+
});
|
|
448
555
|
const handleChannelChange = (c) => {
|
|
449
556
|
setChannel(c);
|
|
450
557
|
onChannelChange == null ? void 0 : onChannelChange(c);
|
|
451
558
|
};
|
|
452
|
-
function ToolbarButton({
|
|
453
|
-
label,
|
|
454
|
-
icon: Icon,
|
|
455
|
-
pressed,
|
|
456
|
-
onToggle
|
|
457
|
-
}) {
|
|
458
|
-
return /* @__PURE__ */ jsx(
|
|
459
|
-
"button",
|
|
460
|
-
{
|
|
461
|
-
type: "button",
|
|
462
|
-
"aria-label": label,
|
|
463
|
-
"aria-pressed": pressed,
|
|
464
|
-
onClick: onToggle,
|
|
465
|
-
className: cn(
|
|
466
|
-
"flex size-7 items-center justify-center transition-colors",
|
|
467
|
-
pressed ? "bg-foreground text-background" : "text-muted-foreground hover:bg-muted hover:text-foreground"
|
|
468
|
-
),
|
|
469
|
-
children: /* @__PURE__ */ jsx(Icon, { className: "size-3.5" })
|
|
470
|
-
}
|
|
471
|
-
);
|
|
472
|
-
}
|
|
473
|
-
function EmailFieldRow({
|
|
474
|
-
label,
|
|
475
|
-
children
|
|
476
|
-
}) {
|
|
477
|
-
return /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3 border-b border-border px-4 py-2.5", children: [
|
|
478
|
-
/* @__PURE__ */ jsx("span", { className: "w-14 shrink-0 text-sm text-muted-foreground", children: label }),
|
|
479
|
-
children
|
|
480
|
-
] });
|
|
481
|
-
}
|
|
482
559
|
return /* @__PURE__ */ jsxs(
|
|
483
560
|
"div",
|
|
484
561
|
{
|
|
@@ -531,7 +608,7 @@ function ChatComposer({
|
|
|
531
608
|
),
|
|
532
609
|
"aria-hidden": channel !== "email",
|
|
533
610
|
children: [
|
|
534
|
-
/* @__PURE__ */ jsxs(
|
|
611
|
+
/* @__PURE__ */ jsxs(ComposerEmailFieldRow, { label: "To", children: [
|
|
535
612
|
/* @__PURE__ */ jsx(
|
|
536
613
|
"input",
|
|
537
614
|
{
|
|
@@ -555,7 +632,7 @@ function ChatComposer({
|
|
|
555
632
|
}
|
|
556
633
|
)
|
|
557
634
|
] }),
|
|
558
|
-
showCc && /* @__PURE__ */ jsx(
|
|
635
|
+
showCc && /* @__PURE__ */ jsx(ComposerEmailFieldRow, { label: "CC", children: /* @__PURE__ */ jsx(
|
|
559
636
|
"input",
|
|
560
637
|
{
|
|
561
638
|
type: "email",
|
|
@@ -565,7 +642,7 @@ function ChatComposer({
|
|
|
565
642
|
className: "min-w-0 flex-1 bg-transparent text-base text-foreground outline-none placeholder:text-muted-foreground"
|
|
566
643
|
}
|
|
567
644
|
) }),
|
|
568
|
-
/* @__PURE__ */ jsx(
|
|
645
|
+
/* @__PURE__ */ jsx(ComposerEmailFieldRow, { label: "Subject", children: /* @__PURE__ */ jsx(
|
|
569
646
|
"input",
|
|
570
647
|
{
|
|
571
648
|
type: "text",
|
|
@@ -575,60 +652,56 @@ function ChatComposer({
|
|
|
575
652
|
className: "min-w-0 flex-1 bg-transparent text-base text-foreground outline-none placeholder:text-muted-foreground"
|
|
576
653
|
}
|
|
577
654
|
) }),
|
|
578
|
-
/* @__PURE__ */ jsx(
|
|
579
|
-
Textarea,
|
|
580
|
-
{
|
|
581
|
-
value: inputValue,
|
|
582
|
-
onChange: (e) => onInputChange == null ? void 0 : onInputChange(e.target.value),
|
|
583
|
-
placeholder: "Write your email...",
|
|
584
|
-
rows: 6,
|
|
585
|
-
className: "resize-y border-0 px-4 py-3 text-base shadow-none focus-visible:ring-0"
|
|
586
|
-
}
|
|
587
|
-
),
|
|
655
|
+
/* @__PURE__ */ jsx(EditorContent, { editor }),
|
|
588
656
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between border-t border-border px-3 py-2", children: [
|
|
589
657
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-0.5", children: [
|
|
590
658
|
/* @__PURE__ */ jsx(
|
|
591
|
-
|
|
659
|
+
ComposerToolbarButton,
|
|
592
660
|
{
|
|
593
661
|
label: "Bold",
|
|
594
662
|
icon: Bold,
|
|
595
|
-
pressed: bold,
|
|
596
|
-
onToggle: () =>
|
|
663
|
+
pressed: editor == null ? void 0 : editor.isActive("bold"),
|
|
664
|
+
onToggle: () => editor == null ? void 0 : editor.chain().focus().toggleBold().run()
|
|
597
665
|
}
|
|
598
666
|
),
|
|
599
667
|
/* @__PURE__ */ jsx(
|
|
600
|
-
|
|
668
|
+
ComposerToolbarButton,
|
|
601
669
|
{
|
|
602
670
|
label: "Italic",
|
|
603
671
|
icon: Italic,
|
|
604
|
-
pressed: italic,
|
|
605
|
-
onToggle: () =>
|
|
672
|
+
pressed: editor == null ? void 0 : editor.isActive("italic"),
|
|
673
|
+
onToggle: () => editor == null ? void 0 : editor.chain().focus().toggleItalic().run()
|
|
606
674
|
}
|
|
607
675
|
),
|
|
608
676
|
/* @__PURE__ */ jsx(
|
|
609
|
-
|
|
677
|
+
ComposerToolbarButton,
|
|
610
678
|
{
|
|
611
679
|
label: "Underline",
|
|
612
680
|
icon: Underline,
|
|
613
|
-
pressed: underline,
|
|
614
|
-
onToggle: () =>
|
|
681
|
+
pressed: editor == null ? void 0 : editor.isActive("underline"),
|
|
682
|
+
onToggle: () => editor == null ? void 0 : editor.chain().focus().toggleUnderline().run()
|
|
615
683
|
}
|
|
616
684
|
),
|
|
617
685
|
/* @__PURE__ */ jsx(Separator, { orientation: "vertical", className: "mx-1.5 h-4" }),
|
|
618
|
-
/* @__PURE__ */ jsx(
|
|
619
|
-
/* @__PURE__ */ jsx(
|
|
686
|
+
/* @__PURE__ */ jsx(ComposerLinkPopover, { editor }),
|
|
687
|
+
/* @__PURE__ */ jsx(ComposerToolbarButton, { label: "Attach file", icon: Paperclip })
|
|
620
688
|
] }),
|
|
621
689
|
/* @__PURE__ */ jsxs(
|
|
622
690
|
Button,
|
|
623
691
|
{
|
|
624
692
|
size: "sm",
|
|
625
|
-
onClick: () =>
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
693
|
+
onClick: () => {
|
|
694
|
+
var _a;
|
|
695
|
+
const html = (_a = editor == null ? void 0 : editor.getHTML()) != null ? _a : "";
|
|
696
|
+
onSendEmail == null ? void 0 : onSendEmail({
|
|
697
|
+
content: html,
|
|
698
|
+
to: emailTo,
|
|
699
|
+
cc: emailCc,
|
|
700
|
+
subject: emailSubject
|
|
701
|
+
});
|
|
702
|
+
editor == null ? void 0 : editor.commands.clearContent();
|
|
703
|
+
},
|
|
704
|
+
disabled: !editor || editor.isEmpty || !emailTo.trim(),
|
|
632
705
|
children: [
|
|
633
706
|
/* @__PURE__ */ jsx(Send, { className: "mr-1.5 size-3.5" }),
|
|
634
707
|
"Send Email"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
AddressAutocomplete
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-ET4MTPIY.mjs";
|
|
4
4
|
import {
|
|
5
5
|
Select,
|
|
6
6
|
SelectContent,
|
|
@@ -20,7 +20,7 @@ import {
|
|
|
20
20
|
} from "./chunk-LI2CTS5O.mjs";
|
|
21
21
|
import {
|
|
22
22
|
Label
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-LSRGA5BI.mjs";
|
|
24
24
|
import {
|
|
25
25
|
Input
|
|
26
26
|
} from "./chunk-LBTHZSBT.mjs";
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
import {
|
|
8
8
|
Field,
|
|
9
9
|
FieldLabel
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-KPGARKFC.mjs";
|
|
11
11
|
import {
|
|
12
12
|
Checkbox
|
|
13
13
|
} from "./chunk-IKXYTCSB.mjs";
|
|
@@ -27,7 +27,7 @@ import {
|
|
|
27
27
|
} from "./chunk-LI2CTS5O.mjs";
|
|
28
28
|
import {
|
|
29
29
|
Label
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-LSRGA5BI.mjs";
|
|
31
31
|
import {
|
|
32
32
|
ToggleGroup,
|
|
33
33
|
ToggleGroupItem
|
|
@@ -27,13 +27,13 @@ import {
|
|
|
27
27
|
} from "./chunk-LI2CTS5O.mjs";
|
|
28
28
|
import {
|
|
29
29
|
DatePicker
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-UMF6LLQK.mjs";
|
|
31
31
|
import {
|
|
32
32
|
formatDateWithWeekday
|
|
33
33
|
} from "./chunk-LHWJQNLG.mjs";
|
|
34
34
|
import {
|
|
35
35
|
Label
|
|
36
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-LSRGA5BI.mjs";
|
|
37
37
|
import {
|
|
38
38
|
Input
|
|
39
39
|
} from "./chunk-LBTHZSBT.mjs";
|
|
@@ -3,24 +3,38 @@ import {
|
|
|
3
3
|
} from "./chunk-AFML43VJ.mjs";
|
|
4
4
|
import {
|
|
5
5
|
__objRest,
|
|
6
|
+
__spreadProps,
|
|
6
7
|
__spreadValues
|
|
7
8
|
} from "./chunk-WNQUEZJF.mjs";
|
|
8
9
|
|
|
9
10
|
// src/components/ui/label.tsx
|
|
10
|
-
import { jsx } from "react/jsx-runtime";
|
|
11
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
11
12
|
function Label(_a) {
|
|
12
|
-
var _b = _a, {
|
|
13
|
+
var _b = _a, {
|
|
14
|
+
className,
|
|
15
|
+
required,
|
|
16
|
+
children
|
|
17
|
+
} = _b, props = __objRest(_b, [
|
|
18
|
+
"className",
|
|
19
|
+
"required",
|
|
20
|
+
"children"
|
|
21
|
+
]);
|
|
13
22
|
return (
|
|
14
23
|
// eslint-disable-next-line jsx-a11y/label-has-associated-control -- htmlFor is passed by the consumer
|
|
15
|
-
/* @__PURE__ */
|
|
24
|
+
/* @__PURE__ */ jsxs(
|
|
16
25
|
"label",
|
|
17
|
-
__spreadValues({
|
|
26
|
+
__spreadProps(__spreadValues({
|
|
18
27
|
className: cn(
|
|
19
28
|
"flex items-center gap-2 text-label-medium leading-none select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",
|
|
20
29
|
className
|
|
21
30
|
),
|
|
22
31
|
"data-slot": "label"
|
|
23
|
-
}, props)
|
|
32
|
+
}, props), {
|
|
33
|
+
children: [
|
|
34
|
+
children,
|
|
35
|
+
required && /* @__PURE__ */ jsx("span", { "aria-hidden": "true", className: "text-destructive", children: "*" })
|
|
36
|
+
]
|
|
37
|
+
})
|
|
24
38
|
)
|
|
25
39
|
);
|
|
26
40
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Field,
|
|
3
3
|
FieldLabel
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-KPGARKFC.mjs";
|
|
5
5
|
import {
|
|
6
6
|
PaginationNavButtons
|
|
7
7
|
} from "./chunk-SSUK6C2K.mjs";
|
|
@@ -35,7 +35,7 @@ import {
|
|
|
35
35
|
} from "./chunk-LI2CTS5O.mjs";
|
|
36
36
|
import {
|
|
37
37
|
DatePicker
|
|
38
|
-
} from "./chunk-
|
|
38
|
+
} from "./chunk-UMF6LLQK.mjs";
|
|
39
39
|
import {
|
|
40
40
|
ToggleGroup,
|
|
41
41
|
ToggleGroupItem
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
PasswordField,
|
|
4
4
|
SectionHeading,
|
|
5
5
|
StaffRowItem
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-2UA4CPE5.mjs";
|
|
7
7
|
import {
|
|
8
8
|
ColorPicker
|
|
9
9
|
} from "./chunk-IW33VLL5.mjs";
|
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
Field,
|
|
15
15
|
FieldError,
|
|
16
16
|
FieldLabel
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-KPGARKFC.mjs";
|
|
18
18
|
import {
|
|
19
19
|
Checkbox
|
|
20
20
|
} from "./chunk-IKXYTCSB.mjs";
|