@assure-one/design-system 1.6.1 → 1.8.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
@@ -411,6 +411,51 @@ function SparkleIcon({ size = 24, ...props }) {
411
411
  }
412
412
  ) });
413
413
  }
414
+ function ExtractIcon({ size = 16, className, ...props }) {
415
+ const uid = useId();
416
+ const gradId = `extract-grad-${uid}`;
417
+ const clipId = `extract-clip-${uid}`;
418
+ return /* @__PURE__ */ jsxs(
419
+ "svg",
420
+ {
421
+ width: size,
422
+ height: size * 12 / 16,
423
+ viewBox: "0 0 16 12",
424
+ fill: "none",
425
+ xmlns: "http://www.w3.org/2000/svg",
426
+ className: cn("shrink-0", className),
427
+ "aria-hidden": "true",
428
+ ...props,
429
+ children: [
430
+ /* @__PURE__ */ jsx("g", { clipPath: `url(#${clipId})`, children: /* @__PURE__ */ jsx(
431
+ "path",
432
+ {
433
+ d: "M6.24553 5.34293C5.91553 5.23294 5.91553 4.76699 6.24553 4.657L8.18254 4.01207C8.60834 3.87011 8.99522 3.63094 9.31252 3.3135C9.62982 2.99607 9.8688 2.6091 10.0105 2.18327L10.6555 0.247473C10.7655 -0.0824911 11.2315 -0.0824912 11.3415 0.247473L11.9866 2.18427C12.1285 2.61002 12.3677 2.99686 12.6852 3.31412C13.0027 3.63139 13.3897 3.87035 13.8156 4.01207L15.7516 4.657C15.8238 4.68071 15.8868 4.72664 15.9314 4.78823C15.976 4.84982 16 4.92392 16 4.99996C16 5.07601 15.976 5.15011 15.9314 5.2117C15.8868 5.27329 15.8238 5.31921 15.7516 5.34293L13.8146 5.98786C13.3889 6.12971 13.0021 6.36874 12.6848 6.68599C12.3675 7.00324 12.1284 7.39001 11.9866 7.81566L11.3415 9.75245C11.3178 9.82471 11.2719 9.88763 11.2103 9.93223C11.1487 9.97684 11.0746 10.0009 10.9985 10.0009C10.9225 10.0009 10.8484 9.97684 10.7868 9.93223C10.7252 9.88763 10.6793 9.82471 10.6555 9.75245L10.0105 7.81566C9.86867 7.39001 9.62962 7.00324 9.31233 6.68599C8.99505 6.36874 8.60823 6.12971 8.18254 5.98786L6.24553 5.34293ZM1.14651 9.20551C1.1032 9.19117 1.06552 9.16355 1.03881 9.12658C1.0121 9.0896 0.99772 9.04515 0.99772 8.99954C0.99772 8.95392 1.0121 8.90947 1.03881 8.87249C1.06552 8.83552 1.1032 8.8079 1.14651 8.79356L2.30851 8.4066C2.82651 8.23362 3.23252 7.82766 3.40552 7.30972L3.79252 6.14784C3.80686 6.10454 3.83448 6.06686 3.87146 6.04015C3.90844 6.01345 3.9529 5.99907 3.99852 5.99907C4.04414 5.99907 4.0886 6.01345 4.12558 6.04015C4.16256 6.06686 4.19018 6.10454 4.20452 6.14784L4.59152 7.30972C4.67664 7.56516 4.82009 7.79728 5.0105 7.98767C5.20091 8.17806 5.43305 8.32149 5.68853 8.4066L6.85053 8.79356C6.89384 8.8079 6.93152 8.83551 6.95823 8.87249C6.98494 8.90947 6.99932 8.95392 6.99932 8.99954C6.99932 9.04515 6.98494 9.0896 6.95823 9.12658C6.93152 9.16355 6.89384 9.19117 6.85053 9.20551L5.68853 9.59247C5.43305 9.67758 5.20091 9.82101 5.0105 10.0114C4.82009 10.2018 4.67664 10.4339 4.59152 10.6894L4.20452 11.8512C4.19018 11.8945 4.16256 11.9322 4.12558 11.9589C4.0886 11.9856 4.04414 12 3.99852 12C3.9529 12 3.90844 11.9856 3.87146 11.9589C3.83448 11.9322 3.80686 11.8945 3.79252 11.8512L3.40552 10.6894C3.3204 10.4339 3.17695 10.2018 2.98654 10.0114C2.79613 9.82101 2.56399 9.67758 2.30851 9.59247L1.14651 9.20551ZM0.097503 2.13727C0.0690292 2.1274 0.0443387 2.1089 0.0268643 2.08435C0.00938996 2.0598 1.317e-09 2.03042 0 2.00029C-1.318e-09 1.97015 0.00938995 1.94077 0.0268643 1.91622C0.0443387 1.89167 0.0690292 1.87317 0.097503 1.8633L0.871506 1.60533C1.21751 1.49034 1.48851 1.21937 1.60351 0.873408L1.86151 0.0994903C1.87138 0.0710193 1.88988 0.0463306 1.91443 0.0288584C1.93899 0.0113861 1.96837 0.00199815 1.99851 0.00199814C2.02865 0.00199814 2.05803 0.0113861 2.08259 0.0288583C2.10714 0.0463306 2.12564 0.0710193 2.13551 0.0994903L2.39351 0.873408C2.45024 1.0439 2.54593 1.19882 2.673 1.32588C2.80006 1.45293 2.955 1.54861 3.12552 1.60533L3.89952 1.8633C3.92799 1.87317 3.95268 1.89167 3.97016 1.91622C3.98763 1.94077 3.99702 1.97015 3.99702 2.00029C3.99702 2.03042 3.98763 2.0598 3.97016 2.08435C3.95268 2.1089 3.92799 2.1274 3.89952 2.13727L3.12552 2.39524C2.955 2.45196 2.80006 2.54764 2.673 2.6747C2.54593 2.80175 2.45024 2.95667 2.39351 3.12717L2.13551 3.90008C2.12564 3.92855 2.10714 3.95324 2.08259 3.97071C2.05804 3.98819 2.02865 3.99757 1.99851 3.99757C1.96837 3.99757 1.93899 3.98819 1.91443 3.97071C1.88988 3.95324 1.87138 3.92855 1.86151 3.90008L1.60351 3.12617C1.48851 2.7802 1.21751 2.50923 0.871506 2.39424L0.097503 2.13727Z",
434
+ fill: `url(#${gradId})`
435
+ }
436
+ ) }),
437
+ /* @__PURE__ */ jsxs("defs", { children: [
438
+ /* @__PURE__ */ jsxs(
439
+ "linearGradient",
440
+ {
441
+ id: gradId,
442
+ x1: "0.265576",
443
+ y1: "0.856805",
444
+ x2: "13.5",
445
+ y2: "12",
446
+ gradientUnits: "userSpaceOnUse",
447
+ children: [
448
+ /* @__PURE__ */ jsx("stop", { stopColor: "#9E32FF" }),
449
+ /* @__PURE__ */ jsx("stop", { offset: "1", stopColor: "#1BB6FF" })
450
+ ]
451
+ }
452
+ ),
453
+ /* @__PURE__ */ jsx("clipPath", { id: clipId, children: /* @__PURE__ */ jsx("rect", { width: "16", height: "12", fill: "white" }) })
454
+ ] })
455
+ ]
456
+ }
457
+ );
458
+ }
414
459
  function ChatBubbleIcon({ size = 24, ...props }) {
415
460
  return /* @__PURE__ */ jsx(Icon, { size, ...props, children: /* @__PURE__ */ jsx(
416
461
  "path",
@@ -6282,6 +6327,58 @@ var Pagination = forwardRef(function Pagination2({
6282
6327
  );
6283
6328
  });
6284
6329
  Pagination.displayName = "Pagination";
6330
+ var previewVariants = cva("bg-surface flex min-h-0 flex-col overflow-hidden", {
6331
+ variants: {
6332
+ variant: {
6333
+ modal: "rounded-card border-rule shadow-pop border",
6334
+ panel: "h-full w-full"
6335
+ }
6336
+ },
6337
+ defaultVariants: { variant: "modal" }
6338
+ });
6339
+ var headerAction = cn(
6340
+ "inline-flex size-7 shrink-0 items-center justify-center",
6341
+ "rounded-icon text-fg-4 transition-colors duration-[var(--duration-fast)] ease-[var(--ease-out-quart)] motion-reduce:transition-none",
6342
+ "hover:bg-overlay-hover hover:text-fg",
6343
+ "focus-visible:[box-shadow:var(--shadow-focus-ring)] focus-visible:outline-none"
6344
+ );
6345
+ var PdfPreview = forwardRef(function PdfPreview2({ src, pages, fileName, onDownload, onClose, variant, className, ...props }, ref) {
6346
+ return /* @__PURE__ */ jsxs("div", { ref, className: cn(previewVariants({ variant }), className), ...props, children: [
6347
+ fileName && /* @__PURE__ */ jsxs("div", { className: "border-rule bg-surface flex shrink-0 items-center gap-3 border-b px-4 py-3", children: [
6348
+ /* @__PURE__ */ jsx(
6349
+ "span",
6350
+ {
6351
+ "aria-hidden": "true",
6352
+ className: "rounded-icon bg-danger-bg text-danger-fg inline-flex size-8 shrink-0 items-center justify-center",
6353
+ children: /* @__PURE__ */ jsx(FileTextIcon, { className: "size-4.5" })
6354
+ }
6355
+ ),
6356
+ /* @__PURE__ */ jsx("span", { className: "text-fg line-clamp-1 flex-1 text-sm font-medium", children: fileName }),
6357
+ onDownload && /* @__PURE__ */ jsx("button", { type: "button", onClick: onDownload, "aria-label": "Download", className: headerAction, children: /* @__PURE__ */ jsx(DownloadIcon, { className: "size-4", "aria-hidden": "true" }) }),
6358
+ onClose && /* @__PURE__ */ jsx("button", { type: "button", onClick: onClose, "aria-label": "Close", className: headerAction, children: /* @__PURE__ */ jsx(XIcon, { className: "size-4", "aria-hidden": "true" }) })
6359
+ ] }),
6360
+ src ? /* @__PURE__ */ jsx(
6361
+ "iframe",
6362
+ {
6363
+ src,
6364
+ title: fileName ?? "PDF preview",
6365
+ className: "bg-bg-2 min-h-0 flex-1 border-0"
6366
+ }
6367
+ ) : pages && pages.length > 0 ? /* @__PURE__ */ jsx("div", { className: "scrollbar-thin bg-bg-2 min-h-0 flex-1 overflow-auto p-4 sm:p-6", children: /* @__PURE__ */ jsx("div", { className: "mx-auto flex max-w-[820px] flex-col gap-4", children: pages.map((page, i) => /* @__PURE__ */ jsx(
6368
+ "img",
6369
+ {
6370
+ src: page,
6371
+ alt: `Page ${i + 1}`,
6372
+ className: "rounded-input border-rule shadow-card bg-surface w-full border"
6373
+ },
6374
+ i
6375
+ )) }) }) : /* @__PURE__ */ jsxs("div", { className: "bg-bg-2 text-fg-4 flex min-h-0 flex-1 flex-col items-center justify-center gap-2 p-8", children: [
6376
+ /* @__PURE__ */ jsx(FileTextIcon, { className: "size-8", "aria-hidden": "true" }),
6377
+ /* @__PURE__ */ jsx("p", { className: "text-sm", children: "No preview available" })
6378
+ ] })
6379
+ ] });
6380
+ });
6381
+ PdfPreview.displayName = "PdfPreview";
6285
6382
 
6286
6383
  // src/lib/phone.ts
6287
6384
  function stripToDigits(input) {
@@ -8104,6 +8201,143 @@ var Slider = React38.forwardRef(
8104
8201
  }
8105
8202
  );
8106
8203
  Slider.displayName = SliderPrimitive.Root.displayName;
8204
+ var previewVariants2 = cva("bg-surface flex min-h-0 flex-col overflow-hidden", {
8205
+ variants: {
8206
+ variant: {
8207
+ modal: "rounded-card border-rule shadow-pop border",
8208
+ panel: "h-full w-full"
8209
+ }
8210
+ },
8211
+ defaultVariants: { variant: "modal" }
8212
+ });
8213
+ function columnLabel(index) {
8214
+ let label = "";
8215
+ let n = index;
8216
+ do {
8217
+ label = String.fromCharCode(65 + n % 26) + label;
8218
+ n = Math.floor(n / 26) - 1;
8219
+ } while (n >= 0);
8220
+ return label;
8221
+ }
8222
+ var headerCell = cn(
8223
+ "border-rule-soft bg-bg-2 text-fg-4 sticky border-b border-r",
8224
+ "font-mono text-[11px] font-medium",
8225
+ "select-none"
8226
+ );
8227
+ var SpreadsheetPreview = forwardRef(
8228
+ function SpreadsheetPreview2({
8229
+ data,
8230
+ minRows = 0,
8231
+ minColumns = 0,
8232
+ fileName,
8233
+ onDownload,
8234
+ onClose,
8235
+ variant,
8236
+ className,
8237
+ ...props
8238
+ }, ref) {
8239
+ const dataRows = data?.length ?? 0;
8240
+ const dataCols = data && data.length ? Math.max(...data.map((row) => row.length)) : 0;
8241
+ const rowCount = Math.max(minRows, dataRows, 1);
8242
+ const colCount = Math.max(minColumns, dataCols, 1);
8243
+ return /* @__PURE__ */ jsxs("div", { ref, className: cn(previewVariants2({ variant }), className), ...props, children: [
8244
+ fileName && /* @__PURE__ */ jsxs("div", { className: "border-rule bg-surface flex shrink-0 items-center gap-3 border-b px-4 py-3", children: [
8245
+ /* @__PURE__ */ jsx(
8246
+ "span",
8247
+ {
8248
+ "aria-hidden": "true",
8249
+ className: "rounded-icon bg-success-bg text-success-fg inline-flex size-8 shrink-0 items-center justify-center",
8250
+ children: /* @__PURE__ */ jsx(TableIcon, { className: "size-4.5" })
8251
+ }
8252
+ ),
8253
+ /* @__PURE__ */ jsx("span", { className: "text-fg line-clamp-1 flex-1 text-sm font-medium", children: fileName }),
8254
+ onDownload && /* @__PURE__ */ jsx(
8255
+ "button",
8256
+ {
8257
+ type: "button",
8258
+ onClick: onDownload,
8259
+ "aria-label": "Download",
8260
+ className: cn(
8261
+ "inline-flex size-7 shrink-0 items-center justify-center",
8262
+ "rounded-icon text-fg-4 transition-colors duration-[var(--duration-fast)] ease-[var(--ease-out-quart)] motion-reduce:transition-none",
8263
+ "hover:bg-overlay-hover hover:text-fg",
8264
+ "focus-visible:[box-shadow:var(--shadow-focus-ring)] focus-visible:outline-none"
8265
+ ),
8266
+ children: /* @__PURE__ */ jsx(DownloadIcon, { className: "size-4", "aria-hidden": "true" })
8267
+ }
8268
+ ),
8269
+ onClose && /* @__PURE__ */ jsx(
8270
+ "button",
8271
+ {
8272
+ type: "button",
8273
+ onClick: onClose,
8274
+ "aria-label": "Close",
8275
+ className: cn(
8276
+ "inline-flex size-7 shrink-0 items-center justify-center",
8277
+ "rounded-icon text-fg-4 transition-colors duration-[var(--duration-fast)] ease-[var(--ease-out-quart)] motion-reduce:transition-none",
8278
+ "hover:bg-overlay-hover hover:text-fg",
8279
+ "focus-visible:[box-shadow:var(--shadow-focus-ring)] focus-visible:outline-none"
8280
+ ),
8281
+ children: /* @__PURE__ */ jsx(XIcon, { className: "size-4", "aria-hidden": "true" })
8282
+ }
8283
+ )
8284
+ ] }),
8285
+ /* @__PURE__ */ jsx("div", { className: "scrollbar-thin min-h-0 flex-1 overflow-auto", children: /* @__PURE__ */ jsxs(
8286
+ "table",
8287
+ {
8288
+ className: "border-separate border-spacing-0",
8289
+ "aria-label": fileName ?? "Spreadsheet preview",
8290
+ children: [
8291
+ /* @__PURE__ */ jsx("thead", { children: /* @__PURE__ */ jsxs("tr", { children: [
8292
+ /* @__PURE__ */ jsx(
8293
+ "th",
8294
+ {
8295
+ className: cn(headerCell, "left-0 top-0 z-20 w-11 min-w-11"),
8296
+ "aria-hidden": "true"
8297
+ }
8298
+ ),
8299
+ Array.from({ length: colCount }, (_, c) => /* @__PURE__ */ jsx(
8300
+ "th",
8301
+ {
8302
+ scope: "col",
8303
+ className: cn(headerCell, "top-0 z-10 h-7 min-w-[88px] text-center"),
8304
+ children: columnLabel(c)
8305
+ },
8306
+ c
8307
+ ))
8308
+ ] }) }),
8309
+ /* @__PURE__ */ jsx("tbody", { children: Array.from({ length: rowCount }, (_, r) => /* @__PURE__ */ jsxs("tr", { children: [
8310
+ /* @__PURE__ */ jsx(
8311
+ "th",
8312
+ {
8313
+ scope: "row",
8314
+ className: cn(
8315
+ headerCell,
8316
+ "left-0 z-10 h-8 w-11 min-w-11 text-center font-normal"
8317
+ ),
8318
+ children: r + 1
8319
+ }
8320
+ ),
8321
+ Array.from({ length: colCount }, (_2, c) => /* @__PURE__ */ jsx(
8322
+ "td",
8323
+ {
8324
+ className: cn(
8325
+ "border-rule-soft text-fg border-b border-r",
8326
+ "h-8 min-w-[88px] max-w-[260px] truncate px-3 text-sm",
8327
+ typeof data?.[r]?.[c] === "number" && "text-right tabular-nums"
8328
+ ),
8329
+ children: data?.[r]?.[c] ?? ""
8330
+ },
8331
+ c
8332
+ ))
8333
+ ] }, r)) })
8334
+ ]
8335
+ }
8336
+ ) })
8337
+ ] });
8338
+ }
8339
+ );
8340
+ SpreadsheetPreview.displayName = "SpreadsheetPreview";
8107
8341
  var RAMP3 = [
8108
8342
  "var(--color-chart-1)",
8109
8343
  "var(--color-chart-2)",
@@ -12563,6 +12797,184 @@ var DetailMain = forwardRef(function DetailMain2({ className, ...props }, ref) {
12563
12797
  return /* @__PURE__ */ jsx("section", { ref, className: cn("min-w-0 flex-1 space-y-6", className), ...props });
12564
12798
  });
12565
12799
  DetailMain.displayName = "DetailMain";
12800
+ var DocumentDetailPanel = forwardRef(
12801
+ function DocumentDetailPanel2({ className, ...props }, ref) {
12802
+ return /* @__PURE__ */ jsx(
12803
+ "aside",
12804
+ {
12805
+ ref,
12806
+ className: cn(
12807
+ "bg-surface text-fg border-rule flex h-full min-h-0 flex-col border-l",
12808
+ className
12809
+ ),
12810
+ ...props
12811
+ }
12812
+ );
12813
+ }
12814
+ );
12815
+ DocumentDetailPanel.displayName = "DocumentDetailPanel";
12816
+ var DocumentDetailHeader = forwardRef(
12817
+ function DocumentDetailHeader2({ tags, status, onClose, className, children, ...props }, ref) {
12818
+ const showBar = tags || status || onClose;
12819
+ return /* @__PURE__ */ jsxs(
12820
+ "div",
12821
+ {
12822
+ ref,
12823
+ className: cn("border-rule shrink-0 space-y-3 border-b px-5 py-4", className),
12824
+ ...props,
12825
+ children: [
12826
+ showBar && /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between gap-3", children: [
12827
+ /* @__PURE__ */ jsx("div", { className: "flex min-w-0 flex-wrap items-center gap-1.5", children: tags }),
12828
+ /* @__PURE__ */ jsxs("div", { className: "flex shrink-0 items-center gap-2", children: [
12829
+ status,
12830
+ onClose && /* @__PURE__ */ jsx(
12831
+ "button",
12832
+ {
12833
+ type: "button",
12834
+ onClick: onClose,
12835
+ "aria-label": "Close",
12836
+ className: cn(
12837
+ "inline-flex size-7 shrink-0 items-center justify-center",
12838
+ "rounded-icon text-fg-4 transition-colors duration-[var(--duration-fast)] ease-[var(--ease-out-quart)] motion-reduce:transition-none",
12839
+ "hover:bg-overlay-hover hover:text-fg",
12840
+ "focus-visible:[box-shadow:var(--shadow-focus-ring)] focus-visible:outline-none"
12841
+ ),
12842
+ children: /* @__PURE__ */ jsx(XIcon, { className: "size-4", "aria-hidden": "true" })
12843
+ }
12844
+ )
12845
+ ] })
12846
+ ] }),
12847
+ children
12848
+ ]
12849
+ }
12850
+ );
12851
+ }
12852
+ );
12853
+ DocumentDetailHeader.displayName = "DocumentDetailHeader";
12854
+ var DocumentDetailTitle = forwardRef(
12855
+ function DocumentDetailTitle2({ className, children, ...props }, ref) {
12856
+ return /* @__PURE__ */ jsx(
12857
+ "h2",
12858
+ {
12859
+ ref,
12860
+ className: cn(
12861
+ "font-display text-fg text-lg leading-snug font-semibold tracking-tight",
12862
+ className
12863
+ ),
12864
+ ...props,
12865
+ children
12866
+ }
12867
+ );
12868
+ }
12869
+ );
12870
+ DocumentDetailTitle.displayName = "DocumentDetailTitle";
12871
+ var DocumentDetailRequester = forwardRef(
12872
+ function DocumentDetailRequester2({ avatar, org, requestedBy, time, className, ...props }, ref) {
12873
+ const isImageSrc = /^(https?:|data:|\/)/i.test(avatar);
12874
+ return /* @__PURE__ */ jsxs("div", { ref, className: cn("flex items-center gap-2.5", className), ...props, children: [
12875
+ /* @__PURE__ */ jsx(Avatar, { size: "sm", src: isImageSrc ? avatar : void 0, name: isImageSrc ? org : avatar }),
12876
+ /* @__PURE__ */ jsxs("div", { className: "min-w-0", children: [
12877
+ /* @__PURE__ */ jsx("div", { className: "text-fg line-clamp-1 text-sm font-medium", children: org }),
12878
+ /* @__PURE__ */ jsxs("div", { className: "text-fg-4 text-xs", children: [
12879
+ "Requested by ",
12880
+ requestedBy,
12881
+ " \xB7 ",
12882
+ time
12883
+ ] })
12884
+ ] })
12885
+ ] });
12886
+ }
12887
+ );
12888
+ DocumentDetailRequester.displayName = "DocumentDetailRequester";
12889
+ var DocumentDetailMetaRow = forwardRef(
12890
+ function DocumentDetailMetaRow2({ className, ...props }, ref) {
12891
+ return /* @__PURE__ */ jsx(
12892
+ "div",
12893
+ {
12894
+ ref,
12895
+ className: cn("flex items-center justify-between gap-3", className),
12896
+ ...props
12897
+ }
12898
+ );
12899
+ }
12900
+ );
12901
+ DocumentDetailMetaRow.displayName = "DocumentDetailMetaRow";
12902
+ var DocumentDetailActions = forwardRef(
12903
+ function DocumentDetailActions2({ className, ...props }, ref) {
12904
+ return /* @__PURE__ */ jsx(
12905
+ "div",
12906
+ {
12907
+ ref,
12908
+ className: cn("flex flex-wrap items-center gap-2 [&>*]:flex-1", className),
12909
+ ...props
12910
+ }
12911
+ );
12912
+ }
12913
+ );
12914
+ DocumentDetailActions.displayName = "DocumentDetailActions";
12915
+ var DocumentDetailBody = forwardRef(
12916
+ function DocumentDetailBody2({ className, ...props }, ref) {
12917
+ return /* @__PURE__ */ jsx(
12918
+ "div",
12919
+ {
12920
+ ref,
12921
+ className: cn("scrollbar-thin min-h-0 flex-1 overflow-y-auto px-5 py-4", className),
12922
+ ...props
12923
+ }
12924
+ );
12925
+ }
12926
+ );
12927
+ DocumentDetailBody.displayName = "DocumentDetailBody";
12928
+ var DocumentList = forwardRef(function DocumentList2({ className, ...props }, ref) {
12929
+ return /* @__PURE__ */ jsx("div", { ref, className: cn("space-y-5", className), ...props });
12930
+ });
12931
+ DocumentList.displayName = "DocumentList";
12932
+ var DocumentListSection = forwardRef(
12933
+ function DocumentListSection2({ label, count, action, className, children, ...props }, ref) {
12934
+ return /* @__PURE__ */ jsxs("section", { ref, className: cn("space-y-1", className), ...props, children: [
12935
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between gap-2 px-2.5 py-1", children: [
12936
+ /* @__PURE__ */ jsxs("div", { className: "text-fg-3 flex items-center gap-1.5 text-xs font-medium", children: [
12937
+ /* @__PURE__ */ jsx("span", { children: label }),
12938
+ count != null && /* @__PURE__ */ jsx("span", { className: "text-fg-4 tabular-nums", children: count })
12939
+ ] }),
12940
+ action
12941
+ ] }),
12942
+ /* @__PURE__ */ jsx("div", { className: "space-y-0.5", children })
12943
+ ] });
12944
+ }
12945
+ );
12946
+ DocumentListSection.displayName = "DocumentListSection";
12947
+ var DocumentRow = forwardRef(function DocumentRow2({ fileName, meta, icon, actions, className, ...props }, ref) {
12948
+ return /* @__PURE__ */ jsxs(
12949
+ "div",
12950
+ {
12951
+ ref,
12952
+ className: cn(
12953
+ "group/row rounded-card flex items-center gap-3 px-2.5 py-2",
12954
+ "transition-colors duration-[var(--duration-fast)] ease-[var(--ease-out-quart)] motion-reduce:transition-none",
12955
+ "hover:bg-overlay-hover",
12956
+ className
12957
+ ),
12958
+ ...props,
12959
+ children: [
12960
+ /* @__PURE__ */ jsx(
12961
+ "span",
12962
+ {
12963
+ "aria-hidden": "true",
12964
+ className: "rounded-icon bg-bg-2 text-fg-3 inline-flex size-9 shrink-0 items-center justify-center",
12965
+ children: icon ?? /* @__PURE__ */ jsx(FileTextIcon, { className: "size-4.5" })
12966
+ }
12967
+ ),
12968
+ /* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1", children: [
12969
+ /* @__PURE__ */ jsx("div", { className: "text-fg line-clamp-1 text-sm font-medium", children: fileName }),
12970
+ meta && /* @__PURE__ */ jsx("div", { className: "text-fg-4 line-clamp-1 text-xs", children: meta })
12971
+ ] }),
12972
+ actions && /* @__PURE__ */ jsx("div", { className: "flex shrink-0 items-center gap-0.5", children: actions })
12973
+ ]
12974
+ }
12975
+ );
12976
+ });
12977
+ DocumentRow.displayName = "DocumentRow";
12566
12978
  var ActivityList = forwardRef(function ActivityList2({ className, children, ...props }, ref) {
12567
12979
  return /* @__PURE__ */ jsx("ul", { ref, className: cn("flex flex-col", className), ...props, children });
12568
12980
  });
@@ -14199,6 +14611,6 @@ function SignatureEditor({
14199
14611
  }
14200
14612
  SignatureEditor.displayName = "SignatureEditor";
14201
14613
 
14202
- export { AIReceiptPanel, Accordion, AccordionContent, AccordionItem, AccordionTrigger, ActivityEventItem, ActivityItem, ActivityList, AiDraftCard, Alert, AlertCircleIcon, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AlertTriangleIcon, AlertTriangleSolidIcon, AppHeader, AppHeaderActions, AppHeaderBreadcrumb, AppHeaderSearch, AppHeaderTitle, AreaChart, ArrowDownIcon, ArrowLeftIcon, ArrowRightIcon, ArrowRightSmallIcon, ArrowUpIcon, AspectRatio, Assignee, AssureAuditBrandIcon, AssureBooksBrandIcon, AssureProBrandIcon, AssureTaxBrandIcon, AtSignIcon, AttachmentChip, AttentionItem, Avatar, Badge, BarChartIcon, BellIcon, Blockquote, BoldIcon, BottomNav, Breadcrumb, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, BriefcaseIcon, Building2Icon, BuildingIcon, BulkActionBar, BulkActionBarAction, BulkActionBarSeparator, Button, COUNTRY_CODES, Calendar, CalendarIcon, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, CategoryDivider, CategoryTag, ChannelTabs, ChatBubbleIcon, CheckCircle2Icon, CheckCircleSolidIcon, CheckIcon, Checkbox, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, ChevronUpIcon, ChevronsUpDownIcon, CircleDotIcon, CircleIcon, ClientRailGroupHeader, ClientRailItem, ClientSelect, ClipboardCheckIcon, ClockIcon, CloseIcon, Collapsible, CollapsibleContent, CollapsibleTrigger, ComingSoon, CommandIcon, CommandPalette, ConfirmActionButton, Content16 as Content, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, CopyButton, CopyIcon, CornerDownLeftIcon, CountryFlag, CountrySelect, CreditCardIcon, DATE_DISPLAY_PLACEHOLDER, DangerAction, Dash, DashGrid, DataItem, DataTable, DataTableBody, DataTableCell, DataTableCellDue, DataTableCellId, DataTableCellMono, DataTableCellName, DataTableCheckbox, DataTableHead, DataTableHeader, DataTablePagination, DataTableResultsCount, DataTableRow, DataTableSearch, DataTableSpacer, DataTableToolbar, DataTableView, DatePicker, DateRangePicker, DetailGrid, DetailMain, DetailSpine, DetailSpineHeader, DetailSpineSection, DetailSpineStats, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DismissibleChip, DocumentFileCard, DocumentFileRow, DocumentIcon, DocumentRequestField, DocumentsWorkspaceLayout, DollarSignIcon, DonutChart, DownloadIcon, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmailMessageCard, EmptyState, EngagementCard, EngagementTimeline, EngagementTimelineStep, 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, PenSignIcon, PenToolIcon, PencilIcon, PhoneCountryInput, PhoneIcon, PhoneInput, PlayIcon, PlusIcon, Popover, PopoverAnchor, PopoverClose, PopoverContent, PopoverPortal, PopoverTrigger, PrimaryAction, PriorityIcon, ProgressBar, ProgressRing, RadioGroup3 as RadioGroup, RadioGroupItem, RankedBars, ReceiptIcon, ReplyIcon, ResponsiveDialog, RotateCcwIcon, RouteTransition, SERVICE_TONES, SaveIcon, ScrollArea, ScrollBar, SearchIcon, SearchInput, SearchSelect, SecondaryAction, Section, SectionHead, SectionHeader, SegmentedProgress, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectRoot, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, SelectableKpiCard, SendIcon, Separator4 as Separator, SettingsIcon, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Shell, ShieldIcon, SideDrawer, Sidebar, SidebarBrand, SidebarBrandSwitcher, SidebarBrandSwitcherTile, SidebarBrandText, SidebarFooter, SidebarLink, SidebarLinkAction, SidebarLinkBadge, SidebarLinkGroup, SidebarLinkLabel, SidebarPinButton, SidebarProvider, SidebarSection, SidebarTrigger, SidebarUser, SignatureEditor, Skeleton, SkeletonCircle, SkeletonText, SlashIcon, Slider, SmartphoneIcon, SparkleIcon, SparklesIcon, Spinner, 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 };
14614
+ export { AIReceiptPanel, Accordion, AccordionContent, AccordionItem, AccordionTrigger, ActivityEventItem, ActivityItem, ActivityList, AiDraftCard, Alert, AlertCircleIcon, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AlertTriangleIcon, AlertTriangleSolidIcon, AppHeader, AppHeaderActions, AppHeaderBreadcrumb, AppHeaderSearch, AppHeaderTitle, AreaChart, ArrowDownIcon, ArrowLeftIcon, ArrowRightIcon, ArrowRightSmallIcon, ArrowUpIcon, AspectRatio, Assignee, AssureAuditBrandIcon, AssureBooksBrandIcon, AssureProBrandIcon, AssureTaxBrandIcon, AtSignIcon, AttachmentChip, AttentionItem, Avatar, Badge, BarChartIcon, BellIcon, Blockquote, BoldIcon, BottomNav, Breadcrumb, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, BriefcaseIcon, Building2Icon, BuildingIcon, BulkActionBar, BulkActionBarAction, BulkActionBarSeparator, Button, COUNTRY_CODES, Calendar, CalendarIcon, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, CategoryDivider, CategoryTag, ChannelTabs, ChatBubbleIcon, CheckCircle2Icon, CheckCircleSolidIcon, CheckIcon, Checkbox, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, ChevronUpIcon, ChevronsUpDownIcon, CircleDotIcon, CircleIcon, ClientRailGroupHeader, ClientRailItem, ClientSelect, ClipboardCheckIcon, ClockIcon, CloseIcon, Collapsible, CollapsibleContent, CollapsibleTrigger, ComingSoon, CommandIcon, CommandPalette, ConfirmActionButton, Content16 as Content, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, CopyButton, CopyIcon, CornerDownLeftIcon, CountryFlag, CountrySelect, CreditCardIcon, DATE_DISPLAY_PLACEHOLDER, DangerAction, Dash, DashGrid, DataItem, DataTable, DataTableBody, DataTableCell, DataTableCellDue, DataTableCellId, DataTableCellMono, DataTableCellName, DataTableCheckbox, DataTableHead, DataTableHeader, DataTablePagination, DataTableResultsCount, DataTableRow, DataTableSearch, DataTableSpacer, DataTableToolbar, DataTableView, DatePicker, DateRangePicker, DetailGrid, DetailMain, DetailSpine, DetailSpineHeader, DetailSpineSection, DetailSpineStats, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DismissibleChip, DocumentDetailActions, DocumentDetailBody, DocumentDetailHeader, DocumentDetailMetaRow, DocumentDetailPanel, DocumentDetailRequester, DocumentDetailTitle, DocumentFileCard, DocumentFileRow, DocumentIcon, DocumentList, DocumentListSection, DocumentRequestField, DocumentRow, DocumentsWorkspaceLayout, DollarSignIcon, DonutChart, DownloadIcon, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmailMessageCard, EmptyState, EngagementCard, EngagementTimeline, EngagementTimelineStep, ExtractIcon, EyeIcon, EyeOffIcon, Eyebrow, FileChip, FileIcon, FileReturnIcon, FileTextIcon, FileTypeBadge, FileUpload, FilterChip, FilterIcon, FlagIcon, FolderClosedIcon, FolderOpenIcon, FolderPlusIcon, FolderTree, FolderUpIcon, FormError, FormSection, FormSuccess, GlobeIcon, GoogleBrandIcon, HelpCircleIcon, HistoryIcon, HomeIcon, HoverCard, HoverCardContent, HoverCardPortal, HoverCardTrigger, IconAction, IconTile, InboxIcon, InfoCircleSolidIcon, InfoIcon, Input, IntentBadge, ItalicIcon, Kanban, KanbanCard, KanbanColumn, KanbanIcon, KbdHint, KeyIcon, KeyboardShortcutsDialog, KpiCard, Label4 as Label, LandmarkIcon, LayoutDashboardIcon, LayoutGridIcon, LayoutListIcon, LightningIcon, Link2Icon, LinkAction, LinkButton, LinkIcon, ListChecksIcon, ListIcon, ListOrderedIcon, LoaderIcon, LoadingRows, LockIcon, LockKeyholeIcon, LockOpenIcon, LogOutIcon, Logo, MailIcon, Main, MapPinIcon, MasterDetailLayout, MenuIcon, MessageBubble, MessageBubbleAction, MessageBubbleTombstone, MessageCircleIcon, MessageCircleWarningIcon, MessageComposer, MetadataGrid, MicrosoftBrandIcon, MinusIcon, MissingDocumentsPanel, MoneyCell, MonitorIcon, MoonIcon, MoreHorizontalIcon, MoveIcon, MultiFilterPill, MultiSelectField, MutedSpec, NewMenu, NotificationFilter, NotificationItem, NotificationList, NotificationPanel, NotificationPanelFooter, NotificationPanelHeader, Numeric, OTPInput, PageHeader, PageHeaderSep, PageHeaderSpec, Pagination, PaletteIcon, PanelLeftCloseIcon, PanelLeftIcon, PaperclipIcon, PauseIcon, PdfPreview, PenSignIcon, PenToolIcon, PencilIcon, PhoneCountryInput, PhoneIcon, PhoneInput, PlayIcon, PlusIcon, Popover, PopoverAnchor, PopoverClose, PopoverContent, PopoverPortal, PopoverTrigger, PrimaryAction, PriorityIcon, ProgressBar, ProgressRing, RadioGroup3 as RadioGroup, RadioGroupItem, RankedBars, ReceiptIcon, ReplyIcon, ResponsiveDialog, RotateCcwIcon, RouteTransition, SERVICE_TONES, SaveIcon, ScrollArea, ScrollBar, SearchIcon, SearchInput, SearchSelect, SecondaryAction, Section, SectionHead, SectionHeader, SegmentedProgress, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectRoot, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, SelectableKpiCard, SendIcon, Separator4 as Separator, SettingsIcon, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Shell, ShieldIcon, SideDrawer, Sidebar, SidebarBrand, SidebarBrandSwitcher, SidebarBrandSwitcherTile, SidebarBrandText, SidebarFooter, SidebarLink, SidebarLinkAction, SidebarLinkBadge, SidebarLinkGroup, SidebarLinkLabel, SidebarPinButton, SidebarProvider, SidebarSection, SidebarTrigger, SidebarUser, SignatureEditor, Skeleton, SkeletonCircle, SkeletonText, SlashIcon, Slider, SmartphoneIcon, SparkleIcon, SparklesIcon, Spinner, SpreadsheetPreview, StackedBarChart, StagePill, StarIcon, StarRating, Stat, StatusDot, StatusIcon, StatusPill, Stepper, StickyActionBar, StopIcon, StrikethroughIcon, SubmitButton, SuggestionPills, SuiteProgress, SunIcon, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableIcon, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, TagIcon, TagsCell, TeamIcon, TeamMemberSelect, Textarea, TimeLogger, TimeLoggerActions, TimeLoggerBillable, TimeLoggerContextRow, TimeLoggerEntry, TimeLoggerEntryList, TimeLoggerField, TimeLoggerFooter, TimeLoggerHeader, TimeLoggerNotes, TimeLoggerTimer, ToastProvider, ToggleGroup, ToggleGroupItem, Toolbar, Tooltip, TooltipContent, TooltipPortal, TooltipProvider, TooltipTrigger, Trash2Icon, TrashIcon, TrendingDownIcon, TrendingUpIcon, UnderlineIcon, UploadIcon, UserCircleIcon, UserIcon, UsersIcon, VisuallyHidden, WorkflowIcon, XCircleSolidIcon, XIcon, YEAR_DISPLAY_PLACEHOLDER, ZoomInIcon, ZoomOutIcon, alertVariants, applyMask, applyYearMask, attachmentChipVariants, badgeVariants, buttonVariants, cardVariants, cn, colors, dateToIso, displayToIso, fileTypeBadgeVariants, fileTypeFromName, filterChipVariants, formatClock, formatCurrency, formatDuration, getFlagEmoji, iconTileVariants, inputVariants, isoToDate, isoToDisplay, isoToYear, labelVariants, parseDuration, parsePhoneForEditing, progressBarVariants, progressRingVariants, radii, reference, searchInputVariants, serviceToneLabel, serviceToneStyle, shadows, sidebarLinkBadgeVariants, spacing, spinnerVariants, starRatingVariants, statusDotVariants, suiteProgressFillVariants, surfaces, systemTokens, textareaVariants, typography, useSidebarPeekLock, useSidebarState, useStopwatch, useToast, yearToIso };
14203
14615
  //# sourceMappingURL=index.js.map
14204
14616
  //# sourceMappingURL=index.js.map