@assure-one/design-system 1.10.0 → 1.12.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/index.d.ts +449 -5
- package/dist/index.js +1069 -49
- package/dist/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -4921,6 +4921,46 @@ var DismissibleChip = React38.forwardRef(function DismissibleChip2({ label, onDi
|
|
|
4921
4921
|
}
|
|
4922
4922
|
);
|
|
4923
4923
|
});
|
|
4924
|
+
var sourceMap = {
|
|
4925
|
+
requested: {
|
|
4926
|
+
label: "Requested",
|
|
4927
|
+
Icon: SendIcon,
|
|
4928
|
+
className: "border-transparent bg-pro-bg text-pro-fg"
|
|
4929
|
+
},
|
|
4930
|
+
direct: {
|
|
4931
|
+
label: "Direct upload",
|
|
4932
|
+
Icon: UploadIcon,
|
|
4933
|
+
className: "border-rule-strong text-fg-2"
|
|
4934
|
+
},
|
|
4935
|
+
internal: {
|
|
4936
|
+
label: "Internal",
|
|
4937
|
+
Icon: ShieldIcon,
|
|
4938
|
+
className: "border-transparent bg-surface-2 text-fg-3"
|
|
4939
|
+
}
|
|
4940
|
+
};
|
|
4941
|
+
var DocumentSourceTag = forwardRef(
|
|
4942
|
+
function DocumentSourceTag2({ source, icon, hideIcon, children, className, ...props }, ref) {
|
|
4943
|
+
const { label, Icon: Icon3, className: toneClass2 } = sourceMap[source];
|
|
4944
|
+
return /* @__PURE__ */ jsxs(
|
|
4945
|
+
"span",
|
|
4946
|
+
{
|
|
4947
|
+
ref,
|
|
4948
|
+
className: cn(
|
|
4949
|
+
"inline-flex items-center gap-1 rounded-md border py-0.5 pr-[7px] pl-1.5",
|
|
4950
|
+
"text-[11px] leading-none font-semibold",
|
|
4951
|
+
toneClass2,
|
|
4952
|
+
className
|
|
4953
|
+
),
|
|
4954
|
+
...props,
|
|
4955
|
+
children: [
|
|
4956
|
+
!hideIcon && (icon ?? /* @__PURE__ */ jsx(Icon3, { size: 11, className: "shrink-0 opacity-90", "aria-hidden": "true" })),
|
|
4957
|
+
children ?? label
|
|
4958
|
+
]
|
|
4959
|
+
}
|
|
4960
|
+
);
|
|
4961
|
+
}
|
|
4962
|
+
);
|
|
4963
|
+
DocumentSourceTag.displayName = "DocumentSourceTag";
|
|
4924
4964
|
var DocumentsWorkspaceLayout = forwardRef(function DocumentsWorkspaceLayout2({ clientsRail, folderTree, filesArea, className, ...props }, ref) {
|
|
4925
4965
|
return /* @__PURE__ */ jsxs(
|
|
4926
4966
|
"div",
|
|
@@ -8798,7 +8838,10 @@ var statusMap = {
|
|
|
8798
8838
|
draft: { variant: "secondary", label: "Draft" },
|
|
8799
8839
|
pending: { variant: "secondary", label: "Pending" },
|
|
8800
8840
|
overdue: { variant: "destructive", label: "Overdue" },
|
|
8801
|
-
declined: { variant: "destructive", label: "Declined" }
|
|
8841
|
+
declined: { variant: "destructive", label: "Declined" },
|
|
8842
|
+
// Document visibility: firm-only (internal) vs shared with the client portal.
|
|
8843
|
+
internal: { variant: "secondary", label: "Internal" },
|
|
8844
|
+
shared: { variant: "info", label: "Shared" }
|
|
8802
8845
|
};
|
|
8803
8846
|
var StatusPill = forwardRef(function StatusPill2({ status, dot = true, children, ...props }, ref) {
|
|
8804
8847
|
const { variant, label } = statusMap[status];
|
|
@@ -9767,6 +9810,907 @@ function IntentBadge({ tone = "muted", icon, children, className, ...props }) {
|
|
|
9767
9810
|
);
|
|
9768
9811
|
}
|
|
9769
9812
|
IntentBadge.displayName = "IntentBadge";
|
|
9813
|
+
var ICON_BTN = cn(
|
|
9814
|
+
"inline-flex size-9 shrink-0 items-center justify-center rounded-[9px]",
|
|
9815
|
+
"border-rule-strong bg-surface text-fg-3 border",
|
|
9816
|
+
"transition-colors duration-[var(--duration-fast)] ease-[var(--ease-out-quart)] motion-reduce:transition-none",
|
|
9817
|
+
"hover:bg-bg-2 hover:text-fg",
|
|
9818
|
+
"focus-visible:[box-shadow:var(--shadow-focus-ring)] focus-visible:outline-none"
|
|
9819
|
+
);
|
|
9820
|
+
var AgreementViewer = forwardRef(
|
|
9821
|
+
function AgreementViewer2({
|
|
9822
|
+
title,
|
|
9823
|
+
overline = "Signed agreement",
|
|
9824
|
+
steps,
|
|
9825
|
+
firm,
|
|
9826
|
+
status = "signed",
|
|
9827
|
+
banner,
|
|
9828
|
+
accent,
|
|
9829
|
+
coverRail = true,
|
|
9830
|
+
step,
|
|
9831
|
+
defaultStep = 0,
|
|
9832
|
+
onStepChange,
|
|
9833
|
+
onDownload,
|
|
9834
|
+
onClose,
|
|
9835
|
+
headerActions,
|
|
9836
|
+
className
|
|
9837
|
+
}, ref) {
|
|
9838
|
+
const [internalStep, setInternalStep] = useState(defaultStep);
|
|
9839
|
+
const current = step ?? internalStep;
|
|
9840
|
+
const isControlled = step !== void 0;
|
|
9841
|
+
const lastIndex = steps.length - 1;
|
|
9842
|
+
const goTo = (n) => {
|
|
9843
|
+
if (n < 0 || n > lastIndex || n === current) return;
|
|
9844
|
+
if (!isControlled) setInternalStep(n);
|
|
9845
|
+
onStepChange?.(n);
|
|
9846
|
+
};
|
|
9847
|
+
const isCover = current === 0;
|
|
9848
|
+
const monogram = firm.initials ?? firm.name.charAt(0);
|
|
9849
|
+
const bannerContent = banner === void 0 ? status === "signed" ? "Showing the services your client accepted, at the prices locked in at signing." : "Review each section at your pace, then sign whenever you're ready." : banner;
|
|
9850
|
+
return /* @__PURE__ */ jsxs(
|
|
9851
|
+
"div",
|
|
9852
|
+
{
|
|
9853
|
+
ref,
|
|
9854
|
+
"data-slot": "agreement-viewer",
|
|
9855
|
+
"data-status": status,
|
|
9856
|
+
"data-view": isCover ? "cover" : "inner",
|
|
9857
|
+
style: accent ? { "--av-accent": accent } : void 0,
|
|
9858
|
+
className: cn(
|
|
9859
|
+
// Fills its container's height so the content pane scrolls internally
|
|
9860
|
+
// while the header, rail, and footer stay fixed — give the parent a
|
|
9861
|
+
// height (e.g. h-screen / a fixed card height). Falls back to a 600px
|
|
9862
|
+
// floor so it never collapses when dropped in an unsized container.
|
|
9863
|
+
// Responsive via CONTAINER queries (@container/agreement), not viewport:
|
|
9864
|
+
// the side rails + generous padding only appear when the viewer's own
|
|
9865
|
+
// container is wide (≥64rem). In a phone frame or a narrow panel it
|
|
9866
|
+
// collapses to the single-column compact layout regardless of the
|
|
9867
|
+
// browser viewport.
|
|
9868
|
+
"group/agreement @container/agreement bg-bg text-fg flex h-full min-h-[600px] flex-col font-sans",
|
|
9869
|
+
className
|
|
9870
|
+
),
|
|
9871
|
+
children: [
|
|
9872
|
+
/* @__PURE__ */ jsxs("header", { className: "flex items-center gap-2.5 px-4 pt-4 pb-3 @5xl/agreement:gap-3.5 @5xl/agreement:px-7", children: [
|
|
9873
|
+
/* @__PURE__ */ jsx(
|
|
9874
|
+
"span",
|
|
9875
|
+
{
|
|
9876
|
+
"aria-hidden": "true",
|
|
9877
|
+
className: "rounded-icon flex size-9 shrink-0 items-center justify-center bg-[var(--av-accent-tint)] text-[var(--av-accent)]",
|
|
9878
|
+
children: /* @__PURE__ */ jsx(EyeIcon, { className: "size-4.5" })
|
|
9879
|
+
}
|
|
9880
|
+
),
|
|
9881
|
+
/* @__PURE__ */ jsxs("div", { className: "flex min-w-0 flex-col", children: [
|
|
9882
|
+
/* @__PURE__ */ jsx("span", { className: "text-fg-3 text-[11.5px] leading-tight font-semibold", children: overline }),
|
|
9883
|
+
/* @__PURE__ */ jsx("span", { className: "font-display text-fg truncate text-[17px] leading-tight font-semibold tracking-tight", children: title })
|
|
9884
|
+
] }),
|
|
9885
|
+
/* @__PURE__ */ jsxs("div", { className: "ml-auto flex items-center gap-2", children: [
|
|
9886
|
+
!isCover && /* @__PURE__ */ jsxs("span", { className: "border-rule bg-bg-2 text-fg-2 shrink-0 rounded-md border px-2.5 py-1 text-xs font-semibold whitespace-nowrap", children: [
|
|
9887
|
+
"Step ",
|
|
9888
|
+
current + 1,
|
|
9889
|
+
" of ",
|
|
9890
|
+
steps.length
|
|
9891
|
+
] }),
|
|
9892
|
+
headerActions,
|
|
9893
|
+
onDownload && /* @__PURE__ */ jsxs(
|
|
9894
|
+
"button",
|
|
9895
|
+
{
|
|
9896
|
+
type: "button",
|
|
9897
|
+
onClick: onDownload,
|
|
9898
|
+
"aria-label": "Download PDF",
|
|
9899
|
+
className: cn(
|
|
9900
|
+
"inline-flex h-9 shrink-0 items-center gap-1.5 rounded-[9px] px-2.5 text-[13px] font-medium whitespace-nowrap @5xl/agreement:px-3.5",
|
|
9901
|
+
"border-rule-strong bg-surface text-fg border",
|
|
9902
|
+
"transition-colors duration-[var(--duration-fast)] ease-[var(--ease-out-quart)] motion-reduce:transition-none",
|
|
9903
|
+
"hover:bg-bg-2",
|
|
9904
|
+
"focus-visible:[box-shadow:var(--shadow-focus-ring)] focus-visible:outline-none"
|
|
9905
|
+
),
|
|
9906
|
+
children: [
|
|
9907
|
+
/* @__PURE__ */ jsx(DownloadIcon, { className: "size-4", "aria-hidden": "true" }),
|
|
9908
|
+
/* @__PURE__ */ jsx("span", { className: "hidden @5xl/agreement:inline", children: "Download PDF" })
|
|
9909
|
+
]
|
|
9910
|
+
}
|
|
9911
|
+
),
|
|
9912
|
+
onClose && /* @__PURE__ */ jsx("button", { type: "button", onClick: onClose, "aria-label": "Close", className: ICON_BTN, children: /* @__PURE__ */ jsx(XIcon, { className: "size-4", "aria-hidden": "true" }) })
|
|
9913
|
+
] })
|
|
9914
|
+
] }),
|
|
9915
|
+
bannerContent != null && /* @__PURE__ */ jsxs(
|
|
9916
|
+
"div",
|
|
9917
|
+
{
|
|
9918
|
+
className: cn(
|
|
9919
|
+
"mx-4 flex items-center gap-2.5 rounded-[11px] border px-4 py-2.5 text-[13.5px] font-medium @5xl/agreement:mx-7",
|
|
9920
|
+
status === "signed" ? "border-success-line bg-success-bg text-success-fg" : "border-[var(--av-accent-tint2)] bg-[var(--av-accent-tint)] text-[var(--av-accent-soft)]"
|
|
9921
|
+
),
|
|
9922
|
+
children: [
|
|
9923
|
+
/* @__PURE__ */ jsx(CheckIcon, { className: "size-4 shrink-0", "aria-hidden": "true" }),
|
|
9924
|
+
/* @__PURE__ */ jsx("span", { children: bannerContent })
|
|
9925
|
+
]
|
|
9926
|
+
}
|
|
9927
|
+
),
|
|
9928
|
+
/* @__PURE__ */ jsxs("div", { className: "flex min-h-0 flex-1 flex-col px-4 pt-3 pb-5 @5xl/agreement:px-7 @5xl/agreement:pb-8", children: [
|
|
9929
|
+
/* @__PURE__ */ jsxs("div", { className: "border-rule bg-surface shadow-card flex min-h-0 flex-1 overflow-hidden rounded-[18px] border", children: [
|
|
9930
|
+
coverRail && /* @__PURE__ */ jsxs(
|
|
9931
|
+
"aside",
|
|
9932
|
+
{
|
|
9933
|
+
className: "hidden w-[340px] shrink-0 flex-col overflow-y-auto p-8 text-white @5xl/agreement:group-data-[view=cover]/agreement:flex",
|
|
9934
|
+
style: {
|
|
9935
|
+
backgroundImage: "linear-gradient(166deg, var(--av-accent-light) 0%, var(--av-accent) 50%, var(--av-accent-deep) 100%)"
|
|
9936
|
+
},
|
|
9937
|
+
children: [
|
|
9938
|
+
/* @__PURE__ */ jsx(
|
|
9939
|
+
"span",
|
|
9940
|
+
{
|
|
9941
|
+
"aria-hidden": "true",
|
|
9942
|
+
className: "rounded-card flex size-[54px] items-center justify-center bg-white text-[17px] font-semibold text-[var(--av-accent)] shadow-md",
|
|
9943
|
+
children: monogram
|
|
9944
|
+
}
|
|
9945
|
+
),
|
|
9946
|
+
/* @__PURE__ */ jsx("div", { className: "mt-4 text-[21px] leading-tight font-semibold", children: firm.name }),
|
|
9947
|
+
firm.tagline && /* @__PURE__ */ jsx("div", { className: "mt-1.5 text-[13px] leading-snug text-white/80", children: firm.tagline }),
|
|
9948
|
+
firm.contact && /* @__PURE__ */ jsxs("div", { className: "mt-auto pt-7", children: [
|
|
9949
|
+
/* @__PURE__ */ jsx("div", { className: "mb-4 h-px bg-white/20" }),
|
|
9950
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-3 text-[12.5px] text-white/90", children: [
|
|
9951
|
+
firm.contact.phone && /* @__PURE__ */ jsxs("span", { className: "flex items-center gap-2.5", children: [
|
|
9952
|
+
/* @__PURE__ */ jsx(PhoneIcon, { className: "size-4 shrink-0 opacity-85", "aria-hidden": "true" }),
|
|
9953
|
+
firm.contact.phone
|
|
9954
|
+
] }),
|
|
9955
|
+
firm.contact.email && /* @__PURE__ */ jsxs("span", { className: "flex items-center gap-2.5", children: [
|
|
9956
|
+
/* @__PURE__ */ jsx(MailIcon, { className: "size-4 shrink-0 opacity-85", "aria-hidden": "true" }),
|
|
9957
|
+
firm.contact.email
|
|
9958
|
+
] }),
|
|
9959
|
+
firm.contact.website && /* @__PURE__ */ jsxs("span", { className: "flex items-center gap-2.5", children: [
|
|
9960
|
+
/* @__PURE__ */ jsx(GlobeIcon, { className: "size-4 shrink-0 opacity-85", "aria-hidden": "true" }),
|
|
9961
|
+
firm.contact.website
|
|
9962
|
+
] })
|
|
9963
|
+
] })
|
|
9964
|
+
] })
|
|
9965
|
+
]
|
|
9966
|
+
}
|
|
9967
|
+
),
|
|
9968
|
+
/* @__PURE__ */ jsxs("aside", { className: "border-rule bg-surface-2 hidden w-[300px] shrink-0 flex-col overflow-y-auto border-r px-6 py-7 @5xl/agreement:group-data-[view=inner]/agreement:flex", children: [
|
|
9969
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3", children: [
|
|
9970
|
+
/* @__PURE__ */ jsx(
|
|
9971
|
+
"span",
|
|
9972
|
+
{
|
|
9973
|
+
"aria-hidden": "true",
|
|
9974
|
+
className: "rounded-icon flex size-10 shrink-0 items-center justify-center bg-[var(--av-accent)] text-[13px] font-bold text-[var(--av-accent-contrast)]",
|
|
9975
|
+
children: monogram
|
|
9976
|
+
}
|
|
9977
|
+
),
|
|
9978
|
+
/* @__PURE__ */ jsxs("div", { className: "min-w-0", children: [
|
|
9979
|
+
/* @__PURE__ */ jsx("div", { className: "text-fg truncate text-sm font-semibold", children: firm.name }),
|
|
9980
|
+
/* @__PURE__ */ jsx("div", { className: "text-fg-4 text-[11.5px]", children: firm.subtitle ?? "Your proposal" })
|
|
9981
|
+
] })
|
|
9982
|
+
] }),
|
|
9983
|
+
/* @__PURE__ */ jsx("div", { className: "text-fg-5 mt-6 text-[11.5px] font-semibold tracking-wide", children: "Sections" }),
|
|
9984
|
+
/* @__PURE__ */ jsx("nav", { "aria-label": "Agreement sections", className: "mt-3 flex flex-col gap-0.5", children: steps.map((s, i) => {
|
|
9985
|
+
const on = i === current;
|
|
9986
|
+
const done = status === "signed" ? i !== current && i !== 0 : i < current;
|
|
9987
|
+
return /* @__PURE__ */ jsxs(
|
|
9988
|
+
"button",
|
|
9989
|
+
{
|
|
9990
|
+
type: "button",
|
|
9991
|
+
onClick: () => goTo(i),
|
|
9992
|
+
"aria-current": on ? "step" : void 0,
|
|
9993
|
+
"data-on": on || void 0,
|
|
9994
|
+
"data-done": done || void 0,
|
|
9995
|
+
"data-first": i === 0 || void 0,
|
|
9996
|
+
className: cn(
|
|
9997
|
+
"group/step text-fg-3 relative z-[1] flex w-full items-center gap-3.5 rounded-[12px] py-2.5 pr-3.5 pl-2 text-left text-[13.5px] font-medium",
|
|
9998
|
+
"transition-colors duration-[var(--duration-normal)] ease-[var(--ease-out-quart)] motion-reduce:transition-none",
|
|
9999
|
+
"hover:bg-bg-2",
|
|
10000
|
+
"data-[on]:bg-[var(--av-accent-tint)] data-[on]:font-semibold data-[on]:text-[var(--av-accent-soft)]",
|
|
10001
|
+
"focus-visible:[box-shadow:var(--shadow-focus-ring)] focus-visible:outline-none"
|
|
10002
|
+
),
|
|
10003
|
+
children: [
|
|
10004
|
+
/* @__PURE__ */ jsx(
|
|
10005
|
+
"span",
|
|
10006
|
+
{
|
|
10007
|
+
"aria-hidden": "true",
|
|
10008
|
+
className: cn(
|
|
10009
|
+
"relative flex size-7 shrink-0 items-center justify-center rounded-full border-[1.5px] text-[12.5px] font-semibold",
|
|
10010
|
+
"border-[var(--av-accent-tint2)] bg-[var(--color-surface)] text-[var(--av-accent)]",
|
|
10011
|
+
"transition-colors duration-[var(--duration-normal)] ease-[var(--ease-out-quart)] motion-reduce:transition-none",
|
|
10012
|
+
// connector to the node above (skipped on the first step)
|
|
10013
|
+
"before:absolute before:bottom-full before:left-1/2 before:h-[18px] before:w-[2.5px] before:-translate-x-1/2 before:rounded-full before:bg-[var(--av-accent-tint2)] before:transition-colors before:content-['']",
|
|
10014
|
+
"group-data-[first]/step:before:hidden",
|
|
10015
|
+
"group-data-[done]/step:border-[var(--av-accent)] group-data-[done]/step:bg-[var(--av-accent)] group-data-[done]/step:text-[var(--av-accent-contrast)] group-data-[done]/step:before:bg-[var(--av-accent)]",
|
|
10016
|
+
"group-data-[on]/step:border-[var(--av-accent)] group-data-[on]/step:bg-[var(--av-accent)] group-data-[on]/step:text-[var(--av-accent-contrast)] group-data-[on]/step:before:bg-[var(--av-accent)]"
|
|
10017
|
+
),
|
|
10018
|
+
children: s.icon ?? (i === 0 ? /* @__PURE__ */ jsx(HomeIcon, { className: "size-3.5" }) : done ? /* @__PURE__ */ jsx(CheckIcon, { className: "size-3.5" }) : i)
|
|
10019
|
+
}
|
|
10020
|
+
),
|
|
10021
|
+
/* @__PURE__ */ jsx("span", { className: "truncate", children: s.label })
|
|
10022
|
+
]
|
|
10023
|
+
},
|
|
10024
|
+
s.id
|
|
10025
|
+
);
|
|
10026
|
+
}) })
|
|
10027
|
+
] }),
|
|
10028
|
+
/* @__PURE__ */ jsx("section", { className: "@container/pane scrollbar-thin flex min-w-0 flex-1 flex-col overflow-y-auto px-5 py-7 @5xl/agreement:px-[52px] @5xl/agreement:py-11", children: steps[current]?.content })
|
|
10029
|
+
] }),
|
|
10030
|
+
/* @__PURE__ */ jsxs("div", { className: "mt-4 flex items-center justify-between", children: [
|
|
10031
|
+
/* @__PURE__ */ jsxs(
|
|
10032
|
+
"button",
|
|
10033
|
+
{
|
|
10034
|
+
type: "button",
|
|
10035
|
+
onClick: () => goTo(current - 1),
|
|
10036
|
+
disabled: current === 0,
|
|
10037
|
+
className: cn(
|
|
10038
|
+
"inline-flex h-[42px] items-center gap-1.5 rounded-[11px] px-4 text-sm font-medium",
|
|
10039
|
+
"border-rule-strong bg-surface text-fg-2 border",
|
|
10040
|
+
"transition-colors duration-[var(--duration-fast)] ease-[var(--ease-out-quart)] motion-reduce:transition-none",
|
|
10041
|
+
"hover:bg-bg-2",
|
|
10042
|
+
"disabled:border-rule disabled:text-fg-disabled disabled:cursor-default disabled:bg-transparent",
|
|
10043
|
+
"focus-visible:[box-shadow:var(--shadow-focus-ring)] focus-visible:outline-none"
|
|
10044
|
+
),
|
|
10045
|
+
children: [
|
|
10046
|
+
/* @__PURE__ */ jsx(ChevronLeftIcon, { className: "size-4", "aria-hidden": "true" }),
|
|
10047
|
+
"Previous"
|
|
10048
|
+
]
|
|
10049
|
+
}
|
|
10050
|
+
),
|
|
10051
|
+
/* @__PURE__ */ jsx("div", { className: "flex items-center gap-1.5", children: steps.map((s, i) => /* @__PURE__ */ jsx(
|
|
10052
|
+
"button",
|
|
10053
|
+
{
|
|
10054
|
+
type: "button",
|
|
10055
|
+
onClick: () => goTo(i),
|
|
10056
|
+
"aria-label": `Go to ${s.label}`,
|
|
10057
|
+
"aria-current": i === current ? "step" : void 0,
|
|
10058
|
+
className: cn(
|
|
10059
|
+
"bg-rule-strong h-2 rounded-full",
|
|
10060
|
+
"transition-[width,background-color] duration-[var(--duration-normal)] ease-[var(--ease-out-quart)] motion-reduce:transition-none",
|
|
10061
|
+
"focus-visible:[box-shadow:var(--shadow-focus-ring)] focus-visible:outline-none",
|
|
10062
|
+
i === current ? "w-[22px] bg-[var(--av-accent)]" : "w-2"
|
|
10063
|
+
)
|
|
10064
|
+
},
|
|
10065
|
+
s.id
|
|
10066
|
+
)) }),
|
|
10067
|
+
/* @__PURE__ */ jsxs(
|
|
10068
|
+
"button",
|
|
10069
|
+
{
|
|
10070
|
+
type: "button",
|
|
10071
|
+
onClick: () => goTo(current + 1),
|
|
10072
|
+
style: current === lastIndex ? { visibility: "hidden" } : void 0,
|
|
10073
|
+
className: cn(
|
|
10074
|
+
"inline-flex h-[42px] items-center gap-2 rounded-[11px] px-5 text-sm font-semibold",
|
|
10075
|
+
"bg-[var(--av-accent)] text-[var(--av-accent-contrast)]",
|
|
10076
|
+
"transition-[filter] duration-[var(--duration-fast)] ease-[var(--ease-out-quart)] motion-reduce:transition-none",
|
|
10077
|
+
"hover:brightness-105",
|
|
10078
|
+
"focus-visible:[box-shadow:var(--shadow-focus-ring)] focus-visible:outline-none"
|
|
10079
|
+
),
|
|
10080
|
+
children: [
|
|
10081
|
+
"Next",
|
|
10082
|
+
/* @__PURE__ */ jsx(ChevronRightIcon, { className: "size-4", "aria-hidden": "true" })
|
|
10083
|
+
]
|
|
10084
|
+
}
|
|
10085
|
+
)
|
|
10086
|
+
] })
|
|
10087
|
+
] })
|
|
10088
|
+
]
|
|
10089
|
+
}
|
|
10090
|
+
);
|
|
10091
|
+
}
|
|
10092
|
+
);
|
|
10093
|
+
AgreementViewer.displayName = "AgreementViewer";
|
|
10094
|
+
var AgreementPaneHeading = forwardRef(
|
|
10095
|
+
function AgreementPaneHeading2({ overline, title, subtitle, className, ...props }, ref) {
|
|
10096
|
+
return /* @__PURE__ */ jsxs("div", { ref, className: cn("mb-6", className), ...props, children: [
|
|
10097
|
+
overline && /* @__PURE__ */ jsx("div", { className: "mb-1.5 text-xs font-semibold tracking-wide text-[var(--av-accent-soft)]", children: overline }),
|
|
10098
|
+
/* @__PURE__ */ jsx("h2", { className: "font-display text-fg text-[27px] leading-tight font-bold tracking-tight", children: title }),
|
|
10099
|
+
subtitle && /* @__PURE__ */ jsx("p", { className: "text-fg-3 mt-2 text-sm leading-relaxed", children: subtitle })
|
|
10100
|
+
] });
|
|
10101
|
+
}
|
|
10102
|
+
);
|
|
10103
|
+
AgreementPaneHeading.displayName = "AgreementPaneHeading";
|
|
10104
|
+
var ProposalServiceRow = forwardRef(
|
|
10105
|
+
function ProposalServiceRow2({ name, description, price, originalPrice, marker = "check", className, ...props }, ref) {
|
|
10106
|
+
return /* @__PURE__ */ jsxs("div", { ref, className: cn("flex items-start gap-2.5 py-1.5", className), ...props, children: [
|
|
10107
|
+
marker === "check" && /* @__PURE__ */ jsx(
|
|
10108
|
+
CheckIcon,
|
|
10109
|
+
{
|
|
10110
|
+
className: "mt-0.5 size-3.5 shrink-0 text-[var(--av-accent,var(--color-accent))]",
|
|
10111
|
+
"aria-hidden": "true"
|
|
10112
|
+
}
|
|
10113
|
+
),
|
|
10114
|
+
/* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1", children: [
|
|
10115
|
+
/* @__PURE__ */ jsx("div", { className: "text-fg-2 text-[12.5px] leading-snug", children: name }),
|
|
10116
|
+
description && /* @__PURE__ */ jsx("div", { className: "text-fg-4 mt-0.5 text-[11.5px] leading-snug", children: description })
|
|
10117
|
+
] }),
|
|
10118
|
+
(price != null || originalPrice != null) && /* @__PURE__ */ jsxs("div", { className: "flex shrink-0 items-baseline gap-1.5 text-xs", children: [
|
|
10119
|
+
originalPrice != null && /* @__PURE__ */ jsx("span", { className: "text-fg-5 line-through", children: originalPrice }),
|
|
10120
|
+
price != null && /* @__PURE__ */ jsx("span", { className: "text-fg-3 tabular", children: price })
|
|
10121
|
+
] })
|
|
10122
|
+
] });
|
|
10123
|
+
}
|
|
10124
|
+
);
|
|
10125
|
+
ProposalServiceRow.displayName = "ProposalServiceRow";
|
|
10126
|
+
var CONTROL_LABEL = {
|
|
10127
|
+
choice: ["Selected", "Select package"],
|
|
10128
|
+
addon: ["Added", "Add to proposal"],
|
|
10129
|
+
included: ["Included", "Included"]
|
|
10130
|
+
};
|
|
10131
|
+
var ProposalPackageCard = forwardRef(
|
|
10132
|
+
function ProposalPackageCard2({
|
|
10133
|
+
name,
|
|
10134
|
+
summary,
|
|
10135
|
+
price,
|
|
10136
|
+
priceCaption,
|
|
10137
|
+
originalPrice,
|
|
10138
|
+
savings,
|
|
10139
|
+
mode = "choice",
|
|
10140
|
+
selected = false,
|
|
10141
|
+
badge,
|
|
10142
|
+
servicesLabel = "Included services",
|
|
10143
|
+
children,
|
|
10144
|
+
onSelect,
|
|
10145
|
+
disabled = false,
|
|
10146
|
+
className,
|
|
10147
|
+
...props
|
|
10148
|
+
}, ref) {
|
|
10149
|
+
const interactive = mode !== "included" && !!onSelect;
|
|
10150
|
+
const [onLabel, offLabel] = CONTROL_LABEL[mode];
|
|
10151
|
+
return /* @__PURE__ */ jsxs(
|
|
10152
|
+
"div",
|
|
10153
|
+
{
|
|
10154
|
+
ref,
|
|
10155
|
+
"data-selected": selected || void 0,
|
|
10156
|
+
className: cn(
|
|
10157
|
+
"border-rule bg-surface relative flex flex-col rounded-[14px] border p-4",
|
|
10158
|
+
"data-[selected]:border-[var(--av-accent,var(--color-accent))] data-[selected]:shadow-[0_0_0_1px_var(--av-accent,var(--color-accent))]",
|
|
10159
|
+
className
|
|
10160
|
+
),
|
|
10161
|
+
...props,
|
|
10162
|
+
children: [
|
|
10163
|
+
(badge || selected) && /* @__PURE__ */ jsxs("span", { className: "rounded-pill absolute -top-2.5 left-4 flex items-center gap-1 bg-[var(--av-accent,var(--color-accent))] px-2 py-1 text-[10px] font-bold tracking-wide text-[var(--av-accent-contrast,var(--color-fg-on-accent))]", children: [
|
|
10164
|
+
selected && /* @__PURE__ */ jsx(CheckIcon, { className: "size-3", "aria-hidden": "true" }),
|
|
10165
|
+
badge ?? (selected ? onLabel : null)
|
|
10166
|
+
] }),
|
|
10167
|
+
/* @__PURE__ */ jsx("div", { className: "text-fg text-[15px] font-semibold", children: name }),
|
|
10168
|
+
summary && /* @__PURE__ */ jsx("div", { className: "text-fg-4 mt-0.5 text-xs", children: summary }),
|
|
10169
|
+
price != null && /* @__PURE__ */ jsxs("div", { className: "mt-2.5", children: [
|
|
10170
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-baseline gap-2", children: [
|
|
10171
|
+
originalPrice != null && /* @__PURE__ */ jsx("span", { className: "text-fg-5 text-base line-through", children: originalPrice }),
|
|
10172
|
+
/* @__PURE__ */ jsx("span", { className: "text-fg text-[23px] font-bold tracking-tight tabular", children: price })
|
|
10173
|
+
] }),
|
|
10174
|
+
priceCaption && /* @__PURE__ */ jsx("div", { className: "text-fg-4 text-[11.5px]", children: priceCaption }),
|
|
10175
|
+
savings && /* @__PURE__ */ jsx("div", { className: "text-success-fg mt-1 text-[11.5px] font-semibold", children: savings })
|
|
10176
|
+
] }),
|
|
10177
|
+
children && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
10178
|
+
/* @__PURE__ */ jsx("div", { className: "text-fg-3 mt-4 mb-1 text-[11.5px] font-semibold tracking-wide", children: servicesLabel }),
|
|
10179
|
+
/* @__PURE__ */ jsx("div", { children })
|
|
10180
|
+
] }),
|
|
10181
|
+
/* @__PURE__ */ jsx("div", { className: "mt-auto pt-4", children: interactive ? /* @__PURE__ */ jsx(
|
|
10182
|
+
"button",
|
|
10183
|
+
{
|
|
10184
|
+
type: "button",
|
|
10185
|
+
role: mode === "addon" ? "checkbox" : "radio",
|
|
10186
|
+
"aria-checked": selected,
|
|
10187
|
+
disabled,
|
|
10188
|
+
onClick: onSelect,
|
|
10189
|
+
className: cn(
|
|
10190
|
+
"rounded-input flex h-10 w-full items-center justify-center text-[13.5px] font-semibold",
|
|
10191
|
+
"transition-colors duration-[var(--duration-fast)] ease-[var(--ease-out-quart)] motion-reduce:transition-none",
|
|
10192
|
+
"focus-visible:[box-shadow:var(--shadow-focus-ring)] focus-visible:outline-none",
|
|
10193
|
+
selected ? "bg-[var(--av-accent,var(--color-accent))] text-[var(--av-accent-contrast,var(--color-fg-on-accent))]" : "border-rule-strong text-fg hover:bg-bg-2 border",
|
|
10194
|
+
"disabled:cursor-not-allowed disabled:opacity-60"
|
|
10195
|
+
),
|
|
10196
|
+
children: selected ? onLabel : offLabel
|
|
10197
|
+
}
|
|
10198
|
+
) : /* @__PURE__ */ jsxs(
|
|
10199
|
+
"div",
|
|
10200
|
+
{
|
|
10201
|
+
className: cn(
|
|
10202
|
+
"rounded-input flex h-10 w-full items-center justify-center gap-1.5 text-[13.5px] font-semibold",
|
|
10203
|
+
mode === "included" ? "bg-[var(--av-accent-tint,var(--color-accent-tint))] text-[var(--av-accent-soft,var(--color-accent-2))]" : "border-rule text-fg-3 border"
|
|
10204
|
+
),
|
|
10205
|
+
children: [
|
|
10206
|
+
mode === "included" && /* @__PURE__ */ jsx(CheckIcon, { className: "size-3.5", "aria-hidden": "true" }),
|
|
10207
|
+
selected ? onLabel : offLabel
|
|
10208
|
+
]
|
|
10209
|
+
}
|
|
10210
|
+
) })
|
|
10211
|
+
]
|
|
10212
|
+
}
|
|
10213
|
+
);
|
|
10214
|
+
}
|
|
10215
|
+
);
|
|
10216
|
+
ProposalPackageCard.displayName = "ProposalPackageCard";
|
|
10217
|
+
var BILLING_ICON = {
|
|
10218
|
+
now: CreditCardIcon,
|
|
10219
|
+
auto: RotateCcwIcon,
|
|
10220
|
+
review: EyeIcon,
|
|
10221
|
+
manual: ReceiptIcon,
|
|
10222
|
+
onetime: CheckIcon
|
|
10223
|
+
};
|
|
10224
|
+
var ProposalBillingTerms = forwardRef(
|
|
10225
|
+
function ProposalBillingTerms2({ title = "How billing works", rows, locked = true, className, ...props }, ref) {
|
|
10226
|
+
return /* @__PURE__ */ jsxs(
|
|
10227
|
+
"div",
|
|
10228
|
+
{
|
|
10229
|
+
ref,
|
|
10230
|
+
className: cn("border-rule overflow-hidden rounded-[14px] border", className),
|
|
10231
|
+
...props,
|
|
10232
|
+
children: [
|
|
10233
|
+
title && /* @__PURE__ */ jsx("div", { className: "border-rule bg-surface-2 text-fg border-b px-5 py-3 text-[13px] font-semibold", children: title }),
|
|
10234
|
+
/* @__PURE__ */ jsx("div", { className: "divide-rule-soft divide-y", children: rows.map((r, i) => {
|
|
10235
|
+
const Icon3 = BILLING_ICON[r.mode ?? "now"];
|
|
10236
|
+
return /* @__PURE__ */ jsxs("div", { className: "flex items-start gap-3.5 px-5 py-3.5", children: [
|
|
10237
|
+
/* @__PURE__ */ jsx(
|
|
10238
|
+
"span",
|
|
10239
|
+
{
|
|
10240
|
+
"aria-hidden": "true",
|
|
10241
|
+
className: "rounded-icon mt-0.5 flex size-9 shrink-0 items-center justify-center bg-[var(--av-accent-tint,var(--color-accent-tint))] text-[var(--av-accent,var(--color-accent))]",
|
|
10242
|
+
children: /* @__PURE__ */ jsx(Icon3, { className: "size-4.5" })
|
|
10243
|
+
}
|
|
10244
|
+
),
|
|
10245
|
+
/* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1", children: [
|
|
10246
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-baseline justify-between gap-3", children: [
|
|
10247
|
+
/* @__PURE__ */ jsx("span", { className: "text-fg text-sm font-semibold", children: r.label }),
|
|
10248
|
+
r.amount != null && /* @__PURE__ */ jsxs("span", { className: "text-fg shrink-0 text-sm font-semibold tabular", children: [
|
|
10249
|
+
r.amount,
|
|
10250
|
+
r.cadence && /* @__PURE__ */ jsx("small", { className: "text-fg-4 ml-0.5 text-xs font-medium", children: r.cadence })
|
|
10251
|
+
] })
|
|
10252
|
+
] }),
|
|
10253
|
+
/* @__PURE__ */ jsx("div", { className: "text-fg-3 mt-0.5 text-[13px] leading-snug", children: r.detail })
|
|
10254
|
+
] })
|
|
10255
|
+
] }, i);
|
|
10256
|
+
}) }),
|
|
10257
|
+
locked && /* @__PURE__ */ jsxs("div", { className: "border-rule bg-surface-2 text-fg-4 flex items-center gap-2 border-t px-5 py-2.5 text-[12px]", children: [
|
|
10258
|
+
/* @__PURE__ */ jsx(LockIcon, { className: "size-3.5 shrink-0", "aria-hidden": "true" }),
|
|
10259
|
+
"Set by your firm \u2014 you can review these terms, but not change them."
|
|
10260
|
+
] })
|
|
10261
|
+
]
|
|
10262
|
+
}
|
|
10263
|
+
);
|
|
10264
|
+
}
|
|
10265
|
+
);
|
|
10266
|
+
ProposalBillingTerms.displayName = "ProposalBillingTerms";
|
|
10267
|
+
var ProposalAddOn = forwardRef(
|
|
10268
|
+
function ProposalAddOn2({ name, description, price, cadence, selected = false, onToggle, disabled, className, ...props }, ref) {
|
|
10269
|
+
return /* @__PURE__ */ jsxs(
|
|
10270
|
+
"button",
|
|
10271
|
+
{
|
|
10272
|
+
ref,
|
|
10273
|
+
type: "button",
|
|
10274
|
+
role: "checkbox",
|
|
10275
|
+
"aria-checked": selected,
|
|
10276
|
+
disabled,
|
|
10277
|
+
onClick: onToggle,
|
|
10278
|
+
"data-selected": selected || void 0,
|
|
10279
|
+
className: cn(
|
|
10280
|
+
"group/addon flex w-full items-center gap-3.5 rounded-[12px] border p-4 text-left",
|
|
10281
|
+
"border-rule bg-surface",
|
|
10282
|
+
"transition-colors duration-[var(--duration-fast)] ease-[var(--ease-out-quart)] motion-reduce:transition-none",
|
|
10283
|
+
"hover:bg-bg-2",
|
|
10284
|
+
"data-[selected]:border-[var(--av-accent,var(--color-accent))] data-[selected]:bg-[var(--av-accent-tint,var(--color-accent-tint))]",
|
|
10285
|
+
"focus-visible:[box-shadow:var(--shadow-focus-ring)] focus-visible:outline-none",
|
|
10286
|
+
"disabled:cursor-not-allowed disabled:opacity-60",
|
|
10287
|
+
className
|
|
10288
|
+
),
|
|
10289
|
+
...props,
|
|
10290
|
+
children: [
|
|
10291
|
+
/* @__PURE__ */ jsx(
|
|
10292
|
+
"span",
|
|
10293
|
+
{
|
|
10294
|
+
"aria-hidden": "true",
|
|
10295
|
+
className: cn(
|
|
10296
|
+
"flex size-5 shrink-0 items-center justify-center rounded-md border-[1.5px] text-transparent",
|
|
10297
|
+
"border-rule-strong",
|
|
10298
|
+
"group-data-[selected]/addon:border-[var(--av-accent,var(--color-accent))] group-data-[selected]/addon:bg-[var(--av-accent,var(--color-accent))] group-data-[selected]/addon:text-[var(--av-accent-contrast,var(--color-fg-on-accent))]"
|
|
10299
|
+
),
|
|
10300
|
+
children: /* @__PURE__ */ jsx(CheckIcon, { className: "size-3.5" })
|
|
10301
|
+
}
|
|
10302
|
+
),
|
|
10303
|
+
/* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1", children: [
|
|
10304
|
+
/* @__PURE__ */ jsx("div", { className: "text-fg text-sm font-semibold", children: name }),
|
|
10305
|
+
description && /* @__PURE__ */ jsx("div", { className: "text-fg-4 text-xs", children: description })
|
|
10306
|
+
] }),
|
|
10307
|
+
(price != null || cadence != null) && /* @__PURE__ */ jsxs("div", { className: "shrink-0 text-right", children: [
|
|
10308
|
+
price != null && /* @__PURE__ */ jsx("div", { className: "text-fg text-[15px] font-bold tabular", children: price }),
|
|
10309
|
+
cadence != null && /* @__PURE__ */ jsx("div", { className: "text-fg-4 text-[11.5px]", children: cadence })
|
|
10310
|
+
] })
|
|
10311
|
+
]
|
|
10312
|
+
}
|
|
10313
|
+
);
|
|
10314
|
+
}
|
|
10315
|
+
);
|
|
10316
|
+
ProposalAddOn.displayName = "ProposalAddOn";
|
|
10317
|
+
var ProposalPricingSummary = forwardRef(
|
|
10318
|
+
function ProposalPricingSummary2({
|
|
10319
|
+
children,
|
|
10320
|
+
billing,
|
|
10321
|
+
savings,
|
|
10322
|
+
tax,
|
|
10323
|
+
taxLabel = "Tax",
|
|
10324
|
+
originalTotal,
|
|
10325
|
+
total,
|
|
10326
|
+
cadence,
|
|
10327
|
+
totalLabel = "Total due",
|
|
10328
|
+
schedule,
|
|
10329
|
+
className,
|
|
10330
|
+
...props
|
|
10331
|
+
}, ref) {
|
|
10332
|
+
return /* @__PURE__ */ jsxs("div", { ref, className: cn("@container/summary flex flex-col", className), ...props, children: [
|
|
10333
|
+
children && /* @__PURE__ */ jsx("div", { className: "border-rule grid grid-cols-1 gap-x-6 gap-y-1 rounded-[14px] border p-6 @md/summary:grid-cols-2", children }),
|
|
10334
|
+
billing && /* @__PURE__ */ jsxs("div", { className: "mt-4 rounded-[14px] border border-[var(--av-accent-tint2,var(--color-accent-tint))] bg-[var(--av-accent-tint,var(--color-accent-tint))] p-5", children: [
|
|
10335
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
|
|
10336
|
+
/* @__PURE__ */ jsx("b", { className: "text-[13.5px] font-semibold text-[var(--av-accent-soft,var(--color-accent-2))]", children: billing.title ?? "Billing schedule" }),
|
|
10337
|
+
billing.caption && /* @__PURE__ */ jsx("span", { className: "text-[11.5px] text-[var(--av-accent-soft,var(--color-accent-2))] opacity-80", children: billing.caption })
|
|
10338
|
+
] }),
|
|
10339
|
+
billing.rows?.map((r, i) => /* @__PURE__ */ jsxs(
|
|
10340
|
+
"div",
|
|
10341
|
+
{
|
|
10342
|
+
className: "text-fg-2 mt-2.5 flex items-center justify-between gap-3 text-[13.5px]",
|
|
10343
|
+
children: [
|
|
10344
|
+
/* @__PURE__ */ jsx("span", { children: r.label }),
|
|
10345
|
+
/* @__PURE__ */ jsx("b", { className: "font-semibold tabular", children: r.value })
|
|
10346
|
+
]
|
|
10347
|
+
},
|
|
10348
|
+
i
|
|
10349
|
+
))
|
|
10350
|
+
] }),
|
|
10351
|
+
(savings || tax != null) && /* @__PURE__ */ jsxs("div", { className: "mt-4 space-y-2", children: [
|
|
10352
|
+
savings && /* @__PURE__ */ jsxs("div", { className: "text-success-fg flex items-center justify-between text-[13.5px] font-medium", children: [
|
|
10353
|
+
/* @__PURE__ */ jsx("span", { children: "Discount" }),
|
|
10354
|
+
/* @__PURE__ */ jsx("span", { className: "tabular", children: savings })
|
|
10355
|
+
] }),
|
|
10356
|
+
tax != null && /* @__PURE__ */ jsxs("div", { className: "text-fg-3 flex items-center justify-between text-[13.5px]", children: [
|
|
10357
|
+
/* @__PURE__ */ jsx("span", { children: taxLabel }),
|
|
10358
|
+
/* @__PURE__ */ jsx("span", { className: "tabular", children: tax })
|
|
10359
|
+
] })
|
|
10360
|
+
] }),
|
|
10361
|
+
schedule ? /* @__PURE__ */ jsxs("div", { className: "border-rule mt-4 border-t pt-4", children: [
|
|
10362
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-baseline justify-between gap-3", children: [
|
|
10363
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
10364
|
+
/* @__PURE__ */ jsx("div", { className: "text-fg text-[15px] font-semibold", children: schedule.dueTodayLabel ?? "Due today" }),
|
|
10365
|
+
schedule.dueTodayCaption && /* @__PURE__ */ jsx("div", { className: "text-fg-4 text-xs", children: schedule.dueTodayCaption })
|
|
10366
|
+
] }),
|
|
10367
|
+
/* @__PURE__ */ jsx("span", { className: "text-fg text-[26px] font-bold tabular", children: schedule.dueToday })
|
|
10368
|
+
] }),
|
|
10369
|
+
schedule.then && schedule.then.length > 0 && /* @__PURE__ */ jsx("div", { className: "border-rule-soft mt-3 space-y-1.5 border-t pt-3", children: schedule.then.map((t, i) => /* @__PURE__ */ jsxs(
|
|
10370
|
+
"div",
|
|
10371
|
+
{
|
|
10372
|
+
className: "text-fg-3 flex items-baseline justify-between gap-3 text-[13.5px]",
|
|
10373
|
+
children: [
|
|
10374
|
+
/* @__PURE__ */ jsx("span", { children: t.label ?? "Then" }),
|
|
10375
|
+
/* @__PURE__ */ jsxs("span", { className: "tabular", children: [
|
|
10376
|
+
/* @__PURE__ */ jsx("b", { className: "text-fg-2 font-semibold", children: t.amount }),
|
|
10377
|
+
t.cadence && /* @__PURE__ */ jsx("small", { className: "text-fg-4 ml-1 text-[12px] font-medium", children: t.cadence })
|
|
10378
|
+
] })
|
|
10379
|
+
]
|
|
10380
|
+
},
|
|
10381
|
+
i
|
|
10382
|
+
)) })
|
|
10383
|
+
] }) : total != null && /* @__PURE__ */ jsxs("div", { className: "border-rule mt-4 flex items-center justify-between border-t pt-4", children: [
|
|
10384
|
+
/* @__PURE__ */ jsx("span", { className: "text-fg text-[15px] font-semibold", children: totalLabel }),
|
|
10385
|
+
/* @__PURE__ */ jsxs("span", { className: "flex items-baseline gap-2", children: [
|
|
10386
|
+
originalTotal != null && /* @__PURE__ */ jsx("span", { className: "text-fg-5 text-base line-through", children: originalTotal }),
|
|
10387
|
+
/* @__PURE__ */ jsx("span", { className: "text-fg text-[22px] font-bold tabular", children: total }),
|
|
10388
|
+
cadence && /* @__PURE__ */ jsx("small", { className: "text-fg-4 text-[13px] font-medium", children: cadence })
|
|
10389
|
+
] })
|
|
10390
|
+
] })
|
|
10391
|
+
] });
|
|
10392
|
+
}
|
|
10393
|
+
);
|
|
10394
|
+
ProposalPricingSummary.displayName = "ProposalPricingSummary";
|
|
10395
|
+
var KIND_META = {
|
|
10396
|
+
video: { label: "Video", icon: PlayIcon },
|
|
10397
|
+
pdf: { label: "Document", icon: FileTextIcon },
|
|
10398
|
+
text: { label: "Read", icon: FileTextIcon }
|
|
10399
|
+
};
|
|
10400
|
+
var ProposalCustomPage = forwardRef(
|
|
10401
|
+
function ProposalCustomPage2({ kind, title, caption, label, poster, onPlay, children, className, ...props }, ref) {
|
|
10402
|
+
const meta = KIND_META[kind];
|
|
10403
|
+
const Icon3 = meta.icon;
|
|
10404
|
+
return /* @__PURE__ */ jsxs("div", { ref, className: cn("flex flex-col", className), ...props, children: [
|
|
10405
|
+
/* @__PURE__ */ jsxs("div", { className: "mb-1.5 flex items-center gap-1.5 text-xs font-semibold tracking-wide text-[var(--av-accent-soft,var(--color-accent-2))]", children: [
|
|
10406
|
+
/* @__PURE__ */ jsx(Icon3, { className: "size-3.5", "aria-hidden": "true" }),
|
|
10407
|
+
label ?? meta.label
|
|
10408
|
+
] }),
|
|
10409
|
+
/* @__PURE__ */ jsx("h2", { className: "font-display text-fg text-[27px] leading-tight font-bold tracking-tight", children: title }),
|
|
10410
|
+
caption && /* @__PURE__ */ jsx("p", { className: "text-fg-3 mt-2 text-sm leading-relaxed", children: caption }),
|
|
10411
|
+
/* @__PURE__ */ jsx("div", { className: "mt-5", children: kind === "video" && !children ? /* @__PURE__ */ jsx(PlayablePoster, { poster, onPlay, title }) : children })
|
|
10412
|
+
] });
|
|
10413
|
+
}
|
|
10414
|
+
);
|
|
10415
|
+
ProposalCustomPage.displayName = "ProposalCustomPage";
|
|
10416
|
+
function PlayablePoster({
|
|
10417
|
+
poster,
|
|
10418
|
+
onPlay,
|
|
10419
|
+
title
|
|
10420
|
+
}) {
|
|
10421
|
+
const inner = /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
10422
|
+
/* @__PURE__ */ jsx(
|
|
10423
|
+
"span",
|
|
10424
|
+
{
|
|
10425
|
+
"aria-hidden": "true",
|
|
10426
|
+
className: "bg-bg-3 absolute inset-0 bg-cover bg-center",
|
|
10427
|
+
style: poster ? { backgroundImage: `url(${poster})` } : void 0
|
|
10428
|
+
}
|
|
10429
|
+
),
|
|
10430
|
+
/* @__PURE__ */ jsx("span", { "aria-hidden": "true", className: "absolute inset-0 bg-black/15" }),
|
|
10431
|
+
/* @__PURE__ */ jsx(
|
|
10432
|
+
"span",
|
|
10433
|
+
{
|
|
10434
|
+
"aria-hidden": "true",
|
|
10435
|
+
className: "rounded-full relative flex size-16 items-center justify-center bg-white/90 text-[var(--av-accent,var(--color-accent))] shadow-lg",
|
|
10436
|
+
children: /* @__PURE__ */ jsx(PlayIcon, { className: "size-7" })
|
|
10437
|
+
}
|
|
10438
|
+
)
|
|
10439
|
+
] });
|
|
10440
|
+
const cls = "relative flex aspect-video w-full items-center justify-center overflow-hidden rounded-[14px] border-rule border";
|
|
10441
|
+
return onPlay ? /* @__PURE__ */ jsx(
|
|
10442
|
+
"button",
|
|
10443
|
+
{
|
|
10444
|
+
type: "button",
|
|
10445
|
+
onClick: onPlay,
|
|
10446
|
+
"aria-label": typeof title === "string" ? `Play ${title}` : "Play video",
|
|
10447
|
+
className: cn(
|
|
10448
|
+
cls,
|
|
10449
|
+
"transition-[filter] duration-[var(--duration-fast)] ease-[var(--ease-out-quart)] motion-reduce:transition-none hover:brightness-105",
|
|
10450
|
+
"focus-visible:[box-shadow:var(--shadow-focus-ring)] focus-visible:outline-none"
|
|
10451
|
+
),
|
|
10452
|
+
children: inner
|
|
10453
|
+
}
|
|
10454
|
+
) : /* @__PURE__ */ jsx("div", { className: cls, children: inner });
|
|
10455
|
+
}
|
|
10456
|
+
var ProposalNote = forwardRef(
|
|
10457
|
+
function ProposalNote2({ title, children, tone = "accent", icon, className, ...props }, ref) {
|
|
10458
|
+
return /* @__PURE__ */ jsxs(
|
|
10459
|
+
"div",
|
|
10460
|
+
{
|
|
10461
|
+
ref,
|
|
10462
|
+
className: cn(
|
|
10463
|
+
"flex gap-3 rounded-[12px] border p-4 text-[13.5px] leading-relaxed",
|
|
10464
|
+
tone === "accent" ? "border-[var(--av-accent-tint2,var(--color-accent-tint))] bg-[var(--av-accent-tint,var(--color-accent-tint))] text-[var(--av-accent-soft,var(--color-accent-2))]" : "border-rule bg-bg-2 text-fg-2",
|
|
10465
|
+
className
|
|
10466
|
+
),
|
|
10467
|
+
...props,
|
|
10468
|
+
children: [
|
|
10469
|
+
/* @__PURE__ */ jsx("span", { "aria-hidden": "true", className: "mt-0.5 shrink-0", children: icon ?? /* @__PURE__ */ jsx(InfoIcon, { className: "size-4" }) }),
|
|
10470
|
+
/* @__PURE__ */ jsxs("div", { className: "min-w-0", children: [
|
|
10471
|
+
title && /* @__PURE__ */ jsx("div", { className: "text-fg font-semibold", children: title }),
|
|
10472
|
+
/* @__PURE__ */ jsx("div", { className: cn(title && "mt-0.5"), children })
|
|
10473
|
+
] })
|
|
10474
|
+
]
|
|
10475
|
+
}
|
|
10476
|
+
);
|
|
10477
|
+
}
|
|
10478
|
+
);
|
|
10479
|
+
ProposalNote.displayName = "ProposalNote";
|
|
10480
|
+
var STATUS_META = {
|
|
10481
|
+
signed: {
|
|
10482
|
+
label: "Signed",
|
|
10483
|
+
icon: CheckIcon,
|
|
10484
|
+
className: "text-success-fg bg-success-bg border-success-line"
|
|
10485
|
+
},
|
|
10486
|
+
viewed: {
|
|
10487
|
+
label: "Viewed",
|
|
10488
|
+
icon: EyeIcon,
|
|
10489
|
+
className: "text-[var(--av-accent-soft,var(--color-accent-2))] bg-[var(--av-accent-tint,var(--color-accent-tint))] border-[var(--av-accent-tint2,var(--color-accent-tint))]"
|
|
10490
|
+
},
|
|
10491
|
+
pending: { label: "Pending", icon: ClockIcon, className: "text-fg-3 bg-bg-2 border-rule" }
|
|
10492
|
+
};
|
|
10493
|
+
var ProposalSignerList = forwardRef(
|
|
10494
|
+
function ProposalSignerList2({ signers, title = "Recipients", className, ...props }, ref) {
|
|
10495
|
+
return /* @__PURE__ */ jsxs("div", { ref, className: cn("flex flex-col", className), ...props, children: [
|
|
10496
|
+
title && /* @__PURE__ */ jsx("div", { className: "text-fg-3 mb-2 text-[11.5px] font-semibold tracking-wide", children: title }),
|
|
10497
|
+
/* @__PURE__ */ jsx("div", { className: "border-rule divide-rule divide-y overflow-hidden rounded-[12px] border", children: signers.map((s, i) => {
|
|
10498
|
+
const status = s.status ? STATUS_META[s.status] : null;
|
|
10499
|
+
const StatusIcon2 = status?.icon;
|
|
10500
|
+
const initials2 = s.name.split(" ").map((w) => w[0]).slice(0, 2).join("").toUpperCase();
|
|
10501
|
+
return /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3 px-4 py-3", children: [
|
|
10502
|
+
/* @__PURE__ */ jsx(
|
|
10503
|
+
"span",
|
|
10504
|
+
{
|
|
10505
|
+
"aria-hidden": "true",
|
|
10506
|
+
className: "flex size-9 shrink-0 items-center justify-center rounded-full bg-[var(--av-accent-tint,var(--color-accent-tint))] text-[12.5px] font-semibold text-[var(--av-accent-soft,var(--color-accent-2))]",
|
|
10507
|
+
children: initials2
|
|
10508
|
+
}
|
|
10509
|
+
),
|
|
10510
|
+
/* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1", children: [
|
|
10511
|
+
/* @__PURE__ */ jsxs("div", { className: "text-fg truncate text-sm font-medium", children: [
|
|
10512
|
+
s.name,
|
|
10513
|
+
s.role && /* @__PURE__ */ jsx("span", { className: "text-fg-4 ml-2 text-xs font-normal", children: s.role })
|
|
10514
|
+
] }),
|
|
10515
|
+
s.email && /* @__PURE__ */ jsx("div", { className: "text-fg-4 truncate text-xs", children: s.email })
|
|
10516
|
+
] }),
|
|
10517
|
+
status && StatusIcon2 && /* @__PURE__ */ jsxs("div", { className: "flex shrink-0 flex-col items-end gap-1", children: [
|
|
10518
|
+
/* @__PURE__ */ jsxs(
|
|
10519
|
+
"span",
|
|
10520
|
+
{
|
|
10521
|
+
className: cn(
|
|
10522
|
+
"inline-flex items-center gap-1 rounded-full border px-2 py-0.5 text-[11px] font-medium",
|
|
10523
|
+
status.className
|
|
10524
|
+
),
|
|
10525
|
+
children: [
|
|
10526
|
+
/* @__PURE__ */ jsx(StatusIcon2, { className: "size-3", "aria-hidden": "true" }),
|
|
10527
|
+
status.label
|
|
10528
|
+
]
|
|
10529
|
+
}
|
|
10530
|
+
),
|
|
10531
|
+
s.at != null && /* @__PURE__ */ jsx("span", { className: "text-fg-4 text-[11px]", children: s.at })
|
|
10532
|
+
] })
|
|
10533
|
+
] }, i);
|
|
10534
|
+
}) })
|
|
10535
|
+
] });
|
|
10536
|
+
}
|
|
10537
|
+
);
|
|
10538
|
+
ProposalSignerList.displayName = "ProposalSignerList";
|
|
10539
|
+
function deriveInitials(name) {
|
|
10540
|
+
return name.trim().split(/\s+/).filter(Boolean).map((w) => w[0]).slice(0, 2).join("").toUpperCase();
|
|
10541
|
+
}
|
|
10542
|
+
var ProposalSignatureBlock = forwardRef(
|
|
10543
|
+
function ProposalSignatureBlock2({
|
|
10544
|
+
signed = false,
|
|
10545
|
+
name = "",
|
|
10546
|
+
initials: initials2,
|
|
10547
|
+
defaultName = "",
|
|
10548
|
+
onChange,
|
|
10549
|
+
placeholder = "Type your full name",
|
|
10550
|
+
signatureFont = "Georgia, serif",
|
|
10551
|
+
footer,
|
|
10552
|
+
className,
|
|
10553
|
+
...props
|
|
10554
|
+
}, ref) {
|
|
10555
|
+
const [nameVal, setNameVal] = useState(defaultName);
|
|
10556
|
+
const [initialsVal, setInitialsVal] = useState("");
|
|
10557
|
+
const [initialsTouched, setInitialsTouched] = useState(false);
|
|
10558
|
+
const displayName = signed ? name : nameVal;
|
|
10559
|
+
const displayInitials = signed ? initials2 ?? deriveInitials(name) : initialsTouched ? initialsVal : deriveInitials(nameVal);
|
|
10560
|
+
const emitChange = (n, i) => onChange?.({ name: n, initials: i });
|
|
10561
|
+
const handleName = (v) => {
|
|
10562
|
+
setNameVal(v);
|
|
10563
|
+
emitChange(v, initialsTouched ? initialsVal : deriveInitials(v));
|
|
10564
|
+
};
|
|
10565
|
+
const handleInitials = (v) => {
|
|
10566
|
+
setInitialsTouched(true);
|
|
10567
|
+
setInitialsVal(v);
|
|
10568
|
+
emitChange(nameVal, v);
|
|
10569
|
+
};
|
|
10570
|
+
return /* @__PURE__ */ jsxs("div", { ref, className: cn("flex flex-col", className), ...props, children: [
|
|
10571
|
+
/* @__PURE__ */ jsxs("div", { className: "border-rule mb-4 flex gap-6 border-b", children: [
|
|
10572
|
+
/* @__PURE__ */ jsx("span", { className: "border-[var(--av-accent,var(--color-accent))] text-fg -mb-px border-b-2 pb-2.5 text-sm font-medium", children: "Type" }),
|
|
10573
|
+
/* @__PURE__ */ jsx("span", { className: "text-fg-4 pb-2.5 text-sm font-medium", children: "Draw" })
|
|
10574
|
+
] }),
|
|
10575
|
+
/* @__PURE__ */ jsxs("div", { className: "flex gap-4", children: [
|
|
10576
|
+
/* @__PURE__ */ jsx("div", { className: "border-rule bg-surface-2 flex h-[118px] flex-1 items-center overflow-hidden rounded-[12px] border px-7", children: /* @__PURE__ */ jsx(
|
|
10577
|
+
"span",
|
|
10578
|
+
{
|
|
10579
|
+
className: cn("text-[46px] leading-none font-semibold", displayName ? "text-fg" : "text-fg-5"),
|
|
10580
|
+
style: { fontFamily: signatureFont },
|
|
10581
|
+
children: displayName || placeholder
|
|
10582
|
+
}
|
|
10583
|
+
) }),
|
|
10584
|
+
/* @__PURE__ */ jsx("div", { className: "border-rule bg-surface-2 flex h-[118px] w-[168px] shrink-0 items-center justify-center rounded-[12px] border", children: /* @__PURE__ */ jsx(
|
|
10585
|
+
"span",
|
|
10586
|
+
{
|
|
10587
|
+
className: cn("text-[34px] leading-none", displayInitials ? "text-fg-3" : "text-fg-5"),
|
|
10588
|
+
style: { fontFamily: signatureFont },
|
|
10589
|
+
children: displayInitials || "\u2014"
|
|
10590
|
+
}
|
|
10591
|
+
) })
|
|
10592
|
+
] }),
|
|
10593
|
+
/* @__PURE__ */ jsxs("div", { className: "mt-5 grid grid-cols-[1fr_120px] gap-3.5", children: [
|
|
10594
|
+
/* @__PURE__ */ jsxs("label", { className: "flex flex-col gap-1.5", children: [
|
|
10595
|
+
/* @__PURE__ */ jsx("span", { className: "text-fg-3 text-xs font-medium", children: "Your legal name" }),
|
|
10596
|
+
/* @__PURE__ */ jsx(
|
|
10597
|
+
"input",
|
|
10598
|
+
{
|
|
10599
|
+
value: displayName,
|
|
10600
|
+
readOnly: signed,
|
|
10601
|
+
onChange: (e) => handleName(e.target.value),
|
|
10602
|
+
placeholder: signed ? void 0 : placeholder,
|
|
10603
|
+
"aria-label": "Your legal name",
|
|
10604
|
+
className: "border-rule-strong rounded-input text-fg-2 bg-surface h-10 border px-3 text-sm read-only:bg-[var(--color-bg-2)]"
|
|
10605
|
+
}
|
|
10606
|
+
)
|
|
10607
|
+
] }),
|
|
10608
|
+
/* @__PURE__ */ jsxs("label", { className: "flex flex-col gap-1.5", children: [
|
|
10609
|
+
/* @__PURE__ */ jsx("span", { className: "text-fg-3 text-xs font-medium", children: "Initials" }),
|
|
10610
|
+
/* @__PURE__ */ jsx(
|
|
10611
|
+
"input",
|
|
10612
|
+
{
|
|
10613
|
+
value: displayInitials,
|
|
10614
|
+
readOnly: signed,
|
|
10615
|
+
onChange: (e) => handleInitials(e.target.value),
|
|
10616
|
+
placeholder: signed ? void 0 : "\u2014",
|
|
10617
|
+
"aria-label": "Initials",
|
|
10618
|
+
className: "border-rule-strong rounded-input text-fg-2 bg-surface h-10 border px-3 text-sm read-only:bg-[var(--color-bg-2)]"
|
|
10619
|
+
}
|
|
10620
|
+
)
|
|
10621
|
+
] })
|
|
10622
|
+
] }),
|
|
10623
|
+
footer && /* @__PURE__ */ jsx("div", { className: "mt-6", children: footer })
|
|
10624
|
+
] });
|
|
10625
|
+
}
|
|
10626
|
+
);
|
|
10627
|
+
ProposalSignatureBlock.displayName = "ProposalSignatureBlock";
|
|
10628
|
+
var ProposalConsentGate = forwardRef(
|
|
10629
|
+
function ProposalConsentGate2({ children, checked = false, onCheckedChange, signed = false, signedNote, onSign, signLabel = "Sign & approve", disabled = false, className, ...props }, ref) {
|
|
10630
|
+
return /* @__PURE__ */ jsxs("div", { ref, className: cn("flex flex-col gap-4", className), ...props, children: [
|
|
10631
|
+
!signed && /* @__PURE__ */ jsxs("label", { className: "flex cursor-pointer items-start gap-2.5 text-[13.5px] leading-relaxed", children: [
|
|
10632
|
+
/* @__PURE__ */ jsx(
|
|
10633
|
+
"input",
|
|
10634
|
+
{
|
|
10635
|
+
type: "checkbox",
|
|
10636
|
+
checked,
|
|
10637
|
+
onChange: (e) => onCheckedChange?.(e.target.checked),
|
|
10638
|
+
className: "mt-0.5 size-4 shrink-0 rounded accent-[var(--av-accent,var(--color-accent))]"
|
|
10639
|
+
}
|
|
10640
|
+
),
|
|
10641
|
+
/* @__PURE__ */ jsx("span", { className: "text-fg-2", children })
|
|
10642
|
+
] }),
|
|
10643
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between gap-4", children: [
|
|
10644
|
+
signed ? /* @__PURE__ */ jsxs("span", { className: "text-success-fg flex items-center gap-2 text-[13px] font-medium", children: [
|
|
10645
|
+
/* @__PURE__ */ jsx(CheckIcon, { className: "size-4 shrink-0", "aria-hidden": "true" }),
|
|
10646
|
+
signedNote ?? "This agreement has been signed."
|
|
10647
|
+
] }) : /* @__PURE__ */ jsxs("span", { className: "text-fg-4 flex items-center gap-1.5 text-[12.5px]", children: [
|
|
10648
|
+
/* @__PURE__ */ jsx(LockIcon, { className: "size-3.5", "aria-hidden": "true" }),
|
|
10649
|
+
" Secure e-signature"
|
|
10650
|
+
] }),
|
|
10651
|
+
onSign && /* @__PURE__ */ jsxs(
|
|
10652
|
+
"button",
|
|
10653
|
+
{
|
|
10654
|
+
type: "button",
|
|
10655
|
+
onClick: onSign,
|
|
10656
|
+
disabled: signed || !checked || disabled,
|
|
10657
|
+
className: cn(
|
|
10658
|
+
"inline-flex h-[46px] items-center gap-2 rounded-[12px] px-5 text-[14.5px] font-semibold",
|
|
10659
|
+
"transition-[filter] duration-[var(--duration-fast)] ease-[var(--ease-out-quart)] motion-reduce:transition-none",
|
|
10660
|
+
"focus-visible:[box-shadow:var(--shadow-focus-ring)] focus-visible:outline-none",
|
|
10661
|
+
"bg-[var(--av-accent,var(--color-accent))] text-[var(--av-accent-contrast,var(--color-fg-on-accent))] hover:brightness-105",
|
|
10662
|
+
"disabled:bg-bg-disabled disabled:text-fg-disabled disabled:cursor-not-allowed disabled:brightness-100"
|
|
10663
|
+
),
|
|
10664
|
+
children: [
|
|
10665
|
+
/* @__PURE__ */ jsx(PenSignIcon, { className: "size-4", "aria-hidden": "true" }),
|
|
10666
|
+
signLabel
|
|
10667
|
+
]
|
|
10668
|
+
}
|
|
10669
|
+
)
|
|
10670
|
+
] })
|
|
10671
|
+
] });
|
|
10672
|
+
}
|
|
10673
|
+
);
|
|
10674
|
+
ProposalConsentGate.displayName = "ProposalConsentGate";
|
|
10675
|
+
var ProposalPaymentCapture = forwardRef(
|
|
10676
|
+
function ProposalPaymentCapture2({ title = "Payment at signing", amount, caption, method = "card", capturedLast4, children, className, ...props }, ref) {
|
|
10677
|
+
return /* @__PURE__ */ jsxs(
|
|
10678
|
+
"div",
|
|
10679
|
+
{
|
|
10680
|
+
ref,
|
|
10681
|
+
className: cn("border-rule rounded-[14px] border p-5", className),
|
|
10682
|
+
...props,
|
|
10683
|
+
children: [
|
|
10684
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3", children: [
|
|
10685
|
+
/* @__PURE__ */ jsx(
|
|
10686
|
+
"span",
|
|
10687
|
+
{
|
|
10688
|
+
"aria-hidden": "true",
|
|
10689
|
+
className: "rounded-card flex size-10 shrink-0 items-center justify-center bg-[var(--av-accent-tint,var(--color-accent-tint))] text-[var(--av-accent,var(--color-accent))]",
|
|
10690
|
+
children: /* @__PURE__ */ jsx(CreditCardIcon, { className: "size-5" })
|
|
10691
|
+
}
|
|
10692
|
+
),
|
|
10693
|
+
/* @__PURE__ */ jsxs("div", { className: "flex-1", children: [
|
|
10694
|
+
/* @__PURE__ */ jsx("div", { className: "text-fg text-sm font-semibold", children: title }),
|
|
10695
|
+
caption && /* @__PURE__ */ jsx("div", { className: "text-fg-4 text-xs", children: caption })
|
|
10696
|
+
] }),
|
|
10697
|
+
amount != null && /* @__PURE__ */ jsx("div", { className: "text-fg text-lg font-bold tabular", children: amount })
|
|
10698
|
+
] }),
|
|
10699
|
+
/* @__PURE__ */ jsx("div", { className: "mt-4", children: children ?? (capturedLast4 ? /* @__PURE__ */ jsxs("div", { className: "border-rule flex items-center gap-2.5 rounded-[10px] border px-3.5 py-3", children: [
|
|
10700
|
+
/* @__PURE__ */ jsx(CreditCardIcon, { className: "text-fg-4 size-4", "aria-hidden": "true" }),
|
|
10701
|
+
/* @__PURE__ */ jsxs("span", { className: "text-fg-2 text-sm font-medium tabular", children: [
|
|
10702
|
+
method === "bank" ? "Bank account" : "Card",
|
|
10703
|
+
" \u2022\u2022\u2022\u2022 ",
|
|
10704
|
+
capturedLast4
|
|
10705
|
+
] }),
|
|
10706
|
+
/* @__PURE__ */ jsx(CheckIcon, { className: "text-success-fg ml-auto size-4", "aria-hidden": "true" })
|
|
10707
|
+
] }) : /* @__PURE__ */ jsx("div", { className: "border-rule text-fg-4 flex h-11 items-center rounded-[10px] border border-dashed px-3.5 text-sm", children: method === "bank" ? "Bank account details" : "Card number" })) })
|
|
10708
|
+
]
|
|
10709
|
+
}
|
|
10710
|
+
);
|
|
10711
|
+
}
|
|
10712
|
+
);
|
|
10713
|
+
ProposalPaymentCapture.displayName = "ProposalPaymentCapture";
|
|
9770
10714
|
function AiSpark({ size = 16, className }) {
|
|
9771
10715
|
const id = useId();
|
|
9772
10716
|
return /* @__PURE__ */ jsxs(
|
|
@@ -13097,7 +14041,10 @@ var ACTIVITY_ICON = {
|
|
|
13097
14041
|
cancelled: XCircleSolidIcon,
|
|
13098
14042
|
received: DownloadIcon,
|
|
13099
14043
|
approved: CheckCircleSolidIcon,
|
|
13100
|
-
needs_revision: AlertTriangleIcon
|
|
14044
|
+
needs_revision: AlertTriangleIcon,
|
|
14045
|
+
locked: LockIcon,
|
|
14046
|
+
unlocked: LockOpenIcon,
|
|
14047
|
+
status: FlagIcon
|
|
13101
14048
|
};
|
|
13102
14049
|
var DocumentRequestDetail = forwardRef(
|
|
13103
14050
|
function DocumentRequestDetail2(props, ref) {
|
|
@@ -13193,19 +14140,37 @@ var DocumentRequestDetail = forwardRef(
|
|
|
13193
14140
|
/* @__PURE__ */ jsx(FlagIcon, {}),
|
|
13194
14141
|
"Status"
|
|
13195
14142
|
] }) }),
|
|
13196
|
-
/* @__PURE__ */ jsxs(DropdownMenuContent, { align: "end", className: "w-
|
|
13197
|
-
/* @__PURE__ */ jsx(DropdownMenuLabel, { children: "Set status" }),
|
|
13198
|
-
|
|
13199
|
-
|
|
13200
|
-
|
|
13201
|
-
|
|
13202
|
-
|
|
13203
|
-
|
|
13204
|
-
|
|
13205
|
-
|
|
13206
|
-
|
|
13207
|
-
|
|
13208
|
-
|
|
14143
|
+
/* @__PURE__ */ jsxs(DropdownMenuContent, { align: "end", className: "w-60", children: [
|
|
14144
|
+
/* @__PURE__ */ jsx(DropdownMenuLabel, { children: "Set request status" }),
|
|
14145
|
+
reviewStatusOptions.map((opt) => {
|
|
14146
|
+
const checked = reviewStatus === opt.value;
|
|
14147
|
+
return /* @__PURE__ */ jsxs(
|
|
14148
|
+
DropdownMenuItem,
|
|
14149
|
+
{
|
|
14150
|
+
onSelect: (e) => {
|
|
14151
|
+
e.preventDefault();
|
|
14152
|
+
onSetReviewStatus(checked ? null : opt.value);
|
|
14153
|
+
},
|
|
14154
|
+
className: "flex items-center gap-2.5 py-2",
|
|
14155
|
+
children: [
|
|
14156
|
+
/* @__PURE__ */ jsx("span", { className: cn("size-2.5 shrink-0 rounded-full", opt.color ?? "bg-fg-4") }),
|
|
14157
|
+
/* @__PURE__ */ jsx("span", { className: "flex-1 text-sm", children: opt.label }),
|
|
14158
|
+
/* @__PURE__ */ jsx(
|
|
14159
|
+
"span",
|
|
14160
|
+
{
|
|
14161
|
+
"aria-hidden": "true",
|
|
14162
|
+
className: cn(
|
|
14163
|
+
"grid size-4 shrink-0 place-items-center rounded-[5px] border transition-colors duration-[var(--duration-fast)] motion-reduce:transition-none",
|
|
14164
|
+
checked ? "bg-pro-fg border-pro-fg text-fg-on-pro" : "border-rule"
|
|
14165
|
+
),
|
|
14166
|
+
children: checked && /* @__PURE__ */ jsx(CheckIcon, { className: "size-3" })
|
|
14167
|
+
}
|
|
14168
|
+
)
|
|
14169
|
+
]
|
|
14170
|
+
},
|
|
14171
|
+
opt.value
|
|
14172
|
+
);
|
|
14173
|
+
})
|
|
13209
14174
|
] })
|
|
13210
14175
|
] }),
|
|
13211
14176
|
/* @__PURE__ */ jsxs(Button, { variant: "secondary", size: "sm", className: "text-danger-fg", onClick: onDelete, children: [
|
|
@@ -13238,39 +14203,45 @@ var DocumentRequestDetail = forwardRef(
|
|
|
13238
14203
|
activity.length
|
|
13239
14204
|
] })
|
|
13240
14205
|
] }),
|
|
13241
|
-
/* @__PURE__ */
|
|
13242
|
-
/* @__PURE__ */
|
|
13243
|
-
|
|
13244
|
-
|
|
13245
|
-
|
|
13246
|
-
|
|
13247
|
-
|
|
13248
|
-
|
|
13249
|
-
|
|
13250
|
-
|
|
13251
|
-
|
|
13252
|
-
|
|
13253
|
-
|
|
13254
|
-
|
|
13255
|
-
|
|
13256
|
-
|
|
13257
|
-
|
|
13258
|
-
|
|
13259
|
-
|
|
13260
|
-
|
|
13261
|
-
|
|
13262
|
-
|
|
13263
|
-
|
|
13264
|
-
|
|
13265
|
-
|
|
13266
|
-
|
|
13267
|
-
|
|
13268
|
-
|
|
13269
|
-
|
|
13270
|
-
|
|
13271
|
-
|
|
13272
|
-
|
|
13273
|
-
|
|
14206
|
+
/* @__PURE__ */ jsxs(TabsContent, { value: "documents", className: "min-h-0 flex-1 overflow-y-auto px-5 py-4", children: [
|
|
14207
|
+
isLocked && /* @__PURE__ */ jsxs("div", { className: "bg-pro-bg text-pro-fg mb-4 flex items-center gap-2 rounded-lg px-3 py-2.5 text-[13px] font-medium", children: [
|
|
14208
|
+
/* @__PURE__ */ jsx(LockIcon, { size: 15, className: "shrink-0" }),
|
|
14209
|
+
"This request is locked \u2014 the client can no longer upload documents."
|
|
14210
|
+
] }),
|
|
14211
|
+
/* @__PURE__ */ jsxs(DocumentList, { children: [
|
|
14212
|
+
/* @__PURE__ */ jsx(DocumentListSection, { label: "Client uploads", count: clientUploads.length, children: clientUploads.length > 0 ? clientUploads.map((d) => /* @__PURE__ */ jsx(
|
|
14213
|
+
DocumentRow,
|
|
14214
|
+
{
|
|
14215
|
+
fileName: d.fileName,
|
|
14216
|
+
meta: d.meta,
|
|
14217
|
+
className: d.active ? "bg-overlay-hover" : void 0,
|
|
14218
|
+
actions: /* @__PURE__ */ jsx(FileRowActions, { doc: d })
|
|
14219
|
+
},
|
|
14220
|
+
d.id
|
|
14221
|
+
)) : /* @__PURE__ */ jsx("p", { className: "text-fg-4 px-2.5 py-2 text-sm", children: "No client uploads yet." }) }),
|
|
14222
|
+
/* @__PURE__ */ jsx(
|
|
14223
|
+
DocumentListSection,
|
|
14224
|
+
{
|
|
14225
|
+
label: "Firm documents",
|
|
14226
|
+
count: firmDocuments.length,
|
|
14227
|
+
action: onUploadFirmDocument ? /* @__PURE__ */ jsxs(Button, { variant: "ghost", size: "sm", onClick: onUploadFirmDocument, children: [
|
|
14228
|
+
/* @__PURE__ */ jsx(UploadIcon, {}),
|
|
14229
|
+
"Upload"
|
|
14230
|
+
] }) : void 0,
|
|
14231
|
+
children: firmDocuments.length > 0 ? firmDocuments.map((d) => /* @__PURE__ */ jsx(
|
|
14232
|
+
DocumentRow,
|
|
14233
|
+
{
|
|
14234
|
+
fileName: d.fileName,
|
|
14235
|
+
meta: d.meta,
|
|
14236
|
+
className: d.active ? "bg-overlay-hover" : void 0,
|
|
14237
|
+
actions: /* @__PURE__ */ jsx(FileRowActions, { doc: d })
|
|
14238
|
+
},
|
|
14239
|
+
d.id
|
|
14240
|
+
)) : /* @__PURE__ */ jsx("p", { className: "text-fg-4 px-2.5 py-2 text-sm", children: "No firm documents attached." })
|
|
14241
|
+
}
|
|
14242
|
+
)
|
|
14243
|
+
] })
|
|
14244
|
+
] }),
|
|
13274
14245
|
/* @__PURE__ */ jsxs(TabsContent, { value: "comments", className: "flex min-h-0 flex-1 flex-col", children: [
|
|
13275
14246
|
/* @__PURE__ */ jsx("div", { className: "min-h-0 flex-1 overflow-y-auto px-5 py-4", children: comments.length > 0 ? /* @__PURE__ */ jsx("div", { className: "flex flex-col gap-4", children: comments.map((c) => /* @__PURE__ */ jsx(CommentRow, { comment: c }, c.id)) }) : /* @__PURE__ */ jsx("p", { className: "text-fg-4 text-sm", children: "No comments yet. Start the conversation below." }) }),
|
|
13276
14247
|
/* @__PURE__ */ jsxs("div", { className: "border-rule shrink-0 border-t px-5 py-3", children: [
|
|
@@ -13403,6 +14374,55 @@ function FileRowActions({ doc }) {
|
|
|
13403
14374
|
)
|
|
13404
14375
|
] });
|
|
13405
14376
|
}
|
|
14377
|
+
var OPTIONS = [
|
|
14378
|
+
{ value: "all", label: "All" },
|
|
14379
|
+
{ value: "requested", label: "Requested", Icon: SendIcon },
|
|
14380
|
+
{ value: "direct", label: "Direct", Icon: UploadIcon },
|
|
14381
|
+
{ value: "internal", label: "Internal", Icon: ShieldIcon }
|
|
14382
|
+
];
|
|
14383
|
+
var DocumentSourceFilter = forwardRef(
|
|
14384
|
+
function DocumentSourceFilter2({
|
|
14385
|
+
value,
|
|
14386
|
+
onValueChange,
|
|
14387
|
+
counts,
|
|
14388
|
+
hideIcons,
|
|
14389
|
+
className,
|
|
14390
|
+
"aria-label": ariaLabel = "Filter by document source"
|
|
14391
|
+
}, ref) {
|
|
14392
|
+
return /* @__PURE__ */ jsx(
|
|
14393
|
+
ToggleGroup,
|
|
14394
|
+
{
|
|
14395
|
+
ref,
|
|
14396
|
+
type: "single",
|
|
14397
|
+
value,
|
|
14398
|
+
onValueChange: (next) => {
|
|
14399
|
+
if (next) onValueChange(next);
|
|
14400
|
+
},
|
|
14401
|
+
"aria-label": ariaLabel,
|
|
14402
|
+
className: cn("rounded-pill border-rule bg-surface gap-0.5 border p-1", className),
|
|
14403
|
+
children: OPTIONS.map(({ value: optionValue, label, Icon: Icon3 }) => {
|
|
14404
|
+
const count = counts?.[optionValue];
|
|
14405
|
+
const active = value === optionValue;
|
|
14406
|
+
return /* @__PURE__ */ jsxs(ToggleGroupItem, { value: optionValue, className: "gap-1.5", children: [
|
|
14407
|
+
!hideIcons && Icon3 && /* @__PURE__ */ jsx(Icon3, { size: 13, className: "shrink-0 opacity-90", "aria-hidden": "true" }),
|
|
14408
|
+
label,
|
|
14409
|
+
typeof count === "number" && /* @__PURE__ */ jsx(
|
|
14410
|
+
"span",
|
|
14411
|
+
{
|
|
14412
|
+
className: cn(
|
|
14413
|
+
"rounded-md px-1.5 py-px text-[11px] font-bold tabular-nums",
|
|
14414
|
+
active ? "bg-pro-bg-active text-pro-fg" : "bg-surface-2 text-fg-4"
|
|
14415
|
+
),
|
|
14416
|
+
children: count
|
|
14417
|
+
}
|
|
14418
|
+
)
|
|
14419
|
+
] }, optionValue);
|
|
14420
|
+
})
|
|
14421
|
+
}
|
|
14422
|
+
);
|
|
14423
|
+
}
|
|
14424
|
+
);
|
|
14425
|
+
DocumentSourceFilter.displayName = "DocumentSourceFilter";
|
|
13406
14426
|
var ActivityList = forwardRef(function ActivityList2({ className, children, ...props }, ref) {
|
|
13407
14427
|
return /* @__PURE__ */ jsx("ul", { ref, className: cn("flex flex-col", className), ...props, children });
|
|
13408
14428
|
});
|
|
@@ -15039,6 +16059,6 @@ function SignatureEditor({
|
|
|
15039
16059
|
}
|
|
15040
16060
|
SignatureEditor.displayName = "SignatureEditor";
|
|
15041
16061
|
|
|
15042
|
-
export { AIReceiptPanel, Accordion, AccordionContent, AccordionItem, AccordionTrigger, ActivityEventItem, ActivityItem, ActivityList, AiDraftCard, Alert, AlertCircleIcon, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AlertTriangleIcon, AlertTriangleSolidIcon, AppHeader, AppHeaderActions, AppHeaderBreadcrumb, AppHeaderSearch, AppHeaderTitle, AreaChart, ArrowDownIcon, ArrowLeftIcon, ArrowRightIcon, ArrowRightSmallIcon, ArrowUpIcon, AspectRatio, Assignee, AssureAuditBrandIcon, AssureBooksBrandIcon, AssureProBrandIcon, AssureTaxBrandIcon, AtSignIcon, AttachmentChip, AttentionItem, Avatar, Badge, BarChartIcon, BellIcon, Blockquote, BoldIcon, BottomNav, Breadcrumb, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, BriefcaseIcon, Building2Icon, BuildingIcon, BulkActionBar, BulkActionBarAction, BulkActionBarSeparator, Button, COUNTRY_CODES, Calendar, CalendarIcon, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, CategoryDivider, CategoryTag, ChannelTabs, ChatBubbleIcon, CheckCircle2Icon, CheckCircleSolidIcon, CheckIcon, Checkbox, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, ChevronUpIcon, ChevronsUpDownIcon, CircleDotIcon, CircleIcon, ClientRailGroupHeader, ClientRailItem, ClientSelect, ClipboardCheckIcon, ClockIcon, CloseIcon, Collapsible, CollapsibleContent, CollapsibleTrigger, ComingSoon, CommandIcon, CommandPalette, ConfirmActionButton, Content16 as Content, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, CopyButton, CopyIcon, CornerDownLeftIcon, CountryFlag, CountrySelect, CreditCardIcon, DATE_DISPLAY_PLACEHOLDER, DangerAction, Dash, DashGrid, DataItem, DataTable, DataTableBody, DataTableCell, DataTableCellDue, DataTableCellId, DataTableCellMono, DataTableCellName, DataTableCheckbox, DataTableHead, DataTableHeader, DataTablePagination, DataTableResultsCount, DataTableRow, DataTableSearch, DataTableSpacer, DataTableToolbar, DataTableView, DatePicker, DateRangePicker, DetailGrid, DetailMain, DetailSpine, DetailSpineHeader, DetailSpineSection, DetailSpineStats, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DismissibleChip, DocumentDetailActions, DocumentDetailBody, DocumentDetailHeader, DocumentDetailMetaRow, DocumentDetailPanel, DocumentDetailRequester, DocumentDetailTitle, DocumentFileCard, DocumentFileRow, DocumentIcon, DocumentList, DocumentListSection, DocumentRequestCard, DocumentRequestDetail, DocumentRequestField, DocumentRow, DocumentsWorkspaceLayout, DollarSignIcon, DonutChart, DownloadIcon, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmailMessageCard, EmptyState, EngagementCard, EngagementTimeline, EngagementTimelineStep, ExtractIcon, EyeIcon, EyeOffIcon, Eyebrow, FileChip, FileIcon, FileReturnIcon, FileTextIcon, FileTypeBadge, FileUpload, FilterChip, FilterIcon, FlagIcon, FolderClosedIcon, FolderOpenIcon, FolderPlusIcon, FolderTree, FolderUpIcon, FormError, FormSection, FormSuccess, GlobeIcon, GoogleBrandIcon, HelpCircleIcon, HistoryIcon, HomeIcon, HoverCard, HoverCardContent, HoverCardPortal, HoverCardTrigger, IconAction, IconTile, InboxIcon, InfoCircleSolidIcon, InfoIcon, Input, IntentBadge, ItalicIcon, Kanban, KanbanCard, KanbanColumn, KanbanIcon, KbdHint, KeyIcon, KeyboardShortcutsDialog, KpiCard, Label4 as Label, LandmarkIcon, LayoutDashboardIcon, LayoutGridIcon, LayoutListIcon, LightningIcon, Link2Icon, LinkAction, LinkButton, LinkIcon, ListChecksIcon, ListIcon, ListOrderedIcon, LoaderIcon, LoadingRows, LockIcon, LockKeyholeIcon, LockOpenIcon, LogOutIcon, Logo, MailIcon, Main, MapPinIcon, MasterDetailLayout, MenuIcon, MessageBubble, MessageBubbleAction, MessageBubbleTombstone, MessageCircleIcon, MessageCircleWarningIcon, MessageComposer, MetadataGrid, MicrosoftBrandIcon, MinusIcon, MissingDocumentsPanel, MoneyCell, MonitorIcon, MoonIcon, MoreHorizontalIcon, MoveIcon, MultiFilterPill, MultiSelectField, MutedSpec, NewMenu, NotificationFilter, NotificationItem, NotificationList, NotificationPanel, NotificationPanelFooter, NotificationPanelHeader, Numeric, OTPInput, PageHeader, PageHeaderSep, PageHeaderSpec, Pagination, PaletteIcon, PanelLeftCloseIcon, PanelLeftIcon, PaperclipIcon, PauseIcon, PdfPreview, PenSignIcon, PenToolIcon, PencilIcon, PhoneCountryInput, PhoneIcon, PhoneInput, PlayIcon, PlusIcon, Popover, PopoverAnchor, PopoverClose, PopoverContent, PopoverPortal, PopoverTrigger, PrimaryAction, PriorityIcon, ProgressBar, ProgressRing, RadioGroup3 as RadioGroup, RadioGroupItem, RankedBars, ReceiptIcon, ReplyIcon, ResponsiveDialog, RotateCcwIcon, RouteTransition, SERVICE_TONES, SaveIcon, ScrollArea, ScrollBar, SearchIcon, SearchInput, SearchSelect, SecondaryAction, Section, SectionHead, SectionHeader, SegmentedProgress, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectRoot, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, SelectableKpiCard, SendIcon, Separator4 as Separator, SettingsIcon, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Shell, ShieldIcon, SideDrawer, Sidebar, SidebarBrand, SidebarBrandSwitcher, SidebarBrandSwitcherTile, SidebarBrandText, SidebarFooter, SidebarLink, SidebarLinkAction, SidebarLinkBadge, SidebarLinkGroup, SidebarLinkLabel, SidebarPinButton, SidebarProvider, SidebarSection, SidebarTrigger, SidebarUser, SignatureEditor, Skeleton, SkeletonCircle, SkeletonText, SlashIcon, Slider, SmartphoneIcon, SparkleIcon, SparklesIcon, Spinner, SpreadsheetPreview, StackedBarChart, StagePill, StarIcon, StarRating, Stat, StatusDot, StatusIcon, StatusPill, Stepper, StickyActionBar, StopIcon, StrikethroughIcon, SubmitButton, SuggestionPills, SuiteProgress, SunIcon, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableIcon, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, TagIcon, TagsCell, TeamIcon, TeamMemberSelect, Textarea, TimeLogger, TimeLoggerActions, TimeLoggerBillable, TimeLoggerContextRow, TimeLoggerEntry, TimeLoggerEntryList, TimeLoggerField, TimeLoggerFooter, TimeLoggerHeader, TimeLoggerNotes, TimeLoggerTimer, ToastProvider, ToggleGroup, ToggleGroupItem, Toolbar, Tooltip, TooltipContent, TooltipPortal, TooltipProvider, TooltipTrigger, Trash2Icon, TrashIcon, TrendingDownIcon, TrendingUpIcon, UnderlineIcon, UploadIcon, UserCircleIcon, UserIcon, UsersIcon, VisuallyHidden, WorkflowIcon, XCircleSolidIcon, XIcon, YEAR_DISPLAY_PLACEHOLDER, ZoomInIcon, ZoomOutIcon, alertVariants, applyMask, applyYearMask, attachmentChipVariants, badgeVariants, buttonVariants, cardVariants, cn, colors, dateToIso, displayToIso, fileTypeBadgeVariants, fileTypeFromName, filterChipVariants, formatClock, formatCurrency, formatDuration, getFlagEmoji, iconTileVariants, inputVariants, isoToDate, isoToDisplay, isoToYear, labelVariants, parseDuration, parsePhoneForEditing, progressBarVariants, progressRingVariants, radii, reference, searchInputVariants, serviceToneLabel, serviceToneStyle, shadows, sidebarLinkBadgeVariants, spacing, spinnerVariants, starRatingVariants, statusDotVariants, suiteProgressFillVariants, surfaces, systemTokens, textareaVariants, typography, useSidebarPeekLock, useSidebarState, useStopwatch, useToast, yearToIso };
|
|
16062
|
+
export { AIReceiptPanel, Accordion, AccordionContent, AccordionItem, AccordionTrigger, ActivityEventItem, ActivityItem, ActivityList, AgreementPaneHeading, AgreementViewer, AiDraftCard, Alert, AlertCircleIcon, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AlertTriangleIcon, AlertTriangleSolidIcon, AppHeader, AppHeaderActions, AppHeaderBreadcrumb, AppHeaderSearch, AppHeaderTitle, AreaChart, ArrowDownIcon, ArrowLeftIcon, ArrowRightIcon, ArrowRightSmallIcon, ArrowUpIcon, AspectRatio, Assignee, AssureAuditBrandIcon, AssureBooksBrandIcon, AssureProBrandIcon, AssureTaxBrandIcon, AtSignIcon, AttachmentChip, AttentionItem, Avatar, Badge, BarChartIcon, BellIcon, Blockquote, BoldIcon, BottomNav, Breadcrumb, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, BriefcaseIcon, Building2Icon, BuildingIcon, BulkActionBar, BulkActionBarAction, BulkActionBarSeparator, Button, COUNTRY_CODES, Calendar, CalendarIcon, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, CategoryDivider, CategoryTag, ChannelTabs, ChatBubbleIcon, CheckCircle2Icon, CheckCircleSolidIcon, CheckIcon, Checkbox, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, ChevronUpIcon, ChevronsUpDownIcon, CircleDotIcon, CircleIcon, ClientRailGroupHeader, ClientRailItem, ClientSelect, ClipboardCheckIcon, ClockIcon, CloseIcon, Collapsible, CollapsibleContent, CollapsibleTrigger, ComingSoon, CommandIcon, CommandPalette, ConfirmActionButton, Content16 as Content, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, CopyButton, CopyIcon, CornerDownLeftIcon, CountryFlag, CountrySelect, CreditCardIcon, DATE_DISPLAY_PLACEHOLDER, DangerAction, Dash, DashGrid, DataItem, DataTable, DataTableBody, DataTableCell, DataTableCellDue, DataTableCellId, DataTableCellMono, DataTableCellName, DataTableCheckbox, DataTableHead, DataTableHeader, DataTablePagination, DataTableResultsCount, DataTableRow, DataTableSearch, DataTableSpacer, DataTableToolbar, DataTableView, DatePicker, DateRangePicker, DetailGrid, DetailMain, DetailSpine, DetailSpineHeader, DetailSpineSection, DetailSpineStats, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DismissibleChip, DocumentDetailActions, DocumentDetailBody, DocumentDetailHeader, DocumentDetailMetaRow, DocumentDetailPanel, DocumentDetailRequester, DocumentDetailTitle, DocumentFileCard, DocumentFileRow, DocumentIcon, DocumentList, DocumentListSection, DocumentRequestCard, DocumentRequestDetail, DocumentRequestField, DocumentRow, DocumentSourceFilter, DocumentSourceTag, DocumentsWorkspaceLayout, DollarSignIcon, DonutChart, DownloadIcon, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmailMessageCard, EmptyState, EngagementCard, EngagementTimeline, EngagementTimelineStep, ExtractIcon, EyeIcon, EyeOffIcon, Eyebrow, FileChip, FileIcon, FileReturnIcon, FileTextIcon, FileTypeBadge, FileUpload, FilterChip, FilterIcon, FlagIcon, FolderClosedIcon, FolderOpenIcon, FolderPlusIcon, FolderTree, FolderUpIcon, FormError, FormSection, FormSuccess, GlobeIcon, GoogleBrandIcon, HelpCircleIcon, HistoryIcon, HomeIcon, HoverCard, HoverCardContent, HoverCardPortal, HoverCardTrigger, IconAction, IconTile, InboxIcon, InfoCircleSolidIcon, InfoIcon, Input, IntentBadge, ItalicIcon, Kanban, KanbanCard, KanbanColumn, KanbanIcon, KbdHint, KeyIcon, KeyboardShortcutsDialog, KpiCard, Label4 as Label, LandmarkIcon, LayoutDashboardIcon, LayoutGridIcon, LayoutListIcon, LightningIcon, Link2Icon, LinkAction, LinkButton, LinkIcon, ListChecksIcon, ListIcon, ListOrderedIcon, LoaderIcon, LoadingRows, LockIcon, LockKeyholeIcon, LockOpenIcon, LogOutIcon, Logo, MailIcon, Main, MapPinIcon, MasterDetailLayout, MenuIcon, MessageBubble, MessageBubbleAction, MessageBubbleTombstone, MessageCircleIcon, MessageCircleWarningIcon, MessageComposer, MetadataGrid, MicrosoftBrandIcon, MinusIcon, MissingDocumentsPanel, MoneyCell, MonitorIcon, MoonIcon, MoreHorizontalIcon, MoveIcon, MultiFilterPill, MultiSelectField, MutedSpec, NewMenu, NotificationFilter, NotificationItem, NotificationList, NotificationPanel, NotificationPanelFooter, NotificationPanelHeader, Numeric, OTPInput, PageHeader, PageHeaderSep, PageHeaderSpec, Pagination, PaletteIcon, PanelLeftCloseIcon, PanelLeftIcon, PaperclipIcon, PauseIcon, PdfPreview, PenSignIcon, PenToolIcon, PencilIcon, PhoneCountryInput, PhoneIcon, PhoneInput, PlayIcon, PlusIcon, Popover, PopoverAnchor, PopoverClose, PopoverContent, PopoverPortal, PopoverTrigger, PrimaryAction, PriorityIcon, ProgressBar, ProgressRing, ProposalAddOn, ProposalBillingTerms, ProposalConsentGate, ProposalCustomPage, ProposalNote, ProposalPackageCard, ProposalPaymentCapture, ProposalPricingSummary, ProposalServiceRow, ProposalSignatureBlock, ProposalSignerList, RadioGroup3 as RadioGroup, RadioGroupItem, RankedBars, ReceiptIcon, ReplyIcon, ResponsiveDialog, RotateCcwIcon, RouteTransition, SERVICE_TONES, SaveIcon, ScrollArea, ScrollBar, SearchIcon, SearchInput, SearchSelect, SecondaryAction, Section, SectionHead, SectionHeader, SegmentedProgress, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectRoot, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, SelectableKpiCard, SendIcon, Separator4 as Separator, SettingsIcon, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Shell, ShieldIcon, SideDrawer, Sidebar, SidebarBrand, SidebarBrandSwitcher, SidebarBrandSwitcherTile, SidebarBrandText, SidebarFooter, SidebarLink, SidebarLinkAction, SidebarLinkBadge, SidebarLinkGroup, SidebarLinkLabel, SidebarPinButton, SidebarProvider, SidebarSection, SidebarTrigger, SidebarUser, SignatureEditor, Skeleton, SkeletonCircle, SkeletonText, SlashIcon, Slider, SmartphoneIcon, SparkleIcon, SparklesIcon, Spinner, SpreadsheetPreview, StackedBarChart, StagePill, StarIcon, StarRating, Stat, StatusDot, StatusIcon, StatusPill, Stepper, StickyActionBar, StopIcon, StrikethroughIcon, SubmitButton, SuggestionPills, SuiteProgress, SunIcon, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableIcon, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, TagIcon, TagsCell, TeamIcon, TeamMemberSelect, Textarea, TimeLogger, TimeLoggerActions, TimeLoggerBillable, TimeLoggerContextRow, TimeLoggerEntry, TimeLoggerEntryList, TimeLoggerField, TimeLoggerFooter, TimeLoggerHeader, TimeLoggerNotes, TimeLoggerTimer, ToastProvider, ToggleGroup, ToggleGroupItem, Toolbar, Tooltip, TooltipContent, TooltipPortal, TooltipProvider, TooltipTrigger, Trash2Icon, TrashIcon, TrendingDownIcon, TrendingUpIcon, UnderlineIcon, UploadIcon, UserCircleIcon, UserIcon, UsersIcon, VisuallyHidden, WorkflowIcon, XCircleSolidIcon, XIcon, YEAR_DISPLAY_PLACEHOLDER, ZoomInIcon, ZoomOutIcon, alertVariants, applyMask, applyYearMask, attachmentChipVariants, badgeVariants, buttonVariants, cardVariants, cn, colors, dateToIso, displayToIso, fileTypeBadgeVariants, fileTypeFromName, filterChipVariants, formatClock, formatCurrency, formatDuration, getFlagEmoji, iconTileVariants, inputVariants, isoToDate, isoToDisplay, isoToYear, labelVariants, parseDuration, parsePhoneForEditing, progressBarVariants, progressRingVariants, radii, reference, searchInputVariants, serviceToneLabel, serviceToneStyle, shadows, sidebarLinkBadgeVariants, spacing, spinnerVariants, starRatingVariants, statusDotVariants, suiteProgressFillVariants, surfaces, systemTokens, textareaVariants, typography, useSidebarPeekLock, useSidebarState, useStopwatch, useToast, yearToIso };
|
|
15043
16063
|
//# sourceMappingURL=index.js.map
|
|
15044
16064
|
//# sourceMappingURL=index.js.map
|