@wealthx/shadcn 1.5.28 → 1.5.30

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.
Files changed (53) hide show
  1. package/.turbo/turbo-build.log +134 -134
  2. package/CHANGELOG.md +12 -0
  3. package/dist/{chunk-DWJHPNFL.mjs → chunk-4UT3RZ2D.mjs} +32 -16
  4. package/dist/{chunk-CE2WONIY.mjs → chunk-AE4JKISB.mjs} +27 -31
  5. package/dist/chunk-BZWQU52U.mjs +1025 -0
  6. package/dist/{chunk-RNLIZRAK.mjs → chunk-C6R42PCL.mjs} +1 -1
  7. package/dist/{chunk-EVUY67CY.mjs → chunk-FTQ2AKZ2.mjs} +1 -1
  8. package/dist/{chunk-7T4TYUO3.mjs → chunk-H5ZD63NT.mjs} +31 -16
  9. package/dist/{chunk-SO4RB3XB.mjs → chunk-IEQX4UVP.mjs} +2 -2
  10. package/dist/chunk-IKVF4XE2.mjs +94 -0
  11. package/dist/{chunk-KPGARKFC.mjs → chunk-MS3GNXMB.mjs} +1 -1
  12. package/dist/{chunk-M32QNCD3.mjs → chunk-OSSS56CB.mjs} +1 -1
  13. package/dist/{chunk-36IN7YRM.mjs → chunk-SCGCGVDN.mjs} +1 -1
  14. package/dist/{chunk-KJQ3BVTB.mjs → chunk-X2NIDXFB.mjs} +1 -1
  15. package/dist/components/ui/ai-builder/index.js +993 -12
  16. package/dist/components/ui/ai-builder/index.mjs +27 -3
  17. package/dist/components/ui/ai-conversations/index.js +27 -31
  18. package/dist/components/ui/ai-conversations/index.mjs +1 -1
  19. package/dist/components/ui/backoffice-signup-steps.js +98 -48
  20. package/dist/components/ui/backoffice-signup-steps.mjs +4 -4
  21. package/dist/components/ui/bank-statement-generate-dialog.mjs +2 -2
  22. package/dist/components/ui/chat-widget.js +1 -1
  23. package/dist/components/ui/chat-widget.mjs +2 -2
  24. package/dist/components/ui/contact-alert-dialog/index.mjs +2 -2
  25. package/dist/components/ui/field.js +1 -1
  26. package/dist/components/ui/field.mjs +1 -1
  27. package/dist/components/ui/frontend-signup-steps.js +166 -90
  28. package/dist/components/ui/frontend-signup-steps.mjs +4 -5
  29. package/dist/components/ui/password-strength-tooltip.js +81 -107
  30. package/dist/components/ui/password-strength-tooltip.mjs +3 -2
  31. package/dist/components/ui/property-report-dialog.mjs +2 -2
  32. package/dist/components/ui/signup-form-primitives.js +117 -114
  33. package/dist/components/ui/signup-form-primitives.mjs +3 -4
  34. package/dist/components/ui/two-fa-setup-form.js +31 -16
  35. package/dist/components/ui/two-fa-setup-form.mjs +2 -2
  36. package/dist/index.js +5061 -4992
  37. package/dist/index.mjs +12 -12
  38. package/dist/styles.css +1 -1
  39. package/package.json +4 -1
  40. package/src/components/index.tsx +0 -2
  41. package/src/components/ui/ai-builder/agent-card.tsx +7 -5
  42. package/src/components/ui/ai-builder/agent-settings.tsx +709 -0
  43. package/src/components/ui/ai-builder/index.tsx +27 -2
  44. package/src/components/ui/ai-builder/service-config-modal.tsx +11 -11
  45. package/src/components/ui/ai-builder/types.ts +27 -15
  46. package/src/components/ui/ai-conversations/thread.tsx +9 -11
  47. package/src/components/ui/field.tsx +12 -12
  48. package/src/components/ui/password-strength-tooltip.tsx +89 -47
  49. package/src/components/ui/signup-form-primitives.tsx +34 -16
  50. package/src/components/ui/two-fa-setup-form.tsx +41 -31
  51. package/src/styles/styles-css.ts +1 -1
  52. package/dist/chunk-T5PGVLMR.mjs +0 -479
  53. package/dist/chunk-WHIW6KOB.mjs +0 -57
@@ -1,16 +1,32 @@
1
1
  import {
2
+ AddEditRuleModal,
2
3
  AgentCard,
4
+ AgentConfigForm,
3
5
  AgentMenuModal,
4
6
  IntegrationInstructionCard,
5
7
  IntegrationServiceCard,
6
- ServiceConfigurationModal
7
- } from "../../../chunk-T5PGVLMR.mjs";
8
+ ResponseTemplateEditModal,
9
+ RuleOrderBadge,
10
+ RuleSetSection,
11
+ SectionHeader,
12
+ ServiceConfigurationModal,
13
+ SettingCard,
14
+ SettingRow
15
+ } from "../../../chunk-BZWQU52U.mjs";
16
+ import "../../../chunk-3S6KVFF5.mjs";
8
17
  import "../../../chunk-3VDET466.mjs";
9
18
  import "../../../chunk-PNSYFE3K.mjs";
19
+ import "../../../chunk-WE4YKBDE.mjs";
20
+ import "../../../chunk-GT3RU6GA.mjs";
10
21
  import "../../../chunk-IKXYTCSB.mjs";
22
+ import "../../../chunk-K6VCC2MK.mjs";
11
23
  import "../../../chunk-T5FRVEJQ.mjs";
12
24
  import "../../../chunk-H6NQTIF4.mjs";
25
+ import "../../../chunk-2GIYVERS.mjs";
26
+ import "../../../chunk-BS75ICOO.mjs";
13
27
  import "../../../chunk-X6RC5UWB.mjs";
28
+ import "../../../chunk-LSRGA5BI.mjs";
29
+ import "../../../chunk-LBTHZSBT.mjs";
14
30
  import "../../../chunk-XYSRRDBH.mjs";
15
31
  import "../../../chunk-FRCTOAKZ.mjs";
16
32
  import "../../../chunk-NOOEKOWY.mjs";
@@ -18,9 +34,17 @@ import "../../../chunk-R4HCRDU5.mjs";
18
34
  import "../../../chunk-AFML43VJ.mjs";
19
35
  import "../../../chunk-WNQUEZJF.mjs";
20
36
  export {
37
+ AddEditRuleModal,
21
38
  AgentCard,
39
+ AgentConfigForm,
22
40
  AgentMenuModal,
23
41
  IntegrationInstructionCard,
24
42
  IntegrationServiceCard,
25
- ServiceConfigurationModal
43
+ ResponseTemplateEditModal,
44
+ RuleOrderBadge,
45
+ RuleSetSection,
46
+ SectionHeader,
47
+ ServiceConfigurationModal,
48
+ SettingCard,
49
+ SettingRow
26
50
  };
@@ -1408,6 +1408,7 @@ function ChatComposer({
1408
1408
  emailReplySubject,
1409
1409
  className
1410
1410
  }) {
1411
+ const initialChannelRef = import_react3.default.useRef(channelProp);
1411
1412
  const [channel, setChannel] = import_react3.default.useState(
1412
1413
  isEmailIntegrated ? channelProp : "chat"
1413
1414
  );
@@ -1605,35 +1606,29 @@ function ChatComposer({
1605
1606
  /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(ComposerLinkPopover, { editor }),
1606
1607
  /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(ComposerToolbarButton, { label: "Attach file", icon: import_lucide_react5.Paperclip })
1607
1608
  ] }),
1608
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "flex items-center gap-2", children: [
1609
- onLetAiHandle && /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(Button, { variant: "outline", size: "sm", onClick: onLetAiHandle, children: [
1610
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_lucide_react5.Bot, { className: "mr-1.5 size-3.5" }),
1611
- "Let AI Handle"
1612
- ] }),
1613
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
1614
- Button,
1615
- {
1616
- size: "sm",
1617
- onClick: () => {
1618
- var _a;
1619
- const html = (_a = editor == null ? void 0 : editor.getHTML()) != null ? _a : "";
1620
- onSendEmail == null ? void 0 : onSendEmail({
1621
- content: html,
1622
- to: emailTo,
1623
- cc: emailCc,
1624
- subject: emailSubject,
1625
- isReply: emailMode === "reply"
1626
- });
1627
- editor == null ? void 0 : editor.commands.clearContent();
1628
- },
1629
- disabled: !editor || editor.isEmpty || !emailTo.trim(),
1630
- children: [
1631
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_lucide_react5.Send, { className: "mr-1.5 size-3.5" }),
1632
- "Send Email"
1633
- ]
1634
- }
1635
- )
1636
- ] })
1609
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: "flex items-center gap-2", children: /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
1610
+ Button,
1611
+ {
1612
+ size: "sm",
1613
+ onClick: () => {
1614
+ var _a;
1615
+ const html = (_a = editor == null ? void 0 : editor.getHTML()) != null ? _a : "";
1616
+ onSendEmail == null ? void 0 : onSendEmail({
1617
+ content: html,
1618
+ to: emailTo,
1619
+ cc: emailCc,
1620
+ subject: emailSubject,
1621
+ isReply: emailMode === "reply"
1622
+ });
1623
+ editor == null ? void 0 : editor.commands.clearContent();
1624
+ },
1625
+ disabled: !editor || editor.isEmpty || !emailTo.trim(),
1626
+ children: [
1627
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_lucide_react5.Send, { className: "mr-1.5 size-3.5" }),
1628
+ "Send Email"
1629
+ ]
1630
+ }
1631
+ ) })
1637
1632
  ] })
1638
1633
  ]
1639
1634
  }
@@ -1649,7 +1644,7 @@ function ChatComposer({
1649
1644
  }
1650
1645
  ),
1651
1646
  /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "flex items-center justify-between", children: [
1652
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(Button, { variant: "outline", size: "sm", onClick: onLetAiHandle, children: [
1647
+ initialChannelRef.current !== "email" && /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(Button, { variant: "outline", size: "sm", onClick: onLetAiHandle, children: [
1653
1648
  /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_lucide_react5.Bot, { className: "mr-1.5 size-3.5" }),
1654
1649
  "Let AI Handle"
1655
1650
  ] }),
@@ -1657,6 +1652,7 @@ function ChatComposer({
1657
1652
  Button,
1658
1653
  {
1659
1654
  size: "sm",
1655
+ className: "ml-auto",
1660
1656
  onClick: () => onSend == null ? void 0 : onSend(inputValue),
1661
1657
  disabled: !inputValue.trim(),
1662
1658
  children: [
@@ -1773,7 +1769,7 @@ function ChatThread({
1773
1769
  /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "hidden items-center gap-2 md:flex", children: [
1774
1770
  isClosed && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Button, { variant: "outline", size: "sm", onClick: onReopen, children: "Reopen" }),
1775
1771
  !isClosed && aiIsHandling && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Button, { size: "sm", onClick: onTakeOver, children: "Take Over" }),
1776
- !isClosed && !aiIsHandling && /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(Button, { variant: "outline", size: "sm", onClick: onLetAiHandle, children: [
1772
+ !isClosed && !aiIsHandling && channel !== "email" && /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(Button, { variant: "outline", size: "sm", onClick: onLetAiHandle, children: [
1777
1773
  /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_lucide_react5.Bot, { className: "mr-1.5 size-3.5" }),
1778
1774
  "Let AI Handle"
1779
1775
  ] })
@@ -9,7 +9,7 @@ import {
9
9
  ConversationStatusChip,
10
10
  ConversationsPage,
11
11
  LeadInfoPanel
12
- } from "../../../chunk-CE2WONIY.mjs";
12
+ } from "../../../chunk-AE4JKISB.mjs";
13
13
  import "../../../chunk-3S6KVFF5.mjs";
14
14
  import "../../../chunk-WE4YKBDE.mjs";
15
15
  import "../../../chunk-T5FRVEJQ.mjs";
@@ -735,7 +735,7 @@ function FieldError(_a) {
735
735
  return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
736
736
  "div",
737
737
  __spreadProps(__spreadValues({
738
- className: cn("text-caption text-destructive", className),
738
+ className: cn("text-left text-caption text-destructive", className),
739
739
  "data-slot": "field-error",
740
740
  role: "alert"
741
741
  }, props), {
@@ -1047,9 +1047,11 @@ var import_react5 = require("react");
1047
1047
  var import_lucide_react6 = require("lucide-react");
1048
1048
 
1049
1049
  // src/components/ui/password-strength-tooltip.tsx
1050
+ var React5 = __toESM(require("react"));
1050
1051
  var import_lucide_react5 = require("lucide-react");
1052
+ var import_popover3 = require("@base-ui/react/popover");
1051
1053
  var import_jsx_runtime13 = require("react/jsx-runtime");
1052
- var RULES = [
1054
+ var PASSWORD_STRENGTH_RULES = [
1053
1055
  { label: "Minimum 8 characters", test: (p) => p.length >= 8 },
1054
1056
  { label: "At least one uppercase letter", test: (p) => /[A-Z]/.test(p) },
1055
1057
  { label: "At least one lowercase letter", test: (p) => /[a-z]/.test(p) },
@@ -1059,40 +1061,73 @@ var RULES = [
1059
1061
  test: (p) => /[^A-Za-z0-9]/.test(p)
1060
1062
  }
1061
1063
  ];
1062
- function PasswordStrengthTooltip({
1063
- open = false,
1064
- password,
1065
- children,
1066
- side = "right"
1067
- }) {
1068
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(Popover, { open, children: [
1069
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { children }) }),
1070
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
1071
- PopoverContent,
1072
- {
1073
- side,
1074
- align: "start",
1075
- sideOffset: 8,
1076
- onOpenAutoFocus: (e) => e.preventDefault(),
1077
- className: "w-auto max-w-[280px] font-sans",
1078
- children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: "flex flex-col gap-1.5", children: RULES.map((rule) => {
1079
- const valid = password ? rule.test(password) : false;
1080
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
1081
- "div",
1082
- {
1083
- className: `flex items-center gap-1.5 text-[13px] leading-[18px] ${valid ? "text-success" : "text-destructive"}`,
1084
- children: [
1085
- valid ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_lucide_react5.Check, { size: 14, className: "shrink-0" }) : /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_lucide_react5.X, { size: 14, className: "shrink-0" }),
1086
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("span", { children: rule.label })
1087
- ]
1088
- },
1089
- rule.label
1090
- );
1091
- }) })
1064
+ var PasswordStrengthTooltip = React5.forwardRef(function PasswordStrengthTooltip2({ open = false, password, children, side = "right" }, forwardedRef) {
1065
+ const themeVars = useThemeVars();
1066
+ const anchorRef = React5.useRef(null);
1067
+ const composedRef = React5.useCallback(
1068
+ (node) => {
1069
+ anchorRef.current = node;
1070
+ if (typeof forwardedRef === "function") {
1071
+ forwardedRef(node);
1072
+ } else if (forwardedRef) {
1073
+ forwardedRef.current = node;
1092
1074
  }
1093
- )
1094
- ] });
1095
- }
1075
+ },
1076
+ // eslint-disable-next-line react-hooks/exhaustive-deps
1077
+ [forwardedRef]
1078
+ );
1079
+ return (
1080
+ // PopoverPrimitive.Root with no Trigger — popup is fully controlled via `open` prop.
1081
+ // The wrapper div has no trigger behaviors injected, so clicking the input inside
1082
+ // works on the first click without interference.
1083
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_popover3.Popover.Root, { open, children: [
1084
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { ref: composedRef, children }),
1085
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_popover3.Popover.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
1086
+ import_popover3.Popover.Positioner,
1087
+ {
1088
+ anchor: anchorRef,
1089
+ side,
1090
+ align: "start",
1091
+ sideOffset: 8,
1092
+ className: "z-[200]",
1093
+ children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
1094
+ import_popover3.Popover.Popup,
1095
+ {
1096
+ initialFocus: false,
1097
+ finalFocus: false,
1098
+ className: cn(
1099
+ "border border-border bg-popover shadow-md outline-hidden",
1100
+ "w-auto max-w-[280px] p-3 font-sans",
1101
+ "data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2",
1102
+ "data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
1103
+ "data-ending-style:animate-out data-ending-style:fade-out-0 data-ending-style:zoom-out-95 data-ending-style:fill-mode-forwards",
1104
+ "data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95"
1105
+ ),
1106
+ style: themeVars,
1107
+ children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: "flex flex-col gap-1.5", children: PASSWORD_STRENGTH_RULES.map((rule) => {
1108
+ const valid = password ? rule.test(password) : false;
1109
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
1110
+ "div",
1111
+ {
1112
+ className: cn(
1113
+ "flex items-center gap-1.5 text-[13px] leading-[18px]",
1114
+ valid ? "text-success" : "text-destructive"
1115
+ ),
1116
+ children: [
1117
+ valid ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_lucide_react5.Check, { size: 14, className: "shrink-0" }) : /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_lucide_react5.X, { size: 14, className: "shrink-0" }),
1118
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("span", { children: rule.label })
1119
+ ]
1120
+ },
1121
+ rule.label
1122
+ );
1123
+ }) })
1124
+ }
1125
+ )
1126
+ }
1127
+ ) })
1128
+ ] })
1129
+ );
1130
+ });
1096
1131
 
1097
1132
  // src/components/ui/signup-form-primitives.tsx
1098
1133
  var import_jsx_runtime14 = require("react/jsx-runtime");
@@ -1108,13 +1143,6 @@ function FormField({ label, required, children }) {
1108
1143
  children
1109
1144
  ] });
1110
1145
  }
1111
- var STRENGTH_RULES = [
1112
- { test: (p) => p.length >= 8 },
1113
- { test: (p) => /[A-Z]/.test(p) },
1114
- { test: (p) => /[a-z]/.test(p) },
1115
- { test: (p) => /\d/.test(p) },
1116
- { test: (p) => /[^A-Za-z0-9]/.test(p) }
1117
- ];
1118
1146
  function PasswordField({
1119
1147
  label,
1120
1148
  placeholder,
@@ -1126,13 +1154,26 @@ function PasswordField({
1126
1154
  const [error, setError] = (0, import_react5.useState)("");
1127
1155
  const [touched, setTouched] = (0, import_react5.useState)(false);
1128
1156
  const [value, setValue] = (0, import_react5.useState)("");
1129
- const [typingStarted, setTypingStarted] = (0, import_react5.useState)(false);
1130
- const allRulesPass = STRENGTH_RULES.every((r) => r.test(value));
1131
- const isPopoverOpen = !!showStrengthPopover && typingStarted && !allRulesPass;
1157
+ const [dismissed, setDismissed] = (0, import_react5.useState)(false);
1158
+ const wrapperRef = (0, import_react5.useRef)(null);
1159
+ const allRulesPass = PASSWORD_STRENGTH_RULES.every((r) => r.test(value));
1160
+ const isPopoverOpen = !!showStrengthPopover && !dismissed && value.length > 0 && !allRulesPass;
1132
1161
  const validate = (v) => {
1133
- if (v.length > 0 && v.length < 8) return "Min. 8 characters required";
1162
+ if (!v) return "";
1163
+ if (v.length < 8) return "Min. 8 characters required";
1164
+ if (!PASSWORD_STRENGTH_RULES.every((r) => r.test(v)))
1165
+ return "Password doesn't meet all requirements";
1134
1166
  return "";
1135
1167
  };
1168
+ (0, import_react5.useEffect)(() => {
1169
+ if (!isPopoverOpen) return;
1170
+ const onMouseDown = (e) => {
1171
+ var _a;
1172
+ if (!((_a = wrapperRef.current) == null ? void 0 : _a.contains(e.target))) setDismissed(true);
1173
+ };
1174
+ document.addEventListener("mousedown", onMouseDown, true);
1175
+ return () => document.removeEventListener("mousedown", onMouseDown, true);
1176
+ }, [isPopoverOpen]);
1136
1177
  const inputEl = /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: "relative", children: [
1137
1178
  /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
1138
1179
  Input,
@@ -1145,8 +1186,16 @@ function PasswordField({
1145
1186
  const v = e.target.value;
1146
1187
  setValue(v);
1147
1188
  onValueChange == null ? void 0 : onValueChange(v);
1148
- if (!typingStarted && v.length > 0) setTypingStarted(true);
1149
1189
  if (touched) setError(validate(v));
1190
+ setDismissed(false);
1191
+ },
1192
+ onFocus: () => setDismissed(false),
1193
+ onKeyDown: (e) => {
1194
+ if (e.key === "Tab") {
1195
+ setTouched(true);
1196
+ setError(validate(value));
1197
+ setDismissed(true);
1198
+ }
1150
1199
  },
1151
1200
  onBlur: () => {
1152
1201
  setTouched(true);
@@ -1173,13 +1222,14 @@ function PasswordField({
1173
1222
  showStrengthPopover ? /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
1174
1223
  PasswordStrengthTooltip,
1175
1224
  {
1225
+ ref: wrapperRef,
1176
1226
  open: isPopoverOpen,
1177
1227
  password: value,
1178
1228
  side: "right",
1179
1229
  children: inputEl
1180
1230
  }
1181
1231
  ) : inputEl,
1182
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: "min-h-5", children: touched && error && /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(FieldError, { children: error }) })
1232
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: "min-h-5", children: touched && error && !isPopoverOpen && /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(FieldError, { children: error }) })
1183
1233
  ] });
1184
1234
  }
1185
1235
  var DEFAULT_ROLE_OPTIONS = ["Admin", "Broker", "Support"];
@@ -6,12 +6,12 @@ import {
6
6
  PaymentView,
7
7
  PersonalDetailsStep,
8
8
  StripeView
9
- } from "../../chunk-SO4RB3XB.mjs";
10
- import "../../chunk-DWJHPNFL.mjs";
11
- import "../../chunk-WHIW6KOB.mjs";
9
+ } from "../../chunk-IEQX4UVP.mjs";
10
+ import "../../chunk-4UT3RZ2D.mjs";
11
+ import "../../chunk-IKVF4XE2.mjs";
12
12
  import "../../chunk-I4KVSZCH.mjs";
13
13
  import "../../chunk-IW33VLL5.mjs";
14
- import "../../chunk-KPGARKFC.mjs";
14
+ import "../../chunk-MS3GNXMB.mjs";
15
15
  import "../../chunk-3S6KVFF5.mjs";
16
16
  import "../../chunk-IKXYTCSB.mjs";
17
17
  import "../../chunk-K6VCC2MK.mjs";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  BankStatementGenerateDialog
3
- } from "../../chunk-EVUY67CY.mjs";
4
- import "../../chunk-KPGARKFC.mjs";
3
+ } from "../../chunk-FTQ2AKZ2.mjs";
4
+ import "../../chunk-MS3GNXMB.mjs";
5
5
  import "../../chunk-6WRDXE7A.mjs";
6
6
  import "../../chunk-GT3RU6GA.mjs";
7
7
  import "../../chunk-IKXYTCSB.mjs";
@@ -387,7 +387,7 @@ function FieldError(_a) {
387
387
  return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
388
388
  "div",
389
389
  __spreadProps(__spreadValues({
390
- className: cn("text-caption text-destructive", className),
390
+ className: cn("text-left text-caption text-destructive", className),
391
391
  "data-slot": "field-error",
392
392
  role: "alert"
393
393
  }, props), {
@@ -6,9 +6,9 @@ import {
6
6
  ChatWidgetTopicGrid,
7
7
  ChatWidgetWindow,
8
8
  DEFAULT_CHAT_WIDGET_TOPICS
9
- } from "../../chunk-KJQ3BVTB.mjs";
9
+ } from "../../chunk-X2NIDXFB.mjs";
10
10
  import "../../chunk-FQYFPHDO.mjs";
11
- import "../../chunk-KPGARKFC.mjs";
11
+ import "../../chunk-MS3GNXMB.mjs";
12
12
  import "../../chunk-H6NQTIF4.mjs";
13
13
  import "../../chunk-2GIYVERS.mjs";
14
14
  import "../../chunk-X6RC5UWB.mjs";
@@ -4,9 +4,9 @@ import {
4
4
  ContactAlertDialog,
5
5
  ContactAlertQueryBuilder,
6
6
  createAlertTree
7
- } from "../../../chunk-36IN7YRM.mjs";
7
+ } from "../../../chunk-SCGCGVDN.mjs";
8
8
  import "../../../chunk-7YI3HEBH.mjs";
9
- import "../../../chunk-KPGARKFC.mjs";
9
+ import "../../../chunk-MS3GNXMB.mjs";
10
10
  import "../../../chunk-IKXYTCSB.mjs";
11
11
  import "../../../chunk-K6VCC2MK.mjs";
12
12
  import "../../../chunk-T5FRVEJQ.mjs";
@@ -381,7 +381,7 @@ function FieldError(_a) {
381
381
  return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
382
382
  "div",
383
383
  __spreadProps(__spreadValues({
384
- className: cn("text-caption text-destructive", className),
384
+ className: cn("text-left text-caption text-destructive", className),
385
385
  "data-slot": "field-error",
386
386
  role: "alert"
387
387
  }, props), {
@@ -9,7 +9,7 @@ import {
9
9
  FieldSeparator,
10
10
  FieldSet,
11
11
  FieldTitle
12
- } from "../../chunk-KPGARKFC.mjs";
12
+ } from "../../chunk-MS3GNXMB.mjs";
13
13
  import "../../chunk-2GIYVERS.mjs";
14
14
  import "../../chunk-LSRGA5BI.mjs";
15
15
  import "../../chunk-AFML43VJ.mjs";