@wealthx/shadcn 1.5.6 → 1.5.7
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 +141 -135
- package/CHANGELOG.md +6 -0
- package/dist/{chunk-2LLFNGJZ.mjs → chunk-3OOUI5TO.mjs} +1 -1
- package/dist/{chunk-AUEUTZIC.mjs → chunk-3QAQQBCM.mjs} +2 -2
- package/dist/chunk-3Z75IKFO.mjs +34 -0
- package/dist/{chunk-RAKBWNQH.mjs → chunk-5WCIGJ3E.mjs} +26 -65
- package/dist/chunk-65PZNG4Y.mjs +129 -0
- package/dist/{chunk-D447W45Z.mjs → chunk-7OLKVKJF.mjs} +41 -49
- package/dist/{chunk-UEREFDAE.mjs → chunk-AZGLSIHF.mjs} +1 -1
- package/dist/{chunk-QRVEI6J3.mjs → chunk-BQBSYM2I.mjs} +1 -3
- package/dist/{chunk-BFB3UH7V.mjs → chunk-C2QMHKLT.mjs} +1 -1
- package/dist/chunk-CEEVYRQA.mjs +61 -0
- package/dist/{chunk-VJ3GC7W3.mjs → chunk-CXGZSIQN.mjs} +4 -30
- package/dist/{chunk-VLELWBEW.mjs → chunk-E2BNCA6L.mjs} +1 -1
- package/dist/{chunk-46Q4335I.mjs → chunk-F73QFUZH.mjs} +10 -20
- package/dist/{chunk-Q35PNFJ7.mjs → chunk-FBNEIYSE.mjs} +1 -1
- package/dist/{chunk-HO6S3ECM.mjs → chunk-G4WLCKFV.mjs} +1 -1
- package/dist/{chunk-ODO6BUOF.mjs → chunk-HRHXZIX5.mjs} +1 -3
- package/dist/{chunk-IXR4BQSQ.mjs → chunk-I6QVWQCD.mjs} +1 -1
- package/dist/{chunk-Q5SGEIJV.mjs → chunk-IXKE6LHN.mjs} +1 -1
- package/dist/{chunk-OL65UQHQ.mjs → chunk-JCH2BG24.mjs} +26 -60
- package/dist/{chunk-PV3Y7QGK.mjs → chunk-LHWJQNLG.mjs} +3 -3
- package/dist/{chunk-JTG5R5YV.mjs → chunk-MS4PDUSU.mjs} +284 -58
- package/dist/{chunk-VFH632TB.mjs → chunk-SDNG4XL6.mjs} +1 -1
- package/dist/{chunk-DFL5CV75.mjs → chunk-T6MMCOX6.mjs} +1 -1
- package/dist/{chunk-6TX73WG7.mjs → chunk-TCE5L44O.mjs} +3 -2
- package/dist/{chunk-HROG643K.mjs → chunk-W5QJ57PU.mjs} +1 -1
- package/dist/{chunk-EW72FINW.mjs → chunk-XVZGXPIX.mjs} +1 -1
- package/dist/components/ui/about-you-form.mjs +3 -3
- package/dist/components/ui/add-column-modal.js +56 -227
- package/dist/components/ui/add-column-modal.mjs +1 -2
- package/dist/components/ui/ai-conversations.js +278 -58
- package/dist/components/ui/ai-conversations.mjs +1 -1
- package/dist/components/ui/appointment-action-dialogs.mjs +3 -3
- package/dist/components/ui/appointment-availability-settings.js +2 -28
- package/dist/components/ui/appointment-availability-settings.mjs +4 -4
- package/dist/components/ui/appointment-book-dialog.js +11 -21
- package/dist/components/ui/appointment-book-dialog.mjs +3 -3
- package/dist/components/ui/appointment-calendar-view.mjs +2 -2
- package/dist/components/ui/appointment-detail-sheet.mjs +4 -4
- package/dist/components/ui/appointment-upcoming-card.mjs +3 -3
- package/dist/components/ui/bank-statement-generate-dialog.mjs +4 -4
- package/dist/components/ui/calendar.mjs +2 -2
- package/dist/components/ui/dashboard-transactions-table.mjs +1 -1
- package/dist/components/ui/date-picker.mjs +3 -3
- package/dist/components/ui/financial-cards.mjs +2 -2
- package/dist/components/ui/financial-sections.mjs +3 -3
- package/dist/components/ui/integration-card.js +326 -0
- package/dist/components/ui/integration-card.mjs +11 -0
- package/dist/components/ui/kanban-column.js +151 -243
- package/dist/components/ui/kanban-column.mjs +3 -4
- package/dist/components/ui/loan-application-cards.mjs +1 -1
- package/dist/components/ui/onboarding-layout.js +65 -4
- package/dist/components/ui/onboarding-layout.mjs +6 -4
- package/dist/components/ui/opportunity-card.js +126 -216
- package/dist/components/ui/opportunity-card.mjs +2 -3
- package/dist/components/ui/opportunity-edit-modals.mjs +4 -4
- package/dist/components/ui/opportunity-summary-tab.mjs +6 -6
- package/dist/components/ui/pipeline-board.js +167 -261
- package/dist/components/ui/pipeline-board.mjs +4 -5
- package/dist/components/ui/pipeline-chart.js +128 -55
- package/dist/components/ui/pipeline-chart.mjs +2 -1
- package/dist/components/ui/pipeline-dialogs.mjs +4 -4
- package/dist/components/ui/savings-goal-modal.mjs +3 -3
- package/dist/components/ui/selectable-card.js +163 -0
- package/dist/components/ui/selectable-card.mjs +9 -0
- package/dist/components/ui/signup-shell.js +3 -2
- package/dist/components/ui/signup-shell.mjs +2 -2
- package/dist/components/ui/stepper.js +3 -2
- package/dist/components/ui/stepper.mjs +1 -1
- package/dist/index.js +2121 -1878
- package/dist/index.mjs +56 -46
- package/dist/styles.css +1 -1
- package/package.json +11 -1
- package/src/components/index.tsx +13 -1
- package/src/components/ui/add-column-modal.tsx +9 -58
- package/src/components/ui/ai-conversations.tsx +308 -42
- package/src/components/ui/appointment-availability-settings.tsx +2 -35
- package/src/components/ui/appointment-book-dialog.tsx +25 -48
- package/src/components/ui/integration-card.tsx +88 -0
- package/src/components/ui/kanban-column.tsx +0 -7
- package/src/components/ui/onboarding-layout.tsx +102 -1
- package/src/components/ui/opportunity-card.tsx +5 -53
- package/src/components/ui/pipeline-board.tsx +0 -3
- package/src/components/ui/pipeline-chart.tsx +47 -53
- package/src/components/ui/selectable-card.tsx +37 -0
- package/src/components/ui/stepper.tsx +3 -2
- package/src/lib/format-date.ts +6 -6
- package/src/styles/styles-css.ts +1 -1
- package/tsup.config.ts +2 -0
- package/dist/chunk-2P7HP7LR.mjs +0 -68
|
@@ -63,7 +63,7 @@ __export(add_column_modal_exports, {
|
|
|
63
63
|
});
|
|
64
64
|
module.exports = __toCommonJS(add_column_modal_exports);
|
|
65
65
|
var React3 = __toESM(require("react"));
|
|
66
|
-
var
|
|
66
|
+
var import_lucide_react3 = require("lucide-react");
|
|
67
67
|
|
|
68
68
|
// src/lib/utils.ts
|
|
69
69
|
var import_clsx = require("clsx");
|
|
@@ -462,158 +462,14 @@ function Separator(_a) {
|
|
|
462
462
|
);
|
|
463
463
|
}
|
|
464
464
|
|
|
465
|
-
// src/components/ui/select.tsx
|
|
466
|
-
var import_lucide_react3 = require("lucide-react");
|
|
467
|
-
var import_select = require("@base-ui/react/select");
|
|
468
|
-
var import_jsx_runtime7 = require("react/jsx-runtime");
|
|
469
|
-
function Select(_a) {
|
|
470
|
-
var props = __objRest(_a, []);
|
|
471
|
-
return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_select.Select.Root, __spreadValues({ "data-slot": "select" }, props));
|
|
472
|
-
}
|
|
473
|
-
function SelectTrigger(_a) {
|
|
474
|
-
var _b = _a, {
|
|
475
|
-
className,
|
|
476
|
-
size = "default",
|
|
477
|
-
children
|
|
478
|
-
} = _b, props = __objRest(_b, [
|
|
479
|
-
"className",
|
|
480
|
-
"size",
|
|
481
|
-
"children"
|
|
482
|
-
]);
|
|
483
|
-
return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(
|
|
484
|
-
import_select.Select.Trigger,
|
|
485
|
-
__spreadProps(__spreadValues({
|
|
486
|
-
className: cn(
|
|
487
|
-
"flex w-fit items-center justify-between gap-2 border border-input bg-transparent px-3 py-2 text-body-medium whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:border-primary focus-visible:ring-[3px] focus-visible:ring-primary/20 data-popup-open:border-primary data-popup-open:ring-[3px] data-popup-open:ring-primary/20 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-placeholder:font-normal data-placeholder:text-muted-foreground data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground",
|
|
488
|
-
className
|
|
489
|
-
),
|
|
490
|
-
"data-size": size,
|
|
491
|
-
"data-slot": "select-trigger"
|
|
492
|
-
}, props), {
|
|
493
|
-
children: [
|
|
494
|
-
children,
|
|
495
|
-
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_select.Select.Icon, { className: "transition-transform duration-200 data-popup-open:rotate-180", children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_lucide_react3.ChevronDownIcon, { className: "size-4 opacity-50" }) })
|
|
496
|
-
]
|
|
497
|
-
})
|
|
498
|
-
);
|
|
499
|
-
}
|
|
500
|
-
function SelectContent(_a) {
|
|
501
|
-
var _b = _a, {
|
|
502
|
-
className,
|
|
503
|
-
children,
|
|
504
|
-
style
|
|
505
|
-
} = _b, props = __objRest(_b, [
|
|
506
|
-
"className",
|
|
507
|
-
"children",
|
|
508
|
-
"style"
|
|
509
|
-
]);
|
|
510
|
-
const themeVars = useThemeVars();
|
|
511
|
-
return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_select.Select.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
512
|
-
import_select.Select.Positioner,
|
|
513
|
-
{
|
|
514
|
-
className: "z-[200]",
|
|
515
|
-
align: "start",
|
|
516
|
-
alignItemWithTrigger: false,
|
|
517
|
-
sideOffset: 4,
|
|
518
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(
|
|
519
|
-
import_select.Select.Popup,
|
|
520
|
-
__spreadProps(__spreadValues({
|
|
521
|
-
className: cn(
|
|
522
|
-
"relative max-h-[var(--available-height)] min-w-[var(--anchor-width,8rem)] overflow-x-hidden overflow-y-auto border bg-popover p-1 text-popover-foreground shadow-md data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-ending-style:animate-out data-ending-style:fade-out-0 data-ending-style:zoom-out-95 data-ending-style:fill-mode-forwards data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95",
|
|
523
|
-
className
|
|
524
|
-
),
|
|
525
|
-
"data-slot": "select-content",
|
|
526
|
-
style: __spreadValues(__spreadValues({}, themeVars), style)
|
|
527
|
-
}, props), {
|
|
528
|
-
children: [
|
|
529
|
-
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(SelectScrollUpButton, {}),
|
|
530
|
-
children,
|
|
531
|
-
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(SelectScrollDownButton, {})
|
|
532
|
-
]
|
|
533
|
-
})
|
|
534
|
-
)
|
|
535
|
-
}
|
|
536
|
-
) });
|
|
537
|
-
}
|
|
538
|
-
function SelectItem(_a) {
|
|
539
|
-
var _b = _a, {
|
|
540
|
-
className,
|
|
541
|
-
children
|
|
542
|
-
} = _b, props = __objRest(_b, [
|
|
543
|
-
"className",
|
|
544
|
-
"children"
|
|
545
|
-
]);
|
|
546
|
-
return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(
|
|
547
|
-
import_select.Select.Item,
|
|
548
|
-
__spreadProps(__spreadValues({
|
|
549
|
-
className: cn(
|
|
550
|
-
"relative flex w-full cursor-default items-center gap-2 py-1.5 pr-8 pl-2 text-body-small outline-hidden select-none data-highlighted:bg-primary/5 data-highlighted:text-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",
|
|
551
|
-
className
|
|
552
|
-
),
|
|
553
|
-
"data-slot": "select-item"
|
|
554
|
-
}, props), {
|
|
555
|
-
children: [
|
|
556
|
-
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
557
|
-
"span",
|
|
558
|
-
{
|
|
559
|
-
className: "absolute right-2 flex size-3.5 items-center justify-center",
|
|
560
|
-
"data-slot": "select-item-indicator",
|
|
561
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_select.Select.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_lucide_react3.CheckIcon, { className: "size-4" }) })
|
|
562
|
-
}
|
|
563
|
-
),
|
|
564
|
-
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_select.Select.ItemText, { children })
|
|
565
|
-
]
|
|
566
|
-
})
|
|
567
|
-
);
|
|
568
|
-
}
|
|
569
|
-
function SelectScrollUpButton(_a) {
|
|
570
|
-
var _b = _a, {
|
|
571
|
-
className
|
|
572
|
-
} = _b, props = __objRest(_b, [
|
|
573
|
-
"className"
|
|
574
|
-
]);
|
|
575
|
-
return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
576
|
-
import_select.Select.ScrollUpArrow,
|
|
577
|
-
__spreadProps(__spreadValues({
|
|
578
|
-
className: cn(
|
|
579
|
-
"flex cursor-default items-center justify-center py-1",
|
|
580
|
-
className
|
|
581
|
-
),
|
|
582
|
-
"data-slot": "select-scroll-up-button"
|
|
583
|
-
}, props), {
|
|
584
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_lucide_react3.ChevronUpIcon, { className: "size-4" })
|
|
585
|
-
})
|
|
586
|
-
);
|
|
587
|
-
}
|
|
588
|
-
function SelectScrollDownButton(_a) {
|
|
589
|
-
var _b = _a, {
|
|
590
|
-
className
|
|
591
|
-
} = _b, props = __objRest(_b, [
|
|
592
|
-
"className"
|
|
593
|
-
]);
|
|
594
|
-
return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
595
|
-
import_select.Select.ScrollDownArrow,
|
|
596
|
-
__spreadProps(__spreadValues({
|
|
597
|
-
className: cn(
|
|
598
|
-
"flex cursor-default items-center justify-center py-1",
|
|
599
|
-
className
|
|
600
|
-
),
|
|
601
|
-
"data-slot": "select-scroll-down-button"
|
|
602
|
-
}, props), {
|
|
603
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_lucide_react3.ChevronDownIcon, { className: "size-4" })
|
|
604
|
-
})
|
|
605
|
-
);
|
|
606
|
-
}
|
|
607
|
-
|
|
608
465
|
// src/components/ui/add-column-modal.tsx
|
|
609
|
-
var
|
|
466
|
+
var import_jsx_runtime7 = require("react/jsx-runtime");
|
|
610
467
|
var MAX_TASKS = 20;
|
|
611
468
|
function AddColumnModal({
|
|
612
469
|
open,
|
|
613
470
|
onOpenChange,
|
|
614
471
|
onSave,
|
|
615
472
|
editData,
|
|
616
|
-
aiAgents = [],
|
|
617
473
|
loading = false,
|
|
618
474
|
className
|
|
619
475
|
}) {
|
|
@@ -649,10 +505,7 @@ function AddColumnModal({
|
|
|
649
505
|
const isValid = name.trim().length > 0 && !daysError && !hasDuplicateTasks && tasks.every((t) => t.name.trim().length > 0);
|
|
650
506
|
function addTask() {
|
|
651
507
|
if (tasks.length >= MAX_TASKS) return;
|
|
652
|
-
setTasks((prev) => [
|
|
653
|
-
...prev,
|
|
654
|
-
{ id: nextId.current++, name: "", aiAgentId: null }
|
|
655
|
-
]);
|
|
508
|
+
setTasks((prev) => [...prev, { id: nextId.current++, name: "" }]);
|
|
656
509
|
}
|
|
657
510
|
function removeTask(id) {
|
|
658
511
|
setTasks((prev) => prev.filter((t) => t.id !== id));
|
|
@@ -671,12 +524,12 @@ function AddColumnModal({
|
|
|
671
524
|
isTitleLocked: editData == null ? void 0 : editData.isTitleLocked
|
|
672
525
|
});
|
|
673
526
|
}
|
|
674
|
-
return /* @__PURE__ */ (0,
|
|
675
|
-
/* @__PURE__ */ (0,
|
|
676
|
-
/* @__PURE__ */ (0,
|
|
677
|
-
/* @__PURE__ */ (0,
|
|
678
|
-
/* @__PURE__ */ (0,
|
|
679
|
-
/* @__PURE__ */ (0,
|
|
527
|
+
return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Dialog, { open, onOpenChange: loading ? void 0 : onOpenChange, children: /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(DialogContent, { className: cn("max-w-md", className), children: [
|
|
528
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(DialogHeader, { children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(DialogTitle, { children: isEdit ? "Edit Column" : "Add New Column" }) }),
|
|
529
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "flex flex-col gap-4", children: [
|
|
530
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "flex flex-col gap-1.5", children: [
|
|
531
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Label, { children: "Column title" }),
|
|
532
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
680
533
|
Input,
|
|
681
534
|
{
|
|
682
535
|
value: name,
|
|
@@ -685,14 +538,14 @@ function AddColumnModal({
|
|
|
685
538
|
disabled: (editData == null ? void 0 : editData.isTitleLocked) || loading
|
|
686
539
|
}
|
|
687
540
|
),
|
|
688
|
-
(editData == null ? void 0 : editData.isTitleLocked) && /* @__PURE__ */ (0,
|
|
541
|
+
(editData == null ? void 0 : editData.isTitleLocked) && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("p", { className: "text-xs text-muted-foreground", children: "This column title is locked and cannot be changed." })
|
|
689
542
|
] }),
|
|
690
|
-
/* @__PURE__ */ (0,
|
|
691
|
-
/* @__PURE__ */ (0,
|
|
692
|
-
/* @__PURE__ */ (0,
|
|
693
|
-
/* @__PURE__ */ (0,
|
|
694
|
-
/* @__PURE__ */ (0,
|
|
695
|
-
/* @__PURE__ */ (0,
|
|
543
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "flex flex-col gap-2", children: [
|
|
544
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)("span", { className: "text-sm font-medium text-foreground", children: "Time-based alerts" }),
|
|
545
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "grid grid-cols-2 gap-3", children: [
|
|
546
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "flex flex-col gap-1.5", children: [
|
|
547
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Label, { className: "font-normal text-muted-foreground", children: "Warning after (days)" }),
|
|
548
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
696
549
|
Input,
|
|
697
550
|
{
|
|
698
551
|
type: "number",
|
|
@@ -704,9 +557,9 @@ function AddColumnModal({
|
|
|
704
557
|
}
|
|
705
558
|
)
|
|
706
559
|
] }),
|
|
707
|
-
/* @__PURE__ */ (0,
|
|
708
|
-
/* @__PURE__ */ (0,
|
|
709
|
-
/* @__PURE__ */ (0,
|
|
560
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "flex flex-col gap-1.5", children: [
|
|
561
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Label, { className: "font-normal text-muted-foreground", children: "Priority after (days)" }),
|
|
562
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
710
563
|
Input,
|
|
711
564
|
{
|
|
712
565
|
type: "number",
|
|
@@ -719,13 +572,13 @@ function AddColumnModal({
|
|
|
719
572
|
)
|
|
720
573
|
] })
|
|
721
574
|
] }),
|
|
722
|
-
daysError && /* @__PURE__ */ (0,
|
|
575
|
+
daysError && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("p", { className: "text-xs text-destructive", children: daysError })
|
|
723
576
|
] }),
|
|
724
|
-
/* @__PURE__ */ (0,
|
|
725
|
-
/* @__PURE__ */ (0,
|
|
726
|
-
/* @__PURE__ */ (0,
|
|
727
|
-
/* @__PURE__ */ (0,
|
|
728
|
-
/* @__PURE__ */ (0,
|
|
577
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Separator, {}),
|
|
578
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "flex flex-col gap-2", children: [
|
|
579
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "flex items-center justify-between", children: [
|
|
580
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)("span", { className: "text-sm font-medium text-foreground", children: "Task templates" }),
|
|
581
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(
|
|
729
582
|
Button,
|
|
730
583
|
{
|
|
731
584
|
variant: "outline",
|
|
@@ -734,7 +587,7 @@ function AddColumnModal({
|
|
|
734
587
|
onClick: addTask,
|
|
735
588
|
disabled: tasks.length >= MAX_TASKS || loading,
|
|
736
589
|
children: [
|
|
737
|
-
/* @__PURE__ */ (0,
|
|
590
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_lucide_react3.Plus, { className: "size-3" }),
|
|
738
591
|
"Add (",
|
|
739
592
|
tasks.length,
|
|
740
593
|
"/",
|
|
@@ -744,61 +597,37 @@ function AddColumnModal({
|
|
|
744
597
|
}
|
|
745
598
|
)
|
|
746
599
|
] }),
|
|
747
|
-
tasks.length === 0 && /* @__PURE__ */ (0,
|
|
748
|
-
/* @__PURE__ */ (0,
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
)
|
|
775
|
-
] }),
|
|
776
|
-
aiAgents.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
|
|
777
|
-
Select,
|
|
778
|
-
{
|
|
779
|
-
value: (_a2 = task.aiAgentId) != null ? _a2 : void 0,
|
|
780
|
-
onValueChange: (v) => updateTask(task.id, { aiAgentId: v || null }),
|
|
781
|
-
children: [
|
|
782
|
-
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(SelectTrigger, { size: "sm", className: "w-full", children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
783
|
-
"span",
|
|
784
|
-
{
|
|
785
|
-
className: cn(
|
|
786
|
-
!task.aiAgentId && "text-muted-foreground"
|
|
787
|
-
),
|
|
788
|
-
children: task.aiAgentId ? (_c = (_b2 = aiAgents.find((a) => a.id === task.aiAgentId)) == null ? void 0 : _b2.name) != null ? _c : task.aiAgentId : "Select agent"
|
|
789
|
-
}
|
|
790
|
-
) }),
|
|
791
|
-
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(SelectContent, { children: aiAgents.map((agent) => /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(SelectItem, { value: agent.id, children: agent.name }, agent.id)) })
|
|
792
|
-
]
|
|
793
|
-
}
|
|
794
|
-
)
|
|
795
|
-
] }, task.id);
|
|
796
|
-
}) }),
|
|
797
|
-
hasDuplicateTasks && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("p", { className: "text-xs text-destructive", children: "Task names must be unique." })
|
|
600
|
+
tasks.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("p", { className: "text-xs text-muted-foreground", children: "No tasks yet. Tasks will be created for each new opportunity added to this column." }),
|
|
601
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: "flex flex-col gap-2", children: tasks.map((task) => /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: "flex flex-col gap-1.5", children: /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
602
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
603
|
+
Input,
|
|
604
|
+
{
|
|
605
|
+
value: task.name,
|
|
606
|
+
onChange: (e) => updateTask(task.id, { name: e.target.value }),
|
|
607
|
+
placeholder: "Task name",
|
|
608
|
+
className: "flex-1",
|
|
609
|
+
disabled: loading
|
|
610
|
+
}
|
|
611
|
+
),
|
|
612
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
613
|
+
Button,
|
|
614
|
+
{
|
|
615
|
+
type: "button",
|
|
616
|
+
variant: "ghost",
|
|
617
|
+
size: "icon",
|
|
618
|
+
onClick: () => removeTask(task.id),
|
|
619
|
+
disabled: loading,
|
|
620
|
+
className: "size-9 shrink-0 text-muted-foreground hover:text-destructive",
|
|
621
|
+
"aria-label": "Remove task",
|
|
622
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_lucide_react3.Trash2, { className: "size-4" })
|
|
623
|
+
}
|
|
624
|
+
)
|
|
625
|
+
] }) }, task.id)) }),
|
|
626
|
+
hasDuplicateTasks && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("p", { className: "text-xs text-destructive", children: "Task names must be unique." })
|
|
798
627
|
] })
|
|
799
628
|
] }),
|
|
800
|
-
/* @__PURE__ */ (0,
|
|
801
|
-
/* @__PURE__ */ (0,
|
|
629
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(DialogFooter, { children: [
|
|
630
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
802
631
|
Button,
|
|
803
632
|
{
|
|
804
633
|
variant: "outline",
|
|
@@ -807,7 +636,7 @@ function AddColumnModal({
|
|
|
807
636
|
children: "Cancel"
|
|
808
637
|
}
|
|
809
638
|
),
|
|
810
|
-
/* @__PURE__ */ (0,
|
|
639
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Button, { onClick: handleSave, disabled: loading || !isValid, children: loading ? isEdit ? "Saving\u2026" : "Adding\u2026" : isEdit ? "Save changes" : "Add column" })
|
|
811
640
|
] })
|
|
812
641
|
] }) });
|
|
813
642
|
}
|