@assure-one/design-system 1.15.0 → 1.17.1
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 +134 -3
- package/dist/index.js +1049 -13
- package/dist/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import * as React38 from 'react';
|
|
3
|
-
import { forwardRef, useId, useRef, useState, useEffect, useCallback, useImperativeHandle, useMemo, createContext, useContext } from 'react';
|
|
3
|
+
import { forwardRef, useId, useRef, useState, useEffect, useCallback, useImperativeHandle, useMemo, createContext, Fragment as Fragment$1, useContext } from 'react';
|
|
4
4
|
import * as AccordionPrimitive from '@radix-ui/react-accordion';
|
|
5
5
|
import { clsx } from 'clsx';
|
|
6
6
|
import { twMerge } from 'tailwind-merge';
|
|
@@ -5832,9 +5832,27 @@ var LoadingRows = forwardRef(function LoadingRows2({
|
|
|
5832
5832
|
});
|
|
5833
5833
|
LoadingRows.displayName = "LoadingRows";
|
|
5834
5834
|
var sizeStyles = {
|
|
5835
|
-
sm: { icon: 20, text: "text-sm", gap: "gap-2" },
|
|
5836
|
-
md: { icon: 24, text: "text-[17px]", gap: "gap-2.5" },
|
|
5837
|
-
lg: { icon: 32, text: "text-xl", gap: "gap-3" }
|
|
5835
|
+
sm: { icon: 20, text: "text-sm", gap: "gap-2", assetHeight: 24 },
|
|
5836
|
+
md: { icon: 24, text: "text-[17px]", gap: "gap-2.5", assetHeight: 30 },
|
|
5837
|
+
lg: { icon: 32, text: "text-xl", gap: "gap-3", assetHeight: 40 }
|
|
5838
|
+
};
|
|
5839
|
+
var productLogoAssets = {
|
|
5840
|
+
Pro: { src: "/brand/assure-pro.svg", width: 384, height: 90 },
|
|
5841
|
+
Audit: { src: "/brand/assure-audit.svg", width: 441, height: 90 },
|
|
5842
|
+
Books: { src: "/brand/assure-books.svg", width: 470, height: 90 },
|
|
5843
|
+
Tax: { src: "/brand/assure-tax.svg", width: 374, height: 90 }
|
|
5844
|
+
};
|
|
5845
|
+
var productMarkAssets = {
|
|
5846
|
+
Pro: { src: "/brand/assure-pro-mark.svg", width: 55, height: 48 },
|
|
5847
|
+
Audit: { src: "/brand/assure-audit-mark.svg", width: 55, height: 48 },
|
|
5848
|
+
Books: { src: "/brand/assure-books-mark.svg", width: 55, height: 48 },
|
|
5849
|
+
Tax: { src: "/brand/assure-tax-mark.svg", width: 55, height: 48 }
|
|
5850
|
+
};
|
|
5851
|
+
var productGlyphs = {
|
|
5852
|
+
Pro: AssureProBrandIcon,
|
|
5853
|
+
Audit: AssureAuditBrandIcon,
|
|
5854
|
+
Books: AssureBooksBrandIcon,
|
|
5855
|
+
Tax: AssureTaxBrandIcon
|
|
5838
5856
|
};
|
|
5839
5857
|
function Logo({
|
|
5840
5858
|
size = "md",
|
|
@@ -5848,6 +5866,9 @@ function Logo({
|
|
|
5848
5866
|
}) {
|
|
5849
5867
|
const s = sizeStyles[size];
|
|
5850
5868
|
const ariaLabel = productName ? `Assure ${productName}` : "Assure";
|
|
5869
|
+
const asset = productName ? productLogoAssets[productName] : void 0;
|
|
5870
|
+
const markAsset = productName ? productMarkAssets[productName] : void 0;
|
|
5871
|
+
const Glyph = productName ? productGlyphs[productName] : void 0;
|
|
5851
5872
|
return /* @__PURE__ */ jsxs(
|
|
5852
5873
|
Link,
|
|
5853
5874
|
{
|
|
@@ -5855,17 +5876,40 @@ function Logo({
|
|
|
5855
5876
|
className: cn("inline-flex items-center", s.gap, className),
|
|
5856
5877
|
"aria-label": ariaLabel,
|
|
5857
5878
|
children: [
|
|
5858
|
-
/* @__PURE__ */ jsx(
|
|
5879
|
+
asset && showText ? /* @__PURE__ */ jsx(
|
|
5859
5880
|
Image2,
|
|
5860
5881
|
{
|
|
5861
|
-
src:
|
|
5882
|
+
src: asset.src,
|
|
5862
5883
|
alt: "",
|
|
5863
|
-
width:
|
|
5864
|
-
height:
|
|
5884
|
+
width: asset.width,
|
|
5885
|
+
height: asset.height,
|
|
5865
5886
|
priority: true,
|
|
5866
|
-
className: cn("flex-shrink-0", iconClassName)
|
|
5887
|
+
className: cn("h-auto flex-shrink-0", inverted && "brightness-0 invert", iconClassName),
|
|
5888
|
+
style: { width: Math.round(asset.width / asset.height * s.assetHeight) }
|
|
5867
5889
|
}
|
|
5868
|
-
)
|
|
5890
|
+
) : markAsset ? /* @__PURE__ */ jsx(
|
|
5891
|
+
Image2,
|
|
5892
|
+
{
|
|
5893
|
+
src: markAsset.src,
|
|
5894
|
+
alt: "",
|
|
5895
|
+
width: markAsset.width,
|
|
5896
|
+
height: markAsset.height,
|
|
5897
|
+
priority: true,
|
|
5898
|
+
className: cn("h-auto flex-shrink-0", inverted && "brightness-0 invert", iconClassName),
|
|
5899
|
+
style: { width: Math.round(markAsset.width / markAsset.height * s.icon) }
|
|
5900
|
+
}
|
|
5901
|
+
) : /* @__PURE__ */ jsx(Fragment, { children: Glyph ? /* @__PURE__ */ jsx(Glyph, { size: s.icon, "aria-hidden": "true", className: iconClassName }) : /* @__PURE__ */ jsx(
|
|
5902
|
+
"span",
|
|
5903
|
+
{
|
|
5904
|
+
"aria-hidden": "true",
|
|
5905
|
+
className: cn(
|
|
5906
|
+
"bg-pro-fg grid shrink-0 place-items-center rounded-[5px] text-[10px] font-bold text-white",
|
|
5907
|
+
iconClassName
|
|
5908
|
+
),
|
|
5909
|
+
style: { width: s.icon, height: s.icon },
|
|
5910
|
+
children: "A"
|
|
5911
|
+
}
|
|
5912
|
+
) }),
|
|
5869
5913
|
showText && /* @__PURE__ */ jsxs(
|
|
5870
5914
|
"span",
|
|
5871
5915
|
{
|
|
@@ -5873,6 +5917,7 @@ function Logo({
|
|
|
5873
5917
|
"font-display font-semibold tracking-[-0.025em]",
|
|
5874
5918
|
s.text,
|
|
5875
5919
|
inverted ? "text-white" : "text-fg",
|
|
5920
|
+
asset && "sr-only",
|
|
5876
5921
|
textClassName
|
|
5877
5922
|
),
|
|
5878
5923
|
children: [
|
|
@@ -11060,6 +11105,997 @@ var ProposalPaymentCapture = forwardRef(
|
|
|
11060
11105
|
}
|
|
11061
11106
|
);
|
|
11062
11107
|
ProposalPaymentCapture.displayName = "ProposalPaymentCapture";
|
|
11108
|
+
var statusLabel = {
|
|
11109
|
+
"not-started": "Not started",
|
|
11110
|
+
"in-progress": "In progress",
|
|
11111
|
+
complete: "Complete",
|
|
11112
|
+
"needs-review": "Review"
|
|
11113
|
+
};
|
|
11114
|
+
var statusClassName = {
|
|
11115
|
+
"not-started": "bg-surface-2 text-fg-3 border-rule",
|
|
11116
|
+
"in-progress": "bg-pro-bg text-pro-fg border-pro-line",
|
|
11117
|
+
complete: "bg-success-bg text-success-fg border-success-line",
|
|
11118
|
+
"needs-review": "bg-warning-bg text-warning-fg border-warning-line"
|
|
11119
|
+
};
|
|
11120
|
+
var statusDotClassName = {
|
|
11121
|
+
"not-started": "bg-rule-strong",
|
|
11122
|
+
"in-progress": "bg-warning-fg",
|
|
11123
|
+
complete: "bg-success-fg",
|
|
11124
|
+
"needs-review": "bg-brand-audit"
|
|
11125
|
+
};
|
|
11126
|
+
var QuestionnairePanel = forwardRef(
|
|
11127
|
+
function QuestionnairePanel2({
|
|
11128
|
+
variant = "cards",
|
|
11129
|
+
eyebrow = "Questionnaire",
|
|
11130
|
+
title = "Tax organizer",
|
|
11131
|
+
description,
|
|
11132
|
+
sections = [],
|
|
11133
|
+
groups,
|
|
11134
|
+
activeId,
|
|
11135
|
+
onSelect,
|
|
11136
|
+
className,
|
|
11137
|
+
...props
|
|
11138
|
+
}, ref) {
|
|
11139
|
+
const navigationGroups = groups ?? (sections.length > 0 ? [
|
|
11140
|
+
{
|
|
11141
|
+
id: "questionnaire",
|
|
11142
|
+
title: eyebrow,
|
|
11143
|
+
icon: /* @__PURE__ */ jsx(ListChecksIcon, { size: 14, "aria-hidden": "true" }),
|
|
11144
|
+
sections,
|
|
11145
|
+
defaultOpen: true
|
|
11146
|
+
}
|
|
11147
|
+
] : []);
|
|
11148
|
+
const [openGroups, setOpenGroups] = useState(
|
|
11149
|
+
() => new Set(
|
|
11150
|
+
navigationGroups.filter((group) => group.defaultOpen !== false && group.sections.length > 0).map((group) => group.id)
|
|
11151
|
+
)
|
|
11152
|
+
);
|
|
11153
|
+
const selectedCardRef = useRef(null);
|
|
11154
|
+
useEffect(() => {
|
|
11155
|
+
selectedCardRef.current?.scrollIntoView({
|
|
11156
|
+
behavior: "smooth",
|
|
11157
|
+
block: "center",
|
|
11158
|
+
inline: "center"
|
|
11159
|
+
});
|
|
11160
|
+
}, [activeId]);
|
|
11161
|
+
const toggleGroup = (id) => {
|
|
11162
|
+
setOpenGroups((prev) => {
|
|
11163
|
+
const next = new Set(prev);
|
|
11164
|
+
if (next.has(id)) next.delete(id);
|
|
11165
|
+
else next.add(id);
|
|
11166
|
+
return next;
|
|
11167
|
+
});
|
|
11168
|
+
};
|
|
11169
|
+
if (variant === "navigation") {
|
|
11170
|
+
return /* @__PURE__ */ jsx(
|
|
11171
|
+
"aside",
|
|
11172
|
+
{
|
|
11173
|
+
ref,
|
|
11174
|
+
className: cn(
|
|
11175
|
+
"border-rule bg-surface shadow-card flex h-full min-h-[560px] flex-col overflow-hidden rounded-[14px] border",
|
|
11176
|
+
className
|
|
11177
|
+
),
|
|
11178
|
+
...props,
|
|
11179
|
+
children: /* @__PURE__ */ jsx("nav", { className: "overflow-y-auto py-1", "aria-label": title, children: navigationGroups.map((group) => {
|
|
11180
|
+
const isOpen = openGroups.has(group.id);
|
|
11181
|
+
const hasSections = group.sections.length > 0;
|
|
11182
|
+
return /* @__PURE__ */ jsxs("div", { className: "border-rule-soft border-b last:border-b-0", children: [
|
|
11183
|
+
/* @__PURE__ */ jsxs(
|
|
11184
|
+
"button",
|
|
11185
|
+
{
|
|
11186
|
+
type: "button",
|
|
11187
|
+
onClick: () => toggleGroup(group.id),
|
|
11188
|
+
"aria-expanded": isOpen,
|
|
11189
|
+
className: cn(
|
|
11190
|
+
"text-pro-fg flex h-8 w-full items-center gap-2 px-4 text-left text-[11px] font-bold tracking-[0.08em] uppercase",
|
|
11191
|
+
"hover:bg-pro-bg/50 transition-colors duration-[var(--duration-fast)]",
|
|
11192
|
+
"focus-visible:[box-shadow:var(--shadow-focus-ring)] focus-visible:outline-none"
|
|
11193
|
+
),
|
|
11194
|
+
children: [
|
|
11195
|
+
/* @__PURE__ */ jsx("span", { className: "text-pro-fg flex size-4 shrink-0 items-center justify-center", children: group.icon ?? /* @__PURE__ */ jsx(ListChecksIcon, { size: 14, "aria-hidden": "true" }) }),
|
|
11196
|
+
/* @__PURE__ */ jsx("span", { className: "min-w-0 flex-1 truncate", children: group.title }),
|
|
11197
|
+
hasSections && /* @__PURE__ */ jsx(
|
|
11198
|
+
ChevronDownIcon,
|
|
11199
|
+
{
|
|
11200
|
+
size: 13,
|
|
11201
|
+
"aria-hidden": "true",
|
|
11202
|
+
className: cn(
|
|
11203
|
+
"text-pro-fg transition-transform duration-[var(--duration-fast)]",
|
|
11204
|
+
!isOpen && "-rotate-90"
|
|
11205
|
+
)
|
|
11206
|
+
}
|
|
11207
|
+
)
|
|
11208
|
+
]
|
|
11209
|
+
}
|
|
11210
|
+
),
|
|
11211
|
+
isOpen && hasSections && /* @__PURE__ */ jsx("div", { className: "pb-1", children: group.sections.map((section) => {
|
|
11212
|
+
const selected = section.id === activeId;
|
|
11213
|
+
const status = section.status ?? "not-started";
|
|
11214
|
+
return /* @__PURE__ */ jsxs(
|
|
11215
|
+
"button",
|
|
11216
|
+
{
|
|
11217
|
+
type: "button",
|
|
11218
|
+
onClick: () => onSelect?.(section.id),
|
|
11219
|
+
"data-active": selected ? "true" : void 0,
|
|
11220
|
+
className: cn(
|
|
11221
|
+
"group flex h-8 w-full items-center gap-3 px-5 text-left",
|
|
11222
|
+
"text-fg-2 transition-colors duration-[var(--duration-fast)]",
|
|
11223
|
+
"hover:bg-bg-2 hover:text-fg",
|
|
11224
|
+
"focus-visible:[box-shadow:var(--shadow-focus-ring)] focus-visible:outline-none",
|
|
11225
|
+
selected && "bg-pro-bg text-pro-fg font-semibold"
|
|
11226
|
+
),
|
|
11227
|
+
children: [
|
|
11228
|
+
/* @__PURE__ */ jsx(
|
|
11229
|
+
"span",
|
|
11230
|
+
{
|
|
11231
|
+
className: cn(
|
|
11232
|
+
"text-fg-3 flex size-4 shrink-0 items-center justify-center",
|
|
11233
|
+
selected && "text-pro-fg"
|
|
11234
|
+
),
|
|
11235
|
+
children: section.icon
|
|
11236
|
+
}
|
|
11237
|
+
),
|
|
11238
|
+
/* @__PURE__ */ jsx("span", { className: "min-w-0 flex-1 truncate text-[13px]", children: section.title }),
|
|
11239
|
+
/* @__PURE__ */ jsx(
|
|
11240
|
+
"span",
|
|
11241
|
+
{
|
|
11242
|
+
"aria-label": statusLabel[status],
|
|
11243
|
+
className: cn(
|
|
11244
|
+
"size-1.5 shrink-0 rounded-full",
|
|
11245
|
+
statusDotClassName[status]
|
|
11246
|
+
)
|
|
11247
|
+
}
|
|
11248
|
+
)
|
|
11249
|
+
]
|
|
11250
|
+
},
|
|
11251
|
+
section.id
|
|
11252
|
+
);
|
|
11253
|
+
}) })
|
|
11254
|
+
] }, group.id);
|
|
11255
|
+
}) })
|
|
11256
|
+
}
|
|
11257
|
+
);
|
|
11258
|
+
}
|
|
11259
|
+
const totalQuestions = sections.reduce((sum, section) => sum + (section.questionCount ?? 0), 0);
|
|
11260
|
+
const completedQuestions = sections.reduce(
|
|
11261
|
+
(sum, section) => sum + (section.completedCount ?? 0),
|
|
11262
|
+
0
|
|
11263
|
+
);
|
|
11264
|
+
const percent = totalQuestions > 0 ? Math.round(completedQuestions / totalQuestions * 100) : 0;
|
|
11265
|
+
return /* @__PURE__ */ jsxs(
|
|
11266
|
+
"aside",
|
|
11267
|
+
{
|
|
11268
|
+
ref,
|
|
11269
|
+
className: cn(
|
|
11270
|
+
"border-rule bg-surface shadow-card flex h-auto min-h-0 flex-col rounded-[20px] border p-4",
|
|
11271
|
+
"lg:sticky lg:top-6 lg:h-[calc(100vh-48px)] lg:max-h-[760px] lg:min-h-[560px]",
|
|
11272
|
+
className
|
|
11273
|
+
),
|
|
11274
|
+
...props,
|
|
11275
|
+
children: [
|
|
11276
|
+
/* @__PURE__ */ jsxs("div", { className: "px-1 pb-4", children: [
|
|
11277
|
+
/* @__PURE__ */ jsx("p", { className: "text-pro-fg text-[11px] font-bold tracking-[0.12em] uppercase", children: eyebrow }),
|
|
11278
|
+
/* @__PURE__ */ jsx("h2", { className: "text-fg mt-1 text-[21px] leading-7 font-bold", children: title }),
|
|
11279
|
+
description && /* @__PURE__ */ jsx("p", { className: "text-fg-3 mt-2 text-[13px] leading-5", children: description }),
|
|
11280
|
+
totalQuestions > 0 && /* @__PURE__ */ jsxs("div", { className: "mt-4", children: [
|
|
11281
|
+
/* @__PURE__ */ jsxs("div", { className: "mb-2 flex items-center justify-between gap-3", children: [
|
|
11282
|
+
/* @__PURE__ */ jsx("span", { className: "text-fg-3 text-[12px] font-semibold", children: "Progress" }),
|
|
11283
|
+
/* @__PURE__ */ jsxs("span", { className: "text-fg text-[12px] font-bold tabular-nums", children: [
|
|
11284
|
+
percent,
|
|
11285
|
+
"%"
|
|
11286
|
+
] })
|
|
11287
|
+
] }),
|
|
11288
|
+
/* @__PURE__ */ jsx("div", { className: "bg-surface-3 h-2 overflow-hidden rounded-full", children: /* @__PURE__ */ jsx(
|
|
11289
|
+
"div",
|
|
11290
|
+
{
|
|
11291
|
+
className: "bg-pro-fg h-full rounded-full transition-[width] duration-[var(--duration-normal)] ease-[var(--ease-out-quart)]",
|
|
11292
|
+
style: { width: `${percent}%` }
|
|
11293
|
+
}
|
|
11294
|
+
) })
|
|
11295
|
+
] })
|
|
11296
|
+
] }),
|
|
11297
|
+
/* @__PURE__ */ jsxs("div", { className: "relative min-h-0 flex-1", children: [
|
|
11298
|
+
/* @__PURE__ */ jsx("div", { className: "from-surface pointer-events-none absolute inset-y-0 left-0 z-10 w-6 bg-gradient-to-r to-transparent lg:hidden" }),
|
|
11299
|
+
/* @__PURE__ */ jsx("div", { className: "from-surface pointer-events-none absolute inset-y-0 right-0 z-10 w-6 bg-gradient-to-l to-transparent lg:hidden" }),
|
|
11300
|
+
/* @__PURE__ */ jsx("div", { className: "from-surface pointer-events-none absolute inset-x-0 top-0 z-10 hidden h-1 bg-gradient-to-b to-transparent lg:block" }),
|
|
11301
|
+
/* @__PURE__ */ jsx("div", { className: "from-surface pointer-events-none absolute inset-x-0 bottom-0 z-10 hidden h-5 bg-gradient-to-t to-transparent lg:block" }),
|
|
11302
|
+
/* @__PURE__ */ jsx(
|
|
11303
|
+
"div",
|
|
11304
|
+
{
|
|
11305
|
+
className: cn(
|
|
11306
|
+
"flex snap-x snap-mandatory gap-3 overflow-x-auto overflow-y-hidden overscroll-x-contain scroll-smooth px-1 pt-2 pb-2",
|
|
11307
|
+
"[scroll-padding-inline:2rem] lg:[scroll-padding-inline:0] lg:[scroll-padding-block:5rem]",
|
|
11308
|
+
"motion-reduce:scroll-auto",
|
|
11309
|
+
"[scrollbar-color:var(--color-pro-fg)_transparent] [scrollbar-width:thin]",
|
|
11310
|
+
"[&::-webkit-scrollbar]:h-2 [&::-webkit-scrollbar]:w-2",
|
|
11311
|
+
"[&::-webkit-scrollbar-track]:bg-transparent",
|
|
11312
|
+
"[&::-webkit-scrollbar-thumb]:bg-pro-fg/35 [&::-webkit-scrollbar-thumb]:rounded-full",
|
|
11313
|
+
"hover:[&::-webkit-scrollbar-thumb]:bg-pro-fg/55",
|
|
11314
|
+
"lg:grid lg:max-h-full lg:snap-none lg:gap-2 lg:overflow-x-hidden lg:overflow-y-auto lg:pr-1"
|
|
11315
|
+
),
|
|
11316
|
+
children: sections.map((section, index) => {
|
|
11317
|
+
const selected = section.id === activeId;
|
|
11318
|
+
const status = section.status ?? "not-started";
|
|
11319
|
+
const itemPercent = section.questionCount && section.questionCount > 0 ? Math.round((section.completedCount ?? 0) / section.questionCount * 100) : 0;
|
|
11320
|
+
return /* @__PURE__ */ jsxs(
|
|
11321
|
+
"button",
|
|
11322
|
+
{
|
|
11323
|
+
ref: selected ? selectedCardRef : void 0,
|
|
11324
|
+
type: "button",
|
|
11325
|
+
onClick: () => onSelect?.(section.id),
|
|
11326
|
+
"data-active": selected ? "true" : void 0,
|
|
11327
|
+
className: cn(
|
|
11328
|
+
"group border-rule bg-surface flex w-full snap-center gap-3 overflow-hidden rounded-[16px] border p-3 text-left will-change-transform",
|
|
11329
|
+
selected ? "max-w-[300px] min-w-[280px] items-start sm:min-w-[300px] lg:max-w-none lg:min-w-0" : "max-w-[240px] min-w-[220px] items-center sm:min-w-[240px] lg:max-w-none lg:min-w-0",
|
|
11330
|
+
"transition-[background-color,border-color,box-shadow,transform,min-width,max-width] duration-[var(--duration-normal)] ease-[var(--ease-out-quart)] motion-reduce:transition-none",
|
|
11331
|
+
"hover:border-pro-line hover:bg-pro-bg/40 hover:-translate-y-0.5 lg:hover:translate-x-0.5 lg:hover:translate-y-0",
|
|
11332
|
+
"focus-visible:[box-shadow:var(--shadow-focus-ring)] focus-visible:outline-none",
|
|
11333
|
+
selected && "border-pro-line bg-pro-bg shadow-card relative z-10 scale-[1.02]"
|
|
11334
|
+
),
|
|
11335
|
+
children: [
|
|
11336
|
+
/* @__PURE__ */ jsx(
|
|
11337
|
+
"span",
|
|
11338
|
+
{
|
|
11339
|
+
className: cn(
|
|
11340
|
+
"mt-0.5 grid size-8 shrink-0 place-items-center rounded-full text-[12px] font-bold",
|
|
11341
|
+
status === "complete" ? "bg-success-bg text-success-fg" : selected ? "bg-pro-fg text-fg-on-pro" : "bg-surface-2 text-fg-3",
|
|
11342
|
+
!selected && "mt-0"
|
|
11343
|
+
),
|
|
11344
|
+
"aria-hidden": "true",
|
|
11345
|
+
children: status === "complete" ? /* @__PURE__ */ jsx(CheckCircleSolidIcon, { size: 18 }) : index + 1
|
|
11346
|
+
}
|
|
11347
|
+
),
|
|
11348
|
+
/* @__PURE__ */ jsxs("span", { className: "min-w-0 flex-1", children: [
|
|
11349
|
+
/* @__PURE__ */ jsxs("span", { className: "flex items-start justify-between gap-3", children: [
|
|
11350
|
+
/* @__PURE__ */ jsx("span", { className: "text-fg line-clamp-1 text-[14px] leading-5 font-bold", children: section.title }),
|
|
11351
|
+
!selected ? section.questionCount != null && /* @__PURE__ */ jsxs("span", { className: "text-fg-4 shrink-0 text-[12px] font-bold tabular-nums", children: [
|
|
11352
|
+
section.completedCount ?? 0,
|
|
11353
|
+
"/",
|
|
11354
|
+
section.questionCount
|
|
11355
|
+
] }) : /* @__PURE__ */ jsx(
|
|
11356
|
+
"span",
|
|
11357
|
+
{
|
|
11358
|
+
className: cn(
|
|
11359
|
+
"shrink-0 rounded-full border px-2 py-0.5 text-[10.5px] font-bold",
|
|
11360
|
+
statusClassName[status]
|
|
11361
|
+
),
|
|
11362
|
+
children: statusLabel[status]
|
|
11363
|
+
}
|
|
11364
|
+
)
|
|
11365
|
+
] }),
|
|
11366
|
+
/* @__PURE__ */ jsx(
|
|
11367
|
+
"span",
|
|
11368
|
+
{
|
|
11369
|
+
className: cn(
|
|
11370
|
+
"grid transition-[grid-template-rows,opacity,transform,margin-top] duration-[var(--duration-slow)] ease-[var(--ease-out-quart)] motion-reduce:transition-none",
|
|
11371
|
+
selected ? "mt-1 translate-y-0 grid-rows-[1fr] opacity-100" : "mt-0 -translate-y-1 grid-rows-[0fr] opacity-0"
|
|
11372
|
+
),
|
|
11373
|
+
children: /* @__PURE__ */ jsxs("span", { className: "overflow-hidden", children: [
|
|
11374
|
+
section.description && /* @__PURE__ */ jsx("span", { className: "text-fg-3 mt-1 line-clamp-2 text-[12px] leading-5", children: section.description }),
|
|
11375
|
+
/* @__PURE__ */ jsxs("span", { className: "mt-3 flex items-center gap-2", children: [
|
|
11376
|
+
section.meta && /* @__PURE__ */ jsx("span", { className: "text-fg-4 line-clamp-1 text-[11.5px] font-semibold", children: section.meta }),
|
|
11377
|
+
section.questionCount != null && /* @__PURE__ */ jsxs("span", { className: "text-fg-4 ml-auto shrink-0 text-[11.5px] font-semibold tabular-nums", children: [
|
|
11378
|
+
section.completedCount ?? 0,
|
|
11379
|
+
"/",
|
|
11380
|
+
section.questionCount
|
|
11381
|
+
] })
|
|
11382
|
+
] }),
|
|
11383
|
+
section.questionCount != null && /* @__PURE__ */ jsx("span", { className: "bg-surface-3 mt-2 block h-1.5 overflow-hidden rounded-full", children: /* @__PURE__ */ jsx(
|
|
11384
|
+
"span",
|
|
11385
|
+
{
|
|
11386
|
+
className: cn(
|
|
11387
|
+
"block h-full rounded-full transition-[width] duration-[var(--duration-slow)] ease-[var(--ease-out-quart)] motion-reduce:transition-none",
|
|
11388
|
+
status === "complete" ? "bg-success-fg" : "bg-pro-fg"
|
|
11389
|
+
),
|
|
11390
|
+
style: { width: `${itemPercent}%` }
|
|
11391
|
+
}
|
|
11392
|
+
) })
|
|
11393
|
+
] })
|
|
11394
|
+
}
|
|
11395
|
+
)
|
|
11396
|
+
] })
|
|
11397
|
+
]
|
|
11398
|
+
},
|
|
11399
|
+
section.id
|
|
11400
|
+
);
|
|
11401
|
+
})
|
|
11402
|
+
}
|
|
11403
|
+
)
|
|
11404
|
+
] }),
|
|
11405
|
+
/* @__PURE__ */ jsx("div", { className: "border-rule mt-auto hidden border-t px-1 pt-3 lg:block", children: /* @__PURE__ */ jsxs("div", { className: "text-fg-3 flex items-center gap-2 text-[12px] leading-5", children: [
|
|
11406
|
+
/* @__PURE__ */ jsx(HelpCircleIcon, { size: 15, className: "text-pro-fg", "aria-hidden": "true" }),
|
|
11407
|
+
"Pick a section to load its related questions on the right."
|
|
11408
|
+
] }) })
|
|
11409
|
+
]
|
|
11410
|
+
}
|
|
11411
|
+
);
|
|
11412
|
+
}
|
|
11413
|
+
);
|
|
11414
|
+
QuestionnairePanel.displayName = "QuestionnairePanel";
|
|
11415
|
+
var defaultOptions = [
|
|
11416
|
+
{ value: "yes", label: "Yes" },
|
|
11417
|
+
{ value: "no", label: "No" },
|
|
11418
|
+
{ value: "not-sure", label: "Not sure" }
|
|
11419
|
+
];
|
|
11420
|
+
var Questions = forwardRef(function Questions2({
|
|
11421
|
+
index,
|
|
11422
|
+
title,
|
|
11423
|
+
description,
|
|
11424
|
+
type = "short-text",
|
|
11425
|
+
required = false,
|
|
11426
|
+
chrome = "card",
|
|
11427
|
+
sectionLabel,
|
|
11428
|
+
hideHeader = false,
|
|
11429
|
+
options = defaultOptions,
|
|
11430
|
+
value = "",
|
|
11431
|
+
values = [],
|
|
11432
|
+
placeholder,
|
|
11433
|
+
help,
|
|
11434
|
+
addressValue = {},
|
|
11435
|
+
nameValue = {},
|
|
11436
|
+
showSuffix = true,
|
|
11437
|
+
tableColumns = [],
|
|
11438
|
+
tableRows = [],
|
|
11439
|
+
labeledColumns = [],
|
|
11440
|
+
labeledRows = [],
|
|
11441
|
+
labeledValue = {},
|
|
11442
|
+
files = [],
|
|
11443
|
+
accept,
|
|
11444
|
+
maxSize,
|
|
11445
|
+
multiple,
|
|
11446
|
+
currencySymbol = "$",
|
|
11447
|
+
min = 0,
|
|
11448
|
+
max,
|
|
11449
|
+
step = 1,
|
|
11450
|
+
countLabel,
|
|
11451
|
+
onValueChange,
|
|
11452
|
+
onValuesChange,
|
|
11453
|
+
onAddressChange,
|
|
11454
|
+
onNameChange,
|
|
11455
|
+
onLabeledChange,
|
|
11456
|
+
onTableRowsChange,
|
|
11457
|
+
onFilesSelected,
|
|
11458
|
+
className,
|
|
11459
|
+
...props
|
|
11460
|
+
}, ref) {
|
|
11461
|
+
const humanIndex = typeof index === "number" ? index + 1 : void 0;
|
|
11462
|
+
const isSectionHeader = type === "section-header";
|
|
11463
|
+
const isPlain = chrome === "plain" || isSectionHeader;
|
|
11464
|
+
const showHeader = isSectionHeader || !hideHeader;
|
|
11465
|
+
const toggleOption = (optionValue, checked) => {
|
|
11466
|
+
const nextValues = checked ? Array.from(/* @__PURE__ */ new Set([...values, optionValue])) : values.filter((item) => item !== optionValue);
|
|
11467
|
+
onValuesChange?.(nextValues);
|
|
11468
|
+
};
|
|
11469
|
+
const updateAddress = (key, nextValue) => {
|
|
11470
|
+
onAddressChange?.({ ...addressValue, [key]: nextValue });
|
|
11471
|
+
};
|
|
11472
|
+
const updateName = (key, nextValue) => {
|
|
11473
|
+
onNameChange?.({ ...nameValue, [key]: nextValue });
|
|
11474
|
+
};
|
|
11475
|
+
const updateCell = (rowKey, colKey, nextValue) => {
|
|
11476
|
+
onLabeledChange?.({
|
|
11477
|
+
...labeledValue,
|
|
11478
|
+
[rowKey]: { ...labeledValue[rowKey] ?? {}, [colKey]: nextValue }
|
|
11479
|
+
});
|
|
11480
|
+
};
|
|
11481
|
+
const updateRow = (rowIndex, key, nextValue) => {
|
|
11482
|
+
onTableRowsChange?.(
|
|
11483
|
+
tableRows.map((row, index2) => index2 === rowIndex ? { ...row, [key]: nextValue } : row)
|
|
11484
|
+
);
|
|
11485
|
+
};
|
|
11486
|
+
const emptyRow = () => tableColumns.reduce((row, column) => ({ ...row, [column.key]: "" }), {});
|
|
11487
|
+
const addRow = () => {
|
|
11488
|
+
onTableRowsChange?.([...tableRows, emptyRow()]);
|
|
11489
|
+
};
|
|
11490
|
+
const removeRow = (rowIndex) => {
|
|
11491
|
+
onTableRowsChange?.(tableRows.filter((_, index2) => index2 !== rowIndex));
|
|
11492
|
+
};
|
|
11493
|
+
const setRowCount = (nextCount) => {
|
|
11494
|
+
const clamped = Math.max(min, max != null ? Math.min(nextCount, max) : nextCount);
|
|
11495
|
+
if (clamped > tableRows.length) {
|
|
11496
|
+
const added = Array.from({ length: clamped - tableRows.length }, emptyRow);
|
|
11497
|
+
onTableRowsChange?.([...tableRows, ...added]);
|
|
11498
|
+
} else if (clamped < tableRows.length) {
|
|
11499
|
+
onTableRowsChange?.(tableRows.slice(0, clamped));
|
|
11500
|
+
}
|
|
11501
|
+
};
|
|
11502
|
+
return /* @__PURE__ */ jsxs(
|
|
11503
|
+
"section",
|
|
11504
|
+
{
|
|
11505
|
+
ref,
|
|
11506
|
+
className: cn(
|
|
11507
|
+
"font-body",
|
|
11508
|
+
isPlain ? "bg-transparent" : "border-rule bg-surface shadow-card rounded-[18px] border p-5",
|
|
11509
|
+
className
|
|
11510
|
+
),
|
|
11511
|
+
...props,
|
|
11512
|
+
children: [
|
|
11513
|
+
showHeader && /* @__PURE__ */ jsxs("div", { className: cn("flex items-start gap-3", !isSectionHeader && "mb-4"), children: [
|
|
11514
|
+
humanIndex && !isPlain && /* @__PURE__ */ jsx(
|
|
11515
|
+
"span",
|
|
11516
|
+
{
|
|
11517
|
+
"aria-hidden": "true",
|
|
11518
|
+
className: "bg-pro-bg text-pro-fg grid size-7 shrink-0 place-items-center rounded-full text-xs font-bold",
|
|
11519
|
+
children: humanIndex
|
|
11520
|
+
}
|
|
11521
|
+
),
|
|
11522
|
+
/* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1", children: [
|
|
11523
|
+
(sectionLabel || isSectionHeader) && /* @__PURE__ */ jsx("p", { className: "text-pro-fg mb-1 text-[11px] font-bold tracking-[0.12em] uppercase", children: sectionLabel }),
|
|
11524
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [
|
|
11525
|
+
/* @__PURE__ */ jsx(
|
|
11526
|
+
"h3",
|
|
11527
|
+
{
|
|
11528
|
+
className: cn(
|
|
11529
|
+
"text-fg",
|
|
11530
|
+
isSectionHeader ? "text-[22px] leading-7 font-bold" : "text-[14px] leading-5 font-bold"
|
|
11531
|
+
),
|
|
11532
|
+
children: title
|
|
11533
|
+
}
|
|
11534
|
+
),
|
|
11535
|
+
help && /* @__PURE__ */ jsx(HelpTip, { title: help.title ?? title, body: help.body }),
|
|
11536
|
+
required && /* @__PURE__ */ jsx("span", { className: "bg-pro-bg text-pro-fg rounded-full px-2 py-0.5 text-[11px] font-bold", children: "Required" })
|
|
11537
|
+
] }),
|
|
11538
|
+
description && type !== "consent-checkbox" && /* @__PURE__ */ jsx("p", { className: "text-fg-3 mt-1 text-[13px] leading-5", children: description })
|
|
11539
|
+
] })
|
|
11540
|
+
] }),
|
|
11541
|
+
type === "section-header" && null,
|
|
11542
|
+
type === "short-text" && /* @__PURE__ */ jsx(
|
|
11543
|
+
Input,
|
|
11544
|
+
{
|
|
11545
|
+
value,
|
|
11546
|
+
onChange: (event) => onValueChange?.(event.target.value),
|
|
11547
|
+
placeholder: placeholder ?? "Type your answer",
|
|
11548
|
+
"aria-label": title,
|
|
11549
|
+
className: "h-11 rounded-[12px] text-[14px]"
|
|
11550
|
+
}
|
|
11551
|
+
),
|
|
11552
|
+
type === "email" && /* @__PURE__ */ jsx(
|
|
11553
|
+
Input,
|
|
11554
|
+
{
|
|
11555
|
+
type: "email",
|
|
11556
|
+
value,
|
|
11557
|
+
onChange: (event) => onValueChange?.(event.target.value),
|
|
11558
|
+
placeholder: placeholder ?? "client@example.com",
|
|
11559
|
+
"aria-label": title,
|
|
11560
|
+
className: "h-11 rounded-[12px] text-[14px]"
|
|
11561
|
+
}
|
|
11562
|
+
),
|
|
11563
|
+
type === "phone" && /* @__PURE__ */ jsx(
|
|
11564
|
+
Input,
|
|
11565
|
+
{
|
|
11566
|
+
type: "tel",
|
|
11567
|
+
value,
|
|
11568
|
+
onChange: (event) => onValueChange?.(event.target.value),
|
|
11569
|
+
placeholder: placeholder ?? "(555) 123-4567",
|
|
11570
|
+
"aria-label": title,
|
|
11571
|
+
className: "h-11 rounded-[12px] text-[14px]"
|
|
11572
|
+
}
|
|
11573
|
+
),
|
|
11574
|
+
type === "ssn-sin" && /* @__PURE__ */ jsx(
|
|
11575
|
+
Input,
|
|
11576
|
+
{
|
|
11577
|
+
value,
|
|
11578
|
+
onChange: (event) => onValueChange?.(event.target.value),
|
|
11579
|
+
placeholder: placeholder ?? "Enter SSN or SIN",
|
|
11580
|
+
"aria-label": title,
|
|
11581
|
+
inputMode: "numeric",
|
|
11582
|
+
className: "h-11 rounded-[12px] text-[14px]"
|
|
11583
|
+
}
|
|
11584
|
+
),
|
|
11585
|
+
type === "date" && /* @__PURE__ */ jsx(
|
|
11586
|
+
Input,
|
|
11587
|
+
{
|
|
11588
|
+
type: "date",
|
|
11589
|
+
value,
|
|
11590
|
+
onChange: (event) => onValueChange?.(event.target.value),
|
|
11591
|
+
"aria-label": title,
|
|
11592
|
+
className: "h-11 rounded-[12px] text-[14px]"
|
|
11593
|
+
}
|
|
11594
|
+
),
|
|
11595
|
+
type === "number" && /* @__PURE__ */ jsx(
|
|
11596
|
+
Input,
|
|
11597
|
+
{
|
|
11598
|
+
type: "number",
|
|
11599
|
+
value,
|
|
11600
|
+
onChange: (event) => onValueChange?.(event.target.value),
|
|
11601
|
+
placeholder: placeholder ?? "0",
|
|
11602
|
+
"aria-label": title,
|
|
11603
|
+
className: "h-11 rounded-[12px] text-[14px]"
|
|
11604
|
+
}
|
|
11605
|
+
),
|
|
11606
|
+
type === "number-stepper" && /* @__PURE__ */ jsx(
|
|
11607
|
+
NumberStepper,
|
|
11608
|
+
{
|
|
11609
|
+
value: Number(value) || 0,
|
|
11610
|
+
onValueChange: (next) => onValueChange?.(String(next)),
|
|
11611
|
+
min,
|
|
11612
|
+
max,
|
|
11613
|
+
step,
|
|
11614
|
+
ariaLabel: title
|
|
11615
|
+
}
|
|
11616
|
+
),
|
|
11617
|
+
type === "currency" && /* @__PURE__ */ jsx(
|
|
11618
|
+
Input,
|
|
11619
|
+
{
|
|
11620
|
+
value,
|
|
11621
|
+
onChange: (event) => onValueChange?.(event.target.value),
|
|
11622
|
+
placeholder: placeholder ?? "0.00",
|
|
11623
|
+
"aria-label": title,
|
|
11624
|
+
inputMode: "decimal",
|
|
11625
|
+
prefixIcon: /* @__PURE__ */ jsx("span", { className: "text-xs font-semibold", children: currencySymbol }),
|
|
11626
|
+
className: "h-11 rounded-[12px] text-[14px]"
|
|
11627
|
+
}
|
|
11628
|
+
),
|
|
11629
|
+
type === "percentage" && /* @__PURE__ */ jsx(
|
|
11630
|
+
Input,
|
|
11631
|
+
{
|
|
11632
|
+
value,
|
|
11633
|
+
onChange: (event) => onValueChange?.(event.target.value),
|
|
11634
|
+
placeholder: placeholder ?? "0",
|
|
11635
|
+
"aria-label": title,
|
|
11636
|
+
inputMode: "decimal",
|
|
11637
|
+
suffixIcon: /* @__PURE__ */ jsx("span", { className: "text-xs font-semibold", children: "%" }),
|
|
11638
|
+
className: "h-11 rounded-[12px] text-[14px]"
|
|
11639
|
+
}
|
|
11640
|
+
),
|
|
11641
|
+
type === "long-text" && /* @__PURE__ */ jsx(
|
|
11642
|
+
Textarea,
|
|
11643
|
+
{
|
|
11644
|
+
value,
|
|
11645
|
+
onChange: (event) => onValueChange?.(event.target.value),
|
|
11646
|
+
placeholder: placeholder ?? "Write a detailed answer",
|
|
11647
|
+
"aria-label": title,
|
|
11648
|
+
autoResize: true,
|
|
11649
|
+
className: "rounded-[12px] text-[14px]"
|
|
11650
|
+
}
|
|
11651
|
+
),
|
|
11652
|
+
(type === "single-choice" || type === "yes-no") && /* @__PURE__ */ jsx(
|
|
11653
|
+
"div",
|
|
11654
|
+
{
|
|
11655
|
+
className: cn(
|
|
11656
|
+
"grid gap-3",
|
|
11657
|
+
type === "yes-no" ? "grid-cols-[repeat(auto-fit,minmax(78px,max-content))]" : ""
|
|
11658
|
+
),
|
|
11659
|
+
role: "radiogroup",
|
|
11660
|
+
"aria-label": title,
|
|
11661
|
+
children: (type === "yes-no" ? [
|
|
11662
|
+
{ value: "yes", label: "Yes" },
|
|
11663
|
+
{ value: "no", label: "No" }
|
|
11664
|
+
] : options).map((option) => /* @__PURE__ */ jsx(
|
|
11665
|
+
QuestionOptionButton,
|
|
11666
|
+
{
|
|
11667
|
+
option,
|
|
11668
|
+
selected: value === option.value,
|
|
11669
|
+
compact: type === "yes-no",
|
|
11670
|
+
role: "radio",
|
|
11671
|
+
"aria-checked": value === option.value,
|
|
11672
|
+
onClick: () => onValueChange?.(option.value)
|
|
11673
|
+
},
|
|
11674
|
+
option.value
|
|
11675
|
+
))
|
|
11676
|
+
}
|
|
11677
|
+
),
|
|
11678
|
+
type === "dropdown" && /* @__PURE__ */ jsx(
|
|
11679
|
+
Select,
|
|
11680
|
+
{
|
|
11681
|
+
options,
|
|
11682
|
+
value,
|
|
11683
|
+
onValueChange,
|
|
11684
|
+
placeholder: placeholder ?? "Select an option",
|
|
11685
|
+
"aria-label": title
|
|
11686
|
+
}
|
|
11687
|
+
),
|
|
11688
|
+
(type === "multi-choice" || type === "multi-select") && /* @__PURE__ */ jsx("div", { className: "grid gap-3", role: "group", "aria-label": title, children: options.map((option) => /* @__PURE__ */ jsx(
|
|
11689
|
+
QuestionOptionButton,
|
|
11690
|
+
{
|
|
11691
|
+
option,
|
|
11692
|
+
selected: values.includes(option.value),
|
|
11693
|
+
role: "checkbox",
|
|
11694
|
+
"aria-checked": values.includes(option.value),
|
|
11695
|
+
onClick: () => toggleOption(option.value, !values.includes(option.value))
|
|
11696
|
+
},
|
|
11697
|
+
option.value
|
|
11698
|
+
)) }),
|
|
11699
|
+
type === "address" && /* @__PURE__ */ jsxs("div", { className: "grid gap-3 sm:grid-cols-2", children: [
|
|
11700
|
+
/* @__PURE__ */ jsx(
|
|
11701
|
+
Input,
|
|
11702
|
+
{
|
|
11703
|
+
value: addressValue.line1 ?? "",
|
|
11704
|
+
onChange: (event) => updateAddress("line1", event.target.value),
|
|
11705
|
+
placeholder: "Street address",
|
|
11706
|
+
"aria-label": `${title} street address`,
|
|
11707
|
+
className: "h-11 rounded-[12px] text-[14px] sm:col-span-2"
|
|
11708
|
+
}
|
|
11709
|
+
),
|
|
11710
|
+
/* @__PURE__ */ jsx(
|
|
11711
|
+
Input,
|
|
11712
|
+
{
|
|
11713
|
+
value: addressValue.line2 ?? "",
|
|
11714
|
+
onChange: (event) => updateAddress("line2", event.target.value),
|
|
11715
|
+
placeholder: "Apt, suite, unit",
|
|
11716
|
+
"aria-label": `${title} address line 2`,
|
|
11717
|
+
className: "h-11 rounded-[12px] text-[14px] sm:col-span-2"
|
|
11718
|
+
}
|
|
11719
|
+
),
|
|
11720
|
+
/* @__PURE__ */ jsx(
|
|
11721
|
+
Input,
|
|
11722
|
+
{
|
|
11723
|
+
value: addressValue.city ?? "",
|
|
11724
|
+
onChange: (event) => updateAddress("city", event.target.value),
|
|
11725
|
+
placeholder: "City",
|
|
11726
|
+
"aria-label": `${title} city`,
|
|
11727
|
+
className: "h-11 rounded-[12px] text-[14px]"
|
|
11728
|
+
}
|
|
11729
|
+
),
|
|
11730
|
+
/* @__PURE__ */ jsx(
|
|
11731
|
+
Input,
|
|
11732
|
+
{
|
|
11733
|
+
value: addressValue.region ?? "",
|
|
11734
|
+
onChange: (event) => updateAddress("region", event.target.value),
|
|
11735
|
+
placeholder: "State / Province",
|
|
11736
|
+
"aria-label": `${title} state or province`,
|
|
11737
|
+
className: "h-11 rounded-[12px] text-[14px]"
|
|
11738
|
+
}
|
|
11739
|
+
),
|
|
11740
|
+
/* @__PURE__ */ jsx(
|
|
11741
|
+
Input,
|
|
11742
|
+
{
|
|
11743
|
+
value: addressValue.postalCode ?? "",
|
|
11744
|
+
onChange: (event) => updateAddress("postalCode", event.target.value),
|
|
11745
|
+
placeholder: "ZIP / Postal code",
|
|
11746
|
+
"aria-label": `${title} zip or postal code`,
|
|
11747
|
+
className: "h-11 rounded-[12px] text-[14px]"
|
|
11748
|
+
}
|
|
11749
|
+
),
|
|
11750
|
+
/* @__PURE__ */ jsx(
|
|
11751
|
+
Input,
|
|
11752
|
+
{
|
|
11753
|
+
value: addressValue.country ?? "",
|
|
11754
|
+
onChange: (event) => updateAddress("country", event.target.value),
|
|
11755
|
+
placeholder: "Country",
|
|
11756
|
+
"aria-label": `${title} country`,
|
|
11757
|
+
className: "h-11 rounded-[12px] text-[14px]"
|
|
11758
|
+
}
|
|
11759
|
+
)
|
|
11760
|
+
] }),
|
|
11761
|
+
type === "name" && /* @__PURE__ */ jsxs("div", { className: "grid gap-3 sm:grid-cols-6", children: [
|
|
11762
|
+
/* @__PURE__ */ jsx(
|
|
11763
|
+
Input,
|
|
11764
|
+
{
|
|
11765
|
+
value: nameValue.first ?? "",
|
|
11766
|
+
onChange: (event) => updateName("first", event.target.value),
|
|
11767
|
+
placeholder: "First name",
|
|
11768
|
+
"aria-label": `${title} first name`,
|
|
11769
|
+
className: "h-11 rounded-[12px] text-[14px] sm:col-span-2"
|
|
11770
|
+
}
|
|
11771
|
+
),
|
|
11772
|
+
/* @__PURE__ */ jsx(
|
|
11773
|
+
Input,
|
|
11774
|
+
{
|
|
11775
|
+
value: nameValue.middle ?? "",
|
|
11776
|
+
onChange: (event) => updateName("middle", event.target.value),
|
|
11777
|
+
placeholder: "Middle",
|
|
11778
|
+
"aria-label": `${title} middle name`,
|
|
11779
|
+
className: "h-11 rounded-[12px] text-[14px] sm:col-span-1"
|
|
11780
|
+
}
|
|
11781
|
+
),
|
|
11782
|
+
/* @__PURE__ */ jsx(
|
|
11783
|
+
Input,
|
|
11784
|
+
{
|
|
11785
|
+
value: nameValue.last ?? "",
|
|
11786
|
+
onChange: (event) => updateName("last", event.target.value),
|
|
11787
|
+
placeholder: "Last name",
|
|
11788
|
+
"aria-label": `${title} last name`,
|
|
11789
|
+
className: cn(
|
|
11790
|
+
"h-11 rounded-[12px] text-[14px]",
|
|
11791
|
+
showSuffix ? "sm:col-span-2" : "sm:col-span-3"
|
|
11792
|
+
)
|
|
11793
|
+
}
|
|
11794
|
+
),
|
|
11795
|
+
showSuffix && /* @__PURE__ */ jsx(
|
|
11796
|
+
Input,
|
|
11797
|
+
{
|
|
11798
|
+
value: nameValue.suffix ?? "",
|
|
11799
|
+
onChange: (event) => updateName("suffix", event.target.value),
|
|
11800
|
+
placeholder: "Suffix",
|
|
11801
|
+
"aria-label": `${title} suffix`,
|
|
11802
|
+
className: "h-11 rounded-[12px] text-[14px] sm:col-span-1"
|
|
11803
|
+
}
|
|
11804
|
+
)
|
|
11805
|
+
] }),
|
|
11806
|
+
type === "labeled-table" && /* @__PURE__ */ jsx("div", { className: "overflow-x-auto", children: /* @__PURE__ */ jsxs(
|
|
11807
|
+
"div",
|
|
11808
|
+
{
|
|
11809
|
+
role: "table",
|
|
11810
|
+
"aria-label": title,
|
|
11811
|
+
className: "grid min-w-[560px] gap-2",
|
|
11812
|
+
style: {
|
|
11813
|
+
gridTemplateColumns: `minmax(120px,max-content) ${labeledColumns.map((column) => `minmax(0, ${column.width ?? 1}fr)`).join(" ")}`
|
|
11814
|
+
},
|
|
11815
|
+
children: [
|
|
11816
|
+
/* @__PURE__ */ jsx("span", { "aria-hidden": "true" }),
|
|
11817
|
+
labeledColumns.map((column) => /* @__PURE__ */ jsx(
|
|
11818
|
+
"span",
|
|
11819
|
+
{
|
|
11820
|
+
className: "text-fg-3 flex items-end px-1 text-[12px] font-semibold",
|
|
11821
|
+
children: column.title
|
|
11822
|
+
},
|
|
11823
|
+
column.key
|
|
11824
|
+
)),
|
|
11825
|
+
labeledRows.map((row) => /* @__PURE__ */ jsxs(Fragment$1, { children: [
|
|
11826
|
+
/* @__PURE__ */ jsx("span", { className: "text-fg flex items-center text-[13px] font-semibold", children: row.title }),
|
|
11827
|
+
labeledColumns.map((column) => /* @__PURE__ */ jsx(
|
|
11828
|
+
Input,
|
|
11829
|
+
{
|
|
11830
|
+
type: column.inputType === "date" ? "date" : "text",
|
|
11831
|
+
value: labeledValue[row.key]?.[column.key] ?? "",
|
|
11832
|
+
onChange: (event) => updateCell(row.key, column.key, event.target.value),
|
|
11833
|
+
"aria-label": `${title} ${row.title} ${column.title}`,
|
|
11834
|
+
className: "h-11 rounded-[12px] text-[14px]",
|
|
11835
|
+
inputMode: column.inputType === "number" || column.inputType === "currency" ? "decimal" : void 0,
|
|
11836
|
+
prefixIcon: column.inputType === "currency" ? /* @__PURE__ */ jsx("span", { className: "text-xs font-semibold", children: currencySymbol }) : void 0
|
|
11837
|
+
},
|
|
11838
|
+
column.key
|
|
11839
|
+
))
|
|
11840
|
+
] }, row.key))
|
|
11841
|
+
]
|
|
11842
|
+
}
|
|
11843
|
+
) }),
|
|
11844
|
+
type === "file-upload" && /* @__PURE__ */ jsxs("div", { className: "grid gap-3", children: [
|
|
11845
|
+
/* @__PURE__ */ jsx(
|
|
11846
|
+
FileUpload,
|
|
11847
|
+
{
|
|
11848
|
+
accept,
|
|
11849
|
+
maxSize,
|
|
11850
|
+
multiple,
|
|
11851
|
+
onFilesSelected
|
|
11852
|
+
}
|
|
11853
|
+
),
|
|
11854
|
+
files.length > 0 && /* @__PURE__ */ jsx("div", { className: "grid gap-2", children: files.map((file) => /* @__PURE__ */ jsx(
|
|
11855
|
+
FileChip,
|
|
11856
|
+
{
|
|
11857
|
+
name: file.name,
|
|
11858
|
+
meta: file.size ? formatBytes2(file.size) : void 0,
|
|
11859
|
+
kind: file.kind ?? "doc"
|
|
11860
|
+
},
|
|
11861
|
+
`${file.name}-${file.size ?? "unknown"}`
|
|
11862
|
+
)) })
|
|
11863
|
+
] }),
|
|
11864
|
+
(type === "table" || type === "repeater") && /* @__PURE__ */ jsxs("div", { className: "grid gap-3", children: [
|
|
11865
|
+
countLabel && /* @__PURE__ */ jsxs("div", { className: "flex flex-wrap items-center justify-between gap-3", children: [
|
|
11866
|
+
/* @__PURE__ */ jsx("span", { className: "text-fg text-[13px] font-semibold", children: countLabel }),
|
|
11867
|
+
/* @__PURE__ */ jsx(
|
|
11868
|
+
NumberStepper,
|
|
11869
|
+
{
|
|
11870
|
+
value: tableRows.length,
|
|
11871
|
+
onValueChange: setRowCount,
|
|
11872
|
+
min,
|
|
11873
|
+
max,
|
|
11874
|
+
step,
|
|
11875
|
+
ariaLabel: countLabel
|
|
11876
|
+
}
|
|
11877
|
+
)
|
|
11878
|
+
] }),
|
|
11879
|
+
tableRows.map((row, rowIndex) => /* @__PURE__ */ jsxs("div", { className: "border-rule bg-surface-2 rounded-[16px] border p-4", children: [
|
|
11880
|
+
/* @__PURE__ */ jsxs("div", { className: "mb-3 flex items-center justify-between gap-3", children: [
|
|
11881
|
+
/* @__PURE__ */ jsxs("span", { className: "text-fg text-[13px] font-semibold", children: [
|
|
11882
|
+
type === "repeater" ? "Item" : "Row",
|
|
11883
|
+
" ",
|
|
11884
|
+
rowIndex + 1
|
|
11885
|
+
] }),
|
|
11886
|
+
!countLabel && tableRows.length > 1 && /* @__PURE__ */ jsx(
|
|
11887
|
+
Button,
|
|
11888
|
+
{
|
|
11889
|
+
type: "button",
|
|
11890
|
+
variant: "ghost",
|
|
11891
|
+
size: "icon-sm",
|
|
11892
|
+
onClick: () => removeRow(rowIndex),
|
|
11893
|
+
"aria-label": `Remove row ${rowIndex + 1}`,
|
|
11894
|
+
children: /* @__PURE__ */ jsx(TrashIcon, { size: 14, "aria-hidden": "true" })
|
|
11895
|
+
}
|
|
11896
|
+
)
|
|
11897
|
+
] }),
|
|
11898
|
+
/* @__PURE__ */ jsx("div", { className: "grid gap-3 sm:grid-cols-2", children: tableColumns.map((column) => /* @__PURE__ */ jsx(
|
|
11899
|
+
Input,
|
|
11900
|
+
{
|
|
11901
|
+
type: column.inputType === "date" ? "date" : "text",
|
|
11902
|
+
value: row[column.key] ?? "",
|
|
11903
|
+
onChange: (event) => updateRow(rowIndex, column.key, event.target.value),
|
|
11904
|
+
placeholder: column.placeholder ?? column.label,
|
|
11905
|
+
"aria-label": `${title} ${column.label} row ${rowIndex + 1}`,
|
|
11906
|
+
className: "h-11 rounded-[12px] text-[14px]",
|
|
11907
|
+
inputMode: column.inputType === "number" || column.inputType === "currency" ? "decimal" : void 0,
|
|
11908
|
+
prefixIcon: column.inputType === "currency" ? /* @__PURE__ */ jsx("span", { className: "text-xs font-semibold", children: currencySymbol }) : void 0
|
|
11909
|
+
},
|
|
11910
|
+
column.key
|
|
11911
|
+
)) })
|
|
11912
|
+
] }, rowIndex)),
|
|
11913
|
+
!countLabel && /* @__PURE__ */ jsxs(
|
|
11914
|
+
Button,
|
|
11915
|
+
{
|
|
11916
|
+
type: "button",
|
|
11917
|
+
variant: "dashed",
|
|
11918
|
+
size: "sm",
|
|
11919
|
+
onClick: addRow,
|
|
11920
|
+
iconLeft: /* @__PURE__ */ jsx(PlusIcon, { size: 14 }),
|
|
11921
|
+
children: [
|
|
11922
|
+
"Add ",
|
|
11923
|
+
type === "repeater" ? "item" : "row"
|
|
11924
|
+
]
|
|
11925
|
+
}
|
|
11926
|
+
)
|
|
11927
|
+
] }),
|
|
11928
|
+
type === "signature" && /* @__PURE__ */ jsxs("div", { className: "border-rule-strong bg-surface-2 rounded-[16px] border border-dashed p-5", children: [
|
|
11929
|
+
/* @__PURE__ */ jsxs("div", { className: "text-fg-2 mb-3 flex items-center gap-2", children: [
|
|
11930
|
+
/* @__PURE__ */ jsx(PenSignIcon, { size: 18, "aria-hidden": "true" }),
|
|
11931
|
+
/* @__PURE__ */ jsx("span", { className: "text-[13px] font-semibold", children: "Signature" })
|
|
11932
|
+
] }),
|
|
11933
|
+
/* @__PURE__ */ jsx(
|
|
11934
|
+
Input,
|
|
11935
|
+
{
|
|
11936
|
+
value,
|
|
11937
|
+
onChange: (event) => onValueChange?.(event.target.value),
|
|
11938
|
+
placeholder: placeholder ?? "Type full legal name",
|
|
11939
|
+
"aria-label": title,
|
|
11940
|
+
className: "h-11 rounded-[12px] text-[14px]"
|
|
11941
|
+
}
|
|
11942
|
+
)
|
|
11943
|
+
] }),
|
|
11944
|
+
type === "consent-checkbox" && /* @__PURE__ */ jsx(
|
|
11945
|
+
Checkbox,
|
|
11946
|
+
{
|
|
11947
|
+
label: description ?? title,
|
|
11948
|
+
checked: value === "true",
|
|
11949
|
+
onCheckedChange: (checked) => onValueChange?.(checked === true ? "true" : "false")
|
|
11950
|
+
}
|
|
11951
|
+
)
|
|
11952
|
+
]
|
|
11953
|
+
}
|
|
11954
|
+
);
|
|
11955
|
+
});
|
|
11956
|
+
Questions.displayName = "Questions";
|
|
11957
|
+
function QuestionOptionButton({
|
|
11958
|
+
option,
|
|
11959
|
+
selected,
|
|
11960
|
+
compact,
|
|
11961
|
+
className,
|
|
11962
|
+
...props
|
|
11963
|
+
}) {
|
|
11964
|
+
return /* @__PURE__ */ jsxs(
|
|
11965
|
+
"button",
|
|
11966
|
+
{
|
|
11967
|
+
type: "button",
|
|
11968
|
+
disabled: option.disabled,
|
|
11969
|
+
className: cn(
|
|
11970
|
+
"group bg-surface flex w-full items-center gap-3 border text-left",
|
|
11971
|
+
"transition-[border-color,background-color,color,box-shadow,transform] duration-[var(--duration-fast)] ease-[var(--ease-out-quart)]",
|
|
11972
|
+
"focus-visible:[box-shadow:var(--shadow-focus-ring)] focus-visible:outline-none",
|
|
11973
|
+
"disabled:bg-bg-disabled disabled:text-fg-disabled disabled:cursor-not-allowed",
|
|
11974
|
+
compact ? "h-10 max-w-max rounded-[10px] px-3" : "min-h-16 rounded-[12px] px-7 py-4",
|
|
11975
|
+
selected ? compact ? "border-pro-fg bg-pro-bg text-pro-fg shadow-xs" : "border-pro-line bg-pro-bg text-pro-fg hover:bg-pro-bg-hover shadow-xs" : "border-rule-strong text-fg hover:border-pro-line hover:bg-pro-bg/40",
|
|
11976
|
+
className
|
|
11977
|
+
),
|
|
11978
|
+
...props,
|
|
11979
|
+
children: [
|
|
11980
|
+
/* @__PURE__ */ jsx(
|
|
11981
|
+
"span",
|
|
11982
|
+
{
|
|
11983
|
+
"aria-hidden": "true",
|
|
11984
|
+
className: cn(
|
|
11985
|
+
"grid shrink-0 place-items-center rounded-full border transition-colors duration-[var(--duration-fast)]",
|
|
11986
|
+
compact ? "size-5" : "size-4",
|
|
11987
|
+
selected ? "border-pro-fg bg-pro-fg text-fg-on-pro" : "border-rule-strong bg-surface group-hover:border-pro-line text-transparent"
|
|
11988
|
+
),
|
|
11989
|
+
children: selected && /* @__PURE__ */ jsx(CheckCircleSolidIcon, { size: compact ? 18 : 14 })
|
|
11990
|
+
}
|
|
11991
|
+
),
|
|
11992
|
+
/* @__PURE__ */ jsxs("span", { className: "flex min-w-0 flex-1 items-center gap-1.5", children: [
|
|
11993
|
+
/* @__PURE__ */ jsx("span", { className: cn("truncate font-bold", compact ? "text-[13px]" : "text-[15px]"), children: option.label }),
|
|
11994
|
+
option.helpText && /* @__PURE__ */ jsx(HelpTip, { title: option.label, body: option.helpText })
|
|
11995
|
+
] }),
|
|
11996
|
+
option.formLabel && !compact && /* @__PURE__ */ jsx(
|
|
11997
|
+
"span",
|
|
11998
|
+
{
|
|
11999
|
+
className: cn(
|
|
12000
|
+
"ml-auto shrink-0 text-right text-[13px] font-semibold",
|
|
12001
|
+
selected ? "text-pro-fg" : "text-fg-3"
|
|
12002
|
+
),
|
|
12003
|
+
children: option.formLabel
|
|
12004
|
+
}
|
|
12005
|
+
)
|
|
12006
|
+
]
|
|
12007
|
+
}
|
|
12008
|
+
);
|
|
12009
|
+
}
|
|
12010
|
+
function formatBytes2(bytes) {
|
|
12011
|
+
if (bytes < 1024) return `${bytes} B`;
|
|
12012
|
+
if (bytes < 1024 * 1024) return `${(bytes / 1024).toFixed(1)} KB`;
|
|
12013
|
+
return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;
|
|
12014
|
+
}
|
|
12015
|
+
function HelpTip({ title, body }) {
|
|
12016
|
+
return /* @__PURE__ */ jsxs(Tooltip, { children: [
|
|
12017
|
+
/* @__PURE__ */ jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx("span", { className: "text-pro-fg inline-flex shrink-0 cursor-help", children: /* @__PURE__ */ jsx(HelpCircleIcon, { size: 14, "aria-hidden": "true" }) }) }),
|
|
12018
|
+
/* @__PURE__ */ jsxs(
|
|
12019
|
+
TooltipContent,
|
|
12020
|
+
{
|
|
12021
|
+
side: "top",
|
|
12022
|
+
align: "center",
|
|
12023
|
+
sideOffset: 12,
|
|
12024
|
+
className: cn(
|
|
12025
|
+
"border-rule bg-surface shadow-pop relative max-w-[352px] rounded-[7px] p-5 text-left",
|
|
12026
|
+
"after:border-rule after:bg-surface after:absolute after:top-full after:left-1/2 after:size-4 after:-translate-x-1/2 after:-translate-y-1/2 after:rotate-45 after:border-r after:border-b after:content-['']"
|
|
12027
|
+
),
|
|
12028
|
+
children: [
|
|
12029
|
+
/* @__PURE__ */ jsx("div", { className: "text-fg text-[15px] leading-5 font-bold", children: title }),
|
|
12030
|
+
/* @__PURE__ */ jsx("p", { className: "text-fg-2 mt-3 text-[14px] leading-6", children: body })
|
|
12031
|
+
]
|
|
12032
|
+
}
|
|
12033
|
+
)
|
|
12034
|
+
] });
|
|
12035
|
+
}
|
|
12036
|
+
function NumberStepper({
|
|
12037
|
+
value,
|
|
12038
|
+
onValueChange,
|
|
12039
|
+
min = 0,
|
|
12040
|
+
max,
|
|
12041
|
+
step = 1,
|
|
12042
|
+
ariaLabel
|
|
12043
|
+
}) {
|
|
12044
|
+
const clamp = (next) => Math.max(min, max != null ? Math.min(next, max) : next);
|
|
12045
|
+
const current = clamp(Number.isFinite(value) ? value : min);
|
|
12046
|
+
const atMin = current <= min;
|
|
12047
|
+
const atMax = max != null && current >= max;
|
|
12048
|
+
return /* @__PURE__ */ jsxs(
|
|
12049
|
+
"div",
|
|
12050
|
+
{
|
|
12051
|
+
className: "inline-flex items-center gap-2",
|
|
12052
|
+
role: "spinbutton",
|
|
12053
|
+
"aria-valuenow": current,
|
|
12054
|
+
"aria-valuemin": min,
|
|
12055
|
+
"aria-valuemax": max,
|
|
12056
|
+
"aria-label": ariaLabel,
|
|
12057
|
+
children: [
|
|
12058
|
+
/* @__PURE__ */ jsx(
|
|
12059
|
+
Button,
|
|
12060
|
+
{
|
|
12061
|
+
type: "button",
|
|
12062
|
+
variant: "secondary",
|
|
12063
|
+
size: "icon-sm",
|
|
12064
|
+
onClick: () => onValueChange(clamp(current - step)),
|
|
12065
|
+
disabled: atMin,
|
|
12066
|
+
"aria-label": "Decrease",
|
|
12067
|
+
children: /* @__PURE__ */ jsx(MinusIcon, { size: 14, "aria-hidden": "true" })
|
|
12068
|
+
}
|
|
12069
|
+
),
|
|
12070
|
+
/* @__PURE__ */ jsx(
|
|
12071
|
+
Input,
|
|
12072
|
+
{
|
|
12073
|
+
value: String(current),
|
|
12074
|
+
onChange: (event) => {
|
|
12075
|
+
const parsed = Number(event.target.value.replace(/[^0-9-]/g, ""));
|
|
12076
|
+
onValueChange(clamp(Number.isFinite(parsed) ? parsed : min));
|
|
12077
|
+
},
|
|
12078
|
+
inputMode: "numeric",
|
|
12079
|
+
"aria-label": ariaLabel,
|
|
12080
|
+
className: "h-11 w-14 rounded-[12px] text-center text-[14px] tabular-nums"
|
|
12081
|
+
}
|
|
12082
|
+
),
|
|
12083
|
+
/* @__PURE__ */ jsx(
|
|
12084
|
+
Button,
|
|
12085
|
+
{
|
|
12086
|
+
type: "button",
|
|
12087
|
+
variant: "secondary",
|
|
12088
|
+
size: "icon-sm",
|
|
12089
|
+
onClick: () => onValueChange(clamp(current + step)),
|
|
12090
|
+
disabled: atMax,
|
|
12091
|
+
"aria-label": "Increase",
|
|
12092
|
+
children: /* @__PURE__ */ jsx(PlusIcon, { size: 14, "aria-hidden": "true" })
|
|
12093
|
+
}
|
|
12094
|
+
)
|
|
12095
|
+
]
|
|
12096
|
+
}
|
|
12097
|
+
);
|
|
12098
|
+
}
|
|
11063
12099
|
function AiSpark({ size = 16, className }) {
|
|
11064
12100
|
const id = useId();
|
|
11065
12101
|
return /* @__PURE__ */ jsxs(
|
|
@@ -14452,7 +15488,7 @@ var DocumentRequestDetail = forwardRef(
|
|
|
14452
15488
|
title,
|
|
14453
15489
|
category,
|
|
14454
15490
|
highPriority,
|
|
14455
|
-
statusLabel,
|
|
15491
|
+
statusLabel: statusLabel2,
|
|
14456
15492
|
statusVariant = "secondary",
|
|
14457
15493
|
requester,
|
|
14458
15494
|
due,
|
|
@@ -14500,7 +15536,7 @@ var DocumentRequestDetail = forwardRef(
|
|
|
14500
15536
|
] }),
|
|
14501
15537
|
highPriority && /* @__PURE__ */ jsx(Badge, { variant: "warning", children: "High priority" })
|
|
14502
15538
|
] }) : void 0,
|
|
14503
|
-
status:
|
|
15539
|
+
status: statusLabel2 ? /* @__PURE__ */ jsx(Badge, { variant: statusVariant, children: statusLabel2 }) : void 0,
|
|
14504
15540
|
children: [
|
|
14505
15541
|
/* @__PURE__ */ jsx(DocumentDetailTitle, { children: title }),
|
|
14506
15542
|
/* @__PURE__ */ jsx(
|
|
@@ -16569,6 +17605,6 @@ function SignatureEditor({
|
|
|
16569
17605
|
}
|
|
16570
17606
|
SignatureEditor.displayName = "SignatureEditor";
|
|
16571
17607
|
|
|
16572
|
-
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 };
|
|
17608
|
+
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, QuestionnairePanel, Questions, 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 };
|
|
16573
17609
|
//# sourceMappingURL=index.js.map
|
|
16574
17610
|
//# sourceMappingURL=index.js.map
|