@epam/uui 6.4.2 → 6.4.4

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.
Files changed (43) hide show
  1. package/assets/styles/clickable.scss +26 -26
  2. package/assets/styles/dnd.scss +9 -9
  3. package/assets/styles/effects.scss +6 -6
  4. package/assets/styles/helpers.scss +12 -0
  5. package/assets/styles/index.scss +6 -6
  6. package/assets/styles/typography.scss +184 -184
  7. package/components/buttons/VerticalTabButton.d.ts.map +1 -1
  8. package/components/datePickers/DatePicker.d.ts.map +1 -1
  9. package/components/datePickers/RangeDatePickerInput.d.ts.map +1 -1
  10. package/components/filters/FilterNumericBody.d.ts +3 -3
  11. package/components/filters/FilterNumericBody.d.ts.map +1 -1
  12. package/components/filters/helpers/predicateHelpers.d.ts +11 -0
  13. package/components/filters/helpers/predicateHelpers.d.ts.map +1 -1
  14. package/components/inputs/timePicker/TimePicker.d.ts.map +1 -1
  15. package/components/inputs/timePicker/TimePickerBody.d.ts.map +1 -1
  16. package/components/layout/Blocker.d.ts +2 -1
  17. package/components/layout/Blocker.d.ts.map +1 -1
  18. package/components/layout/ScrollBars.d.ts +11 -1
  19. package/components/layout/ScrollBars.d.ts.map +1 -1
  20. package/components/layout/VirtualList.d.ts +1 -1
  21. package/components/layout/VirtualList.d.ts.map +1 -1
  22. package/components/overlays/DropdownMenu.d.ts +2 -2
  23. package/components/overlays/DropdownMenu.d.ts.map +1 -1
  24. package/components/pickers/DataPickerBody.d.ts.map +1 -1
  25. package/components/tables/ColumnHeaderDropdown/SortingPanel.d.ts.map +1 -1
  26. package/components/tables/DataTable.d.ts +3 -2
  27. package/components/tables/DataTable.d.ts.map +1 -1
  28. package/components/tables/DataTableHeaderCell.d.ts +2 -21
  29. package/components/tables/DataTableHeaderCell.d.ts.map +1 -1
  30. package/components/tables/columnsConfigurationModal/ColumnsConfigurationModal.d.ts +1 -1
  31. package/components/tables/columnsConfigurationModal/ColumnsConfigurationModal.d.ts.map +1 -1
  32. package/components/widgets/DataRowAddons.d.ts.map +1 -1
  33. package/i18n.d.ts +1 -0
  34. package/i18n.d.ts.map +1 -1
  35. package/index.esm.js +322 -242
  36. package/index.esm.js.map +1 -1
  37. package/index.js +320 -240
  38. package/index.js.map +1 -1
  39. package/package.json +5 -5
  40. package/readme.md +9 -9
  41. package/stats.html +1 -1
  42. package/styles.css +1043 -1024
  43. package/styles.css.map +1 -1
package/index.esm.js CHANGED
@@ -1,9 +1,9 @@
1
1
  import * as uuiComponents from '@epam/uui-components';
2
- import { Spinner as Spinner$1, Blocker as Blocker$1, Clickable, IconContainer, AvatarStack as AvatarStack$1, ControlIcon, Paginator as Paginator$1, RadioInput as RadioInput$1, TextInput as TextInput$1, ControlGroup as ControlGroup$1, NumericInput as NumericInput$1, TextArea as TextArea$1, Dropdown as Dropdown$1, InputAddon as InputAddon$1, Slider as Slider$1, DragHandle, Anchor as Anchor$1, FlexSpacer, Text as Text$1, FlexCell as FlexCell$1, VPanel, ModalBlocker as ModalBlocker$1, ModalWindow as ModalWindow$1, Snackbar as Snackbar$1, Calendar as Calendar$1, YearSelection, MonthSelection, Day, uuiDaySelection, Avatar, usePickerModal, handleDataSourceKeyboard, PickerToggler as PickerToggler$1, usePickerInput, usePickerList, DataTableCell as DataTableCell$1, DataTableRow as DataTableRow$1, DataTableCellContainer, DataTableHeaderCell as DataTableHeaderCell$1, DataTableHeaderRow as DataTableHeaderRow$1, useColumnsConfiguration, Accordion as Accordion$1, DataTableSelectionProvider, DataTableFocusProvider, useShowSelected, usePickerApi, AdaptivePanel, Burger as Burger$1, Button as Button$1, DropSpot as DropSpot$1, UploadFileToggler, ErrorCatch } from '@epam/uui-components';
2
+ import { Spinner as Spinner$1, Blocker as Blocker$1, Clickable, IconContainer, AvatarStack as AvatarStack$1, ControlIcon, Paginator as Paginator$1, RadioInput as RadioInput$1, TextInput as TextInput$1, ControlGroup as ControlGroup$1, NumericInput as NumericInput$1, TextArea as TextArea$1, Dropdown as Dropdown$1, InputAddon as InputAddon$1, Slider as Slider$1, DragHandle, Anchor as Anchor$1, FlexSpacer, Text as Text$1, FlexCell as FlexCell$1, VPanel, ModalBlocker as ModalBlocker$1, ModalWindow as ModalWindow$1, Snackbar as Snackbar$1, Calendar as Calendar$1, YearSelection, MonthSelection, Day, uuiDaySelection, Avatar, usePickerModal, handleDataSourceKeyboard, PickerToggler as PickerToggler$1, usePickerInput, usePickerList, DataTableCell as DataTableCell$1, DataTableRow as DataTableRow$1, DataTableHeaderCell as DataTableHeaderCell$1, DataTableCellContainer, DataTableHeaderRow as DataTableHeaderRow$1, useColumnsConfiguration, Accordion as Accordion$1, DataTableSelectionProvider, DataTableFocusProvider, useShowSelected, usePickerApi, AdaptivePanel, Burger as Burger$1, Button as Button$1, DropSpot as DropSpot$1, UploadFileToggler, ErrorCatch } from '@epam/uui-components';
3
3
  export { Avatar, DataTableCellContainer, FlexSpacer, IconContainer, MainMenuCustomElement, MainMenuLogo } from '@epam/uui-components';
4
4
  import { withMods, devLogger, uuiElement, useIsActive, uuiMod, cx as cx$1, uuiMarkers, IEditableDebouncer, UuiContext, getDir, isEventTargetInsideClickable, directionMode, useScrollShadows, useVirtualList, isMobile, i18n as i18n$1, useUuiContext, useLayoutEffectSafeForSsr, usePrevious, mobilePositioning, uuiDataTableHeaderCell, uuiDataTableHeaderGroupCell, DndActor, uuiDndState, useColumnsConfig, uuiScrollShadows, useForceUpdate, getSeparatedValue, useArrayDataSource, orderBy, getOrderBetween, Form as Form$1, useForm as useForm$1, formatBytes, useUuiError } from '@epam/uui-core';
5
5
  import * as React from 'react';
6
- import React__default, { forwardRef, useState, useEffect, useContext, useRef, useImperativeHandle, useMemo, useReducer, useCallback, Fragment } from 'react';
6
+ import React__default, { forwardRef, useState, useEffect, useContext, useRef, useMemo, useImperativeHandle, useReducer, useCallback, useId, Fragment } from 'react';
7
7
  import cx from 'classnames';
8
8
  import { offset } from '@floating-ui/react';
9
9
  import dayjs from 'dayjs';
@@ -156,7 +156,7 @@ var SvgEmptyTable = function SvgEmptyTable(props, ref) {
156
156
  xmlns: "http://www.w3.org/2000/svg",
157
157
  ref: ref
158
158
  }, props), /*#__PURE__*/React.createElement("g", {
159
- clipPath: "url(#5ijuogspqkuhn1rg_a)"
159
+ clipPath: "url(#g3sdanswhqkvot7f_a)"
160
160
  }, _path$I || (_path$I = /*#__PURE__*/React.createElement("path", {
161
161
  d: "M150.585 1.535C49.483-11.495 27.481 61.805 45.725 97.481c10.581 20.69-39.64 70.792 17.744 81.468 27.538 5.123 36-13.341 62.433-10.655 35.4 3.6 148.167-4.73 88.349-78.915-31.713-39.335 1.026-79.506-63.666-87.844Z",
162
162
  fill: "#F5F6FA"
@@ -177,7 +177,7 @@ var SvgEmptyTable = function SvgEmptyTable(props, ref) {
177
177
  d: "M86.786 22.982c-2.55 0-4.965 2.07-4.965 4.552V120.6c0 2.484 2.4 4.572 4.965 4.572h88.101c2.582 0 4.986-2.089 4.986-4.572V27.534c0-2.464-2.418-4.552-4.986-4.552h-88.1Zm-5.793 4.552c0-3.022 2.874-5.38 5.793-5.38h88.101c2.935 0 5.814 2.374 5.814 5.38V120.6c0 3.021-2.86 5.4-5.814 5.4h-88.1c-2.94 0-5.794-2.381-5.794-5.4V27.534Z",
178
178
  fill: "#1D1E26"
179
179
  })), /*#__PURE__*/React.createElement("mask", {
180
- id: "5ijuogtu6oq6pwj4_b",
180
+ id: "g3sdancilj2tzyi46_b",
181
181
  style: {
182
182
  maskType: "alpha"
183
183
  },
@@ -190,7 +190,7 @@ var SvgEmptyTable = function SvgEmptyTable(props, ref) {
190
190
  d: "M174.887 125.586h-88.1c-2.752 0-5.38-2.234-5.38-4.986V27.534c0-2.752 2.644-4.966 5.38-4.966h88.1c2.752 0 5.4 2.23 5.4 4.966V120.6c0 2.752-2.632 4.986-5.4 4.986Z",
191
191
  fill: "#9BDEFF"
192
192
  }))), _g || (_g = /*#__PURE__*/React.createElement("g", {
193
- mask: "url(#5ijuogtu6oq6pwj4_b)",
193
+ mask: "url(#g3sdancilj2tzyi46_b)",
194
194
  fillRule: "evenodd",
195
195
  clipRule: "evenodd"
196
196
  }, /*#__PURE__*/React.createElement("path", {
@@ -276,7 +276,7 @@ var SvgEmptyTable = function SvgEmptyTable(props, ref) {
276
276
  d: "M24.73 96.184a.414.414 0 0 1 .581.06l48.646 59.751a.413.413 0 1 1-.642.523L24.67 96.766a.414.414 0 0 1 .06-.582Z",
277
277
  fill: "#fff"
278
278
  }))), _defs || (_defs = /*#__PURE__*/React.createElement("defs", null, /*#__PURE__*/React.createElement("clipPath", {
279
- id: "5ijuogspqkuhn1rg_a"
279
+ id: "g3sdanswhqkvot7f_a"
280
280
  }, /*#__PURE__*/React.createElement("path", {
281
281
  fill: "#fff",
282
282
  transform: "translate(.552)",
@@ -927,14 +927,14 @@ var SvgSearchWithBackground = function SvgSearchWithBackground(props, ref) {
927
927
  };
928
928
  var ForwardRef$4 = /*#__PURE__*/forwardRef(SvgSearchWithBackground);
929
929
 
930
- var css$1w = {"root":"_9QN1yi","uui-spinner":"_2TpjB9","uuiSpinner":"_2TpjB9"};
930
+ var css$1w = {"root":"UE27xC","uui-spinner":"JZ8Uv5","uuiSpinner":"JZ8Uv5"};
931
931
 
932
932
  function applySpinnerMods() {
933
933
  return [css$1w.root, 'uui-spinner'];
934
934
  }
935
935
  const Spinner = /* @__PURE__ */withMods(Spinner$1, applySpinnerMods);
936
936
 
937
- var css$1v = {"root":"DLs1Il","loading-word":"IbALyA","loadingWord":"IbALyA","animated-loading":"_6WhCoy","animatedLoading":"_6WhCoy","skeleton_loading":"yp4oCW","skeletonLoading":"yp4oCW"};
937
+ var css$1v = {"root":"vlgrhq","loading-word":"RxXHQu","loadingWord":"RxXHQu","animated-loading":"vIsykU","animatedLoading":"vIsykU","skeleton_loading":"MTpfbj","skeletonLoading":"MTpfbj"};
938
938
 
939
939
  const TextPlaceholder = (props) => {
940
940
  const pattern = ' ';
@@ -951,7 +951,7 @@ const TextPlaceholder = (props) => {
951
951
  ]), dangerouslySetInnerHTML: { __html: it } })))));
952
952
  };
953
953
 
954
- var css$1u = {"root":"ADkaQX","line-height":"QtSITm","lineHeight":"QtSITm","font-size":"fcVzfk","fontSize":"fcVzfk"};
954
+ var css$1u = {"root":"GDTy8P","line-height":"uxBDY-","lineHeight":"uxBDY-","font-size":"Jfl4Kx","fontSize":"Jfl4Kx"};
955
955
 
956
956
  function applyTextMods(mods) {
957
957
  return [
@@ -978,7 +978,7 @@ const Text = /* @__PURE__ */withMods(uuiComponents.Text, applyTextMods, (props)
978
978
  };
979
979
  });
980
980
 
981
- var css$1t = {"root":"pqcU0t"};
981
+ var css$1t = {"root":"tP39oV"};
982
982
 
983
983
  const Blocker = /* @__PURE__ */withMods(Blocker$1, () => [css$1t.root], () => ({ renderSpinner: settings.blocker.renderSpinner }));
984
984
 
@@ -1483,7 +1483,7 @@ const settings = {
1483
1483
  textInput: textInputSettings,
1484
1484
  };
1485
1485
 
1486
- var css$1s = {"root":"krR-kO"};
1486
+ var css$1s = {"root":"UngvQG"};
1487
1487
 
1488
1488
  function applyButtonMods(mods) {
1489
1489
  return [
@@ -1501,7 +1501,7 @@ const Button = /* @__PURE__ */withMods(uuiComponents.Button, applyButtonMods, ()
1501
1501
  };
1502
1502
  });
1503
1503
 
1504
- var css$1r = {"root":"_6yrG-R"};
1504
+ var css$1r = {"root":"WpOWm9"};
1505
1505
 
1506
1506
  function applyIconButtonMods(props) {
1507
1507
  return ['uui-icon_button', `uui-color-${props.color || 'neutral'}`, css$1r.root];
@@ -1538,7 +1538,7 @@ function getIconClass(props) {
1538
1538
  return [classList['has-left-icon'] ? 'uui-has-left-icon' : 'uui-no-left-icon', classList['has-right-icon'] ? 'uui-has-right-icon' : 'uui-no-right-icon'];
1539
1539
  }
1540
1540
 
1541
- var css$1q = {"root":"vUSh6-"};
1541
+ var css$1q = {"root":"-wCqo3"};
1542
1542
 
1543
1543
  const DEFAULT_COLOR = 'primary';
1544
1544
  const LinkButton = /* @__PURE__ */React.forwardRef((props, ref) => {
@@ -1568,7 +1568,7 @@ const LinkButton = /* @__PURE__ */React.forwardRef((props, ref) => {
1568
1568
  props.isDropdown && (React.createElement(IconContainer, { icon: DropdownIcon, flipY: props.isOpen }))));
1569
1569
  });
1570
1570
 
1571
- var css$1p = {"root":"_48OcY9"};
1571
+ var css$1p = {"root":"Nn9bGc"};
1572
1572
 
1573
1573
  const CountIndicator = /* @__PURE__ */forwardRef((props, ref) => {
1574
1574
  return (React__default.createElement("div", { ref: ref, className: cx([
@@ -1580,7 +1580,7 @@ const CountIndicator = /* @__PURE__ */forwardRef((props, ref) => {
1580
1580
  ]) }, props.caption));
1581
1581
  });
1582
1582
 
1583
- var css$1o = {"root":"_3PsUxa","withNotify":"_9B2HrO"};
1583
+ var css$1o = {"root":"HB7Csf","withNotify":"_73xN8N"};
1584
1584
 
1585
1585
  const TabButton = /* @__PURE__ */React__default.forwardRef((props, refExternal) => {
1586
1586
  const refLocal = React__default.useRef(null);
@@ -1627,13 +1627,13 @@ const TabButton = /* @__PURE__ */React__default.forwardRef((props, refExternal)
1627
1627
  props.onClear && !props.isDisabled && (React__default.createElement(IconContainer, { cx: uuiMarkers.clickable, icon: ClearIcon, onClick: props.onClear }))));
1628
1628
  });
1629
1629
 
1630
- var css$1n = {"root":"peObWc","noLeftPadding":"M9oM9m","foldingArea":"O3E-QD","onlyFoldable":"GKSVwK","captionWrapper":"PXXAOU","withNotify":"yiUC4M"};
1630
+ var css$1n = {"root":"DjEb16","noLeftPadding":"vFYbua","foldingArea":"d2FFaF","onlyFoldable":"F6gy36","captionWrapper":"_92Ln4t","withNotify":"tqso6T"};
1631
1631
 
1632
- var css$1m = {"root":"_0F5xqb"};
1632
+ var css$1m = {"root":"e0-jaV"};
1633
1633
 
1634
1634
  const AvatarStack = /* @__PURE__ */withMods(AvatarStack$1, () => [css$1m.root]);
1635
1635
 
1636
- var css$1l = {"root":"nh4MZv"};
1636
+ var css$1l = {"root":"MoXaMB"};
1637
1637
 
1638
1638
  const DEFAULT_FILL = 'solid';
1639
1639
  function applyBadgeMods(mods) {
@@ -1661,7 +1661,7 @@ const Badge = /* @__PURE__ */React__default.forwardRef((props, ref) => {
1661
1661
  props.isDropdown && (React__default.createElement(IconContainer, { icon: DropdownIcon, flipY: props.isOpen }))));
1662
1662
  });
1663
1663
 
1664
- var css$1k = {"root":"kXKR1s"};
1664
+ var css$1k = {"root":"EluYH6"};
1665
1665
 
1666
1666
  function applyTagMods(props) {
1667
1667
  return [
@@ -1694,7 +1694,7 @@ const Tag = /* @__PURE__ */React__default.forwardRef((props, ref) => {
1694
1694
  } }))));
1695
1695
  });
1696
1696
 
1697
- var css$1j = {"root":"JNufGU","page":"mZ5zUd","spacer":"XjssZB","mode-ghost":"MjgFZy","modeGhost":"MjgFZy"};
1697
+ var css$1j = {"root":"dGyt7a","page":"Ir6nO6","spacer":"I3NMdL","mode-ghost":"_4xtqr6","modeGhost":"_4xtqr6"};
1698
1698
 
1699
1699
  function Paginator(props) {
1700
1700
  const renderPaginator = (params) => (React__default.createElement("nav", { role: "navigation", className: cx('uui-paginator', `uui-size-${props.size || settings.paginator.sizes.default}`), ...params.rawProps },
@@ -1720,14 +1720,14 @@ function Paginator(props) {
1720
1720
  return React__default.createElement(Paginator$1, { ...props, render: renderPaginator });
1721
1721
  }
1722
1722
 
1723
- var css$1i = {"root":"quYrc5","progress-bar":"_1IjHFJ","progressBar":"_1IjHFJ","progressBar-indeterminate":"x38wjI","progressBarIndeterminate":"x38wjI","size-12":"zCDLL5","size12":"zCDLL5","size-18":"_4B7SXr","size18":"_4B7SXr","size-24":"x1p-IV","size24":"x1p-IV"};
1723
+ var css$1i = {"root":"C4JxUr","progress-bar":"nJiiRt","progressBar":"nJiiRt","progressBar-indeterminate":"Un-0I3","progressBarIndeterminate":"Un-0I3","size-12":"J-wweH","size12":"J-wweH","size-18":"YaxwGL","size18":"YaxwGL","size-24":"gljeGl","size24":"gljeGl"};
1724
1724
 
1725
1725
  const IndeterminateBar = /* @__PURE__ */React.forwardRef((props, ref) => {
1726
1726
  return (React.createElement("div", { ref: ref, className: cx('uui-indeterminate_bar', props.cx, css$1i.root, css$1i[`size-${props.size || 12}`]) },
1727
1727
  React.createElement("div", { className: cx(css$1i.progressBar) })));
1728
1728
  });
1729
1729
 
1730
- var css$1h = {"root":"vwMiei","striped":"BxBzcl","animate-stripes":"rXqbPX","animateStripes":"rXqbPX","size-12":"omUXKt","size12":"omUXKt","size-18":"oUm4No","size18":"oUm4No","size-24":"QZW1ld","size24":"QZW1ld"};
1730
+ var css$1h = {"root":"ClOpVp","striped":"_8YBwrZ","animate-stripes":"-jpz57","animateStripes":"-jpz57","size-12":"tNDqAh","size12":"tNDqAh","size-18":"EolQHk","size18":"EolQHk","size-24":"JYY2Ik","size24":"JYY2Ik"};
1731
1731
 
1732
1732
  const DEFAULT_SIZE = '12';
1733
1733
  function applyProgressBarMods(mods) {
@@ -1742,14 +1742,14 @@ const ProgressBar = /* @__PURE__ */withMods(uuiComponents.ProgressBar, applyProg
1742
1742
  hideLabel: props.hideLabel || props.striped,
1743
1743
  }));
1744
1744
 
1745
- var css$1g = {"root":"kyVEb9"};
1745
+ var css$1g = {"root":"_0mbooH"};
1746
1746
 
1747
1747
  const IndicatorBar = /* @__PURE__ */React.forwardRef((props, ref) => {
1748
1748
  const { progress } = props;
1749
1749
  return progress || progress === 0 ? (React.createElement(ProgressBar, { ref: ref, progress: progress, cx: cx(css$1g.root, props.cx), hideLabel: true })) : (React.createElement(IndeterminateBar, { ref: ref, cx: cx(css$1g.root, props.cx) }));
1750
1750
  });
1751
1751
 
1752
- var css$1f = {"root":"_1QTGJ9"};
1752
+ var css$1f = {"root":"-Ez8OP"};
1753
1753
 
1754
1754
  const StatusIndicator = /* @__PURE__ */forwardRef((props, ref) => {
1755
1755
  return (React__default.createElement("div", { ref: ref, className: cx([
@@ -1764,7 +1764,7 @@ const StatusIndicator = /* @__PURE__ */forwardRef((props, ref) => {
1764
1764
  React__default.createElement("p", { className: "uui-status_indicator-caption" }, props.caption)));
1765
1765
  });
1766
1766
 
1767
- var css$1e = {"root":"CvX6eY"};
1767
+ var css$1e = {"root":"ONuItu"};
1768
1768
 
1769
1769
  function applyCheckboxMods(mods) {
1770
1770
  return [
@@ -1782,7 +1782,7 @@ const applyUUICheckboxProps = (props) => {
1782
1782
  };
1783
1783
  const Checkbox = /* @__PURE__ */withMods(uuiComponents.Checkbox, applyCheckboxMods, applyUUICheckboxProps);
1784
1784
 
1785
- var css$1d = {"root":"Bw2K4o"};
1785
+ var css$1d = {"root":"JmMFgU"};
1786
1786
 
1787
1787
  function applyRadioInputMods(mods) {
1788
1788
  return [
@@ -1794,7 +1794,7 @@ function applyRadioInputMods(mods) {
1794
1794
  }
1795
1795
  const RadioInput = /* @__PURE__ */withMods(RadioInput$1, applyRadioInputMods, (props) => ({ icon: props.icon ? props.icon : settings.radioInput.icons.dotIcon }));
1796
1796
 
1797
- var css$1c = {"root":"_5-bml2"};
1797
+ var css$1c = {"root":"XQzutj"};
1798
1798
 
1799
1799
  function applySwitchMods(mods) {
1800
1800
  return [
@@ -1818,7 +1818,7 @@ var EditMode;
1818
1818
  EditMode["INLINE"] = "inline";
1819
1819
  })(EditMode || (EditMode = {}));
1820
1820
 
1821
- var textInputCss = {"root":"Ach0D5"};
1821
+ var textInputCss = {"root":"hMCzBl"};
1822
1822
 
1823
1823
  const DEFAULT_MODE$3 = EditMode.FORM;
1824
1824
  function applyTextInputMods(mods) {
@@ -1843,7 +1843,7 @@ const SearchInput = /* @__PURE__ */React__default.forwardRef((props, ref) => {
1843
1843
  } }));
1844
1844
  });
1845
1845
 
1846
- var css$1b = {"root":"qfc1b8"};
1846
+ var css$1b = {"root":"BPv3vl"};
1847
1847
 
1848
1848
  const ControlGroup = /* @__PURE__ */withMods(ControlGroup$1, () => [css$1b.root, 'uui-control-group']);
1849
1849
 
@@ -1859,7 +1859,7 @@ function MultiSwitchComponent(props, ref) {
1859
1859
  }
1860
1860
  const MultiSwitch = /* @__PURE__ */React.forwardRef(MultiSwitchComponent);
1861
1861
 
1862
- var css$1a = {"root":"Bh6hQu"};
1862
+ var css$1a = {"root":"MPAM05"};
1863
1863
 
1864
1864
  const DEFAULT_MODE$2 = EditMode.FORM;
1865
1865
  function applyNumericInputMods(mods) {
@@ -1879,7 +1879,7 @@ const NumericInput = /* @__PURE__ */withMods(NumericInput$1, applyNumericInputMo
1879
1879
  };
1880
1880
  });
1881
1881
 
1882
- var css$19 = {"root":"GRmenM"};
1882
+ var css$19 = {"root":"NvBVoj"};
1883
1883
 
1884
1884
  const DEFAULT_MODE$1 = EditMode.FORM;
1885
1885
  function applyTextAreaMods(mods) {
@@ -1920,7 +1920,7 @@ function TREE_SHAKEABLE_INIT$1() {
1920
1920
  };
1921
1921
  }
1922
1922
 
1923
- var css$18 = {"root":"_89PZB-"};
1923
+ var css$18 = {"root":"wZvAB2"};
1924
1924
 
1925
1925
  function applyDropdownContainerMods(mods) {
1926
1926
  return [
@@ -1931,7 +1931,7 @@ function applyDropdownContainerMods(mods) {
1931
1931
  }
1932
1932
  const DropdownContainer = /* @__PURE__ */withMods(uuiComponents.DropdownContainer, applyDropdownContainerMods);
1933
1933
 
1934
- var css$17 = {"root":"NkryVu","timepicker-input":"m7KbGC","timepickerInput":"m7KbGC","ltr-always":"Q6F-0V","ltrAlways":"Q6F-0V"};
1934
+ var css$17 = {"root":"uQskY7","timepicker-input":"pyHstO","timepickerInput":"pyHstO","ltr-always":"wGaM07","ltrAlways":"wGaM07"};
1935
1935
 
1936
1936
  const uuiTimePicker = {
1937
1937
  container: 'uui-timepicker-container',
@@ -1976,11 +1976,11 @@ function TimePickerBody(props) {
1976
1976
  React.createElement(IconContainer, { size: 18, rawProps: { 'aria-label': 'Increment hours' }, cx: uuiTimePicker.iconUp, icon: ForwardRef$P, onClick: () => onHoursChange(uuiDayjs.dayjs().set(props.value).add(1, 'h').hour()) }),
1977
1977
  React.createElement(NumericInput$1, { cx: uuiTimePicker.input, onValueChange: onHoursChange, value: +(uuiDayjs.dayjs()
1978
1978
  .set(props.value)
1979
- .format(MAX_HOURS === FORMAT_12H ? 'hh' : 'HH')), isReadonly: true, min: MIN_HOURS, max: MAX_HOURS }),
1979
+ .format(MAX_HOURS === FORMAT_12H ? 'hh' : 'HH')), formatValue: (v) => String(v).padStart(2, '0'), isReadonly: true, min: MIN_HOURS, max: MAX_HOURS }),
1980
1980
  React.createElement(IconContainer, { size: 18, rawProps: { 'aria-label': 'Decrement hours' }, cx: uuiTimePicker.iconDown, icon: ForwardRef$P, onClick: () => onHoursChange(uuiDayjs.dayjs().set(props.value).subtract(1, 'h').hour()) })),
1981
1981
  React.createElement("div", { className: uuiTimePicker.elementContainer },
1982
1982
  React.createElement(IconContainer, { size: 18, rawProps: { 'aria-label': 'Increment minutes' }, cx: uuiTimePicker.iconUp, icon: ForwardRef$P, onClick: handleMinutesUpClick }),
1983
- React.createElement(NumericInput$1, { cx: uuiTimePicker.input, onValueChange: onMinutesChange, value: +uuiDayjs.dayjs().set(props.value).format('m'), isReadonly: true, min: MIN_MINUTES, max: MAX_MINUTES }),
1983
+ React.createElement(NumericInput$1, { cx: uuiTimePicker.input, onValueChange: onMinutesChange, value: +uuiDayjs.dayjs().set(props.value).format('m'), formatValue: (v) => String(v).padStart(2, '0'), isReadonly: true, min: MIN_MINUTES, max: MAX_MINUTES }),
1984
1984
  React.createElement(IconContainer, { size: 18, rawProps: { 'aria-label': 'Decrement minutes' }, cx: uuiTimePicker.iconDown, icon: ForwardRef$P, onClick: handleMinutesDownClick }))),
1985
1985
  MAX_HOURS === FORMAT_12H && (React.createElement("div", { className: uuiTimePicker.elementContainer },
1986
1986
  React.createElement(IconContainer, { size: 18, cx: uuiTimePicker.iconUp, icon: ForwardRef$P, onClick: onTimeTypeChange }),
@@ -2104,11 +2104,15 @@ function TimePickerComponent(props, ref) {
2104
2104
  if (isTimeValid(result)) {
2105
2105
  setState((prevState) => ({ ...prevState, value: result }));
2106
2106
  }
2107
+ // save time immediately if the input value is valid
2108
+ if (isTimeValid(newValue)) {
2109
+ saveTime(newValue);
2110
+ }
2107
2111
  }
2108
2112
  };
2109
2113
  const handleBlur = (e) => {
2110
2114
  props.onBlur?.(e);
2111
- if (state.value === '' || state.inputValue === '') {
2115
+ if (state.value === '' || state.inputValue === '' || state.value === null) {
2112
2116
  props.onValueChange(null);
2113
2117
  setState((prevState) => ({ ...prevState, value: null, inputValue: null }));
2114
2118
  }
@@ -2128,6 +2132,8 @@ function TimePickerComponent(props, ref) {
2128
2132
  };
2129
2133
  const renderInput = (inputProps) => {
2130
2134
  return (React__default.createElement(TextInput, { ...inputProps, size: props.size, isDisabled: props.isDisabled, isReadonly: props.isReadonly, isInvalid: props.isInvalid, cx: [css$17.root, css$17.timepickerInput, props.inputCx], value: state.inputValue, onValueChange: handleInputChange, onCancel: !props.disableClear && onClear, onKeyDown: onKeyDown, onFocus: handleFocus, onBlur: handleBlur, isDropdown: false, placeholder: props.placeholder ? props.placeholder : getFormat(), mode: props.mode || DEFAULT_MODE, rawProps: props.rawProps?.input, ref: (node) => {
2135
+ if (!node)
2136
+ return;
2131
2137
  targetRef.current = node;
2132
2138
  if (typeof inputProps.ref === 'function') {
2133
2139
  inputProps.ref(node);
@@ -2146,7 +2152,7 @@ function TimePickerComponent(props, ref) {
2146
2152
  }
2147
2153
  const TimePicker = /* @__PURE__ */React__default.forwardRef(TimePickerComponent);
2148
2154
 
2149
- var css$16 = {"root":"Wc-ttN"};
2155
+ var css$16 = {"root":"mSYQeQ"};
2150
2156
 
2151
2157
  function applyInputAddonMods() {
2152
2158
  return [
@@ -2155,14 +2161,14 @@ function applyInputAddonMods() {
2155
2161
  }
2156
2162
  const InputAddon = /* @__PURE__ */withMods(InputAddon$1, applyInputAddonMods);
2157
2163
 
2158
- var css$15 = {"root":"_2th2mG"};
2164
+ var css$15 = {"root":"_0T9jml"};
2159
2165
 
2160
2166
  function applySliderMods() {
2161
2167
  return [css$15.root, 'uui-color-neutral'];
2162
2168
  }
2163
2169
  const Slider = /* @__PURE__ */withMods(Slider$1, applySliderMods);
2164
2170
 
2165
- var css$14 = {"root":"_2woU-o"};
2171
+ var css$14 = {"root":"OySA86"};
2166
2172
 
2167
2173
  function applyTooltipMods(mods) {
2168
2174
  return [
@@ -2172,7 +2178,7 @@ function applyTooltipMods(mods) {
2172
2178
  }
2173
2179
  const Tooltip = /* @__PURE__ */withMods(uuiComponents.Tooltip, applyTooltipMods);
2174
2180
 
2175
- var css$13 = {"root":"PdX32A","tooltip":"YFejA1"};
2181
+ var css$13 = {"root":"OqYx-a","tooltip":"-VZob5"};
2176
2182
 
2177
2183
  function applyRatingMods(mods) {
2178
2184
  return [
@@ -2186,10 +2192,13 @@ const Rating = /* @__PURE__ */withMods(uuiComponents.Rating, applyRatingMods, (p
2186
2192
  Tooltip,
2187
2193
  }));
2188
2194
 
2189
- var css$12 = {"drag-handle-wrapper":"PyemR7","dragHandleWrapper":"PyemR7","with-indent":"LxfPDK","withIndent":"LxfPDK","drag-handle":"nJn50K","dragHandle":"nJn50K","icon-container":"QsPd8n","iconContainer":"QsPd8n"};
2195
+ var css$12 = {"drag-handle-wrapper":"RZxDvE","dragHandleWrapper":"RZxDvE","with-indent":"_6omlAl","withIndent":"_6omlAl","drag-handle":"qN7vvv","dragHandle":"qN7vvv","icon-container":"Y7UjiS","iconContainer":"Y7UjiS"};
2190
2196
 
2191
2197
  function DataRowAddons(props) {
2192
2198
  const row = props.rowProps;
2199
+ const checkboxSize = settings.dataTable.sizes.body.checkboxMap[props.size];
2200
+ const isCheckboxVisible = row?.checkbox?.isVisible;
2201
+ const reserveCheckboxSpace = row?.checkbox?.reserveSpace;
2193
2202
  const getIndent = () => {
2194
2203
  return (row.indent - 1) * settings.dataTable.sizes.body.indentUnitMap[props.size || settings.dataTable.sizes.body.row];
2195
2204
  };
@@ -2210,7 +2219,8 @@ function DataRowAddons(props) {
2210
2219
  };
2211
2220
  return (React__default.createElement(React__default.Fragment, null,
2212
2221
  row.dnd?.srcData && renderDragHandle(),
2213
- row?.checkbox?.isVisible && (React__default.createElement(Checkbox, { key: "cb", cx: "uui-dr_addons-checkbox", tabIndex: props.tabIndex, size: settings.dataTable.sizes.body.checkboxMap[props.size], value: row.isChecked, indeterminate: !row.isChecked && row.isChildrenChecked, onValueChange: () => row.onCheck?.(row), isDisabled: row.checkbox.isDisabled, isInvalid: row.checkbox.isInvalid })),
2222
+ isCheckboxVisible && (React__default.createElement(Checkbox, { key: "cb", cx: "uui-dr_addons-checkbox", tabIndex: props.tabIndex, size: checkboxSize, value: row.isChecked, indeterminate: !row.isChecked && row.isChildrenChecked, onValueChange: () => row.onCheck?.(row), isDisabled: row.checkbox.isDisabled, isInvalid: row.checkbox.isInvalid, rawProps: { 'aria-label': 'Select' } })),
2223
+ !isCheckboxVisible && reserveCheckboxSpace && (React__default.createElement("div", { key: "cb-spacer", className: cx('uui-checkbox-container', 'uui-dr_addons-checkbox-spacer', `uui-size-${checkboxSize}`), "aria-hidden": "true" })),
2214
2224
  row.indent > 0 && (React__default.createElement("div", { key: "fold", className: cx('uui-dr_addons-indent', `uui-size-${props.size || settings.dataTable.sizes.body.row}`), style: { marginInlineStart: getIndent(), width: getWidth() } }, row.isFoldable && (React__default.createElement(ControlIcon, { rawProps: {
2215
2225
  'aria-label': row.isFolded ? 'Unfold' : 'Fold',
2216
2226
  role: 'button',
@@ -2248,6 +2258,7 @@ function VerticalTabButtonComponent(props, ref) {
2248
2258
  const ClearIcon = props.clearIcon ? props.clearIcon : settings.verticalTabButton.icons.clearIcon;
2249
2259
  return (React__default.createElement(Clickable, { ...props, onClick: props.onClick || props.onFold, rawProps: {
2250
2260
  role: 'tab',
2261
+ 'aria-selected': isActive,
2251
2262
  ...props.rawProps,
2252
2263
  }, cx: styles, ref: ref },
2253
2264
  props.indent > 0 && (React__default.createElement("div", { key: "fold", className: cx$1(css$1n.foldingArea, props.onFold && uuiMarkers.clickable), style: { '--uui-folding-indent': `${props.indent - 1}` }, onClick: props.onFold }, props.isFoldable && (React__default.createElement(IconContainer, { rawProps: {
@@ -2268,7 +2279,7 @@ function VerticalTabButtonComponent(props, ref) {
2268
2279
  }
2269
2280
  const VerticalTabButton = /* @__PURE__ */React__default.forwardRef(VerticalTabButtonComponent);
2270
2281
 
2271
- var css$11 = {"root":"vDGcoJ","main-path":"u5IAID","mainPath":"u5IAID","content-wrapper":"ZrnhH5","contentWrapper":"ZrnhH5","content":"TsKAY8","action-wrapper":"_3T4NBj","actionWrapper":"_3T4NBj","icon-wrapper":"OqmFMf","iconWrapper":"OqmFMf","icon":"maEFhr","close-icon":"pBvrmI","closeIcon":"pBvrmI"};
2282
+ var css$11 = {"root":"suPfV7","main-path":"GqksXy","mainPath":"GqksXy","content-wrapper":"-N7JSJ","contentWrapper":"-N7JSJ","content":"sn-tUw","action-wrapper":"pAzBw1","actionWrapper":"pAzBw1","icon-wrapper":"JdDOMV","iconWrapper":"JdDOMV","icon":"Bp4zdQ","close-icon":"sSZgE3","closeIcon":"sSZgE3"};
2272
2283
 
2273
2284
  const Alert = /* @__PURE__ */React.forwardRef((props, ref) => (React.createElement("div", { role: "alert", ref: ref, className: cx('uui-alert', css$11.root, props.color && `uui-color-${props.color}`, props.cx, `uui-size-${props.size || settings.alert.sizes.default}`), ...props.rawProps },
2274
2285
  React.createElement("div", { className: css$11.mainPath },
@@ -2286,7 +2297,7 @@ const ErrorAlert = /* @__PURE__ */React.forwardRef((props, ref) => React.createE
2286
2297
 
2287
2298
  const Dropdown = /* @__PURE__ */withMods(Dropdown$1);
2288
2299
 
2289
- var css$10 = {"submenu-root-item-rtl":"GdZ1Yl","submenuRootItemRtl":"GdZ1Yl","icon-after":"z-UhE0","iconAfter":"z-UhE0","submenu-root-item":"_4moyb-","submenuRootItem":"_4moyb-","icon-check":"xcPEVJ","iconCheck":"xcPEVJ","splitter-root":"bYmh0w","splitterRoot":"bYmh0w","splitter":"cTqUUx","header-root":"vBx3qt","headerRoot":"vBx3qt","item-root":"xEPcY7","itemRoot":"xEPcY7","icon":"UD6uJy","link":"zoDMK2","indent":"_9jYkfR","selected-mark":"iF9nNV","selectedMark":"iF9nNV"};
2300
+ var css$10 = {"submenu-root-item-rtl":"_8sezyH","submenuRootItemRtl":"_8sezyH","icon-after":"_2tkap9","iconAfter":"_2tkap9","submenu-root-item":"_7b-9d4","submenuRootItem":"_7b-9d4","icon-check":"K4cfYl","iconCheck":"K4cfYl","splitter-root":"gUr7g6","splitterRoot":"gUr7g6","splitter":"A6ftY9","header-root":"_85nMHp","headerRoot":"_85nMHp","item-root":"m-YPSQ","itemRoot":"m-YPSQ","icon":"_0nKtmu","link":"nvd2aA","indent":"yJQ5rE","selected-mark":"T6eITy","selectedMark":"T6eITy"};
2290
2301
 
2291
2302
  var IDropdownControlKeys;
2292
2303
  (function (IDropdownControlKeys) {
@@ -2303,7 +2314,7 @@ function DropdownMenuContainer(props) {
2303
2314
  const getMenuItems = () => {
2304
2315
  if (!menuRef.current)
2305
2316
  return [];
2306
- return Array.from(menuRef.current.querySelectorAll(`[role="menuitem"]:not(.${uuiMod.disabled})`));
2317
+ return Array.from(menuRef.current.querySelectorAll(`[role^="menuitem"]:not(.${uuiMod.disabled})`));
2307
2318
  };
2308
2319
  const changeFocus = (nextFocusedIndex) => {
2309
2320
  const menuItems = getMenuItems();
@@ -2370,7 +2381,7 @@ const DropdownMenuButton = /* @__PURE__ */React__default.forwardRef((props, ref)
2370
2381
  };
2371
2382
  const isAnchor = Boolean(link || href);
2372
2383
  const itemClassNames = cx$1(props.cx, css$10.itemRoot, isDisabled && uuiMod.disabled, isActive && uuiMod.active, isOpen && uuiMod.opened, (!isDisabled && onClick) && uuiMarkers.clickable);
2373
- return isAnchor ? (React__default.createElement(Anchor$1, { cx: cx$1(css$10.link, itemClassNames), link: link, href: href, rawProps: { role: 'menuitem', tabIndex: isDisabled ? -1 : 0 }, onClick: handleClick, isDisabled: isDisabled, target: target }, getMenuButtonContent())) : (React__default.createElement("div", { tabIndex: isDisabled ? -1 : 0, role: "menuitem", onKeyDown: isDisabled ? null : handleOpenDropdown, className: itemClassNames, onClick: handleClick, ref: ref },
2384
+ return isAnchor ? (React__default.createElement(Anchor$1, { cx: cx$1(css$10.link, itemClassNames), link: link, href: href, rawProps: { role: 'menuitem', tabIndex: isDisabled ? -1 : 0, ...props.rawProps }, onClick: handleClick, isDisabled: isDisabled, target: target }, getMenuButtonContent())) : (React__default.createElement("div", { tabIndex: isDisabled ? -1 : 0, role: "menuitem", onKeyDown: isDisabled ? null : handleOpenDropdown, className: itemClassNames, onClick: handleClick, ref: ref, ...props.rawProps },
2374
2385
  getMenuButtonContent(),
2375
2386
  isSelected && (React__default.createElement(React__default.Fragment, null,
2376
2387
  React__default.createElement(FlexSpacer, null),
@@ -2401,6 +2412,7 @@ function DropdownSubMenu(props) {
2401
2412
  }
2402
2413
  function DropdownMenuSwitchButton(props) {
2403
2414
  const context = useContext(UuiContext);
2415
+ const switchRef = useRef(null);
2404
2416
  const { icon, caption, isDisabled, isSelected, onValueChange, } = props;
2405
2417
  const onHandleValueChange = (value) => {
2406
2418
  if (isDisabled || !onValueChange)
@@ -2413,14 +2425,20 @@ function DropdownMenuSwitchButton(props) {
2413
2425
  onHandleValueChange(!isSelected);
2414
2426
  }
2415
2427
  };
2416
- return (React__default.createElement("div", { className: cx$1(props.cx, css$10.itemRoot, isDisabled && uuiMod.disabled, (!isDisabled || onValueChange) && uuiMarkers.clickable), onClick: () => onHandleValueChange(!isSelected), role: "menuitem", onKeyDown: handleKeySelect, tabIndex: isDisabled ? -1 : 0 },
2428
+ const handleClick = (event) => {
2429
+ const isSwitchClicked = switchRef.current?.contains(event.target);
2430
+ if (isSwitchClicked)
2431
+ return;
2432
+ onHandleValueChange(!isSelected);
2433
+ };
2434
+ return (React__default.createElement("div", { className: cx$1(props.cx, css$10.itemRoot, isDisabled && uuiMod.disabled, (!isDisabled || onValueChange) && uuiMarkers.clickable), onClick: handleClick, role: "menuitem", onKeyDown: handleKeySelect, tabIndex: isDisabled ? -1 : 0 },
2417
2435
  icon && React__default.createElement(IconContainer, { icon: icon, cx: css$10.iconBefore }),
2418
2436
  React__default.createElement(Text$1, null, caption),
2419
2437
  React__default.createElement(FlexSpacer, null),
2420
- React__default.createElement(Switch, { value: isSelected, tabIndex: -1, onValueChange: onHandleValueChange })));
2438
+ React__default.createElement(Switch, { value: isSelected, tabIndex: -1, onValueChange: onHandleValueChange, ref: switchRef })));
2421
2439
  }
2422
2440
 
2423
- var css$$ = {"root":"cEesEV","mode-block":"VLbDlI","modeBlock":"VLbDlI","mode-inline":"hYgMBY","modeInline":"hYgMBY","padding-0":"DQl1jM","padding0":"DQl1jM","padding-6":"DiKBDb","padding6":"DiKBDb","padding-12":"esdG0F","padding12":"esdG0F","padding-18":"Ic1Rmq","padding18":"Ic1Rmq"};
2441
+ var css$$ = {"root":"PcyFZ3","mode-block":"-hovKu","modeBlock":"-hovKu","mode-inline":"_7uG285","modeInline":"_7uG285","padding-0":"MsI11x","padding0":"MsI11x","padding-6":"xfO-1U","padding6":"xfO-1U","padding-12":"jQJc2I","padding12":"jQJc2I","padding-18":"dEVGd2","padding18":"dEVGd2"};
2424
2442
 
2425
2443
  function applyAccordionMods(mods) {
2426
2444
  return [
@@ -2433,7 +2451,7 @@ const Accordion = /* @__PURE__ */withMods(uuiComponents.Accordion, applyAccordio
2433
2451
  dropdownIcon: mods.dropdownIcon !== null && settings.accordion.icons.dropdownIcon,
2434
2452
  }));
2435
2453
 
2436
- var css$_ = {"root":"ODQHa4","align-items":"surmIX","alignItems":"surmIX","justify-content":"DQ-ne5","justifyContent":"DQ-ne5","border-top":"ZtUM1z","borderTop":"ZtUM1z","border-bottom":"_9pcqCN","borderBottom":"_9pcqCN","top-shadow":"nBkTqc","topShadow":"nBkTqc","padding":"fs4htr","margin":"bZWSj8","vPadding":"tX8H6b","column-gap":"H4uI4w","columnGap":"H4uI4w","row-gap":"rEP9ii","rowGap":"rEP9ii","spacing":"AazSkr"};
2454
+ var css$_ = {"root":"ikdE6t","align-items":"NQh8KE","alignItems":"NQh8KE","justify-content":"_8UUkKu","justifyContent":"_8UUkKu","border-top":"E1eUd7","borderTop":"E1eUd7","border-bottom":"FpoPsZ","borderBottom":"FpoPsZ","top-shadow":"i8Vw0o","topShadow":"i8Vw0o","padding":"cbGu2X","margin":"OqFcqI","vPadding":"lcmsET","column-gap":"_4jB8Qh","columnGap":"_4jB8Qh","row-gap":"CNZhiF","rowGap":"CNZhiF","spacing":"TrD3JA"};
2437
2455
 
2438
2456
  const FlexCell = /* @__PURE__ */withMods(FlexCell$1, () => [css$_.flexCell]);
2439
2457
 
@@ -2485,7 +2503,7 @@ const FlexRow = /* @__PURE__ */forwardRef((props, ref) => {
2485
2503
  } }, props.children));
2486
2504
  });
2487
2505
 
2488
- var css$Z = {"root":"DZ-DpS","margin-24":"V2DlJV","margin24":"V2DlJV","padding-12":"_9QuAOU","padding12":"_9QuAOU","padding-24":"_8YrjFF","padding24":"_8YrjFF","shadow":"-o08Ej","uui-surface-main":"Twz9Mp","uuiSurfaceMain":"Twz9Mp"};
2506
+ var css$Z = {"root":"mdSWEE","margin-24":"_2nytQ-","margin24":"_2nytQ-","padding-12":"GMGJf2","padding12":"GMGJf2","padding-24":"u-TmU9","padding24":"u-TmU9","shadow":"GJha7t","uui-surface-main":"BHP0Yp","uuiSurfaceMain":"BHP0Yp"};
2489
2507
 
2490
2508
  const Panel = /* @__PURE__ */withMods(VPanel, (props) => [
2491
2509
  'uui-panel',
@@ -2495,7 +2513,7 @@ const Panel = /* @__PURE__ */withMods(VPanel, (props) => [
2495
2513
  props.background && css$Z[`uui-${props.background}`],
2496
2514
  ]);
2497
2515
 
2498
- var css$Y = {"root":"u1v2GM"};
2516
+ var css$Y = {"root":"a0b0i-"};
2499
2517
 
2500
2518
  function applyLabeledInputMods(mods) {
2501
2519
  return [
@@ -2517,7 +2535,7 @@ function applyLabeledInputProps(props) {
2517
2535
  }
2518
2536
  const LabeledInput = /* @__PURE__ */withMods(uuiComponents.LabeledInput, applyLabeledInputMods, applyLabeledInputProps);
2519
2537
 
2520
- var css$X = {"root":"_3WD8id"};
2538
+ var css$X = {"root":"cKPomo"};
2521
2539
 
2522
2540
  function RadioGroup(props) {
2523
2541
  const direction = props.direction || 'vertical';
@@ -2532,7 +2550,7 @@ function RadioGroup(props) {
2532
2550
  })));
2533
2551
  }
2534
2552
 
2535
- var css$W = {"root":"yZjICs","viewport":"flAqGS"};
2553
+ var css$W = {"root":"Yc1hqI","viewport":"AR-rKK"};
2536
2554
 
2537
2555
  var uuiScrollbars;
2538
2556
  (function (uuiScrollbars) {
@@ -2542,16 +2560,25 @@ var uuiScrollbars;
2542
2560
  uuiScrollbars["uuiLineBottom"] = "uui-line-bottom";
2543
2561
  })(uuiScrollbars || (uuiScrollbars = {}));
2544
2562
  const ScrollBars = /* @__PURE__ */forwardRef((props, ref) => {
2545
- const { cx: outerCx, children, overflowTopEffect = 'none', overflowBottomEffect = 'none', onScroll, autoHide = 'never', autoHideDelay, rawProps, ...rest } = props;
2563
+ const { cx: outerCx, children, overflowTopEffect = 'none', overflowBottomEffect = 'none', onScroll, autoHide = 'never', autoHideDelay, elementEvents, rawProps, ...rest } = props;
2546
2564
  const [shadowElements, setShadowElements] = useState({
2547
2565
  host: null,
2548
2566
  viewport: null,
2549
2567
  });
2550
2568
  const hostRef = useRef(null);
2551
2569
  const viewportRef = useRef(null);
2552
- const containerRef = useRef(null);
2570
+ const elementEventsEffective = useMemo(() => {
2571
+ const result = [['img', 'load']]; // this is default
2572
+ if (elementEvents && elementEvents.length > 0) {
2573
+ result.push(...elementEvents);
2574
+ }
2575
+ return result;
2576
+ }, [elementEvents]);
2553
2577
  const [initialize, osInstance] = useOverlayScrollbars({
2554
2578
  options: {
2579
+ update: {
2580
+ elementEvents: elementEventsEffective,
2581
+ },
2555
2582
  scrollbars: {
2556
2583
  theme: 'uui-scroll-bars',
2557
2584
  autoHide: autoHide,
@@ -2593,7 +2620,7 @@ const ScrollBars = /* @__PURE__ */forwardRef((props, ref) => {
2593
2620
  useScrollShadows(shadowElements.host, shadowElements.viewport);
2594
2621
  useImperativeHandle(ref, () => {
2595
2622
  return {
2596
- container: containerRef.current,
2623
+ container: hostRef.current,
2597
2624
  view: viewportRef.current,
2598
2625
  };
2599
2626
  }, []);
@@ -2602,7 +2629,7 @@ const ScrollBars = /* @__PURE__ */forwardRef((props, ref) => {
2602
2629
  });
2603
2630
  ScrollBars.displayName = 'ScrollBars';
2604
2631
 
2605
- var css$V = {"scroll-container":"sMbo8E","scrollContainer":"sMbo8E","list-container":"m3vbi0","listContainer":"m3vbi0"};
2632
+ var css$V = {"scroll-container":"gugpxO","scrollContainer":"gugpxO","list-container":"DtcsB0","listContainer":"DtcsB0"};
2606
2633
 
2607
2634
  const VirtualList = /* @__PURE__ */React__default.forwardRef((props, ref) => {
2608
2635
  const { listContainerRef, offsetY, handleScroll, estimatedHeight, scrollContainerRef, } = useVirtualList({
@@ -2611,8 +2638,11 @@ const VirtualList = /* @__PURE__ */React__default.forwardRef((props, ref) => {
2611
2638
  onScroll: props.onScroll,
2612
2639
  rowsCount: props.rowsCount,
2613
2640
  rowsSelector: props.rowsSelector,
2641
+ rowHeight: props.rowHeight,
2642
+ rowGap: props.rowGap,
2614
2643
  });
2615
2644
  React__default.useImperativeHandle(ref, () => scrollContainerRef.current, [scrollContainerRef.current]);
2645
+ const [blockerInset, setBlockerInset] = React__default.useState(null);
2616
2646
  const renderRows = () => props.renderRows?.({
2617
2647
  listContainerRef, estimatedHeight, offsetY,
2618
2648
  }) || (React__default.createElement("div", { className: css$V.listContainer, style: { minHeight: `${estimatedHeight}px` } },
@@ -2622,9 +2652,28 @@ const VirtualList = /* @__PURE__ */React__default.forwardRef((props, ref) => {
2622
2652
  return;
2623
2653
  scrollContainerRef.current = scrollbars.view;
2624
2654
  }, []);
2625
- return (React__default.createElement(ScrollBars, { cx: cx$1(css$V.scrollContainer, props.cx), onScroll: handleScroll, ref: scrollBarsRef, rawProps: props.rawProps, overflowTopEffect: props.overflowTopEffect, overflowBottomEffect: props.overflowBottomEffect },
2655
+ const rawProps = React__default.useMemo(() => ({
2656
+ ...(props.rawProps ?? {}),
2657
+ style: {
2658
+ ...(props.rawProps?.style ?? {}),
2659
+ overflow: props.isLoading ? 'hidden' : props.rawProps?.style?.overflow,
2660
+ },
2661
+ }), [props.rawProps, props.isLoading]);
2662
+ const updateBlockerInset = React__default.useCallback(() => {
2663
+ const scrollContainer = scrollContainerRef.current;
2664
+ if (!scrollContainer)
2665
+ return;
2666
+ const { scrollTop, scrollLeft } = scrollContainer;
2667
+ setBlockerInset({ top: scrollTop, left: scrollLeft, right: -scrollLeft, bottom: -scrollTop });
2668
+ }, [setBlockerInset]);
2669
+ React__default.useEffect(() => {
2670
+ if (props.isLoading) {
2671
+ updateBlockerInset();
2672
+ }
2673
+ }, [props.isLoading, updateBlockerInset]);
2674
+ return (React__default.createElement(ScrollBars, { cx: cx$1(css$V.scrollContainer, props.cx), onScroll: handleScroll, ref: scrollBarsRef, rawProps: rawProps, overflowTopEffect: props.overflowTopEffect, overflowBottomEffect: props.overflowBottomEffect, autoHide: props.isLoading ? 'scroll' : undefined },
2626
2675
  renderRows(),
2627
- React__default.createElement(Blocker, { isEnabled: props.isLoading })));
2676
+ React__default.createElement(Blocker, { isEnabled: props.isLoading, inset: blockerInset })));
2628
2677
  });
2629
2678
 
2630
2679
  const RichTextView = /* @__PURE__ */withMods(uuiComponents.RichTextView, (mods) => ['uui-typography', `uui-typography-size-${mods.size || settings.richTextView.sizes.default}`]);
@@ -2655,7 +2704,7 @@ function Tree(props) {
2655
2704
  return (React.createElement(VirtualList, { value: value, onValueChange: onValueChange, rowsCount: rowsCount, rows: renderedRows, cx: cx$1(propsCx), role: "tree" }));
2656
2705
  }
2657
2706
 
2658
- var css$U = {"root":"hHTDG7"};
2707
+ var css$U = {"root":"lMXYuJ"};
2659
2708
 
2660
2709
  function CheckboxGroup(props) {
2661
2710
  const currentValue = props.value || [];
@@ -2757,7 +2806,7 @@ const Tabs = /* @__PURE__ */forwardRef((props, ref) => {
2757
2806
  });
2758
2807
  Tabs.displayName = 'Tabs';
2759
2808
 
2760
- var css$T = {"root":"ThyT4m","modal-blocker":"V6snqm","modalBlocker":"V6snqm","animateModalBlocker":"op2kJ9","modal":"_98HlxR","modal-footer":"o03RoT","modalFooter":"o03RoT","border-top":"ZKegJj","borderTop":"ZKegJj","modal-header":"okK-NK","modalHeader":"okK-NK","border-bottom":"bZ-p4H","borderBottom":"bZ-p4H"};
2809
+ var css$T = {"root":"_4yUjfz","modal-blocker":"TX5p8-","modalBlocker":"TX5p8-","animateModalBlocker":"qsInCo","modal":"_2Ks58T","modal-footer":"qmTu-7","modalFooter":"qmTu-7","border-top":"_6W15ve","borderTop":"_6W15ve","modal-header":"kBqnuN","modalHeader":"kBqnuN","border-bottom":"mGXFEu","borderBottom":"mGXFEu"};
2761
2810
 
2762
2811
  const ModalBlocker = /* @__PURE__ */withMods(ModalBlocker$1, () => [css$T.modalBlocker]);
2763
2812
  const ModalWindow = /* @__PURE__ */withMods(ModalWindow$1, () => [css$T.root, css$T.modal], (props) => {
@@ -2864,6 +2913,7 @@ const TREE_SHAKEABLE_INIT = () => ({
2864
2913
  columnHeader: {
2865
2914
  collapseAllTooltip: 'Collapse All',
2866
2915
  expandAllTooltip: 'Expand All',
2916
+ filterActiveLabel: 'filter active',
2867
2917
  },
2868
2918
  },
2869
2919
  pickerFilterHeader: {
@@ -2949,7 +2999,7 @@ const TREE_SHAKEABLE_INIT = () => ({
2949
2999
  });
2950
3000
  const i18n = /* @__PURE__ */TREE_SHAKEABLE_INIT();
2951
3001
 
2952
- var css$S = {"root":"JOmpvW","icon-wrapper":"Rk3Kg6","iconWrapper":"Rk3Kg6","action-wrapper":"AT1sud","actionWrapper":"AT1sud","close-icon":"NIkRYj","closeIcon":"NIkRYj","main-path":"ZVWwAW","mainPath":"ZVWwAW","content":"CTMRj-","close-wrapper":"AW90dt","closeWrapper":"AW90dt","clear-notifications":"bZiaDZ","clearNotifications":"bZiaDZ"};
3002
+ var css$S = {"root":"VCuR5k","icon-wrapper":"prqZvp","iconWrapper":"prqZvp","action-wrapper":"X-IzMp","actionWrapper":"X-IzMp","close-icon":"_3EZ22P","closeIcon":"_3EZ22P","main-path":"QDcskl","mainPath":"QDcskl","content":"J9j7nF","close-wrapper":"Cq64U-","closeWrapper":"Cq64U-","clear-notifications":"M5PhB8","clearNotifications":"M5PhB8"};
2953
3003
 
2954
3004
  const NotificationCard = /* @__PURE__ */React__default.forwardRef((props, ref) => {
2955
3005
  const notificationCardNode = React__default.useRef(null);
@@ -2982,7 +3032,7 @@ function ClearNotification() {
2982
3032
  React__default.createElement(LinkButton, { caption: i18n.notificationCard.closeAllNotificationsButton, onClick: () => uuiCtx.uuiNotifications.clearAll() })));
2983
3033
  }
2984
3034
 
2985
- var css$R = {"footer":"D--Nqm"};
3035
+ var css$R = {"footer":"J56wd0"};
2986
3036
 
2987
3037
  class ConfirmationModal extends React.Component {
2988
3038
  render() {
@@ -3024,7 +3074,7 @@ function useReliableForceUpdate() {
3024
3074
  return red[1];
3025
3075
  }
3026
3076
 
3027
- var css$Q = {"root":"JxMpHI","container":"La8OdX"};
3077
+ var css$Q = {"root":"CGEeiF","container":"vi-Ish"};
3028
3078
 
3029
3079
  const defaultFormat = 'MMM D, YYYY';
3030
3080
  const valueFormat = 'YYYY-MM-DD';
@@ -3251,14 +3301,14 @@ function DatePickerHeader({ navIconLeft, navIconRight, value: { month, view }, o
3251
3301
  React.createElement(Button, { icon: navIconRight || settings.datePicker.icons.body.nextIcon, color: "secondary", fill: "ghost", cx: uuiHeader.navIconRight, onClick: !isDisabled && (() => onRightNavigationArrow()), isDisabled: disableNext }))));
3252
3302
  }
3253
3303
 
3254
- var css$P = {"root":"hiodii"};
3304
+ var css$P = {"root":"EXKo7e"};
3255
3305
 
3256
3306
  function applyDateSelectionMods() {
3257
3307
  return [css$P.root, `uui-size-${settings.datePicker.sizes.body}`];
3258
3308
  }
3259
3309
  const Calendar = /* @__PURE__ */withMods(Calendar$1, applyDateSelectionMods);
3260
3310
 
3261
- var css$O = {"root":"FkKbOC"};
3311
+ var css$O = {"root":"fM4MRI"};
3262
3312
 
3263
3313
  const uuiDatePickerBody = {
3264
3314
  wrapper: 'uui-datepicker-body-wrapper',
@@ -3324,7 +3374,8 @@ function DatePickerComponent(props, ref) {
3324
3374
  setInputValue(toCustomDateFormat(value, format));
3325
3375
  }, [value, setInputValue]);
3326
3376
  const onValueChange = (newValue) => {
3327
- if (value !== newValue) {
3377
+ const isValueChanged = (value || '') !== (newValue || '');
3378
+ if (isValueChanged) {
3328
3379
  props.onValueChange(newValue);
3329
3380
  if (props.getValueChangeAnalyticsEvent) {
3330
3381
  const event = props.getValueChangeAnalyticsEvent(newValue, value);
@@ -3339,6 +3390,10 @@ function DatePickerComponent(props, ref) {
3339
3390
  };
3340
3391
  const onBlur = (e) => {
3341
3392
  props.onBlur?.(e);
3393
+ const formattedValue = toCustomDateFormat(value, format);
3394
+ if (inputValue === formattedValue) {
3395
+ return; // No changes made to the field, skip validation
3396
+ }
3342
3397
  if (isValidDate(inputValue, format, props.filter)) {
3343
3398
  setInputValue(toCustomDateFormat(inputValue, format));
3344
3399
  onValueChange(toValueDateFormat(inputValue, format));
@@ -3367,7 +3422,7 @@ function DatePickerComponent(props, ref) {
3367
3422
  props.onFocus?.(e);
3368
3423
  }, onKeyDown: onInputKeyDown, onBlur: onBlur, mode: props.mode || defaultMode$1, rawProps: props.rawProps?.input, id: props.id }));
3369
3424
  };
3370
- const renderBody = useMemo(() => (renderProps) => {
3425
+ const renderBody = useMemo(() => function (renderProps) {
3371
3426
  return (React__default.createElement(DropdownContainer, { ...renderProps },
3372
3427
  React__default.createElement(DatePickerBody, { value: value, onValueChange: onBodyValueChange, cx: cx$1(props.bodyCx), filter: props.filter, isHoliday: props.isHoliday, renderDay: props.renderDay, rawProps: props.rawProps?.body, initialViewMonth: props.initialViewMonth }),
3373
3428
  props.renderFooter?.()));
@@ -3380,7 +3435,7 @@ function DatePickerComponent(props, ref) {
3380
3435
  }
3381
3436
  const DatePicker = /* @__PURE__ */React__default.forwardRef(DatePickerComponent);
3382
3437
 
3383
- var css$N = {"date-input":"Jqv8iS","dateInput":"Jqv8iS","root":"Li5E8E","separator":"AbfuiE"};
3438
+ var css$N = {"date-input":"f61-sG","dateInput":"f61-sG","root":"g7GnjG","separator":"awlDd6"};
3384
3439
 
3385
3440
  const RangeDatePickerInput = /* @__PURE__ */forwardRef(({ isDisabled, isInvalid, isReadonly, size, disableClear, rawProps, value, inFocus, format, onValueChange, onFocusInput, onBlurInput, onClick, getPlaceholder, filter, onKeyDown, preventEmptyFromDate, preventEmptyToDate, id, cx: classes, }, ref) => {
3386
3441
  const [inputValue, setInputValue] = useState(toCustomDateRangeFormat(value, format));
@@ -3403,6 +3458,10 @@ const RangeDatePickerInput = /* @__PURE__ */forwardRef(({ isDisabled, isInvalid,
3403
3458
  };
3404
3459
  const handleBlur = (event, inputType) => {
3405
3460
  onBlurInput?.(event, inputType);
3461
+ const formattedValue = toCustomDateRangeFormat(value, format);
3462
+ if (inputValue[inputType] === formattedValue[inputType]) {
3463
+ return; // No changes made to this field, skip validation
3464
+ }
3406
3465
  const canBeEmpty = {
3407
3466
  from: !preventEmptyFromDate,
3408
3467
  to: !preventEmptyToDate,
@@ -3453,7 +3512,7 @@ const RangeDatePickerInput = /* @__PURE__ */forwardRef(({ isDisabled, isInvalid,
3453
3512
  React__default.createElement(TextInput, { cx: cx$1(css$N.dateInput, inFocus === 'to' && uuiMod.focus), placeholder: getPlaceholder ? getPlaceholder('to') : i18n.rangeDatePicker.pickerPlaceholderTo, size: size || settings.rangeDatePicker.sizes.default, value: inputValue.to || undefined, icon: clearAllowed && ForwardRef$Q, iconPosition: "right", iconLabel: "Clear selected date range", onIconClick: onClear, onValueChange: (v) => onInputChange(v || '', 'to'), onFocus: (e) => handleFocus(e, 'to'), onBlur: (e) => handleBlur(e, 'to'), isInvalid: isInvalid, isDisabled: isDisabled, isReadonly: isReadonly, isDropdown: false, rawProps: rawProps?.to, onClick: onClick, onKeyDown: onInputKeyDown })));
3454
3513
  });
3455
3514
 
3456
- var css$M = {"root":"J3GYr2"};
3515
+ var css$M = {"root":"FE5uLX"};
3457
3516
 
3458
3517
  const uuiPresets = {
3459
3518
  container: 'uui-presets-container',
@@ -3473,7 +3532,7 @@ function CalendarPresets(props) {
3473
3532
  getPresets(props.presets).map((item) => (React.createElement(LinkButton, { key: item.key, caption: item.name, onClick: () => props.onPresetSet(item), size: settings.rangeDatePicker.sizes.preset })))));
3474
3533
  }
3475
3534
 
3476
- var css$L = {"root":"Q1L-Gc","container":"-pb3gQ","day-selection":"i7elKX","daySelection":"i7elKX","from-picker":"tzjsB8","fromPicker":"tzjsB8","to-picker":"K0f3uP","toPicker":"K0f3uP","bodes-wrapper":"a8Nkk5","bodesWrapper":"a8Nkk5","blocker":"VuM7dV"};
3535
+ var css$L = {"root":"g-Uh-a","container":"chyhsa","day-selection":"o1UhI-","daySelection":"o1UhI-","from-picker":"_9tzbXn","fromPicker":"_9tzbXn","to-picker":"wJloKY","toPicker":"wJloKY","bodes-wrapper":"R7HbPd","bodesWrapper":"R7HbPd","blocker":"VyzdAJ"};
3477
3536
 
3478
3537
  const uuiRangeDatePickerBody = {
3479
3538
  inRange: 'uui-range-datepicker-in-range',
@@ -3675,7 +3734,7 @@ const getDayState = (day, selectedDate) => {
3675
3734
  };
3676
3735
  };
3677
3736
 
3678
- var css$K = {"dropdown-container":"jqgyaD","dropdownContainer":"jqgyaD"};
3737
+ var css$K = {"dropdown-container":"uKTNuw","dropdownContainer":"uKTNuw"};
3679
3738
 
3680
3739
  function RangeDatePickerComponent(props, ref) {
3681
3740
  const { value: _value, format = defaultFormat, size = settings.rangeDatePicker.sizes.default } = props;
@@ -3743,7 +3802,7 @@ function RangeDatePickerComponent(props, ref) {
3743
3802
  }
3744
3803
  const RangeDatePicker = /* @__PURE__ */React__default.forwardRef(RangeDatePickerComponent);
3745
3804
 
3746
- var css$J = {"root":"KWXYFs","blocker":"_34prcH","marker":"_84dtsR","top":"UhZzgZ","bottom":"DCwbkt","left":"R8GNRF","right":"lCnSoV","inside":"bodQRa"};
3805
+ var css$J = {"root":"u7dZKH","blocker":"Uk3hQU","marker":"xeke1m","top":"B0TIVy","bottom":"_85B0uh","left":"ePl0zr","right":"_4R6YIi","inside":"gEBKHQ"};
3747
3806
 
3748
3807
  function DropMarker(props) {
3749
3808
  return props.isDndInProgress
@@ -3758,9 +3817,9 @@ function DropMarker(props) {
3758
3817
  : null;
3759
3818
  }
3760
3819
 
3761
- var css$I = {"root":"sO-4YH","search-wrapper":"ZNucT4","searchWrapper":"ZNucT4","no-data":"aWayXT","noData":"aWayXT"};
3820
+ var css$I = {"root":"tMJiQm","search-wrapper":"fhZFAT","searchWrapper":"fhZFAT","no-data":"WMkNix","noData":"WMkNix","empty-status-announcer":"bvtPB7","emptyStatusAnnouncer":"bvtPB7"};
3762
3821
 
3763
- var css$H = {"picker-row":"OEG3Tc","pickerRow":"OEG3Tc","align-widgets-top":"r1NAZC","alignWidgetsTop":"r1NAZC","row-content":"L7cFY8","rowContent":"L7cFY8","align-widgets-center":"iHarv9","alignWidgetsCenter":"iHarv9","icon-container":"AgdYH7","iconContainer":"AgdYH7","content-wrapper":"AEh42m","contentWrapper":"AEh42m","icon-wrapper":"RgkYBk","iconWrapper":"RgkYBk","icon-default":"IHAUy-","iconDefault":"IHAUy-","selected-mark":"C-1TQK","selectedMark":"C-1TQK"};
3822
+ var css$H = {"picker-row":"AznH1Z","pickerRow":"AznH1Z","align-widgets-top":"XPma4m","alignWidgetsTop":"XPma4m","row-content":"JwKtND","rowContent":"JwKtND","align-widgets-center":"JHmBNU","alignWidgetsCenter":"JHmBNU","icon-container":"oPKubC","iconContainer":"oPKubC","content-wrapper":"Pz-8SD","contentWrapper":"Pz-8SD","icon-wrapper":"lOXhs1","iconWrapper":"lOXhs1","icon-default":"zkdtCU","iconDefault":"zkdtCU","selected-mark":"Rfykaj","selectedMark":"Rfykaj"};
3764
3823
 
3765
3824
  const mergeHighlightRanges = (ranges) => {
3766
3825
  const mergedRanges = [];
@@ -3827,7 +3886,7 @@ const getHighlightedSearchMatches = (str, search) => {
3827
3886
  return getDecoratedText(str, ranges);
3828
3887
  };
3829
3888
 
3830
- var css$G = {"root":"bNoqr-","column-gap":"Ig-s0L","columnGap":"Ig-s0L","title":"_8OsPQb","subtitle":"kYPPOS","disabled":"o62R-I","multiline":"xzbnMo"};
3889
+ var css$G = {"root":"OpXQJD","column-gap":"_2jvmWR","columnGap":"_2jvmWR","title":"vhbNHi","subtitle":"BAV0Du","disabled":"-byJT0","multiline":"_7FoW3u"};
3831
3890
 
3832
3891
  function PickerItem(props) {
3833
3892
  const { highlightSearchMatches = true, size, avatarUrl, isLoading, isDisabled, icon, } = props;
@@ -3916,6 +3975,15 @@ function DataPickerBody({ highlightSearchMatches = true, autoFocusSearch = true,
3916
3975
  const prevProps = usePrevious(props);
3917
3976
  const showSearch = props.showSearch === 'auto' ? props.totalCount > 10 : Boolean(props.showSearch);
3918
3977
  const [isKeyboardNavigation, setIsKeyboardNavigation] = React__default.useState(false);
3978
+ const [emptyMessage, setEmptyMessage] = React__default.useState('');
3979
+ // We need to also ensure that topIndex === 0, because we can have state were there is no rows but topIndex > 0, in case when we scrolled lover than we have rows
3980
+ // we fix this state on next render and shouldn't show empty state.
3981
+ const isEmptyList = props.rows.length === 0 && props.value.topIndex === 0;
3982
+ useEffect(() => {
3983
+ if (!isEmptyList) {
3984
+ setEmptyMessage('');
3985
+ }
3986
+ }, [isEmptyList]);
3919
3987
  useEffect(() => {
3920
3988
  if (props.rows.length !== prevProps?.rows.length || (!isEqual(prevProps?.value.checked, props.value.checked) && !props.fixedBodyPosition)) {
3921
3989
  props.scheduleUpdate?.();
@@ -4005,12 +4073,11 @@ function DataPickerBody({ highlightSearchMatches = true, autoFocusSearch = true,
4005
4073
  : settings.pickerInput.sizes.body.getSearchSize({ pickerSize: props.searchSize });
4006
4074
  const renderedDataRows = useMemo(() => props.rows.map((row) => renderRow(row, props.value)), [props.rows, props.value, isKeyboardNavigation]);
4007
4075
  return (React__default.createElement(React__default.Fragment, null,
4076
+ React__default.createElement("div", { className: css$I.emptyStatusAnnouncer, role: "status", "aria-live": "polite", "aria-atomic": "true" }, emptyMessage),
4008
4077
  showSearch && (React__default.createElement("div", { key: "search", className: cx$1(css$I.searchWrapper, 'uui-picker_input-body-search') },
4009
4078
  React__default.createElement(FlexCell$1, { grow: 1 }, autoFocusSearch ? React__default.createElement(MoveFocusInside, null, renderSearchInput()) : renderSearchInput()))),
4010
- React__default.createElement(FlexRow, { key: "body", cx: cx$1('uui-picker_input-body'), rawProps: { style: { maxHeight: props.maxHeight, maxWidth: props.maxWidth }, tabIndex: -1 } }, props.rows.length === 0 && props.value.topIndex === 0
4011
- // We need to also ensure that topIndex === 0, because we can have state were there is no rows but topIndex > 0, in case when we scrolled lover than we have rows
4012
- // we fix this state on next render and shouldn't show empty state.
4013
- ? renderEmpty() : (React__default.createElement(VirtualList, { value: props.value, onValueChange: props.onValueChange, rows: renderedDataRows, role: "listbox", cx: css$I.root, rawProps: {
4079
+ React__default.createElement(FlexRow, { key: "body", cx: cx$1('uui-picker_input-body'), rawProps: { style: { maxHeight: props.maxHeight, maxWidth: props.maxWidth }, tabIndex: -1 } }, isEmptyList
4080
+ ? (React__default.createElement("div", { ref: (el) => el && setEmptyMessage(el.textContent ?? '') }, renderEmpty())) : (React__default.createElement(VirtualList, { value: props.value, onValueChange: props.onValueChange, rows: renderedDataRows, role: "listbox", cx: css$I.root, rawProps: {
4014
4081
  'aria-multiselectable': props.selectionMode === 'multi' ? true : null,
4015
4082
  'aria-orientation': 'vertical',
4016
4083
  tabIndex: 0,
@@ -4045,7 +4112,7 @@ function DataPickerFooterImpl(props) {
4045
4112
  }
4046
4113
  const DataPickerFooter = /* @__PURE__ */React__default.memo(DataPickerFooterImpl);
4047
4114
 
4048
- var css$F = {"header":"D-mQSm","title":"c9DZwj","close":"DKAZa7"};
4115
+ var css$F = {"header":"dcE--O","title":"KTqdQx","close":"ish9jy"};
4049
4116
 
4050
4117
  const DataPickerMobileHeaderImpl = (props) => {
4051
4118
  const title = props.title && typeof props.title === 'string' ? props.title.charAt(0).toUpperCase() + props.title.slice(1) : '';
@@ -4055,7 +4122,7 @@ const DataPickerMobileHeaderImpl = (props) => {
4055
4122
  };
4056
4123
  const DataPickerMobileHeader = /* @__PURE__ */React__default.memo(DataPickerMobileHeaderImpl);
4057
4124
 
4058
- var css$E = {"done":"jDyBhQ","container":"Oyqjup"};
4125
+ var css$E = {"done":"zlooV9","container":"_4TbYLa"};
4059
4126
 
4060
4127
  const PickerBodyMobileView = (props) => {
4061
4128
  const isMobileView = isMobile();
@@ -4067,7 +4134,7 @@ const PickerBodyMobileView = (props) => {
4067
4134
  isMobileView && (React__default.createElement(LinkButton, { caption: i18n.pickerInput.doneButton, onClick: () => props.onClose?.(), cx: css$E.done, size: settings.pickerInput.sizes.body.mobileFooterLinkButton }))));
4068
4135
  };
4069
4136
 
4070
- var css$D = {"sub-header-wrapper":"r9yNqY","subHeaderWrapper":"r9yNqY","switch":"ThMdDP","search":"HCA2V7","no-found-modal-container":"jHdJU4","noFoundModalContainer":"jHdJU4","no-found-modal-container-icon":"_8ijOrr","noFoundModalContainerIcon":"_8ijOrr","no-found-modal-container-text":"I8ZOZj","noFoundModalContainerText":"I8ZOZj","body":"CMCOxZ"};
4137
+ var css$D = {"sub-header-wrapper":"DctblX","subHeaderWrapper":"DctblX","switch":"nxAIRh","search":"gA8hqk","no-found-modal-container":"OK1ls2","noFoundModalContainer":"OK1ls2","no-found-modal-container-icon":"OkqEpQ","noFoundModalContainerIcon":"OkqEpQ","no-found-modal-container-text":"AHOgpq","noFoundModalContainerText":"AHOgpq","body":"aioejM"};
4071
4138
 
4072
4139
  function PickerModal(props) {
4073
4140
  const { view, selection, dataSourceStateLens, dataSourceState, getName, clearSelection, getRows, getListProps, getFooterProps, isSingleSelect, handleDataSourceValueChange, } = usePickerModal(props);
@@ -4128,7 +4195,7 @@ function PickerModal(props) {
4128
4195
  React__default.createElement(ModalFooter, null, props.renderFooter ? props.renderFooter(getFooterProps()) : renderFooter()))));
4129
4196
  }
4130
4197
 
4131
- var css$C = {"tooltip":"T8WmWD","noShrink":"B6xHyj"};
4198
+ var css$C = {"tooltip":"_4Treuu","noShrink":"rR7TvO"};
4132
4199
 
4133
4200
  const PickerTogglerTag = /* @__PURE__ */React.forwardRef((props, ref) => {
4134
4201
  const tagProps = {
@@ -4147,7 +4214,7 @@ const PickerTogglerTag = /* @__PURE__ */React.forwardRef((props, ref) => {
4147
4214
  }
4148
4215
  });
4149
4216
 
4150
- var css$B = {"root":"CqpEUb"};
4217
+ var css$B = {"root":"QGtLbJ"};
4151
4218
 
4152
4219
  const defaultMode = EditMode.FORM;
4153
4220
  function applyPickerTogglerMods(mods) {
@@ -4229,7 +4296,7 @@ function PickerInputComponent(props, ref) {
4229
4296
  }
4230
4297
  const PickerInput = /* @__PURE__ */React__default.forwardRef(PickerInputComponent);
4231
4298
 
4232
- var css$A = {"row":"Fhrl5-"};
4299
+ var css$A = {"row":"hWRm8c"};
4233
4300
 
4234
4301
  function PickerListRow(props) {
4235
4302
  let label;
@@ -4249,7 +4316,7 @@ function PickerListRow(props) {
4249
4316
  return (React__default.createElement("div", { role: "option", "aria-selected": props.isSelectable ? props.isSelected : undefined, "aria-busy": props.isLoading, "aria-posinset": props.index + 1, ...(props.checkbox?.isVisible && { 'aria-checked': props.isChecked }), className: css$A.row }, component));
4250
4317
  }
4251
4318
 
4252
- var css$z = {"root":"W0z1ys"};
4319
+ var css$z = {"root":"BM9No7"};
4253
4320
 
4254
4321
  function PickerList(props) {
4255
4322
  const { context, view, onlySelectedView, getName, getEntityName, appendLastSelected, getSelectedIdsArray, buildRowsList, getMaxDefaultItems, getModalTogglerCaption, } = usePickerList(props);
@@ -4284,7 +4351,7 @@ function PickerList(props) {
4284
4351
  }, selectedRows)));
4285
4352
  }
4286
4353
 
4287
- var css$y = {"root":"R-YzH1","wrapper":"P-Ka0T","align-widgets-top":"PDiAt1","alignWidgetsTop":"PDiAt1","align-widgets-center":"g8d-g-","alignWidgetsCenter":"g8d-g-"};
4354
+ var css$y = {"root":"djeBSr","wrapper":"_2xF4NN","align-widgets-top":"-mnZme","alignWidgetsTop":"-mnZme","align-widgets-center":"DCXMuu","alignWidgetsCenter":"DCXMuu"};
4288
4355
 
4289
4356
  function DataTableCell(initialProps) {
4290
4357
  const props = { ...initialProps };
@@ -4334,7 +4401,7 @@ function DataTableCell(initialProps) {
4334
4401
  return React.createElement(DataTableCell$1, { ...props });
4335
4402
  }
4336
4403
 
4337
- var css$x = {"root":"t6V8fH"};
4404
+ var css$x = {"root":"_-58jb7"};
4338
4405
 
4339
4406
  // Here we define a single instance of the renderCell function to make DataTableRow#shouldComponentUpdate work.
4340
4407
  // As we need our mods to style the cell properly, we extract them from DataTableCellProps.rowProps, which is a hack, but it's reliable enough.
@@ -4350,14 +4417,16 @@ const DataTableRow = /* @__PURE__ */withMods(DataTableRow$1, ({ borderBottom = t
4350
4417
  ];
4351
4418
  }, () => propsMods);
4352
4419
 
4353
- var css$w = {"sorting-panel-container":"Hpbjih","sortingPanelContainer":"Hpbjih"};
4420
+ var css$w = {"sorting-panel-container":"vLpv8O","sortingPanelContainer":"vLpv8O"};
4354
4421
 
4355
4422
  const SortingPanelImpl = ({ sortDirection, onSort }) => {
4356
4423
  const sortAsc = useCallback(() => onSort(sortDirection === 'asc' ? undefined : 'asc'), [onSort]);
4357
4424
  const sortDesc = useCallback(() => onSort(sortDirection === 'desc' ? undefined : 'desc'), [onSort]);
4425
+ const isAscSelected = sortDirection === 'asc';
4426
+ const isDescSelected = sortDirection === 'desc';
4358
4427
  return (React__default.createElement(FlexCell, { cx: cx$1(css$w.sortingPanelContainer, 'uui-dropdownMenu-body') },
4359
- React__default.createElement(DropdownMenuButton, { isActive: sortDirection === 'asc', caption: i18n.pickerFilterHeader.sortAscending, icon: settings.dataTable.icons.header.ascSortIcon, onClick: sortAsc }),
4360
- React__default.createElement(DropdownMenuButton, { isActive: sortDirection === 'desc', caption: i18n.pickerFilterHeader.sortDescending, icon: settings.dataTable.icons.header.descSortIcon, onClick: sortDesc })));
4428
+ React__default.createElement(DropdownMenuButton, { isActive: isAscSelected, caption: i18n.pickerFilterHeader.sortAscending, icon: settings.dataTable.icons.header.ascSortIcon, onClick: sortAsc, rawProps: { role: 'menuitemradio', 'aria-checked': isAscSelected } }),
4429
+ React__default.createElement(DropdownMenuButton, { isActive: isDescSelected, caption: i18n.pickerFilterHeader.sortDescending, icon: settings.dataTable.icons.header.descSortIcon, onClick: sortDesc, rawProps: { role: 'menuitemradio', 'aria-checked': isDescSelected } })));
4361
4430
  };
4362
4431
  const SortingPanel = /* @__PURE__ */React__default.memo(SortingPanelImpl);
4363
4432
 
@@ -4370,113 +4439,114 @@ const ColumnHeaderDropdownImpl = (props) => {
4370
4439
  };
4371
4440
  const ColumnHeaderDropdown = /* @__PURE__ */React__default.memo(ColumnHeaderDropdownImpl);
4372
4441
 
4373
- var css$v = {"root":"xOjbS5","caption-wrapper":"nSzmnq","captionWrapper":"nSzmnq","sort-icon":"tBrExv","sortIcon":"tBrExv","dropdown-icon":"_9YzAp3","dropdownIcon":"_9YzAp3","infoIcon":"xj-i7M","sortInActive":"LHLh8z","align-right":"dcEwZw","alignRight":"dcEwZw","align-center":"H0AKL0","alignCenter":"H0AKL0","caption":"YCnKYe","truncate":"kGBPHG","upper-case":"_2u1c58","upperCase":"_2u1c58","checkbox":"PdIaNC","icon":"Y8tF4z","fold-all-icon":"V4sJIA","foldAllIcon":"V4sJIA","cell-tooltip":"IjJPRW","cellTooltip":"IjJPRW","resizing-marker":"-kLxwb","resizingMarker":"-kLxwb","pinned-right":"o4M0td","pinnedRight":"o4M0td","draggable":"OM6j-K","ghost":"aeKzhL","is-dragged-out":"Lr1C-Q","isDraggedOut":"Lr1C-Q","dnd-marker-left":"AOczTV","dndMarkerLeft":"AOczTV","dnd-marker-right":"o1qyDz","dndMarkerRight":"o1qyDz","cell-tooltip-wrapper":"g6tjqL","cellTooltipWrapper":"g6tjqL","cell-tooltip-text":"_2xcQes","cellTooltipText":"_2xcQes","tooltip-caption":"_0Ula0-","tooltipCaption":"_0Ula0-","tooltip-info":"uEyohm","tooltipInfo":"uEyohm"};
4442
+ var css$v = {"root":"MlPbCS","caption-wrapper":"NiopQP","captionWrapper":"NiopQP","sort-icon":"UO6JkM","sortIcon":"UO6JkM","dropdown-icon":"iRU0zZ","dropdownIcon":"iRU0zZ","infoIcon":"L7egmt","sortInActive":"gfP7KI","align-right":"uk9YRV","alignRight":"uk9YRV","align-center":"hOepfI","alignCenter":"hOepfI","caption":"iW3U6O","truncate":"_7SBpJX","upper-case":"ub6mi-","upperCase":"ub6mi-","checkbox":"NO-b1J","icon":"GFDAeS","fold-all-icon":"x5NQJW","foldAllIcon":"x5NQJW","cell-tooltip":"FZW2AN","cellTooltip":"FZW2AN","resizing-marker":"w8Dc-z","resizingMarker":"w8Dc-z","pinned-right":"_3OcRs0","pinnedRight":"_3OcRs0","draggable":"z-n-KL","ghost":"nSsP-w","is-dragged-out":"n7UC4E","isDraggedOut":"n7UC4E","dnd-marker-left":"iYrgv0","dndMarkerLeft":"iYrgv0","dnd-marker-right":"dx-azV","dndMarkerRight":"dx-azV","cell-tooltip-wrapper":"PGSC1n","cellTooltipWrapper":"PGSC1n","cell-tooltip-text":"h3gfus","cellTooltipText":"h3gfus","tooltip-caption":"ChZNkP","tooltipCaption":"ChZNkP","tooltip-info":"hMScDw","tooltipInfo":"hMScDw"};
4374
4443
 
4375
- class DataTableHeaderCell extends React.Component {
4376
- constructor() {
4377
- super(...arguments);
4378
- this.state = {
4379
- isDropdownOpen: null,
4380
- };
4381
- this.getTooltipContent = (column) => (React.createElement("div", { className: cx$1(css$v.cellTooltipWrapper, uuiDataTableHeaderCell.uuiTableHeaderCaptionTooltip) },
4382
- React.createElement(Text, { cx: [css$v.cellTooltipText, css$v.tooltipCaption] }, column.caption),
4383
- column.info && (React.createElement(Text, { cx: [css$v.cellTooltipText, css$v.tooltipInfo] }, column.info))));
4384
- this.getColumnCaption = (props, dropdownProps) => {
4385
- const renderTooltip = this.props.column.renderTooltip || this.getTooltipContent;
4386
- const captionCx = cx$1([
4387
- css$v.caption,
4388
- this.props.textCase === 'upper' && css$v.upperCase,
4389
- uuiDataTableHeaderCell.uuiTableHeaderCaption,
4390
- 'uui-typography-inline',
4391
- this.props.size >= '48' && css$v.truncate,
4392
- ]);
4393
- const handleFilterOpen = (e) => {
4394
- if (e.key === 'Enter' || e.key === ' ') {
4395
- dropdownProps.onClick(e);
4396
- e.preventDefault();
4397
- }
4398
- };
4399
- const handleSort = (e) => {
4400
- if (e.key === 'Enter' || e.key === ' ') {
4401
- props.toggleSort(e);
4402
- e.preventDefault();
4403
- }
4404
- };
4405
- return (React.createElement("div", { className: cx$1(css$v.captionWrapper, css$v['align-' + this.props.column.textAlign], uuiDataTableHeaderCell.uuiTableHeaderCaptionWrapper) },
4406
- React.createElement(Tooltip, { placement: "top", color: "inverted", content: renderTooltip(this.props.column), cx: [css$v.cellTooltip, 'uui-dt-header-tooltip'], openDelay: 600, closeOnMouseLeave: "boundary" },
4407
- React.createElement("div", { key: "text", className: captionCx }, this.props.column.caption)),
4408
- this.props.column.isSortable && (!this.props.column.renderFilter || this.props.sortDirection) && (React.createElement(ControlIcon, { key: "sort", cx: cx$1(css$v.icon, css$v.sortIcon, !this.props.sortDirection && css$v.sortInActive, uuiDataTableHeaderCell.uuiTableHeaderSortIcon), icon: settings.dataTable.icons.header[this.props.sortDirection === 'desc' ? 'descSortIcon' : this.props.sortDirection === 'asc' ? 'ascSortIcon' : 'defaultSortIcon'], onKeyDown: !this.props.column.renderFilter ? handleSort : undefined })),
4409
- this.props.isFilterActive && (React.createElement(IconButton, { key: "filter", cx: cx$1(css$v.icon, !this.props.sortDirection && css$v.filterIcon, uuiDataTableHeaderCell.uuiTableHeaderFilterIcon), color: "neutral", icon: settings.dataTable.icons.header.filterIcon })),
4410
- this.props.column.renderFilter && (React.createElement(ControlIcon, { key: "dropdown", cx: cx$1(css$v.icon, css$v.dropdownIcon, uuiDataTableHeaderCell.uuiTableHeaderDropdownIcon), icon: settings.dataTable.icons.header[this.state.isDropdownOpen ? 'openedDropdownIcon' : 'dropdownIcon'], onKeyDown: handleFilterOpen }))));
4411
- };
4412
- this.renderHeaderCheckbox = () => {
4413
- if (this.props.selectAll && this.props.isFirstColumn) {
4414
- return (React.createElement(Checkbox, { size: settings.dataTable.sizes.body.checkboxMap[this.props.size], rawProps: { 'aria-label': 'Select All' }, ...this.props.selectAll, cx: cx$1(css$v.checkbox, uuiDataTableHeaderCell.uuiTableHeaderCheckbox) }));
4444
+ function DefaultTooltipContent(column) {
4445
+ return (React__default.createElement("div", { className: cx$1(css$v.cellTooltipWrapper, uuiDataTableHeaderCell.uuiTableHeaderCaptionTooltip) },
4446
+ React__default.createElement(Text, { cx: [css$v.cellTooltipText, css$v.tooltipCaption] }, column.caption),
4447
+ column.info && (React__default.createElement(Text, { cx: [css$v.cellTooltipText, css$v.tooltipInfo] }, column.info))));
4448
+ }
4449
+ function DataTableHeaderCell(props) {
4450
+ const [isDropdownOpen, setIsDropdownOpen] = useState(null);
4451
+ const id = useId();
4452
+ const captionId = `uui-dt-header-caption-${id}-${props.column.key}`;
4453
+ const captionAriaProps = {
4454
+ 'aria-labelledby': captionId,
4455
+ 'aria-description': props.isFilterActive ? i18n.tables.columnHeader.filterActiveLabel : undefined,
4456
+ };
4457
+ const getColumnCaption = (contentProps, dropdownProps) => {
4458
+ const renderTooltip = props.column.renderTooltip || DefaultTooltipContent;
4459
+ const captionCx = cx$1([
4460
+ css$v.caption,
4461
+ props.textCase === 'upper' && css$v.upperCase,
4462
+ uuiDataTableHeaderCell.uuiTableHeaderCaption,
4463
+ 'uui-typography-inline',
4464
+ props.size >= '48' && css$v.truncate,
4465
+ ]);
4466
+ const handleFilterOpen = (e) => {
4467
+ if (e.key === 'Enter' || e.key === ' ') {
4468
+ dropdownProps.onClick(e);
4469
+ e.preventDefault();
4415
4470
  }
4416
4471
  };
4417
- this.renderFoldAllIcon = () => {
4418
- if (this.props.isFirstColumn && this.props.showFoldAll) {
4419
- return (React.createElement(Tooltip, { content: this.props.areAllFolded
4420
- ? i18n.tables.columnHeader.expandAllTooltip
4421
- : i18n.tables.columnHeader.collapseAllTooltip },
4422
- React.createElement(ControlIcon, { cx: cx$1(css$v.icon, css$v.foldAllIcon, uuiDataTableHeaderCell.uuiTableHeaderFoldAllIcon), icon: settings.dataTable.icons.header[this.props.areAllFolded ? 'unfoldIcon' : 'foldIcon'], onClick: this.props.onFoldAll, rawProps: {
4423
- 'aria-label': this.props.areAllFolded ? 'Expand All' : 'Collapse All',
4424
- 'aria-expanded': !!this.props.areAllFolded,
4425
- } })));
4472
+ const handleSort = (e) => {
4473
+ if (e.key === 'Enter' || e.key === ' ') {
4474
+ contentProps.toggleSort(e);
4475
+ e.preventDefault();
4426
4476
  }
4427
4477
  };
4428
- this.renderResizingMarker = (props) => {
4429
- return (React.createElement("div", { role: "separator", onMouseDown: props.onResizeStart, className: cx$1(css$v.resizingMarker, uuiMarkers.draggable, uuiMarkers.clickable) }));
4430
- };
4431
- this.getLeftPadding = () => {
4432
- const { columnsGap, isFirstColumn } = this.props;
4433
- if (columnsGap)
4434
- return isFirstColumn ? `${columnsGap}px` : `${+columnsGap / 2}px`;
4435
- return `var(--uui-dt-header-cell-padding${isFirstColumn ? '-edge' : ''})`;
4436
- };
4437
- this.getRightPadding = () => {
4438
- const { columnsGap, isLastColumn } = this.props;
4439
- if (columnsGap)
4440
- return isLastColumn ? `${columnsGap}px` : `${+columnsGap / 2}px`;
4441
- return `var(--uui-dt-header-cell-padding${isLastColumn ? '-edge' : ''})`;
4442
- };
4443
- this.getResizingMarkerWidth = () => {
4444
- const { columnsGap } = this.props;
4445
- return columnsGap ? `${+columnsGap / 2}px` : 'var(--uui-resize-marker-width)';
4446
- };
4447
- this.renderCellContent = (props, dropdownProps) => {
4448
- const isResizable = this.props.column.allowResizing ?? this.props.allowColumnsResizing;
4449
- const onClickEvent = !props.isResizing && (!this.props.column.renderFilter ? props.toggleSort : dropdownProps?.onClick);
4450
- const computeStyles = {
4451
- '--uui-dt-header-cell-icon-size': `${settings.dataTable.sizes.header.iconMap[this.props.size || settings.dataTable.sizes.header.row]}px`,
4452
- '--uui-dt-header-cell-padding-start': this.getLeftPadding(),
4453
- '--uui-dt-header-cell-padding-end': this.getRightPadding(),
4454
- '--uui-dt-header-cell-resizing-marker-width': this.getResizingMarkerWidth(),
4455
- };
4456
- return (React.createElement(DataTableCellContainer, { column: this.props.column, ref: (ref) => {
4457
- props.ref(ref);
4458
- dropdownProps?.ref?.(ref);
4459
- }, cx: cx$1(uuiDataTableHeaderCell.uuiTableHeaderCell, (this.props.column.isSortable || this.props.isDropdown) && uuiMarkers.clickable, css$v.root, `uui-size-${this.props.size || settings.dataTable.sizes.header.row}`, this.props.isFirstColumn && 'uui-dt-header-first-column', this.props.isLastColumn && 'uui-dt-header-last-column', this.props.column.fix && css$v['pinned-' + this.props.column.fix], isResizable && uuiMarkers.resizable, props.isDraggable && css$v.draggable, props.isDragGhost && css$v.ghost, props.isDraggedOut && css$v.isDraggedOut, props.isDndInProgress && css$v['dnd-marker-' + props.position]), onClick: onClickEvent, rawProps: {
4460
- role: 'columnheader',
4461
- 'aria-sort': this.props.sortDirection === 'asc' ? 'ascending' : this.props.sortDirection ? 'descending' : 'none',
4462
- ...props.eventHandlers,
4463
- }, style: computeStyles },
4464
- this.renderHeaderCheckbox(),
4465
- this.renderFoldAllIcon(),
4466
- this.getColumnCaption(props, dropdownProps),
4467
- isResizable && this.renderResizingMarker(props)));
4468
- };
4469
- this.renderCellWithFilter = (props) => (React.createElement(ColumnHeaderDropdown, { isOpen: this.state.isDropdownOpen, isSortable: this.props.column.isSortable, renderTarget: (dropdownProps) => this.renderCellContent(props, dropdownProps), renderFilter: this.props.renderFilter, onSort: this.props.onSort, sortDirection: this.props.sortDirection, onOpenChange: (isDropdownOpen) => this.setState({ isDropdownOpen }), title: this.props.column.caption }));
4470
- }
4471
- render() {
4472
- if (this.props.column.renderHeaderCell) {
4473
- return this.props.column.renderHeaderCell(this.props);
4478
+ return (React__default.createElement("div", { className: cx$1(css$v.captionWrapper, css$v['align-' + props.column.textAlign], uuiDataTableHeaderCell.uuiTableHeaderCaptionWrapper) },
4479
+ React__default.createElement(Tooltip, { placement: "top", color: "inverted", content: renderTooltip(props.column), cx: [css$v.cellTooltip, 'uui-dt-header-tooltip'], openDelay: 600, closeOnMouseLeave: "boundary" },
4480
+ React__default.createElement("div", { key: "text", id: captionId, className: captionCx }, props.column.caption)),
4481
+ props.column.isSortable && (!props.column.renderFilter || props.sortDirection) && (React__default.createElement(ControlIcon, { key: "sort", cx: cx$1(css$v.icon, css$v.sortIcon, !props.sortDirection && css$v.sortInActive, uuiDataTableHeaderCell.uuiTableHeaderSortIcon), icon: settings.dataTable.icons.header[props.sortDirection === 'desc' ? 'descSortIcon' : props.sortDirection === 'asc' ? 'ascSortIcon' : 'defaultSortIcon'], onKeyDown: !props.column.renderFilter ? handleSort : undefined, rawProps: { ...captionAriaProps, 'aria-hidden': !!props.column.renderFilter } })),
4482
+ props.isFilterActive && (React__default.createElement(IconButton, { key: "filter", cx: cx$1(css$v.icon, !props.sortDirection && css$v.filterIcon, uuiDataTableHeaderCell.uuiTableHeaderFilterIcon), color: "neutral", icon: settings.dataTable.icons.header.filterIcon, rawProps: { 'aria-hidden': true } })),
4483
+ props.column.renderFilter && (React__default.createElement(ControlIcon, { key: "dropdown", cx: cx$1(css$v.icon, css$v.dropdownIcon, uuiDataTableHeaderCell.uuiTableHeaderDropdownIcon), icon: settings.dataTable.icons.header[isDropdownOpen ? 'openedDropdownIcon' : 'dropdownIcon'], onKeyDown: handleFilterOpen, rawProps: captionAriaProps }))));
4484
+ };
4485
+ const renderHeaderCheckbox = () => {
4486
+ if (props.selectAll && props.isFirstColumn) {
4487
+ return (React__default.createElement(Checkbox, { size: settings.dataTable.sizes.body.checkboxMap[props.size], rawProps: { 'aria-label': 'Select All' }, ...props.selectAll, cx: cx$1(css$v.checkbox, uuiDataTableHeaderCell.uuiTableHeaderCheckbox) }));
4474
4488
  }
4475
- return (React.createElement(DataTableHeaderCell$1, { ...this.props, renderCellContent: this.props.column.renderFilter ? this.renderCellWithFilter : this.renderCellContent }));
4489
+ };
4490
+ const renderFoldAllIcon = () => {
4491
+ if (props.isFirstColumn && props.showFoldAll) {
4492
+ return (React__default.createElement(Tooltip, { content: props.areAllFolded
4493
+ ? i18n.tables.columnHeader.expandAllTooltip
4494
+ : i18n.tables.columnHeader.collapseAllTooltip },
4495
+ React__default.createElement(ControlIcon, { cx: cx$1(css$v.icon, css$v.foldAllIcon, uuiDataTableHeaderCell.uuiTableHeaderFoldAllIcon), icon: settings.dataTable.icons.header[props.areAllFolded ? 'unfoldIcon' : 'foldIcon'], onClick: props.onFoldAll, rawProps: {
4496
+ 'aria-label': props.areAllFolded ? 'Expand All' : 'Collapse All',
4497
+ 'aria-expanded': !!props.areAllFolded,
4498
+ } })));
4499
+ }
4500
+ };
4501
+ const renderResizingMarker = (contentProps) => {
4502
+ return (React__default.createElement("div", { role: "separator", onMouseDown: contentProps.onResizeStart, className: cx$1(css$v.resizingMarker, uuiMarkers.draggable, uuiMarkers.clickable) }));
4503
+ };
4504
+ const getLeftPadding = () => {
4505
+ const { columnsGap, isFirstColumn } = props;
4506
+ if (columnsGap)
4507
+ return isFirstColumn ? `${columnsGap}px` : `${+columnsGap / 2}px`;
4508
+ return `var(--uui-dt-header-cell-padding${isFirstColumn ? '-edge' : ''})`;
4509
+ };
4510
+ const getRightPadding = () => {
4511
+ const { columnsGap, isLastColumn } = props;
4512
+ if (columnsGap)
4513
+ return isLastColumn ? `${columnsGap}px` : `${+columnsGap / 2}px`;
4514
+ return `var(--uui-dt-header-cell-padding${isLastColumn ? '-edge' : ''})`;
4515
+ };
4516
+ const getResizingMarkerWidth = () => {
4517
+ const { columnsGap } = props;
4518
+ return columnsGap ? `${+columnsGap / 2}px` : 'var(--uui-resize-marker-width)';
4519
+ };
4520
+ const renderCellContent = (contentProps, dropdownProps) => {
4521
+ const isResizable = props.column.allowResizing ?? props.allowColumnsResizing;
4522
+ const onClickEvent = !contentProps.isResizing && (!props.column.renderFilter ? contentProps.toggleSort : dropdownProps?.onClick);
4523
+ const computeStyles = {
4524
+ '--uui-dt-header-cell-icon-size': `${settings.dataTable.sizes.header.iconMap[props.size || settings.dataTable.sizes.header.row]}px`,
4525
+ '--uui-dt-header-cell-padding-start': getLeftPadding(),
4526
+ '--uui-dt-header-cell-padding-end': getRightPadding(),
4527
+ '--uui-dt-header-cell-resizing-marker-width': getResizingMarkerWidth(),
4528
+ };
4529
+ return (React__default.createElement(DataTableCellContainer, { column: props.column, ref: (ref) => {
4530
+ contentProps.ref(ref);
4531
+ dropdownProps?.ref?.(ref);
4532
+ }, cx: cx$1(uuiDataTableHeaderCell.uuiTableHeaderCell, (props.column.isSortable || props.isDropdown) && uuiMarkers.clickable, css$v.root, `uui-size-${props.size || settings.dataTable.sizes.header.row}`, props.isFirstColumn && 'uui-dt-header-first-column', props.isLastColumn && 'uui-dt-header-last-column', props.column.fix && css$v['pinned-' + props.column.fix], isResizable && uuiMarkers.resizable, contentProps.isDraggable && css$v.draggable, contentProps.isDragGhost && css$v.ghost, contentProps.isDraggedOut && css$v.isDraggedOut, contentProps.isDndInProgress && css$v['dnd-marker-' + contentProps.position]), onClick: onClickEvent, rawProps: {
4533
+ role: 'columnheader',
4534
+ 'aria-sort': props.sortDirection === 'asc' ? 'ascending' : props.sortDirection ? 'descending' : 'none',
4535
+ ...contentProps.eventHandlers,
4536
+ }, style: computeStyles },
4537
+ renderHeaderCheckbox(),
4538
+ renderFoldAllIcon(),
4539
+ getColumnCaption(contentProps, dropdownProps),
4540
+ isResizable && renderResizingMarker(contentProps)));
4541
+ };
4542
+ const renderCellWithFilter = (contentProps) => (React__default.createElement(ColumnHeaderDropdown, { isOpen: isDropdownOpen, isSortable: props.column.isSortable, renderTarget: (dropdownProps) => renderCellContent(contentProps, dropdownProps), renderFilter: props.renderFilter, onSort: props.onSort, sortDirection: props.sortDirection, onOpenChange: setIsDropdownOpen, title: props.column.caption }));
4543
+ if (props.column.renderHeaderCell) {
4544
+ return props.column.renderHeaderCell(props);
4476
4545
  }
4546
+ return (React__default.createElement(DataTableHeaderCell$1, { ...props, renderCellContent: props.column.renderFilter ? renderCellWithFilter : renderCellContent }));
4477
4547
  }
4478
4548
 
4479
- var css$u = {"root":"ldCRrm","caption-wrapper":"VLvvJA","captionWrapper":"VLvvJA","align-center":"JMCmnW","alignCenter":"JMCmnW","caption":"Gs68vM","truncate":"_0Ys-Yz","upper-case":"b3VenJ","upperCase":"b3VenJ","group-cell-tooltip":"Dpkedv","groupCellTooltip":"Dpkedv","group-cell-tooltip-wrapper":"cdyOuP","groupCellTooltipWrapper":"cdyOuP","group-cell-tooltip-text":"_68z4kR","groupCellTooltipText":"_68z4kR","tooltip-caption":"yZncE9","tooltipCaption":"yZncE9","tooltip-info":"TBSzrL","tooltipInfo":"TBSzrL"};
4549
+ var css$u = {"root":"_2uQD0I","caption-wrapper":"DCW1wE","captionWrapper":"DCW1wE","align-center":"OOZAi0","alignCenter":"OOZAi0","caption":"RJC3aU","truncate":"Ik27Fy","upper-case":"h7yYCr","upperCase":"h7yYCr","group-cell-tooltip":"Gtpssv","groupCellTooltip":"Gtpssv","group-cell-tooltip-wrapper":"Mx2RxI","groupCellTooltipWrapper":"Mx2RxI","group-cell-tooltip-text":"Rd2QDK","groupCellTooltipText":"Rd2QDK","tooltip-caption":"lj18gK","tooltipCaption":"lj18gK","tooltip-info":"_8tibXu","tooltipInfo":"_8tibXu"};
4480
4550
 
4481
4551
  class DataTableHeaderGroupCell extends React.Component {
4482
4552
  constructor() {
@@ -4516,7 +4586,7 @@ class DataTableHeaderGroupCell extends React.Component {
4516
4586
  }
4517
4587
  }
4518
4588
 
4519
- var css$t = {"root":"MXEMfI"};
4589
+ var css$t = {"root":"_5cSIAT"};
4520
4590
 
4521
4591
  const DataTableHeaderRow = /* @__PURE__ */withMods(DataTableHeaderRow$1, () => [css$t.root, 'uui-dt-vars'], (mods) => {
4522
4592
  return ({
@@ -4528,6 +4598,20 @@ const DataTableHeaderRow = /* @__PURE__ */withMods(DataTableHeaderRow$1, () => [
4528
4598
  });
4529
4599
  });
4530
4600
 
4601
+ /**
4602
+ * Checks if the value is a range object with at least one boundary property defined
4603
+ */
4604
+ const isValidRangeValue = (range) => {
4605
+ return range != null && (range.from != null || range.to != null);
4606
+ };
4607
+ const isFilledArray = (arr) => {
4608
+ return Array.isArray(arr) && arr.length > 0;
4609
+ };
4610
+ const hasSomeNullishProp = (obj) => {
4611
+ return Object.keys(obj).some((prop) => obj[prop] == null);
4612
+ };
4613
+ const isValidArrayValue = isFilledArray;
4614
+ const hasSomeNullishPredicate = hasSomeNullishProp;
4531
4615
  const normalizeFilterWithPredicates = (filter) => {
4532
4616
  if (!filter) {
4533
4617
  return {};
@@ -4545,27 +4629,21 @@ const normalizeFilterWithPredicates = (filter) => {
4545
4629
  if ('from' in filterValue && 'to' in filterValue) {
4546
4630
  continue;
4547
4631
  }
4548
- if ('in' in filterValue && (!Array.isArray(filterValue.in) || !filterValue.in.length)) {
4632
+ if ('in' in filterValue && !isValidArrayValue(filterValue.in)) {
4549
4633
  delete filter[key];
4550
4634
  }
4551
- if ('nin' in filterValue && (!Array.isArray(filterValue.nin) || !filterValue.nin.length)) {
4635
+ if ('nin' in filterValue && !isValidArrayValue(filterValue.nin)) {
4552
4636
  delete filter[key];
4553
4637
  }
4554
- if ('inRange' in filterValue) {
4555
- if (!filterValue.inRange || (!filterValue.inRange.from && !filterValue.inRange.to)) {
4556
- delete filter[key];
4557
- }
4638
+ if ('inRange' in filterValue && !isValidRangeValue(filterValue.inRange)) {
4639
+ delete filter[key];
4558
4640
  }
4559
- if ('notInRange' in filterValue) {
4560
- if (!filterValue.notInRange || (!filterValue.notInRange.from && !filterValue.notInRange.to)) {
4561
- delete filter[key];
4562
- }
4641
+ if ('notInRange' in filterValue && !isValidRangeValue(filterValue.notInRange)) {
4642
+ delete filter[key];
4643
+ }
4644
+ if (hasSomeNullishPredicate(filterValue)) {
4645
+ delete filter[key];
4563
4646
  }
4564
- Object.keys(filterValue).forEach((predicate) => {
4565
- if (filterValue[predicate] === null || filterValue[predicate] === undefined) {
4566
- delete filter[key];
4567
- }
4568
- });
4569
4647
  }
4570
4648
  }
4571
4649
  return result;
@@ -4616,7 +4694,7 @@ const UUI_FILTERS_PANEL_ITEM_TOGGLER_SELECTION = 'uui-filters-panel-item-toggler
4616
4694
  const UUI_FILTERS_PANEL_ITEM_TOGGLER_POSTFIX = 'uui-filters-panel-item-toggler-postfix';
4617
4695
  const UUI_FILTERS_PANEL_BODY_FOOTER = 'uui-filters-panel-item-footer';
4618
4696
 
4619
- var css$s = {"body":"hJV7Av","header":"Bsf-i0","title":"JQ3UZf","removeButton":"_55kuB5","with-search":"uPNb0E","withSearch":"uPNb0E"};
4697
+ var css$s = {"body":"Oeq3L5","header":"eMTe8I","title":"q4z-t1","removeButton":"-mPrB9","with-search":"_5ZXgMR","withSearch":"_5ZXgMR"};
4620
4698
 
4621
4699
  function FilterColumnBody(props) {
4622
4700
  const [predicate, setPredicate] = useState(getDefaultPredicate(props.predicates, props.value));
@@ -4677,7 +4755,7 @@ const useColumnsWithFilters = (initialColumns, filters) => {
4677
4755
  return columns;
4678
4756
  };
4679
4757
 
4680
- var css$r = {"unpin-icon":"zjpIcN","unpinIcon":"zjpIcN","pin-toggler-icon":"Hm4zy0","pinTogglerIcon":"Hm4zy0"};
4758
+ var css$r = {"unpin-icon":"BnhK--","unpinIcon":"BnhK--","pin-toggler-icon":"d2W-Dd","pinTogglerIcon":"d2W-Dd"};
4681
4759
 
4682
4760
  function PinIconButton(props) {
4683
4761
  const i18nLocal = i18n.tables.columnsConfigurationModal;
@@ -4728,7 +4806,7 @@ function getUnpinIcon(params) {
4728
4806
  }
4729
4807
  }
4730
4808
 
4731
- var css$q = {"row-wrapper":"BpfHqa","rowWrapper":"BpfHqa","pin-icon-button":"sPah20","pinIconButton":"sPah20","not-pinned":"_6I0PKw","notPinned":"_6I0PKw","checkbox":"JUJr-Q","drag-handle":"jFOEbm","dragHandle":"jFOEbm","dnd-disabled":"F9W28O","dndDisabled":"F9W28O"};
4809
+ var css$q = {"row-wrapper":"c9H8oz","rowWrapper":"c9H8oz","pin-icon-button":"yaZ9Zn","pinIconButton":"yaZ9Zn","not-pinned":"hpuUvH","notPinned":"hpuUvH","checkbox":"iJa3dS","drag-handle":"QzxqNA","dragHandle":"QzxqNA","dnd-disabled":"PZUp2w","dndDisabled":"PZUp2w"};
4732
4810
 
4733
4811
  const ColumnRow = /* @__PURE__ */React.memo(function ColumnRow(props) {
4734
4812
  const { column } = props;
@@ -4762,7 +4840,7 @@ const ColumnRow = /* @__PURE__ */React.memo(function ColumnRow(props) {
4762
4840
  return (React.createElement(DndActor, { key: column.key, srcData: isDndAllowed && data, dstData: data, canAcceptDrop: onCanAcceptDrop, onDrop: onDrop, render: renderContent }));
4763
4841
  });
4764
4842
 
4765
- var css$p = {"root":"_3o74w8","main-panel":"wKjF9K","mainPanel":"wKjF9K","group":"tkiRP7","group-title":"k79tZk","groupTitle":"k79tZk","group-items":"DGRSsd","groupItems":"DGRSsd","no-data":"yv7Udo","noData":"yv7Udo","no-data-title":"XRblv5","noDataTitle":"XRblv5","no-data-sub-title":"F8TxEL","noDataSubTitle":"F8TxEL","h-divider":"zJYD8d","hDivider":"zJYD8d","search-area":"SqSC-s","searchArea":"SqSC-s","subgroup-accordion":"oN9ika","subgroupAccordion":"oN9ika","subgroup":"jEh7Ao","subgroup-title":"jHaw0V","subgroupTitle":"jHaw0V"};
4843
+ var css$p = {"root":"I8e28f","main-panel":"w7Zcli","mainPanel":"w7Zcli","group":"-JPNp5","group-title":"L-MM9V","groupTitle":"L-MM9V","group-items":"uN10Jg","groupItems":"uN10Jg","no-data":"-l34C5","noData":"-l34C5","no-data-title":"C6xq4x","noDataTitle":"C6xq4x","no-data-sub-title":"mcfBS1","noDataSubTitle":"mcfBS1","h-divider":"_91tlWq","hDivider":"_91tlWq","search-area":"Mm3qTT","searchArea":"Mm3qTT","subgroup-accordion":"AALvgz","subgroupAccordion":"AALvgz","subgroup":"vsKUIZ","subgroup-title":"FiM4NP","subgroupTitle":"FiM4NP"};
4766
4844
 
4767
4845
  const renderGroupTitle = (title, amount) => (React.createElement(FlexRow, { cx: css$p.group },
4768
4846
  React.createElement(Text, { size: "none", cx: css$p.groupTitle }, title),
@@ -4865,7 +4943,7 @@ const getChildrenAndRest = (row, rows) => {
4865
4943
  return [children, rest];
4866
4944
  };
4867
4945
 
4868
- var css$o = {"listContainer":"m0mjZ6","header":"HUDNFM","group":"ShPCEZ","stickyHeader":"_0K0By-"};
4946
+ var css$o = {"listContainer":"-gBDgo","header":"uPVX4r","group":"Nlg0US","stickyHeader":"P-aC-C"};
4869
4947
 
4870
4948
  function DataRowsGroup({ row, childRows, renderRow, top = 1, }) {
4871
4949
  const rowRef = useRef(undefined);
@@ -4905,7 +4983,7 @@ function DataRowsContainer({ estimatedHeight, listContainerRef, offsetY, rows, r
4905
4983
  React__default.createElement(DataRowsGroups, { rows: rows, renderRow: renderRow, top: headerRef?.current?.clientHeight }))));
4906
4984
  }
4907
4985
 
4908
- var css$n = {"root":"D4yDhP","sticky-header":"ZG49tM","stickyHeader":"ZG49tM","no-results":"CkMZyb","noResults":"CkMZyb","icon":"TvyS5a","title":"_7GBkj2"};
4986
+ var css$n = {"root":"Rt6x9-","sticky-header":"qKF0-g","stickyHeader":"qKF0-g","no-results":"fSp-H-","noResults":"fSp-H-","icon":"EpGowY","title":"ImAAqn"};
4909
4987
 
4910
4988
  function DataTable(props) {
4911
4989
  const { uuiModals } = useUuiContext();
@@ -4947,6 +5025,7 @@ function DataTable(props) {
4947
5025
  role: 'table',
4948
5026
  'aria-colcount': columns.length,
4949
5027
  'aria-rowcount': props.rowsCount,
5028
+ ...props.rawProps,
4950
5029
  };
4951
5030
  return (React.createElement(DataTableSelectionProvider, { onCopy: props.onCopy, rows: rows, columns: columns },
4952
5031
  React.createElement(DataTableFocusProvider, { dataTableFocusManager: props.dataTableFocusManager }, props.disableVirtualization === true
@@ -4954,7 +5033,7 @@ function DataTable(props) {
4954
5033
  : (React.createElement(VirtualList, { value: props.value, onValueChange: props.onValueChange, onScroll: props.onScroll, rowsCount: props.rowsCount, renderRows: renderTableBody, cx: classes, isLoading: props.isReloading, rowsSelector: "[role=row]", rawProps: rawProps })))));
4955
5034
  }
4956
5035
 
4957
- var css$m = {"root":"ziQWZ9","title-wrapper":"BqFAg6","titleWrapper":"BqFAg6","title":"Mh-jwA","text-wrapper":"MJdOLd","textWrapper":"MJdOLd","selection":"IcVvsm","postfix":"SHvUrH","selected":"hvJnhD"};
5036
+ var css$m = {"root":"bEq-Qb","title-wrapper":"iUPJXI","titleWrapper":"iUPJXI","title":"h6zCAh","text-wrapper":"AAQtxj","textWrapper":"AAQtxj","selection":"v2oaFP","postfix":"_5Ql-LF","selected":"O-rh-V"};
4958
5037
 
4959
5038
  const FilterPanelItemToggler = /* @__PURE__ */React.forwardRef((props, ref) => {
4960
5039
  const togglerPickerOpened = (e) => {
@@ -5179,9 +5258,10 @@ function FilterRangeDatePickerBody(props) {
5179
5258
  renderFooter()));
5180
5259
  }
5181
5260
 
5182
- var css$l = {"container":"UrxYgl"};
5261
+ var css$l = {"container":"xeqrCL"};
5183
5262
 
5184
- function FilterNumericBody(props) {
5263
+ function FilterNumericBody({ min, max, step, ...props }) {
5264
+ const numericInputProps = { min, max, step };
5185
5265
  const isInRangePredicate = props?.selectedPredicate === 'inRange' || props?.selectedPredicate === 'notInRange';
5186
5266
  const isWrongRange = (from, to) => {
5187
5267
  if (!to && to !== 0)
@@ -5230,15 +5310,15 @@ function FilterNumericBody(props) {
5230
5310
  return (React__default.createElement("div", null,
5231
5311
  React__default.createElement(FlexRow, { padding: "12", alignItems: "center", columnGap: "12", borderBottom: true, cx: css$l.container },
5232
5312
  React__default.createElement(FlexCell, { width: "100%" },
5233
- React__default.createElement(NumericInput, { size: settings.filtersPanel.sizes.default, value: value?.from ?? null, onValueChange: rangeValueHandler('from'), placeholder: "Min", formatOptions: { maximumFractionDigits: 2 } })),
5313
+ React__default.createElement(NumericInput, { size: settings.filtersPanel.sizes.default, value: value?.from ?? null, onValueChange: rangeValueHandler('from'), placeholder: "Min", formatOptions: { maximumFractionDigits: 2 }, ...numericInputProps })),
5234
5314
  React__default.createElement(FlexCell, { width: "100%" },
5235
- React__default.createElement(NumericInput, { size: settings.filtersPanel.sizes.default, value: value?.to ?? null, onValueChange: rangeValueHandler('to'), placeholder: "Max", formatOptions: { maximumFractionDigits: 2 }, isInvalid: isWrongRange(value?.from, value?.to) }))),
5315
+ React__default.createElement(NumericInput, { size: settings.filtersPanel.sizes.default, value: value?.to ?? null, onValueChange: rangeValueHandler('to'), placeholder: "Max", formatOptions: { maximumFractionDigits: 2 }, isInvalid: isWrongRange(value?.from, value?.to), ...numericInputProps }))),
5236
5316
  renderFooter()));
5237
5317
  }
5238
5318
  return (React__default.createElement("div", null,
5239
5319
  React__default.createElement(FlexRow, { padding: "12", alignItems: "center", borderBottom: true, cx: css$l.container },
5240
5320
  React__default.createElement(FlexCell, { width: 130 },
5241
- React__default.createElement(NumericInput, { size: settings.filtersPanel.sizes.default, value: typeof props.value === 'number' ? props.value : null, onValueChange: props.onValueChange, placeholder: "Enter a number", formatOptions: { maximumFractionDigits: 2 } }))),
5321
+ React__default.createElement(NumericInput, { size: settings.filtersPanel.sizes.default, value: typeof props.value === 'number' ? props.value : null, onValueChange: props.onValueChange, placeholder: "Enter a number", formatOptions: { maximumFractionDigits: 2 }, ...numericInputProps }))),
5242
5322
  renderFooter()));
5243
5323
  }
5244
5324
 
@@ -5317,9 +5397,9 @@ function FiltersToolbarItemImpl(props) {
5317
5397
  props.predicates ? (React__default.createElement(FilterPredicatePanel, { predicates: props.predicates, predicate: predicate, type: props.type, onValueChange: props.onValueChange, value: props.value, setPredicate: setPredicate })) : (!hideTitle && (React__default.createElement("div", { className: css$s.title }, props.title))),
5318
5398
  !props?.isAlwaysVisible && (React__default.createElement(LinkButton, { cx: css$s.removeButton, caption: i18n.filterToolbar.datePicker.removeCaption, onClick: removeOnclickHandler, size: settings.filtersPanel.sizes.pickerBodyLinkButton, icon: settings.filtersPanel.icons.pickerBodyRemoveIcon }))));
5319
5399
  const renderBody = (dropdownProps) => {
5320
- return isPickersType ? (React__default.createElement(PickerBodyMobileView, { ...dropdownProps, rawProps: { ...dropdownProps.arrowProps, 'aria-modal': true }, cx: [css$s.body, UUI_FILTERS_PANEL_ITEM_BODY], title: props.title, width: settings.filtersPanel.sizes.pickerBodyMinWidth, onClose: () => isOpenChange(false) },
5400
+ return isPickersType ? (React__default.createElement(PickerBodyMobileView, { ...dropdownProps, rawProps: { 'aria-modal': true }, cx: [css$s.body, UUI_FILTERS_PANEL_ITEM_BODY], title: props.title, width: settings.filtersPanel.sizes.pickerBodyMinWidth, onClose: () => isOpenChange(false) },
5321
5401
  renderHeader(hideHeaderTitle),
5322
- React__default.createElement(FilterItemBody, { ...props, ...dropdownProps, selectedPredicate: predicate, value: getValue(predicate, props.value), onValueChange: onValueChange }))) : (React__default.createElement(DropdownContainer, { cx: [css$s.body, UUI_FILTERS_PANEL_ITEM_BODY], ...dropdownProps, rawProps: { ...dropdownProps.arrowProps, 'aria-modal': true } },
5402
+ React__default.createElement(FilterItemBody, { ...props, ...dropdownProps, selectedPredicate: predicate, value: getValue(predicate, props.value), onValueChange: onValueChange }))) : (React__default.createElement(DropdownContainer, { cx: [css$s.body, UUI_FILTERS_PANEL_ITEM_BODY], ...dropdownProps, rawProps: { 'aria-modal': true } },
5323
5403
  renderHeader(hideHeaderTitle),
5324
5404
  React__default.createElement(FilterItemBody, { ...props, ...dropdownProps, selectedPredicate: predicate, value: getValue(predicate, props.value), onValueChange: onValueChange })));
5325
5405
  };
@@ -5490,7 +5570,7 @@ function FiltersToolbarImpl(props) {
5490
5570
  }
5491
5571
  const FiltersPanel = /* @__PURE__ */React__default.memo(FiltersToolbarImpl);
5492
5572
 
5493
- var css$k = {"delete-button":"PIqhJl","deleteButton":"PIqhJl","tab-button":"ifUJRi","tabButton":"ifUJRi","targetOpen":"tvmfFZ"};
5573
+ var css$k = {"delete-button":"frGXqP","deleteButton":"frGXqP","tab-button":"_5COuq7","tabButton":"_5COuq7","targetOpen":"zE5K4c"};
5494
5574
 
5495
5575
  function PresetActionsDropdown(props) {
5496
5576
  const { uuiNotifications } = useUuiContext();
@@ -5566,7 +5646,7 @@ const UUI_PRESETS_PANEL_MORE_BUTTON = 'uui-presets-panel-more-button';
5566
5646
  const UUI_PRESETS_PANEL_INPUT = 'uui-presets-panel-input';
5567
5647
  const UUI_PRESETS_PANEL_PRESET = 'uui-presets-panel-preset';
5568
5648
 
5569
- var css$j = {"preset-input-cell":"_7LiJBJ","presetInputCell":"_7LiJBJ","preset-input":"zWZL0y","presetInput":"zWZL0y"};
5649
+ var css$j = {"preset-input-cell":"CX--BX","presetInputCell":"CX--BX","preset-input":"Pc-ija","presetInput":"Pc-ija"};
5570
5650
 
5571
5651
  function PresetInput(props) {
5572
5652
  const [presetCaption, setPresetCaption] = useState(props.preset?.name || '');
@@ -5593,7 +5673,7 @@ function PresetInput(props) {
5593
5673
  React__default.createElement(TextInput, { cx: css$j.presetInput, onValueChange: setPresetCaption, value: presetCaption, onCancel: cancelActionHandler, onAccept: acceptActionHandler, onBlur: newPresetOnBlurHandler, autoFocus: true, maxLength: 50, isReadonly: readonly })));
5594
5674
  }
5595
5675
 
5596
- var css$i = {"preset":"B5tRsk","activePreset":"xvxfJk"};
5676
+ var css$i = {"preset":"_7-CwRy","activePreset":"I-Hd6X"};
5597
5677
 
5598
5678
  function Preset(props) {
5599
5679
  const [isRenamePreset, setIsRenamePreset] = useState(false);
@@ -5618,7 +5698,7 @@ function Preset(props) {
5618
5698
  return (React__default.createElement(FlexCell, { key: props.preset.id, alignSelf: "center", width: "auto" }, isRenamePreset ? (React__default.createElement(PresetInput, { onCancel: cancelRenamePreset, onSuccess: handlePresetRename, preset: props.preset })) : (React__default.createElement(TabButton, { caption: props.preset.name, onClick: !isPresetActive && choosePresetHandler, cx: [css$i.preset, isPresetActive && css$i.activePreset, UUI_PRESETS_PANEL_PRESET], size: settings.presetsPanel.sizes.tabButton, withNotify: isPresetActive && props.hasPresetChanged(props.preset), icon: PresetActionsDropdownComponent, iconPosition: "right", isActive: isPresetActive }))));
5619
5699
  }
5620
5700
 
5621
- var css$h = {"divider":"ykJF2A","dropdownDeleteIcon":"_8MYSu-","presetsWrapper":"_4SR-mK","addPresetContainer":"_7fxQxH","dropContainer":"YWqtWe"};
5701
+ var css$h = {"divider":"eB2z47","dropdownDeleteIcon":"_8t-mZX","presetsWrapper":"xc27q1","addPresetContainer":"wrmFxW","dropContainer":"iqVuNd"};
5622
5702
 
5623
5703
  function PresetsPanel(props) {
5624
5704
  const [isAddingPreset, setIsAddingPreset] = useState(false);
@@ -5667,9 +5747,9 @@ function PresetsPanel(props) {
5667
5747
  React__default.createElement(AdaptivePanel, { items: getPanelItems() }))));
5668
5748
  }
5669
5749
 
5670
- var css$g = {"root":"N5dccP"};
5750
+ var css$g = {"root":"LJp6vz"};
5671
5751
 
5672
- var css$f = {"root":"ZsbsVl","burger-content":"R0uvXx","burgerContent":"R0uvXx"};
5752
+ var css$f = {"root":"_6gLsRs","burger-content":"rkuFY6","burgerContent":"rkuFY6"};
5673
5753
 
5674
5754
  var _path$3;
5675
5755
  function _extends$3() { return _extends$3 = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$3.apply(null, arguments); }
@@ -5712,7 +5792,7 @@ var SvgNavigationArrowDownOutline = function SvgNavigationArrowDownOutline(props
5712
5792
  };
5713
5793
  var ForwardRef$2 = /*#__PURE__*/forwardRef(SvgNavigationArrowDownOutline);
5714
5794
 
5715
- var css$e = {"root":"F6m8xD","button-primary":"ZOdCEL","buttonPrimary":"ZOdCEL","button-secondary":"_4qZv9-","buttonSecondary":"_4qZv9-","hasIcon":"h0Cxtm","dropdown":"fCSs75"};
5795
+ var css$e = {"root":"OZQczq","button-primary":"wx8yiu","buttonPrimary":"wx8yiu","button-secondary":"gy-75D","buttonSecondary":"gy-75D","hasIcon":"QjBofk","dropdown":"qLwDDX"};
5716
5796
 
5717
5797
  function applyBurgerButtonMods(props) {
5718
5798
  return [
@@ -5737,13 +5817,13 @@ const BurgerButton = /* @__PURE__ */React__default.forwardRef((props, ref) => {
5737
5817
  }, dropdownIcon: ForwardRef$2 }));
5738
5818
  });
5739
5819
 
5740
- var css$d = {"search-input":"JJCAdZ","searchInput":"JJCAdZ"};
5820
+ var css$d = {"search-input":"gQLAWs","searchInput":"gQLAWs"};
5741
5821
 
5742
5822
  function BurgerSearch(props) {
5743
5823
  return (React.createElement(TextInput$1, { cx: cx(css$d.searchInput, 'uui-main_menu-burger-search'), iconPosition: "left", icon: ForwardRef$M, placeholder: props.placeholder, value: props.value, onValueChange: props.onValueChange, onCancel: props.onCancel, cancelIcon: props.value && ForwardRef$Q }));
5744
5824
  }
5745
5825
 
5746
- var css$c = {"root":"EMudHy","group-header":"nu5Js0","groupHeader":"nu5Js0","group-name":"uERjYv","groupName":"uERjYv","line":"XZ86-f"};
5826
+ var css$c = {"root":"w-S8L1","group-header":"YGKwqA","groupHeader":"YGKwqA","group-name":"mbcwfp","groupName":"mbcwfp","line":"YjM1L5"};
5747
5827
 
5748
5828
  function BurgerGroupHeader(props) {
5749
5829
  return (React.createElement("div", { className: cx(css$c.root, css$c.groupHeader, 'uui-burger-group-header') },
@@ -5751,7 +5831,7 @@ function BurgerGroupHeader(props) {
5751
5831
  React.createElement("span", { className: css$c.groupName }, props.caption)));
5752
5832
  }
5753
5833
 
5754
- var css$b = {"root":"AV361g","type-primary":"LF75wV","typePrimary":"LF75wV","type-secondary":"K3lGww","typeSecondary":"K3lGww"};
5834
+ var css$b = {"root":"C1udgy","type-primary":"LMLYUT","typePrimary":"LMLYUT","type-secondary":"_1NwAKU","typeSecondary":"_1NwAKU"};
5755
5835
 
5756
5836
  const MainMenuButton = /* @__PURE__ */React.forwardRef((props, ref) => {
5757
5837
  const { type, ...clickableProps } = props;
@@ -5779,7 +5859,7 @@ const MainMenuButton = /* @__PURE__ */React.forwardRef((props, ref) => {
5779
5859
  props.isDropdown && (React.createElement(IconContainer, { icon: ForwardRef$P, flipY: props.isOpen }))));
5780
5860
  });
5781
5861
 
5782
- var css$a = {"dropdown-body":"_243Ac5","dropdownBody":"_243Ac5"};
5862
+ var css$a = {"dropdown-body":"PB-SfU","dropdownBody":"PB-SfU"};
5783
5863
 
5784
5864
  function MainMenuDropdown(props) {
5785
5865
  const handleEscape = (e, onClose, isOpen) => {
@@ -5825,12 +5905,12 @@ var SvgNavigationGlobalMenuOutlineOutline = function SvgNavigationGlobalMenuOutl
5825
5905
  };
5826
5906
  var ForwardRef$1 = /*#__PURE__*/forwardRef(SvgNavigationGlobalMenuOutlineOutline);
5827
5907
 
5828
- var css$9 = {"global-menu-btn":"Burn52","globalMenuBtn":"Burn52","global-menu-icon":"IAqwXr","globalMenuIcon":"IAqwXr"};
5908
+ var css$9 = {"global-menu-btn":"A39zfo","globalMenuBtn":"A39zfo","global-menu-icon":"iMqHXL","globalMenuIcon":"iMqHXL"};
5829
5909
 
5830
5910
  const GlobalMenu = /* @__PURE__ */React.forwardRef((props, ref) => (React.createElement("button", { ref: ref, id: "global_menu_toggle", className: cx(css$9.globalMenuBtn, props.cx), ...props.rawProps },
5831
5911
  React.createElement(IconContainer, { size: 36, icon: ForwardRef$1, cx: css$9.globalMenuIcon }))));
5832
5912
 
5833
- var css$8 = {"container":"iy5whG","open":"VUDSkM","folding-arrow":"_2SBx7F","foldingArrow":"_2SBx7F"};
5913
+ var css$8 = {"container":"Vfxej-","open":"_6xCWfp","folding-arrow":"Vw00hX","foldingArrow":"Vw00hX"};
5834
5914
 
5835
5915
  const MainMenuAvatar = /* @__PURE__ */React.forwardRef((props, ref) => (React.createElement("button", { ref: ref, className: cx(css$8.container, props.isDropdown && css$8.dropdown, props.isOpen && css$8.open, props.onClick && uuiMarkers.clickable, props.cx), onClick: props.onClick, ...props.rawProps },
5836
5916
  React.createElement(Avatar, { size: "36", img: props.avatarUrl }),
@@ -5838,15 +5918,15 @@ const MainMenuAvatar = /* @__PURE__ */React.forwardRef((props, ref) => (React.cr
5838
5918
  props.isDropdown && (React.createElement("div", null,
5839
5919
  React.createElement(IconContainer, { size: 18, icon: ForwardRef$P, flipY: props.isOpen, cx: css$8.foldingArrow }))))));
5840
5920
 
5841
- var css$7 = {"search-input":"Uu9zeo","searchInput":"Uu9zeo"};
5921
+ var css$7 = {"search-input":"_67jSLc","searchInput":"_67jSLc"};
5842
5922
 
5843
5923
  const MainMenuSearch = /* @__PURE__ */React.forwardRef((props, ref) => (React.createElement(IEditableDebouncer, { ...props, render: (iEditable) => (React.createElement(TextInput$1, { iconPosition: "left", icon: ForwardRef$M, cancelIcon: props.value?.length > 0 && ForwardRef$Q, ...props, ...iEditable, ref: ref, cx: cx$1(css$7.searchInput, props.cx), ...props.rawProps })) })));
5844
5924
 
5845
- var css$6 = {"container":"-ZN7sD"};
5925
+ var css$6 = {"container":"CuJETf"};
5846
5926
 
5847
5927
  const MainMenuIcon = /* @__PURE__ */React.forwardRef((props, ref) => (React.createElement(IconButton, { ref: ref, icon: props.icon, cx: cx$1(props.cx, css$6.container), ...props })));
5848
5928
 
5849
- var css$5 = {"root":"_1QDE4-"};
5929
+ var css$5 = {"root":"b0P50j"};
5850
5930
 
5851
5931
  const Anchor = /* @__PURE__ */withMods(Anchor$1, () => [css$5.root]);
5852
5932
 
@@ -5904,7 +5984,7 @@ var SvgFileCloudUploadFill = function SvgFileCloudUploadFill(props, ref) {
5904
5984
  };
5905
5985
  var ForwardRef = /*#__PURE__*/forwardRef(SvgFileCloudUploadFill);
5906
5986
 
5907
- var css$4 = {"root":"A-Muqt","drop-start":"RrP3N2","dropStart":"RrP3N2","drop-over":"LXa2lh","dropOver":"LXa2lh","link":"dUNgjr","drop-area":"T-W1s5","dropArea":"T-W1s5","drop-caption":"hj9LDg","dropCaption":"hj9LDg","icon-blue":"PgO6qQ","iconBlue":"PgO6qQ"};
5987
+ var css$4 = {"root":"s2hV5Q","drop-start":"B8kpCs","dropStart":"B8kpCs","drop-over":"MXcGrP","dropOver":"MXcGrP","link":"_1RYnw-","drop-area":"jz8iwH","dropArea":"jz8iwH","drop-caption":"_1IWZzH","dropCaption":"_1IWZzH","icon-blue":"rnKR0s","iconBlue":"rnKR0s"};
5908
5988
 
5909
5989
  function DropSpot(props) {
5910
5990
  const getInfoText = typeof props.infoText === 'string'
@@ -5922,7 +6002,7 @@ function DropSpot(props) {
5922
6002
  return React.createElement(DropSpot$1, { render: renderAttachmentArea, onFilesDropped: props.onUploadFiles });
5923
6003
  }
5924
6004
 
5925
- var css$3 = {"root":"q4Jmgj"};
6005
+ var css$3 = {"root":"nksM9G"};
5926
6006
 
5927
6007
  const SvgCircleProgress = /* @__PURE__ */React.forwardRef((props, ref) => {
5928
6008
  const outsetRadius = props.size / 2 - 1;
@@ -5933,7 +6013,7 @@ const SvgCircleProgress = /* @__PURE__ */React.forwardRef((props, ref) => {
5933
6013
  React.createElement("circle", { strokeWidth: 1, fill: "transparent", r: outsetRadius, cx: props.size / 2, cy: props.size / 2 })));
5934
6014
  });
5935
6015
 
5936
- var css$2 = {"root":"nzEzgt","file-name":"LZ4Va8","fileName":"LZ4Va8","default-color":"ZrSeeV","defaultColor":"ZrSeeV","doc-color":"jMf4SE","docColor":"jMf4SE","xls-color":"ZSNzXO","xlsColor":"ZSNzXO","pdf-color":"Dw0ZHV","pdfColor":"Dw0ZHV","movie-color":"_0-NDhd","movieColor":"_0-NDhd","img-color":"Kb2jDC","imgColor":"Kb2jDC","mov-color":"zaIixU","movColor":"zaIixU","error-block":"sTLkU3","errorBlock":"sTLkU3","icons-block":"gybRn-","iconsBlock":"gybRn-"};
6016
+ var css$2 = {"root":"vLjTKy","file-name":"_6HkxLE","fileName":"_6HkxLE","default-color":"_2IV72d","defaultColor":"_2IV72d","doc-color":"jEY6Ye","docColor":"jEY6Ye","xls-color":"PNefNe","xlsColor":"PNefNe","pdf-color":"_-1OcsO","pdfColor":"_-1OcsO","movie-color":"CFmzjL","movieColor":"CFmzjL","img-color":"s7NiFu","imgColor":"s7NiFu","mov-color":"ZfaPOA","movColor":"ZfaPOA","error-block":"YS16lt","errorBlock":"YS16lt","icons-block":"sJWOvu","iconsBlock":"sJWOvu"};
5937
6017
 
5938
6018
  const FileCard = /* @__PURE__ */React.forwardRef((props, ref) => {
5939
6019
  const [isLoadingShow, setIsLoadingShow] = React.useState(true);
@@ -6053,7 +6133,7 @@ const getErrorPageConfig = () => ({
6053
6133
  },
6054
6134
  });
6055
6135
 
6056
- var css$1 = {"container":"qzBFgp"};
6136
+ var css$1 = {"container":"p7VA34"};
6057
6137
 
6058
6138
  const ErrorPage = (props) => {
6059
6139
  const isMobileScreen = isMobile();
@@ -6065,7 +6145,7 @@ const ErrorPage = (props) => {
6065
6145
  props?.supportLink && React__default.createElement("div", { className: "uui-error-support-link" }, props?.supportLink))));
6066
6146
  };
6067
6147
 
6068
- var css = {"recovery-spinner":"_6teYUO","recoverySpinner":"_6teYUO","recovery-message":"ton-8f","recoveryMessage":"ton-8f","modal-blocker":"f3NULg","modalBlocker":"f3NULg","modalFadeIn":"XN-DN3"};
6148
+ var css = {"recovery-spinner":"qpWq9b","recoverySpinner":"qpWq9b","recovery-message":"_8tB95V","recoveryMessage":"_8tB95V","modal-blocker":"DWNCZ1","modalBlocker":"DWNCZ1","modalFadeIn":"-rCBak"};
6069
6149
 
6070
6150
  function ErrorHandler(props) {
6071
6151
  const { uuiNotifications, uuiModals, uuiApi } = useUuiContext();