@helpwave/hightide 0.9.2 → 0.9.3

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
@@ -6925,6 +6925,7 @@ __export(index_exports, {
6925
6925
  SimpleSearch: () => SimpleSearch,
6926
6926
  SimpleSearchWithMapping: () => SimpleSearchWithMapping,
6927
6927
  SingleSelectProperty: () => SingleSelectProperty,
6928
+ SortingList: () => SortingList,
6928
6929
  StepperBar: () => StepperBar,
6929
6930
  StorageListener: () => StorageListener,
6930
6931
  Switch: () => Switch,
@@ -8604,6 +8605,7 @@ var hightideTranslation = {
8604
8605
  "de-DE": {
8605
8606
  "add": `Hinzuf\xFCgen`,
8606
8607
  "addFilter": `Filter hinzuf\xFCgen`,
8608
+ "addSorting": `Sortierung hinzuf\xFCgen`,
8607
8609
  "addTime": `Uhrzeit hinzuf\xFCgen`,
8608
8610
  "after": `Nach`,
8609
8611
  "age": `Alter`,
@@ -8815,6 +8817,8 @@ var hightideTranslation = {
8815
8817
  "slideOf": ({ index, length }) => {
8816
8818
  return `Slide ${index} von ${length} slides`;
8817
8819
  },
8820
+ "sortAsc": `ASC`,
8821
+ "sortDesc": `DESC`,
8818
8822
  "sorting": `Sortierung`,
8819
8823
  "sSortingState": ({ sortDirection }) => {
8820
8824
  return import_internationalization.TranslationGen.resolveSelect(sortDirection, {
@@ -8971,6 +8975,7 @@ var hightideTranslation = {
8971
8975
  "en-US": {
8972
8976
  "add": `Add`,
8973
8977
  "addFilter": `Add filter`,
8978
+ "addSorting": `Add sorting`,
8974
8979
  "addTime": `Add Time`,
8975
8980
  "after": `After`,
8976
8981
  "age": `Age`,
@@ -9182,6 +9187,8 @@ var hightideTranslation = {
9182
9187
  "slideOf": ({ index, length }) => {
9183
9188
  return `Slide ${index} of ${length} slides`;
9184
9189
  },
9190
+ "sortAsc": `ASC`,
9191
+ "sortDesc": `DESC`,
9185
9192
  "sorting": `Sorting`,
9186
9193
  "sSortingState": ({ sortDirection }) => {
9187
9194
  return import_internationalization.TranslationGen.resolveSelect(sortDirection, {
@@ -18101,7 +18108,7 @@ var TableHeader = ({ isSticky = false }) => {
18101
18108
  "data-name": "table-header-cell",
18102
18109
  className: (0, import_clsx28.default)("group/table-header-cell", header.column.columnDef.meta?.className),
18103
18110
  children: [
18104
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(Visibility, { isVisible: !header.isPlaceholder, children: /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "flex-row-1 items-center", children: [
18111
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(Visibility, { isVisible: !header.isPlaceholder, children: /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "flex-row-1 items-center truncate", children: [
18105
18112
  /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(Visibility, { isVisible: header.column.getCanSort(), children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
18106
18113
  TableSortButton,
18107
18114
  {
@@ -18405,6 +18412,8 @@ var TableColumnSwitcherPopUp = ({ ...props }) => {
18405
18412
  popup: props.id ?? `table-column-picker-popup-${generatedId}`,
18406
18413
  label: `table-column-picker-label-${generatedId}`
18407
18414
  }), [generatedId, props.id]);
18415
+ const enableHiding = table.options.enableHiding !== false;
18416
+ const enableColumnPinning = table.options.enableColumnPinning !== false;
18408
18417
  const tableState = table.getState();
18409
18418
  const columnOrder = tableState.columnOrder;
18410
18419
  const columnPinning = tableState.columnPinning;
@@ -18609,7 +18618,7 @@ var TableColumnSwitcherPopUp = ({ ...props }) => {
18609
18618
  ] }) }),
18610
18619
  /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("div", { className: "flex-1 typography-label-lg", children: getColumnHeader(columnId) }),
18611
18620
  /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)(import_jsx_runtime85.Fragment, { children: [
18612
- /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
18621
+ /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(Visibility, { isVisible: enableHiding, children: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
18613
18622
  IconButton,
18614
18623
  {
18615
18624
  tooltip: translation("changeVisibility"),
@@ -18621,8 +18630,8 @@ var TableColumnSwitcherPopUp = ({ ...props }) => {
18621
18630
  "aria-label": isVisible ? translation("hideColumn") : translation("showColumn"),
18622
18631
  children: isVisible ? /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(import_lucide_react23.Eye, { className: "size-4" }) : /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(import_lucide_react23.EyeOff, { className: "size-4" })
18623
18632
  }
18624
- ),
18625
- /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
18633
+ ) }),
18634
+ /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(Visibility, { isVisible: enableColumnPinning, children: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
18626
18635
  IconButton,
18627
18636
  {
18628
18637
  tooltip: translation("changePinning"),
@@ -18640,7 +18649,7 @@ var TableColumnSwitcherPopUp = ({ ...props }) => {
18640
18649
  "aria-label": isPinned ? translation("unpin") : translation("pinLeft"),
18641
18650
  children: !isPinned ? /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(import_lucide_react23.PinOff, { className: "size-4" }) : /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(import_lucide_react23.Pin, { className: "size-4" })
18642
18651
  }
18643
- )
18652
+ ) })
18644
18653
  ] })
18645
18654
  ] }, columnId);
18646
18655
  }) })
@@ -18658,7 +18667,7 @@ var TableColumnSwitcher = ({ buttonProps, ...props }) => {
18658
18667
  color: "neutral",
18659
18668
  tooltip: translation("changeColumnDisplay"),
18660
18669
  ...buttonProps,
18661
- children: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(import_lucide_react23.ArrowLeftRightIcon, { className: "size-4" })
18670
+ children: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(import_lucide_react23.Columns3Cog, { className: "size-5" })
18662
18671
  }
18663
18672
  ) }),
18664
18673
  /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(TableColumnSwitcherPopUp, { ...props })
@@ -19667,9 +19676,9 @@ var FilterList = ({ value, onValueChange, availableItems }) => {
19667
19676
  }
19668
19677
  return value;
19669
19678
  }, [value, editState]);
19670
- return /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)("div", { className: "flex-row-1 flex-wrap gap-y-1", children: [
19679
+ return /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)("div", { className: "flex-row-2 flex-wrap gap-y-2", children: [
19671
19680
  /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)(PopUpRoot, { children: [
19672
- /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(PopUpOpener, { children: ({ toggleOpen, props }) => /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)(Button, { ...props, onClick: toggleOpen, color: "neutral", size: "md", children: [
19681
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(PopUpOpener, { children: ({ toggleOpen, props }) => /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)(Button, { ...props, onClick: toggleOpen, color: "neutral", size: "sm", className: "min-w-36", children: [
19673
19682
  translation("addFilter"),
19674
19683
  /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(import_lucide_react26.PlusIcon, { className: "size-4" })
19675
19684
  ] }) }),
@@ -19718,10 +19727,10 @@ var FilterList = ({ value, onValueChange, availableItems }) => {
19718
19727
  }
19719
19728
  },
19720
19729
  children: [
19721
- /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(PopUpOpener, { children: ({ toggleOpen, props, isOpen }) => /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)(Button, { ...props, onClick: toggleOpen, color: "primary", coloringStyle: "tonal-outline", size: "md", children: [
19722
- item.activeLabelBuilder ? item.activeLabelBuilder(columnFilter.value) : item.label + ": " + filterValueToLabel(columnFilter.value, { tags: item.tags }),
19723
- /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(ExpansionIcon, { isExpanded: isOpen })
19724
- ] }) }),
19730
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(PopUpOpener, { children: ({ toggleOpen, props }) => /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(Button, { ...props, onClick: toggleOpen, color: "primary", coloringStyle: "tonal-outline", size: "sm", children: item.activeLabelBuilder ? item.activeLabelBuilder(columnFilter.value) : /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)(import_jsx_runtime97.Fragment, { children: [
19731
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsx)("span", { className: "font-bold", children: item.label }),
19732
+ filterValueToLabel(columnFilter.value, { tags: item.tags })
19733
+ ] }) }) }),
19725
19734
  /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(PopUpContext.Consumer, { children: ({ isOpen, setIsOpen }) => item.popUpBuilder ? item.popUpBuilder({
19726
19735
  value: editState?.id === columnFilter.id ? editState.value : columnFilter.value,
19727
19736
  onValueChange: (value2) => setEditState({ ...columnFilter, value: value2 }),
@@ -19759,8 +19768,142 @@ var FilterList = ({ value, onValueChange, availableItems }) => {
19759
19768
  ] });
19760
19769
  };
19761
19770
 
19762
- // src/components/user-interaction/date/TimeDisplay.tsx
19771
+ // src/components/user-interaction/data/SortingList.tsx
19772
+ var import_react107 = require("react");
19773
+ var import_lucide_react27 = require("lucide-react");
19774
+ var import_clsx37 = __toESM(require("clsx"));
19763
19775
  var import_jsx_runtime98 = require("react/jsx-runtime");
19776
+ var SortingList = ({ sorting, onSortingChange, availableItems }) => {
19777
+ const translation = useHightideTranslation();
19778
+ const activeIds = (0, import_react107.useMemo)(() => sorting.map((item) => item.id), [sorting]);
19779
+ const inactiveItems = (0, import_react107.useMemo)(
19780
+ () => availableItems.filter((item) => !activeIds.includes(item.id)).sort((a, b) => a.label.localeCompare(b.label)),
19781
+ [availableItems, activeIds]
19782
+ );
19783
+ const itemRecord = (0, import_react107.useMemo)(
19784
+ () => availableItems.reduce(
19785
+ (acc, item) => {
19786
+ acc[item.id] = item;
19787
+ return acc;
19788
+ },
19789
+ {}
19790
+ ),
19791
+ [availableItems]
19792
+ );
19793
+ const setSortDirection = (columnId, desc) => {
19794
+ onSortingChange(sorting.map((s) => s.id === columnId ? { ...s, desc } : s));
19795
+ };
19796
+ const removeSort = (columnId) => {
19797
+ onSortingChange(sorting.filter((s) => s.id !== columnId));
19798
+ };
19799
+ return /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)("div", { className: "flex-row-2 flex-wrap gap-y-2", children: [
19800
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)(PopUpRoot, { children: [
19801
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(PopUpOpener, { children: ({ toggleOpen, props }) => /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)(Button, { ...props, onClick: toggleOpen, color: "neutral", size: "sm", className: "min-w-36", children: [
19802
+ translation("addSorting"),
19803
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(import_lucide_react27.PlusIcon, { className: "size-4" })
19804
+ ] }) }),
19805
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(PopUp, { className: "flex-col-2 p-2", children: /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(PopUpContext.Consumer, { children: ({ setIsOpen }) => /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(
19806
+ Combobox,
19807
+ {
19808
+ onItemClick: (id) => {
19809
+ const item = itemRecord[id];
19810
+ if (!item) return;
19811
+ onSortingChange([...sorting, { id: item.id, desc: false }]);
19812
+ setIsOpen(false);
19813
+ },
19814
+ children: inactiveItems.map((item) => /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)(ComboboxOption, { value: item.id, label: item.label, children: [
19815
+ DataTypeUtils.toIcon(item.dataType),
19816
+ item.label
19817
+ ] }, item.id))
19818
+ }
19819
+ ) }) })
19820
+ ] }),
19821
+ sorting.map((columnSort) => {
19822
+ const item = itemRecord[columnSort.id];
19823
+ if (!item) return null;
19824
+ return /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)(PopUpRoot, { children: [
19825
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(PopUpOpener, { children: ({ toggleOpen, props }) => /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)(Button, { ...props, onClick: toggleOpen, color: "secondary", coloringStyle: "tonal-outline", size: "sm", children: [
19826
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)("span", { className: "font-bold", children: item.label }),
19827
+ columnSort.desc ? /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(import_lucide_react27.ArrowDownWideNarrow, { className: "size-5" }) : /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(import_lucide_react27.ArrowUpNarrowWide, { className: "size-5" })
19828
+ ] }) }),
19829
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(PopUpContext.Consumer, { children: ({ setIsOpen }) => /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)(
19830
+ PopUp,
19831
+ {
19832
+ className: (0, import_clsx37.default)("flex-col-3 p-3 min-w-64"),
19833
+ onClose: () => setIsOpen(false),
19834
+ children: [
19835
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)("div", { className: "flex-row-4 justify-between w-full items-center gap-2", children: [
19836
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)("span", { className: "typography-title-sm font-semibold", children: item.label }),
19837
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)("div", { className: "flex-row-0 shrink-0 items-center", children: [
19838
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(
19839
+ IconButton,
19840
+ {
19841
+ tooltip: translation("removeFilter"),
19842
+ onClick: () => {
19843
+ removeSort(columnSort.id);
19844
+ setIsOpen(false);
19845
+ },
19846
+ color: "negative",
19847
+ coloringStyle: "text",
19848
+ size: "sm",
19849
+ children: /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(import_lucide_react27.TrashIcon, { className: "size-4" })
19850
+ }
19851
+ ),
19852
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(
19853
+ IconButton,
19854
+ {
19855
+ tooltip: translation("close"),
19856
+ onClick: () => setIsOpen(false),
19857
+ color: "neutral",
19858
+ coloringStyle: "text",
19859
+ size: "sm",
19860
+ children: /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(import_lucide_react27.XIcon, { className: "size-4" })
19861
+ }
19862
+ )
19863
+ ] })
19864
+ ] }),
19865
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)("div", { className: "flex-row-1 w-full gap-2", children: [
19866
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)(
19867
+ Button,
19868
+ {
19869
+ type: "button",
19870
+ className: "flex-1 flex-row-1 items-center justify-center gap-2",
19871
+ color: columnSort.desc ? "neutral" : "primary",
19872
+ coloringStyle: "solid",
19873
+ size: "md",
19874
+ onClick: () => setSortDirection(columnSort.id, false),
19875
+ children: [
19876
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(import_lucide_react27.ArrowUpNarrowWide, { className: "size-4" }),
19877
+ translation("sortAsc")
19878
+ ]
19879
+ }
19880
+ ),
19881
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)(
19882
+ Button,
19883
+ {
19884
+ type: "button",
19885
+ className: "flex-1 flex-row-1 items-center justify-center gap-2",
19886
+ color: columnSort.desc ? "primary" : "neutral",
19887
+ coloringStyle: "solid",
19888
+ size: "md",
19889
+ onClick: () => setSortDirection(columnSort.id, true),
19890
+ children: [
19891
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(import_lucide_react27.ArrowDownWideNarrow, { className: "size-4" }),
19892
+ translation("sortDesc")
19893
+ ]
19894
+ }
19895
+ )
19896
+ ] })
19897
+ ]
19898
+ }
19899
+ ) })
19900
+ ] }, columnSort.id);
19901
+ })
19902
+ ] });
19903
+ };
19904
+
19905
+ // src/components/user-interaction/date/TimeDisplay.tsx
19906
+ var import_jsx_runtime99 = require("react/jsx-runtime");
19764
19907
  var TimeDisplay = ({
19765
19908
  date,
19766
19909
  mode = "daysFromToday"
@@ -19797,14 +19940,14 @@ var TimeDisplay = ({
19797
19940
  } else {
19798
19941
  fullString = `${date.getDate()}. ${monthToTranslation[date.getMonth()]} ${date.getFullYear()}`;
19799
19942
  }
19800
- return /* @__PURE__ */ (0, import_jsx_runtime98.jsx)("span", { children: fullString });
19943
+ return /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("span", { children: fullString });
19801
19944
  };
19802
19945
 
19803
19946
  // src/components/user-interaction/input/FlexibleDateTimeInput.tsx
19804
- var import_react107 = require("react");
19805
- var import_lucide_react27 = require("lucide-react");
19806
- var import_jsx_runtime99 = require("react/jsx-runtime");
19807
- var FlexibleDateTimeInput = (0, import_react107.forwardRef)(function FlexibleDateTimeInput2({
19947
+ var import_react108 = require("react");
19948
+ var import_lucide_react28 = require("lucide-react");
19949
+ var import_jsx_runtime100 = require("react/jsx-runtime");
19950
+ var FlexibleDateTimeInput = (0, import_react108.forwardRef)(function FlexibleDateTimeInput2({
19808
19951
  defaultMode = "date",
19809
19952
  value: controlledValue,
19810
19953
  initialValue,
@@ -19819,16 +19962,16 @@ var FlexibleDateTimeInput = (0, import_react107.forwardRef)(function FlexibleDat
19819
19962
  onValueChange,
19820
19963
  defaultValue: initialValue
19821
19964
  });
19822
- const fixedTime = (0, import_react107.useMemo)(() => fixedTimeOverride ?? new Date(23, 59, 59, 999), [fixedTimeOverride]);
19823
- const [preferredMode, setPreferredMode] = (0, import_react107.useState)(defaultMode);
19824
- const mode = (0, import_react107.useMemo)(() => {
19965
+ const fixedTime = (0, import_react108.useMemo)(() => fixedTimeOverride ?? new Date(23, 59, 59, 999), [fixedTimeOverride]);
19966
+ const [preferredMode, setPreferredMode] = (0, import_react108.useState)(defaultMode);
19967
+ const mode = (0, import_react108.useMemo)(() => {
19825
19968
  if (!value) return preferredMode;
19826
19969
  if (DateUtils.sameTime(value, fixedTime, true, true)) {
19827
19970
  return "date";
19828
19971
  }
19829
19972
  return "dateTime";
19830
19973
  }, [preferredMode, value, fixedTime]);
19831
- return /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
19974
+ return /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(
19832
19975
  DateTimeInput,
19833
19976
  {
19834
19977
  ...props,
@@ -19838,7 +19981,7 @@ var FlexibleDateTimeInput = (0, import_react107.forwardRef)(function FlexibleDat
19838
19981
  onValueChange: setValue,
19839
19982
  actions: [
19840
19983
  ...actions,
19841
- /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
19984
+ /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(
19842
19985
  IconButton,
19843
19986
  {
19844
19987
  size: "sm",
@@ -19856,7 +19999,7 @@ var FlexibleDateTimeInput = (0, import_react107.forwardRef)(function FlexibleDat
19856
19999
  }
19857
20000
  }
19858
20001
  },
19859
- children: preferredMode === "date" ? /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(import_lucide_react27.ClockPlus, { className: "size-5" }) : /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(import_lucide_react27.ClockFading, { className: "size-5" })
20002
+ children: preferredMode === "date" ? /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(import_lucide_react28.ClockPlus, { className: "size-5" }) : /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(import_lucide_react28.ClockFading, { className: "size-5" })
19860
20003
  },
19861
20004
  "date-mode"
19862
20005
  )
@@ -19866,11 +20009,11 @@ var FlexibleDateTimeInput = (0, import_react107.forwardRef)(function FlexibleDat
19866
20009
  });
19867
20010
 
19868
20011
  // src/components/user-interaction/input/InsideLabelInput.tsx
19869
- var import_react108 = require("react");
19870
20012
  var import_react109 = require("react");
19871
- var import_clsx37 = __toESM(require("clsx"));
19872
- var import_jsx_runtime100 = require("react/jsx-runtime");
19873
- var InsideLabelInput = (0, import_react109.forwardRef)(function InsideLabelInput2({
20013
+ var import_react110 = require("react");
20014
+ var import_clsx38 = __toESM(require("clsx"));
20015
+ var import_jsx_runtime101 = require("react/jsx-runtime");
20016
+ var InsideLabelInput = (0, import_react110.forwardRef)(function InsideLabelInput2({
19874
20017
  id: customId,
19875
20018
  value: controlledValue,
19876
20019
  initialValue,
@@ -19883,11 +20026,11 @@ var InsideLabelInput = (0, import_react109.forwardRef)(function InsideLabelInput
19883
20026
  onValueChange,
19884
20027
  defaultValue: initialValue
19885
20028
  });
19886
- const [isFocused, setIsFocused] = (0, import_react109.useState)(false);
19887
- const generatedId = (0, import_react108.useId)();
20029
+ const [isFocused, setIsFocused] = (0, import_react110.useState)(false);
20030
+ const generatedId = (0, import_react109.useId)();
19888
20031
  const id = customId ?? generatedId;
19889
- return /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)("div", { className: (0, import_clsx37.default)("relative"), children: [
19890
- /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(
20032
+ return /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)("div", { className: (0, import_clsx38.default)("relative"), children: [
20033
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
19891
20034
  Input,
19892
20035
  {
19893
20036
  ...props,
@@ -19904,16 +20047,16 @@ var InsideLabelInput = (0, import_react109.forwardRef)(function InsideLabelInput
19904
20047
  setIsFocused(false);
19905
20048
  },
19906
20049
  "aria-labelledby": id + "-label",
19907
- className: (0, import_clsx37.default)("h-14 px-4 pb-2 py-6.5", props.className)
20050
+ className: (0, import_clsx38.default)("h-14 px-4 pb-2 py-6.5", props.className)
19908
20051
  }
19909
20052
  ),
19910
- /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(
20053
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
19911
20054
  "label",
19912
20055
  {
19913
20056
  id: id + "-label",
19914
20057
  "aria-hidden": true,
19915
20058
  "data-display": isFocused || !!value ? "small" : "full",
19916
- className: (0, import_clsx37.default)(
20059
+ className: (0, import_clsx38.default)(
19917
20060
  // margin left to account for the border which is ignored for absolute positions
19918
20061
  "absolute left-4 ml-0.5 top-2 transition-all delay-25 pointer-events-none touch-none",
19919
20062
  "data-[display=small]:top-2 data-[display=small]:h-force-4.5 data-[display=small]:typography-caption-sm data-[display=small]:overflow-y-hidden",
@@ -19926,9 +20069,9 @@ var InsideLabelInput = (0, import_react109.forwardRef)(function InsideLabelInput
19926
20069
  });
19927
20070
 
19928
20071
  // src/components/user-interaction/input/SearchBar.tsx
19929
- var import_lucide_react28 = require("lucide-react");
19930
- var import_clsx38 = require("clsx");
19931
- var import_jsx_runtime101 = require("react/jsx-runtime");
20072
+ var import_lucide_react29 = require("lucide-react");
20073
+ var import_clsx39 = require("clsx");
20074
+ var import_jsx_runtime102 = require("react/jsx-runtime");
19932
20075
  var SearchBar = ({
19933
20076
  value: controlledValue,
19934
20077
  initialValue,
@@ -19944,8 +20087,8 @@ var SearchBar = ({
19944
20087
  onValueChange,
19945
20088
  defaultValue: initialValue
19946
20089
  });
19947
- return /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)("div", { ...containerProps, className: (0, import_clsx38.clsx)("relative", containerProps?.className), children: [
19948
- /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
20090
+ return /* @__PURE__ */ (0, import_jsx_runtime102.jsxs)("div", { ...containerProps, className: (0, import_clsx39.clsx)("relative", containerProps?.className), children: [
20091
+ /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(
19949
20092
  Input,
19950
20093
  {
19951
20094
  ...inputProps,
@@ -19953,10 +20096,10 @@ var SearchBar = ({
19953
20096
  onValueChange: setValue,
19954
20097
  onEditComplete: onSearch,
19955
20098
  placeholder: inputProps.placeholder ?? translation("search"),
19956
- className: (0, import_clsx38.clsx)("pr-10 w-full", inputProps.className)
20099
+ className: (0, import_clsx39.clsx)("pr-10 w-full", inputProps.className)
19957
20100
  }
19958
20101
  ),
19959
- /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
20102
+ /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(
19960
20103
  IconButton,
19961
20104
  {
19962
20105
  ...searchButtonProps,
@@ -19965,19 +20108,19 @@ var SearchBar = ({
19965
20108
  color: "neutral",
19966
20109
  coloringStyle: "text",
19967
20110
  onClick: () => onSearch(value),
19968
- className: (0, import_clsx38.clsx)("absolute right-1.5 top-1/2 -translate-y-1/2", searchButtonProps?.className),
19969
- children: /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(import_lucide_react28.Search, { className: "w-full h-full" })
20111
+ className: (0, import_clsx39.clsx)("absolute right-1.5 top-1/2 -translate-y-1/2", searchButtonProps?.className),
20112
+ children: /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(import_lucide_react29.Search, { className: "w-full h-full" })
19970
20113
  }
19971
20114
  )
19972
20115
  ] });
19973
20116
  };
19974
20117
 
19975
20118
  // src/components/user-interaction/input/ToggleableInput.tsx
19976
- var import_react110 = require("react");
19977
- var import_lucide_react29 = require("lucide-react");
19978
- var import_clsx39 = __toESM(require("clsx"));
19979
- var import_jsx_runtime102 = require("react/jsx-runtime");
19980
- var ToggleableInput = (0, import_react110.forwardRef)(function ToggleableInput2({
20119
+ var import_react111 = require("react");
20120
+ var import_lucide_react30 = require("lucide-react");
20121
+ var import_clsx40 = __toESM(require("clsx"));
20122
+ var import_jsx_runtime103 = require("react/jsx-runtime");
20123
+ var ToggleableInput = (0, import_react111.forwardRef)(function ToggleableInput2({
19981
20124
  value: controlledValue,
19982
20125
  initialValue,
19983
20126
  onValueChange,
@@ -19990,16 +20133,16 @@ var ToggleableInput = (0, import_react110.forwardRef)(function ToggleableInput2(
19990
20133
  onValueChange,
19991
20134
  defaultValue: initialValue
19992
20135
  });
19993
- const [isEditing, setIsEditing] = (0, import_react110.useState)(initialState !== "display");
19994
- const innerRef = (0, import_react110.useRef)(null);
19995
- (0, import_react110.useImperativeHandle)(forwardedRef, () => innerRef.current);
19996
- (0, import_react110.useEffect)(() => {
20136
+ const [isEditing, setIsEditing] = (0, import_react111.useState)(initialState !== "display");
20137
+ const innerRef = (0, import_react111.useRef)(null);
20138
+ (0, import_react111.useImperativeHandle)(forwardedRef, () => innerRef.current);
20139
+ (0, import_react111.useEffect)(() => {
19997
20140
  if (isEditing) {
19998
20141
  innerRef.current?.focus();
19999
20142
  }
20000
20143
  }, [isEditing]);
20001
- return /* @__PURE__ */ (0, import_jsx_runtime102.jsxs)("div", { className: (0, import_clsx39.default)("relative flex-row-2", { "flex-1": isEditing }), children: [
20002
- /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(
20144
+ return /* @__PURE__ */ (0, import_jsx_runtime103.jsxs)("div", { className: (0, import_clsx40.default)("relative flex-row-2", { "flex-1": isEditing }), children: [
20145
+ /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(
20003
20146
  Input,
20004
20147
  {
20005
20148
  ...props,
@@ -20023,20 +20166,20 @@ var ToggleableInput = (0, import_react110.forwardRef)(function ToggleableInput2(
20023
20166
  "data-name": props["data-name"] ?? "togglable-input"
20024
20167
  }
20025
20168
  ),
20026
- !isEditing && /* @__PURE__ */ (0, import_jsx_runtime102.jsxs)("div", { className: "absolute left-0 flex-row-2 items-center pointer-events-none touch-none w-full overflow-hidden", children: [
20027
- /* @__PURE__ */ (0, import_jsx_runtime102.jsx)("span", { className: (0, import_clsx39.default)(" truncate"), children: value }),
20028
- /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(import_lucide_react29.Pencil, { className: (0, import_clsx39.default)(`size-force-4`, { "text-transparent": isEditing }) })
20169
+ !isEditing && /* @__PURE__ */ (0, import_jsx_runtime103.jsxs)("div", { className: "absolute left-0 flex-row-2 items-center pointer-events-none touch-none w-full overflow-hidden", children: [
20170
+ /* @__PURE__ */ (0, import_jsx_runtime103.jsx)("span", { className: (0, import_clsx40.default)(" truncate"), children: value }),
20171
+ /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(import_lucide_react30.Pencil, { className: (0, import_clsx40.default)(`size-force-4`, { "text-transparent": isEditing }) })
20029
20172
  ] })
20030
20173
  ] });
20031
20174
  });
20032
20175
 
20033
20176
  // src/components/user-interaction/properties/CheckboxProperty.tsx
20034
- var import_lucide_react31 = require("lucide-react");
20177
+ var import_lucide_react32 = require("lucide-react");
20035
20178
 
20036
20179
  // src/components/user-interaction/properties/PropertyBase.tsx
20037
- var import_clsx40 = __toESM(require("clsx"));
20038
- var import_lucide_react30 = require("lucide-react");
20039
- var import_jsx_runtime103 = require("react/jsx-runtime");
20180
+ var import_clsx41 = __toESM(require("clsx"));
20181
+ var import_lucide_react31 = require("lucide-react");
20182
+ var import_jsx_runtime104 = require("react/jsx-runtime");
20040
20183
  var PropertyBase = ({
20041
20184
  name,
20042
20185
  children,
@@ -20055,36 +20198,36 @@ var PropertyBase = ({
20055
20198
  const isClearEnabled = allowClear && !readOnly;
20056
20199
  const isRemoveEnabled = allowRemove && !readOnly;
20057
20200
  const showActionsContainer = isClearEnabled || isRemoveEnabled;
20058
- return /* @__PURE__ */ (0, import_jsx_runtime103.jsxs)(
20201
+ return /* @__PURE__ */ (0, import_jsx_runtime104.jsxs)(
20059
20202
  "div",
20060
20203
  {
20061
- className: (0, import_clsx40.default)("group/property", className),
20204
+ className: (0, import_clsx41.default)("group/property", className),
20062
20205
  "data-name": "property-root",
20063
20206
  "data-invalid": PropsUtil.dataAttributes.bool(invalid),
20064
20207
  children: [
20065
- /* @__PURE__ */ (0, import_jsx_runtime103.jsxs)(
20208
+ /* @__PURE__ */ (0, import_jsx_runtime104.jsxs)(
20066
20209
  "div",
20067
20210
  {
20068
20211
  "data-name": "property-title",
20069
20212
  "data-invalid": PropsUtil.dataAttributes.bool(invalid),
20070
20213
  children: [
20071
- /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(Tooltip, { tooltip: name, containerClassName: "min-w-0", children: /* @__PURE__ */ (0, import_jsx_runtime103.jsxs)("div", { className: "flex-row-1 items-center", children: [
20072
- /* @__PURE__ */ (0, import_jsx_runtime103.jsx)("div", { "data-name": "property-title-icon", children: icon }),
20073
- /* @__PURE__ */ (0, import_jsx_runtime103.jsx)("span", { "data-name": "property-title-text", children: name })
20214
+ /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(Tooltip, { tooltip: name, containerClassName: "min-w-0", children: /* @__PURE__ */ (0, import_jsx_runtime104.jsxs)("div", { className: "flex-row-1 items-center", children: [
20215
+ /* @__PURE__ */ (0, import_jsx_runtime104.jsx)("div", { "data-name": "property-title-icon", children: icon }),
20216
+ /* @__PURE__ */ (0, import_jsx_runtime104.jsx)("span", { "data-name": "property-title-text", children: name })
20074
20217
  ] }) }),
20075
- invalid && /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(import_lucide_react30.AlertTriangle, { className: "size-force-6" })
20218
+ invalid && /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(import_lucide_react31.AlertTriangle, { className: "size-force-6" })
20076
20219
  ]
20077
20220
  }
20078
20221
  ),
20079
- /* @__PURE__ */ (0, import_jsx_runtime103.jsxs)(
20222
+ /* @__PURE__ */ (0, import_jsx_runtime104.jsxs)(
20080
20223
  "div",
20081
20224
  {
20082
20225
  "data-name": "property-content",
20083
20226
  "data-invalid": PropsUtil.dataAttributes.bool(invalid),
20084
20227
  children: [
20085
20228
  children({ required, hasValue, invalid }),
20086
- showActionsContainer && /* @__PURE__ */ (0, import_jsx_runtime103.jsxs)("div", { "data-name": "property-actions", children: [
20087
- isClearEnabled && /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(
20229
+ showActionsContainer && /* @__PURE__ */ (0, import_jsx_runtime104.jsxs)("div", { "data-name": "property-actions", children: [
20230
+ isClearEnabled && /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(
20088
20231
  IconButton,
20089
20232
  {
20090
20233
  tooltip: translation("clearValue"),
@@ -20093,10 +20236,10 @@ var PropertyBase = ({
20093
20236
  color: "negative",
20094
20237
  coloringStyle: "text",
20095
20238
  size: "sm",
20096
- children: /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(import_lucide_react30.X, { className: "size-force-5" })
20239
+ children: /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(import_lucide_react31.X, { className: "size-force-5" })
20097
20240
  }
20098
20241
  ),
20099
- isRemoveEnabled && /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(
20242
+ isRemoveEnabled && /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(
20100
20243
  IconButton,
20101
20244
  {
20102
20245
  tooltip: translation("removeProperty"),
@@ -20104,7 +20247,7 @@ var PropertyBase = ({
20104
20247
  color: "negative",
20105
20248
  coloringStyle: "text",
20106
20249
  size: "sm",
20107
- children: /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(import_lucide_react30.Trash, { className: "size-force-5" })
20250
+ children: /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(import_lucide_react31.Trash, { className: "size-force-5" })
20108
20251
  }
20109
20252
  )
20110
20253
  ] })
@@ -20117,7 +20260,7 @@ var PropertyBase = ({
20117
20260
  };
20118
20261
 
20119
20262
  // src/components/user-interaction/properties/CheckboxProperty.tsx
20120
- var import_jsx_runtime104 = require("react/jsx-runtime");
20263
+ var import_jsx_runtime105 = require("react/jsx-runtime");
20121
20264
  var CheckboxProperty = ({
20122
20265
  value,
20123
20266
  onValueChange,
@@ -20126,15 +20269,15 @@ var CheckboxProperty = ({
20126
20269
  ...baseProps
20127
20270
  }) => {
20128
20271
  const translation = useHightideTranslation();
20129
- return /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(
20272
+ return /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(
20130
20273
  PropertyBase,
20131
20274
  {
20132
20275
  ...baseProps,
20133
20276
  hasValue: value !== void 0,
20134
20277
  readOnly,
20135
- icon: /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(import_lucide_react31.Check, { size: 24 }),
20136
- children: () => /* @__PURE__ */ (0, import_jsx_runtime104.jsxs)("div", { className: "flex-row-2 items-center", children: [
20137
- /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(
20278
+ icon: /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(import_lucide_react32.Check, { size: 24 }),
20279
+ children: () => /* @__PURE__ */ (0, import_jsx_runtime105.jsxs)("div", { className: "flex-row-2 items-center", children: [
20280
+ /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(
20138
20281
  Button,
20139
20282
  {
20140
20283
  color: value ? "positive" : "neutral",
@@ -20147,7 +20290,7 @@ var CheckboxProperty = ({
20147
20290
  children: translation("yes")
20148
20291
  }
20149
20292
  ),
20150
- /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(
20293
+ /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(
20151
20294
  Button,
20152
20295
  {
20153
20296
  color: !value && value !== void 0 ? "negative" : "neutral",
@@ -20166,8 +20309,8 @@ var CheckboxProperty = ({
20166
20309
  };
20167
20310
 
20168
20311
  // src/components/user-interaction/properties/DateProperty.tsx
20169
- var import_lucide_react32 = require("lucide-react");
20170
- var import_jsx_runtime105 = require("react/jsx-runtime");
20312
+ var import_lucide_react33 = require("lucide-react");
20313
+ var import_jsx_runtime106 = require("react/jsx-runtime");
20171
20314
  var DateProperty = ({
20172
20315
  value,
20173
20316
  onValueChange,
@@ -20177,13 +20320,13 @@ var DateProperty = ({
20177
20320
  ...baseProps
20178
20321
  }) => {
20179
20322
  const hasValue = !!value;
20180
- return /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(
20323
+ return /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(
20181
20324
  PropertyBase,
20182
20325
  {
20183
20326
  ...baseProps,
20184
20327
  hasValue,
20185
- icon: /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(import_lucide_react32.CalendarDays, { size: 24 }),
20186
- children: ({ invalid }) => /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(
20328
+ icon: /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(import_lucide_react33.CalendarDays, { size: 24 }),
20329
+ children: ({ invalid }) => /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(
20187
20330
  DateTimeInput,
20188
20331
  {
20189
20332
  value,
@@ -20200,8 +20343,8 @@ var DateProperty = ({
20200
20343
  };
20201
20344
 
20202
20345
  // src/components/user-interaction/properties/MultiSelectProperty.tsx
20203
- var import_lucide_react33 = require("lucide-react");
20204
- var import_jsx_runtime106 = require("react/jsx-runtime");
20346
+ var import_lucide_react34 = require("lucide-react");
20347
+ var import_jsx_runtime107 = require("react/jsx-runtime");
20205
20348
  var MultiSelectProperty = ({
20206
20349
  children,
20207
20350
  value,
@@ -20210,18 +20353,18 @@ var MultiSelectProperty = ({
20210
20353
  ...props
20211
20354
  }) => {
20212
20355
  const hasValue = value.length > 0;
20213
- return /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(
20356
+ return /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(
20214
20357
  PropertyBase,
20215
20358
  {
20216
20359
  ...props,
20217
20360
  hasValue,
20218
- icon: /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(import_lucide_react33.List, { size: 24 }),
20219
- children: ({ invalid }) => /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(
20361
+ icon: /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(import_lucide_react34.List, { size: 24 }),
20362
+ children: ({ invalid }) => /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(
20220
20363
  "div",
20221
20364
  {
20222
20365
  "data-name": "property-input-wrapper",
20223
20366
  "data-invalid": PropsUtil.dataAttributes.bool(invalid),
20224
- children: /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(
20367
+ children: /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(
20225
20368
  MultiSelectChipDisplay,
20226
20369
  {
20227
20370
  value,
@@ -20247,8 +20390,8 @@ var MultiSelectProperty = ({
20247
20390
  };
20248
20391
 
20249
20392
  // src/components/user-interaction/properties/NumberProperty.tsx
20250
- var import_lucide_react34 = require("lucide-react");
20251
- var import_jsx_runtime107 = require("react/jsx-runtime");
20393
+ var import_lucide_react35 = require("lucide-react");
20394
+ var import_jsx_runtime108 = require("react/jsx-runtime");
20252
20395
  var NumberProperty = ({
20253
20396
  value,
20254
20397
  onValueChange,
@@ -20260,20 +20403,20 @@ var NumberProperty = ({
20260
20403
  }) => {
20261
20404
  const translation = useHightideTranslation();
20262
20405
  const hasValue = value !== void 0;
20263
- return /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(
20406
+ return /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(
20264
20407
  PropertyBase,
20265
20408
  {
20266
20409
  ...baseProps,
20267
20410
  onValueClear,
20268
20411
  hasValue,
20269
- icon: /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(import_lucide_react34.Binary, { size: 24 }),
20270
- children: ({ invalid }) => /* @__PURE__ */ (0, import_jsx_runtime107.jsxs)(
20412
+ icon: /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(import_lucide_react35.Binary, { size: 24 }),
20413
+ children: ({ invalid }) => /* @__PURE__ */ (0, import_jsx_runtime108.jsxs)(
20271
20414
  "div",
20272
20415
  {
20273
20416
  "data-name": "property-input-wrapper",
20274
20417
  "data-invalid": PropsUtil.dataAttributes.bool(invalid),
20275
20418
  children: [
20276
- /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(
20419
+ /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(
20277
20420
  Input,
20278
20421
  {
20279
20422
  "data-name": "property-input",
@@ -20301,7 +20444,7 @@ var NumberProperty = ({
20301
20444
  }
20302
20445
  }
20303
20446
  ),
20304
- suffix && /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(
20447
+ suffix && /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(
20305
20448
  "span",
20306
20449
  {
20307
20450
  "data-name": "property-suffix",
@@ -20317,8 +20460,8 @@ var NumberProperty = ({
20317
20460
  };
20318
20461
 
20319
20462
  // src/components/user-interaction/properties/SelectProperty.tsx
20320
- var import_lucide_react35 = require("lucide-react");
20321
- var import_jsx_runtime108 = require("react/jsx-runtime");
20463
+ var import_lucide_react36 = require("lucide-react");
20464
+ var import_jsx_runtime109 = require("react/jsx-runtime");
20322
20465
  var SingleSelectProperty = ({
20323
20466
  children,
20324
20467
  value,
@@ -20327,18 +20470,18 @@ var SingleSelectProperty = ({
20327
20470
  ...props
20328
20471
  }) => {
20329
20472
  const hasValue = value !== void 0;
20330
- return /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(
20473
+ return /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(
20331
20474
  PropertyBase,
20332
20475
  {
20333
20476
  ...props,
20334
20477
  hasValue,
20335
- icon: /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(import_lucide_react35.List, { size: 24 }),
20336
- children: ({ invalid }) => /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(
20478
+ icon: /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(import_lucide_react36.List, { size: 24 }),
20479
+ children: ({ invalid }) => /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(
20337
20480
  "div",
20338
20481
  {
20339
20482
  "data-name": "property-input-wrapper",
20340
20483
  "data-invalid": PropsUtil.dataAttributes.bool(invalid),
20341
- children: /* @__PURE__ */ (0, import_jsx_runtime108.jsxs)(
20484
+ children: /* @__PURE__ */ (0, import_jsx_runtime109.jsxs)(
20342
20485
  SelectRoot,
20343
20486
  {
20344
20487
  value,
@@ -20348,7 +20491,7 @@ var SingleSelectProperty = ({
20348
20491
  },
20349
20492
  disabled: props.readOnly,
20350
20493
  children: [
20351
- /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(
20494
+ /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(
20352
20495
  SelectButton,
20353
20496
  {
20354
20497
  className: "flex-row-2 w-full items-center justify-between",
@@ -20356,7 +20499,7 @@ var SingleSelectProperty = ({
20356
20499
  "data-name": "property-input"
20357
20500
  }
20358
20501
  ),
20359
- /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(SelectContent, { children })
20502
+ /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(SelectContent, { children })
20360
20503
  ]
20361
20504
  }
20362
20505
  )
@@ -20367,8 +20510,8 @@ var SingleSelectProperty = ({
20367
20510
  };
20368
20511
 
20369
20512
  // src/components/user-interaction/properties/TextProperty.tsx
20370
- var import_lucide_react36 = require("lucide-react");
20371
- var import_jsx_runtime109 = require("react/jsx-runtime");
20513
+ var import_lucide_react37 = require("lucide-react");
20514
+ var import_jsx_runtime110 = require("react/jsx-runtime");
20372
20515
  var TextProperty = ({
20373
20516
  value,
20374
20517
  readOnly,
@@ -20378,13 +20521,13 @@ var TextProperty = ({
20378
20521
  }) => {
20379
20522
  const translation = useHightideTranslation();
20380
20523
  const hasValue = value !== void 0;
20381
- return /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(
20524
+ return /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(
20382
20525
  PropertyBase,
20383
20526
  {
20384
20527
  ...baseProps,
20385
20528
  hasValue,
20386
- icon: /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(import_lucide_react36.Text, { size: 24 }),
20387
- children: ({ invalid }) => /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(
20529
+ icon: /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(import_lucide_react37.Text, { size: 24 }),
20530
+ children: ({ invalid }) => /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(
20388
20531
  Textarea,
20389
20532
  {
20390
20533
  "data-name": "property-input",
@@ -20404,29 +20547,29 @@ var TextProperty = ({
20404
20547
 
20405
20548
  // src/components/utils/Polymorphic.tsx
20406
20549
  var import_react_slot = require("@radix-ui/react-slot");
20407
- var import_react111 = require("react");
20408
- var import_jsx_runtime110 = require("react/jsx-runtime");
20409
- var PolymorphicSlot = (0, import_react111.forwardRef)(function PolymorphicSlot2({
20550
+ var import_react112 = require("react");
20551
+ var import_jsx_runtime111 = require("react/jsx-runtime");
20552
+ var PolymorphicSlot = (0, import_react112.forwardRef)(function PolymorphicSlot2({
20410
20553
  children,
20411
20554
  asChild,
20412
20555
  defaultComponent = "div",
20413
20556
  ...props
20414
20557
  }, ref) {
20415
20558
  const Component = asChild ? import_react_slot.Slot : defaultComponent;
20416
- return /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(Component, { ...props, ref, children });
20559
+ return /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(Component, { ...props, ref, children });
20417
20560
  });
20418
20561
 
20419
20562
  // src/components/utils/Transition.tsx
20420
- var import_react112 = require("react");
20563
+ var import_react113 = require("react");
20421
20564
  function Transition({
20422
20565
  children,
20423
20566
  show,
20424
20567
  includeAnimation = true
20425
20568
  }) {
20426
- const [isOpen, setIsOpen] = (0, import_react112.useState)(show);
20427
- const [isTransitioning, setIsTransitioning] = (0, import_react112.useState)(!isOpen);
20569
+ const [isOpen, setIsOpen] = (0, import_react113.useState)(show);
20570
+ const [isTransitioning, setIsTransitioning] = (0, import_react113.useState)(!isOpen);
20428
20571
  const isUsingReducedMotion = typeof window !== "undefined" && typeof window.matchMedia === "function" ? window.matchMedia("(prefers-reduced-motion: reduce)").matches : true;
20429
- (0, import_react112.useEffect)(() => {
20572
+ (0, import_react113.useEffect)(() => {
20430
20573
  setIsOpen(show);
20431
20574
  setIsTransitioning(true);
20432
20575
  }, [show]);
@@ -20451,18 +20594,18 @@ function Transition({
20451
20594
  }
20452
20595
 
20453
20596
  // src/global-contexts/HightideProvider.tsx
20454
- var import_jsx_runtime111 = require("react/jsx-runtime");
20597
+ var import_jsx_runtime112 = require("react/jsx-runtime");
20455
20598
  var HightideProvider = ({
20456
20599
  children,
20457
20600
  theme,
20458
20601
  locale,
20459
20602
  config
20460
20603
  }) => {
20461
- return /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(LocaleProvider, { ...locale, children: /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(ThemeProvider, { ...theme, children: /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(HightideConfigProvider, { ...config, children }) }) });
20604
+ return /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(LocaleProvider, { ...locale, children: /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(ThemeProvider, { ...theme, children: /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(HightideConfigProvider, { ...config, children }) }) });
20462
20605
  };
20463
20606
 
20464
20607
  // src/hooks/focus/useFocusGuards.ts
20465
- var import_react113 = require("react");
20608
+ var import_react114 = require("react");
20466
20609
  var selectorName = "data-hw-focus-guard";
20467
20610
  function FocusGuard() {
20468
20611
  const element = document.createElement("div");
@@ -20500,7 +20643,7 @@ var FocusGuardsService = class _FocusGuardsService {
20500
20643
  }
20501
20644
  };
20502
20645
  var useFocusGuards = () => {
20503
- (0, import_react113.useEffect)(() => {
20646
+ (0, import_react114.useEffect)(() => {
20504
20647
  FocusGuardsService.getInstance().add();
20505
20648
  return () => {
20506
20649
  FocusGuardsService.getInstance().remove();
@@ -20509,10 +20652,10 @@ var useFocusGuards = () => {
20509
20652
  };
20510
20653
 
20511
20654
  // src/hooks/focus/useFocusOnceVisible.ts
20512
- var import_react114 = __toESM(require("react"));
20655
+ var import_react115 = __toESM(require("react"));
20513
20656
  var useFocusOnceVisible = (ref, disable = false) => {
20514
- const [hasUsedFocus, setHasUsedFocus] = import_react114.default.useState(false);
20515
- (0, import_react114.useEffect)(() => {
20657
+ const [hasUsedFocus, setHasUsedFocus] = import_react115.default.useState(false);
20658
+ (0, import_react115.useEffect)(() => {
20516
20659
  if (disable || hasUsedFocus) {
20517
20660
  return;
20518
20661
  }
@@ -20532,11 +20675,11 @@ var useFocusOnceVisible = (ref, disable = false) => {
20532
20675
  };
20533
20676
 
20534
20677
  // src/hooks/focus/useIsMounted.ts
20535
- var import_react115 = require("react");
20678
+ var import_react116 = require("react");
20536
20679
  var isClient = typeof window !== "undefined" && typeof document !== "undefined";
20537
- var useIsomorphicEffect = isClient ? import_react115.useLayoutEffect : import_react115.useEffect;
20680
+ var useIsomorphicEffect = isClient ? import_react116.useLayoutEffect : import_react116.useEffect;
20538
20681
  var useIsMounted = () => {
20539
- const [isMounted, setIsMounted] = (0, import_react115.useState)(false);
20682
+ const [isMounted, setIsMounted] = (0, import_react116.useState)(false);
20540
20683
  useIsomorphicEffect(() => {
20541
20684
  setIsMounted(true);
20542
20685
  return () => {
@@ -20547,10 +20690,10 @@ var useIsMounted = () => {
20547
20690
  };
20548
20691
 
20549
20692
  // src/hooks/useHandleRefs.ts
20550
- var import_react116 = require("react");
20693
+ var import_react117 = require("react");
20551
20694
  function useHandleRefs(handleRef) {
20552
- const refs = (0, import_react116.useRef)([]);
20553
- (0, import_react116.useEffect)(() => {
20695
+ const refs = (0, import_react117.useRef)([]);
20696
+ (0, import_react117.useEffect)(() => {
20554
20697
  refs.current = Object.keys(handleRef?.current ?? {}).map(
20555
20698
  () => ({ current: null })
20556
20699
  );
@@ -20563,10 +20706,10 @@ function useHandleRefs(handleRef) {
20563
20706
  }
20564
20707
 
20565
20708
  // src/hooks/useLogUnstableDependencies.ts
20566
- var import_react117 = __toESM(require("react"));
20709
+ var import_react118 = __toESM(require("react"));
20567
20710
  function useLogUnstableDependencies(name, value) {
20568
- const prev = import_react117.default.useRef(null);
20569
- import_react117.default.useEffect(() => {
20711
+ const prev = import_react118.default.useRef(null);
20712
+ import_react118.default.useEffect(() => {
20570
20713
  if (!prev.current) {
20571
20714
  prev.current = value;
20572
20715
  return;
@@ -20588,10 +20731,10 @@ function useLogUnstableDependencies(name, value) {
20588
20731
  }
20589
20732
 
20590
20733
  // src/hooks/useOverwritableState.ts
20591
- var import_react118 = require("react");
20734
+ var import_react119 = require("react");
20592
20735
  var useOverwritableState = (overwriteValue, onChange) => {
20593
- const [state, setState] = (0, import_react118.useState)(overwriteValue);
20594
- (0, import_react118.useEffect)(() => {
20736
+ const [state, setState] = (0, import_react119.useState)(overwriteValue);
20737
+ (0, import_react119.useEffect)(() => {
20595
20738
  setState(overwriteValue);
20596
20739
  }, [overwriteValue]);
20597
20740
  const onChangeWrapper = (action) => {
@@ -20603,29 +20746,29 @@ var useOverwritableState = (overwriteValue, onChange) => {
20603
20746
  };
20604
20747
 
20605
20748
  // src/hooks/useRerender.ts
20606
- var import_react119 = require("react");
20749
+ var import_react120 = require("react");
20607
20750
  var useRerender = () => {
20608
- return (0, import_react119.useReducer)(() => ({}), {})[1];
20751
+ return (0, import_react120.useReducer)(() => ({}), {})[1];
20609
20752
  };
20610
20753
 
20611
20754
  // src/hooks/useUpdatingDateString.ts
20612
- var import_react120 = require("react");
20755
+ var import_react121 = require("react");
20613
20756
  var useUpdatingDateString = ({ absoluteFormat = "dateTime", localeOverride, date }) => {
20614
20757
  const { locale: contextLocale } = useLocale();
20615
20758
  const locale = localeOverride ?? contextLocale;
20616
- const [dateAndTimeStrings, setDateAndTimeStrings] = (0, import_react120.useState)({
20759
+ const [dateAndTimeStrings, setDateAndTimeStrings] = (0, import_react121.useState)({
20617
20760
  compareDate: date,
20618
20761
  absolute: DateUtils.formatAbsolute(date, locale, absoluteFormat),
20619
20762
  relative: DateUtils.formatRelative(date, locale)
20620
20763
  });
20621
- (0, import_react120.useEffect)(() => {
20764
+ (0, import_react121.useEffect)(() => {
20622
20765
  setDateAndTimeStrings({
20623
20766
  compareDate: date,
20624
20767
  absolute: DateUtils.formatAbsolute(date, locale, absoluteFormat),
20625
20768
  relative: DateUtils.formatRelative(date, locale)
20626
20769
  });
20627
20770
  }, [date, absoluteFormat, locale]);
20628
- (0, import_react120.useEffect)(() => {
20771
+ (0, import_react121.useEffect)(() => {
20629
20772
  let timeoutId;
20630
20773
  const startTimer = () => {
20631
20774
  const now = /* @__PURE__ */ new Date();
@@ -20661,7 +20804,7 @@ var validateEmail = (email) => {
20661
20804
  };
20662
20805
 
20663
20806
  // src/hooks/useValidators.ts
20664
- var import_react121 = require("react");
20807
+ var import_react122 = require("react");
20665
20808
  var notEmpty = (value) => {
20666
20809
  if (!value) {
20667
20810
  return "notEmpty";
@@ -20711,7 +20854,7 @@ var UseValidators = {
20711
20854
  };
20712
20855
  var useTranslatedValidators = () => {
20713
20856
  const translation = useHightideTranslation();
20714
- return (0, import_react121.useMemo)(() => ({
20857
+ return (0, import_react122.useMemo)(() => ({
20715
20858
  notEmpty: (value) => {
20716
20859
  const result = notEmpty(value);
20717
20860
  if (result) {
@@ -21113,6 +21256,7 @@ var PromiseUtils = {
21113
21256
  SimpleSearch,
21114
21257
  SimpleSearchWithMapping,
21115
21258
  SingleSelectProperty,
21259
+ SortingList,
21116
21260
  StepperBar,
21117
21261
  StorageListener,
21118
21262
  Switch,