@umami/react-zen 0.65.0 → 0.66.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
@@ -34,8 +34,8 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
34
34
  // node_modules/.pnpm/use-sync-external-store@1.4.0_react@19.0.0/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js
35
35
  var require_use_sync_external_store_shim_production = __commonJS({
36
36
  "node_modules/.pnpm/use-sync-external-store@1.4.0_react@19.0.0/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js"(exports) {
37
- var import_react198 = __toESM(require("react"));
38
- var React7 = import_react198.default;
37
+ var import_react199 = __toESM(require("react"));
38
+ var React7 = import_react199.default;
39
39
  function is2(x, y) {
40
40
  return x === y && (0 !== x || 1 / x === 1 / y) || x !== x && y !== y;
41
41
  }
@@ -87,7 +87,7 @@ var require_use_sync_external_store_shim_production = __commonJS({
87
87
  // node_modules/.pnpm/use-sync-external-store@1.4.0_react@19.0.0/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js
88
88
  var require_use_sync_external_store_shim_development = __commonJS({
89
89
  "node_modules/.pnpm/use-sync-external-store@1.4.0_react@19.0.0/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js"(exports) {
90
- var import_react198 = __toESM(require("react"));
90
+ var import_react199 = __toESM(require("react"));
91
91
  (function() {
92
92
  function is2(x, y) {
93
93
  return x === y && (0 !== x || 1 / x === 1 / y) || x !== x && y !== y;
@@ -141,7 +141,7 @@ var require_use_sync_external_store_shim_development = __commonJS({
141
141
  return getSnapshot();
142
142
  }
143
143
  "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());
144
- var React7 = import_react198.default, objectIs = "function" === typeof Object.is ? Object.is : is2, useState17 = React7.useState, useEffect13 = React7.useEffect, useLayoutEffect2 = React7.useLayoutEffect, useDebugValue = React7.useDebugValue, didWarnOld18Alpha = false, didWarnUncachedGetSnapshot = false, shim = "undefined" === typeof window || "undefined" === typeof window.document || "undefined" === typeof window.document.createElement ? useSyncExternalStore$1 : useSyncExternalStore$2;
144
+ var React7 = import_react199.default, objectIs = "function" === typeof Object.is ? Object.is : is2, useState17 = React7.useState, useEffect13 = React7.useEffect, useLayoutEffect2 = React7.useLayoutEffect, useDebugValue = React7.useDebugValue, didWarnOld18Alpha = false, didWarnUncachedGetSnapshot = false, shim = "undefined" === typeof window || "undefined" === typeof window.document || "undefined" === typeof window.document.createElement ? useSyncExternalStore$1 : useSyncExternalStore$2;
145
145
  exports.useSyncExternalStore = void 0 !== React7.useSyncExternalStore ? React7.useSyncExternalStore : shim;
146
146
  "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());
147
147
  })();
@@ -27386,7 +27386,7 @@ var import_react157 = require("react");
27386
27386
  var import_classnames7 = __toESM(require_classnames());
27387
27387
 
27388
27388
  // css-modules:E:\dev\umami-react-zen\src\components\Button.module.css
27389
- var Button_default = { "button": "Button_button__ZTY3M", "primary": "Button_primary__YzkyZ", "outline": "Button_outline__OGU2Z", "quiet": "Button_quiet__ZTliZ", "danger": "Button_danger__ZDc1M", "sm": "Button_sm__NzRiZ", "md": "Button_md__ZTZiM", "lg": "Button_lg__ODE0Z", "xl": "Button_xl__NzE0M" };
27389
+ var Button_default = { "button": "Button_button__NDYwM", "primary": "Button_primary__OWE0M", "outline": "Button_outline__NTQyN", "quiet": "Button_quiet__NDFjM", "danger": "Button_danger__NDUzM", "sm": "Button_sm__NTVjM", "md": "Button_md__NDE4O", "lg": "Button_lg__NTU4O", "xl": "Button_xl__NjFkM" };
27390
27390
 
27391
27391
  // src/components/Button.tsx
27392
27392
  var import_jsx_runtime10 = require("react/jsx-runtime");
@@ -27394,8 +27394,8 @@ var Button2 = (0, import_react157.forwardRef)(
27394
27394
  ({
27395
27395
  variant = "secondary",
27396
27396
  size = "md",
27397
- preventFocusOnPress = true,
27398
27397
  asChild,
27398
+ preventFocusOnPress = true,
27399
27399
  className,
27400
27400
  children,
27401
27401
  ...props
@@ -27435,18 +27435,19 @@ function FormResetButton({ values = {}, children, onPress, ...props }) {
27435
27435
  var import_classnames8 = __toESM(require_classnames());
27436
27436
 
27437
27437
  // css-modules:E:\dev\umami-react-zen\src\components\Spinner.module.css
27438
- var Spinner_default = { "spinner": "Spinner_spinner__NGM1Z", "spinner-rotate": "Spinner_spinner-rotate__OGEwZ", "track": "Spinner_track__NDk4Z", "fill": "Spinner_fill__NDViY", "spinner-dash": "Spinner_spinner-dash__ZDNmY", "size-sm": "Spinner_size-sm__NTY4Y", "size-md": "Spinner_size-md__ZDQ0Y", "size-lg": "Spinner_size-lg__YzIxZ", "size-xl": "Spinner_size-xl__NGQ1Z", "quiet": "Spinner_quiet__ODg0N" };
27438
+ var Spinner_default = { "spinner": "Spinner_spinner__MmRhN", "spinner-rotate": "Spinner_spinner-rotate__MDI2M", "track": "Spinner_track__ODIyN", "fill": "Spinner_fill__OGY5Y", "spinner-dash": "Spinner_spinner-dash__ZDE2N", "size-sm": "Spinner_size-sm__YWEwM", "size-md": "Spinner_size-md__NThiM", "size-lg": "Spinner_size-lg__MDEzN", "size-xl": "Spinner_size-xl__ZTNkN", "quiet": "Spinner_quiet__ZGJlM", "disabled": "Spinner_disabled__YjdjY" };
27439
27439
 
27440
27440
  // src/components/Spinner.tsx
27441
27441
  var import_jsx_runtime12 = require("react/jsx-runtime");
27442
27442
  function Spinner(props) {
27443
- const { size = "lg", quiet, className, ...domProps } = props;
27443
+ const { size = "lg", quiet, className, isDisabled, ...domProps } = props;
27444
27444
  return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
27445
27445
  "div",
27446
27446
  {
27447
27447
  ...domProps,
27448
27448
  className: (0, import_classnames8.default)(Spinner_default.spinner, className, Spinner_default[`size-${size}`], {
27449
- [Spinner_default.quiet]: quiet
27449
+ [Spinner_default.quiet]: quiet,
27450
+ [Spinner_default.disabled]: isDisabled
27450
27451
  }),
27451
27452
  children: /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("svg", { viewBox: "25 25 50 50", children: [
27452
27453
  /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("circle", { className: Spinner_default.track, cx: "50", cy: "50", r: "20" }),
@@ -27458,10 +27459,16 @@ function Spinner(props) {
27458
27459
 
27459
27460
  // src/components/LoadingButton.tsx
27460
27461
  var import_jsx_runtime13 = require("react/jsx-runtime");
27461
- function LoadingButton({ isLoading, children, ...props }) {
27462
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(Button2, { ...props, children: [
27463
- isLoading && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Icon, { size: "sm", children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Spinner, {}) }),
27464
- children
27462
+ function LoadingButton({
27463
+ isLoading,
27464
+ isDisabled,
27465
+ showText = true,
27466
+ children,
27467
+ ...props
27468
+ }) {
27469
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(Button2, { ...props, isDisabled, children: [
27470
+ isLoading && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Icon, { size: "sm", children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Spinner, { isDisabled }) }),
27471
+ showText && children
27465
27472
  ] });
27466
27473
  }
27467
27474
 
@@ -27477,7 +27484,6 @@ function FormSubmitButton({
27477
27484
  const {
27478
27485
  formState: { isDirty, isValid, isSubmitting, isSubmitted, isSubmitSuccessful }
27479
27486
  } = useFormContext();
27480
- console.log({ isDirty, isValid, isSubmitting, isSubmitted, isSubmitSuccessful });
27481
27487
  return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
27482
27488
  LoadingButton,
27483
27489
  {
@@ -31554,19 +31560,30 @@ function Code({ asChild, children }) {
31554
31560
  var import_classnames21 = __toESM(require_classnames());
31555
31561
 
31556
31562
  // src/components/List.tsx
31563
+ var import_react180 = require("react");
31557
31564
  var import_classnames19 = __toESM(require_classnames());
31558
31565
 
31559
31566
  // css-modules:E:\dev\umami-react-zen\src\components\List.module.css
31560
- var List_default = { "list": "List_list__ZjQ0Z", "separator": "List_separator__OGExO", "section": "List_section__MGFiY", "header": "List_header__MDczN", "item": "List_item__OGFiZ", "check": "List_check__NTA3N" };
31567
+ var List_default = { "list": "List_list__MDIxN", "separator": "List_separator__YWY4N", "section": "List_section__NWU0Y", "header": "List_header__Yzg0Y", "item": "List_item__NjEyN", "check": "List_check__MTNlZ" };
31561
31568
 
31562
31569
  // src/components/List.tsx
31563
31570
  var import_jsx_runtime28 = require("react/jsx-runtime");
31564
- function List({ items, className, children, ...props }) {
31565
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)($eed445e0843c11d0$export$41f133550aa26f48, { ...props, items, className: (0, import_classnames19.default)(List_default.list, className), children: children || items?.map((item, index) => {
31566
- if (item === null) {
31567
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)($431f98aba6844401$export$1ff3c3f08ae963c0, { className: List_default.separator }, index);
31568
- }
31569
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(ListItem, { id: item, className: List_default.item, children: item }, index);
31571
+ function List({
31572
+ items,
31573
+ idProperty = "id",
31574
+ labelProperty = "label",
31575
+ separatorProperty = "separatpr",
31576
+ className,
31577
+ children,
31578
+ ...props
31579
+ }) {
31580
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)($eed445e0843c11d0$export$41f133550aa26f48, { ...props, items, className: (0, import_classnames19.default)(List_default.list, className), children: children || items?.map((item) => {
31581
+ const id = item[idProperty] || item.toString();
31582
+ const label = item[labelProperty] || item.toString();
31583
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(import_react180.Fragment, { children: [
31584
+ item[separatorProperty] && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)($431f98aba6844401$export$1ff3c3f08ae963c0, { className: List_default.separator }),
31585
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(ListItem, { id, className: List_default.item, children: label })
31586
+ ] }, id);
31570
31587
  }) });
31571
31588
  }
31572
31589
  function ListItem({ children, className, ...props }) {
@@ -31648,11 +31665,11 @@ function Container({
31648
31665
  }
31649
31666
 
31650
31667
  // src/components/ConfirmationDialog.tsx
31651
- var import_react182 = require("react");
31668
+ var import_react183 = require("react");
31652
31669
  var import_classnames26 = __toESM(require_classnames());
31653
31670
 
31654
31671
  // src/components/TextField.tsx
31655
- var import_react181 = require("react");
31672
+ var import_react182 = require("react");
31656
31673
  var import_classnames25 = __toESM(require_classnames());
31657
31674
 
31658
31675
  // src/components/Label.tsx
@@ -31668,7 +31685,7 @@ function Label2({ className, ...props }) {
31668
31685
  }
31669
31686
 
31670
31687
  // src/components/CopyButton.tsx
31671
- var import_react180 = require("react");
31688
+ var import_react181 = require("react");
31672
31689
  var import_classnames24 = __toESM(require_classnames());
31673
31690
 
31674
31691
  // css-modules:E:\dev\umami-react-zen\src\components\CopyButton.module.css
@@ -31678,8 +31695,8 @@ var CopyButton_default = { "icon": "CopyButton_icon__YTM2Y", "copy-button": "Cop
31678
31695
  var import_jsx_runtime33 = require("react/jsx-runtime");
31679
31696
  var TIMEOUT = 2e3;
31680
31697
  function CopyButton({ value, timeout = TIMEOUT, className, children, ...props }) {
31681
- const [copied, setCopied] = (0, import_react180.useState)(false);
31682
- const ref = (0, import_react180.useRef)(timeout);
31698
+ const [copied, setCopied] = (0, import_react181.useState)(false);
31699
+ const ref = (0, import_react181.useRef)(timeout);
31683
31700
  const handleCopy = async () => {
31684
31701
  if (value) {
31685
31702
  await navigator.clipboard.writeText(value);
@@ -31692,14 +31709,14 @@ function CopyButton({ value, timeout = TIMEOUT, className, children, ...props })
31692
31709
  }
31693
31710
 
31694
31711
  // css-modules:E:\dev\umami-react-zen\src\components\styles\input.module.css
31695
- var input_default = { "field": "input_field__NGM0Z", "row": "input_row__NjY4Y", "input": "input_input__MjUyM", "icon": "input_icon__ZjY5O" };
31712
+ var input_default = { "field": "input_field__ZGEyY", "row": "input_row__YTllZ", "input": "input_input__ZTAzN", "icon": "input_icon__YjcxZ" };
31696
31713
 
31697
31714
  // css-modules:E:\dev\umami-react-zen\src\components\TextField.module.css
31698
31715
  var TextField_default = { "allowCopy": "TextField_allowCopy__Y2RhY", "icon": "TextField_icon__MWVlN" };
31699
31716
 
31700
31717
  // src/components/TextField.tsx
31701
31718
  var import_jsx_runtime34 = require("react/jsx-runtime");
31702
- var TextField2 = (0, import_react181.forwardRef)(
31719
+ var TextField2 = (0, import_react182.forwardRef)(
31703
31720
  ({
31704
31721
  value,
31705
31722
  defaultValue,
@@ -31712,13 +31729,13 @@ var TextField2 = (0, import_react181.forwardRef)(
31712
31729
  children,
31713
31730
  ...props
31714
31731
  }, ref) => {
31715
- const [inputValue, setInputValue] = (0, import_react181.useState)(defaultValue || value);
31732
+ const [inputValue, setInputValue] = (0, import_react182.useState)(defaultValue || value);
31716
31733
  const Component = asChild ? Slot : $3985021b0ad6602f$export$f5b8910cec6cf069;
31717
31734
  const handleChange = (e) => {
31718
31735
  setInputValue(e.target.value);
31719
31736
  return onChange?.(e);
31720
31737
  };
31721
- (0, import_react181.useEffect)(() => {
31738
+ (0, import_react182.useEffect)(() => {
31722
31739
  setInputValue(value);
31723
31740
  }, [value]);
31724
31741
  return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
@@ -31760,7 +31777,7 @@ function ConfirmationDialog({
31760
31777
  children,
31761
31778
  ...props
31762
31779
  }) {
31763
- const [canSave, setCanSave] = (0, import_react182.useState)(false);
31780
+ const [canSave, setCanSave] = (0, import_react183.useState)(false);
31764
31781
  const handleChange = (e) => {
31765
31782
  setCanSave(e.target.value === value);
31766
31783
  };
@@ -31787,7 +31804,7 @@ function ConfirmationDialog({
31787
31804
 
31788
31805
  // src/components/DataTable.tsx
31789
31806
  var import_classnames28 = __toESM(require_classnames());
31790
- var import_react183 = require("react");
31807
+ var import_react184 = require("react");
31791
31808
 
31792
31809
  // src/components/Table.tsx
31793
31810
  var import_classnames27 = __toESM(require_classnames());
@@ -31829,10 +31846,10 @@ var DataTable_default = { "datatable": "DataTable_datatable__ZmQ3Z", "cell": "Da
31829
31846
 
31830
31847
  // src/components/DataTable.tsx
31831
31848
  var import_jsx_runtime37 = require("react/jsx-runtime");
31832
- var import_react184 = require("react");
31849
+ var import_react185 = require("react");
31833
31850
  function DataTable({ data = [], className, children, ...props }) {
31834
31851
  const items = data.length && data?.[0]?.id === void 0 ? data.map((record, id) => ({ ...record, id })) : data;
31835
- const columns = import_react183.Children.map(children, (child) => {
31852
+ const columns = import_react184.Children.map(children, (child) => {
31836
31853
  return { ...child.props };
31837
31854
  });
31838
31855
  return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(Table2, { ...props, className: (0, import_classnames28.default)(DataTable_default.datatable, className), children: [
@@ -31840,19 +31857,19 @@ function DataTable({ data = [], className, children, ...props }) {
31840
31857
  if (hidden) {
31841
31858
  return null;
31842
31859
  }
31843
- return /* @__PURE__ */ (0, import_react184.createElement)(TableColumn, { ...columnProps, key: id, id }, label);
31860
+ return /* @__PURE__ */ (0, import_react185.createElement)(TableColumn, { ...columnProps, key: id, id }, label);
31844
31861
  }) }),
31845
31862
  /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(TableBody, { items, children: (row) => {
31846
31863
  return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(TableRow, { children: columns.map(({ id, as, hidden, className: className2, children: children2, ...cellProps }) => {
31847
31864
  const value = typeof children2 === "function" ? children2(row) : children2 || row[id];
31848
- return /* @__PURE__ */ (0, import_react184.createElement)(
31865
+ return /* @__PURE__ */ (0, import_react185.createElement)(
31849
31866
  TableCell,
31850
31867
  {
31851
31868
  ...cellProps,
31852
31869
  key: id,
31853
31870
  className: (0, import_classnames28.default)(DataTable_default.cell, className2, hidden && DataTable_default.hidden)
31854
31871
  },
31855
- as ? (0, import_react183.createElement)(as, {}, value) : value
31872
+ as ? (0, import_react184.createElement)(as, {}, value) : value
31856
31873
  );
31857
31874
  }) });
31858
31875
  } })
@@ -31879,7 +31896,7 @@ function Dots({ className, ...props }) {
31879
31896
  }
31880
31897
 
31881
31898
  // src/components/FloatingTooltip.tsx
31882
- var import_react185 = require("react");
31899
+ var import_react186 = require("react");
31883
31900
  var import_classnames31 = __toESM(require_classnames());
31884
31901
 
31885
31902
  // src/components/Tooltip.tsx
@@ -31906,8 +31923,8 @@ var FloatingTooltip_default = { "floating": "FloatingTooltip_floating__ZjM4N" };
31906
31923
  // src/components/FloatingTooltip.tsx
31907
31924
  var import_jsx_runtime40 = require("react/jsx-runtime");
31908
31925
  function FloatingTooltip({ className, style, children, ...props }) {
31909
- const [position, setPosition] = (0, import_react185.useState)({ x: -1e3, y: -1e3 });
31910
- (0, import_react185.useEffect)(() => {
31926
+ const [position, setPosition] = (0, import_react186.useState)({ x: -1e3, y: -1e3 });
31927
+ (0, import_react186.useEffect)(() => {
31911
31928
  const handler = (e) => {
31912
31929
  setPosition({ x: e.clientX, y: e.clientY });
31913
31930
  };
@@ -32001,7 +32018,7 @@ function Heading2({
32001
32018
  }
32002
32019
 
32003
32020
  // src/components/HoverTrigger.tsx
32004
- var import_react186 = require("react");
32021
+ var import_react187 = require("react");
32005
32022
 
32006
32023
  // css-modules:E:\dev\umami-react-zen\src\components\HoverTrigger.module.css
32007
32024
  var HoverTrigger_default = { "wrapper": "HoverTrigger_wrapper__NGFlN" };
@@ -32017,12 +32034,12 @@ function HoverTrigger({
32017
32034
  children
32018
32035
  }) {
32019
32036
  const [triggerElement, popupElement] = children;
32020
- const triggerRef = (0, import_react186.useRef)(null);
32021
- const [open, setOpen] = (0, import_react186.useState)(isOpen);
32022
- const isOverMenu = (0, import_react186.useRef)(false);
32023
- const isOverButton = (0, import_react186.useRef)(false);
32024
- const timeout = (0, import_react186.useRef)(null);
32025
- (0, import_react186.useEffect)(() => {
32037
+ const triggerRef = (0, import_react187.useRef)(null);
32038
+ const [open, setOpen] = (0, import_react187.useState)(isOpen);
32039
+ const isOverMenu = (0, import_react187.useRef)(false);
32040
+ const isOverButton = (0, import_react187.useRef)(false);
32041
+ const timeout = (0, import_react187.useRef)(null);
32042
+ (0, import_react187.useEffect)(() => {
32026
32043
  if (isOpen !== open) {
32027
32044
  setOpen(isOpen);
32028
32045
  }
@@ -32112,7 +32129,7 @@ function Image({
32112
32129
  }
32113
32130
 
32114
32131
  // src/components/InlineEditField.tsx
32115
- var import_react187 = require("react");
32132
+ var import_react188 = require("react");
32116
32133
  var import_classnames35 = __toESM(require_classnames());
32117
32134
 
32118
32135
  // css-modules:E:\dev\umami-react-zen\src\components\InlineEditField.module.css
@@ -32131,8 +32148,8 @@ function InlineEditField({
32131
32148
  onCancel,
32132
32149
  ...props
32133
32150
  }) {
32134
- const [value, setValue] = (0, import_react187.useState)(defaultValue);
32135
- const [edit, setEdit] = (0, import_react187.useState)(defaultEdit);
32151
+ const [value, setValue] = (0, import_react188.useState)(defaultValue);
32152
+ const [edit, setEdit] = (0, import_react188.useState)(defaultEdit);
32136
32153
  const handleEdit = () => setEdit(true);
32137
32154
  const handleChange = (e) => {
32138
32155
  const val = e.target.value;
@@ -32143,7 +32160,7 @@ function InlineEditField({
32143
32160
  setEdit(false);
32144
32161
  onCommit?.(value);
32145
32162
  };
32146
- const handleCancel = (0, import_react187.useCallback)(() => {
32163
+ const handleCancel = (0, import_react188.useCallback)(() => {
32147
32164
  setEdit(false);
32148
32165
  setValue(defaultValue);
32149
32166
  onCancel?.();
@@ -32206,12 +32223,7 @@ var Menu_default = { "menu": "Menu_menu__YmUyN", "separator": "Menu_separator__N
32206
32223
  // src/components/Menu.tsx
32207
32224
  var import_jsx_runtime47 = require("react/jsx-runtime");
32208
32225
  function Menu2({ items, className, children, ...props }) {
32209
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)($3674c52c6b3c5bce$export$d9b273488cd8ce6f, { ...props, className: (0, import_classnames37.default)(Menu_default.menu, className), children: children || items?.map((item, index) => {
32210
- if (item === null) {
32211
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)($431f98aba6844401$export$1ff3c3f08ae963c0, { className: Menu_default.separator }, index);
32212
- }
32213
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(MenuItem2, { id: item, children: item }, index);
32214
- }) });
32226
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)($3674c52c6b3c5bce$export$d9b273488cd8ce6f, { ...props, className: (0, import_classnames37.default)(Menu_default.menu, className), children });
32215
32227
  }
32216
32228
  function MenuItem2({ children, className, ...props }) {
32217
32229
  return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)($3674c52c6b3c5bce$export$2ce376c2cc3355c8, { ...props, className: (0, import_classnames37.default)(Menu_default.item, className), children: [
@@ -32257,7 +32269,7 @@ function Modal2({
32257
32269
  }
32258
32270
 
32259
32271
  // src/components/NavBar.tsx
32260
- var import_react188 = require("react");
32272
+ var import_react189 = require("react");
32261
32273
  var import_classnames39 = __toESM(require_classnames());
32262
32274
 
32263
32275
  // css-modules:E:\dev\umami-react-zen\src\components\NavBar.module.css
@@ -32265,16 +32277,16 @@ var NavBar_default = { "nav": "NavBar_nav__NDgxZ", "item": "NavBar_item__OGRlN",
32265
32277
 
32266
32278
  // src/components/NavBar.tsx
32267
32279
  var import_jsx_runtime49 = require("react/jsx-runtime");
32268
- var NavBarContext = (0, import_react188.createContext)(void 0);
32280
+ var NavBarContext = (0, import_react189.createContext)(void 0);
32269
32281
  var useNavigationContext = () => {
32270
- const context = (0, import_react188.useContext)(NavBarContext);
32282
+ const context = (0, import_react189.useContext)(NavBarContext);
32271
32283
  if (!context) {
32272
32284
  throw new Error("useNavigationContext must be used within a NavBar");
32273
32285
  }
32274
32286
  return context;
32275
32287
  };
32276
32288
  function NavBar({ showArrow = true, className, children, ...props }) {
32277
- const [activeMenu, setActiveMenu] = (0, import_react188.useState)("");
32289
+ const [activeMenu, setActiveMenu] = (0, import_react189.useState)("");
32278
32290
  return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(NavBarContext.Provider, { value: { activeMenu, setActiveMenu }, children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { ...props, className: (0, import_classnames39.default)(NavBar_default.nav, className), children }) });
32279
32291
  }
32280
32292
  function NavBarItem({ label, children, className, ...props }) {
@@ -32292,7 +32304,7 @@ function NavBarItem({ label, children, className, ...props }) {
32292
32304
  }
32293
32305
 
32294
32306
  // src/components/PasswordField.tsx
32295
- var import_react189 = require("react");
32307
+ var import_react190 = require("react");
32296
32308
  var import_classnames40 = __toESM(require_classnames());
32297
32309
 
32298
32310
  // css-modules:E:\dev\umami-react-zen\src\components\PasswordField.module.css
@@ -32300,9 +32312,9 @@ var PasswordField_default = { "icon": "PasswordField_icon__NTRlM" };
32300
32312
 
32301
32313
  // src/components/PasswordField.tsx
32302
32314
  var import_jsx_runtime50 = require("react/jsx-runtime");
32303
- var PasswordField = (0, import_react189.forwardRef)(
32315
+ var PasswordField = (0, import_react190.forwardRef)(
32304
32316
  ({ label, className, ...props }, ref) => {
32305
- const [show, setShow] = (0, import_react189.useState)(false);
32317
+ const [show, setShow] = (0, import_react190.useState)(false);
32306
32318
  const type = show ? "text" : "password";
32307
32319
  const handleShowPassword = () => setShow((state) => !state);
32308
32320
  return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)($bcdf0525bf22703d$export$2c73285ae9390cec, { ...props, ref, className: (0, import_classnames40.default)(input_default.field, className), children: [
@@ -32366,7 +32378,7 @@ function ProgressCircle({ className, showValue, ...props }) {
32366
32378
  }
32367
32379
 
32368
32380
  // src/components/RadioGroup.tsx
32369
- var import_react190 = require("react");
32381
+ var import_react191 = require("react");
32370
32382
  var import_classnames43 = __toESM(require_classnames());
32371
32383
 
32372
32384
  // css-modules:E:\dev\umami-react-zen\src\components\RadioGroup.module.css
@@ -32374,7 +32386,7 @@ var RadioGroup_default = { "radiogroup": "RadioGroup_radiogroup__ZjI3O", "radio"
32374
32386
 
32375
32387
  // src/components/RadioGroup.tsx
32376
32388
  var import_jsx_runtime53 = require("react/jsx-runtime");
32377
- var RadioGroup2 = (0, import_react190.forwardRef)(
32389
+ var RadioGroup2 = (0, import_react191.forwardRef)(
32378
32390
  ({ label, children, className, ...props }, ref) => {
32379
32391
  return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)($b6c3ddc6086f204d$export$a98f0dcb43a68a25, { ...props, ref, className: (0, import_classnames43.default)(RadioGroup_default.radiogroup, className), children: [
32380
32392
  label && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Label2, { children: label }),
@@ -32387,7 +32399,7 @@ function Radio2({ children, className, ...props }) {
32387
32399
  }
32388
32400
 
32389
32401
  // src/components/SearchField.tsx
32390
- var import_react191 = require("react");
32402
+ var import_react192 = require("react");
32391
32403
  var import_classnames44 = __toESM(require_classnames());
32392
32404
 
32393
32405
  // css-modules:E:\dev\umami-react-zen\src\components\SearchField.module.css
@@ -32395,9 +32407,9 @@ var SearchField_default = { "search": "SearchField_search__MzkwY", "input": "Sea
32395
32407
 
32396
32408
  // src/components/SearchField.tsx
32397
32409
  var import_jsx_runtime54 = require("react/jsx-runtime");
32398
- var SearchField2 = (0, import_react191.forwardRef)(
32410
+ var SearchField2 = (0, import_react192.forwardRef)(
32399
32411
  ({ label, placeholder, value, delay = 0, onSearch, className, ...props }, ref) => {
32400
- const [search, setSearch] = (0, import_react191.useState)(value ?? "");
32412
+ const [search, setSearch] = (0, import_react192.useState)(value ?? "");
32401
32413
  const searchValue = useDebounce(search, delay);
32402
32414
  const handleChange = (value2) => {
32403
32415
  setSearch(value2);
@@ -32409,7 +32421,7 @@ var SearchField2 = (0, import_react191.forwardRef)(
32409
32421
  setSearch("");
32410
32422
  onSearch?.("");
32411
32423
  };
32412
- (0, import_react191.useEffect)(() => {
32424
+ (0, import_react192.useEffect)(() => {
32413
32425
  if (delay > 0) {
32414
32426
  onSearch?.(searchValue);
32415
32427
  }
@@ -32450,23 +32462,29 @@ var SearchField2 = (0, import_react191.forwardRef)(
32450
32462
  );
32451
32463
 
32452
32464
  // src/components/Select.tsx
32453
- var import_react192 = require("react");
32465
+ var import_react193 = require("react");
32454
32466
  var import_classnames45 = __toESM(require_classnames());
32455
32467
 
32456
32468
  // css-modules:E:\dev\umami-react-zen\src\components\Select.module.css
32457
- var Select_default = { "button": "Select_button__YTc2N", "list": "Select_list__ZjZhM", "icon": "Select_icon__NzU3O" };
32469
+ var Select_default = { "button": "Select_button__ZGY1Y", "popover": "Select_popover__MTQ1Y", "list": "Select_list__MDYyZ", "icon": "Select_icon__N2M0O", "search": "Select_search__MWQwM" };
32458
32470
 
32459
32471
  // src/components/Select.tsx
32460
32472
  var import_jsx_runtime55 = require("react/jsx-runtime");
32461
- var Select2 = (0, import_react192.forwardRef)(
32473
+ var Select2 = (0, import_react193.forwardRef)(
32462
32474
  ({
32463
- children,
32464
32475
  items = [],
32465
32476
  value,
32466
32477
  label,
32467
- className,
32478
+ isLoading,
32479
+ allowSearch,
32480
+ searchDelay,
32481
+ onSearch,
32468
32482
  onSelectionChange,
32469
32483
  onChange,
32484
+ listProps,
32485
+ popoverProps,
32486
+ className,
32487
+ children,
32470
32488
  ...props
32471
32489
  }, ref) => {
32472
32490
  const handleChange = (e) => {
@@ -32486,7 +32504,27 @@ var Select2 = (0, import_react192.forwardRef)(
32486
32504
  /* @__PURE__ */ (0, import_jsx_runtime55.jsx)($82d7e5349645de74$export$e288731fd71264f0, {}),
32487
32505
  /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("span", { "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Icon, { rotate: 90, size: "xs", className: input_default.icon, children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Icons.Chevron, {}) }) })
32488
32506
  ] }) }),
32489
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Popover2, { children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(List, { items, className: Select_default.list, children }) })
32507
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Popover2, { ...popoverProps, children: /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(Column, { className: Select_default.popover, children: [
32508
+ allowSearch && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
32509
+ SearchField2,
32510
+ {
32511
+ className: Select_default.search,
32512
+ onSearch,
32513
+ delay: searchDelay,
32514
+ autoFocus: true
32515
+ }
32516
+ ),
32517
+ isLoading && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Loading, { icon: "dots", position: "center", size: "sm" }),
32518
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
32519
+ List,
32520
+ {
32521
+ ...listProps,
32522
+ className: (0, import_classnames45.default)(Select_default.list, listProps?.className),
32523
+ style: { ...listProps?.style, display: isLoading ? "none" : void 0 },
32524
+ children
32525
+ }
32526
+ )
32527
+ ] }) })
32490
32528
  ]
32491
32529
  }
32492
32530
  );
@@ -32494,56 +32532,90 @@ var Select2 = (0, import_react192.forwardRef)(
32494
32532
  );
32495
32533
 
32496
32534
  // src/components/SideNav.tsx
32497
- var import_react193 = require("react");
32535
+ var import_react194 = require("react");
32498
32536
  var import_classnames46 = __toESM(require_classnames());
32499
32537
 
32500
32538
  // css-modules:E:\dev\umami-react-zen\src\components\SideNav.module.css
32501
- var SideNav_default = { "sidenav": "SideNav_sidenav__NTNmY", "header": "SideNav_header__NzhjN", "name": "SideNav_name__ZWUxM", "section": "SideNav_section__MmE3N", "title": "SideNav_title__N2Y0O", "content": "SideNav_content__MzA2M", "item": "SideNav_item__OGU5M", "label": "SideNav_label__NjFiY", "collapsed": "SideNav_collapsed__NTBlM" };
32539
+ var SideNav_default = { "sidenav": "SideNav_sidenav__M2NlY", "header": "SideNav_header__NGU1Y", "name": "SideNav_name__OTM0N", "section": "SideNav_section__MTUxM", "title": "SideNav_title__YTg5O", "content": "SideNav_content__MjczM", "item": "SideNav_item__ZTlkN", "label": "SideNav_label__NDU1N", "collapsed": "SideNav_collapsed__YzExM", "muted": "SideNav_muted__MmRlM", "selected": "SideNav_selected__ZjY4N", "variant-quiet": "SideNav_variant-quiet__OTZlN", "variant-1": "SideNav_variant-1__NjVmN", "variant-2": "SideNav_variant-2__NWZjM", "variant-3": "SideNav_variant-3__ZDE4O", "noborder": "SideNav_noborder__YTJjO" };
32502
32540
 
32503
32541
  // src/components/SideNav.tsx
32504
32542
  var import_jsx_runtime56 = require("react/jsx-runtime");
32505
- var SideNavContext = (0, import_react193.createContext)(null);
32506
- function SideNav({ isCollapsed, children }) {
32507
- return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(SideNavContext.Provider, { value: { isCollapsed }, children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("div", { className: (0, import_classnames46.default)(SideNav_default.sidenav, isCollapsed && SideNav_default.collapsed), children }) });
32543
+ var SideNavContext = (0, import_react194.createContext)(null);
32544
+ function SideNav({
32545
+ variant = "1",
32546
+ isCollapsed,
32547
+ muteItems = true,
32548
+ showBorder = true,
32549
+ className,
32550
+ children,
32551
+ ...props
32552
+ }) {
32553
+ return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(SideNavContext.Provider, { value: { isCollapsed }, children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
32554
+ Column,
32555
+ {
32556
+ ...props,
32557
+ className: (0, import_classnames46.default)(
32558
+ SideNav_default.sidenav,
32559
+ isCollapsed && SideNav_default.collapsed,
32560
+ muteItems && SideNav_default.muted,
32561
+ variant && SideNav_default[`variant-${variant}`],
32562
+ !showBorder && SideNav_default.noborder,
32563
+ className
32564
+ ),
32565
+ children
32566
+ }
32567
+ ) });
32568
+ }
32569
+ function SideNavSection({
32570
+ title,
32571
+ children
32572
+ }) {
32573
+ return /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(Column, { className: SideNav_default.section, children: [
32574
+ title && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("div", { className: SideNav_default.title, children: title }),
32575
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("div", { className: SideNav_default.content, children })
32576
+ ] });
32508
32577
  }
32509
32578
  function SideNavHeader({
32510
- name,
32579
+ label,
32511
32580
  icon,
32512
- children
32581
+ className,
32582
+ children,
32583
+ ...props
32513
32584
  }) {
32514
- return /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(Block, { children: [
32585
+ return /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(Row, { ...props, className: (0, import_classnames46.default)(SideNav_default.header, className), children: [
32515
32586
  icon && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(Icon, { size: "sm", children: icon }),
32516
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("div", { className: (0, import_classnames46.default)(SideNav_default.name, SideNav_default.label), children: name }),
32587
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("div", { className: (0, import_classnames46.default)(SideNav_default.name, SideNav_default.label), children: label }),
32517
32588
  children
32518
32589
  ] });
32519
32590
  }
32520
- function SideNavSection({ title, children }) {
32521
- return /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("div", { className: SideNav_default.section, children: [
32522
- title && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("div", { className: SideNav_default.title, children: title }),
32523
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("div", { className: SideNav_default.content, children })
32524
- ] });
32525
- }
32526
32591
  function SideNavItem({
32527
32592
  label,
32528
32593
  icon,
32594
+ isSelected,
32529
32595
  className,
32596
+ children,
32530
32597
  ...props
32531
32598
  }) {
32532
- const { isCollapsed } = (0, import_react193.useContext)(SideNavContext);
32533
- if (isCollapsed) {
32534
- return /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)($4e3b923658d69c60$export$8c610744efcf8a1d, { delay: 0, closeDelay: 0, children: [
32535
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)($f645667febf57a63$export$35a3bebf7ef2d934, { children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(Block, { className: (0, import_classnames46.default)(SideNav_default.item, className), children: icon && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(Icon, { size: "sm", children: icon }) }) }),
32536
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(Tooltip2, { placement: "right", children: label })
32537
- ] });
32538
- }
32539
- return /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(Block, { ...props, className: (0, import_classnames46.default)(SideNav_default.item, className), children: [
32540
- icon && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(Icon, { size: "sm", children: icon }),
32541
- label && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(Text, { className: SideNav_default.label, children: label })
32599
+ const { isCollapsed } = (0, import_react194.useContext)(SideNavContext);
32600
+ return /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)($4e3b923658d69c60$export$8c610744efcf8a1d, { delay: 0, closeDelay: 0, isDisabled: !isCollapsed, children: [
32601
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)($f645667febf57a63$export$35a3bebf7ef2d934, { children: /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(
32602
+ Row,
32603
+ {
32604
+ ...props,
32605
+ className: (0, import_classnames46.default)(SideNav_default.item, className, isSelected && SideNav_default.selected),
32606
+ children: [
32607
+ icon && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(Icon, { size: "sm", children: icon }),
32608
+ label && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(Text, { className: (0, import_classnames46.default)(SideNav_default.label), children: label }),
32609
+ children
32610
+ ]
32611
+ }
32612
+ ) }),
32613
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(Tooltip2, { placement: "right", children: label })
32542
32614
  ] });
32543
32615
  }
32544
32616
 
32545
32617
  // src/components/Slider.tsx
32546
- var import_react194 = require("react");
32618
+ var import_react195 = require("react");
32547
32619
  var import_classnames47 = __toESM(require_classnames());
32548
32620
 
32549
32621
  // css-modules:E:\dev\umami-react-zen\src\components\Slider.module.css
@@ -32551,7 +32623,7 @@ var Slider_default = { "slider": "Slider_slider__MjBhO", "header": "Slider_heade
32551
32623
 
32552
32624
  // src/components/Slider.tsx
32553
32625
  var import_jsx_runtime57 = require("react/jsx-runtime");
32554
- var Slider2 = (0, import_react194.forwardRef)(
32626
+ var Slider2 = (0, import_react195.forwardRef)(
32555
32627
  ({ className, showValue = true, label, ...props }, ref) => {
32556
32628
  return /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)($6f909507e6374d18$export$472062a354075cee, { ...props, ref, className: (0, import_classnames47.default)(Slider_default.slider, className), children: [
32557
32629
  /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("div", { className: Slider_default.header, children: [
@@ -32600,7 +32672,7 @@ function StatusLight(props) {
32600
32672
  }
32601
32673
 
32602
32674
  // src/components/Switch.tsx
32603
- var import_react195 = require("react");
32675
+ var import_react196 = require("react");
32604
32676
  var import_classnames49 = __toESM(require_classnames());
32605
32677
 
32606
32678
  // css-modules:E:\dev\umami-react-zen\src\components\Switch.module.css
@@ -32608,7 +32680,7 @@ var Switch_default = { "switch": "Switch_switch__NzI0O", "track": "Switch_track_
32608
32680
 
32609
32681
  // src/components/Switch.tsx
32610
32682
  var import_jsx_runtime59 = require("react/jsx-runtime");
32611
- var Switch2 = (0, import_react195.forwardRef)(
32683
+ var Switch2 = (0, import_react196.forwardRef)(
32612
32684
  ({ label, children, className, ...props }, ref) => {
32613
32685
  const isSelected = typeof props.value !== "undefined" ? !!props.value : void 0;
32614
32686
  return /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(import_jsx_runtime59.Fragment, { children: [
@@ -32649,7 +32721,7 @@ function TabPanel2({ children, ...props }) {
32649
32721
  }
32650
32722
 
32651
32723
  // src/components/TextArea.tsx
32652
- var import_react196 = require("react");
32724
+ var import_react197 = require("react");
32653
32725
  var import_classnames50 = __toESM(require_classnames());
32654
32726
 
32655
32727
  // css-modules:E:\dev\umami-react-zen\src\components\TextArea.module.css
@@ -32657,7 +32729,7 @@ var TextArea_default = { "textarea": "TextArea_textarea__MTk5Y", "resize-none":
32657
32729
 
32658
32730
  // src/components/TextArea.tsx
32659
32731
  var import_jsx_runtime61 = require("react/jsx-runtime");
32660
- var TextArea2 = (0, import_react196.forwardRef)(
32732
+ var TextArea2 = (0, import_react197.forwardRef)(
32661
32733
  ({ rows, cols, resize, className, style, children, ...props }, ref) => {
32662
32734
  return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
32663
32735
  TextField2,
@@ -32723,7 +32795,7 @@ function ThemeButton({
32723
32795
  }
32724
32796
 
32725
32797
  // src/components/Toggle.tsx
32726
- var import_react197 = require("react");
32798
+ var import_react198 = require("react");
32727
32799
  var import_classnames52 = __toESM(require_classnames());
32728
32800
 
32729
32801
  // css-modules:E:\dev\umami-react-zen\src\components\Toggle.module.css
@@ -32731,7 +32803,7 @@ var Toggle_default = { "toggle": "Toggle_toggle__OWVjZ" };
32731
32803
 
32732
32804
  // src/components/Toggle.tsx
32733
32805
  var import_jsx_runtime63 = require("react/jsx-runtime");
32734
- var Toggle = (0, import_react197.forwardRef)(
32806
+ var Toggle = (0, import_react198.forwardRef)(
32735
32807
  ({ label, children, className, ...props }, ref) => {
32736
32808
  const isSelected = typeof props.value !== "undefined" ? !!props.value : void 0;
32737
32809
  return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(import_jsx_runtime63.Fragment, { children: [