@dybo-ai/design 1.3.0 → 2.0.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.cjs CHANGED
@@ -49,7 +49,7 @@ function Card({
49
49
  className: cx2("dybo-glass", className),
50
50
  style: {
51
51
  padding,
52
- background: solid ? "var(--dybo-surface-card-solid)" : void 0,
52
+ background: solid ? "var(--card-bg-with-opacity)" : void 0,
53
53
  ...style
54
54
  },
55
55
  ...props
@@ -67,7 +67,7 @@ function Input({ label, error, className, id, ...props }) {
67
67
  style: {
68
68
  fontSize: "var(--dybo-font-size-sm)",
69
69
  fontWeight: "var(--dybo-font-weight-medium)",
70
- color: "var(--dybo-color-text-muted)"
70
+ color: "hsl(var(--muted-foreground))"
71
71
  },
72
72
  children: label
73
73
  }
@@ -81,10 +81,6 @@ function Input({ label, error, className, id, ...props }) {
81
81
  error ? "dybo-input--error" : void 0,
82
82
  className
83
83
  ),
84
- style: error ? {
85
- borderColor: "var(--dybo-danger)",
86
- boxShadow: "0 0 0 3px rgba(162,26,23,0.12)"
87
- } : void 0,
88
84
  ...props
89
85
  }
90
86
  ),
@@ -93,7 +89,7 @@ function Input({ label, error, className, id, ...props }) {
93
89
  {
94
90
  style: {
95
91
  fontSize: "var(--dybo-font-size-xs)",
96
- color: "var(--dybo-danger)",
92
+ color: "hsl(var(--destructive))",
97
93
  fontWeight: "var(--dybo-font-weight-medium)"
98
94
  },
99
95
  children: error
@@ -257,8 +253,8 @@ function Sidebar({
257
253
  lineHeight: 1.3
258
254
  },
259
255
  children: [
260
- /* @__PURE__ */ jsxRuntime.jsx("b", { style: { color: "#fff", fontSize: "13px" }, children: user.name }),
261
- user.email && /* @__PURE__ */ jsxRuntime.jsx("span", { style: { color: "#7f8592", fontSize: "11px" }, children: user.email })
256
+ /* @__PURE__ */ jsxRuntime.jsx("b", { style: { color: "hsl(var(--brand-white))", fontSize: "13px" }, children: user.name }),
257
+ user.email && /* @__PURE__ */ jsxRuntime.jsx("span", { style: { color: "hsl(var(--brand-white) / 0.6)", fontSize: "11px" }, children: user.email })
262
258
  ]
263
259
  }
264
260
  ),
@@ -270,8 +266,8 @@ function Sidebar({
270
266
  onClick: onLogout,
271
267
  style: {
272
268
  background: "transparent",
273
- border: "1px solid rgba(255,255,255,0.18)",
274
- color: "var(--dybo-sidebar-text)",
269
+ border: "1px solid hsl(var(--brand-white) / 0.18)",
270
+ color: "hsl(var(--brand-white) / 0.75)",
275
271
  padding: "6px 10px",
276
272
  fontSize: "12px",
277
273
  borderRadius: "8px",
@@ -324,62 +320,100 @@ function DataTable({
324
320
  rows,
325
321
  rowKey,
326
322
  onRowClick,
327
- emptyMessage = "Nenhum resultado.",
328
- className
323
+ emptyMessage = "No results.",
324
+ className,
325
+ toolbar,
326
+ sortColumn,
327
+ sortDirection,
328
+ onSort
329
329
  }) {
330
330
  function getRowKey(row, index) {
331
331
  if (!rowKey) return index;
332
332
  if (typeof rowKey === "function") return rowKey(row, index);
333
333
  return row[rowKey];
334
334
  }
335
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cx14("dybo-table-wrap", className), children: /* @__PURE__ */ jsxRuntime.jsxs("table", { className: "dybo-table", children: [
336
- /* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsx("tr", { children: columns.map((col) => /* @__PURE__ */ jsxRuntime.jsx(
337
- "th",
338
- {
339
- className: cx14(
340
- col.align === "left" ? "left" : void 0,
341
- col.className
342
- ),
343
- children: col.label
344
- },
345
- col.key
346
- )) }) }),
347
- /* @__PURE__ */ jsxRuntime.jsx("tbody", { children: rows.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("tr", { children: /* @__PURE__ */ jsxRuntime.jsx(
348
- "td",
349
- {
350
- colSpan: columns.length,
351
- style: {
352
- textAlign: "center",
353
- padding: "32px",
354
- color: "var(--dybo-color-text-muted)"
355
- },
356
- children: emptyMessage
357
- }
358
- ) }) : rows.map((row, index) => /* @__PURE__ */ jsxRuntime.jsx(
359
- "tr",
360
- {
361
- className: cx14(
362
- onRowClick ? "dybo-table__row--clickable" : void 0
363
- ),
364
- onClick: onRowClick ? () => onRowClick(row) : void 0,
365
- children: columns.map((col) => {
366
- const value = row[col.key];
367
- return /* @__PURE__ */ jsxRuntime.jsx(
368
- "td",
335
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx14("dybo-table-wrap", className), children: [
336
+ toolbar && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "dybo-table__toolbar", children: toolbar }),
337
+ /* @__PURE__ */ jsxRuntime.jsxs("table", { className: "dybo-table", children: [
338
+ /* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsx("tr", { children: columns.map((col) => /* @__PURE__ */ jsxRuntime.jsx(
339
+ "th",
340
+ {
341
+ className: cx14(
342
+ col.align === "left" ? "left" : void 0,
343
+ col.className
344
+ ),
345
+ children: col.sortable ? /* @__PURE__ */ jsxRuntime.jsxs(
346
+ "button",
369
347
  {
370
- className: cx14(
371
- col.align === "left" ? "left" : void 0,
372
- col.className
373
- ),
374
- children: col.format ? col.format(value, row) : String(value ?? "")
375
- },
376
- col.key
377
- );
378
- })
379
- },
380
- getRowKey(row, index)
381
- )) })
382
- ] }) });
348
+ type: "button",
349
+ className: "dybo-table__sort-btn",
350
+ onClick: () => onSort?.(col.key),
351
+ children: [
352
+ col.label,
353
+ /* @__PURE__ */ jsxRuntime.jsxs(
354
+ "svg",
355
+ {
356
+ width: "14",
357
+ height: "14",
358
+ viewBox: "0 0 24 24",
359
+ fill: "none",
360
+ stroke: "currentColor",
361
+ strokeWidth: "2",
362
+ strokeLinecap: "round",
363
+ strokeLinejoin: "round",
364
+ style: {
365
+ opacity: sortColumn === col.key ? 1 : 0.45,
366
+ transform: sortColumn === col.key && sortDirection === "desc" ? "rotate(180deg)" : void 0
367
+ },
368
+ children: [
369
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M8 9l4 -4l4 4" }),
370
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M16 15l-4 4l-4 -4" })
371
+ ]
372
+ }
373
+ )
374
+ ]
375
+ }
376
+ ) : col.label
377
+ },
378
+ col.key
379
+ )) }) }),
380
+ /* @__PURE__ */ jsxRuntime.jsx("tbody", { children: rows.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("tr", { children: /* @__PURE__ */ jsxRuntime.jsx(
381
+ "td",
382
+ {
383
+ colSpan: columns.length,
384
+ style: {
385
+ textAlign: "center",
386
+ padding: "32px",
387
+ color: "hsl(var(--muted-foreground))"
388
+ },
389
+ children: emptyMessage
390
+ }
391
+ ) }) : rows.map((row, index) => /* @__PURE__ */ jsxRuntime.jsx(
392
+ "tr",
393
+ {
394
+ className: cx14(
395
+ onRowClick ? "dybo-table__row--clickable" : void 0
396
+ ),
397
+ onClick: onRowClick ? () => onRowClick(row) : void 0,
398
+ children: columns.map((col) => {
399
+ const value = row[col.key];
400
+ return /* @__PURE__ */ jsxRuntime.jsx(
401
+ "td",
402
+ {
403
+ className: cx14(
404
+ col.align === "left" ? "left" : void 0,
405
+ col.className
406
+ ),
407
+ children: col.format ? col.format(value, row) : String(value ?? "")
408
+ },
409
+ col.key
410
+ );
411
+ })
412
+ },
413
+ getRowKey(row, index)
414
+ )) })
415
+ ] })
416
+ ] });
383
417
  }
384
418
  var cx15 = (...c) => c.filter(Boolean).join(" ");
385
419
  function Tabs({ tabs, active, onChange, className }) {
@@ -434,7 +468,7 @@ function Select({
434
468
  style: {
435
469
  fontSize: "var(--dybo-font-size-sm)",
436
470
  fontWeight: "var(--dybo-font-weight-medium)",
437
- color: "var(--dybo-color-text-muted)"
471
+ color: "hsl(var(--muted-foreground))"
438
472
  },
439
473
  children: label
440
474
  }
@@ -443,11 +477,7 @@ function Select({
443
477
  "select",
444
478
  {
445
479
  id: selectId,
446
- className: cx17("dybo-select", className),
447
- style: error ? {
448
- borderColor: "var(--dybo-danger)",
449
- boxShadow: "0 0 0 3px rgba(162,26,23,0.12)"
450
- } : void 0,
480
+ className: cx17("dybo-select", error ? "dybo-select--error" : void 0, className),
451
481
  ...props,
452
482
  children: [
453
483
  placeholder && /* @__PURE__ */ jsxRuntime.jsx("option", { value: "", disabled: true, children: placeholder }),
@@ -460,7 +490,7 @@ function Select({
460
490
  {
461
491
  style: {
462
492
  fontSize: "var(--dybo-font-size-xs)",
463
- color: "var(--dybo-danger)",
493
+ color: "hsl(var(--destructive))",
464
494
  fontWeight: "var(--dybo-font-weight-medium)"
465
495
  },
466
496
  children: error
@@ -678,30 +708,1273 @@ function LoginCard({
678
708
  children
679
709
  ] }) });
680
710
  }
711
+ var cx20 = (...c) => c.filter(Boolean).join(" ");
712
+ function OrgEntitySelector({
713
+ label,
714
+ className,
715
+ ...props
716
+ }) {
717
+ return /* @__PURE__ */ jsxRuntime.jsxs(
718
+ "button",
719
+ {
720
+ type: "button",
721
+ className: cx20("dybo-org-selector", className),
722
+ ...props,
723
+ children: [
724
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "dybo-org-selector__label", children: label }),
725
+ /* @__PURE__ */ jsxRuntime.jsx(
726
+ "svg",
727
+ {
728
+ className: "dybo-org-selector__chevron",
729
+ width: "20",
730
+ height: "20",
731
+ viewBox: "0 0 24 24",
732
+ fill: "none",
733
+ stroke: "currentColor",
734
+ strokeWidth: "2",
735
+ strokeLinecap: "round",
736
+ strokeLinejoin: "round",
737
+ children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M6 9l6 6l6 -6" })
738
+ }
739
+ )
740
+ ]
741
+ }
742
+ );
743
+ }
744
+ var cx21 = (...c) => c.filter(Boolean).join(" ");
745
+ function ThemeToggle({ theme, onChange, className }) {
746
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx21("dybo-theme-toggle", className), children: [
747
+ /* @__PURE__ */ jsxRuntime.jsx(
748
+ "button",
749
+ {
750
+ type: "button",
751
+ "aria-pressed": theme === "dark",
752
+ className: cx21(
753
+ "dybo-theme-toggle__btn",
754
+ theme === "dark" ? "dybo-theme-toggle__btn--active" : void 0
755
+ ),
756
+ onClick: () => onChange("dark"),
757
+ title: "Dark",
758
+ children: /* @__PURE__ */ jsxRuntime.jsx(
759
+ "svg",
760
+ {
761
+ width: "18",
762
+ height: "18",
763
+ viewBox: "0 0 24 24",
764
+ fill: "none",
765
+ stroke: "currentColor",
766
+ strokeWidth: "2",
767
+ strokeLinecap: "round",
768
+ strokeLinejoin: "round",
769
+ children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z" })
770
+ }
771
+ )
772
+ }
773
+ ),
774
+ /* @__PURE__ */ jsxRuntime.jsx(
775
+ "button",
776
+ {
777
+ type: "button",
778
+ "aria-pressed": theme === "light",
779
+ className: cx21(
780
+ "dybo-theme-toggle__btn",
781
+ theme === "light" ? "dybo-theme-toggle__btn--active" : void 0
782
+ ),
783
+ onClick: () => onChange("light"),
784
+ title: "Light",
785
+ children: /* @__PURE__ */ jsxRuntime.jsxs(
786
+ "svg",
787
+ {
788
+ width: "18",
789
+ height: "18",
790
+ viewBox: "0 0 24 24",
791
+ fill: "none",
792
+ stroke: "currentColor",
793
+ strokeWidth: "2",
794
+ strokeLinecap: "round",
795
+ strokeLinejoin: "round",
796
+ children: [
797
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "4" }),
798
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4" })
799
+ ]
800
+ }
801
+ )
802
+ }
803
+ )
804
+ ] });
805
+ }
806
+ var cx22 = (...c) => c.filter(Boolean).join(" ");
807
+ function Avatar({
808
+ initials,
809
+ size = "md",
810
+ shape = "square",
811
+ onClick,
812
+ className
813
+ }) {
814
+ const classes = cx22(
815
+ "dybo-avatar",
816
+ size === "sm" ? "dybo-avatar--sm" : "dybo-avatar--md",
817
+ size === "md" ? shape === "circle" ? "dybo-avatar--circle" : "dybo-avatar--square" : void 0,
818
+ className
819
+ );
820
+ if (onClick) {
821
+ return /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", className: classes, onClick, children: /* @__PURE__ */ jsxRuntime.jsx("span", { children: initials }) });
822
+ }
823
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: classes, children: /* @__PURE__ */ jsxRuntime.jsx("span", { children: initials }) });
824
+ }
825
+ var cx23 = (...c) => c.filter(Boolean).join(" ");
826
+ function NotificationsButton({
827
+ unread = false,
828
+ className,
829
+ ...props
830
+ }) {
831
+ return /* @__PURE__ */ jsxRuntime.jsxs(
832
+ "button",
833
+ {
834
+ type: "button",
835
+ className: cx23("dybo-notifications-btn", className),
836
+ title: "Notifications",
837
+ ...props,
838
+ children: [
839
+ /* @__PURE__ */ jsxRuntime.jsxs(
840
+ "svg",
841
+ {
842
+ width: "20",
843
+ height: "20",
844
+ viewBox: "0 0 24 24",
845
+ fill: "none",
846
+ stroke: "currentColor",
847
+ strokeWidth: "2",
848
+ strokeLinecap: "round",
849
+ strokeLinejoin: "round",
850
+ children: [
851
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M10 5a2 2 0 1 1 4 0a7 7 0 0 1 4 6v3a4 4 0 0 0 2 3h-16a4 4 0 0 0 2 -3v-3a7 7 0 0 1 4 -6" }),
852
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M9 17v1a3 3 0 0 0 6 0v-1" })
853
+ ]
854
+ }
855
+ ),
856
+ unread && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "dybo-notifications-btn__dot" })
857
+ ]
858
+ }
859
+ );
860
+ }
861
+ var cx24 = (...c) => c.filter(Boolean).join(" ");
862
+ function PlatformSwitcher({ apps, open, onToggle, className }) {
863
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { position: "relative" }, children: [
864
+ /* @__PURE__ */ jsxRuntime.jsx(
865
+ "button",
866
+ {
867
+ type: "button",
868
+ className: "dybo-btn dybo-btn--ghost",
869
+ style: { padding: 10 },
870
+ onClick: onToggle,
871
+ "aria-expanded": open,
872
+ title: "Switch app",
873
+ children: /* @__PURE__ */ jsxRuntime.jsxs(
874
+ "svg",
875
+ {
876
+ width: "20",
877
+ height: "20",
878
+ viewBox: "0 0 24 24",
879
+ fill: "none",
880
+ stroke: "currentColor",
881
+ strokeWidth: "2",
882
+ strokeLinecap: "round",
883
+ strokeLinejoin: "round",
884
+ children: [
885
+ /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "4", y: "4", width: "6", height: "6", rx: "1" }),
886
+ /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "14", y: "4", width: "6", height: "6", rx: "1" }),
887
+ /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "4", y: "14", width: "6", height: "6", rx: "1" }),
888
+ /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "14", y: "14", width: "6", height: "6", rx: "1" })
889
+ ]
890
+ }
891
+ )
892
+ }
893
+ ),
894
+ open && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cx24("dybo-platform-switcher", className), children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "dybo-platform-switcher__grid", children: apps.map((app) => /* @__PURE__ */ jsxRuntime.jsxs("a", { href: app.href, className: "dybo-platform-switcher__card", children: [
895
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "dybo-platform-switcher__icon", children: app.icon }),
896
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { style: { display: "flex", flexDirection: "column", gap: 2 }, children: [
897
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "dybo-platform-switcher__title", children: app.title }),
898
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "dybo-platform-switcher__desc", children: app.description })
899
+ ] })
900
+ ] }, app.title)) }) })
901
+ ] });
902
+ }
903
+ var cx25 = (...c) => c.filter(Boolean).join(" ");
904
+ function UnderlineTabs({ tabs, active, onChange, className }) {
905
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cx25("dybo-underline-tabs", className), role: "tablist", children: tabs.map((tab) => /* @__PURE__ */ jsxRuntime.jsx(
906
+ "button",
907
+ {
908
+ type: "button",
909
+ role: "tab",
910
+ "aria-selected": tab.key === active,
911
+ disabled: tab.disabled,
912
+ className: "dybo-underline-tabs__tab",
913
+ onClick: () => !tab.disabled && onChange(tab.key),
914
+ children: tab.label
915
+ },
916
+ tab.key
917
+ )) });
918
+ }
919
+ var cx26 = (...c) => c.filter(Boolean).join(" ");
920
+ function FilterPills({ options, active, onChange, className }) {
921
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cx26("dybo-filter-pills", className), role: "tablist", children: options.map((opt) => /* @__PURE__ */ jsxRuntime.jsx(
922
+ "button",
923
+ {
924
+ type: "button",
925
+ role: "tab",
926
+ "aria-selected": opt.value === active,
927
+ className: cx26(
928
+ "dybo-filter-pill",
929
+ opt.value === active ? "dybo-filter-pill--active" : void 0
930
+ ),
931
+ onClick: () => onChange(opt.value),
932
+ children: opt.label
933
+ },
934
+ opt.value
935
+ )) });
936
+ }
937
+ var cx27 = (...c) => c.filter(Boolean).join(" ");
938
+ function Pagination({
939
+ page,
940
+ pageCount,
941
+ pageSize,
942
+ total,
943
+ pageSizeOptions = [5, 10, 25, 50, 100],
944
+ onPageChange,
945
+ onPageSizeChange,
946
+ className
947
+ }) {
948
+ const start = total === 0 ? 0 : (page - 1) * pageSize + 1;
949
+ const end = Math.min(page * pageSize, total);
950
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx27("dybo-pagination", className), children: [
951
+ /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "dybo-pagination__summary", children: [
952
+ start,
953
+ "\u2013",
954
+ end,
955
+ " of ",
956
+ total
957
+ ] }),
958
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "dybo-pagination__controls", children: [
959
+ onPageSizeChange && /* @__PURE__ */ jsxRuntime.jsxs("label", { className: "dybo-pagination__size", children: [
960
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: "Rows per page" }),
961
+ /* @__PURE__ */ jsxRuntime.jsx(
962
+ "select",
963
+ {
964
+ className: "dybo-select",
965
+ value: pageSize,
966
+ onChange: (e) => onPageSizeChange(Number(e.target.value)),
967
+ children: pageSizeOptions.map((n) => /* @__PURE__ */ jsxRuntime.jsx("option", { value: n, children: n }, n))
968
+ }
969
+ )
970
+ ] }),
971
+ /* @__PURE__ */ jsxRuntime.jsxs("nav", { className: "dybo-pagination__nav", "aria-label": "Pagination", children: [
972
+ /* @__PURE__ */ jsxRuntime.jsx(
973
+ "button",
974
+ {
975
+ type: "button",
976
+ className: "dybo-pagination__btn",
977
+ disabled: page <= 1,
978
+ onClick: () => onPageChange(page - 1),
979
+ "aria-label": "Previous page",
980
+ children: /* @__PURE__ */ jsxRuntime.jsx(
981
+ "svg",
982
+ {
983
+ width: "16",
984
+ height: "16",
985
+ viewBox: "0 0 24 24",
986
+ fill: "none",
987
+ stroke: "currentColor",
988
+ strokeWidth: "2",
989
+ strokeLinecap: "round",
990
+ strokeLinejoin: "round",
991
+ children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M15 6l-6 6l6 6" })
992
+ }
993
+ )
994
+ }
995
+ ),
996
+ /* @__PURE__ */ jsxRuntime.jsx(
997
+ "button",
998
+ {
999
+ type: "button",
1000
+ "aria-current": "page",
1001
+ className: "dybo-pagination__btn dybo-pagination__btn--active",
1002
+ children: page
1003
+ }
1004
+ ),
1005
+ /* @__PURE__ */ jsxRuntime.jsx(
1006
+ "button",
1007
+ {
1008
+ type: "button",
1009
+ className: "dybo-pagination__btn",
1010
+ disabled: page >= pageCount,
1011
+ onClick: () => onPageChange(page + 1),
1012
+ "aria-label": "Next page",
1013
+ children: /* @__PURE__ */ jsxRuntime.jsx(
1014
+ "svg",
1015
+ {
1016
+ width: "16",
1017
+ height: "16",
1018
+ viewBox: "0 0 24 24",
1019
+ fill: "none",
1020
+ stroke: "currentColor",
1021
+ strokeWidth: "2",
1022
+ strokeLinecap: "round",
1023
+ strokeLinejoin: "round",
1024
+ children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M9 6l6 6l-6 6" })
1025
+ }
1026
+ )
1027
+ }
1028
+ )
1029
+ ] })
1030
+ ] })
1031
+ ] });
1032
+ }
1033
+ var cx28 = (...c) => c.filter(Boolean).join(" ");
1034
+ function EmptyState({
1035
+ variant = "simple",
1036
+ icon,
1037
+ title,
1038
+ description,
1039
+ className
1040
+ }) {
1041
+ if (variant === "table-row") {
1042
+ return /* @__PURE__ */ jsxRuntime.jsx("p", { className: cx28("dybo-empty-row", className), children: title ?? "No results." });
1043
+ }
1044
+ if (variant === "rich") {
1045
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cx28("dybo-empty--rich", className), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "dybo-empty__inner", children: [
1046
+ icon && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "dybo-empty__icon", children: icon }),
1047
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "dybo-empty__title", children: title ?? "No data to display" }),
1048
+ description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "dybo-empty__desc", children: description })
1049
+ ] }) });
1050
+ }
1051
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cx28("dybo-empty", className), children: /* @__PURE__ */ jsxRuntime.jsx("p", { className: "dybo-empty__text", children: title ?? "Available Soon" }) });
1052
+ }
1053
+ var cx29 = (...c) => c.filter(Boolean).join(" ");
1054
+ function KpiCard({
1055
+ label,
1056
+ value,
1057
+ icon,
1058
+ variant = "ghost",
1059
+ className
1060
+ }) {
1061
+ if (variant === "tile") {
1062
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx29("dybo-kpi-tile", className), children: [
1063
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
1064
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "dybo-kpi-tile__label", children: label }),
1065
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "dybo-kpi-tile__value", children: value })
1066
+ ] }),
1067
+ icon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "dybo-kpi-tile__icon", children: icon })
1068
+ ] });
1069
+ }
1070
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx29("dybo-kpi", className), children: [
1071
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
1072
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "dybo-kpi__label", children: label }),
1073
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "dybo-kpi__value", children: value })
1074
+ ] }),
1075
+ icon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "dybo-kpi__icon", children: icon })
1076
+ ] });
1077
+ }
1078
+ var cx30 = (...c) => c.filter(Boolean).join(" ");
1079
+ function KpiGrid({ cells, className }) {
1080
+ return /* @__PURE__ */ jsxRuntime.jsx(
1081
+ "div",
1082
+ {
1083
+ className: cx30("dybo-kpi-grid", className),
1084
+ style: { gridTemplateColumns: `repeat(${cells.length || 1}, minmax(0, 1fr))` },
1085
+ children: cells.map((cell, i) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "dybo-kpi-grid__cell", children: [
1086
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "dybo-kpi-grid__label", children: cell.label }),
1087
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "dybo-kpi-grid__value", children: cell.value }),
1088
+ cell.sublabel && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "dybo-kpi-grid__sublabel", children: cell.sublabel })
1089
+ ] }, i))
1090
+ }
1091
+ );
1092
+ }
1093
+ var cx31 = (...c) => c.filter(Boolean).join(" ");
1094
+ function KpiStrip({ items, className }) {
1095
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cx31("dybo-kpi-strip", className), children: items.map((item, i) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "dybo-kpi-strip__item", children: [
1096
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "dybo-kpi-strip__icon", children: item.icon }),
1097
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "dybo-kpi-strip__row", children: [
1098
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
1099
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "dybo-kpi-strip__label", children: item.label }),
1100
+ item.delta && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "dybo-kpi-strip__delta", children: item.delta })
1101
+ ] }),
1102
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "dybo-kpi-strip__value", children: item.value })
1103
+ ] })
1104
+ ] }, i)) });
1105
+ }
1106
+ var cx32 = (...c) => c.filter(Boolean).join(" ");
1107
+ function ViewToggle({ value, options, onChange, className }) {
1108
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cx32("dybo-view-toggle", className), children: options.map((opt) => /* @__PURE__ */ jsxRuntime.jsx(
1109
+ "button",
1110
+ {
1111
+ type: "button",
1112
+ title: opt.label,
1113
+ "aria-pressed": opt.value === value,
1114
+ className: cx32(
1115
+ "dybo-view-toggle__btn",
1116
+ opt.value === value ? "dybo-view-toggle__btn--active" : void 0
1117
+ ),
1118
+ onClick: () => onChange(opt.value),
1119
+ children: opt.icon
1120
+ },
1121
+ opt.value
1122
+ )) });
1123
+ }
1124
+ var cx33 = (...c) => c.filter(Boolean).join(" ");
1125
+ function MetadataBadge({ label, value, className }) {
1126
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cx33("dybo-metadata-badge", className), children: /* @__PURE__ */ jsxRuntime.jsxs("p", { children: [
1127
+ label,
1128
+ ": ",
1129
+ /* @__PURE__ */ jsxRuntime.jsx("b", { children: value })
1130
+ ] }) });
1131
+ }
1132
+ var cx34 = (...c) => c.filter(Boolean).join(" ");
1133
+ function Toast({ open, message, icon, className }) {
1134
+ if (!open) return null;
1135
+ return /* @__PURE__ */ jsxRuntime.jsx(
1136
+ "div",
1137
+ {
1138
+ style: {
1139
+ position: "fixed",
1140
+ left: "50%",
1141
+ bottom: 24,
1142
+ transform: "translateX(-50%)",
1143
+ zIndex: 80,
1144
+ width: "100%",
1145
+ maxWidth: 480,
1146
+ padding: "0 16px"
1147
+ },
1148
+ children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx34("dybo-toast", className), children: [
1149
+ icon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "dybo-toast__icon", children: icon }),
1150
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "dybo-toast__text", children: message })
1151
+ ] })
1152
+ }
1153
+ );
1154
+ }
1155
+ var cx35 = (...c) => c.filter(Boolean).join(" ");
1156
+ function WarningIcon() {
1157
+ return /* @__PURE__ */ jsxRuntime.jsx(
1158
+ "svg",
1159
+ {
1160
+ width: "24",
1161
+ height: "24",
1162
+ viewBox: "0 0 24 24",
1163
+ fill: "none",
1164
+ stroke: "currentColor",
1165
+ strokeWidth: "2",
1166
+ strokeLinecap: "round",
1167
+ strokeLinejoin: "round",
1168
+ children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M12 9v4M12 17h.01M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z" })
1169
+ }
1170
+ );
1171
+ }
1172
+ function Banner({ variant, title, description, items, className }) {
1173
+ const modifier = variant === "warning" ? "dybo-banner--warning" : "dybo-banner--error";
1174
+ return /* @__PURE__ */ jsxRuntime.jsxs(
1175
+ "div",
1176
+ {
1177
+ className: cx35("dybo-banner", modifier, className),
1178
+ role: variant === "blocking-error" ? "alert" : void 0,
1179
+ children: [
1180
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "dybo-banner__icon", children: /* @__PURE__ */ jsxRuntime.jsx(WarningIcon, {}) }),
1181
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "dybo-banner__body", children: [
1182
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "dybo-banner__title", children: title }),
1183
+ description && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "dybo-banner__desc", children: description }),
1184
+ items && items.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "dybo-banner__list", children: items.map((item, i) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: item }, i)) })
1185
+ ] })
1186
+ ]
1187
+ }
1188
+ );
1189
+ }
1190
+ var cx36 = (...c) => c.filter(Boolean).join(" ");
1191
+ function Accordion({
1192
+ question,
1193
+ children,
1194
+ defaultOpen = false,
1195
+ variant = "plain",
1196
+ className
1197
+ }) {
1198
+ return /* @__PURE__ */ jsxRuntime.jsxs(
1199
+ "details",
1200
+ {
1201
+ className: cx36("dybo-accordion", `dybo-accordion--${variant}`, className),
1202
+ open: defaultOpen,
1203
+ children: [
1204
+ /* @__PURE__ */ jsxRuntime.jsxs("summary", { children: [
1205
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "dybo-accordion__q", children: question }),
1206
+ /* @__PURE__ */ jsxRuntime.jsx(
1207
+ "svg",
1208
+ {
1209
+ className: "dybo-accordion__chevron",
1210
+ width: "20",
1211
+ height: "20",
1212
+ viewBox: "0 0 24 24",
1213
+ fill: "none",
1214
+ stroke: "currentColor",
1215
+ strokeWidth: "2",
1216
+ strokeLinecap: "round",
1217
+ strokeLinejoin: "round",
1218
+ children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M6 9l6 6l6-6" })
1219
+ }
1220
+ )
1221
+ ] }),
1222
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "dybo-accordion__body", children })
1223
+ ]
1224
+ }
1225
+ );
1226
+ }
1227
+ var cx37 = (...c) => c.filter(Boolean).join(" ");
1228
+ function ReadOnlyField({ label, value, className }) {
1229
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx37("dybo-readonly-field", className), children: [
1230
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "dybo-readonly-field__label", children: label }),
1231
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "dybo-readonly-field__value", children: value })
1232
+ ] });
1233
+ }
1234
+ var cx38 = (...c) => c.filter(Boolean).join(" ");
1235
+ function SearchField({
1236
+ iconPosition = "left",
1237
+ className,
1238
+ ...props
1239
+ }) {
1240
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx38("dybo-search", `dybo-search--icon-${iconPosition}`, className), children: [
1241
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "dybo-search__icon", children: /* @__PURE__ */ jsxRuntime.jsxs(
1242
+ "svg",
1243
+ {
1244
+ width: "16",
1245
+ height: "16",
1246
+ viewBox: "0 0 24 24",
1247
+ fill: "none",
1248
+ stroke: "currentColor",
1249
+ strokeWidth: "2",
1250
+ strokeLinecap: "round",
1251
+ strokeLinejoin: "round",
1252
+ children: [
1253
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "10", cy: "10", r: "7" }),
1254
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M21 21l-6 -6" })
1255
+ ]
1256
+ }
1257
+ ) }),
1258
+ /* @__PURE__ */ jsxRuntime.jsx("input", { type: "search", className: "dybo-search__input", ...props })
1259
+ ] });
1260
+ }
1261
+ var cx39 = (...c) => c.filter(Boolean).join(" ");
1262
+ function DateRangeTrigger({
1263
+ label,
1264
+ className,
1265
+ ...props
1266
+ }) {
1267
+ return /* @__PURE__ */ jsxRuntime.jsxs(
1268
+ "button",
1269
+ {
1270
+ type: "button",
1271
+ className: cx39("dybo-date-trigger", className),
1272
+ "aria-haspopup": "dialog",
1273
+ ...props,
1274
+ children: [
1275
+ /* @__PURE__ */ jsxRuntime.jsxs(
1276
+ "svg",
1277
+ {
1278
+ width: "18",
1279
+ height: "18",
1280
+ viewBox: "0 0 24 24",
1281
+ fill: "none",
1282
+ stroke: "currentColor",
1283
+ strokeWidth: "2",
1284
+ strokeLinecap: "round",
1285
+ strokeLinejoin: "round",
1286
+ children: [
1287
+ /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "4", y: "5", width: "16", height: "16", rx: "2" }),
1288
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M16 3v4M8 3v4M4 11h16" })
1289
+ ]
1290
+ }
1291
+ ),
1292
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: label })
1293
+ ]
1294
+ }
1295
+ );
1296
+ }
1297
+ var cx40 = (...c) => c.filter(Boolean).join(" ");
1298
+ function UploadDropzone({
1299
+ label = "Upload Files",
1300
+ error = false,
1301
+ className,
1302
+ ...props
1303
+ }) {
1304
+ return /* @__PURE__ */ jsxRuntime.jsxs(
1305
+ "button",
1306
+ {
1307
+ type: "button",
1308
+ className: cx40(
1309
+ "dybo-dropzone",
1310
+ error ? "dybo-dropzone--error" : void 0,
1311
+ className
1312
+ ),
1313
+ ...props,
1314
+ children: [
1315
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "dybo-dropzone__icon", children: /* @__PURE__ */ jsxRuntime.jsxs(
1316
+ "svg",
1317
+ {
1318
+ width: "20",
1319
+ height: "20",
1320
+ viewBox: "0 0 24 24",
1321
+ fill: "none",
1322
+ stroke: "currentColor",
1323
+ strokeWidth: "2",
1324
+ strokeLinecap: "round",
1325
+ strokeLinejoin: "round",
1326
+ children: [
1327
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M7 18a4.6 4.4 0 0 1 0 -9a5 4.5 0 0 1 11 2h1a3.5 3.5 0 0 1 0 7h-1" }),
1328
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M9 15l3 -3l3 3M12 12l0 9" })
1329
+ ]
1330
+ }
1331
+ ) }),
1332
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "dybo-dropzone__label", children: label })
1333
+ ]
1334
+ }
1335
+ );
1336
+ }
1337
+ var cx41 = (...c) => c.filter(Boolean).join(" ");
1338
+ function StatusIcon({ status }) {
1339
+ if (status === "filled") {
1340
+ return /* @__PURE__ */ jsxRuntime.jsx("span", { className: "dybo-step-nav__status dybo-step-nav__status--filled", children: /* @__PURE__ */ jsxRuntime.jsx(
1341
+ "svg",
1342
+ {
1343
+ width: "14",
1344
+ height: "14",
1345
+ viewBox: "0 0 24 24",
1346
+ fill: "none",
1347
+ stroke: "currentColor",
1348
+ strokeWidth: "2",
1349
+ strokeLinecap: "round",
1350
+ strokeLinejoin: "round",
1351
+ children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M5 12l5 5l10 -10" })
1352
+ }
1353
+ ) });
1354
+ }
1355
+ if (status === "extracting") {
1356
+ return /* @__PURE__ */ jsxRuntime.jsx(
1357
+ "span",
1358
+ {
1359
+ className: "dybo-step-nav__status dybo-step-nav__status--extracting",
1360
+ title: "AI Extracting",
1361
+ children: /* @__PURE__ */ jsxRuntime.jsx(
1362
+ "svg",
1363
+ {
1364
+ width: "14",
1365
+ height: "14",
1366
+ viewBox: "0 0 24 24",
1367
+ fill: "none",
1368
+ stroke: "currentColor",
1369
+ strokeWidth: "2",
1370
+ strokeLinecap: "round",
1371
+ strokeLinejoin: "round",
1372
+ children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M12 3l1.9 4.6l4.6 1.9l-4.6 1.9l-1.9 4.6l-1.9 -4.6l-4.6 -1.9l4.6 -1.9z" })
1373
+ }
1374
+ )
1375
+ }
1376
+ );
1377
+ }
1378
+ if (status === "partial") {
1379
+ return /* @__PURE__ */ jsxRuntime.jsx(
1380
+ "span",
1381
+ {
1382
+ className: "dybo-step-nav__status dybo-step-nav__status--partial",
1383
+ title: "Partially Filled"
1384
+ }
1385
+ );
1386
+ }
1387
+ return null;
1388
+ }
1389
+ function StepNavigator({
1390
+ title,
1391
+ steps,
1392
+ activeKey,
1393
+ onStepClick,
1394
+ progressPercent,
1395
+ progressLabel,
1396
+ onSaveExit,
1397
+ onContinue,
1398
+ continueLabel = "Create",
1399
+ className
1400
+ }) {
1401
+ const filledCount = steps.filter((s) => s.status === "filled").length;
1402
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx41("dybo-step-nav", className), children: [
1403
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "dybo-step-nav__title", children: title }),
1404
+ /* @__PURE__ */ jsxRuntime.jsx("nav", { className: "dybo-step-nav__list", children: steps.map((step) => /* @__PURE__ */ jsxRuntime.jsxs(
1405
+ "button",
1406
+ {
1407
+ type: "button",
1408
+ className: cx41(
1409
+ "dybo-step-nav__item",
1410
+ step.key === activeKey ? "dybo-step-nav__item--active" : void 0
1411
+ ),
1412
+ onClick: () => onStepClick?.(step.key),
1413
+ children: [
1414
+ step.icon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "dybo-step-nav__item-icon", children: step.icon }),
1415
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "dybo-step-nav__item-text", children: [
1416
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "dybo-step-nav__item-label", children: step.label }),
1417
+ step.sublabel && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "dybo-step-nav__item-sub", children: step.sublabel })
1418
+ ] }),
1419
+ step.status && step.status !== "empty" && /* @__PURE__ */ jsxRuntime.jsx(StatusIcon, { status: step.status })
1420
+ ]
1421
+ },
1422
+ step.key
1423
+ )) }),
1424
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "dybo-step-nav__progress", children: [
1425
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "dybo-step-nav__progress-row", children: [
1426
+ /* @__PURE__ */ jsxRuntime.jsx("span", { style: { opacity: 0.64, fontWeight: 500 }, children: "Overall Progress" }),
1427
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { style: { fontWeight: 700 }, children: [
1428
+ progressPercent,
1429
+ "%"
1430
+ ] })
1431
+ ] }),
1432
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "dybo-step-nav__progress-track", children: /* @__PURE__ */ jsxRuntime.jsx(
1433
+ "div",
1434
+ {
1435
+ className: "dybo-step-nav__progress-fill",
1436
+ style: { width: `${progressPercent}%` }
1437
+ }
1438
+ ) }),
1439
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "dybo-step-nav__progress-note", children: progressLabel ?? `${filledCount} of ${steps.length} sections filled` })
1440
+ ] }),
1441
+ (onSaveExit || onContinue) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "dybo-step-nav__actions", children: [
1442
+ onSaveExit && /* @__PURE__ */ jsxRuntime.jsx(
1443
+ "button",
1444
+ {
1445
+ type: "button",
1446
+ className: "dybo-btn dybo-btn--secondary",
1447
+ onClick: onSaveExit,
1448
+ children: "Save & Exit"
1449
+ }
1450
+ ),
1451
+ onContinue && /* @__PURE__ */ jsxRuntime.jsx(
1452
+ "button",
1453
+ {
1454
+ type: "button",
1455
+ className: "dybo-btn dybo-btn--primary",
1456
+ onClick: onContinue,
1457
+ children: continueLabel
1458
+ }
1459
+ )
1460
+ ] })
1461
+ ] });
1462
+ }
1463
+ var cx42 = (...c) => c.filter(Boolean).join(" ");
1464
+ function DocumentTypeGrid({ options, value, onChange, className }) {
1465
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cx42("dybo-doc-type-grid", className), children: options.map((opt) => /* @__PURE__ */ jsxRuntime.jsxs(
1466
+ "button",
1467
+ {
1468
+ type: "button",
1469
+ disabled: opt.disabled,
1470
+ className: cx42(
1471
+ "dybo-doc-type-card",
1472
+ opt.disabled ? "dybo-doc-type-card--disabled" : void 0
1473
+ ),
1474
+ onClick: () => onChange(opt.key),
1475
+ "aria-pressed": opt.key === value,
1476
+ children: [
1477
+ opt.icon,
1478
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "dybo-doc-type-card__label", children: opt.label }),
1479
+ opt.disabled && /* @__PURE__ */ jsxRuntime.jsx(
1480
+ "span",
1481
+ {
1482
+ style: {
1483
+ position: "absolute",
1484
+ top: 8,
1485
+ right: 8,
1486
+ padding: "2px 6px",
1487
+ borderRadius: 999,
1488
+ background: "hsl(var(--warning-background))",
1489
+ color: "hsl(var(--warning))",
1490
+ fontSize: 10,
1491
+ fontWeight: 500
1492
+ },
1493
+ children: "Available Soon"
1494
+ }
1495
+ )
1496
+ ]
1497
+ },
1498
+ opt.key
1499
+ )) });
1500
+ }
1501
+ var cx43 = (...c) => c.filter(Boolean).join(" ");
1502
+ function FilePreviewCard({
1503
+ fileName,
1504
+ uploadedBy,
1505
+ uploadedAt,
1506
+ imageSrc,
1507
+ onPrev,
1508
+ onNext,
1509
+ hasPrev = false,
1510
+ hasNext = false,
1511
+ className
1512
+ }) {
1513
+ return /* @__PURE__ */ jsxRuntime.jsxs(
1514
+ "div",
1515
+ {
1516
+ className: cx43(className),
1517
+ style: { display: "flex", flexDirection: "column", gap: 8 },
1518
+ children: [
1519
+ (onPrev || onNext) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "dybo-file-preview-pager", role: "group", "aria-label": "Recently added", children: [
1520
+ /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", disabled: !hasPrev, onClick: onPrev, "aria-label": "Previous file", children: /* @__PURE__ */ jsxRuntime.jsx(
1521
+ "svg",
1522
+ {
1523
+ width: "16",
1524
+ height: "16",
1525
+ viewBox: "0 0 24 24",
1526
+ fill: "none",
1527
+ stroke: "currentColor",
1528
+ strokeWidth: "2",
1529
+ strokeLinecap: "round",
1530
+ strokeLinejoin: "round",
1531
+ children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M15 6l-6 6l6 6" })
1532
+ }
1533
+ ) }),
1534
+ /* @__PURE__ */ jsxRuntime.jsx("div", { style: { height: 16, width: 1, background: "hsl(var(--border) / 0.7)" } }),
1535
+ /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", disabled: !hasNext, onClick: onNext, "aria-label": "Next file", children: /* @__PURE__ */ jsxRuntime.jsx(
1536
+ "svg",
1537
+ {
1538
+ width: "16",
1539
+ height: "16",
1540
+ viewBox: "0 0 24 24",
1541
+ fill: "none",
1542
+ stroke: "currentColor",
1543
+ strokeWidth: "2",
1544
+ strokeLinecap: "round",
1545
+ strokeLinejoin: "round",
1546
+ children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M9 6l6 6l-6 6" })
1547
+ }
1548
+ ) })
1549
+ ] }),
1550
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "dybo-file-preview", children: [
1551
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "dybo-file-preview__name", title: fileName, children: fileName }),
1552
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "dybo-file-preview__meta", children: [
1553
+ /* @__PURE__ */ jsxRuntime.jsxs("p", { children: [
1554
+ "Uploaded by: ",
1555
+ uploadedBy
1556
+ ] }),
1557
+ /* @__PURE__ */ jsxRuntime.jsx("p", { children: uploadedAt })
1558
+ ] }),
1559
+ imageSrc && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "dybo-file-preview__image", children: /* @__PURE__ */ jsxRuntime.jsx("img", { alt: "", src: imageSrc }) })
1560
+ ] })
1561
+ ]
1562
+ }
1563
+ );
1564
+ }
1565
+ var cx44 = (...c) => c.filter(Boolean).join(" ");
1566
+ function FileReviewRow({
1567
+ fileName,
1568
+ fileSize,
1569
+ fileType,
1570
+ classification,
1571
+ location,
1572
+ status,
1573
+ onView,
1574
+ onChangeLocation,
1575
+ onApprove,
1576
+ onReject,
1577
+ className
1578
+ }) {
1579
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cx44("dybo-file-review", className), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "dybo-file-review__main", children: [
1580
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "dybo-file-review__icon", children: /* @__PURE__ */ jsxRuntime.jsxs(
1581
+ "svg",
1582
+ {
1583
+ width: "16",
1584
+ height: "16",
1585
+ viewBox: "0 0 24 24",
1586
+ fill: "none",
1587
+ stroke: "currentColor",
1588
+ strokeWidth: "2",
1589
+ strokeLinecap: "round",
1590
+ strokeLinejoin: "round",
1591
+ children: [
1592
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M14 3v4a1 1 0 0 0 1 1h4" }),
1593
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M17 21H7a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7l5 5v11a2 2 0 0 1-2 2" })
1594
+ ]
1595
+ }
1596
+ ) }),
1597
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { flex: 1, minWidth: 150 }, children: [
1598
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "dybo-file-review__name-row", children: [
1599
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "dybo-file-review__name", children: fileName }),
1600
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "dybo-file-review__size", children: [
1601
+ fileSize,
1602
+ " \xB7 ",
1603
+ fileType
1604
+ ] })
1605
+ ] }),
1606
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "dybo-file-review__sub", children: [
1607
+ "Classified as ",
1608
+ classification,
1609
+ " \xB7 Location: ",
1610
+ location
1611
+ ] })
1612
+ ] }),
1613
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "dybo-file-review__actions", children: [
1614
+ status,
1615
+ onView && /* @__PURE__ */ jsxRuntime.jsx(
1616
+ "button",
1617
+ {
1618
+ type: "button",
1619
+ title: "View file",
1620
+ className: "dybo-file-review__ic",
1621
+ onClick: onView,
1622
+ children: /* @__PURE__ */ jsxRuntime.jsxs(
1623
+ "svg",
1624
+ {
1625
+ width: "16",
1626
+ height: "16",
1627
+ viewBox: "0 0 24 24",
1628
+ fill: "none",
1629
+ stroke: "currentColor",
1630
+ strokeWidth: "2",
1631
+ strokeLinecap: "round",
1632
+ strokeLinejoin: "round",
1633
+ children: [
1634
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M10 12a2 2 0 1 0 4 0a2 2 0 1 0-4 0" }),
1635
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M21 12c-2.4 4-5.4 6-9 6s-6.6-2-9-6c2.4-4 5.4-6 9-6s6.6 2 9 6" })
1636
+ ]
1637
+ }
1638
+ )
1639
+ }
1640
+ ),
1641
+ onChangeLocation && /* @__PURE__ */ jsxRuntime.jsx(
1642
+ "button",
1643
+ {
1644
+ type: "button",
1645
+ title: "Change location",
1646
+ className: "dybo-file-review__ic",
1647
+ onClick: onChangeLocation,
1648
+ children: /* @__PURE__ */ jsxRuntime.jsx(
1649
+ "svg",
1650
+ {
1651
+ width: "16",
1652
+ height: "16",
1653
+ viewBox: "0 0 24 24",
1654
+ fill: "none",
1655
+ stroke: "currentColor",
1656
+ strokeWidth: "2",
1657
+ strokeLinecap: "round",
1658
+ strokeLinejoin: "round",
1659
+ children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M5 4h4l3 3h7a1 1 0 0 1 1 1v9a1 1 0 0 1-1 1h-14a1 1 0 0 1-1-1v-12a1 1 0 0 1 1-1" })
1660
+ }
1661
+ )
1662
+ }
1663
+ ),
1664
+ onApprove && /* @__PURE__ */ jsxRuntime.jsx(
1665
+ "button",
1666
+ {
1667
+ type: "button",
1668
+ title: "Approve",
1669
+ className: "dybo-file-review__ic dybo-file-review__ic--approve",
1670
+ onClick: onApprove,
1671
+ children: /* @__PURE__ */ jsxRuntime.jsx(
1672
+ "svg",
1673
+ {
1674
+ width: "16",
1675
+ height: "16",
1676
+ viewBox: "0 0 24 24",
1677
+ fill: "none",
1678
+ stroke: "currentColor",
1679
+ strokeWidth: "2",
1680
+ strokeLinecap: "round",
1681
+ strokeLinejoin: "round",
1682
+ children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M5 12l5 5l10 -10" })
1683
+ }
1684
+ )
1685
+ }
1686
+ ),
1687
+ onReject && /* @__PURE__ */ jsxRuntime.jsx(
1688
+ "button",
1689
+ {
1690
+ type: "button",
1691
+ title: "Reject",
1692
+ className: "dybo-file-review__ic dybo-file-review__ic--reject",
1693
+ onClick: onReject,
1694
+ children: /* @__PURE__ */ jsxRuntime.jsxs(
1695
+ "svg",
1696
+ {
1697
+ width: "16",
1698
+ height: "16",
1699
+ viewBox: "0 0 24 24",
1700
+ fill: "none",
1701
+ stroke: "currentColor",
1702
+ strokeWidth: "2",
1703
+ strokeLinecap: "round",
1704
+ strokeLinejoin: "round",
1705
+ children: [
1706
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "9" }),
1707
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M8.5 8.5l7 7" })
1708
+ ]
1709
+ }
1710
+ )
1711
+ }
1712
+ )
1713
+ ] })
1714
+ ] }) });
1715
+ }
1716
+ var cx45 = (...c) => c.filter(Boolean).join(" ");
1717
+ function RejectionReasonPanel({
1718
+ reasons,
1719
+ selectedReasons,
1720
+ onToggleReason,
1721
+ note,
1722
+ onNoteChange,
1723
+ onCancel,
1724
+ onConfirm,
1725
+ className
1726
+ }) {
1727
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx45("dybo-reject-panel", className), children: [
1728
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "dybo-reject-panel__label", children: "Why is this file being rejected?" }),
1729
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "dybo-reason-chips", children: reasons.map((reason) => /* @__PURE__ */ jsxRuntime.jsx(
1730
+ "button",
1731
+ {
1732
+ type: "button",
1733
+ className: cx45(
1734
+ "dybo-reason-chip",
1735
+ selectedReasons.includes(reason.key) ? "dybo-reason-chip--on" : void 0
1736
+ ),
1737
+ onClick: () => onToggleReason(reason.key),
1738
+ children: reason.label
1739
+ },
1740
+ reason.key
1741
+ )) }),
1742
+ /* @__PURE__ */ jsxRuntime.jsx(
1743
+ "textarea",
1744
+ {
1745
+ rows: 2,
1746
+ placeholder: "Add a note (optional)",
1747
+ className: "dybo-reject-panel__note",
1748
+ value: note,
1749
+ onChange: (e) => onNoteChange(e.target.value)
1750
+ }
1751
+ ),
1752
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "dybo-reject-panel__footer", children: [
1753
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "dybo-reject-panel__notice", children: [
1754
+ /* @__PURE__ */ jsxRuntime.jsxs(
1755
+ "svg",
1756
+ {
1757
+ width: "14",
1758
+ height: "14",
1759
+ viewBox: "0 0 24 24",
1760
+ fill: "none",
1761
+ stroke: "currentColor",
1762
+ strokeWidth: "2",
1763
+ strokeLinecap: "round",
1764
+ strokeLinejoin: "round",
1765
+ children: [
1766
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M10 5a2 2 0 1 1 4 0a7 7 0 0 1 4 6v3a4 4 0 0 0 2 3h-16a4 4 0 0 0 2 -3v-3a7 7 0 0 1 4 -6" }),
1767
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M9 17v1a3 3 0 0 0 6 0v-1" })
1768
+ ]
1769
+ }
1770
+ ),
1771
+ "The recipient will be notified with this reason."
1772
+ ] }),
1773
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "dybo-reject-panel__actions", children: [
1774
+ /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", className: "dybo-reject-btn", onClick: onCancel, children: "Cancel" }),
1775
+ /* @__PURE__ */ jsxRuntime.jsx(
1776
+ "button",
1777
+ {
1778
+ type: "button",
1779
+ className: "dybo-reject-btn dybo-reject-btn--solid",
1780
+ onClick: onConfirm,
1781
+ children: "Reject & send"
1782
+ }
1783
+ )
1784
+ ] })
1785
+ ] })
1786
+ ] });
1787
+ }
1788
+ var cx46 = (...c) => c.filter(Boolean).join(" ");
1789
+ var defaultLabels2 = {
1790
+ processing: "Processing",
1791
+ pending: "Pending",
1792
+ editing: "Editing",
1793
+ failed: "Failed"
1794
+ };
1795
+ function QueueStatusBadge({
1796
+ status,
1797
+ className,
1798
+ children,
1799
+ ...props
1800
+ }) {
1801
+ return /* @__PURE__ */ jsxRuntime.jsx(
1802
+ "span",
1803
+ {
1804
+ className: cx46("dybo-queue-status", `dybo-queue-status--${status}`, className),
1805
+ ...props,
1806
+ children: children ?? defaultLabels2[status]
1807
+ }
1808
+ );
1809
+ }
1810
+ var cx47 = (...c) => c.filter(Boolean).join(" ");
1811
+ function TicketCard({
1812
+ id,
1813
+ signals,
1814
+ priority,
1815
+ status,
1816
+ fields,
1817
+ selected = false,
1818
+ closed = false,
1819
+ href,
1820
+ onClick,
1821
+ className
1822
+ }) {
1823
+ const classes = cx47(
1824
+ "dybo-ticket-card",
1825
+ selected ? "dybo-ticket-card--selected" : void 0,
1826
+ closed ? "dybo-ticket-card--closed" : void 0,
1827
+ className
1828
+ );
1829
+ const content = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1830
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "dybo-ticket-card__top", children: [
1831
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "dybo-ticket-card__id", children: [
1832
+ "#",
1833
+ id
1834
+ ] }),
1835
+ /* @__PURE__ */ jsxRuntime.jsx("span", { style: { marginLeft: "auto" } }),
1836
+ signals,
1837
+ priority,
1838
+ status
1839
+ ] }),
1840
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "dybo-ticket-card__fields", children: fields.map((field) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "dybo-ticket-card__field", children: [
1841
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "dybo-ticket-card__field-label", children: field.label }),
1842
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "dybo-ticket-card__field-value", children: field.value })
1843
+ ] }, field.label)) })
1844
+ ] });
1845
+ if (href) {
1846
+ return /* @__PURE__ */ jsxRuntime.jsx("a", { href, className: classes, onClick, children: content });
1847
+ }
1848
+ return /* @__PURE__ */ jsxRuntime.jsx(
1849
+ "button",
1850
+ {
1851
+ type: "button",
1852
+ className: classes,
1853
+ onClick,
1854
+ style: { textAlign: "left", width: "100%" },
1855
+ children: content
1856
+ }
1857
+ );
1858
+ }
1859
+ var cx48 = (...c) => c.filter(Boolean).join(" ");
1860
+ function ChatMessage({ author, initials, timestamp, body, mine }) {
1861
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx48("dybo-chat-message", mine ? "dybo-chat-message--mine" : void 0), children: [
1862
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "dybo-chat-message__avatar", children: initials }),
1863
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "dybo-chat-message__body", children: [
1864
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "dybo-chat-message__meta", children: mine ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1865
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "dybo-chat-message__time", children: timestamp }),
1866
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "dybo-chat-message__author", children: author })
1867
+ ] }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1868
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "dybo-chat-message__author", children: author }),
1869
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "dybo-chat-message__time", children: timestamp })
1870
+ ] }) }),
1871
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "dybo-chat-message__bubble", children: body })
1872
+ ] })
1873
+ ] });
1874
+ }
1875
+ function ChatThread({ messages, className }) {
1876
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cx48(className), style: { display: "flex", flexDirection: "column", gap: 16 }, children: messages.map((message) => /* @__PURE__ */ jsxRuntime.jsx(ChatMessage, { ...message }, message.id)) });
1877
+ }
1878
+ var cx49 = (...c) => c.filter(Boolean).join(" ");
1879
+ function InternalNoteCard({
1880
+ author,
1881
+ timestamp,
1882
+ children,
1883
+ className
1884
+ }) {
1885
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx49("dybo-internal-note", className), children: [
1886
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "dybo-internal-note__head", children: [
1887
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "dybo-internal-note__author", children: author }),
1888
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "dybo-internal-note__time", children: timestamp })
1889
+ ] }),
1890
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "dybo-internal-note__body", children })
1891
+ ] });
1892
+ }
1893
+ var cx50 = (...c) => c.filter(Boolean).join(" ");
1894
+ function ChannelBadge({ icon, label, className }) {
1895
+ return /* @__PURE__ */ jsxRuntime.jsxs("span", { className: cx50("dybo-channel-badge", className), children: [
1896
+ icon,
1897
+ label
1898
+ ] });
1899
+ }
1900
+ var cx51 = (...c) => c.filter(Boolean).join(" ");
1901
+ function SignalBadge({ variant, children, className }) {
1902
+ return /* @__PURE__ */ jsxRuntime.jsx("span", { className: cx51(`dybo-signal--${variant}`, className), children });
1903
+ }
1904
+ var cx52 = (...c) => c.filter(Boolean).join(" ");
1905
+ function CategoryLabel({ label, color, className }) {
1906
+ const style = color ? { "--lbl-c": color } : void 0;
1907
+ return /* @__PURE__ */ jsxRuntime.jsx("span", { className: cx52("dybo-label", className), style, children: label });
1908
+ }
1909
+ var cx53 = (...c) => c.filter(Boolean).join(" ");
1910
+ function LinkedAppIndicator({ icon, appName, className }) {
1911
+ if (!appName) {
1912
+ return /* @__PURE__ */ jsxRuntime.jsx("span", { className: cx53("dybo-linked-app--empty", className), children: "\u2013" });
1913
+ }
1914
+ return /* @__PURE__ */ jsxRuntime.jsxs("span", { className: cx53("dybo-linked-app", className), children: [
1915
+ icon,
1916
+ appName
1917
+ ] });
1918
+ }
681
1919
 
1920
+ exports.Accordion = Accordion;
682
1921
  exports.Alert = Alert;
683
1922
  exports.AppShell = AppShell;
1923
+ exports.Avatar = Avatar;
684
1924
  exports.Badge = Badge;
1925
+ exports.Banner = Banner;
685
1926
  exports.Button = Button;
686
1927
  exports.Card = Card;
1928
+ exports.CategoryLabel = CategoryLabel;
1929
+ exports.ChannelBadge = ChannelBadge;
1930
+ exports.ChatMessage = ChatMessage;
1931
+ exports.ChatThread = ChatThread;
687
1932
  exports.DataTable = DataTable;
1933
+ exports.DateRangeTrigger = DateRangeTrigger;
1934
+ exports.DocumentTypeGrid = DocumentTypeGrid;
688
1935
  exports.Drawer = Drawer;
1936
+ exports.EmptyState = EmptyState;
1937
+ exports.FilePreviewCard = FilePreviewCard;
1938
+ exports.FileReviewRow = FileReviewRow;
1939
+ exports.FilterPills = FilterPills;
689
1940
  exports.IconRail = IconRail;
690
1941
  exports.IconRailItem = IconRailItem;
691
1942
  exports.Input = Input;
1943
+ exports.InternalNoteCard = InternalNoteCard;
1944
+ exports.KpiCard = KpiCard;
1945
+ exports.KpiGrid = KpiGrid;
1946
+ exports.KpiStrip = KpiStrip;
1947
+ exports.LinkedAppIndicator = LinkedAppIndicator;
692
1948
  exports.LoginCard = LoginCard;
1949
+ exports.MetadataBadge = MetadataBadge;
693
1950
  exports.Modal = Modal;
694
1951
  exports.NavItem = NavItem;
695
1952
  exports.NavSection = NavSection;
696
1953
  exports.NavTabs = NavTabs;
1954
+ exports.NotificationsButton = NotificationsButton;
1955
+ exports.OrgEntitySelector = OrgEntitySelector;
697
1956
  exports.OverviewField = OverviewField;
698
1957
  exports.OverviewGrid = OverviewGrid;
1958
+ exports.Pagination = Pagination;
1959
+ exports.PlatformSwitcher = PlatformSwitcher;
699
1960
  exports.PriorityBadge = PriorityBadge;
1961
+ exports.QueueStatusBadge = QueueStatusBadge;
1962
+ exports.ReadOnlyField = ReadOnlyField;
1963
+ exports.RejectionReasonPanel = RejectionReasonPanel;
700
1964
  exports.ScopeTabs = ScopeTabs;
1965
+ exports.SearchField = SearchField;
701
1966
  exports.Select = Select;
702
1967
  exports.Sidebar = Sidebar;
1968
+ exports.SignalBadge = SignalBadge;
1969
+ exports.StepNavigator = StepNavigator;
703
1970
  exports.Tabs = Tabs;
1971
+ exports.ThemeToggle = ThemeToggle;
1972
+ exports.TicketCard = TicketCard;
704
1973
  exports.TicketStatusBadge = TicketStatusBadge;
1974
+ exports.Toast = Toast;
705
1975
  exports.TopBar = TopBar;
1976
+ exports.UnderlineTabs = UnderlineTabs;
1977
+ exports.UploadDropzone = UploadDropzone;
1978
+ exports.ViewToggle = ViewToggle;
706
1979
  //# sourceMappingURL=index.cjs.map
707
1980
  //# sourceMappingURL=index.cjs.map