@assure-one/design-system 1.15.0 → 1.17.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.js CHANGED
@@ -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: "/brand/mark.svg",
5882
+ src: asset.src,
5862
5883
  alt: "",
5863
- width: s.icon,
5864
- height: s.icon,
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,795 @@ 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
+ addressValue = {},
11434
+ tableColumns = [],
11435
+ tableRows = [],
11436
+ files = [],
11437
+ accept,
11438
+ maxSize,
11439
+ multiple,
11440
+ currencySymbol = "$",
11441
+ onValueChange,
11442
+ onValuesChange,
11443
+ onAddressChange,
11444
+ onTableRowsChange,
11445
+ onFilesSelected,
11446
+ className,
11447
+ ...props
11448
+ }, ref) {
11449
+ const humanIndex = typeof index === "number" ? index + 1 : void 0;
11450
+ const isSectionHeader = type === "section-header";
11451
+ const isPlain = chrome === "plain" || isSectionHeader;
11452
+ const showHeader = isSectionHeader || !hideHeader;
11453
+ const toggleOption = (optionValue, checked) => {
11454
+ const nextValues = checked ? Array.from(/* @__PURE__ */ new Set([...values, optionValue])) : values.filter((item) => item !== optionValue);
11455
+ onValuesChange?.(nextValues);
11456
+ };
11457
+ const updateAddress = (key, nextValue) => {
11458
+ onAddressChange?.({ ...addressValue, [key]: nextValue });
11459
+ };
11460
+ const updateRow = (rowIndex, key, nextValue) => {
11461
+ onTableRowsChange?.(
11462
+ tableRows.map((row, index2) => index2 === rowIndex ? { ...row, [key]: nextValue } : row)
11463
+ );
11464
+ };
11465
+ const addRow = () => {
11466
+ const emptyRow = tableColumns.reduce(
11467
+ (row, column) => ({ ...row, [column.key]: "" }),
11468
+ {}
11469
+ );
11470
+ onTableRowsChange?.([...tableRows, emptyRow]);
11471
+ };
11472
+ const removeRow = (rowIndex) => {
11473
+ onTableRowsChange?.(tableRows.filter((_, index2) => index2 !== rowIndex));
11474
+ };
11475
+ return /* @__PURE__ */ jsxs(
11476
+ "section",
11477
+ {
11478
+ ref,
11479
+ className: cn(
11480
+ "font-body",
11481
+ isPlain ? "bg-transparent" : "border-rule bg-surface shadow-card rounded-[18px] border p-5",
11482
+ className
11483
+ ),
11484
+ ...props,
11485
+ children: [
11486
+ showHeader && /* @__PURE__ */ jsxs("div", { className: cn("flex items-start gap-3", !isSectionHeader && "mb-4"), children: [
11487
+ humanIndex && !isPlain && /* @__PURE__ */ jsx(
11488
+ "span",
11489
+ {
11490
+ "aria-hidden": "true",
11491
+ className: "bg-pro-bg text-pro-fg grid size-7 shrink-0 place-items-center rounded-full text-xs font-bold",
11492
+ children: humanIndex
11493
+ }
11494
+ ),
11495
+ /* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1", children: [
11496
+ (sectionLabel || isSectionHeader) && /* @__PURE__ */ jsx("p", { className: "text-pro-fg mb-1 text-[11px] font-bold tracking-[0.12em] uppercase", children: sectionLabel }),
11497
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [
11498
+ /* @__PURE__ */ jsx(
11499
+ "h3",
11500
+ {
11501
+ className: cn(
11502
+ "text-fg",
11503
+ isSectionHeader ? "text-[22px] leading-7 font-bold" : "text-[14px] leading-5 font-bold"
11504
+ ),
11505
+ children: title
11506
+ }
11507
+ ),
11508
+ required && /* @__PURE__ */ jsx("span", { className: "bg-pro-bg text-pro-fg rounded-full px-2 py-0.5 text-[11px] font-bold", children: "Required" })
11509
+ ] }),
11510
+ description && type !== "consent-checkbox" && /* @__PURE__ */ jsx("p", { className: "text-fg-3 mt-1 text-[13px] leading-5", children: description })
11511
+ ] })
11512
+ ] }),
11513
+ type === "section-header" && null,
11514
+ type === "short-text" && /* @__PURE__ */ jsx(
11515
+ Input,
11516
+ {
11517
+ value,
11518
+ onChange: (event) => onValueChange?.(event.target.value),
11519
+ placeholder: placeholder ?? "Type your answer",
11520
+ "aria-label": title,
11521
+ className: "h-11 rounded-[12px] text-[14px]"
11522
+ }
11523
+ ),
11524
+ type === "email" && /* @__PURE__ */ jsx(
11525
+ Input,
11526
+ {
11527
+ type: "email",
11528
+ value,
11529
+ onChange: (event) => onValueChange?.(event.target.value),
11530
+ placeholder: placeholder ?? "client@example.com",
11531
+ "aria-label": title,
11532
+ className: "h-11 rounded-[12px] text-[14px]"
11533
+ }
11534
+ ),
11535
+ type === "phone" && /* @__PURE__ */ jsx(
11536
+ Input,
11537
+ {
11538
+ type: "tel",
11539
+ value,
11540
+ onChange: (event) => onValueChange?.(event.target.value),
11541
+ placeholder: placeholder ?? "(555) 123-4567",
11542
+ "aria-label": title,
11543
+ className: "h-11 rounded-[12px] text-[14px]"
11544
+ }
11545
+ ),
11546
+ type === "ssn-sin" && /* @__PURE__ */ jsx(
11547
+ Input,
11548
+ {
11549
+ value,
11550
+ onChange: (event) => onValueChange?.(event.target.value),
11551
+ placeholder: placeholder ?? "Enter SSN or SIN",
11552
+ "aria-label": title,
11553
+ inputMode: "numeric",
11554
+ className: "h-11 rounded-[12px] text-[14px]"
11555
+ }
11556
+ ),
11557
+ type === "date" && /* @__PURE__ */ jsx(
11558
+ Input,
11559
+ {
11560
+ type: "date",
11561
+ value,
11562
+ onChange: (event) => onValueChange?.(event.target.value),
11563
+ "aria-label": title,
11564
+ className: "h-11 rounded-[12px] text-[14px]"
11565
+ }
11566
+ ),
11567
+ type === "number" && /* @__PURE__ */ jsx(
11568
+ Input,
11569
+ {
11570
+ type: "number",
11571
+ value,
11572
+ onChange: (event) => onValueChange?.(event.target.value),
11573
+ placeholder: placeholder ?? "0",
11574
+ "aria-label": title,
11575
+ className: "h-11 rounded-[12px] text-[14px]"
11576
+ }
11577
+ ),
11578
+ type === "currency" && /* @__PURE__ */ jsx(
11579
+ Input,
11580
+ {
11581
+ value,
11582
+ onChange: (event) => onValueChange?.(event.target.value),
11583
+ placeholder: placeholder ?? "0.00",
11584
+ "aria-label": title,
11585
+ inputMode: "decimal",
11586
+ prefixIcon: /* @__PURE__ */ jsx("span", { className: "text-xs font-semibold", children: currencySymbol }),
11587
+ className: "h-11 rounded-[12px] text-[14px]"
11588
+ }
11589
+ ),
11590
+ type === "percentage" && /* @__PURE__ */ jsx(
11591
+ Input,
11592
+ {
11593
+ value,
11594
+ onChange: (event) => onValueChange?.(event.target.value),
11595
+ placeholder: placeholder ?? "0",
11596
+ "aria-label": title,
11597
+ inputMode: "decimal",
11598
+ suffixIcon: /* @__PURE__ */ jsx("span", { className: "text-xs font-semibold", children: "%" }),
11599
+ className: "h-11 rounded-[12px] text-[14px]"
11600
+ }
11601
+ ),
11602
+ type === "long-text" && /* @__PURE__ */ jsx(
11603
+ Textarea,
11604
+ {
11605
+ value,
11606
+ onChange: (event) => onValueChange?.(event.target.value),
11607
+ placeholder: placeholder ?? "Write a detailed answer",
11608
+ "aria-label": title,
11609
+ autoResize: true,
11610
+ className: "rounded-[12px] text-[14px]"
11611
+ }
11612
+ ),
11613
+ (type === "single-choice" || type === "yes-no") && /* @__PURE__ */ jsx(
11614
+ "div",
11615
+ {
11616
+ className: cn(
11617
+ "grid gap-3",
11618
+ type === "yes-no" ? "grid-cols-[repeat(auto-fit,minmax(78px,max-content))]" : ""
11619
+ ),
11620
+ role: "radiogroup",
11621
+ "aria-label": title,
11622
+ children: (type === "yes-no" ? [
11623
+ { value: "yes", label: "Yes" },
11624
+ { value: "no", label: "No" }
11625
+ ] : options).map((option) => /* @__PURE__ */ jsx(
11626
+ QuestionOptionButton,
11627
+ {
11628
+ option,
11629
+ selected: value === option.value,
11630
+ compact: type === "yes-no",
11631
+ role: "radio",
11632
+ "aria-checked": value === option.value,
11633
+ onClick: () => onValueChange?.(option.value)
11634
+ },
11635
+ option.value
11636
+ ))
11637
+ }
11638
+ ),
11639
+ type === "dropdown" && /* @__PURE__ */ jsx(
11640
+ Select,
11641
+ {
11642
+ options,
11643
+ value,
11644
+ onValueChange,
11645
+ placeholder: placeholder ?? "Select an option",
11646
+ "aria-label": title
11647
+ }
11648
+ ),
11649
+ (type === "multi-choice" || type === "multi-select") && /* @__PURE__ */ jsx("div", { className: "grid gap-3", role: "group", "aria-label": title, children: options.map((option) => /* @__PURE__ */ jsx(
11650
+ QuestionOptionButton,
11651
+ {
11652
+ option,
11653
+ selected: values.includes(option.value),
11654
+ role: "checkbox",
11655
+ "aria-checked": values.includes(option.value),
11656
+ onClick: () => toggleOption(option.value, !values.includes(option.value))
11657
+ },
11658
+ option.value
11659
+ )) }),
11660
+ type === "address" && /* @__PURE__ */ jsxs("div", { className: "grid gap-3 sm:grid-cols-2", children: [
11661
+ /* @__PURE__ */ jsx(
11662
+ Input,
11663
+ {
11664
+ value: addressValue.line1 ?? "",
11665
+ onChange: (event) => updateAddress("line1", event.target.value),
11666
+ placeholder: "Street address",
11667
+ "aria-label": `${title} street address`,
11668
+ className: "h-11 rounded-[12px] text-[14px] sm:col-span-2"
11669
+ }
11670
+ ),
11671
+ /* @__PURE__ */ jsx(
11672
+ Input,
11673
+ {
11674
+ value: addressValue.line2 ?? "",
11675
+ onChange: (event) => updateAddress("line2", event.target.value),
11676
+ placeholder: "Apt, suite, unit",
11677
+ "aria-label": `${title} address line 2`,
11678
+ className: "h-11 rounded-[12px] text-[14px] sm:col-span-2"
11679
+ }
11680
+ ),
11681
+ /* @__PURE__ */ jsx(
11682
+ Input,
11683
+ {
11684
+ value: addressValue.city ?? "",
11685
+ onChange: (event) => updateAddress("city", event.target.value),
11686
+ placeholder: "City",
11687
+ "aria-label": `${title} city`,
11688
+ className: "h-11 rounded-[12px] text-[14px]"
11689
+ }
11690
+ ),
11691
+ /* @__PURE__ */ jsx(
11692
+ Input,
11693
+ {
11694
+ value: addressValue.region ?? "",
11695
+ onChange: (event) => updateAddress("region", event.target.value),
11696
+ placeholder: "State / Province",
11697
+ "aria-label": `${title} state or province`,
11698
+ className: "h-11 rounded-[12px] text-[14px]"
11699
+ }
11700
+ ),
11701
+ /* @__PURE__ */ jsx(
11702
+ Input,
11703
+ {
11704
+ value: addressValue.postalCode ?? "",
11705
+ onChange: (event) => updateAddress("postalCode", event.target.value),
11706
+ placeholder: "ZIP / Postal code",
11707
+ "aria-label": `${title} zip or postal code`,
11708
+ className: "h-11 rounded-[12px] text-[14px]"
11709
+ }
11710
+ ),
11711
+ /* @__PURE__ */ jsx(
11712
+ Input,
11713
+ {
11714
+ value: addressValue.country ?? "",
11715
+ onChange: (event) => updateAddress("country", event.target.value),
11716
+ placeholder: "Country",
11717
+ "aria-label": `${title} country`,
11718
+ className: "h-11 rounded-[12px] text-[14px]"
11719
+ }
11720
+ )
11721
+ ] }),
11722
+ type === "file-upload" && /* @__PURE__ */ jsxs("div", { className: "grid gap-3", children: [
11723
+ /* @__PURE__ */ jsx(
11724
+ FileUpload,
11725
+ {
11726
+ accept,
11727
+ maxSize,
11728
+ multiple,
11729
+ onFilesSelected
11730
+ }
11731
+ ),
11732
+ files.length > 0 && /* @__PURE__ */ jsx("div", { className: "grid gap-2", children: files.map((file) => /* @__PURE__ */ jsx(
11733
+ FileChip,
11734
+ {
11735
+ name: file.name,
11736
+ meta: file.size ? formatBytes2(file.size) : void 0,
11737
+ kind: file.kind ?? "doc"
11738
+ },
11739
+ `${file.name}-${file.size ?? "unknown"}`
11740
+ )) })
11741
+ ] }),
11742
+ (type === "table" || type === "repeater") && /* @__PURE__ */ jsxs("div", { className: "grid gap-3", children: [
11743
+ tableRows.map((row, rowIndex) => /* @__PURE__ */ jsxs("div", { className: "border-rule bg-surface-2 rounded-[16px] border p-4", children: [
11744
+ /* @__PURE__ */ jsxs("div", { className: "mb-3 flex items-center justify-between gap-3", children: [
11745
+ /* @__PURE__ */ jsxs("span", { className: "text-fg text-[13px] font-semibold", children: [
11746
+ type === "repeater" ? "Item" : "Row",
11747
+ " ",
11748
+ rowIndex + 1
11749
+ ] }),
11750
+ tableRows.length > 1 && /* @__PURE__ */ jsx(
11751
+ Button,
11752
+ {
11753
+ type: "button",
11754
+ variant: "ghost",
11755
+ size: "icon-sm",
11756
+ onClick: () => removeRow(rowIndex),
11757
+ "aria-label": `Remove row ${rowIndex + 1}`,
11758
+ children: /* @__PURE__ */ jsx(TrashIcon, { size: 14, "aria-hidden": "true" })
11759
+ }
11760
+ )
11761
+ ] }),
11762
+ /* @__PURE__ */ jsx("div", { className: "grid gap-3 sm:grid-cols-2", children: tableColumns.map((column) => /* @__PURE__ */ jsx(
11763
+ Input,
11764
+ {
11765
+ type: column.inputType === "date" ? "date" : "text",
11766
+ value: row[column.key] ?? "",
11767
+ onChange: (event) => updateRow(rowIndex, column.key, event.target.value),
11768
+ placeholder: column.placeholder ?? column.label,
11769
+ "aria-label": `${title} ${column.label} row ${rowIndex + 1}`,
11770
+ className: "h-11 rounded-[12px] text-[14px]",
11771
+ inputMode: column.inputType === "number" || column.inputType === "currency" ? "decimal" : void 0,
11772
+ prefixIcon: column.inputType === "currency" ? /* @__PURE__ */ jsx("span", { className: "text-xs font-semibold", children: currencySymbol }) : void 0
11773
+ },
11774
+ column.key
11775
+ )) })
11776
+ ] }, rowIndex)),
11777
+ /* @__PURE__ */ jsxs(
11778
+ Button,
11779
+ {
11780
+ type: "button",
11781
+ variant: "dashed",
11782
+ size: "sm",
11783
+ onClick: addRow,
11784
+ iconLeft: /* @__PURE__ */ jsx(PlusIcon, { size: 14 }),
11785
+ children: [
11786
+ "Add ",
11787
+ type === "repeater" ? "item" : "row"
11788
+ ]
11789
+ }
11790
+ )
11791
+ ] }),
11792
+ type === "signature" && /* @__PURE__ */ jsxs("div", { className: "border-rule-strong bg-surface-2 rounded-[16px] border border-dashed p-5", children: [
11793
+ /* @__PURE__ */ jsxs("div", { className: "text-fg-2 mb-3 flex items-center gap-2", children: [
11794
+ /* @__PURE__ */ jsx(PenSignIcon, { size: 18, "aria-hidden": "true" }),
11795
+ /* @__PURE__ */ jsx("span", { className: "text-[13px] font-semibold", children: "Signature" })
11796
+ ] }),
11797
+ /* @__PURE__ */ jsx(
11798
+ Input,
11799
+ {
11800
+ value,
11801
+ onChange: (event) => onValueChange?.(event.target.value),
11802
+ placeholder: placeholder ?? "Type full legal name",
11803
+ "aria-label": title,
11804
+ className: "h-11 rounded-[12px] text-[14px]"
11805
+ }
11806
+ )
11807
+ ] }),
11808
+ type === "consent-checkbox" && /* @__PURE__ */ jsx(
11809
+ Checkbox,
11810
+ {
11811
+ label: description ?? title,
11812
+ checked: value === "true",
11813
+ onCheckedChange: (checked) => onValueChange?.(checked === true ? "true" : "false")
11814
+ }
11815
+ )
11816
+ ]
11817
+ }
11818
+ );
11819
+ });
11820
+ Questions.displayName = "Questions";
11821
+ function QuestionOptionButton({
11822
+ option,
11823
+ selected,
11824
+ compact,
11825
+ className,
11826
+ ...props
11827
+ }) {
11828
+ return /* @__PURE__ */ jsxs(
11829
+ "button",
11830
+ {
11831
+ type: "button",
11832
+ disabled: option.disabled,
11833
+ className: cn(
11834
+ "group bg-surface flex w-full items-center gap-3 border text-left",
11835
+ "transition-[border-color,background-color,color,box-shadow,transform] duration-[var(--duration-fast)] ease-[var(--ease-out-quart)]",
11836
+ "focus-visible:[box-shadow:var(--shadow-focus-ring)] focus-visible:outline-none",
11837
+ "disabled:bg-bg-disabled disabled:text-fg-disabled disabled:cursor-not-allowed",
11838
+ compact ? "h-10 max-w-max rounded-[10px] px-3" : "min-h-16 rounded-[12px] px-7 py-4",
11839
+ 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",
11840
+ className
11841
+ ),
11842
+ ...props,
11843
+ children: [
11844
+ /* @__PURE__ */ jsx(
11845
+ "span",
11846
+ {
11847
+ "aria-hidden": "true",
11848
+ className: cn(
11849
+ "grid shrink-0 place-items-center rounded-full border transition-colors duration-[var(--duration-fast)]",
11850
+ compact ? "size-5" : "size-4",
11851
+ selected ? "border-pro-fg bg-pro-fg text-fg-on-pro" : "border-rule-strong bg-surface group-hover:border-pro-line text-transparent"
11852
+ ),
11853
+ children: selected && /* @__PURE__ */ jsx(CheckCircleSolidIcon, { size: compact ? 18 : 14 })
11854
+ }
11855
+ ),
11856
+ /* @__PURE__ */ jsxs("span", { className: "flex min-w-0 flex-1 items-center gap-1.5", children: [
11857
+ /* @__PURE__ */ jsx("span", { className: cn("truncate font-bold", compact ? "text-[13px]" : "text-[15px]"), children: option.label }),
11858
+ option.helpText && /* @__PURE__ */ jsxs(Tooltip, { children: [
11859
+ /* @__PURE__ */ jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx("span", { className: cn("inline-flex shrink-0 cursor-help", "text-pro-fg"), children: /* @__PURE__ */ jsx(HelpCircleIcon, { size: 14, "aria-hidden": "true" }) }) }),
11860
+ /* @__PURE__ */ jsxs(
11861
+ TooltipContent,
11862
+ {
11863
+ side: "top",
11864
+ align: "center",
11865
+ sideOffset: 12,
11866
+ className: cn(
11867
+ "border-rule bg-surface shadow-pop relative max-w-[352px] rounded-[7px] p-5 text-left",
11868
+ "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-['']"
11869
+ ),
11870
+ children: [
11871
+ /* @__PURE__ */ jsx("div", { className: "text-fg text-[15px] leading-5 font-bold", children: option.label }),
11872
+ /* @__PURE__ */ jsx("p", { className: "text-fg-2 mt-3 text-[14px] leading-6", children: option.helpText })
11873
+ ]
11874
+ }
11875
+ )
11876
+ ] })
11877
+ ] }),
11878
+ option.formLabel && !compact && /* @__PURE__ */ jsx(
11879
+ "span",
11880
+ {
11881
+ className: cn(
11882
+ "ml-auto shrink-0 text-right text-[13px] font-semibold",
11883
+ selected ? "text-pro-fg" : "text-fg-3"
11884
+ ),
11885
+ children: option.formLabel
11886
+ }
11887
+ )
11888
+ ]
11889
+ }
11890
+ );
11891
+ }
11892
+ function formatBytes2(bytes) {
11893
+ if (bytes < 1024) return `${bytes} B`;
11894
+ if (bytes < 1024 * 1024) return `${(bytes / 1024).toFixed(1)} KB`;
11895
+ return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;
11896
+ }
11063
11897
  function AiSpark({ size = 16, className }) {
11064
11898
  const id = useId();
11065
11899
  return /* @__PURE__ */ jsxs(
@@ -14452,7 +15286,7 @@ var DocumentRequestDetail = forwardRef(
14452
15286
  title,
14453
15287
  category,
14454
15288
  highPriority,
14455
- statusLabel,
15289
+ statusLabel: statusLabel2,
14456
15290
  statusVariant = "secondary",
14457
15291
  requester,
14458
15292
  due,
@@ -14500,7 +15334,7 @@ var DocumentRequestDetail = forwardRef(
14500
15334
  ] }),
14501
15335
  highPriority && /* @__PURE__ */ jsx(Badge, { variant: "warning", children: "High priority" })
14502
15336
  ] }) : void 0,
14503
- status: statusLabel ? /* @__PURE__ */ jsx(Badge, { variant: statusVariant, children: statusLabel }) : void 0,
15337
+ status: statusLabel2 ? /* @__PURE__ */ jsx(Badge, { variant: statusVariant, children: statusLabel2 }) : void 0,
14504
15338
  children: [
14505
15339
  /* @__PURE__ */ jsx(DocumentDetailTitle, { children: title }),
14506
15340
  /* @__PURE__ */ jsx(
@@ -16569,6 +17403,6 @@ function SignatureEditor({
16569
17403
  }
16570
17404
  SignatureEditor.displayName = "SignatureEditor";
16571
17405
 
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 };
17406
+ 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
17407
  //# sourceMappingURL=index.js.map
16574
17408
  //# sourceMappingURL=index.js.map