@epam/uui 5.2.0-rc.3 → 5.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. package/assets/styles/typography.scss +10 -17
  2. package/components/buttons/Button/Button.d.ts +13 -0
  3. package/components/buttons/Button/Button.d.ts.map +1 -0
  4. package/components/buttons/Button/index.d.ts +2 -0
  5. package/components/buttons/Button/index.d.ts.map +1 -0
  6. package/components/buttons/IconButton.d.ts +1 -1
  7. package/components/buttons/LinkButton.d.ts.map +1 -1
  8. package/components/buttons/index.d.ts +1 -1
  9. package/components/buttons/index.d.ts.map +1 -1
  10. package/components/datePickers/DatePickerBody.d.ts +2 -1
  11. package/components/datePickers/DatePickerBody.d.ts.map +1 -1
  12. package/components/dnd/DropMarker.d.ts.map +1 -1
  13. package/components/filters/FilterPickerBody.d.ts.map +1 -1
  14. package/components/inputs/Checkbox.d.ts +4 -4
  15. package/components/inputs/Checkbox.d.ts.map +1 -1
  16. package/components/inputs/Switch.d.ts +4 -3
  17. package/components/inputs/Switch.d.ts.map +1 -1
  18. package/components/inputs/TextInput.d.ts +3 -1
  19. package/components/inputs/TextInput.d.ts.map +1 -1
  20. package/components/layout/Accordion.d.ts +3 -2
  21. package/components/layout/Accordion.d.ts.map +1 -1
  22. package/components/layout/FlexItems/FlexCell.d.ts +3 -1
  23. package/components/layout/FlexItems/FlexCell.d.ts.map +1 -1
  24. package/components/layout/FlexItems/FlexRow.d.ts +0 -1
  25. package/components/layout/FlexItems/FlexRow.d.ts.map +1 -1
  26. package/components/layout/FlexItems/Panel.d.ts +2 -1
  27. package/components/layout/FlexItems/Panel.d.ts.map +1 -1
  28. package/components/layout/LabeledInput.d.ts +3 -2
  29. package/components/layout/LabeledInput.d.ts.map +1 -1
  30. package/components/layout/VirtualList.d.ts +32 -2
  31. package/components/layout/VirtualList.d.ts.map +1 -1
  32. package/components/navigation/MainMenu/Burger/Burger.d.ts.map +1 -1
  33. package/components/navigation/MainMenu/Burger/BurgerButton.d.ts.map +1 -1
  34. package/components/navigation/MainMenu/Burger/BurgerGroupHeader.d.ts.map +1 -1
  35. package/components/navigation/MainMenu/Burger/BurgerSearch.d.ts.map +1 -1
  36. package/components/navigation/MainMenu/MainMenu.d.ts +3 -2
  37. package/components/navigation/MainMenu/MainMenu.d.ts.map +1 -1
  38. package/components/overlays/Alert.d.ts +5 -5
  39. package/components/overlays/Alert.d.ts.map +1 -1
  40. package/components/overlays/DropdownContainer.d.ts +3 -3
  41. package/components/overlays/DropdownContainer.d.ts.map +1 -1
  42. package/components/overlays/DropdownMenu.d.ts.map +1 -1
  43. package/components/overlays/Modals.d.ts.map +1 -1
  44. package/components/overlays/Tooltip.d.ts +1 -1
  45. package/components/pickers/DataPickerBody.d.ts +1 -2
  46. package/components/pickers/DataPickerBody.d.ts.map +1 -1
  47. package/components/pickers/PickerInput.d.ts +1 -2
  48. package/components/pickers/PickerInput.d.ts.map +1 -1
  49. package/components/tables/ColumnHeaderDropdown/ColumnHeaderDropdown.d.ts.map +1 -1
  50. package/components/tables/DataRowsContainer/DataRowsContainer.d.ts +1 -1
  51. package/components/tables/DataRowsContainer/DataRowsContainer.d.ts.map +1 -1
  52. package/components/tables/DataTable.d.ts +0 -1
  53. package/components/tables/DataTable.d.ts.map +1 -1
  54. package/components/tables/DataTableCell.d.ts +0 -1
  55. package/components/tables/DataTableCell.d.ts.map +1 -1
  56. package/components/tables/DataTableHeaderCell.d.ts +0 -1
  57. package/components/tables/DataTableHeaderCell.d.ts.map +1 -1
  58. package/components/tables/DataTableHeaderRow.d.ts +0 -1
  59. package/components/tables/DataTableHeaderRow.d.ts.map +1 -1
  60. package/components/tables/DataTableRow.d.ts +0 -1
  61. package/components/tables/DataTableRow.d.ts.map +1 -1
  62. package/components/tables/columnsConfigurationModal/PinIconButton.d.ts.map +1 -1
  63. package/components/types.d.ts +13 -4
  64. package/components/types.d.ts.map +1 -1
  65. package/components/typography/RichTextView.d.ts +3 -2
  66. package/components/typography/RichTextView.d.ts.map +1 -1
  67. package/components/typography/Text.d.ts +2 -4
  68. package/components/typography/Text.d.ts.map +1 -1
  69. package/components/widgets/Badge.d.ts.map +1 -1
  70. package/components/widgets/ProgressBar.d.ts.map +1 -1
  71. package/components/widgets/index.d.ts +0 -1
  72. package/components/widgets/index.d.ts.map +1 -1
  73. package/index.esm.js +1370 -1397
  74. package/index.esm.js.map +1 -1
  75. package/index.js +1366 -1394
  76. package/index.js.map +1 -1
  77. package/package.json +5 -5
  78. package/stats.html +1 -1
  79. package/styles.css +2884 -3424
  80. package/styles.css.map +1 -1
  81. package/components/buttons/Button.d.ts +0 -13
  82. package/components/buttons/Button.d.ts.map +0 -1
  83. package/components/widgets/Informer.d.ts +0 -8
  84. package/components/widgets/Informer.d.ts.map +0 -1
package/index.esm.js CHANGED
@@ -1,15 +1,16 @@
1
- import { Button as Button$1, IconButton as IconButton$1, Checkbox as Checkbox$1, RadioInput as RadioInput$1, Switch as Switch$1, TextInput as TextInput$1, ControlGroup as ControlGroup$1, NumericInput as NumericInput$1, TextArea as TextArea$1, DropdownContainer as DropdownContainer$1, TimePickerBody as TimePickerBody$1, BaseTimePicker, InputAddon as InputAddon$1, Calendar as Calendar$1, DatePickerBodyBase, valueFormat, YearSelection, MonthSelection, i18n as i18n$1, IconContainer, Dropdown as Dropdown$1, Anchor as Anchor$1, FlexRow as FlexRow$1, Text as Text$1, FlexSpacer, FlexCell as FlexCell$1, VPanel, Accordion as Accordion$1, Tooltip as Tooltip$1, LabeledInput as LabeledInput$1, RadioGroup as RadioGroup$1, ScrollBars as ScrollBars$1, VirtualList as VirtualList$1, Spinner as Spinner$1, Blocker as Blocker$1, CheckboxGroup as CheckboxGroup$1, PickerBodyBase, DataTableCell as DataTableCell$1, DragHandle, DataPickerRow as DataPickerRow$1, usePickerModal, handleDataSourceKeyboard, AvatarStack as AvatarStack$1, Paginator as Paginator$1, ProgressBar as ProgressBar$1, PickerToggler as PickerToggler$1, Avatar, usePickerInput, usePickerList, BaseDatePicker, BaseRangeDatePicker, AdaptivePanel, RichTextView as RichTextView$1, ModalBlocker as ModalBlocker$1, ModalWindow as ModalWindow$1, CalendarPresets as CalendarPresets$1, uuiDaySelection, uuiDatePickerBodyBase, DataTableRow as DataTableRow$1, DataTableHeaderCell as DataTableHeaderCell$1, DataTableHeaderRow as DataTableHeaderRow$1, useColumnsConfiguration, DataTableSelectionProvider, Burger as Burger$1, MainMenu as MainMenu$1, UploadFileToggler, DropSpot as DropSpot$1 } from '@epam/uui-components';
1
+ import * as uuiComponents from '@epam/uui-components';
2
+ import { IconButton as IconButton$1, Button as Button$1, RadioInput as RadioInput$1, TextInput as TextInput$1, ControlGroup as ControlGroup$1, NumericInput as NumericInput$1, TextArea as TextArea$1, TimePickerBody as TimePickerBody$1, BaseTimePicker, InputAddon as InputAddon$1, Calendar as Calendar$1, DatePickerBodyBase, valueFormat, YearSelection, MonthSelection, i18n as i18n$1, IconContainer, Dropdown as Dropdown$1, Anchor as Anchor$1, FlexRow as FlexRow$1, Text as Text$1, FlexSpacer, FlexCell as FlexCell$1, VPanel, ModalBlocker as ModalBlocker$1, ModalWindow as ModalWindow$1, Tooltip as Tooltip$1, RadioGroup as RadioGroup$1, ScrollBars as ScrollBars$1, Spinner as Spinner$1, Blocker as Blocker$1, CheckboxGroup as CheckboxGroup$1, BaseDatePicker, CalendarPresets as CalendarPresets$1, uuiDaySelection, uuiDatePickerBodyBase, BaseRangeDatePicker, PickerBodyBase, DataTableCell as DataTableCell$1, DragHandle, DataPickerRow as DataPickerRow$1, usePickerModal, handleDataSourceKeyboard, AvatarStack as AvatarStack$1, Paginator as Paginator$1, ProgressBar as ProgressBar$1, PickerToggler as PickerToggler$1, Avatar, usePickerInput, usePickerList, DataTableRow as DataTableRow$1, DataTableHeaderCell as DataTableHeaderCell$1, DataTableHeaderRow as DataTableHeaderRow$1, AdaptivePanel, useColumnsConfiguration, DataTableSelectionProvider, Burger as Burger$1, UploadFileToggler, DropSpot as DropSpot$1 } from '@epam/uui-components';
2
3
  export { Avatar, FlexSpacer, IconContainer } from '@epam/uui-components';
3
- import { withMods, IEditableDebouncer, devLogger, cx as cx$1, UuiContext, uuiMod, i18n as i18n$2, Lens, isMobile, uuiMarkers, uuiElement, useForceUpdate, getSeparatedValue, useArrayDataSource, getOrderBetween, useUuiContext, arrayToMatrix, mobilePopperModifier, uuiDataTableHeaderCell, DndActor, useColumnsConfig, uuiScrollShadows, Form as Form$1, useForm as useForm$1, formatBytes } from '@epam/uui-core';
4
+ import { withMods, IEditableDebouncer, devLogger, cx as cx$1, UuiContext, uuiMod, i18n as i18n$2, useVirtualList, useScrollShadows, uuiMarkers, arrayToMatrix, Lens, isMobile, mobilePopperModifier, uuiDataTableHeaderCell, uuiElement, useForceUpdate, getSeparatedValue, useArrayDataSource, getOrderBetween, useUuiContext, DndActor, useColumnsConfig, uuiScrollShadows, Form as Form$1, useForm as useForm$1, formatBytes } from '@epam/uui-core';
4
5
  import * as React from 'react';
5
- import React__default, { forwardRef, useContext, useRef, useState, useMemo, useEffect, useCallback } from 'react';
6
+ import React__default, { forwardRef, useContext, useRef, useState, useCallback, useMemo, useEffect } from 'react';
6
7
  import dayjs from 'dayjs';
7
8
  import customParseFormat from 'dayjs/plugin/customParseFormat.js';
8
9
  import updateLocale from 'dayjs/plugin/updateLocale.js';
9
10
  import cx from 'classnames';
10
11
  import localeData from 'dayjs/plugin/localeData';
11
- import sortBy from 'lodash.sortby';
12
12
  import isoWeek from 'dayjs/plugin/isoWeek.js';
13
+ import sortBy from 'lodash.sortby';
13
14
  import FocusLock from 'react-focus-lock';
14
15
 
15
16
  var _path$1d;
@@ -571,37 +572,36 @@ const systemIcons = {
571
572
  },
572
573
  };
573
574
 
574
- var css$1l = {"root":"_8xDYat","size-18":"CUnR2U","size-24":"n-QNUz","size-30":"WJXZhd","size-36":"GYxQn3","size-42":"JrC7Ne","size-48":"mkEgLj","size18":"CUnR2U","size24":"n-QNUz","size30":"WJXZhd","size36":"GYxQn3","size42":"JrC7Ne","size48":"mkEgLj"};
575
+ var buttonCss = {"root":"QUH6Vs","mode-solid":"PUdmlY","mode-outline":"YI5UJZ","mode-none":"_4QI8cF","mode-ghost":"_-1oYSP","size-18":"tU0kim","size-24":"NspImT","size-30":"CTfB1X","size-36":"OuvVcj","size-42":"nv0V8T","size-48":"N2GXps","modeSolid":"PUdmlY","modeOutline":"YI5UJZ","modeNone":"_4QI8cF","modeGhost":"_-1oYSP","size18":"tU0kim","size24":"NspImT","size30":"CTfB1X","size36":"OuvVcj","size42":"nv0V8T","size48":"N2GXps"};
575
576
 
576
577
  const allButtonColors = [
577
- 'accent', 'primary', 'secondary', 'critical',
578
+ 'accent', 'primary', 'secondary', 'negative',
578
579
  ];
579
580
  const defaultSize$b = '36';
580
581
  function applyButtonMods(mods) {
581
582
  return [
582
- css$1l.root,
583
- 'uui-button',
584
- `uui-fill-${mods.fill || 'solid'}`,
585
- `uui-color-${mods.color || 'primary'}`,
586
- css$1l[`size-${mods.size || defaultSize$b}`],
583
+ `button-${mods.color || 'primary'}`,
584
+ buttonCss.root,
585
+ buttonCss[`size-${mods.size || defaultSize$b}`],
586
+ buttonCss[`mode-${mods.mode || 'solid'}`],
587
587
  ];
588
588
  }
589
- const Button = withMods(Button$1, applyButtonMods, (props) => ({
589
+ const Button = withMods(uuiComponents.Button, applyButtonMods, (props) => ({
590
590
  dropdownIcon: systemIcons[props.size || defaultSize$b].foldingArrow,
591
591
  clearIcon: systemIcons[props.size || defaultSize$b].clear,
592
592
  }));
593
593
 
594
- var css$1k = {"root":"B5z-iP"};
594
+ var css$1i = {"root":"E-pvc-"};
595
595
 
596
596
  const allIconColors = [
597
- 'info', 'success', 'warning', 'error', 'secondary', 'neutral',
597
+ 'info', 'success', 'warning', 'error', 'secondary', 'default',
598
598
  ];
599
599
  function applyIconButtonMods(mods) {
600
- return ['uui-icon_button', `uui-color-${mods.color || 'neutral'}`, css$1k.root];
600
+ return [`icon-button-${mods.color || 'default'}`, css$1i.root];
601
601
  }
602
602
  const IconButton = withMods(IconButton$1, applyIconButtonMods);
603
603
 
604
- var css$1j = {"root":"mWCYfr","size-18":"JGq-lV","size-24":"xKhXMC","size-30":"YBQ-6X","size-36":"jGDPvD","size-42":"lIQCww","size-48":"PgKsfV","size18":"JGq-lV","size24":"xKhXMC","size30":"YBQ-6X","size36":"jGDPvD","size42":"lIQCww","size48":"PgKsfV"};
604
+ var css$1h = {"root":"qufNQD","size-18":"tJVt0T","size-24":"JVKFcw","size-30":"RLCwxI","size-36":"Jp31ld","size-42":"bPmGkY","size-48":"_5oad3H","size18":"tJVt0T","size24":"JVKFcw","size30":"RLCwxI","size36":"Jp31ld","size42":"bPmGkY","size48":"_5oad3H"};
605
605
 
606
606
  function getIconClass(props) {
607
607
  const classList = {
@@ -624,11 +624,10 @@ const defaultSize$a = '36';
624
624
  const allLinkButtonColors = ['primary', 'secondary', 'contrast'];
625
625
  function applyLinkButtonMods(mods) {
626
626
  return [
627
- 'uui-link_button',
628
- css$1j.root,
629
- css$1j['size-' + (mods.size || defaultSize$a)],
627
+ css$1h.root,
628
+ css$1h['size-' + (mods.size || defaultSize$a)],
630
629
  ...getIconClass(mods),
631
- `uui-color-${mods.color || 'primary'}`,
630
+ `link-button-${mods.color || 'primary'}`,
632
631
  ];
633
632
  }
634
633
  const LinkButton = withMods(Button$1, applyLinkButtonMods, (props) => ({
@@ -636,30 +635,30 @@ const LinkButton = withMods(Button$1, applyLinkButtonMods, (props) => ({
636
635
  clearIcon: systemIcons[props.size || defaultSize$a].clear,
637
636
  }));
638
637
 
639
- var css$1i = {"root":"qRkalt","withNotify":"PZj3JN","size-36":"UKYRFQ","size-48":"_33MZE0","size-60":"Onrb-Z","size36":"UKYRFQ","size48":"_33MZE0","size60":"Onrb-Z"};
638
+ var css$1g = {"root":"S-bFnI","withNotify":"T8G5AG","size-36":"vAb6JS","size-48":"bEbX6B","size-60":"TT7e5T","size36":"vAb6JS","size48":"bEbX6B","size60":"TT7e5T"};
640
639
 
641
640
  function applyTabButtonMods(mods) {
642
641
  return [
643
- css$1i.root,
644
- 'uui-tab-button',
645
- css$1i['size-' + (mods.size || '48')],
646
- mods.withNotify && css$1i.withNotify,
642
+ css$1g.root,
643
+ 'informer-default',
644
+ css$1g['size-' + (mods.size || '48')],
645
+ mods.withNotify && css$1g.withNotify,
647
646
  ...getIconClass(mods),
648
647
  ];
649
648
  }
650
649
  const TabButton = withMods(Button$1, applyTabButtonMods, (props) => (Object.assign(Object.assign({ dropdownIcon: systemIcons['36'].foldingArrow, clearIcon: systemIcons['36'].clear, countPosition: 'right' }, props), { rawProps: Object.assign({ role: 'tab' }, props.rawProps) })));
651
650
 
652
- var css$1h = {"root":"P-Xm-d"};
651
+ var css$1f = {"root":"-z7hER"};
653
652
 
654
653
  function applyVerticalTabButtonMods() {
655
- return [css$1h.root];
654
+ return [css$1f.root];
656
655
  }
657
656
  const VerticalTabButton = withMods(TabButton, applyVerticalTabButtonMods);
658
657
 
659
- const allButtonFills = [
658
+ const allButtonModes = [
660
659
  'solid', 'outline', 'ghost', 'none',
661
660
  ];
662
- const allFillStyles = allButtonFills;
661
+ const allFillStyles = allButtonModes;
663
662
  const allSizes = [
664
663
  '24', '30', '36', '42', '48',
665
664
  ];
@@ -669,8 +668,11 @@ const allRowSizes = [
669
668
  const allSemanticColors = [
670
669
  'info', 'success', 'warning', 'error',
671
670
  ];
671
+ const allButtonSemanticColors = [
672
+ 'accent', 'primary', 'secondary', 'negative',
673
+ ];
672
674
  const allEpamBadgeSemanticColors = [
673
- 'info', 'success', 'warning', 'error', 'neutral',
675
+ 'info', 'success', 'warning', 'error', 'default',
674
676
  ];
675
677
  const allTextSizes = [
676
678
  '18', '24', '30', '36', '48',
@@ -749,23 +751,20 @@ var SvgPartlySelect18 = function SvgPartlySelect18(props, ref) {
749
751
  };
750
752
  var ForwardRef$L = /*#__PURE__*/forwardRef(SvgPartlySelect18);
751
753
 
752
- var css$1g = {"root":"mCn1wd","size-18":"-pnsU7","size-12":"_3NAUAF","mode-cell":"s8ghIq","size18":"-pnsU7","size12":"_3NAUAF","modeCell":"s8ghIq"};
754
+ var css$1e = {"root":"_0HmuS5","size-18":"aqlLAd","size-12":"M5rgEr","mode-cell":"SDybOn","size18":"aqlLAd","size12":"M5rgEr","modeCell":"SDybOn"};
753
755
 
754
756
  function applyCheckboxMods(mods) {
755
757
  return [
756
- css$1g.root,
757
- css$1g['size-' + (mods.size || '18')],
758
- css$1g['mode-' + (mods.mode || 'form')],
759
- 'uui-color-primary',
758
+ css$1e.root, css$1e['size-' + (mods.size || '18')], css$1e['mode-' + (mods.mode || 'form')],
760
759
  ];
761
760
  }
762
761
  const applyUUICheckboxProps = (props) => ({
763
762
  icon: props.size === '12' ? ForwardRef$O : ForwardRef$N,
764
763
  indeterminateIcon: props.size === '12' ? ForwardRef$M : ForwardRef$L,
765
764
  });
766
- const Checkbox = withMods(Checkbox$1, applyCheckboxMods, applyUUICheckboxProps);
765
+ const Checkbox = withMods(uuiComponents.Checkbox, applyCheckboxMods, applyUUICheckboxProps);
767
766
 
768
- var css$1f = {"root":"NDw01S","size-18":"Z7qS3J","size-12":"ylYjgF","size18":"Z7qS3J","size12":"ylYjgF"};
767
+ var css$1d = {"root":"rV0pO4","size-18":"xmFDP2","size-12":"bCJITc","size18":"xmFDP2","size12":"bCJITc"};
769
768
 
770
769
  var _circle;
771
770
  function _extends$K() { _extends$K = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$K.apply(this, arguments); }
@@ -785,18 +784,18 @@ var SvgRadioPoint = function SvgRadioPoint(props, ref) {
785
784
  var ForwardRef$K = /*#__PURE__*/forwardRef(SvgRadioPoint);
786
785
 
787
786
  function applyRadioInputMods(mods) {
788
- return [css$1f.root, css$1f['size-' + (mods.size || '18')], 'uui-color-primary'];
787
+ return [css$1d.root, css$1d['size-' + (mods.size || '18')]];
789
788
  }
790
789
  const RadioInput = withMods(RadioInput$1, applyRadioInputMods, () => ({ icon: ForwardRef$K }));
791
790
 
792
- var css$1e = {"root":"yswhAi","size-12":"AKebHP","size-18":"SyOckL","size-24":"_1aUprk","size12":"AKebHP","size18":"SyOckL","size24":"_1aUprk"};
791
+ var css$1c = {"root":"bFmAME","size-12":"ImyDES","size-18":"_0wNFkz","size-24":"I3TL--","size12":"ImyDES","size18":"_0wNFkz","size24":"I3TL--"};
793
792
 
794
793
  function applySwitchMods(mods) {
795
794
  return [
796
- css$1e.root, css$1e['size-' + (mods.size || '18')], 'uui-color-primary',
795
+ 'switch-vars', css$1c.root, css$1c['size-' + (mods.size || '18')],
797
796
  ];
798
797
  }
799
- const Switch = withMods(Switch$1, applySwitchMods);
798
+ const Switch = withMods(uuiComponents.Switch, applySwitchMods);
800
799
 
801
800
  /******************************************************************************
802
801
  Copyright (c) Microsoft Corporation.
@@ -842,7 +841,7 @@ typeof SuppressedError === "function" ? SuppressedError : function (error, suppr
842
841
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
843
842
  };
844
843
 
845
- var textInputCss = {"root":"pQN2Hb","mode-form":"jYbWAN","mode-inline":"a15a6A","mode-cell":"iTNCzd","size-24":"LtSJwc","size-30":"V3DpDv","size-36":"G3kf7f","size-42":"_9yiRif","size-48":"LKb2a0","modeForm":"jYbWAN","modeInline":"a15a6A","modeCell":"iTNCzd","size24":"LtSJwc","size30":"V3DpDv","size36":"G3kf7f","size42":"_9yiRif","size48":"LKb2a0"};
844
+ var textInputCss = {"root":"ixikS-","mode-form":"hArR5R","mode-inline":"Ullg9r","mode-cell":"O1d9bM","size-24":"_--t0HX","size-30":"czxZvN","size-36":"rCY3sq","size-42":"AyyVsA","size-48":"_2auiOB","modeForm":"hArR5R","modeInline":"Ullg9r","modeCell":"O1d9bM","size24":"_--t0HX","size30":"czxZvN","size36":"rCY3sq","size42":"AyyVsA","size48":"_2auiOB"};
846
845
 
847
846
  const defaultSize$9 = '36';
848
847
  const defaultMode$5 = EditMode.FORM;
@@ -871,22 +870,22 @@ const SearchInput = React__default.forwardRef((props, ref) => {
871
870
  : undefined, type: "search", inputMode: "search", ref: ref }, textInputProps, iEditable))) })));
872
871
  });
873
872
 
874
- var css$1d = {"root":"XFGIxV"};
873
+ var css$1b = {"root":"Yz-PH2"};
875
874
 
876
- const ControlGroup = withMods(ControlGroup$1, () => [css$1d.root]);
875
+ const ControlGroup = withMods(ControlGroup$1, () => [css$1b.root]);
877
876
 
878
877
  function MultiSwitchComponent(props, ref) {
879
- return (React.createElement(ControlGroup, { ref: ref, rawProps: Object.assign(Object.assign({}, props.rawProps), { role: 'tablist' }) }, props.items.map((item, index) => (React.createElement(Button, Object.assign({}, props, item, { isDisabled: props.isDisabled, key: index + '-' + item.id, onClick: () => props.onValueChange(item.id), fill: props.value === item.id ? 'solid' : 'outline', color: props.color === 'secondary' && props.value === item.id ? 'primary' : props.color || 'primary', size: props.size, rawProps: { 'aria-current': props.value === item.id, role: 'tab' } }))))));
878
+ return (React.createElement(ControlGroup, { ref: ref, rawProps: Object.assign(Object.assign({}, props.rawProps), { role: 'tablist' }) }, props.items.map((item, index) => (React.createElement(Button, Object.assign({}, props, item, { isDisabled: props.isDisabled, key: index + '-' + item.id, onClick: () => props.onValueChange(item.id), mode: props.value === item.id ? 'solid' : 'outline', color: props.color === 'secondary' && props.value === item.id ? 'primary' : props.color || 'primary', size: props.size, rawProps: { 'aria-current': props.value === item.id, role: 'tab' } }))))));
880
879
  }
881
880
  const MultiSwitch = React.forwardRef(MultiSwitchComponent);
882
881
 
883
- var css$1c = {"root":"_2Bn2t-","size-24":"FvOkQz","size-30":"yrVy9l","size-36":"RLTuCt","size-42":"N1Rcf4","size-48":"WExutP","mode-form":"Ozo4-p","mode-cell":"yYTf-L","size24":"FvOkQz","size30":"yrVy9l","size36":"RLTuCt","size42":"N1Rcf4","size48":"WExutP","modeForm":"Ozo4-p","modeCell":"yYTf-L"};
882
+ var css$1a = {"root":"_0E7PbO","size-24":"ozFBJK","size-30":"qPA5-n","size-36":"-WXHNr","size-42":"wcb74Q","size-48":"_9cYYEe","mode-form":"EhLuew","mode-cell":"Pcyu6T","size24":"ozFBJK","size30":"qPA5-n","size36":"-WXHNr","size42":"wcb74Q","size48":"_9cYYEe","modeForm":"EhLuew","modeCell":"Pcyu6T"};
884
883
 
885
884
  const defaultSize$8 = '36';
886
885
  const defaultMode$4 = EditMode.FORM;
887
886
  function applyNumericInputMods(mods) {
888
887
  return [
889
- textInputCss.root, css$1c.root, css$1c['size-' + (mods.size || defaultSize$8)], textInputCss['size-' + (mods.size || defaultSize$8)], textInputCss['mode-' + (mods.mode || defaultMode$4)],
888
+ textInputCss.root, css$1a.root, css$1a['size-' + (mods.size || defaultSize$8)], textInputCss['size-' + (mods.size || defaultSize$8)], textInputCss['mode-' + (mods.mode || defaultMode$4)],
890
889
  ];
891
890
  }
892
891
  const NumericInput = withMods(NumericInput$1, applyNumericInputMods, (props) => {
@@ -899,13 +898,13 @@ const NumericInput = withMods(NumericInput$1, applyNumericInputMods, (props) =>
899
898
  });
900
899
  });
901
900
 
902
- var css$1b = {"root":"bkrhfN","mode-form":"UAONtW","mode-cell":"yBW8Xe","mode-inline":"Uhf64E","size-24":"_4TYlSr","size-30":"SUQKWW","size-36":"JqlVkG","size-42":"aQfEdH","size-48":"Wa2cTq","modeForm":"UAONtW","modeCell":"yBW8Xe","modeInline":"Uhf64E","size24":"_4TYlSr","size30":"SUQKWW","size36":"JqlVkG","size42":"aQfEdH","size48":"Wa2cTq"};
901
+ var css$19 = {"root":"IKpXwB","mode-form":"_7YArHI","mode-cell":"_1jMdoM","mode-inline":"oDiENK","size-24":"hOvIFQ","size-30":"_9V6xIZ","size-36":"J335WH","size-42":"ynDtSX","size-48":"ari4lJ","modeForm":"_7YArHI","modeCell":"_1jMdoM","modeInline":"oDiENK","size24":"hOvIFQ","size30":"_9V6xIZ","size36":"J335WH","size42":"ynDtSX","size48":"ari4lJ"};
903
902
 
904
903
  const defaultSize$7 = '36';
905
904
  const defaultMode$3 = EditMode.FORM;
906
905
  function applyTextAreaMods(mods) {
907
906
  return [
908
- css$1b.root, css$1b['size-' + (mods.size || defaultSize$7)], css$1b['mode-' + (mods.mode || defaultMode$3)],
907
+ css$19.root, css$19['size-' + (mods.size || defaultSize$7)], css$19['mode-' + (mods.mode || defaultMode$3)],
909
908
  ];
910
909
  }
911
910
  const TextArea = withMods(TextArea$1, applyTextAreaMods, (props) => ({
@@ -913,20 +912,18 @@ const TextArea = withMods(TextArea$1, applyTextAreaMods, (props) => ({
913
912
  maxLength: props.mode === EditMode.CELL ? undefined : props.maxLength,
914
913
  }));
915
914
 
916
- var css$1a = {"root":"Bts3XB"};
915
+ var css$18 = {"root":"UCG4d3"};
917
916
 
918
917
  function applyDropdownContainerMods(mods) {
919
918
  return [
920
- css$1a.root,
921
- mods.vPadding && `vPadding-${mods.vPadding}`,
922
- mods.padding && `padding-${mods.padding}`,
919
+ css$18.root, mods.vPadding && `vPadding-${mods.vPadding}`, mods.padding && `padding-${mods.padding}`,
923
920
  ];
924
921
  }
925
- const DropdownContainer = withMods(DropdownContainer$1, applyDropdownContainerMods);
922
+ const DropdownContainer = withMods(uuiComponents.DropdownContainer, applyDropdownContainerMods);
926
923
 
927
- var css$19 = {"root":"jThuOL","icon":"_0eoPvM","date-input":"wz-piV","dateInput":"wz-piV"};
924
+ var css$17 = {"root":"JkWZQf","icon":"mDPX3T","date-input":"HJW-FZ","dateInput":"HJW-FZ"};
928
925
 
929
- const TimePickerBody = withMods(TimePickerBody$1, () => [css$19.root], () => ({ addIcon: ForwardRef$1b, subtractIcon: ForwardRef$1b }));
926
+ const TimePickerBody = withMods(TimePickerBody$1, () => [css$17.root], () => ({ addIcon: ForwardRef$1b, subtractIcon: ForwardRef$1b }));
930
927
 
931
928
  dayjs.extend(customParseFormat);
932
929
  const defaultMode$2 = EditMode.FORM;
@@ -946,7 +943,7 @@ class TimePicker extends BaseTimePicker {
946
943
  });
947
944
  }
948
945
  }
949
- return (React__default.createElement(TextInput, Object.assign({}, props, { onClick: null, size: this.props.size || '36', isDisabled: this.props.isDisabled, isReadonly: this.props.isReadonly, isInvalid: this.props.isInvalid, cx: [css$19.root, css$19.dateInput, this.props.inputCx], value: this.state.value, onValueChange: this.handleInputChange, onCancel: this.onClear, onFocus: this.handleFocus, onBlur: this.handleBlur, isDropdown: false, placeholder: this.props.placeholder ? this.props.placeholder : this.getFormat(), mode: this.props.mode || defaultMode$2, rawProps: (_a = this.props.rawProps) === null || _a === void 0 ? void 0 : _a.input })));
946
+ return (React__default.createElement(TextInput, Object.assign({}, props, { onClick: null, size: this.props.size || '36', isDisabled: this.props.isDisabled, isReadonly: this.props.isReadonly, isInvalid: this.props.isInvalid, cx: [css$17.dateInput, this.props.inputCx], value: this.state.value, onValueChange: this.handleInputChange, onCancel: this.onClear, onFocus: this.handleFocus, onBlur: this.handleBlur, isDropdown: false, placeholder: this.props.placeholder ? this.props.placeholder : this.getFormat(), mode: this.props.mode || defaultMode$2, rawProps: (_a = this.props.rawProps) === null || _a === void 0 ? void 0 : _a.input })));
950
947
  };
951
948
  this.renderBody = (props) => {
952
949
  var _a;
@@ -956,16 +953,16 @@ class TimePicker extends BaseTimePicker {
956
953
  }
957
954
  }
958
955
 
959
- var css$18 = {"root":"_5Rd7CG"};
956
+ var css$16 = {"root":"_4u8TGr"};
960
957
 
961
958
  function applyInputAddonMods() {
962
959
  return [
963
- css$18.root,
960
+ css$16.root,
964
961
  ];
965
962
  }
966
963
  const InputAddon = withMods(InputAddon$1, applyInputAddonMods);
967
964
 
968
- var css$17 = {"container":"YgfwCr"};
965
+ var css$15 = {"container":"eNm-kq"};
969
966
 
970
967
  var _path$I;
971
968
  function _extends$J() { _extends$J = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$J.apply(this, arguments); }
@@ -1074,22 +1071,20 @@ function DatePickerHeader(props) {
1074
1071
  var _a, _b, _c;
1075
1072
  return `${((_a = props.value) === null || _a === void 0 ? void 0 : _a.view) !== 'MONTH_SELECTION' ? dayjs.months()[(_b = props.value) === null || _b === void 0 ? void 0 : _b.displayedDate.month()] : ''} ${(_c = props.value) === null || _c === void 0 ? void 0 : _c.displayedDate.year()}`;
1076
1073
  }, [(_a = props.value) === null || _a === void 0 ? void 0 : _a.view, (_b = props.value) === null || _b === void 0 ? void 0 : _b.displayedDate]);
1077
- return (React.createElement("div", { className: cx(css$17.container, uuiHeader.container, props.cx) },
1074
+ return (React.createElement("div", { className: cx(css$15.container, uuiHeader.container, props.cx) },
1078
1075
  React.createElement("header", { className: uuiHeader.header },
1079
- React.createElement(Button, { icon: props.navIconLeft || ForwardRef$J, color: "secondary", fill: "ghost", cx: uuiHeader.navIconLeft, onClick: () => onLeftNavigationArrow() }),
1080
- React.createElement(Button, { caption: title, fill: "ghost", cx: uuiHeader.navTitle, onClick: () => onCaptionClick(props.value.view) }),
1081
- React.createElement(Button, { icon: props.navIconRight || ForwardRef$I, color: "secondary", fill: "ghost", cx: uuiHeader.navIconRight, onClick: () => onRightNavigationArrow() }))));
1076
+ React.createElement(Button, { icon: ForwardRef$J, color: "secondary", mode: "ghost", cx: uuiHeader.navIconLeft, onClick: () => onLeftNavigationArrow() }),
1077
+ React.createElement(Button, { caption: title, mode: "ghost", cx: uuiHeader.navTitle, onClick: () => onCaptionClick(props.value.view) }),
1078
+ React.createElement(Button, { icon: ForwardRef$I, color: "secondary", mode: "ghost", cx: uuiHeader.navIconRight, onClick: () => onRightNavigationArrow() }))));
1082
1079
  }
1083
1080
 
1084
- var css$16 = {"root":"F9Yc8K"};
1081
+ var css$14 = {"root":"xW-c5o"};
1085
1082
 
1086
1083
  function applyDateSelectionMods() {
1087
- return [css$16.root];
1084
+ return [css$14.root];
1088
1085
  }
1089
1086
  const Calendar = withMods(Calendar$1, applyDateSelectionMods);
1090
1087
 
1091
- var css$15 = {"root":"OWohPB"};
1092
-
1093
1088
  dayjs.extend(updateLocale);
1094
1089
  const uuiDatePickerBody = {
1095
1090
  wrapper: 'uui-datepickerBody-wrapper',
@@ -1115,8 +1110,8 @@ class DatePickerBody extends DatePickerBodyBase {
1115
1110
  return (React.createElement(Calendar, { value: dayjs(this.props.value.selectedDate), onValueChange: this.onDayClick, displayedDate: this.props.value.displayedDate, filter: this.props.filter, getDayCX: this.props.getDayCX, renderDay: this.props.renderDay, isHoliday: this.props.isHoliday }));
1116
1111
  }
1117
1112
  };
1118
- this.renderBody = () => {
1119
- return (React.createElement("div", { className: cx$1(css$15.root, uuiDatePickerBody.wrapper, this.props.cx) },
1113
+ this.renderDatePicker = () => {
1114
+ return (React.createElement("div", { className: cx$1(uuiDatePickerBody.wrapper, this.props.cx) },
1120
1115
  React.createElement(DatePickerHeader, { value: this.props.value, onValueChange: (newValue) => this.props.setDisplayedDateAndView(newValue.displayedDate, newValue.view) }),
1121
1116
  this.getView()));
1122
1117
  };
@@ -1205,16 +1200,16 @@ var SvgNavigationClose24$1 = function SvgNavigationClose24(props, ref) {
1205
1200
  };
1206
1201
  var ForwardRef$D = /*#__PURE__*/forwardRef(SvgNavigationClose24$1);
1207
1202
 
1208
- var css$14 = {"root":"_0ZIked","icon-wrapper":"_323APP","alert-wrapper":"UKzorq","size-48":"jDI03w","size-36":"kUk8dq","action-wrapper":"qb8FPn","action-icon":"RmKnuG","action-link":"ZSsfts","close-icon":"kdwLKQ","main-path":"L-dHhV","content":"hYii3z","iconWrapper":"_323APP","alertWrapper":"UKzorq","size48":"jDI03w","size36":"kUk8dq","actionWrapper":"qb8FPn","actionIcon":"RmKnuG","actionLink":"ZSsfts","closeIcon":"kdwLKQ","mainPath":"L-dHhV"};
1203
+ var css$13 = {"root":"sOzgSz","icon-wrapper":"X102F6","alert-wrapper":"h6khSz","size-48":"FI-DGe","size-36":"nYkxfx","action-wrapper":"TQqan5","action-icon":"kVehal","action-link":"s-s75J","close-icon":"hWRctH","main-path":"EyeoAy","content":"j52qKb","iconWrapper":"X102F6","alertWrapper":"h6khSz","size48":"FI-DGe","size36":"nYkxfx","actionWrapper":"TQqan5","actionIcon":"kVehal","actionLink":"s-s75J","closeIcon":"hWRctH","mainPath":"EyeoAy"};
1209
1204
 
1210
- const Alert = React.forwardRef((props, ref) => (React.createElement("div", Object.assign({ role: "alert", ref: ref, className: cx('uui-alert', css$14.root, css$14.alertWrapper, props.color && `uui-color-${props.color}`, props.cx, (props.size === '36' ? css$14.size36 : css$14.size48)) }, props.rawProps),
1211
- React.createElement("div", { className: css$14.mainPath },
1212
- props.icon && (React.createElement("div", { className: css$14.iconWrapper },
1213
- React.createElement(IconContainer, { icon: props.icon, cx: css$14.actionIcon }))),
1214
- React.createElement("div", { className: css$14.content },
1205
+ const Alert = React.forwardRef((props, ref) => (React.createElement("div", Object.assign({ role: "alert", ref: ref, className: cx(css$13.alertWrapper, `alert-${props.color || 'default'}`, css$13.root, props.cx, (props.size === '36' ? css$13.size36 : css$13.size48)) }, props.rawProps),
1206
+ React.createElement("div", { className: css$13.mainPath },
1207
+ props.icon && (React.createElement("div", { className: css$13.iconWrapper },
1208
+ React.createElement(IconContainer, { icon: props.icon, cx: css$13.actionIcon }))),
1209
+ React.createElement("div", { className: css$13.content },
1215
1210
  props.children,
1216
- props.actions && (React.createElement("div", { className: css$14.actionWrapper }, props.actions.map((action) => (React.createElement(LinkButton, { caption: action.name, onClick: action.action, key: action.name, cx: css$14.actionLink, size: (props === null || props === void 0 ? void 0 : props.size) === '36' ? '24' : '30' })))))),
1217
- props.onClose && React.createElement(IconButton, { icon: ForwardRef$D, color: "neutral", onClick: props.onClose, cx: css$14.closeIcon })))));
1211
+ props.actions && (React.createElement("div", { className: css$13.actionWrapper }, props.actions.map((action) => (React.createElement(LinkButton, { caption: action.name, onClick: action.action, key: action.name, cx: css$13.actionLink, size: (props === null || props === void 0 ? void 0 : props.size) === '36' ? '24' : '30' })))))),
1212
+ props.onClose && React.createElement(IconButton, { icon: ForwardRef$D, color: "default", onClick: props.onClose, cx: css$13.closeIcon })))));
1218
1213
  const WarningAlert = React.forwardRef((props, ref) => React.createElement(Alert, Object.assign({ icon: ForwardRef$G, color: "warning", ref: ref }, props)));
1219
1214
  const SuccessAlert = React.forwardRef((props, ref) => React.createElement(Alert, Object.assign({ icon: ForwardRef$H, color: "success", ref: ref }, props)));
1220
1215
  const HintAlert = React.forwardRef((props, ref) => React.createElement(Alert, Object.assign({ icon: ForwardRef$E, color: "info", ref: ref }, props)));
@@ -1224,7 +1219,7 @@ function Dropdown(props) {
1224
1219
  return React.createElement(Dropdown$1, Object.assign({}, props));
1225
1220
  }
1226
1221
 
1227
- var css$13 = {"root":"TVXlr1","bodyRoot":"auaShj","submenuRootItem":"HJUFix","iconAfter":"TeH-fd","iconCheck":"adTvjR","splitterRoot":"dO6TV1","splitter":"El14RE","headerRoot":"_5poaht","itemRoot":"_0S-9Mc","icon":"W8Gmap","link":"_2gs-va","indent":"vYWB98"};
1222
+ var css$12 = {"bodyRoot":"_43tXIH","submenuRootItem":"jRlg-h","iconAfter":"_8qoh1F","iconCheck":"-TaOJK","splitterRoot":"gPkmhZ","splitter":"V82HHx","headerRoot":"nCbPRk","itemRoot":"OQ443p","icon":"ueBEP9","link":"N8GpcA","indent":"ws8fqt"};
1228
1223
 
1229
1224
  const icons = systemIcons['36'];
1230
1225
  var IDropdownControlKeys;
@@ -1259,9 +1254,9 @@ function DropdownMenuContainer(props) {
1259
1254
  props.onClose();
1260
1255
  }
1261
1256
  };
1262
- return (React__default.createElement(DropdownContainer, Object.assign({}, props, { rawProps: Object.assign(Object.assign({}, props.rawProps), { role: 'menu' }), ref: menuRef, lockProps: { onKeyDown: handleArrowKeys }, cx: css$13.root })));
1257
+ return (React__default.createElement(DropdownContainer, Object.assign({}, props, { rawProps: Object.assign(Object.assign({}, props.rawProps), { role: 'menu' }), ref: menuRef, lockProps: { onKeyDown: handleArrowKeys } })));
1263
1258
  }
1264
- const DropdownMenuBody = withMods(DropdownMenuContainer, () => [css$13.bodyRoot], (props) => {
1259
+ const DropdownMenuBody = withMods(DropdownMenuContainer, () => [css$12.bodyRoot], (props) => {
1265
1260
  const dropdownRawProps = props.minWidth ? Object.assign(Object.assign({}, props.rawProps), { style: { minWidth: `${props.minWidth}px` } }) : null;
1266
1261
  return (Object.assign(Object.assign({ closeOnKey: IDropdownControlKeys.ESCAPE }, props), { rawProps: dropdownRawProps || props.rawProps }));
1267
1262
  });
@@ -1285,32 +1280,32 @@ const DropdownMenuButton = React__default.forwardRef((props, ref) => {
1285
1280
  const getMenuButtonContent = () => {
1286
1281
  const isIconBefore = Boolean(icon && iconPosition !== 'right');
1287
1282
  const isIconAfter = Boolean(icon && iconPosition === 'right');
1288
- const iconElement = (React__default.createElement(IconButton, { icon: icon, color: isActive ? 'info' : 'neutral', onClick: onIconClick, cx: cx$1(css$13.root, css$13.icon, iconPosition === 'right' ? css$13.iconAfter : css$13.iconBefore) }));
1283
+ const iconElement = (React__default.createElement(IconButton, { icon: icon, color: isActive ? 'info' : 'default', onClick: onIconClick, isDisabled: isDisabled, cx: cx$1(css$12.icon, iconPosition === 'right' ? css$12.iconAfter : css$12.iconBefore) }));
1289
1284
  return (React__default.createElement(React__default.Fragment, null,
1290
1285
  isIconBefore && iconElement,
1291
- React__default.createElement(Text$1, { cx: props.indent && css$13.indent }, caption),
1286
+ React__default.createElement(Text$1, { cx: props.indent && css$12.indent }, caption),
1292
1287
  isIconAfter && (React__default.createElement(React__default.Fragment, null,
1293
1288
  React__default.createElement(FlexSpacer, null),
1294
1289
  iconElement))));
1295
1290
  };
1296
1291
  const isAnchor = Boolean(link || href);
1297
- const itemClassNames = cx$1(css$13.root, props.cx, css$13.itemRoot, isDisabled && uuiMod.disabled, isActive && uuiMod.active, isOpen && uuiMod.opened);
1298
- return isAnchor ? (React__default.createElement(Anchor$1, { cx: cx$1(css$13.link, itemClassNames), link: link, href: href, rawProps: { role: 'menuitem', tabIndex: isDisabled ? -1 : 0 }, onClick: handleClick, isDisabled: isDisabled, forwardedRef: ref, target: target }, getMenuButtonContent())) : (React__default.createElement(FlexRow$1, { rawProps: {
1292
+ const itemClassNames = cx$1(props.cx, css$12.itemRoot, isDisabled && uuiMod.disabled, isActive && uuiMod.active, isOpen && uuiMod.opened);
1293
+ return isAnchor ? (React__default.createElement(Anchor$1, { cx: cx$1(css$12.link, itemClassNames), link: link, href: href, rawProps: { role: 'menuitem', tabIndex: isDisabled ? -1 : 0 }, onClick: handleClick, isDisabled: isDisabled, forwardedRef: ref, target: target }, getMenuButtonContent())) : (React__default.createElement(FlexRow$1, { rawProps: {
1299
1294
  tabIndex: isDisabled ? -1 : 0,
1300
1295
  role: 'menuitem',
1301
1296
  onKeyDown: isDisabled ? null : handleOpenDropdown,
1302
1297
  }, cx: itemClassNames, onClick: handleClick, ref: ref },
1303
1298
  getMenuButtonContent(),
1304
- isSelected && React__default.createElement(IconContainer, { icon: icons.accept, cx: cx$1(css$13.root, css$13.selectedCheckmark) })));
1299
+ isSelected && React__default.createElement(IconContainer, { icon: icons.accept, cx: css$12.selectedCheckmark })));
1305
1300
  });
1306
1301
  DropdownMenuButton.displayName = 'DropdownMenuButton';
1307
1302
  function DropdownMenuSplitter(props) {
1308
- return (React__default.createElement("div", { className: cx$1(css$13.root, props.cx, css$13.splitterRoot) },
1309
- React__default.createElement("hr", { className: css$13.splitter })));
1303
+ return (React__default.createElement("div", { className: cx$1(props.cx, css$12.splitterRoot) },
1304
+ React__default.createElement("hr", { className: css$12.splitter })));
1310
1305
  }
1311
1306
  function DropdownMenuHeader(props) {
1312
- return (React__default.createElement("div", { className: cx$1('uui-dropdown-menu-header', css$13.root, props.cx, css$13.headerRoot) },
1313
- React__default.createElement("span", { className: css$13.header }, props.caption)));
1307
+ return (React__default.createElement("div", { className: cx$1(props.cx, css$12.headerRoot) },
1308
+ React__default.createElement("span", { className: css$12.header }, props.caption)));
1314
1309
  }
1315
1310
  function DropdownSubMenu(props) {
1316
1311
  const subMenuModifiers = [
@@ -1330,7 +1325,7 @@ function DropdownSubMenu(props) {
1330
1325
  ];
1331
1326
  return (React__default.createElement(Dropdown$1, { openOnHover: props.openOnHover || true, closeOnMouseLeave: "boundary", openDelay: 400, closeDelay: 400, placement: "right-start", modifiers: subMenuModifiers, renderBody: (dropdownProps) => React__default.createElement(DropdownMenuBody, Object.assign({ closeOnKey: IDropdownControlKeys.LEFT_ARROW }, props, dropdownProps)), renderTarget: (_a) => {
1332
1327
  var { toggleDropdownOpening } = _a, targetProps = __rest(_a, ["toggleDropdownOpening"]);
1333
- return (React__default.createElement(DropdownMenuButton, Object.assign({ cx: cx$1(css$13.root, css$13.submenuRootItem), icon: icons.foldingArrow, iconPosition: "right", isDropdown: true, toggleDropdownOpening: toggleDropdownOpening }, props, targetProps)));
1328
+ return (React__default.createElement(DropdownMenuButton, Object.assign({ cx: cx$1(css$12.submenuRootItem), icon: icons.foldingArrow, iconPosition: "right", isDropdown: true, toggleDropdownOpening: toggleDropdownOpening }, props, targetProps)));
1334
1329
  } }));
1335
1330
  }
1336
1331
  function DropdownMenuSwitchButton(props) {
@@ -1347,41 +1342,116 @@ function DropdownMenuSwitchButton(props) {
1347
1342
  onHandleValueChange(!isSelected);
1348
1343
  }
1349
1344
  };
1350
- return (React__default.createElement(FlexRow$1, { cx: cx$1(props.cx, css$13.itemRoot, isDisabled && uuiMod.disabled), onClick: () => onHandleValueChange(!isSelected), rawProps: { role: 'menuitem', onKeyDown: handleKeySelect, tabIndex: isDisabled ? -1 : 0 } },
1351
- icon && React__default.createElement(IconContainer, { icon: icon, cx: css$13.iconBefore }),
1345
+ return (React__default.createElement(FlexRow$1, { cx: cx$1(props.cx, css$12.itemRoot, isDisabled && uuiMod.disabled), onClick: () => onHandleValueChange(!isSelected), rawProps: { role: 'menuitem', onKeyDown: handleKeySelect, tabIndex: isDisabled ? -1 : 0 } },
1346
+ icon && React__default.createElement(IconContainer, { icon: icon, cx: css$12.iconBefore }),
1352
1347
  React__default.createElement(Text$1, null, caption),
1353
1348
  React__default.createElement(FlexSpacer, null),
1354
1349
  React__default.createElement(Switch, { value: isSelected, tabIndex: -1, onValueChange: onHandleValueChange })));
1355
1350
  }
1356
1351
 
1357
- var css$12 = {"root":"_87SQ78","border-bottom":"BhVolQ","top-shadow":"K6-qyf","size-24":"T-kMsQ","size-30":"QGrds7","size-36":"pLLgQF","size-42":"pudUNn","size-48":"wR8tBZ","padding-6":"g-NAEE","padding-12":"oYgCBs","padding-18":"mfjWD5","padding-24":"wiwVol","margin-24":"AAGZg-","margin-12":"urWP2V","vPadding-12":"xofbOt","vPadding-18":"SYjpZo","vPadding-24":"B634oC","vPadding-36":"mZSSVi","vPadding-48":"wo4cdC","spacing-6":"qEPx8a","spacing-12":"rWF6qe","spacing-18":"_86V2ct","borderBottom":"BhVolQ","topShadow":"K6-qyf","size24":"T-kMsQ","size30":"QGrds7","size36":"pLLgQF","size42":"pudUNn","size48":"wR8tBZ","padding6":"g-NAEE","padding12":"oYgCBs","padding18":"mfjWD5","padding24":"wiwVol","margin24":"AAGZg-","margin12":"urWP2V","vPadding12":"xofbOt","vPadding18":"SYjpZo","vPadding24":"B634oC","vPadding36":"mZSSVi","vPadding48":"wo4cdC","spacing6":"qEPx8a","spacing12":"rWF6qe","spacing18":"_86V2ct"};
1352
+ var css$11 = {"root":"bHjsEp","border-bottom":"gUS4Zj","top-shadow":"MYc4ym","size-24":"qSXkpG","size-30":"Y1jeoa","size-36":"dP27oB","size-42":"W5NArO","size-48":"Mzkfz7","padding-6":"jfemFq","padding-12":"WtF6gw","padding-18":"hid8OR","padding-24":"IS8t9c","margin-24":"_-2QABv","margin-12":"SOJ62w","vPadding-12":"wP5RmM","vPadding-18":"_18BJuD","vPadding-24":"q1Emhz","vPadding-36":"l4ObgA","vPadding-48":"M1A--O","spacing-6":"CweRqB","spacing-12":"JzzIpm","spacing-18":"CJT8fy","borderBottom":"gUS4Zj","topShadow":"MYc4ym","size24":"qSXkpG","size30":"Y1jeoa","size36":"dP27oB","size42":"W5NArO","size48":"Mzkfz7","padding6":"jfemFq","padding12":"WtF6gw","padding18":"hid8OR","padding24":"IS8t9c","margin24":"_-2QABv","margin12":"SOJ62w","vPadding12":"wP5RmM","vPadding18":"_18BJuD","vPadding24":"q1Emhz","vPadding36":"l4ObgA","vPadding48":"M1A--O","spacing6":"CweRqB","spacing12":"JzzIpm","spacing18":"CJT8fy"};
1358
1353
 
1359
- const FlexCell = withMods(FlexCell$1, () => [css$12.flexCell]);
1354
+ const FlexCell = withMods(FlexCell$1, () => [css$11.flexCell]);
1360
1355
 
1361
1356
  const FlexRow = withMods(FlexRow$1, (props) => {
1362
1357
  return [
1363
- css$12.root,
1364
- props.size !== null && css$12['size-' + (props.size || '36')],
1365
- props.padding && css$12['padding-' + props.padding],
1366
- props.vPadding && css$12['vPadding-' + props.vPadding],
1367
- props.margin && css$12['margin-' + props.margin],
1368
- props.topShadow && css$12.topShadow,
1369
- props.borderBottom && css$12.borderBottom,
1370
- props.spacing && css$12['spacing-' + props.spacing],
1371
- props.background && `uui-color-${props.background}`,
1358
+ css$11.root, props.size !== null && css$11['size-' + (props.size || '36')], props.padding && css$11['padding-' + props.padding], props.vPadding && css$11['vPadding-' + props.vPadding], props.margin && css$11['margin-' + props.margin], props.topShadow && css$11.topShadow, props.borderBottom && css$11.borderBottom, props.spacing && css$11['spacing-' + props.spacing],
1372
1359
  ];
1373
1360
  });
1374
1361
 
1375
- var css$11 = {"root":"yB0V5j","margin-24":"IBu-rl","padding-12":"LokTzm","padding-24":"O2-rmI","shadow":"B3SHKr","margin24":"IBu-rl","padding12":"LokTzm","padding24":"O2-rmI"};
1362
+ var css$10 = {"root":"XXR3Ds","margin-24":"lSUPTG","padding-12":"hrk4-Y","padding-24":"TVeoib","shadow":"EHDQ8M","margin24":"lSUPTG","padding12":"hrk4-Y","padding24":"TVeoib"};
1376
1363
 
1377
1364
  const Panel = withMods(VPanel, (props) => [
1378
- 'uui-panel',
1379
- css$11.root,
1380
- props.shadow && css$11.shadow,
1381
- props.margin && css$11['margin-' + props.margin],
1382
- props.background && `uui-color-${props.background}`,
1365
+ 'uui-panel', css$10.root, props.shadow && css$10.shadow, props.margin && css$10['margin-' + props.margin],
1383
1366
  ]);
1384
1367
 
1368
+ var css$$ = {"root":"D2QmF6"};
1369
+
1370
+ var css$_ = {"line-height-12":"Ls4HSs","line-height-18":"IBzWgI","line-height-24":"E2psIP","line-height-30":"_69eN-B","font-size-10":"_3Ox-cx","font-size-12":"ITyelp","font-size-14":"A7poa3","font-size-16":"kbczvD","font-size-18":"lz-0g5","font-size-24":"Uj-Yc6","v-padding-2":"yGrGJG","v-padding-3":"au3aEU","v-padding-5":"otrYJH","v-padding-6":"F9Lafv","v-padding-8":"REDQUM","v-padding-9":"hnnLS1","v-padding-11":"EIoA7G","v-padding-12":"uuRb9A","v-padding-14":"HnDGtX","v-padding-15":"L72KdE","v-padding-17":"kTiUaB","v-padding-18":"ge3TKQ","v-padding-23":"APGFcJ","v-padding-24":"_1sG0ba","lineHeight12":"Ls4HSs","lineHeight18":"IBzWgI","lineHeight24":"E2psIP","lineHeight30":"_69eN-B","fontSize10":"_3Ox-cx","fontSize12":"ITyelp","fontSize14":"A7poa3","fontSize16":"kbczvD","fontSize18":"lz-0g5","fontSize24":"Uj-Yc6","vPadding2":"yGrGJG","vPadding3":"au3aEU","vPadding5":"otrYJH","vPadding6":"F9Lafv","vPadding8":"REDQUM","vPadding9":"hnnLS1","vPadding11":"EIoA7G","vPadding12":"uuRb9A","vPadding14":"HnDGtX","vPadding15":"L72KdE","vPadding17":"kTiUaB","vPadding18":"ge3TKQ","vPadding23":"APGFcJ","vPadding24":"_1sG0ba"};
1371
+
1372
+ const defaultTextSettings = {
1373
+ 18: { lineHeight: 12, fontSize: 10 },
1374
+ 24: { lineHeight: 18, fontSize: 12 },
1375
+ 30: { lineHeight: 18, fontSize: 14 },
1376
+ 36: { lineHeight: 18, fontSize: 14 },
1377
+ 42: { lineHeight: 24, fontSize: 16 },
1378
+ 48: { lineHeight: 24, fontSize: 16 },
1379
+ 60: { lineHeight: 30, fontSize: 24 },
1380
+ };
1381
+ function getTextClasses(props, border) {
1382
+ if (props.size === 'none') {
1383
+ return [css$_['line-height-' + props.lineHeight], css$_['font-size-' + props.fontSize]];
1384
+ }
1385
+ const setting = {
1386
+ size: props.size,
1387
+ lineHeight: props.lineHeight || defaultTextSettings[props.size].lineHeight,
1388
+ fontSize: props.fontSize || defaultTextSettings[props.size].fontSize,
1389
+ };
1390
+ const vPadding = (+setting.size - +setting.lineHeight - (border ? 2 : 0)) / 2;
1391
+ return [
1392
+ css$_['line-height-' + setting.lineHeight], css$_['font-size-' + setting.fontSize], css$_['v-padding-' + vPadding],
1393
+ ];
1394
+ }
1395
+
1396
+ function applyTextMods(mods) {
1397
+ const textClasses = getTextClasses({
1398
+ size: mods.size || '36',
1399
+ lineHeight: mods.lineHeight,
1400
+ fontSize: mods.fontSize,
1401
+ }, false);
1402
+ return [
1403
+ `uui-font-${mods.font || 'regular'}`,
1404
+ `uui-text-${mods.color || 'primary'}`,
1405
+ css$$.root,
1406
+ ].concat(textClasses);
1407
+ }
1408
+ const Text = withMods(Text$1, applyTextMods);
1409
+
1410
+ var css$Z = {"container":"_5gNYlx","loading-word":"_1wEsVw","animated-loading":"P-Cskh","skeleton_loading":"MS-uNo","loadingWord":"_1wEsVw","animatedLoading":"P-Cskh","skeletonLoading":"MS-uNo"};
1411
+
1412
+ const TextPlaceholder = (props) => {
1413
+ const pattern = '&nbsp;';
1414
+ const text = React.useMemo(() => {
1415
+ const words = [];
1416
+ for (let i = 0; i < (props.wordsCount || 1); i++) {
1417
+ const lengthWord = Math.floor(Math.random() * 10 + 8);
1418
+ words.push(pattern.repeat(lengthWord));
1419
+ }
1420
+ return words;
1421
+ }, [props.wordsCount]);
1422
+ return (React.createElement("div", Object.assign({ "aria-busy": true, className: css$Z.container }, props.rawProps), text.map((it, index) => (React.createElement("span", { key: index, className: cx([
1423
+ props.cx, css$Z.loadingWord, !props.isNotAnimated && css$Z.animatedLoading,
1424
+ ]), dangerouslySetInnerHTML: { __html: it } })))));
1425
+ };
1426
+
1427
+ var style = {"typography-16":"VsECio","typography-14":"_2eIIED","typography-12":"Rp8Q1e","typography-uui":"wQ5LA6","typography16":"VsECio","typography14":"_2eIIED","typography12":"Rp8Q1e","typographyUui":"wQ5LA6"};
1428
+
1429
+ const RichTextView = withMods(uuiComponents.RichTextView, (mods) => [style.typographyUui, style['typography-' + (mods.size || '14')]]);
1430
+
1431
+ var css$Y = {"modal-blocker":"YU0A8K","animateModalBlocker":"_4yQzYl","modal":"YTQxCZ","modal-footer":"V-m7u0","border-top":"CLfKji","modal-header":"RtBELJ","modalBlocker":"YU0A8K","modalFooter":"V-m7u0","borderTop":"CLfKji","modalHeader":"RtBELJ"};
1432
+
1433
+ const ModalBlocker = withMods(ModalBlocker$1, () => [css$Y.modalBlocker]);
1434
+ const ModalWindow = withMods(ModalWindow$1, () => [css$Y.modal], (props) => ({
1435
+ style: Object.assign(Object.assign({}, props.style), { width: `${props.width || 420}px`, height: props.height ? `${props.height}px` : 'auto' }),
1436
+ }));
1437
+ class ModalHeader extends React.Component {
1438
+ render() {
1439
+ return (React.createElement(FlexRow, { padding: this.props.padding || '24', vPadding: "12", borderBottom: this.props.borderBottom, cx: [css$Y.modalHeader, this.props.cx], spacing: "12", rawProps: this.props.rawProps },
1440
+ this.props.title && (React.createElement(Text, { size: "48", fontSize: "18", font: "semibold" }, this.props.title)),
1441
+ this.props.children,
1442
+ this.props.onClose && React.createElement(FlexSpacer, null),
1443
+ this.props.onClose && (React.createElement(FlexCell, { shrink: 0, width: "auto" },
1444
+ React.createElement(IconButton, { rawProps: { 'aria-label': 'Close modal' }, icon: ForwardRef$D, onClick: this.props.onClose })))));
1445
+ }
1446
+ }
1447
+ class ModalFooter extends React.Component {
1448
+ render() {
1449
+ return (React.createElement(FlexRow, { spacing: this.props.spacing || '12', cx: [
1450
+ css$Y.modalFooter, this.props.borderTop && css$Y.borderTop, this.props.cx,
1451
+ ], padding: this.props.padding || '24', vPadding: this.props.vPadding || '24', rawProps: this.props.rawProps }, this.props.children));
1452
+ }
1453
+ }
1454
+
1385
1455
  const i18n = Object.assign(Object.assign({}, i18n$2), { dataPickerBody: {
1386
1456
  searchPlaceholder: 'Search',
1387
1457
  noRecordsMessage: 'No records found',
@@ -1471,43 +1541,94 @@ const i18n = Object.assign(Object.assign({}, i18n$2), { dataPickerBody: {
1471
1541
  fileSizeProgress: ' of ',
1472
1542
  } });
1473
1543
 
1474
- var css$10 = {"root":"C9bQDt","mode-block":"LaxMjY","mode-inline":"tyY8xQ","padding-0":"Vxj-Lh","padding-6":"UeinoS","padding-12":"p6NmAi","padding-18":"JEJGBM","modeBlock":"LaxMjY","modeInline":"tyY8xQ","padding0":"Vxj-Lh","padding6":"UeinoS","padding12":"p6NmAi","padding18":"JEJGBM"};
1544
+ var _path$B;
1545
+ function _extends$C() { _extends$C = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$C.apply(this, arguments); }
1546
+ var SvgCross = function SvgCross(props, ref) {
1547
+ return /*#__PURE__*/React.createElement("svg", _extends$C({
1548
+ xmlns: "http://www.w3.org/2000/svg",
1549
+ width: 24,
1550
+ height: 24,
1551
+ viewBox: "0 0 24 24",
1552
+ ref: ref
1553
+ }, props), _path$B || (_path$B = /*#__PURE__*/React.createElement("path", {
1554
+ fillRule: "evenodd",
1555
+ d: "M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"
1556
+ })));
1557
+ };
1558
+ var ForwardRef$C = /*#__PURE__*/forwardRef(SvgCross);
1475
1559
 
1476
- function applyAccordionMods(mods) {
1477
- return [
1478
- css$10.root,
1479
- css$10['mode-' + (mods.mode || 'block')],
1480
- mods.padding && css$10['padding-' + mods.padding],
1481
- ];
1560
+ var css$X = {"root":"ckp29D","icon-wrapper":"eZpjQi","action-wrapper":"_1tB2Lc","action-link":"_8HPQbt","close-icon":"v8tBmL","main-path":"gjuq3-","content":"I3GXxj","clear-button":"quKLh7","close-wrapper":"V441Cr","iconWrapper":"eZpjQi","actionWrapper":"_1tB2Lc","actionLink":"_8HPQbt","closeIcon":"v8tBmL","mainPath":"gjuq3-","clearButton":"quKLh7","closeWrapper":"V441Cr"};
1561
+
1562
+ const NotificationCard = React__default.forwardRef((props, ref) => {
1563
+ const notificationCardNode = React__default.useRef(null);
1564
+ React__default.useImperativeHandle(ref, () => notificationCardNode.current, [notificationCardNode.current]);
1565
+ React__default.useLayoutEffect(() => {
1566
+ var _a, _b;
1567
+ (_a = notificationCardNode.current) === null || _a === void 0 ? void 0 : _a.addEventListener('mouseenter', props.clearTimer);
1568
+ (_b = notificationCardNode.current) === null || _b === void 0 ? void 0 : _b.addEventListener('mouseleave', props.refreshTimer);
1569
+ return () => {
1570
+ var _a, _b;
1571
+ (_a = notificationCardNode.current) === null || _a === void 0 ? void 0 : _a.removeEventListener('mouseenter', props.clearTimer);
1572
+ (_b = notificationCardNode.current) === null || _b === void 0 ? void 0 : _b.removeEventListener('mouseleave', props.refreshTimer);
1573
+ };
1574
+ }, []);
1575
+ return (React__default.createElement("div", Object.assign({ role: "alert", className: cx(props.color && `notification-card-${props.color}`, css$X.root, props.cx), ref: notificationCardNode }, props.rawProps),
1576
+ React__default.createElement("div", { className: css$X.mainPath },
1577
+ props.icon && (React__default.createElement("div", { className: css$X.iconWrapper },
1578
+ React__default.createElement(IconContainer, { icon: props.icon, cx: css$X.actionIcon }))),
1579
+ React__default.createElement("div", { className: css$X.content },
1580
+ props.children,
1581
+ props.actions && (React__default.createElement("div", { className: css$X.actionWrapper }, props.actions.map((action) => (React__default.createElement(LinkButton, { caption: action.name, onClick: action.action, key: action.name, cx: css$X.actionLink, size: "36", rawProps: action.rawProps })))))),
1582
+ props.onClose && (React__default.createElement("div", { className: css$X.closeWrapper },
1583
+ React__default.createElement(IconButton, { icon: ForwardRef$C, color: "default", onClick: props.onClose, cx: css$X.closeIcon }))))));
1584
+ });
1585
+ const WarningNotification = React__default.forwardRef((props, ref) => (React__default.createElement(NotificationCard, Object.assign({ icon: ForwardRef$G, color: "warning" }, props, { ref: ref, cx: props.cx }))));
1586
+ const SuccessNotification = React__default.forwardRef((props, ref) => (React__default.createElement(NotificationCard, Object.assign({ icon: ForwardRef$H, color: "success" }, props, { ref: ref, cx: props.cx }))));
1587
+ const HintNotification = React__default.forwardRef((props, ref) => (React__default.createElement(NotificationCard, Object.assign({ icon: ForwardRef$E, color: "info" }, props, { ref: ref, cx: props.cx }))));
1588
+ const ErrorNotification = React__default.forwardRef((props, ref) => (React__default.createElement(NotificationCard, Object.assign({ icon: ForwardRef$F, color: "error" }, props, { ref: ref, cx: props.cx }))));
1589
+ class ClearNotification extends React__default.Component {
1590
+ render() {
1591
+ return (React__default.createElement("div", { className: cx(css$X.notificationWrapper, css$X.clearButton) },
1592
+ React__default.createElement(LinkButton, { caption: i18n.notificationCard.closeAllNotificationsButton, onClick: () => this.context.uuiNotifications.clearAll() })));
1593
+ }
1482
1594
  }
1483
- const Accordion = withMods(Accordion$1, applyAccordionMods, (mods) => ({
1484
- dropdownIcon: mods.dropdownIcon !== null && systemIcons[mods.mode === 'block' ? '60' : '30'].foldingArrow,
1485
- }));
1595
+ ClearNotification.contextType = UuiContext;
1486
1596
 
1487
- var css$$ = {"root":"SCw5ha"};
1597
+ var css$W = {"root":"hWqffz"};
1488
1598
 
1489
1599
  function applyTooltipMods(mods) {
1490
1600
  return [
1491
- css$$.root,
1492
- `uui-color-${mods.color || 'contrast'}`,
1601
+ `tooltip-${mods.color || 'contrast'}`,
1602
+ css$W.root,
1493
1603
  ];
1494
1604
  }
1495
1605
  const Tooltip = withMods(Tooltip$1, applyTooltipMods);
1496
1606
 
1497
- var css$_ = {"root":"XUfJWg","size-24":"DaZNiN","size-30":"Cl4T2h","size-36":"kAT-fR","size-42":"NlegI9","size-48":"KTodID","size24":"DaZNiN","size30":"Cl4T2h","size36":"kAT-fR","size42":"NlegI9","size48":"KTodID"};
1607
+ var css$V = {"root":"kN8duC","mode-block":"ii3Zmb","mode-inline":"Pry9Wz","padding-0":"zsQkts","padding-6":"H0Eq6t","padding-12":"Ucn5sB","padding-18":"GUc0kD","modeBlock":"ii3Zmb","modeInline":"Pry9Wz","padding0":"zsQkts","padding6":"H0Eq6t","padding12":"Ucn5sB","padding18":"GUc0kD"};
1608
+
1609
+ function applyAccordionMods(mods) {
1610
+ return [
1611
+ css$V.root, css$V['mode-' + (mods.mode || 'block')], mods.padding && css$V['padding-' + mods.padding],
1612
+ ];
1613
+ }
1614
+ const Accordion = withMods(uuiComponents.Accordion, applyAccordionMods, (mods) => ({
1615
+ dropdownIcon: mods.dropdownIcon !== null && systemIcons[mods.mode === 'block' ? '60' : '30'].foldingArrow,
1616
+ }));
1617
+
1618
+ var css$U = {"root":"EvsI1T","size-24":"mTFpYA","size-30":"OOkBPB","size-36":"i2m-gP","size-42":"xc3p6c","size-48":"-svmZ0","size24":"mTFpYA","size30":"OOkBPB","size36":"i2m-gP","size42":"xc3p6c","size48":"-svmZ0"};
1498
1619
 
1499
1620
  const defaultSize$6 = '36';
1500
1621
  function applyLabeledInputMods(mods) {
1501
- return [css$_.root, css$_['size-' + (mods.size || defaultSize$6)]];
1622
+ return [css$U.root, css$U['size-' + (mods.size || defaultSize$6)]];
1502
1623
  }
1503
- const LabeledInput = withMods(LabeledInput$1, applyLabeledInputMods, (props) => ({
1624
+ const LabeledInput = withMods(uuiComponents.LabeledInput, applyLabeledInputMods, (props) => ({
1504
1625
  Tooltip,
1505
1626
  infoIcon: systemIcons[props.size || defaultSize$6].help,
1506
1627
  }));
1507
1628
 
1508
- var css$Z = {"root":"QYIUDV"};
1629
+ var css$T = {"root":"Ps6j7B"};
1509
1630
 
1510
- const RadioGroup = withMods(RadioGroup$1, () => [css$Z.root], () => ({ RadioInput }));
1631
+ const RadioGroup = withMods(RadioGroup$1, () => [css$T.root], () => ({ RadioInput }));
1511
1632
 
1512
1633
  function applyScrollBarsMods() {
1513
1634
  return [
@@ -1516,142 +1637,433 @@ function applyScrollBarsMods() {
1516
1637
  }
1517
1638
  const ScrollBars = withMods(ScrollBars$1, applyScrollBarsMods);
1518
1639
 
1519
- const VirtualList = VirtualList$1;
1640
+ var css$S = {"scroll-container":"i3G0CT","list-container":"sp7iYE","scrollContainer":"i3G0CT","listContainer":"sp7iYE"};
1520
1641
 
1521
- var css$Y = {"root":"i3VYZA"};
1642
+ var css$R = {"root":"AWyU2E"};
1522
1643
 
1523
- var css$X = {"root":"suOYKL","uui-spinner":"o-7gN5","uuiSpinner":"o-7gN5"};
1644
+ var css$Q = {"root":"HK4Zh9","uui-spinner":"Yrxrun","uuiSpinner":"Yrxrun"};
1524
1645
 
1525
1646
  function applySpinnerMods() {
1526
- return [css$X.root, 'uui-spinner'];
1647
+ return [css$Q.root];
1527
1648
  }
1528
1649
  const Spinner = withMods(Spinner$1, applySpinnerMods);
1529
1650
 
1530
- const Blocker = withMods(Blocker$1, () => [css$Y.root], (cmpProps) => ({ renderSpinner: cmpProps.renderSpinner || (() => React__default.createElement(Spinner, null)) }));
1651
+ const Blocker = withMods(Blocker$1, () => [css$R.root], (cmpProps) => ({ renderSpinner: cmpProps.renderSpinner || (() => React__default.createElement(Spinner, null)) }));
1531
1652
 
1532
- var css$W = {"root":"u6NUSh"};
1653
+ const VirtualList = React.forwardRef((props, ref) => {
1654
+ const { listContainerRef, offsetY, handleScroll, estimatedHeight, scrollContainerRef, } = useVirtualList({
1655
+ value: props.value,
1656
+ onValueChange: props.onValueChange,
1657
+ onScroll: props.onScroll,
1658
+ rowsCount: props.rowsCount,
1659
+ rowsSelector: props.rowsSelector,
1660
+ });
1661
+ React.useImperativeHandle(ref, () => scrollContainerRef.current, [scrollContainerRef.current]);
1662
+ const scrollShadows = useScrollShadows({ root: scrollContainerRef.current });
1663
+ const renderRows = () => {
1664
+ var _a;
1665
+ return ((_a = props.renderRows) === null || _a === void 0 ? void 0 : _a.call(props, {
1666
+ listContainerRef, estimatedHeight, offsetY, scrollShadows,
1667
+ })) || (React.createElement("div", { className: css$S.listContainer, style: { minHeight: `${estimatedHeight}px` } },
1668
+ React.createElement("div", { ref: listContainerRef, role: props.role, style: { marginTop: offsetY } }, props.rows)));
1669
+ };
1670
+ const scrollBarsRef = React.useCallback((scrollbars) => {
1671
+ var _a;
1672
+ if (!((_a = scrollbars === null || scrollbars === void 0 ? void 0 : scrollbars.container) === null || _a === void 0 ? void 0 : _a.firstChild))
1673
+ return;
1674
+ scrollContainerRef.current = scrollbars.container.firstChild;
1675
+ }, []);
1676
+ return (React.createElement(ScrollBars, { cx: cx$1(css$S.scrollContainer, props.cx, {
1677
+ [uuiMarkers.scrolledLeft]: scrollShadows.horizontalLeft,
1678
+ [uuiMarkers.scrolledRight]: scrollShadows.horizontalRight,
1679
+ [uuiMarkers.scrolledTop]: scrollShadows.verticalTop,
1680
+ [uuiMarkers.scrolledBottom]: scrollShadows.verticalBottom,
1681
+ }), onScroll: handleScroll, renderView: ({ style }) => React.createElement(VirtualListView, { isLoading: props.isLoading, style: style }), ref: scrollBarsRef }, renderRows()));
1682
+ });
1683
+ const VirtualListView = React.forwardRef((props, ref) => {
1684
+ return (React.createElement(React.Fragment, null,
1685
+ React.createElement("div", Object.assign({}, props.rawProps, { style: Object.assign(Object.assign({}, props.style), { position: 'relative', flex: '1 1 auto', display: 'flex', flexDirection: 'column', overflow: props.isLoading ? 'hidden' : 'scroll', marginRight: props.isLoading ? 0 : props.style.marginRight, marginBottom: props.isLoading ? 0 : props.style.marginBottom }), ref: ref }), props.children),
1686
+ React.createElement(Blocker, { isEnabled: props.isLoading })));
1687
+ });
1688
+ VirtualList.displayName = 'VirtualList';
1533
1689
 
1534
- const CheckboxGroup = withMods(CheckboxGroup$1, () => [css$W.root], () => ({ CheckboxInput: Checkbox }));
1690
+ var css$P = {"root":"qnHTKq"};
1535
1691
 
1536
- var css$V = {"body":"VIlCPT","modal":"o5-RsD","search-wrapper":"U12jeR","checkbox":"KLKorc","no-found-size-24":"o7DpqL","no-found-size-30":"guJA44","no-found-size-36":"Z6kmkG","no-found-size-42":"_4pLSof","searchWrapper":"U12jeR","noFoundSize24":"o7DpqL","noFoundSize30":"guJA44","noFoundSize36":"Z6kmkG","noFoundSize42":"_4pLSof"};
1692
+ const CheckboxGroup = withMods(CheckboxGroup$1, () => [css$P.root], () => ({ CheckboxInput: Checkbox }));
1537
1693
 
1538
- class DataPickerBody extends PickerBodyBase {
1694
+ class ConfirmationModal extends React.Component {
1695
+ render() {
1696
+ let bodyContent;
1697
+ if (this.props.bodyContent) {
1698
+ bodyContent = React.createElement(Panel, { margin: "24" }, this.props.bodyContent);
1699
+ }
1700
+ return (React.createElement(ModalBlocker, Object.assign({}, this.props),
1701
+ React.createElement(ModalWindow, { width: 420 },
1702
+ React.createElement(ModalHeader, { borderBottom: true, title: this.props.caption, onClose: () => this.props.abort() }),
1703
+ React.createElement(ScrollBars, null, bodyContent),
1704
+ React.createElement(ModalFooter, null,
1705
+ React.createElement(FlexSpacer, null),
1706
+ this.props.hideCancelButton || (React.createElement(Button, { caption: i18n.form.modals.discardButton, onClick: () => this.props.success(false), mode: "outline", color: "secondary" })),
1707
+ React.createElement(Button, { caption: i18n.form.modals.saveButton, onClick: () => this.props.success(true), color: "accent" })))));
1708
+ }
1709
+ }
1710
+
1711
+ const defaultMode$1 = EditMode.FORM;
1712
+ class DatePicker extends BaseDatePicker {
1539
1713
  constructor() {
1540
1714
  super(...arguments);
1541
- this.lens = Lens.onEditableComponent(this);
1542
- this.searchLens = this.lens.prop('search');
1543
- this.renderRowsContainer = ({ listContainerRef, estimatedHeight, offsetY }) => {
1544
- return (React__default.createElement(React__default.Fragment, null,
1545
- React__default.createElement("div", { className: css$V.listContainer, style: { minHeight: `${estimatedHeight}px` } },
1546
- React__default.createElement("div", { ref: listContainerRef, role: "listbox", style: { marginTop: offsetY } }, this.props.rows)),
1547
- React__default.createElement(Blocker, { isEnabled: this.props.isReloading })));
1715
+ this.renderInput = (props) => {
1716
+ var _a;
1717
+ if (process.env.NODE_ENV !== "production") {
1718
+ if (this.props.size === '48') {
1719
+ devLogger.warnAboutDeprecatedPropValue({
1720
+ component: 'DatePicker',
1721
+ propName: 'size',
1722
+ propValue: this.props.size,
1723
+ propValueUseInstead: '42',
1724
+ condition: () => ['48'].indexOf(this.props.size) !== -1,
1725
+ });
1726
+ }
1727
+ }
1728
+ return (React__default.createElement(TextInput, Object.assign({}, props, { onClick: null, isDropdown: false, cx: cx$1(this.props.inputCx, this.state.isOpen && uuiMod.focus), icon: this.props.mode !== EditMode.CELL && systemIcons[this.props.size || '36'].calendar, iconPosition: this.props.iconPosition || 'left', placeholder: this.props.placeholder ? this.props.placeholder : this.getFormat(), size: this.props.size || '36', value: this.state.inputValue, onValueChange: this.handleInputChange, onCancel: this.props.disableClear || !this.state.inputValue ? undefined : this.handleCancel, isInvalid: this.props.isInvalid, isDisabled: this.props.isDisabled, isReadonly: this.props.isReadonly, tabIndex: this.props.isReadonly || this.props.isDisabled ? -1 : 0, onFocus: this.handleFocus, onBlur: this.handleBlur, mode: this.props.mode || defaultMode$1, rawProps: (_a = this.props.rawProps) === null || _a === void 0 ? void 0 : _a.input })));
1548
1729
  };
1549
1730
  }
1550
- renderNotFound() {
1551
- if (this.props.renderNotFound) {
1552
- return this.props.renderNotFound();
1553
- }
1554
- return (React__default.createElement(FlexCell$1, { cx: css$V[`no-found-size-${this.props.searchSize || 36}`], grow: 1, textAlign: "center" },
1555
- React__default.createElement(Text, { size: this.props.searchSize || '36' }, i18n.dataPickerBody.noRecordsMessage)));
1556
- }
1557
- render() {
1558
- const searchSize = isMobile() ? '48' : this.props.searchSize || '36';
1559
- return (React__default.createElement(React__default.Fragment, null,
1560
- this.showSearch() && (React__default.createElement("div", { key: "search", className: css$V.searchWrapper },
1561
- React__default.createElement(FlexCell$1, { grow: 1 },
1562
- React__default.createElement(SearchInput, Object.assign({ ref: this.searchRef, placeholder: i18n.dataPickerBody.searchPlaceholder }, this.searchLens.toProps(), { onKeyDown: this.searchKeyDown, size: searchSize, debounceDelay: this.props.searchDebounceDelay }))))),
1563
- React__default.createElement(FlexRow, { key: "body", cx: cx$1(css$V.body, css$V[this.props.editMode], css$V[this.props.selectionMode]), rawProps: { style: { maxHeight: this.props.maxHeight } } }, this.props.rowsCount > 0 ? (React__default.createElement(VirtualList, Object.assign({}, this.lens.toProps(), { renderRows: this.renderRowsContainer, rawProps: this.props.rawProps, rowsCount: this.props.rowsCount, disableScroll: this.props.isReloading }))) : (this.renderNotFound()))));
1731
+ renderBody(props) {
1732
+ var _a, _b, _c;
1733
+ return (React__default.createElement(DropdownContainer, Object.assign({}, props, { focusLock: false }),
1734
+ React__default.createElement(DatePickerBody, { cx: cx$1(this.props.bodyCx), filter: this.props.filter, value: this.getValue(), setSelectedDate: this.setSelectedDate, setDisplayedDateAndView: this.setDisplayedDateAndView, changeIsOpen: this.onToggle, renderDay: this.props.renderDay, isHoliday: this.props.isHoliday, rawProps: (_a = this.props.rawProps) === null || _a === void 0 ? void 0 : _a.body }), (_c = (_b = this.props).renderFooter) === null || _c === void 0 ? void 0 :
1735
+ _c.call(_b)));
1564
1736
  }
1565
1737
  }
1566
1738
 
1567
- const switchSizes = {
1568
- 24: '12',
1569
- 36: '18',
1570
- 42: '24',
1571
- 48: '24',
1572
- };
1573
- function DataPickerFooterImpl(props) {
1574
- const { clearSelection, view, showSelected, selectionMode, } = props;
1575
- const size = isMobile() ? '48' : props.size || '36';
1576
- const switchSize = switchSizes[size];
1577
- const hasSelection = view.getSelectedRowsCount() > 0;
1578
- const isSinglePicker = selectionMode === 'single';
1579
- const clearAllText = i18n.pickerInput.clearSelectionButton;
1580
- const clearSingleText = i18n.pickerInput.clearSelectionButtonSingle;
1581
- const selectAllText = i18n.pickerInput.selectAllButton;
1582
- // show always for multi picker and for single only in case if search not disabled.
1583
- const shouldShowFooter = isSinglePicker ? !props.disableClear : true;
1584
- return shouldShowFooter && (React__default.createElement(FlexRow, { padding: "12" },
1585
- !isSinglePicker && (React__default.createElement(Switch, { size: switchSize, value: showSelected.value, isDisabled: !hasSelection, onValueChange: showSelected.onValueChange, label: i18n.pickerInput.showOnlySelectedLabel })),
1586
- React__default.createElement(FlexSpacer, null),
1587
- React__default.createElement(FlexCell, { width: "auto", alignSelf: "center" },
1588
- view.selectAll && (React__default.createElement(LinkButton, { size: size, caption: hasSelection ? clearAllText : selectAllText, onClick: hasSelection ? clearSelection : () => view.selectAll.onValueChange(true), rawProps: {
1589
- 'aria-label': hasSelection ? clearAllText : selectAllText,
1590
- } })),
1591
- !view.selectAll && (React__default.createElement(LinkButton, { isDisabled: !hasSelection, size: size, caption: isSinglePicker ? clearSingleText : clearAllText, onClick: clearSelection, rawProps: {
1592
- 'aria-label': isSinglePicker ? clearSingleText : clearAllText,
1593
- } })))));
1594
- }
1595
- const DataPickerFooter = React__default.memo(DataPickerFooterImpl);
1739
+ var css$O = {"root":"_1haMVw"};
1596
1740
 
1597
- var css$U = {"header":"_2SP8Gr","close":"-lAnPH"};
1741
+ function applyCalendarPresetsMods() {
1742
+ return [css$O.root];
1743
+ }
1744
+ const CalendarPresets = withMods(CalendarPresets$1, applyCalendarPresetsMods, () => ({}));
1598
1745
 
1599
- var _path$B;
1600
- function _extends$C() { _extends$C = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$C.apply(this, arguments); }
1601
- var SvgNavigationClose24 = function SvgNavigationClose24(props, ref) {
1602
- return /*#__PURE__*/React.createElement("svg", _extends$C({
1603
- xmlns: "http://www.w3.org/2000/svg",
1604
- width: 24,
1605
- height: 24,
1606
- viewBox: "0 0 24 24",
1607
- ref: ref
1608
- }, props), _path$B || (_path$B = /*#__PURE__*/React.createElement("path", {
1609
- fillRule: "evenodd",
1610
- d: "M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z",
1611
- clipRule: "evenodd"
1612
- })));
1613
- };
1614
- var ForwardRef$C = /*#__PURE__*/forwardRef(SvgNavigationClose24);
1746
+ var css$N = {"root":"j7HXR-","container":"TPl1cy","day-selection":"Vh-gRy","from-picker":"Ll3nA4","to-picker":"aOegQy","bodes-wrapper":"_3c8shq","blocker":"_3Dfod-","daySelection":"Vh-gRy","fromPicker":"Ll3nA4","toPicker":"aOegQy","bodesWrapper":"_3c8shq"};
1615
1747
 
1616
- const DataPickerHeaderImpl = (props) => {
1617
- const title = props.title && typeof props.title === 'string' ? props.title.charAt(0).toUpperCase() + props.title.slice(1) : '';
1618
- return (React__default.createElement(FlexRow, { alignItems: "center", borderBottom: true, cx: css$U.header },
1619
- React__default.createElement(Text, { size: "48", font: "semibold" }, title),
1620
- React__default.createElement(IconButton, { icon: ForwardRef$C, onClick: () => { var _a; return (_a = props.close) === null || _a === void 0 ? void 0 : _a.call(props); }, cx: css$U.close })));
1748
+ dayjs.extend(isoWeek);
1749
+ function weekCount(displayedDate) {
1750
+ let days = [];
1751
+ const dayOfLastWeekInPrevMonth = displayedDate.subtract(1, 'month').endOf('month').day();
1752
+ days = days.concat(new Array(dayOfLastWeekInPrevMonth).fill(undefined));
1753
+ // get days of current month
1754
+ days = days.concat(new Array(displayedDate.endOf('month').date()).fill(undefined));
1755
+ return arrayToMatrix(days, 7).length;
1756
+ }
1757
+ const uuiRangeDatePickerBody = {
1758
+ inRange: 'uui-range-datepicker-in-range',
1759
+ firstDayInRangeWrapper: 'uui-range-datepicker-first-day-in-range-wrapper',
1760
+ lastDayInRangeWrapper: 'uui-range-datepicker-last-day-in-range-wrapper',
1761
+ separator: 'uui-range-datepicker-separator',
1621
1762
  };
1622
- const DataPickerHeader = React__default.memo(DataPickerHeaderImpl);
1623
-
1624
- var _path$A;
1763
+ const rangeDatePickerPresets = {
1764
+ today: {
1765
+ name: 'Today',
1766
+ getRange: () => ({ from: dayjs().toString(), to: undefined, order: 1 }),
1767
+ },
1768
+ thisWeek: {
1769
+ name: 'This Week',
1770
+ getRange: () => ({ from: dayjs().startOf('isoWeek').toString(), to: dayjs().endOf('isoWeek').toString(), order: 2 }),
1771
+ },
1772
+ lastWeek: {
1773
+ name: 'Last Week',
1774
+ getRange: () => ({ from: dayjs().startOf('isoWeek').subtract(1, 'week').toString(), to: dayjs().endOf('isoWeek').subtract(1, 'week').toString(), order: 3 }),
1775
+ },
1776
+ thisMonth: {
1777
+ name: 'This Month',
1778
+ getRange: () => ({ from: dayjs().startOf('month').toString(), to: dayjs().endOf('month').toString(), order: 4 }),
1779
+ },
1780
+ lastMonth: {
1781
+ name: 'Last Month',
1782
+ getRange: () => ({ from: dayjs().startOf('month').subtract(1, 'month').toString(), to: dayjs().subtract(1, 'month').endOf('month').toString(), order: 5 }),
1783
+ },
1784
+ last3Month: {
1785
+ name: 'Last 3 Months',
1786
+ getRange: () => ({ from: dayjs().startOf('month').subtract(3, 'month').toString(), to: dayjs().subtract(1, 'month').endOf('month').toString(), order: 5 }),
1787
+ },
1788
+ thisYear: {
1789
+ name: 'This Year',
1790
+ getRange: () => ({ from: dayjs().startOf('year').toString(), to: dayjs().endOf('year').toString(), order: 7 }),
1791
+ },
1792
+ lastYear: {
1793
+ name: 'Last Year',
1794
+ getRange: () => ({ from: dayjs().startOf('year').subtract(1, 'year').toString(), to: dayjs().subtract(1, 'year').endOf('year').toString(), order: 8 }),
1795
+ },
1796
+ };
1797
+ class RangeDatePickerBody extends React.Component {
1798
+ constructor() {
1799
+ super(...arguments);
1800
+ this.state = {
1801
+ activePart: null,
1802
+ };
1803
+ this.getDayCX = (day) => {
1804
+ var _a, _b;
1805
+ const dayValue = day.valueOf();
1806
+ const fromValue = ((_a = this.props.value) === null || _a === void 0 ? void 0 : _a.selectedDate.from) ? dayjs(this.props.value.selectedDate.from).valueOf() : null;
1807
+ const toValue = ((_b = this.props.value) === null || _b === void 0 ? void 0 : _b.selectedDate.to) ? dayjs(this.props.value.selectedDate.to).valueOf() : null;
1808
+ const inRange = dayValue >= fromValue && dayValue <= toValue && fromValue !== toValue && fromValue && toValue;
1809
+ const isFirst = dayValue === fromValue;
1810
+ const isLast = dayValue === toValue;
1811
+ return [
1812
+ inRange && uuiRangeDatePickerBody.inRange,
1813
+ isFirst && uuiRangeDatePickerBody.firstDayInRangeWrapper,
1814
+ !inRange && isFirst && uuiRangeDatePickerBody.lastDayInRangeWrapper,
1815
+ isLast && uuiRangeDatePickerBody.lastDayInRangeWrapper,
1816
+ !inRange && isLast && uuiRangeDatePickerBody.firstDayInRangeWrapper,
1817
+ (dayValue === fromValue || dayValue === toValue) && uuiDaySelection.selectedDay,
1818
+ ];
1819
+ };
1820
+ this.getFromValue = () => {
1821
+ var _a;
1822
+ return Object.assign(Object.assign({}, this.props.value), { view: this.state.activePart === 'from' ? this.props.value.view : 'DAY_SELECTION', selectedDate: (_a = this.props.value) === null || _a === void 0 ? void 0 : _a.selectedDate.from });
1823
+ };
1824
+ this.getToValue = () => {
1825
+ if (!this.props.value)
1826
+ return;
1827
+ return Object.assign(Object.assign({}, this.props.value), { view: this.state.activePart === 'to' ? this.props.value.view : 'DAY_SELECTION', displayedDate: this.props.value.displayedDate.add(1, 'month'), selectedDate: this.props.value.selectedDate.to });
1828
+ };
1829
+ this.renderPresets = () => {
1830
+ return (React.createElement(React.Fragment, null,
1831
+ React.createElement("div", { className: uuiRangeDatePickerBody.separator }),
1832
+ React.createElement(CalendarPresets, { forwardedRef: this.props.forwardedRef, onPresetSet: (presetVal) => {
1833
+ this.props.onValueChange({
1834
+ view: 'DAY_SELECTION',
1835
+ selectedDate: { from: dayjs(presetVal.from).format(valueFormat), to: dayjs(presetVal.to).format(valueFormat) },
1836
+ displayedDate: dayjs(presetVal.from),
1837
+ });
1838
+ this.props.changeIsOpen(false);
1839
+ }, presets: this.props.presets })));
1840
+ };
1841
+ this.renderDatePicker = () => {
1842
+ var _a, _b;
1843
+ return (React.createElement(FlexRow, { cx: [((_a = this.props.value) === null || _a === void 0 ? void 0 : _a.view) === 'DAY_SELECTION' && css$N.daySelection, css$N.container], alignItems: "top" },
1844
+ React.createElement(FlexCell, { width: "auto" },
1845
+ React.createElement(FlexRow, null,
1846
+ React.createElement(FlexRow, { cx: css$N.bodesWrapper, alignItems: "top" },
1847
+ React.createElement(DatePickerBody, { cx: cx$1(css$N.fromPicker), setSelectedDate: (nv) => this.setSelectedDate(nv), value: this.getFromValue(), setDisplayedDateAndView: (displayedDate, view) => this.setDisplayedDateAndView(displayedDate, view, 'from'), getDayCX: this.getDayCX, filter: this.props.filter, renderDay: this.props.renderDay, isHoliday: this.props.isHoliday }),
1848
+ React.createElement(DatePickerBody, { cx: cx$1(css$N.toPicker), setSelectedDate: (nv) => this.setSelectedDate(nv), value: this.getToValue(), setDisplayedDateAndView: (displayedDate, view) => this.setDisplayedDateAndView(displayedDate, view, 'to'), getDayCX: this.getDayCX, filter: this.props.filter, renderDay: this.props.renderDay, isHoliday: this.props.isHoliday }),
1849
+ ((_b = this.props.value) === null || _b === void 0 ? void 0 : _b.view) !== 'DAY_SELECTION' && (React.createElement("div", { style: {
1850
+ left: this.state.activePart === 'from' && '50%',
1851
+ right: this.state.activePart === 'to' && '50%',
1852
+ }, className: css$N.blocker }))),
1853
+ this.props.presets && this.renderPresets()),
1854
+ this.props.renderFooter && this.props.renderFooter())));
1855
+ };
1856
+ }
1857
+ getRange(selectedDate) {
1858
+ const newRange = { from: null, to: null };
1859
+ const currentRange = this.props.value.selectedDate;
1860
+ if (!this.props.filter || this.props.filter(dayjs(selectedDate))) {
1861
+ if (this.props.focusPart === 'from') {
1862
+ if (dayjs(selectedDate).valueOf() <= dayjs(currentRange.to).valueOf()) {
1863
+ newRange.from = selectedDate;
1864
+ newRange.to = currentRange.to;
1865
+ }
1866
+ else {
1867
+ newRange.from = selectedDate;
1868
+ newRange.to = null;
1869
+ }
1870
+ }
1871
+ if (this.props.focusPart === 'to') {
1872
+ if (!currentRange.from) {
1873
+ newRange.to = selectedDate;
1874
+ }
1875
+ else if (dayjs(selectedDate).valueOf() >= dayjs(currentRange.from).valueOf()) {
1876
+ newRange.from = currentRange.from;
1877
+ newRange.to = selectedDate;
1878
+ }
1879
+ else {
1880
+ newRange.from = selectedDate;
1881
+ newRange.to = null;
1882
+ }
1883
+ }
1884
+ }
1885
+ return newRange;
1886
+ }
1887
+ setSelectedDate(selectedDate) {
1888
+ const range = this.getRange(selectedDate);
1889
+ this.props.onValueChange(Object.assign(Object.assign({}, this.props.value), { selectedDate: range }));
1890
+ if (range.from && range.to && this.props.focusPart === 'to') {
1891
+ this.props.changeIsOpen(false);
1892
+ }
1893
+ }
1894
+ setDisplayedDateAndView(displayedDate, view, part) {
1895
+ this.setState({ activePart: part });
1896
+ this.props.onValueChange({
1897
+ selectedDate: this.props.value.selectedDate,
1898
+ displayedDate: part === 'from' ? displayedDate : displayedDate.subtract(1, 'month'),
1899
+ view: view,
1900
+ });
1901
+ }
1902
+ render() {
1903
+ return (React.createElement("div", Object.assign({ className: cx$1(css$N.root, uuiDatePickerBodyBase.container, this.props.cx) }, this.props.rawProps), this.renderDatePicker()));
1904
+ }
1905
+ }
1906
+
1907
+ var css$M = {"dropdown-container":"x29HGv","container":"kgxL2j","button-group":"_2d9yok","date-input":"MKQEAM","size-24":"TUXmbv","size-30":"_2J4SvE","size-36":"Ht-9e5","size-42":"xrGhbF","size-48":"gwdkyo","date-input-group":"Lrfa50","separator":"iUtFnB","mode-form":"_2fnsML","mode-cell":"HIrZd5","dropdownContainer":"x29HGv","buttonGroup":"_2d9yok","dateInput":"MKQEAM","size24":"TUXmbv","size30":"_2J4SvE","size36":"Ht-9e5","size42":"xrGhbF","size48":"gwdkyo","dateInputGroup":"Lrfa50","modeForm":"_2fnsML","modeCell":"HIrZd5"};
1908
+
1909
+ const defaultValue = { from: null, to: null };
1910
+ class RangeDatePicker extends BaseRangeDatePicker {
1911
+ constructor() {
1912
+ super(...arguments);
1913
+ this.renderInput = (props) => {
1914
+ var _a, _b;
1915
+ if (process.env.NODE_ENV !== "production") {
1916
+ if (this.props.size === '48') {
1917
+ devLogger.warnAboutDeprecatedPropValue({
1918
+ component: 'RangeDatePicker',
1919
+ propName: 'size',
1920
+ propValue: this.props.size,
1921
+ propValueUseInstead: '42',
1922
+ condition: () => ['48'].indexOf(this.props.size) !== -1,
1923
+ });
1924
+ }
1925
+ }
1926
+ return (React.createElement("div", { className: cx(this.props.inputCx, css$M.dateInputGroup, this.props.isDisabled && uuiMod.disabled, this.props.isReadonly && uuiMod.readonly, this.props.isInvalid && uuiMod.invalid, this.state.inFocus && uuiMod.focus), onClick: !this.props.isDisabled && props.onClick, onBlur: this.handleWrapperBlur, ref: props.ref },
1927
+ React.createElement(TextInput, { icon: systemIcons[this.props.size || '36'].calendar, cx: cx(css$M.dateInput, css$M['size-' + (this.props.size || 36)], this.state.inFocus === 'from' && uuiMod.focus), size: this.props.size || '36', placeholder: this.props.getPlaceholder ? this.props.getPlaceholder('from') : i18n.rangeDatePicker.pickerPlaceholderFrom, value: this.state.inputValue.from, onValueChange: this.getChangeHandler('from'), isInvalid: this.props.isInvalid, isDisabled: this.props.isDisabled, isReadonly: this.props.isReadonly, onFocus: (event) => this.handleFocus(event, 'from'), onBlur: (event) => this.handleBlur(event, 'from'), isDropdown: false, rawProps: (_a = this.props.rawProps) === null || _a === void 0 ? void 0 : _a.from }),
1928
+ React.createElement("div", { className: css$M.separator }),
1929
+ React.createElement(TextInput, { cx: cx(css$M.dateInput, css$M['size-' + (this.props.size || 36)], this.state.inFocus === 'to' && uuiMod.focus), placeholder: this.props.getPlaceholder ? this.props.getPlaceholder('to') : i18n.rangeDatePicker.pickerPlaceholderTo, size: this.props.size || '36', value: this.state.inputValue.to, onCancel: this.props.disableClear ? null : this.state.inputValue.from && this.state.inputValue.to && this.handleCancel, onValueChange: this.getChangeHandler('to'), isInvalid: this.props.isInvalid, isDisabled: this.props.isDisabled, isReadonly: this.props.isReadonly, onFocus: (e) => this.handleFocus(e, 'to'), onBlur: (e) => this.handleBlur(e, 'to'), isDropdown: false, rawProps: (_b = this.props.rawProps) === null || _b === void 0 ? void 0 : _b.to })));
1930
+ };
1931
+ }
1932
+ renderBody(props) {
1933
+ var _a;
1934
+ return (React.createElement(DropdownContainer, Object.assign({}, props, { cx: cx(css$M.dropdownContainer), focusLock: false }),
1935
+ React.createElement(FlexRow, null,
1936
+ React.createElement(RangeDatePickerBody, { cx: cx(this.props.bodyCx), value: this.getValue(), onValueChange: this.onRangeChange, filter: this.props.filter, changeIsOpen: this.toggleOpening, presets: this.props.presets, focusPart: this.state.inFocus, renderDay: this.props.renderDay, renderFooter: this.props.renderFooter && (() => this.props.renderFooter(this.props.value || defaultValue)), isHoliday: this.props.isHoliday, rawProps: (_a = this.props.rawProps) === null || _a === void 0 ? void 0 : _a.body }))));
1937
+ }
1938
+ }
1939
+
1940
+ var css$L = {"blocker":"M6FfCs","marker":"be8R-0","top":"SuOJrb","bottom":"zgQz-C","left":"Nj7BUc","right":"W7EplK","inside":"tt5qdK"};
1941
+
1942
+ function DropMarker(props) {
1943
+ return props.isDndInProgress
1944
+ ? (React.createElement(React.Fragment, null,
1945
+ props.enableBlocker && React.createElement("div", { className: css$L.blocker }),
1946
+ React.createElement("div", { className: cx([
1947
+ css$L.marker,
1948
+ css$L[props.position],
1949
+ props === null || props === void 0 ? void 0 : props.cx,
1950
+ ]) })))
1951
+ : null;
1952
+ }
1953
+
1954
+ var css$K = {"body":"ZDIze9","modal":"_41-9cx","search-wrapper":"vs-1wQ","checkbox":"_5cYKlo","no-found-size-24":"_4MBmZA","no-found-size-30":"_686oeG","no-found-size-36":"VqtnaS","no-found-size-42":"W5ASPu","searchWrapper":"vs-1wQ","noFoundSize24":"_4MBmZA","noFoundSize30":"_686oeG","noFoundSize36":"VqtnaS","noFoundSize42":"W5ASPu"};
1955
+
1956
+ class DataPickerBody extends PickerBodyBase {
1957
+ constructor() {
1958
+ super(...arguments);
1959
+ this.lens = Lens.onEditableComponent(this);
1960
+ this.searchLens = this.lens.prop('search');
1961
+ }
1962
+ renderNotFound() {
1963
+ if (this.props.renderNotFound) {
1964
+ return this.props.renderNotFound();
1965
+ }
1966
+ return (React__default.createElement(FlexCell$1, { cx: css$K[`no-found-size-${this.props.searchSize || 36}`], grow: 1, textAlign: "center" },
1967
+ React__default.createElement(Text, { size: this.props.searchSize || '36' }, i18n.dataPickerBody.noRecordsMessage)));
1968
+ }
1969
+ render() {
1970
+ const searchSize = isMobile() ? '48' : this.props.searchSize || '36';
1971
+ return (React__default.createElement(React__default.Fragment, null,
1972
+ this.showSearch() && (React__default.createElement("div", { key: "search", className: css$K.searchWrapper },
1973
+ React__default.createElement(FlexCell$1, { grow: 1 },
1974
+ React__default.createElement(SearchInput, Object.assign({ ref: this.searchRef, placeholder: i18n.dataPickerBody.searchPlaceholder }, this.searchLens.toProps(), { onKeyDown: this.searchKeyDown, size: searchSize }))))),
1975
+ React__default.createElement(FlexRow, { key: "body", cx: cx$1(css$K.body, css$K[this.props.editMode], css$K[this.props.selectionMode]), rawProps: { style: { maxHeight: this.props.maxHeight } } }, this.props.rowsCount > 0 ? (React__default.createElement(VirtualList, Object.assign({}, this.lens.toProps(), { rows: this.props.rows, rawProps: this.props.rawProps, rowsCount: this.props.rowsCount, isLoading: this.props.isReloading }))) : (this.renderNotFound()))));
1976
+ }
1977
+ }
1978
+
1979
+ const switchSizes = {
1980
+ 24: '12',
1981
+ 36: '18',
1982
+ 42: '24',
1983
+ 48: '24',
1984
+ };
1985
+ function DataPickerFooterImpl(props) {
1986
+ const { clearSelection, view, showSelected, selectionMode, } = props;
1987
+ const size = isMobile() ? '48' : props.size || '36';
1988
+ const switchSize = switchSizes[size];
1989
+ const hasSelection = view.getSelectedRowsCount() > 0;
1990
+ const isSinglePicker = selectionMode === 'single';
1991
+ const clearAllText = i18n.pickerInput.clearSelectionButton;
1992
+ const clearSingleText = i18n.pickerInput.clearSelectionButtonSingle;
1993
+ const selectAllText = i18n.pickerInput.selectAllButton;
1994
+ // show always for multi picker and for single only in case if search not disabled.
1995
+ const shouldShowFooter = isSinglePicker ? !props.disableClear : true;
1996
+ return shouldShowFooter && (React__default.createElement(FlexRow, { padding: "12" },
1997
+ !isSinglePicker && (React__default.createElement(Switch, { size: switchSize, value: showSelected.value, isDisabled: !hasSelection, onValueChange: showSelected.onValueChange, label: i18n.pickerInput.showOnlySelectedLabel })),
1998
+ React__default.createElement(FlexSpacer, null),
1999
+ React__default.createElement(FlexCell, { width: "auto", alignSelf: "center" },
2000
+ view.selectAll && (React__default.createElement(LinkButton, { size: size, caption: hasSelection ? clearAllText : selectAllText, onClick: hasSelection ? clearSelection : () => view.selectAll.onValueChange(true), rawProps: {
2001
+ 'aria-label': hasSelection ? clearAllText : selectAllText,
2002
+ } })),
2003
+ !view.selectAll && (React__default.createElement(LinkButton, { isDisabled: !hasSelection, size: size, caption: isSinglePicker ? clearSingleText : clearAllText, onClick: clearSelection, rawProps: {
2004
+ 'aria-label': isSinglePicker ? clearSingleText : clearAllText,
2005
+ } })))));
2006
+ }
2007
+ const DataPickerFooter = React__default.memo(DataPickerFooterImpl);
2008
+
2009
+ var css$J = {"header":"hKec5G","close":"h1cM0x"};
2010
+
2011
+ var _path$A;
1625
2012
  function _extends$B() { _extends$B = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$B.apply(this, arguments); }
1626
- var SvgNavigationChevronDown18 = function SvgNavigationChevronDown18(props, ref) {
2013
+ var SvgNavigationClose24 = function SvgNavigationClose24(props, ref) {
1627
2014
  return /*#__PURE__*/React.createElement("svg", _extends$B({
2015
+ xmlns: "http://www.w3.org/2000/svg",
2016
+ width: 24,
2017
+ height: 24,
2018
+ viewBox: "0 0 24 24",
2019
+ ref: ref
2020
+ }, props), _path$A || (_path$A = /*#__PURE__*/React.createElement("path", {
2021
+ fillRule: "evenodd",
2022
+ d: "M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z",
2023
+ clipRule: "evenodd"
2024
+ })));
2025
+ };
2026
+ var ForwardRef$B = /*#__PURE__*/forwardRef(SvgNavigationClose24);
2027
+
2028
+ const DataPickerHeaderImpl = (props) => {
2029
+ const title = props.title && typeof props.title === 'string' ? props.title.charAt(0).toUpperCase() + props.title.slice(1) : '';
2030
+ return (React__default.createElement(FlexRow, { alignItems: "center", borderBottom: true, cx: css$J.header },
2031
+ React__default.createElement(Text, { size: "48", font: "semibold" }, title),
2032
+ React__default.createElement(IconButton, { icon: ForwardRef$B, onClick: () => { var _a; return (_a = props.close) === null || _a === void 0 ? void 0 : _a.call(props); }, cx: css$J.close })));
2033
+ };
2034
+ const DataPickerHeader = React__default.memo(DataPickerHeaderImpl);
2035
+
2036
+ var _path$z;
2037
+ function _extends$A() { _extends$A = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$A.apply(this, arguments); }
2038
+ var SvgNavigationChevronDown18 = function SvgNavigationChevronDown18(props, ref) {
2039
+ return /*#__PURE__*/React.createElement("svg", _extends$A({
1628
2040
  xmlns: "http://www.w3.org/2000/svg",
1629
2041
  width: 18,
1630
2042
  height: 18,
1631
2043
  viewBox: "0 0 18 18",
1632
2044
  ref: ref
1633
- }, props), _path$A || (_path$A = /*#__PURE__*/React.createElement("path", {
2045
+ }, props), _path$z || (_path$z = /*#__PURE__*/React.createElement("path", {
1634
2046
  fillRule: "evenodd",
1635
2047
  d: "M12.443 6.442 9 9.877 5.558 6.442 4.5 7.5 9 12l4.5-4.5-1.057-1.058z",
1636
2048
  clipRule: "evenodd"
1637
2049
  })));
1638
2050
  };
1639
- var ForwardRef$B = /*#__PURE__*/forwardRef(SvgNavigationChevronDown18);
2051
+ var ForwardRef$A = /*#__PURE__*/forwardRef(SvgNavigationChevronDown18);
1640
2052
 
1641
- var css$T = {"cell":"a-eia1","wrapper":"eddJ44","align-widgets-top":"Oxz1nk","size-24":"y7gUwL","folding-arrow":"ZRqECH","size-30":"uIhcWZ","size-36":"_2gou0C","size-42":"n62SC4","size-48":"SE4GaK","size-60":"y5hmTO","align-widgets-center":"_64q22J","padding-12":"iY5j5b","padding-24":"iQXegu","padding-left-12":"_8l6OHX","padding-left-24":"-e717L","padding-right-24":"EeClT9","drag-handle":"yrnuz7","checkbox":"mDtBQB","indent":"g1ocIN","folding-arrow-12":"OOUtlG","folding-arrow-18":"w4x0nL","icon-container":"yCNIse","loading-cell":"PJ4AtR","alignWidgetsTop":"Oxz1nk","size24":"y7gUwL","foldingArrow":"ZRqECH","size30":"uIhcWZ","size36":"_2gou0C","size42":"n62SC4","size48":"SE4GaK","size60":"y5hmTO","alignWidgetsCenter":"_64q22J","padding12":"iY5j5b","padding24":"iQXegu","paddingLeft12":"_8l6OHX","paddingLeft24":"-e717L","paddingRight24":"EeClT9","dragHandle":"yrnuz7","foldingArrow12":"OOUtlG","foldingArrow18":"w4x0nL","iconContainer":"yCNIse","loadingCell":"PJ4AtR"};
2053
+ var css$I = {"cell":"PXAm5H","wrapper":"kS4Vih","align-widgets-top":"TKoxfj","size-24":"nLgTZq","folding-arrow":"MEjYv7","size-30":"XateIZ","size-36":"xO-d6h","size-42":"sfj2w0","size-48":"_0pJrQm","size-60":"Yem30k","align-widgets-center":"if-Fzz","padding-12":"IeCjNZ","padding-24":"KPnJmK","padding-left-12":"-lSqse","padding-left-24":"XqY0n0","padding-right-24":"ST4eqp","drag-handle":"xsq2v8","checkbox":"_0zFQlc","indent":"THiMBT","folding-arrow-12":"atg3BL","folding-arrow-18":"_3YC0fW","icon-container":"_3-9DPP","loading-cell":"MrrjcS","alignWidgetsTop":"TKoxfj","size24":"nLgTZq","foldingArrow":"MEjYv7","size30":"XateIZ","size36":"xO-d6h","size42":"sfj2w0","size48":"_0pJrQm","size60":"Yem30k","alignWidgetsCenter":"if-Fzz","padding12":"IeCjNZ","padding24":"KPnJmK","paddingLeft12":"-lSqse","paddingLeft24":"XqY0n0","paddingRight24":"ST4eqp","dragHandle":"xsq2v8","foldingArrow12":"atg3BL","foldingArrow18":"_3YC0fW","iconContainer":"_3-9DPP","loadingCell":"MrrjcS"};
1642
2054
 
1643
2055
  function DataTableRowAddons(props) {
1644
2056
  var _a, _b;
1645
2057
  const row = props.rowProps;
1646
2058
  const additionalItemSize = +props.size < 30 ? '12' : '18';
1647
2059
  return (React.createElement(React.Fragment, null,
1648
- ((_a = row.dnd) === null || _a === void 0 ? void 0 : _a.srcData) && React.createElement(DragHandle, { key: "dh", cx: css$T.dragHandle }),
1649
- ((_b = row === null || row === void 0 ? void 0 : row.checkbox) === null || _b === void 0 ? void 0 : _b.isVisible) && (React.createElement(Checkbox, { key: "cb", cx: css$T.checkbox, tabIndex: props.tabIndex, size: additionalItemSize, value: row.isChecked, indeterminate: !row.isChecked && row.isChildrenChecked, onValueChange: () => { var _a; return (_a = row.onCheck) === null || _a === void 0 ? void 0 : _a.call(row, row); }, isDisabled: row.checkbox.isDisabled, isInvalid: row.checkbox.isInvalid })),
1650
- row.indent > 0 && (React.createElement("div", { key: "fold", className: css$T.indent, style: { marginLeft: (row.indent - 1) * 24 } }, row.isFoldable && (React.createElement(IconContainer, { rawProps: {
2060
+ ((_a = row.dnd) === null || _a === void 0 ? void 0 : _a.srcData) && React.createElement(DragHandle, { key: "dh", cx: css$I.dragHandle }),
2061
+ ((_b = row === null || row === void 0 ? void 0 : row.checkbox) === null || _b === void 0 ? void 0 : _b.isVisible) && (React.createElement(Checkbox, { key: "cb", cx: css$I.checkbox, tabIndex: props.tabIndex, size: additionalItemSize, value: row.isChecked, indeterminate: !row.isChecked && row.isChildrenChecked, onValueChange: () => { var _a; return (_a = row.onCheck) === null || _a === void 0 ? void 0 : _a.call(row, row); }, isDisabled: row.checkbox.isDisabled, isInvalid: row.checkbox.isInvalid })),
2062
+ row.indent > 0 && (React.createElement("div", { key: "fold", className: css$I.indent, style: { marginLeft: (row.indent - 1) * 24 } }, row.isFoldable && (React.createElement(IconContainer, { rawProps: {
1651
2063
  'aria-label': row.isFolded ? 'Unfold' : 'Fold',
1652
2064
  role: 'button',
1653
- }, key: "icon", icon: ForwardRef$B, cx: [
1654
- css$T.foldingArrow, css$T[`folding-arrow-${additionalItemSize}`], uuiMarkers.clickable, css$T.iconContainer,
2065
+ }, key: "icon", icon: ForwardRef$A, cx: [
2066
+ css$I.foldingArrow, css$I[`folding-arrow-${additionalItemSize}`], uuiMarkers.clickable, css$I.iconContainer,
1655
2067
  ], rotate: row.isFolded ? '90ccw' : '0', onClick: () => row.onFold(row) }))))));
1656
2068
  }
1657
2069
  function DataTableCell(props) {
@@ -1662,77 +2074,76 @@ function DataTableCell(props) {
1662
2074
  props.renderPlaceholder = props.renderPlaceholder
1663
2075
  || (() => (
1664
2076
  // remove `css.loadingCell` after` removing `margin: 0 3px 3px 0` from `TextPlaceholder` `loadingWord` class styles.
1665
- React.createElement(Text, { key: "t", size: props.size !== '60' ? props.size : '48', cx: css$T.loadingCell },
2077
+ React.createElement(Text, { key: "t", size: props.size !== '60' ? props.size : '48', cx: css$I.loadingCell },
1666
2078
  React.createElement(TextPlaceholder, null))));
1667
2079
  props.renderUnknown = props.renderUnknown
1668
2080
  || (() => (React.createElement(Text, { key: "t", size: props.size !== '60' ? props.size : '48' }, "Unknown")));
1669
2081
  props.renderTooltip = (tooltipProps) => React.createElement(Tooltip, Object.assign({ color: "critical" }, tooltipProps));
1670
2082
  const isEditable = !!props.onValueChange;
1671
2083
  props.cx = [
1672
- 'uui-dt-vars',
1673
2084
  'data-table-cell',
1674
2085
  props.cx,
1675
- css$T.cell,
1676
- css$T['size-' + (props.size || '36')],
1677
- css$T[`padding-${props.padding || (isEditable && !props.rowProps.isLoading && '0') || '12'}`],
1678
- props.isFirstColumn && css$T[`padding-left-${props.padding || (isEditable && !props.rowProps.isLoading && '12') || '24'}`],
1679
- props.isLastColumn && css$T['padding-right-24'],
1680
- css$T[`align-widgets-${props.alignActions || 'top'}`],
2086
+ css$I.cell,
2087
+ css$I['size-' + (props.size || '36')],
2088
+ css$I[`padding-${props.padding || (isEditable && !props.rowProps.isLoading && '0') || '12'}`],
2089
+ props.isFirstColumn && css$I[`padding-left-${props.padding || (isEditable && !props.rowProps.isLoading && '12') || '24'}`],
2090
+ props.isLastColumn && css$I['padding-right-24'],
2091
+ css$I[`align-widgets-${props.alignActions || 'top'}`],
1681
2092
  (props.border || isEditable) && 'uui-dt-vertical-cell-border',
1682
2093
  ];
1683
2094
  return React.createElement(DataTableCell$1, Object.assign({}, props));
1684
2095
  }
1685
2096
 
1686
- var _path$z;
1687
- function _extends$A() { _extends$A = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$A.apply(this, arguments); }
1688
- var SvgNotificationDone24 = function SvgNotificationDone24(props, ref) {
1689
- return /*#__PURE__*/React.createElement("svg", _extends$A({
2097
+ var _path$y;
2098
+ function _extends$z() { _extends$z = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$z.apply(this, arguments); }
2099
+ var SvgNotificationDone24 = function SvgNotificationDone24(props, ref) {
2100
+ return /*#__PURE__*/React.createElement("svg", _extends$z({
1690
2101
  xmlns: "http://www.w3.org/2000/svg",
1691
2102
  width: 24,
1692
2103
  height: 24,
1693
2104
  viewBox: "0 0 24 24",
1694
2105
  ref: ref
1695
- }, props), _path$z || (_path$z = /*#__PURE__*/React.createElement("path", {
2106
+ }, props), _path$y || (_path$y = /*#__PURE__*/React.createElement("path", {
1696
2107
  fillRule: "evenodd",
1697
2108
  d: "m9.727 16.075-4.295-4.388L4 13.149 9.727 19 22 6.463 20.568 5 9.728 16.075z",
1698
2109
  clipRule: "evenodd"
1699
2110
  })));
1700
2111
  };
1701
- var ForwardRef$A = /*#__PURE__*/forwardRef(SvgNotificationDone24);
2112
+ var ForwardRef$z = /*#__PURE__*/forwardRef(SvgNotificationDone24);
1702
2113
 
1703
- var _path$y;
1704
- function _extends$z() { _extends$z = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$z.apply(this, arguments); }
2114
+ var _path$x;
2115
+ function _extends$y() { _extends$y = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$y.apply(this, arguments); }
1705
2116
  var SvgNotificationDone18 = function SvgNotificationDone18(props, ref) {
1706
- return /*#__PURE__*/React.createElement("svg", _extends$z({
2117
+ return /*#__PURE__*/React.createElement("svg", _extends$y({
1707
2118
  xmlns: "http://www.w3.org/2000/svg",
1708
2119
  width: 18,
1709
2120
  height: 18,
1710
2121
  viewBox: "0 0 18 18",
1711
2122
  ref: ref
1712
- }, props), _path$y || (_path$y = /*#__PURE__*/React.createElement("path", {
2123
+ }, props), _path$x || (_path$x = /*#__PURE__*/React.createElement("path", {
1713
2124
  fillRule: "evenodd",
1714
2125
  d: "M7.136 11.91 4.034 8.776 3 9.821 7.136 14 16 5.045 14.966 4l-7.83 7.91z",
1715
2126
  clipRule: "evenodd"
1716
2127
  })));
1717
2128
  };
1718
- var ForwardRef$z = /*#__PURE__*/forwardRef(SvgNotificationDone18);
2129
+ var ForwardRef$y = /*#__PURE__*/forwardRef(SvgNotificationDone18);
1719
2130
 
1720
- var _path$x;
1721
- function _extends$y() { _extends$y = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$y.apply(this, arguments); }
2131
+ var _path$w;
2132
+ function _extends$x() { _extends$x = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$x.apply(this, arguments); }
1722
2133
  var SvgNotificationDone12 = function SvgNotificationDone12(props, ref) {
1723
- return /*#__PURE__*/React.createElement("svg", _extends$y({
2134
+ return /*#__PURE__*/React.createElement("svg", _extends$x({
1724
2135
  xmlns: "http://www.w3.org/2000/svg",
1725
2136
  width: 12,
1726
2137
  height: 12,
1727
2138
  viewBox: "0 0 12 12",
1728
2139
  ref: ref
1729
- }, props), _path$x || (_path$x = /*#__PURE__*/React.createElement("path", {
2140
+ }, props), _path$w || (_path$w = /*#__PURE__*/React.createElement("path", {
1730
2141
  d: "M11 3.6 9.462 2 4.846 6.8 2.538 4.4 1 6l3.846 4L11 3.6z"
1731
2142
  })));
1732
2143
  };
1733
- var ForwardRef$y = /*#__PURE__*/forwardRef(SvgNotificationDone12);
2144
+ var ForwardRef$x = /*#__PURE__*/forwardRef(SvgNotificationDone12);
1734
2145
 
1735
- var css$S = {"render-item":"wreqOo","icon-wrapper":"IsbXkM","picker-row":"pitB9v","icon-default":"CAn8HC","icon-primary":"_4--nkQ","renderItem":"wreqOo","iconWrapper":"IsbXkM","pickerRow":"pitB9v","iconDefault":"CAn8HC","iconPrimary":"_4--nkQ"};
2146
+ var css$H = {"render-item":"ezmkI-","icon-wrapper":"K-s0XO","picker-row":"MxVgmn","icon-default":"WtTKWi","icon-primary":"sa-YYF","renderItem":"ezmkI-","iconWrapper":"K-s0XO","pickerRow":"MxVgmn","iconDefault":"WtTKWi","iconPrimary":"sa-YYF"};
1736
2147
 
1737
2148
  class DataPickerRow extends React.Component {
1738
2149
  constructor() {
@@ -1740,26 +2151,26 @@ class DataPickerRow extends React.Component {
1740
2151
  this.getIcon = (size) => {
1741
2152
  switch (size) {
1742
2153
  case '24':
1743
- return ForwardRef$y;
2154
+ return ForwardRef$x;
1744
2155
  case '30':
1745
- return ForwardRef$z;
2156
+ return ForwardRef$y;
1746
2157
  case '36':
1747
- return ForwardRef$z;
2158
+ return ForwardRef$y;
1748
2159
  case '42':
1749
- return ForwardRef$A;
1750
- default:
1751
2160
  return ForwardRef$z;
2161
+ default:
2162
+ return ForwardRef$y;
1752
2163
  }
1753
2164
  };
1754
2165
  this.column = {
1755
2166
  key: 'name',
1756
2167
  grow: 1,
1757
2168
  width: 0,
1758
- render: (item, rowProps) => (React.createElement("div", { key: rowProps.id, className: css$S.renderItem },
2169
+ render: (item, rowProps) => (React.createElement("div", { key: rowProps.id, className: css$H.renderItem },
1759
2170
  this.props.renderItem(item, rowProps),
1760
2171
  React.createElement(FlexSpacer, null),
1761
- (rowProps.isChildrenSelected || rowProps.isSelected) && (React.createElement("div", { className: css$S.iconWrapper },
1762
- React.createElement(IconContainer, { icon: this.getIcon(this.props.size), cx: rowProps.isChildrenSelected ? css$S.iconDefault : css$S.iconPrimary, rawProps: { 'aria-label': rowProps.isChildrenSelected
2172
+ (rowProps.isChildrenSelected || rowProps.isSelected) && (React.createElement("div", { className: css$H.iconWrapper },
2173
+ React.createElement(IconContainer, { icon: this.getIcon(this.props.size), cx: rowProps.isChildrenSelected ? css$H.iconDefault : css$H.iconPrimary, rawProps: { 'aria-label': rowProps.isChildrenSelected
1763
2174
  ? 'Child is selected'
1764
2175
  : 'Selected' } }))))),
1765
2176
  };
@@ -1768,31 +2179,31 @@ class DataPickerRow extends React.Component {
1768
2179
  };
1769
2180
  }
1770
2181
  render() {
1771
- return React.createElement(DataPickerRow$1, Object.assign({}, this.props, { cx: [css$S.pickerRow, this.props.cx], renderContent: this.renderContent }));
2182
+ return React.createElement(DataPickerRow$1, Object.assign({}, this.props, { cx: [css$H.pickerRow, this.props.cx], renderContent: this.renderContent }));
1772
2183
  }
1773
2184
  }
1774
2185
 
1775
- var css$R = {"done":"_1f5JI6","container":"lMBOdO"};
2186
+ var css$G = {"done":"gS9Pj-","container":"-WWDWD"};
1776
2187
 
1777
2188
  const MobileDropdownWrapper = (props) => {
1778
2189
  const isMobileView = isMobile();
1779
- return (React__default.createElement(DropdownContainer, Object.assign({}, props, { cx: [css$R.container, props.cx], rawProps: props.rawProps, onKeyDown: props.onKeyDown, focusLock: props.focusLock, width: props.width }),
2190
+ return (React__default.createElement(DropdownContainer, Object.assign({}, props, { cx: [css$G.container, props.cx], rawProps: props.rawProps, onKeyDown: props.onKeyDown, focusLock: props.focusLock, width: props.width }),
1780
2191
  isMobileView && React__default.createElement(DataPickerHeader, { title: props.title, close: props.onClose }),
1781
2192
  props.children,
1782
- isMobileView && React__default.createElement(LinkButton, { caption: i18n.pickerInput.doneButton, onClick: () => { var _a; return (_a = props.onClose) === null || _a === void 0 ? void 0 : _a.call(props); }, cx: css$R.done, size: "48" })));
2193
+ isMobileView && React__default.createElement(LinkButton, { caption: i18n.pickerInput.doneButton, onClick: () => { var _a; return (_a = props.onClose) === null || _a === void 0 ? void 0 : _a.call(props); }, cx: css$G.done, size: "48" })));
1783
2194
  };
1784
2195
 
1785
- var _path$w, _path2$1;
1786
- function _extends$x() { _extends$x = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$x.apply(this, arguments); }
2196
+ var _path$v, _path2$1;
2197
+ function _extends$w() { _extends$w = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$w.apply(this, arguments); }
1787
2198
  var SvgSearchWithBackground = function SvgSearchWithBackground(props, ref) {
1788
- return /*#__PURE__*/React.createElement("svg", _extends$x({
2199
+ return /*#__PURE__*/React.createElement("svg", _extends$w({
1789
2200
  width: 66,
1790
2201
  height: 67,
1791
2202
  viewBox: "0 0 66 67",
1792
2203
  fill: "none",
1793
2204
  xmlns: "http://www.w3.org/2000/svg",
1794
2205
  ref: ref
1795
- }, props), _path$w || (_path$w = /*#__PURE__*/React.createElement("path", {
2206
+ }, props), _path$v || (_path$v = /*#__PURE__*/React.createElement("path", {
1796
2207
  d: "M0 33.5C0 15.275 14.775.5 33 .5s33 14.775 33 33-14.775 33-33 33-33-14.775-33-33Z",
1797
2208
  fill: "#EBEDF5"
1798
2209
  })), _path2$1 || (_path2$1 = /*#__PURE__*/React.createElement("path", {
@@ -1802,9 +2213,9 @@ var SvgSearchWithBackground = function SvgSearchWithBackground(props, ref) {
1802
2213
  fill: "#6C6F80"
1803
2214
  })));
1804
2215
  };
1805
- var ForwardRef$x = /*#__PURE__*/forwardRef(SvgSearchWithBackground);
2216
+ var ForwardRef$w = /*#__PURE__*/forwardRef(SvgSearchWithBackground);
1806
2217
 
1807
- var css$Q = {"sub-header-wrapper":"Upn5eX","switch":"JgdYX7","no-found-modal-container":"mdYviJ","no-found-modal-container-icon":"kwBGjR","no-found-modal-container-text":"DfNAQX","subHeaderWrapper":"Upn5eX","$switch$":"JgdYX7","noFoundModalContainer":"mdYviJ","noFoundModalContainerIcon":"kwBGjR","noFoundModalContainerText":"DfNAQX"};
2218
+ var css$F = {"sub-header-wrapper":"vPrMWG","switch":"_4DdjeC","no-found-modal-container":"k3XdDO","no-found-modal-container-icon":"_4zwOwq","no-found-modal-container-text":"EbkGp5","subHeaderWrapper":"vPrMWG","$switch$":"_4DdjeC","noFoundModalContainer":"k3XdDO","noFoundModalContainerIcon":"_4zwOwq","noFoundModalContainerText":"EbkGp5"};
1808
2219
 
1809
2220
  function PickerModal(props) {
1810
2221
  const { view, selection, dataSourceStateLens, showSelectedLens, dataSourceState, getDataSourceState, getName, clearSelection, getRows, getListProps, getFooterProps, isSingleSelect, handleDataSourceValueChange, } = usePickerModal(props);
@@ -1816,40 +2227,40 @@ function PickerModal(props) {
1816
2227
  return (React__default.createElement(React__default.Fragment, null,
1817
2228
  view.selectAll && (React__default.createElement(LinkButton, { caption: hasSelection ? i18n.pickerModal.clearAllButton : i18n.pickerModal.selectAllButton, onClick: hasSelection ? () => clearSelection() : () => view.selectAll.onValueChange(true) })),
1818
2229
  React__default.createElement(FlexSpacer, null),
1819
- React__default.createElement(Button, { fill: "outline", color: "secondary", caption: i18n.pickerModal.cancelButton, onClick: () => props.abort() }),
2230
+ React__default.createElement(Button, { mode: "outline", color: "secondary", caption: i18n.pickerModal.cancelButton, onClick: () => props.abort() }),
1820
2231
  React__default.createElement(Button, { color: "accent", caption: i18n.pickerModal.selectButton, onClick: () => props.success(selection) })));
1821
2232
  };
1822
2233
  const renderNotFound = () => {
1823
- return props.renderNotFound ? (props.renderNotFound({ search: dataSourceState.search, onClose: () => props.success(null) })) : (React__default.createElement("div", { className: css$Q.noFoundModalContainer },
1824
- React__default.createElement(IconContainer, { cx: css$Q.noFoundModalContainerIcon, icon: ForwardRef$x }),
1825
- React__default.createElement(Text, { cx: css$Q.noFoundModalContainerText, font: "semibold", fontSize: "16", lineHeight: "24", color: "primary", size: "36" }, i18n.dataPickerBody.noRecordsMessage),
1826
- React__default.createElement(Text, { cx: css$Q.noFoundModalContainerText, fontSize: "12", lineHeight: "18", font: "regular", color: "primary", size: "36" }, i18n.dataPickerBody.noRecordsSubTitle)));
2234
+ return props.renderNotFound ? (props.renderNotFound({ search: dataSourceState.search, onClose: () => props.success(null) })) : (React__default.createElement("div", { className: css$F.noFoundModalContainer },
2235
+ React__default.createElement(IconContainer, { cx: css$F.noFoundModalContainerIcon, icon: ForwardRef$w }),
2236
+ React__default.createElement(Text, { cx: css$F.noFoundModalContainerText, font: "semibold", fontSize: "16", lineHeight: "24", color: "primary", size: "36" }, i18n.dataPickerBody.noRecordsMessage),
2237
+ React__default.createElement(Text, { cx: css$F.noFoundModalContainerText, fontSize: "12", lineHeight: "18", font: "regular", color: "primary", size: "36" }, i18n.dataPickerBody.noRecordsSubTitle)));
1827
2238
  };
1828
2239
  const dataRows = getRows();
1829
2240
  const rows = dataRows.map((row) => renderRow(row));
1830
2241
  return (React__default.createElement(ModalBlocker, Object.assign({}, props),
1831
2242
  React__default.createElement(ModalWindow, { width: 600, height: 700 },
1832
2243
  React__default.createElement(ModalHeader, { title: props.caption || i18n.pickerModal.headerTitle, onClose: () => props.abort() }),
1833
- React__default.createElement(FlexCell, { cx: css$Q.subHeaderWrapper },
2244
+ React__default.createElement(FlexCell, { cx: css$F.subHeaderWrapper },
1834
2245
  React__default.createElement(FlexRow, { vPadding: "24" },
1835
2246
  React__default.createElement(SearchInput, Object.assign({}, dataSourceStateLens.prop('search').toProps(), { onKeyDown: (e) => handleDataSourceKeyboard({
1836
2247
  value: getDataSourceState(),
1837
2248
  onValueChange: handleDataSourceValueChange,
1838
2249
  listView: view,
1839
2250
  rows: dataRows,
1840
- searchPosition: 'body',
2251
+ editMode: 'modal',
1841
2252
  }, e), autoFocus: true, placeholder: i18n.pickerModal.searchPlaceholder }))),
1842
- !isSingleSelect() && (React__default.createElement(Switch, Object.assign({ cx: css$Q.switch, size: "18" }, showSelectedLens.toProps(), { isDisabled: view.getSelectedRowsCount() < 1, label: "Show only selected" }))),
2253
+ !isSingleSelect() && (React__default.createElement(Switch, Object.assign({ cx: css$F.switch, size: "18" }, showSelectedLens.toProps(), { isDisabled: view.getSelectedRowsCount() < 1, label: "Show only selected" }))),
1843
2254
  props.renderFilter && React__default.createElement(FlexCell, { grow: 2 }, props.renderFilter(dataSourceStateLens.prop('filter').toProps()))),
1844
2255
  React__default.createElement(DataPickerBody, Object.assign({}, getListProps(), { value: getDataSourceState(), onValueChange: handleDataSourceValueChange, search: dataSourceStateLens.prop('search').toProps(), showSearch: false, rows: rows, renderNotFound: renderNotFound, editMode: "modal" })),
1845
2256
  React__default.createElement(ModalFooter, { padding: "24", vPadding: "24" }, props.renderFooter ? props.renderFooter(getFooterProps()) : renderFooter()))));
1846
2257
  }
1847
2258
 
1848
- var css$P = {"root":"Cqz3Ry"};
2259
+ var css$E = {"root":"wpTgsJ"};
1849
2260
 
1850
- const AvatarStack = withMods(AvatarStack$1, () => [css$P.root]);
2261
+ const AvatarStack = withMods(AvatarStack$1, () => [css$E.root]);
1851
2262
 
1852
- var css$O = {"root":"_8j2Pdp","size-18":"qMV7zC","size-24":"R2OFMy","size-30":"BgaLX3","size-36":"qLi8c3","size-42":"ydCAMA","size-48":"xn-v4s","size18":"qMV7zC","size24":"R2OFMy","size30":"BgaLX3","size36":"qLi8c3","size42":"ydCAMA","size48":"xn-v4s"};
2263
+ var css$D = {"root":"g2GaTF","size-18":"lFB9qZ","fill-transparent":"l8aT0K","size-24":"LvDUJc","size-30":"eUWIJU","size-36":"IZKJg7","size-42":"E3BKCK","size-48":"go0UJ6","fill-solid":"_9MM4-l","fill-semitransparent":"WXI04I","size18":"lFB9qZ","fillTransparent":"l8aT0K","size24":"LvDUJc","size30":"eUWIJU","size36":"IZKJg7","size42":"E3BKCK","size48":"go0UJ6","fillSolid":"_9MM4-l","fillSemitransparent":"WXI04I"};
1853
2264
 
1854
2265
  const defaultSize$5 = '36';
1855
2266
  const mapSize$1 = {
@@ -1862,11 +2273,7 @@ const mapSize$1 = {
1862
2273
  };
1863
2274
  function applyBadgeMods(mods) {
1864
2275
  return [
1865
- 'uui-badge',
1866
- css$O.root,
1867
- css$O['size-' + (mods.size || defaultSize$5)],
1868
- `fill-${mods.fill || 'solid'}`,
1869
- mods.color && `uui-color-${mods.color}`,
2276
+ css$D.root, buttonCss.root, css$D['size-' + (mods.size || defaultSize$5)], css$D['fill-' + (mods.fill || 'solid')], mods.color && `badge-${mods.color}`,
1870
2277
  ];
1871
2278
  }
1872
2279
  const Badge = withMods(Button$1, applyBadgeMods, (props) => ({
@@ -1875,7 +2282,7 @@ const Badge = withMods(Button$1, applyBadgeMods, (props) => ({
1875
2282
  countPosition: 'left',
1876
2283
  }));
1877
2284
 
1878
- var css$N = {"root":"MS24E-","size-18":"WT3Ivg","size-24":"gGgt8L","size-30":"gY40BV","size-36":"xcA7Nm","size-42":"-PGvxx","size-48":"cpmfsB","size18":"WT3Ivg","size24":"gGgt8L","size30":"gY40BV","size36":"xcA7Nm","size42":"-PGvxx","size48":"cpmfsB"};
2285
+ var css$C = {"root":"_1-I1ie","size-18":"_5CmAdj","size-24":"nWfM8C","size-30":"ChHfDN","size-36":"b3axBo","size-42":"_4K3Gli","size-48":"xWS4i7","size18":"_5CmAdj","size24":"nWfM8C","size30":"ChHfDN","size36":"b3axBo","size42":"_4K3Gli","size48":"xWS4i7"};
1879
2286
 
1880
2287
  const defaultSize$4 = '36';
1881
2288
  const mapSize = {
@@ -1887,120 +2294,107 @@ const mapSize = {
1887
2294
  18: '18',
1888
2295
  };
1889
2296
  function applyTagMods(mods) {
1890
- return [css$N['size-' + (mods.size || defaultSize$4)], css$N.root, 'uui-color-gray', 'uui-tag'];
2297
+ return [css$C['size-' + (mods.size || defaultSize$4)], css$C.root];
1891
2298
  }
1892
2299
  const Tag = withMods(Button$1, applyTagMods, (props) => ({
1893
2300
  dropdownIcon: systemIcons[mapSize[props.size] || defaultSize$4].foldingArrow,
1894
2301
  clearIcon: systemIcons[mapSize[props.size] || defaultSize$4].clear,
1895
2302
  }));
1896
2303
 
1897
- var css$M = {"root":"A1e7MR","spacer":"ioSBM8","mode-ghost":"NhTAvE","size-24":"QRazxp","size-30":"un047X","navigation-size-24":"LWOBKR","navigation-size-30":"k3cF4G","modeGhost":"NhTAvE","size24":"QRazxp","size30":"un047X","navigationSize24":"LWOBKR","navigationSize30":"k3cF4G"};
2304
+ var css$B = {"root":"zHpSJK","spacer":"eFz-P4","mode-ghost":"_3dh7wo","size-24":"Rqjuvc","size-30":"As-OAc","navigation-size-24":"Rw9pt-","navigation-size-30":"-agfoU","modeGhost":"_3dh7wo","size24":"Rqjuvc","size30":"As-OAc","navigationSize24":"Rw9pt-","navigationSize30":"-agfoU"};
1898
2305
 
1899
- var _path$v;
1900
- function _extends$w() { _extends$w = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$w.apply(this, arguments); }
2306
+ var _path$u;
2307
+ function _extends$v() { _extends$v = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$v.apply(this, arguments); }
1901
2308
  var SvgNavigationChevronLeft12 = function SvgNavigationChevronLeft12(props, ref) {
1902
- return /*#__PURE__*/React.createElement("svg", _extends$w({
2309
+ return /*#__PURE__*/React.createElement("svg", _extends$v({
1903
2310
  xmlns: "http://www.w3.org/2000/svg",
1904
2311
  width: 12,
1905
2312
  height: 12,
1906
2313
  viewBox: "0 0 12 12",
1907
2314
  ref: ref
1908
- }, props), _path$v || (_path$v = /*#__PURE__*/React.createElement("path", {
2315
+ }, props), _path$u || (_path$u = /*#__PURE__*/React.createElement("path", {
1909
2316
  fillRule: "evenodd",
1910
2317
  d: "M7.705 3.705 7 3 4 6l3 3 .705-.705L5.415 6l2.29-2.295z",
1911
2318
  clipRule: "evenodd"
1912
2319
  })));
1913
2320
  };
1914
- var ForwardRef$w = /*#__PURE__*/forwardRef(SvgNavigationChevronLeft12);
2321
+ var ForwardRef$v = /*#__PURE__*/forwardRef(SvgNavigationChevronLeft12);
1915
2322
 
1916
- var _path$u;
1917
- function _extends$v() { _extends$v = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$v.apply(this, arguments); }
2323
+ var _path$t;
2324
+ function _extends$u() { _extends$u = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$u.apply(this, arguments); }
1918
2325
  var SvgNavigationChevronRight12 = function SvgNavigationChevronRight12(props, ref) {
1919
- return /*#__PURE__*/React.createElement("svg", _extends$v({
2326
+ return /*#__PURE__*/React.createElement("svg", _extends$u({
1920
2327
  xmlns: "http://www.w3.org/2000/svg",
1921
2328
  width: 12,
1922
2329
  height: 12,
1923
2330
  viewBox: "0 0 12 12",
1924
2331
  ref: ref
1925
- }, props), _path$u || (_path$u = /*#__PURE__*/React.createElement("path", {
2332
+ }, props), _path$t || (_path$t = /*#__PURE__*/React.createElement("path", {
1926
2333
  fillRule: "evenodd",
1927
2334
  d: "m5 3-.705.705L6.585 6l-2.29 2.295L5 9l3-3-3-3z",
1928
2335
  clipRule: "evenodd"
1929
2336
  })));
1930
2337
  };
1931
- var ForwardRef$v = /*#__PURE__*/forwardRef(SvgNavigationChevronRight12);
2338
+ var ForwardRef$u = /*#__PURE__*/forwardRef(SvgNavigationChevronRight12);
1932
2339
 
1933
2340
  function Paginator(props) {
1934
2341
  const renderPaginator = (params) => {
1935
2342
  var _a, _b;
1936
- return (React__default.createElement("nav", Object.assign({ role: "navigation", className: cx(css$M.root, 'uui-paginator') }, params.rawProps),
1937
- React__default.createElement(Button, { cx: css$M[`navigation-size-${(_a = params.size) !== null && _a !== void 0 ? _a : '30'}`], size: params.size, icon: params.size === '30' ? ForwardRef$J : ForwardRef$w, onClick: params.goToPrev, isDisabled: params.isFirst, fill: "outline", color: "secondary" }),
2343
+ return (React__default.createElement("nav", Object.assign({ role: "navigation", className: css$B.root }, params.rawProps),
2344
+ React__default.createElement(Button, { cx: css$B[`navigation-size-${(_a = params.size) !== null && _a !== void 0 ? _a : '30'}`], size: params.size, icon: params.size === '30' ? ForwardRef$J : ForwardRef$v, onClick: params.goToPrev, isDisabled: params.isFirst, mode: "outline", color: "secondary" }),
1938
2345
  params.pages.map((page, index) => {
1939
2346
  var _a, _b;
1940
2347
  if (page.type === 'spacer') {
1941
- return (React__default.createElement(Button, { cx: cx(css$M[`size-${(_a = params.size) !== null && _a !== void 0 ? _a : '30'}`], css$M.spacer), size: params.size, key: `${index}_spacer`, caption: "...", fill: "ghost", color: "secondary", tabIndex: -1 }));
2348
+ return (React__default.createElement(Button, { cx: cx(css$B[`size-${(_a = params.size) !== null && _a !== void 0 ? _a : '30'}`], css$B.spacer), size: params.size, key: `${index}_spacer`, caption: "...", mode: "ghost", color: "secondary", tabIndex: -1 }));
1942
2349
  }
1943
2350
  else {
1944
- return (React__default.createElement(Button, { cx: cx(css$M[`size-${(_b = params.size) !== null && _b !== void 0 ? _b : '30'}`], css$M[`mode-${!page.isActive && 'ghost'}`]), size: params.size, key: page.pageNumber, caption: page.pageNumber, onClick: () => { var _a; return (_a = page.onClick) === null || _a === void 0 ? void 0 : _a.call(page); }, rawProps: { 'aria-current': page.isActive }, fill: (page.isActive && 'outline') || 'ghost', color: "primary" }));
2351
+ return (React__default.createElement(Button, { cx: cx(css$B[`size-${(_b = params.size) !== null && _b !== void 0 ? _b : '30'}`], css$B[`mode-${!page.isActive && 'ghost'}`]), size: params.size, key: page.pageNumber, caption: page.pageNumber, onClick: () => { var _a; return (_a = page.onClick) === null || _a === void 0 ? void 0 : _a.call(page); }, rawProps: { 'aria-current': page.isActive }, mode: (page.isActive && 'outline') || 'ghost', color: "primary" }));
1945
2352
  }
1946
2353
  }),
1947
- React__default.createElement(Button, { cx: css$M[`navigation-size-${(_b = params.size) !== null && _b !== void 0 ? _b : '30'}`], size: params.size, icon: params.size === '30' ? ForwardRef$I : ForwardRef$v, onClick: params.goToNext, isDisabled: params.isLast, fill: "outline", color: "secondary" })));
2354
+ React__default.createElement(Button, { cx: css$B[`navigation-size-${(_b = params.size) !== null && _b !== void 0 ? _b : '30'}`], size: params.size, icon: params.size === '30' ? ForwardRef$I : ForwardRef$u, onClick: params.goToNext, isDisabled: params.isLast, mode: "outline", color: "secondary" })));
1948
2355
  };
1949
2356
  return React__default.createElement(Paginator$1, Object.assign({}, props, { render: renderPaginator }));
1950
2357
  }
1951
2358
 
1952
- var css$L = {"root":"ad-0f4","bar":"tnbgJt","progressBar-indeterminate":"_1hGUFm","size-12":"_0qMUN9","size-18":"Ri5BiU","size-24":"abPz-b","progressBarIndeterminate":"_1hGUFm","size12":"_0qMUN9","size18":"Ri5BiU","size24":"abPz-b"};
2359
+ var css$A = {"root":"J1Q-ET","bar":"Hrr-CY","progressBar-indeterminate":"I6Mhye","size-12":"_0LaF1B","size-18":"wXkA4a","size-24":"gMexWL","progressBarIndeterminate":"I6Mhye","size12":"_0LaF1B","size18":"wXkA4a","size24":"gMexWL"};
1953
2360
 
1954
2361
  const IndeterminateBar = React.forwardRef((props, ref) => {
1955
- return (React.createElement("div", { ref: ref, className: cx('uui-indeterminate_bar', props.cx, css$L.root, css$L[`size-${props.size || 12}`]) },
1956
- React.createElement("div", { className: cx(css$L.bar) })));
2362
+ return (React.createElement("div", { ref: ref, className: cx(props.cx, css$A.root, css$A[`size-${props.size || 12}`]) },
2363
+ React.createElement("div", { className: cx(css$A.bar) })));
1957
2364
  });
1958
2365
 
1959
- var css$K = {"root":"euBBqd","striped":"_6Fl2Mx","animate-stripes":"Ixlc0M","size-12":"p3DSUZ","size-18":"yf8gLh","size-24":"Zhpq7s","animateStripes":"Ixlc0M","size12":"p3DSUZ","size18":"yf8gLh","size24":"Zhpq7s"};
2366
+ var css$z = {"root":"Ygyvyo","striped":"cYG-rF","animate-stripes":"Rb6nNv","size-12":"K9B4DN","size-18":"_4jfOKa","size-24":"PbHM1I","animateStripes":"Rb6nNv","size12":"K9B4DN","size18":"_4jfOKa","size24":"PbHM1I"};
1960
2367
 
1961
2368
  const defaultSize$3 = '12';
1962
2369
  function applyProgressBarMods(mods) {
1963
2370
  const size = mods.size || defaultSize$3;
1964
2371
  return [
1965
- css$K.root,
1966
- css$K[`size-${size}`],
1967
- mods.striped && css$K.striped,
2372
+ css$z.root, css$z[`size-${size}`], mods.striped && css$z.striped,
1968
2373
  ];
1969
2374
  }
1970
2375
  const ProgressBar = withMods(ProgressBar$1, applyProgressBarMods, (props) => ({
1971
2376
  hideLabel: props.hideLabel || props.striped,
1972
2377
  }));
1973
2378
 
1974
- var css$J = {"root":"-UOWB4"};
2379
+ var css$y = {"root":"V5ZqTD"};
1975
2380
 
1976
2381
  const IndicatorBar = React.forwardRef((props, ref) => {
1977
2382
  const { progress } = props;
1978
- return progress || progress === 0 ? (React.createElement(ProgressBar, { ref: ref, progress: progress, cx: cx(css$J.root, props.cx), hideLabel: true })) : (React.createElement(IndeterminateBar, { ref: ref, cx: cx(css$J.root, props.cx) }));
1979
- });
1980
-
1981
- var css$I = {"root":"dxRv9o"};
1982
-
1983
- const Informer = forwardRef((props, ref) => {
1984
- return (React__default.createElement("div", { ref: ref, className: cx([
1985
- css$I.root,
1986
- 'uui-informer',
1987
- `size-${props.size || 24}`,
1988
- props.color && `uui-color-${props.color}`,
1989
- ]) }, props.caption));
2383
+ return progress || progress === 0 ? (React.createElement(ProgressBar, { ref: ref, progress: progress, cx: cx(css$y.root, props.cx), hideLabel: true })) : (React.createElement(IndeterminateBar, { ref: ref, cx: cx(css$y.root, props.cx) }));
1990
2384
  });
1991
2385
 
1992
2386
  const MAX_ITEMS = 100;
1993
2387
  const getMaxItems = (maxItems) => maxItems || maxItems === 0 ? maxItems : MAX_ITEMS;
1994
2388
 
1995
- var css$H = {"root":"F5hGJf","mode-form":"V5eEqK","mode-cell":"zELSkF","mode-inline":"IGw6sX","size-24":"GKVBns","size-30":"pc2fqF","size-36":"N-tzNJ","size-42":"r9535-","size-48":"JPC2so","modeForm":"V5eEqK","modeCell":"zELSkF","modeInline":"IGw6sX","size24":"GKVBns","size30":"pc2fqF","size36":"N-tzNJ","size42":"r9535-","size48":"JPC2so"};
2389
+ var css$x = {"root":"uqtucK","mode-form":"QOg9-Y","mode-cell":"SjEFLM","mode-inline":"_0KChDd","size-24":"_25Nrzd","size-30":"M4SrW4","size-36":"iuAUP9","size-42":"p1RY4u","size-48":"iu4XEk","modeForm":"QOg9-Y","modeCell":"SjEFLM","modeInline":"_0KChDd","size24":"_25Nrzd","size30":"M4SrW4","size36":"iuAUP9","size42":"p1RY4u","size48":"iu4XEk"};
1996
2390
 
1997
2391
  const defaultSize$2 = '36';
1998
- const defaultMode$1 = EditMode.FORM;
2392
+ const defaultMode = EditMode.FORM;
1999
2393
  function applyPickerTogglerMods(mods) {
2000
2394
  return [
2001
- css$H.root,
2002
- css$H['size-' + (mods.size || defaultSize$2)],
2003
- css$H['mode-' + (mods.mode || defaultMode$1)],
2395
+ css$x.root,
2396
+ css$x['size-' + (mods.size || defaultSize$2)],
2397
+ css$x['mode-' + (mods.mode || defaultMode)],
2004
2398
  ];
2005
2399
  }
2006
2400
  function PickerTogglerComponent(props, ref) {
@@ -2042,9 +2436,9 @@ function PickerTogglerComponent(props, ref) {
2042
2436
  }
2043
2437
  const PickerToggler = React.forwardRef(PickerTogglerComponent);
2044
2438
 
2045
- var css$G = {"root":"_4GLlvh","multiline":"e3jyq6","vertical-padding-24":"SSL5TO","vertical-padding-30":"vqVKRN","vertical-padding-36":"M34pb-","vertical-padding-42":"NcUTrY","vertical-padding-48":"tgBzru","text":"R7W1kt","verticalPadding24":"SSL5TO","verticalPadding30":"vqVKRN","verticalPadding36":"M34pb-","verticalPadding42":"NcUTrY","verticalPadding48":"tgBzru"};
2439
+ var css$w = {"root":"ntJifg","multiline":"RiB5iM","vertical-padding-24":"tUIlxW","vertical-padding-30":"pjL6j9","vertical-padding-36":"qRurBY","vertical-padding-42":"S6l7Sf","vertical-padding-48":"nvlfUX","text":"-MCAeb","verticalPadding24":"tUIlxW","verticalPadding30":"pjL6j9","verticalPadding36":"qRurBY","verticalPadding42":"S6l7Sf","verticalPadding48":"nvlfUX"};
2046
2440
 
2047
- var css$F = {"highlighted-text":"lab3ga","highlightedText":"lab3ga"};
2441
+ var css$v = {"highlighted-text":"OpGzSp","highlightedText":"OpGzSp"};
2048
2442
 
2049
2443
  const mergeHighlightRanges = (ranges) => {
2050
2444
  const mergedRanges = [];
@@ -2098,7 +2492,7 @@ const getHighlightRanges = (str, search) => {
2098
2492
  };
2099
2493
  const getDecoratedText = (str, ranges) => ranges.map((range, index) => {
2100
2494
  const rangeStr = str.substring(range.from, range.to);
2101
- return (React__default.createElement("span", Object.assign({ key: `${rangeStr}-${index}` }, (range.isHighlighted ? { className: css$F.highlightedText } : {})), rangeStr));
2495
+ return (React__default.createElement("span", Object.assign({ key: `${rangeStr}-${index}` }, (range.isHighlighted ? { className: css$v.highlightedText } : {})), rangeStr));
2102
2496
  });
2103
2497
  const getHighlightedSearchMatches = (str, search) => {
2104
2498
  if (!search || !str) {
@@ -2127,20 +2521,20 @@ class PickerItem extends React.Component {
2127
2521
  const { search } = (_a = this.props.dataSourceState) !== null && _a !== void 0 ? _a : {};
2128
2522
  const title = highlightSearchMatches ? getHighlightedSearchMatches(this.props.title, search) : this.props.title;
2129
2523
  const subtitle = highlightSearchMatches ? getHighlightedSearchMatches(this.props.subtitle, search) : this.props.subtitle;
2130
- return (React.createElement(FlexCell, { width: "auto", cx: [css$G.root, cx] },
2131
- React.createElement(FlexRow, { size: itemSize, cx: isMultiline && [css$G.multiline, css$G[`vertical-padding-${itemSize}`]], spacing: "12" },
2524
+ return (React.createElement(FlexCell, { width: "auto", cx: [css$w.root, cx] },
2525
+ React.createElement(FlexRow, { size: itemSize, cx: isMultiline && [css$w.multiline, css$w[`vertical-padding-${itemSize}`]], spacing: "12" },
2132
2526
  avatarUrl && React.createElement(Avatar, { isLoading: isLoading, img: avatarUrl, size: this.getAvatarSize(itemSize, isMultiline).toString() }),
2133
2527
  icon && React.createElement(IconContainer, { icon: icon }),
2134
2528
  React.createElement(FlexCell, { width: "auto" },
2135
- title && (React.createElement(Text, { size: itemSize, cx: css$G.text, color: isDisabled ? 'disabled' : 'primary' }, isLoading ? React.createElement(TextPlaceholder, { wordsCount: 2 }) : title)),
2136
- subtitle && (React.createElement(Text, { size: itemSize, color: isDisabled ? 'disabled' : 'secondary', cx: css$G.text }, isLoading ? React.createElement(TextPlaceholder, { wordsCount: 2 }) : subtitle))))));
2529
+ title && (React.createElement(Text, { size: itemSize, cx: css$w.text, color: isDisabled ? 'disabled' : 'primary' }, isLoading ? React.createElement(TextPlaceholder, { wordsCount: 2 }) : title)),
2530
+ subtitle && (React.createElement(Text, { size: itemSize, color: isDisabled ? 'disabled' : 'secondary', cx: css$w.text }, isLoading ? React.createElement(TextPlaceholder, { wordsCount: 2 }) : subtitle))))));
2137
2531
  }
2138
2532
  }
2139
2533
  PickerItem.defaultProps = {
2140
2534
  highlightSearchMatches: true,
2141
2535
  };
2142
2536
 
2143
- var css$E = {"root":"gIgYz4","panel":"TOIMEd","footer-wrapper":"SwI3Ho","footer-size-24":"_9vxEUn","footer-size-30":"_2hIbhR","footer-size-36":"JAprH4","footer-size-42":"U7jDmC","footer-size-48":"Gqr4HA","footerWrapper":"SwI3Ho","footerSize24":"_9vxEUn","footerSize30":"_2hIbhR","footerSize36":"JAprH4","footerSize42":"U7jDmC","footerSize48":"Gqr4HA"};
2537
+ var css$u = {"panel":"GYrFnT","footer-wrapper":"ysvauv","footer-size-24":"MgTtwf","footer-size-30":"vojWzE","footer-size-36":"d0-Iev","footer-size-42":"lUZOb6","footer-size-48":"QSArVr","footerWrapper":"ysvauv","footerSize24":"MgTtwf","footerSize30":"vojWzE","footerSize36":"d0-Iev","footerSize42":"lUZOb6","footerSize48":"QSArVr"};
2144
2538
 
2145
2539
  const pickerHeight$1 = 300;
2146
2540
  const pickerWidth = 360;
@@ -2164,7 +2558,7 @@ function PickerInput(_a) {
2164
2558
  };
2165
2559
  const renderTarget = (targetProps) => {
2166
2560
  const renderTargetFn = props.renderToggler || ((props) => React__default.createElement(PickerToggler, Object.assign({}, props)));
2167
- return (React__default.createElement(IEditableDebouncer, { value: targetProps.value, onValueChange: handleTogglerSearchChange, debounceDelay: props.searchDebounceDelay, render: (editableProps) => renderTargetFn(Object.assign(Object.assign(Object.assign({}, getTogglerMods()), targetProps), editableProps)) }));
2561
+ return (React__default.createElement(IEditableDebouncer, { value: targetProps.value, onValueChange: handleTogglerSearchChange, render: (editableProps) => renderTargetFn(Object.assign(Object.assign(Object.assign({}, getTogglerMods()), targetProps), editableProps)) }));
2168
2562
  };
2169
2563
  const renderFooter = () => {
2170
2564
  const footerProps = getFooterProps();
@@ -2186,7 +2580,7 @@ function PickerInput(_a) {
2186
2580
  const renderedDataRows = rows.map((row) => renderRow(row, dataSourceState));
2187
2581
  const bodyHeight = isMobile() ? document.documentElement.clientHeight : props.dropdownHeight || pickerHeight$1;
2188
2582
  const minBodyWidth = props.minBodyWidth || pickerWidth;
2189
- return (React__default.createElement(MobileDropdownWrapper, { title: props.entityName, onClose: () => toggleBodyOpening(false), cx: [css$E.panel, css$E.root, props.bodyCx], onKeyDown: bodyProps.onKeyDown, width: bodyProps.togglerWidth > minBodyWidth ? bodyProps.togglerWidth : minBodyWidth, focusLock: getSearchPosition() === 'body' },
2583
+ return (React__default.createElement(MobileDropdownWrapper, { title: props.entityName, onClose: () => toggleBodyOpening(false), cx: [css$u.panel, props.bodyCx], onKeyDown: bodyProps.onKeyDown, width: bodyProps.togglerWidth > minBodyWidth ? bodyProps.togglerWidth : minBodyWidth, focusLock: getSearchPosition() === 'body' },
2190
2584
  React__default.createElement(DataPickerBody, Object.assign({}, bodyProps, { rows: renderedDataRows, maxHeight: bodyHeight, searchSize: props.size, editMode: "dropdown", selectionMode: props.selectionMode, renderNotFound: props.renderNotFound
2191
2585
  ? () => props.renderNotFound({
2192
2586
  search: dataSourceState.search,
@@ -2202,7 +2596,7 @@ function PickerInput(_a) {
2202
2596
  }, renderBody: (bodyProps) => renderBody(Object.assign(Object.assign(Object.assign({}, bodyProps), getPickerBodyProps(rows)), getListProps()), rows), value: shouldShowBody(), onValueChange: !props.isDisabled && toggleBodyOpening, placement: props.dropdownPlacement, modifiers: popperModifiers, closeBodyOnTogglerHidden: !isMobile(), portalTarget: props.portalTarget }));
2203
2597
  }
2204
2598
 
2205
- var css$D = {"row":"JzCThO"};
2599
+ var css$t = {"row":"lWrCZP"};
2206
2600
 
2207
2601
  function PickerListItem(props) {
2208
2602
  var _a;
@@ -2220,7 +2614,7 @@ function PickerListItem(props) {
2220
2614
  else {
2221
2615
  component = (React__default.createElement(RadioInput, { label: label, value: props.isSelected, isDisabled: props.isLoading || !props.isSelectable || props.isDisabled, onValueChange: () => props.onSelect(props) }));
2222
2616
  }
2223
- return (React__default.createElement("div", Object.assign({ role: "option", "aria-selected": props.isSelectable ? props.isSelected : undefined, "aria-busy": props.isLoading, "aria-posinset": props.index + 1 }, (((_a = props.checkbox) === null || _a === void 0 ? void 0 : _a.isVisible) && { 'aria-checked': props.isChecked }), { className: css$D.row }), component));
2617
+ return (React__default.createElement("div", Object.assign({ role: "option", "aria-selected": props.isSelectable ? props.isSelected : undefined, "aria-busy": props.isLoading, "aria-posinset": props.index + 1 }, (((_a = props.checkbox) === null || _a === void 0 ? void 0 : _a.isVisible) && { 'aria-checked': props.isChecked }), { className: css$t.row }), component));
2224
2618
  }
2225
2619
 
2226
2620
  function PickerList(props) {
@@ -2256,7 +2650,200 @@ function PickerList(props) {
2256
2650
  }, selectedRows)));
2257
2651
  }
2258
2652
 
2259
- var css$C = {"root":"g6tAWY","title-wrapper":"-edJIm","title":"mfJCw2","text-wrapper":"Pk5ore","selection":"ovY5oj","postfix":"_0ve-Av","selected":"_6aC-2l","titleWrapper":"-edJIm","textWrapper":"Pk5ore"};
2653
+ var css$s = {"root":"_0C-xp7","size-24":"b11hTJ","size-30":"I8-X8S","size-36":"nLNyxH","size-48":"T9QSQR","size-60":"_83pqYA","size24":"b11hTJ","size30":"I8-X8S","size36":"nLNyxH","size48":"T9QSQR","size60":"_83pqYA"};
2654
+
2655
+ // Here we define a single instance of the renderCell function to make DataTableRow#shouldComponentUpdate work.
2656
+ // 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.
2657
+ const renderCell = (props) => {
2658
+ const mods = props.rowProps;
2659
+ return React.createElement(DataTableCell, Object.assign({ size: mods.size }, props));
2660
+ };
2661
+ const renderDropMarkers = (props) => React.createElement(DropMarker, Object.assign({}, props, { enableBlocker: true }));
2662
+ const propsMods = { renderCell, renderDropMarkers };
2663
+ const DataTableRow = withMods(DataTableRow$1, ({ borderBottom = true, size }) => {
2664
+ return [
2665
+ css$s.root, borderBottom && 'uui-dt-row-border', css$s['size-' + (size || '36')],
2666
+ ];
2667
+ }, () => propsMods);
2668
+
2669
+ var css$r = {"sorting-panel-container":"CcNsVx","sort-active":"i9CzT5","sortingPanelContainer":"CcNsVx","sortActive":"i9CzT5"};
2670
+
2671
+ var _path$s;
2672
+ function _extends$t() { _extends$t = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$t.apply(this, arguments); }
2673
+ var SvgTableSortAsc18 = function SvgTableSortAsc18(props, ref) {
2674
+ return /*#__PURE__*/React.createElement("svg", _extends$t({
2675
+ xmlns: "http://www.w3.org/2000/svg",
2676
+ width: 18,
2677
+ height: 18,
2678
+ viewBox: "0 0 18 18",
2679
+ ref: ref
2680
+ }, props), _path$s || (_path$s = /*#__PURE__*/React.createElement("path", {
2681
+ fillRule: "evenodd",
2682
+ d: "M10 6v10H8V6H5l4-4 4 4h-3z",
2683
+ clipRule: "evenodd"
2684
+ })));
2685
+ };
2686
+ var ForwardRef$t = /*#__PURE__*/forwardRef(SvgTableSortAsc18);
2687
+
2688
+ var _path$r;
2689
+ function _extends$s() { _extends$s = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$s.apply(this, arguments); }
2690
+ var SvgTableSortDesc18 = function SvgTableSortDesc18(props, ref) {
2691
+ return /*#__PURE__*/React.createElement("svg", _extends$s({
2692
+ xmlns: "http://www.w3.org/2000/svg",
2693
+ width: 18,
2694
+ height: 18,
2695
+ viewBox: "0 0 18 18",
2696
+ ref: ref
2697
+ }, props), _path$r || (_path$r = /*#__PURE__*/React.createElement("path", {
2698
+ fillRule: "evenodd",
2699
+ d: "M10 12V2H8v10H5l4 4 4-4h-3z",
2700
+ clipRule: "evenodd"
2701
+ })));
2702
+ };
2703
+ var ForwardRef$s = /*#__PURE__*/forwardRef(SvgTableSortDesc18);
2704
+
2705
+ const SortingPanelImpl = ({ sortDirection, onSort }) => {
2706
+ const sortAsc = useCallback(() => onSort(sortDirection === 'asc' ? undefined : 'asc'), [onSort]);
2707
+ const sortDesc = useCallback(() => onSort(sortDirection === 'desc' ? undefined : 'desc'), [onSort]);
2708
+ return (React__default.createElement(FlexCell, { cx: css$r.sortingPanelContainer },
2709
+ React__default.createElement(DropdownMenuButton, { isActive: sortDirection === 'asc', caption: i18n.pickerFilterHeader.sortAscending, icon: ForwardRef$t, onClick: sortAsc }),
2710
+ React__default.createElement(DropdownMenuButton, { isActive: sortDirection === 'desc', caption: i18n.pickerFilterHeader.sortDescending, icon: ForwardRef$s, onClick: sortDesc })));
2711
+ };
2712
+ const SortingPanel = React__default.memo(SortingPanelImpl);
2713
+
2714
+ const ColumnHeaderDropdownImpl = (props) => {
2715
+ const popperModifiers = useMemo(() => [
2716
+ {
2717
+ name: 'offset',
2718
+ options: { offset: [0, 1] },
2719
+ }, mobilePopperModifier,
2720
+ ], []);
2721
+ const closeDropdown = useCallback(() => props.onOpenChange(false), [props.onOpenChange]);
2722
+ return (React__default.createElement(Dropdown$1, { renderTarget: props.renderTarget, renderBody: (dropdownProps) => (React__default.createElement(MobileDropdownWrapper, { width: 360, title: props.title, onClose: closeDropdown },
2723
+ props.isSortable && React__default.createElement(SortingPanel, { sortDirection: props.sortDirection, onSort: props.onSort }),
2724
+ props.renderFilter(dropdownProps))), modifiers: popperModifiers, value: props.isOpen, onValueChange: props.onOpenChange }));
2725
+ };
2726
+ const ColumnHeaderDropdown = React__default.memo(ColumnHeaderDropdownImpl);
2727
+
2728
+ var css$q = {"cell":"tLAaeS","sort-icon":"fmuW6X","dropdown-icon":"_2XBE01","infoIcon":"g-SEdD","resizable":"fvxO4N","size-24":"vpt9Co","size-30":"t5WPTX","size-36":"Ha-8JD","size-42":"nI5chi","size-48":"k-8FVR","padding-left-24":"_2IORP8","padding-right-24":"eR2pIk","caption":"hXSvxS","checkbox":"WIQOhV","icon":"z-bjKK","icon-cell":"EjVWiZ","align-right":"jUnOzp","align-center":"YB-A2i","tooltip-wrapper":"hqa-dZ","cell-tooltip":"IE01Fr","upper-case":"lVsgvo","font-size-14":"cGKeij","resize-mark":"Zh231g","draggable":"klkXBa","ghost":"I0IT-7","is-dragged-out":"-x9U0X","dnd-marker-left":"Uwa2ke","dnd-marker-right":"L-Z1CZ","cell-tooltip-wrapper":"i721RA","cell-tooltip-text":"WRfPs-","sortIcon":"fmuW6X","dropdownIcon":"_2XBE01","size24":"vpt9Co","size30":"t5WPTX","size36":"Ha-8JD","size42":"nI5chi","size48":"k-8FVR","paddingLeft24":"_2IORP8","paddingRight24":"eR2pIk","iconCell":"EjVWiZ","alignRight":"jUnOzp","alignCenter":"YB-A2i","tooltipWrapper":"hqa-dZ","cellTooltip":"IE01Fr","upperCase":"lVsgvo","fontSize14":"cGKeij","resizeMark":"Zh231g","isDraggedOut":"-x9U0X","dndMarkerLeft":"Uwa2ke","dndMarkerRight":"L-Z1CZ","cellTooltipWrapper":"i721RA","cellTooltipText":"WRfPs-"};
2729
+
2730
+ var _path$q;
2731
+ function _extends$r() { _extends$r = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$r.apply(this, arguments); }
2732
+ var SvgTableSwap18 = function SvgTableSwap18(props, ref) {
2733
+ return /*#__PURE__*/React.createElement("svg", _extends$r({
2734
+ xmlns: "http://www.w3.org/2000/svg",
2735
+ width: 18,
2736
+ height: 18,
2737
+ viewBox: "0 0 18 18",
2738
+ ref: ref
2739
+ }, props), _path$q || (_path$q = /*#__PURE__*/React.createElement("path", {
2740
+ fillRule: "evenodd",
2741
+ d: "M6 1 2 5h3v7h2V5h3L6 1zm7 12V6h-2v7H8l4 4 4-4h-3z",
2742
+ clipRule: "evenodd"
2743
+ })));
2744
+ };
2745
+ var ForwardRef$r = /*#__PURE__*/forwardRef(SvgTableSwap18);
2746
+
2747
+ var _path$p;
2748
+ function _extends$q() { _extends$q = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$q.apply(this, arguments); }
2749
+ var SvgContentFiltration18 = function SvgContentFiltration18(props, ref) {
2750
+ return /*#__PURE__*/React.createElement("svg", _extends$q({
2751
+ xmlns: "http://www.w3.org/2000/svg",
2752
+ width: 18,
2753
+ height: 18,
2754
+ viewBox: "0 0 18 18",
2755
+ ref: ref
2756
+ }, props), _path$p || (_path$p = /*#__PURE__*/React.createElement("path", {
2757
+ fillRule: "evenodd",
2758
+ d: "m8 14 2 2v-5H8v3zM2 3v2h14V3H2zm6 8h2l6-6H2l6 6z",
2759
+ clipRule: "evenodd"
2760
+ })));
2761
+ };
2762
+ var ForwardRef$q = /*#__PURE__*/forwardRef(SvgContentFiltration18);
2763
+
2764
+ var _path$o;
2765
+ function _extends$p() { _extends$p = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$p.apply(this, arguments); }
2766
+ var SvgNavigationChevronUp18 = function SvgNavigationChevronUp18(props, ref) {
2767
+ return /*#__PURE__*/React.createElement("svg", _extends$p({
2768
+ xmlns: "http://www.w3.org/2000/svg",
2769
+ width: 18,
2770
+ height: 18,
2771
+ viewBox: "0 0 18 18",
2772
+ ref: ref
2773
+ }, props), _path$o || (_path$o = /*#__PURE__*/React.createElement("path", {
2774
+ fillRule: "evenodd",
2775
+ d: "m9 6-4.5 4.5 1.058 1.057L9 8.123l3.443 3.434L13.5 10.5 9 6z",
2776
+ clipRule: "evenodd"
2777
+ })));
2778
+ };
2779
+ var ForwardRef$p = /*#__PURE__*/forwardRef(SvgNavigationChevronUp18);
2780
+
2781
+ class DataTableHeaderCell extends React.Component {
2782
+ constructor() {
2783
+ super(...arguments);
2784
+ this.state = {
2785
+ isDropdownOpen: null,
2786
+ };
2787
+ this.getTextStyle = () => {
2788
+ if (this.props.textCase === 'upper')
2789
+ return css$q.upperCase;
2790
+ return css$q['font-size-14'];
2791
+ };
2792
+ this.getTooltipContent = () => (React.createElement("div", { className: css$q.cellTooltipWrapper },
2793
+ React.createElement(Text, { fontSize: "14", color: "contrast", font: "semibold", cx: css$q.cellTooltipText }, this.props.column.caption),
2794
+ this.props.column.info && React.createElement(Text, { fontSize: "12", color: "contrast", cx: css$q.cellTooltipText }, this.props.column.info)));
2795
+ this.getColumnCaption = () => {
2796
+ return (React.createElement("div", { className: css$q.tooltipWrapper },
2797
+ React.createElement("div", { className: cx$1(css$q.iconCell, css$q['align-' + this.props.column.textAlign], uuiDataTableHeaderCell.uuiTableHeaderCaptionWrapper) },
2798
+ React.createElement(Tooltip, { placement: "top", color: "contrast", renderContent: this.getTooltipContent, cx: css$q.cellTooltip, openDelay: 600 },
2799
+ React.createElement(Text, { key: "text", lineHeight: "30", fontSize: "14", size: "30", cx: cx$1(css$q.caption, this.getTextStyle(), uuiDataTableHeaderCell.uuiTableHeaderCaption) }, this.props.column.caption)),
2800
+ this.props.column.isSortable && (!this.props.column.renderFilter || this.props.sortDirection) && (React.createElement(IconButton, { key: "sort", cx: cx$1(css$q.icon, css$q.sortIcon, this.props.sortDirection && css$q.sortIconActive, uuiDataTableHeaderCell.uuiTableHeaderSortIcon), color: this.props.sortDirection ? 'default' : 'secondary', icon: this.props.sortDirection === 'desc' ? ForwardRef$s : this.props.sortDirection === 'asc' ? ForwardRef$t : ForwardRef$r })),
2801
+ this.props.isFilterActive && (React.createElement(IconButton, { key: "filter", cx: cx$1(css$q.icon, !this.props.sortDirection && css$q.filterIcon, uuiDataTableHeaderCell.uuiTableHeaderFilterIcon), color: "default", icon: ForwardRef$q })),
2802
+ this.props.column.renderFilter && (React.createElement(IconButton, { key: "dropdown", cx: cx$1(css$q.icon, css$q.dropdownIcon, uuiDataTableHeaderCell.uuiTableHeaderDropdownIcon), color: "secondary", icon: this.state.isDropdownOpen ? ForwardRef$p : ForwardRef$A })))));
2803
+ };
2804
+ this.renderHeaderCheckbox = () => this.props.selectAll
2805
+ && this.props.isFirstColumn && (React.createElement(Checkbox, Object.assign({ size: +this.props.size < 36 ? '12' : '18' }, this.props.selectAll, { cx: cx$1(css$q.checkbox, uuiDataTableHeaderCell.uuiTableHeaderCheckbox) })));
2806
+ this.renderResizeMark = (props) => React.createElement("div", { onMouseDown: props.onResizeStart, className: cx$1(css$q.resizeMark, uuiMarkers.draggable) });
2807
+ this.renderCellContent = (props, dropdownProps) => (React.createElement(FlexCell, Object.assign({}, this.props.column, { minWidth: this.props.column.width, ref: (ref) => {
2808
+ var _a;
2809
+ props.ref(ref);
2810
+ (_a = dropdownProps === null || dropdownProps === void 0 ? void 0 : dropdownProps.ref) === null || _a === void 0 ? void 0 : _a.call(dropdownProps, ref);
2811
+ }, cx: cx$1(uuiDataTableHeaderCell.uuiTableHeaderCell, (this.props.column.isSortable || this.props.isDropdown) && uuiMarkers.clickable, css$q.cell, css$q['size-' + (this.props.size || '36')], this.props.isFirstColumn && css$q['padding-left-24'], this.props.isLastColumn && css$q['padding-right-24'], this.props.column.cx, this.props.allowColumnsResizing && css$q.resizable, props.isDraggable && css$q.draggable, props.isDragGhost && css$q.ghost, props.isDraggedOut && css$q.isDraggedOut, props.isDndInProgress && css$q['dnd-marker-' + props.position]), onClick: !this.props.column.renderFilter ? props.toggleSort : dropdownProps === null || dropdownProps === void 0 ? void 0 : dropdownProps.onClick, rawProps: Object.assign({ role: 'columnheader', 'aria-sort': this.props.sortDirection === 'asc' ? 'ascending' : this.props.sortDirection ? 'descending' : 'none' }, props.eventHandlers) }),
2812
+ this.renderHeaderCheckbox(),
2813
+ this.getColumnCaption(),
2814
+ this.props.allowColumnsResizing && this.renderResizeMark(props)));
2815
+ 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 }));
2816
+ }
2817
+ render() {
2818
+ return React.createElement(DataTableHeaderCell$1, Object.assign({}, this.props, { renderCellContent: this.props.column.renderFilter ? this.renderCellWithFilter : this.renderCellContent }));
2819
+ }
2820
+ }
2821
+
2822
+ var css$p = {"header-cell":"csxPiM","config-icon":"B23ddJ","headerCell":"csxPiM","configIcon":"B23ddJ"};
2823
+
2824
+ var _path$n;
2825
+ function _extends$o() { _extends$o = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$o.apply(this, arguments); }
2826
+ var SvgActionSettings18 = function SvgActionSettings18(props, ref) {
2827
+ return /*#__PURE__*/React.createElement("svg", _extends$o({
2828
+ xmlns: "http://www.w3.org/2000/svg",
2829
+ width: 18,
2830
+ height: 18,
2831
+ viewBox: "0 0 18 18",
2832
+ ref: ref
2833
+ }, props), _path$n || (_path$n = /*#__PURE__*/React.createElement("path", {
2834
+ fillRule: "evenodd",
2835
+ d: "M3 9.093a6.083 6.083 0 0 1 0-.186L1.55 7.271a1 1 0 0 1-.118-1.163l1.28-2.216a1 1 0 0 1 1.066-.48l2.14.439a3.81 3.81 0 0 1 .163-.094l.691-2.073A1 1 0 0 1 7.721 1h2.558a1 1 0 0 1 .949.684l.69 2.073c.056.03.11.061.163.094l2.141-.439a1 1 0 0 1 1.067.48l1.279 2.216a1 1 0 0 1-.118 1.163L15 8.907a5.72 5.72 0 0 1 0 .186l1.45 1.636a1 1 0 0 1 .118 1.163l-1.28 2.216a1 1 0 0 1-1.066.48l-2.14-.438a6.215 6.215 0 0 1-.163.093l-.691 2.073a1 1 0 0 1-.949.684H7.721a1 1 0 0 1-.949-.684l-.69-2.073a6.105 6.105 0 0 1-.163-.094l-2.141.439a1 1 0 0 1-1.067-.48l-1.279-2.216a1 1 0 0 1 .118-1.163L3 9.093zM9 12a3 3 0 1 0 0-6 3 3 0 0 0 0 6z",
2836
+ clipRule: "evenodd"
2837
+ })));
2838
+ };
2839
+ var ForwardRef$o = /*#__PURE__*/forwardRef(SvgActionSettings18);
2840
+
2841
+ const DataTableHeaderRow = withMods(DataTableHeaderRow$1, () => [css$p.root], (mods) => ({
2842
+ renderCell: (props) => React.createElement(DataTableHeaderCell, Object.assign({}, props, { size: mods.size, textCase: mods.textCase || 'normal', key: props.column.key })),
2843
+ renderConfigButton: () => React.createElement(IconButton, { key: "configuration", onClick: mods.onConfigButtonClick, cx: css$p.configIcon, color: "default", icon: ForwardRef$o }),
2844
+ }));
2845
+
2846
+ var css$o = {"root":"I6CA0x","title-wrapper":"vf-OAE","title":"zDg-E-","text-wrapper":"_4iPQBD","selection":"RN11B2","postfix":"XTLeTq","selected":"_1-TViP","titleWrapper":"vf-OAE","textWrapper":"_4iPQBD"};
2260
2847
 
2261
2848
  const defaultSize = '36';
2262
2849
  const FilterPanelItemToggler = React.forwardRef((props, ref) => {
@@ -2281,19 +2868,19 @@ const FilterPanelItemToggler = React.forwardRef((props, ref) => {
2281
2868
  };
2282
2869
  const getTitle = props.predicateName ? `${props.title} ${props.predicateName}` : `${props.title}${props.selection ? ':' : ''}`;
2283
2870
  const getSelectionText = () => props.selection.map((i, index) => (React.createElement(React.Fragment, { key: `${i}${index}` },
2284
- React.createElement(Text, { color: "brand", size: props.size, cx: css$C.selection }, i),
2871
+ React.createElement(Text, { color: "brand", size: props.size, cx: css$o.selection }, i),
2285
2872
  (props.postfix || index !== props.selection.length - 1) && React.createElement("span", null, ",\u00A0"))));
2286
2873
  return (React.createElement(FlexRow$1, Object.assign({}, props, { rawProps: {
2287
2874
  style: { maxWidth: `${props.maxWidth ? props.maxWidth + 'px' : 'auto'}` },
2288
2875
  role: 'button',
2289
2876
  tabIndex: props.isDisabled ? -1 : 0,
2290
2877
  onKeyDown: onKeyDownHandler,
2291
- }, cx: cx(css$C.root, uuiElement.inputBox, uuiMarkers.clickable, props.isOpen && uuiMod.opened, ['size-' + (props.size || defaultSize)], props.cx), onClick: togglerPickerOpened, ref: ref }),
2292
- React.createElement(FlexRow$1, { cx: css$C.titleWrapper },
2293
- React.createElement(Text, { size: props.size, cx: css$C.title }, getTitle),
2294
- props.selection && (React.createElement("div", { className: css$C.textWrapper },
2878
+ }, cx: cx(css$o.root, uuiElement.inputBox, uuiMarkers.clickable, props.isOpen && uuiMod.opened, ['size-' + (props.size || defaultSize)], props.cx), onClick: togglerPickerOpened, ref: ref }),
2879
+ React.createElement(FlexRow$1, { cx: css$o.titleWrapper },
2880
+ React.createElement(Text, { size: props.size, cx: css$o.title }, getTitle),
2881
+ props.selection && (React.createElement("div", { className: css$o.textWrapper },
2295
2882
  getSelectionText(),
2296
- props.postfix && (React.createElement(Text, { color: "brand", size: props.size, cx: css$C.postfix }, props.postfix))))),
2883
+ props.postfix && (React.createElement(Text, { color: "brand", size: props.size, cx: css$o.postfix }, props.postfix))))),
2297
2884
  !props.isDisabled && React.createElement(IconContainer, { icon: systemIcons[props.size || defaultSize].foldingArrow, flipY: props.isOpen, cx: "uui-icon-dropdown" })));
2298
2885
  });
2299
2886
 
@@ -2360,7 +2947,7 @@ class FilterDatePickerBody extends BaseDatePicker {
2360
2947
  }
2361
2948
  }
2362
2949
 
2363
- var css$B = {"date-input":"SlwlbE","size-24":"r1WHjP","size-30":"K4VED0","size-36":"KiyeGh","size-42":"N1ESEP","size-48":"z8YGjp","date-input-group":"sdetab","separator":"eTnvAg","mode-form":"rcbUqG","mode-cell":"_4-nrq9","dateInput":"SlwlbE","size24":"r1WHjP","size30":"K4VED0","size36":"KiyeGh","size42":"N1ESEP","size48":"z8YGjp","dateInputGroup":"sdetab","modeForm":"rcbUqG","modeCell":"_4-nrq9"};
2950
+ var css$n = {"date-input":"oXyvT9","size-24":"aYiI4h","size-30":"nUhMQv","size-36":"_8nzaPk","size-42":"Gn6Pm1","size-48":"zNamhc","date-input-group":"_6tNooK","separator":"MJxVBQ","mode-form":"qJ464i","mode-cell":"k4jEGI","dateInput":"oXyvT9","size24":"aYiI4h","size30":"nUhMQv","size36":"_8nzaPk","size42":"Gn6Pm1","size48":"zNamhc","dateInputGroup":"_6tNooK","modeForm":"qJ464i","modeCell":"k4jEGI"};
2364
2951
 
2365
2952
  class FilterRangeDatePickerBody extends BaseRangeDatePicker {
2366
2953
  constructor() {
@@ -2380,10 +2967,10 @@ class FilterRangeDatePickerBody extends BaseRangeDatePicker {
2380
2967
  React.createElement(RangeDatePickerBody, { value: this.getValue(), onValueChange: this.onRangeChange, filter: this.props.filter, focusPart: this.state.inFocus, changeIsOpen: this.changeIsOpen, presets: this.props.presets })),
2381
2968
  React.createElement(FlexCell, { alignSelf: "stretch" },
2382
2969
  React.createElement(FlexRow, { padding: "24", vPadding: "12" },
2383
- React.createElement("div", { className: cx(css$B.dateInputGroup, this.state.inFocus && uuiMod.focus) },
2384
- React.createElement(TextInput, { icon: systemIcons['30'].calendar, cx: cx(css$B.dateInput, css$B['size-30'], this.state.inFocus === 'from' && uuiMod.focus), size: "30", placeholder: i18n.rangeDatePicker.pickerPlaceholderFrom, value: this.state.inputValue.from, onValueChange: this.getChangeHandler('from'), onFocus: (event) => this.handleFocus(event, 'from'), onBlur: (event) => this.handleBlur(event, 'from') }),
2385
- React.createElement("div", { className: css$B.separator }),
2386
- React.createElement(TextInput, { cx: cx(css$B.dateInput, css$B['size-30'], this.state.inFocus === 'to' && uuiMod.focus), placeholder: i18n.rangeDatePicker.pickerPlaceholderTo, size: "30", value: this.state.inputValue.to, onCancel: this.state.inputValue.from && this.state.inputValue.to && this.handleCancel, onValueChange: this.getChangeHandler('to'), onFocus: (event) => this.handleFocus(event, 'to'), onBlur: (event) => this.handleBlur(event, 'to') })),
2970
+ React.createElement("div", { className: cx(css$n.dateInputGroup, this.state.inFocus && uuiMod.focus) },
2971
+ React.createElement(TextInput, { icon: systemIcons['30'].calendar, cx: cx(css$n.dateInput, css$n['size-30'], this.state.inFocus === 'from' && uuiMod.focus), size: "30", placeholder: i18n.rangeDatePicker.pickerPlaceholderFrom, value: this.state.inputValue.from, onValueChange: this.getChangeHandler('from'), onFocus: (event) => this.handleFocus(event, 'from'), onBlur: (event) => this.handleBlur(event, 'from') }),
2972
+ React.createElement("div", { className: css$n.separator }),
2973
+ React.createElement(TextInput, { cx: cx(css$n.dateInput, css$n['size-30'], this.state.inFocus === 'to' && uuiMod.focus), placeholder: i18n.rangeDatePicker.pickerPlaceholderTo, size: "30", value: this.state.inputValue.to, onCancel: this.state.inputValue.from && this.state.inputValue.to && this.handleCancel, onValueChange: this.getChangeHandler('to'), onFocus: (event) => this.handleFocus(event, 'to'), onBlur: (event) => this.handleBlur(event, 'to') })),
2387
2974
  React.createElement(FlexSpacer, null),
2388
2975
  React.createElement(LinkButton, { isDisabled: !this.state.inputValue.from && !this.state.inputValue.to, caption: i18n.pickerModal.clearAllButton, onClick: this.handleCancel })))));
2389
2976
  }
@@ -2392,7 +2979,7 @@ class FilterRangeDatePickerBody extends BaseRangeDatePicker {
2392
2979
  }
2393
2980
  }
2394
2981
 
2395
- var css$A = {"container":"eb-CfJ"};
2982
+ var css$m = {"container":"rxn8Af"};
2396
2983
 
2397
2984
  function FilterNumericBody(props) {
2398
2985
  var _a, _b;
@@ -2436,7 +3023,7 @@ function FilterNumericBody(props) {
2436
3023
  if (isInRangePredicate) {
2437
3024
  const value = props.value;
2438
3025
  return (React__default.createElement("div", null,
2439
- React__default.createElement(FlexRow, { padding: "12", alignItems: "center", spacing: "12", borderBottom: true, cx: css$A.container },
3026
+ React__default.createElement(FlexRow, { padding: "12", alignItems: "center", spacing: "12", borderBottom: true, cx: css$m.container },
2440
3027
  React__default.createElement(FlexCell, { width: "100%" },
2441
3028
  React__default.createElement(NumericInput, { value: (_a = value === null || value === void 0 ? void 0 : value.from) !== null && _a !== void 0 ? _a : null, onValueChange: rangeValueHandler('from'), size: "36", placeholder: "Min", formatOptions: { maximumFractionDigits: 2 } })),
2442
3029
  React__default.createElement(FlexCell, { width: "100%" },
@@ -2444,7 +3031,7 @@ function FilterNumericBody(props) {
2444
3031
  renderFooter()));
2445
3032
  }
2446
3033
  return (React__default.createElement("div", null,
2447
- React__default.createElement(FlexRow, { padding: "12", alignItems: "center", borderBottom: true, cx: css$A.container },
3034
+ React__default.createElement(FlexRow, { padding: "12", alignItems: "center", borderBottom: true, cx: css$m.container },
2448
3035
  React__default.createElement(FlexCell, { width: 130 },
2449
3036
  React__default.createElement(NumericInput, { value: typeof props.value === 'number' ? props.value : null, onValueChange: props.onValueChange, size: "36", placeholder: "Enter a number", formatOptions: { maximumFractionDigits: 2 } }))),
2450
3037
  renderFooter()));
@@ -2467,23 +3054,23 @@ function FilterItemBody(props) {
2467
3054
  }
2468
3055
  }
2469
3056
 
2470
- var _path$t;
2471
- function _extends$u() { _extends$u = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$u.apply(this, arguments); }
3057
+ var _path$m;
3058
+ function _extends$n() { _extends$n = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$n.apply(this, arguments); }
2472
3059
  var SvgActionDeleteforever12 = function SvgActionDeleteforever12(props, ref) {
2473
- return /*#__PURE__*/React.createElement("svg", _extends$u({
3060
+ return /*#__PURE__*/React.createElement("svg", _extends$n({
2474
3061
  xmlns: "http://www.w3.org/2000/svg",
2475
3062
  width: 12,
2476
3063
  height: 12,
2477
3064
  viewBox: "0 0 18 18",
2478
3065
  ref: ref
2479
- }, props), _path$t || (_path$t = /*#__PURE__*/React.createElement("path", {
3066
+ }, props), _path$m || (_path$m = /*#__PURE__*/React.createElement("path", {
2480
3067
  fillRule: "evenodd",
2481
3068
  d: "M14 6v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6h10zm-3-4 1 1h3v2H3V3h3l1-1h4zm-.24 12.1L9 12.36 7.24 14.1l-1.16-1.16 1.74-1.76-1.78-1.8 1.2-1.18L9 10l1.76-1.8 1.18 1.18-1.76 1.8 1.76 1.76-1.18 1.16z"
2482
3069
  })));
2483
3070
  };
2484
- var ForwardRef$u = /*#__PURE__*/forwardRef(SvgActionDeleteforever12);
3071
+ var ForwardRef$n = /*#__PURE__*/forwardRef(SvgActionDeleteforever12);
2485
3072
 
2486
- var css$z = {"root":"_--ae2T","header":"I-B3Zr","removeButton":"XHG7rl","with-search":"fVy-Ml","withSearch":"fVy-Ml"};
3073
+ var css$l = {"header":"caG878","removeButton":"iWt2LZ","with-search":"UhGI54","withSearch":"UhGI54"};
2487
3074
 
2488
3075
  function FiltersToolbarItemImpl(props) {
2489
3076
  const { maxCount = 2 } = props;
@@ -2559,13 +3146,13 @@ function FiltersToolbarItemImpl(props) {
2559
3146
  };
2560
3147
  const renderHeader = (hideTitle) => {
2561
3148
  var _a;
2562
- return (React__default.createElement("div", { className: cx(css$z.header, isPickersType && ((_a = props.showSearch) !== null && _a !== void 0 ? _a : css$z.withSearch)) },
3149
+ return (React__default.createElement("div", { className: cx(css$l.header, isPickersType && ((_a = props.showSearch) !== null && _a !== void 0 ? _a : css$l.withSearch)) },
2563
3150
  props.predicates ? (React__default.createElement(MultiSwitch, { items: props.predicates.map((i) => ({ id: i.predicate, caption: i.name })), value: predicate, onValueChange: changePredicate, size: "24" })) : (!hideTitle && (React__default.createElement(Text, { color: "secondary", size: "24", fontSize: "14" }, props.title))),
2564
- !(props === null || props === void 0 ? void 0 : props.isAlwaysVisible) && (React__default.createElement(LinkButton, { cx: css$z.removeButton, caption: i18n.filterToolbar.datePicker.removeCaption, onClick: removeOnclickHandler, size: "24", icon: ForwardRef$u }))));
3151
+ !(props === null || props === void 0 ? void 0 : props.isAlwaysVisible) && (React__default.createElement(LinkButton, { cx: css$l.removeButton, caption: i18n.filterToolbar.datePicker.removeCaption, onClick: removeOnclickHandler, size: "24", icon: ForwardRef$n }))));
2565
3152
  };
2566
3153
  const renderBody = (dropdownProps) => {
2567
3154
  const hideHeaderTitle = isPickersType && isMobileScreen;
2568
- return isPickersType ? (React__default.createElement(MobileDropdownWrapper, Object.assign({}, dropdownProps, { cx: css$z.root, title: props.title, width: 360, onClose: () => isOpenChange(false) }),
3155
+ return isPickersType ? (React__default.createElement(MobileDropdownWrapper, Object.assign({}, dropdownProps, { title: props.title, width: 360, onClose: () => isOpenChange(false) }),
2569
3156
  renderHeader(hideHeaderTitle),
2570
3157
  React__default.createElement(FilterItemBody, Object.assign({}, props, dropdownProps, { selectedPredicate: predicate, value: getValue(), onValueChange: onValueChange })))) : (React__default.createElement(DropdownContainer, Object.assign({}, dropdownProps),
2571
3158
  renderHeader(hideHeaderTitle),
@@ -2648,20 +3235,20 @@ function FiltersToolbarItemImpl(props) {
2648
3235
  }
2649
3236
  const FiltersPanelItem = React__default.memo(FiltersToolbarItemImpl);
2650
3237
 
2651
- var _path$s;
2652
- function _extends$t() { _extends$t = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$t.apply(this, arguments); }
3238
+ var _path$l;
3239
+ function _extends$m() { _extends$m = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$m.apply(this, arguments); }
2653
3240
  var SvgActionAdd18 = function SvgActionAdd18(props, ref) {
2654
- return /*#__PURE__*/React.createElement("svg", _extends$t({
3241
+ return /*#__PURE__*/React.createElement("svg", _extends$m({
2655
3242
  xmlns: "http://www.w3.org/2000/svg",
2656
3243
  width: 18,
2657
3244
  height: 18,
2658
3245
  viewBox: "0 0 18 18",
2659
3246
  ref: ref
2660
- }, props), _path$s || (_path$s = /*#__PURE__*/React.createElement("path", {
3247
+ }, props), _path$l || (_path$l = /*#__PURE__*/React.createElement("path", {
2661
3248
  d: "M10 2H8v6H2v2h6v6h2v-6h6V8h-6V2z"
2662
3249
  })));
2663
3250
  };
2664
- var ForwardRef$t = /*#__PURE__*/forwardRef(SvgActionAdd18);
3251
+ var ForwardRef$m = /*#__PURE__*/forwardRef(SvgActionAdd18);
2665
3252
 
2666
3253
  const normalizeFilterWithPredicates = (filter) => {
2667
3254
  if (!filter) {
@@ -2696,853 +3283,145 @@ const normalizeFilterWithPredicates = (filter) => {
2696
3283
  if (filterValue[predicate] === null || filterValue[predicate] === undefined) {
2697
3284
  delete filter[key];
2698
3285
  }
2699
- });
2700
- }
2701
- }
2702
- return result;
2703
- };
2704
- function FiltersToolbarImpl(props) {
2705
- const { filters, tableState, setTableState } = props;
2706
- const [newFilterId, setNewFilterId] = useState(null);
2707
- const dataSource = useArrayDataSource({
2708
- items: filters,
2709
- getId: (item) => item.field,
2710
- }, []);
2711
- const onFiltersChange = (updatedFilters) => {
2712
- var _a;
2713
- const newConfig = {};
2714
- const newFilter = {};
2715
- const sortedOrders = tableState.filtersConfig && sortBy(tableState.filtersConfig, (f) => f === null || f === void 0 ? void 0 : f.order);
2716
- let lastItemOrder = (sortedOrders === null || sortedOrders === void 0 ? void 0 : sortedOrders.length) ? (_a = sortedOrders[sortedOrders.length - 1]) === null || _a === void 0 ? void 0 : _a.order : null;
2717
- updatedFilters.forEach((filter) => {
2718
- var _a, _b;
2719
- let order = (_b = (_a = tableState === null || tableState === void 0 ? void 0 : tableState.filtersConfig) === null || _a === void 0 ? void 0 : _a[filter === null || filter === void 0 ? void 0 : filter.field]) === null || _b === void 0 ? void 0 : _b.order;
2720
- if (!order) {
2721
- order = getOrderBetween(lastItemOrder, null);
2722
- lastItemOrder = order;
2723
- }
2724
- newConfig[filter.field] = { isVisible: true, order: order };
2725
- // Remove unselected filters from filter object
2726
- if (tableState.filter) {
2727
- newFilter[filter.field] = tableState.filter[filter.field];
2728
- }
2729
- });
2730
- setTableState(Object.assign(Object.assign({}, tableState), { filtersConfig: newConfig, filter: newFilter }));
2731
- };
2732
- const handleFilterChange = (newFilter) => {
2733
- const filter = normalizeFilterWithPredicates(Object.assign(Object.assign({}, tableState.filter), newFilter));
2734
- setTableState(Object.assign(Object.assign({}, tableState), { filter: filter }));
2735
- };
2736
- const removeFilter = (field) => {
2737
- const filterConfig = Object.assign({}, tableState.filtersConfig);
2738
- delete filterConfig[field];
2739
- const filter = Object.assign({}, tableState.filter);
2740
- delete filter[field];
2741
- const newTableState = Object.assign(Object.assign({}, tableState), { filtersConfig: filterConfig, filter: filter });
2742
- setTableState(Object.assign({}, newTableState));
2743
- };
2744
- const selectedFilters = useMemo(() => {
2745
- const filtersConfig = tableState.filtersConfig || {};
2746
- return filters.filter((filter) => {
2747
- return filter.isAlwaysVisible || (filtersConfig[filter === null || filter === void 0 ? void 0 : filter.field] ? filtersConfig[filter === null || filter === void 0 ? void 0 : filter.field].isVisible : false);
2748
- });
2749
- }, [tableState.filtersConfig, filters]);
2750
- const sortedActiveFilters = useMemo(() => {
2751
- return sortBy(selectedFilters, (f) => { var _a, _b; return (_b = (_a = tableState.filtersConfig) === null || _a === void 0 ? void 0 : _a[f.field]) === null || _b === void 0 ? void 0 : _b.order; });
2752
- }, [filters, tableState.filtersConfig]);
2753
- const renderAddFilterToggler = useCallback((togglerProps) => {
2754
- var _a;
2755
- return (React__default.createElement(Button, { size: (_a = props.size) !== null && _a !== void 0 ? _a : '36', onClick: togglerProps.onClick, ref: togglerProps.ref, caption: i18n.filterToolbar.addCaption, icon: ForwardRef$t, iconPosition: "left", fill: "ghost", color: "primary" }));
2756
- }, []);
2757
- const getRowOptions = useCallback((item) => ({
2758
- isDisabled: item.isAlwaysVisible,
2759
- checkbox: {
2760
- isVisible: true,
2761
- isDisabled: item.isAlwaysVisible,
2762
- },
2763
- }), []);
2764
- const isAllFiltersAlwaysVisible = props.filters.every((i) => i.isAlwaysVisible);
2765
- useEffect(() => {
2766
- // Reset new filter id, after first render with autofocus
2767
- setNewFilterId(null);
2768
- }, [newFilterId]);
2769
- return (React__default.createElement(React__default.Fragment, null,
2770
- sortedActiveFilters.map((f) => {
2771
- var _a;
2772
- return (React__default.createElement(FlexCell$1, { width: "auto", key: f.field },
2773
- React__default.createElement(FiltersPanelItem, Object.assign({}, f, { value: (_a = tableState.filter) === null || _a === void 0 ? void 0 : _a[f.field], onValueChange: handleFilterChange, key: f.field, autoFocus: newFilterId === f.field, removeFilter: removeFilter, size: props.size }))));
2774
- }),
2775
- !isAllFiltersAlwaysVisible && (React__default.createElement(PickerInput, { dataSource: dataSource, value: selectedFilters, onValueChange: onFiltersChange, selectionMode: "multi", valueType: "entity", key: newFilterId, renderRow: (props) => (React__default.createElement(DataPickerRow, Object.assign({}, props, { padding: "12", key: props.key, onCheck: (row) => {
2776
- props.onCheck && props.onCheck(row);
2777
- !row.isChecked && setNewFilterId(row.value.field);
2778
- }, renderItem: (item, rowProps) => React__default.createElement(PickerItem, Object.assign({}, rowProps, { title: item.title })) }))), getName: (i) => i.title, renderToggler: renderAddFilterToggler, emptyValue: [], getRowOptions: getRowOptions, fixedBodyPosition: true, size: props.size }))));
2779
- }
2780
- const FiltersPanel = React__default.memo(FiltersToolbarImpl);
2781
-
2782
- var css$y = {"divider":"B95GQr","dropdownDeleteIcon":"_2pUECw","presetsWrapper":"_6o3yWT","addPresetContainer":"jReawz","dropContainer":"duOJxw"};
2783
-
2784
- var css$x = {"preset-dropdown-panel":"SjXSIv","delete-row":"Wroi25","delete-button":"_1xaMO8","targetOpen":"WCMpar","presetDropdownPanel":"SjXSIv","deleteRow":"Wroi25","deleteButton":"_1xaMO8"};
2785
-
2786
- var _path$r;
2787
- function _extends$s() { _extends$s = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$s.apply(this, arguments); }
2788
- var SvgNavigationMoreVert18 = function SvgNavigationMoreVert18(props, ref) {
2789
- return /*#__PURE__*/React.createElement("svg", _extends$s({
2790
- xmlns: "http://www.w3.org/2000/svg",
2791
- width: 18,
2792
- height: 18,
2793
- viewBox: "0 0 18 18",
2794
- ref: ref
2795
- }, props), _path$r || (_path$r = /*#__PURE__*/React.createElement("path", {
2796
- fillRule: "evenodd",
2797
- d: "M9 6c.825 0 1.5-.675 1.5-1.5S9.825 3 9 3s-1.5.675-1.5 1.5S8.175 6 9 6zm0 1.5c-.825 0-1.5.675-1.5 1.5s.675 1.5 1.5 1.5 1.5-.675 1.5-1.5S9.825 7.5 9 7.5zM9 12c-.825 0-1.5.675-1.5 1.5S8.175 15 9 15s1.5-.675 1.5-1.5S9.825 12 9 12z",
2798
- clipRule: "evenodd"
2799
- })));
2800
- };
2801
- var ForwardRef$s = /*#__PURE__*/forwardRef(SvgNavigationMoreVert18);
2802
-
2803
- var _path$q;
2804
- function _extends$r() { _extends$r = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$r.apply(this, arguments); }
2805
- var SvgActionUpdate18 = function SvgActionUpdate18(props, ref) {
2806
- return /*#__PURE__*/React.createElement("svg", _extends$r({
2807
- xmlns: "http://www.w3.org/2000/svg",
2808
- width: 18,
2809
- height: 18,
2810
- viewBox: "0 0 18 18",
2811
- ref: ref
2812
- }, props), _path$q || (_path$q = /*#__PURE__*/React.createElement("path", {
2813
- fillRule: "evenodd",
2814
- d: "M8.007 2A7.004 7.004 0 0 0 1 9a7.004 7.004 0 0 0 11.732 5.16l-1.497-1.347A4.999 4.999 0 0 1 3 9c0-2.763 2.237-5 5-5 2.762 0 5 2.237 5 5h2c0-3.864-3.129-7-6.993-7zM11 9l3 3 3-3h-6z",
2815
- clipRule: "evenodd"
2816
- })));
2817
- };
2818
- var ForwardRef$r = /*#__PURE__*/forwardRef(SvgActionUpdate18);
2819
-
2820
- var _path$p;
2821
- function _extends$q() { _extends$q = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$q.apply(this, arguments); }
2822
- var SvgSaveOutline18 = function SvgSaveOutline18(props, ref) {
2823
- return /*#__PURE__*/React.createElement("svg", _extends$q({
2824
- xmlns: "http://www.w3.org/2000/svg",
2825
- width: 18,
2826
- height: 18,
2827
- viewBox: "0 0 18 18",
2828
- ref: ref
2829
- }, props), _path$p || (_path$p = /*#__PURE__*/React.createElement("path", {
2830
- d: "M12.75 2.25h-9a1.5 1.5 0 0 0-1.5 1.5v10.5a1.5 1.5 0 0 0 1.5 1.5h10.5c.825 0 1.5-.675 1.5-1.5v-9l-3-3zm1.5 12H3.75V3.75h8.377l2.123 2.122v8.378zM9 9a2.247 2.247 0 0 0-2.25 2.25A2.247 2.247 0 0 0 9 13.5a2.247 2.247 0 0 0 2.25-2.25A2.247 2.247 0 0 0 9 9zM4.5 4.5h6.75v3H4.5v-3z"
2831
- })));
2832
- };
2833
- var ForwardRef$q = /*#__PURE__*/forwardRef(SvgSaveOutline18);
2834
-
2835
- var _path$o;
2836
- function _extends$p() { _extends$p = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$p.apply(this, arguments); }
2837
- var SvgContentEditUndo18 = function SvgContentEditUndo18(props, ref) {
2838
- return /*#__PURE__*/React.createElement("svg", _extends$p({
2839
- xmlns: "http://www.w3.org/2000/svg",
2840
- width: 18,
2841
- height: 18,
2842
- viewBox: "0 0 18 18",
2843
- ref: ref
2844
- }, props), _path$o || (_path$o = /*#__PURE__*/React.createElement("path", {
2845
- fillRule: "evenodd",
2846
- d: "M9.375 6A7.848 7.848 0 0 0 4.2 7.95l-2.7-2.7V12h6.75L5.535 9.285a5.965 5.965 0 0 1 3.84-1.41 6.009 6.009 0 0 1 5.7 4.125l1.777-.585C15.81 8.273 12.862 6 9.375 6z",
2847
- clipRule: "evenodd"
2848
- })));
2849
- };
2850
- var ForwardRef$p = /*#__PURE__*/forwardRef(SvgContentEditUndo18);
2851
-
2852
- var _path$n;
2853
- function _extends$o() { _extends$o = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$o.apply(this, arguments); }
2854
- var SvgActionCopyContent18 = function SvgActionCopyContent18(props, ref) {
2855
- return /*#__PURE__*/React.createElement("svg", _extends$o({
2856
- xmlns: "http://www.w3.org/2000/svg",
2857
- width: 18,
2858
- height: 18,
2859
- viewBox: "0 0 18 18",
2860
- ref: ref
2861
- }, props), _path$n || (_path$n = /*#__PURE__*/React.createElement("path", {
2862
- fillRule: "evenodd",
2863
- d: "M3 1h8v2H3v8H1V3a2 2 0 0 1 2-2zm2 6a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V7zm10 8H7V7h8v8z",
2864
- clipRule: "evenodd"
2865
- })));
2866
- };
2867
- var ForwardRef$o = /*#__PURE__*/forwardRef(SvgActionCopyContent18);
2868
-
2869
- var _path$m;
2870
- function _extends$n() { _extends$n = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$n.apply(this, arguments); }
2871
- var SvgContentEdit18 = function SvgContentEdit18(props, ref) {
2872
- return /*#__PURE__*/React.createElement("svg", _extends$n({
2873
- xmlns: "http://www.w3.org/2000/svg",
2874
- width: 18,
2875
- height: 18,
2876
- viewBox: "0 0 18 18",
2877
- ref: ref
2878
- }, props), _path$m || (_path$m = /*#__PURE__*/React.createElement("path", {
2879
- fillRule: "evenodd",
2880
- d: "M2.25 12.94v2.812h2.813l8.294-8.295-2.812-2.813L2.25 12.94zm13.283-7.658a.747.747 0 0 0 0-1.058L13.777 2.47a.747.747 0 0 0-1.058 0l-1.373 1.373 2.813 2.812 1.373-1.372z",
2881
- clipRule: "evenodd"
2882
- })));
2883
- };
2884
- var ForwardRef$n = /*#__PURE__*/forwardRef(SvgContentEdit18);
2885
-
2886
- var _path$l;
2887
- function _extends$m() { _extends$m = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$m.apply(this, arguments); }
2888
- var SvgContentLink18 = function SvgContentLink18(props, ref) {
2889
- return /*#__PURE__*/React.createElement("svg", _extends$m({
2890
- xmlns: "http://www.w3.org/2000/svg",
2891
- width: 18,
2892
- height: 18,
2893
- viewBox: "0 0 18 18",
2894
- ref: ref
2895
- }, props), _path$l || (_path$l = /*#__PURE__*/React.createElement("path", {
2896
- fillRule: "evenodd",
2897
- d: "M7.943 10.057a.73.73 0 0 1 0 1.066.756.756 0 0 1-1.065 0 3.753 3.753 0 0 1 0-5.303l2.655-2.655a3.753 3.753 0 0 1 5.302 0 3.753 3.753 0 0 1 0 5.302l-1.118 1.118a5.18 5.18 0 0 0-.3-1.815l.353-.36a2.236 2.236 0 0 0 0-3.18 2.236 2.236 0 0 0-3.18 0L7.943 6.877a2.236 2.236 0 0 0 0 3.18zm2.114-3.18a.756.756 0 0 1 1.066 0 3.753 3.753 0 0 1 0 5.303l-2.655 2.655a3.753 3.753 0 0 1-5.303 0 3.753 3.753 0 0 1 0-5.303l1.118-1.117a5.25 5.25 0 0 0 .3 1.823l-.353.352a2.236 2.236 0 0 0 0 3.18 2.236 2.236 0 0 0 3.18 0l2.647-2.647a2.236 2.236 0 0 0 0-3.18.73.73 0 0 1 0-1.066z",
2898
- clipRule: "evenodd"
2899
- })));
2900
- };
2901
- var ForwardRef$m = /*#__PURE__*/forwardRef(SvgContentLink18);
2902
-
2903
- var _path$k;
2904
- function _extends$l() { _extends$l = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$l.apply(this, arguments); }
2905
- var SvgActionDeleteforever18 = function SvgActionDeleteforever18(props, ref) {
2906
- return /*#__PURE__*/React.createElement("svg", _extends$l({
2907
- xmlns: "http://www.w3.org/2000/svg",
2908
- width: 18,
2909
- height: 18,
2910
- viewBox: "0 0 18 18",
2911
- ref: ref
2912
- }, props), _path$k || (_path$k = /*#__PURE__*/React.createElement("path", {
2913
- fillRule: "evenodd",
2914
- d: "M7 2h4l1 1h3v2H3V3h3l1-1zM4 6h10v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6zm6.76 8.1L9 12.36 7.24 14.1l-1.16-1.16 1.74-1.76-1.78-1.8 1.2-1.18L9 10l1.76-1.8 1.18 1.18-1.76 1.8 1.76 1.76-1.18 1.16z",
2915
- clipRule: "evenodd"
2916
- })));
2917
- };
2918
- var ForwardRef$l = /*#__PURE__*/forwardRef(SvgActionDeleteforever18);
2919
-
2920
- function PresetActionsDropdown(props) {
2921
- const { uuiNotifications } = useUuiContext();
2922
- const copyUrlToClipboard = useCallback(() => __awaiter(this, void 0, void 0, function* () {
2923
- yield navigator.clipboard.writeText(props.getPresetLink(props.preset));
2924
- successNotificationHandler('Link copied!');
2925
- }), []);
2926
- const saveInCurrent = useCallback((preset) => __awaiter(this, void 0, void 0, function* () {
2927
- const newPreset = Object.assign(Object.assign({}, preset), { filter: props.tableState.filter, sorting: props.tableState.sorting, columnsConfig: props.tableState.columnsConfig, filtersConfig: props.tableState.filtersConfig, viewState: props.tableState.viewState });
2928
- yield props.updatePreset(newPreset);
2929
- successNotificationHandler('Changes saved!');
2930
- }), [
2931
- props.tableState.filter, props.tableState.columnsConfig, props.tableState.filtersConfig,
2932
- ]);
2933
- const successNotificationHandler = useCallback((text) => {
2934
- uuiNotifications
2935
- .show((props) => (React__default.createElement(SuccessNotification, Object.assign({}, props),
2936
- React__default.createElement(Text, { size: "36", font: "regular", fontSize: "14" }, text))), { duration: 3 })
2937
- .catch(() => null);
2938
- }, []);
2939
- const saveInCurrentHandler = useCallback(() => {
2940
- saveInCurrent(props.preset);
2941
- }, [props.preset]);
2942
- const discardAllChangesHandler = useCallback(() => {
2943
- props.choosePreset(props.preset);
2944
- }, [props.preset]);
2945
- const duplicateHandler = useCallback(() => {
2946
- props.duplicatePreset(props.preset);
2947
- }, [props.preset]);
2948
- const deleteHandler = useCallback(() => __awaiter(this, void 0, void 0, function* () {
2949
- yield props.deletePreset(props.preset);
2950
- }), [
2951
- props.activePresetId, props.deletePreset, props.preset,
2952
- ]);
2953
- const renderBody = () => {
2954
- const isReadonlyPreset = props.preset.isReadonly;
2955
- return (React__default.createElement(Panel, { background: "surface", shadow: true, cx: css$x.presetDropdownPanel },
2956
- props.activePresetId === props.preset.id && props.hasPresetChanged(props.preset) && (React__default.createElement(React__default.Fragment, null,
2957
- !isReadonlyPreset && (React__default.createElement(FlexRow, { key: `${props.preset.id}-save-in-current` },
2958
- React__default.createElement(DropdownMenuButton, { icon: ForwardRef$r, caption: "Save in current", onClick: saveInCurrentHandler }))),
2959
- React__default.createElement(FlexRow, { key: `${props.preset.id}-save-as-new` },
2960
- React__default.createElement(DropdownMenuButton, { icon: ForwardRef$q, caption: "Save as new", onClick: props.addPreset })),
2961
- React__default.createElement(FlexRow, { key: `${props.preset.id}-discard`, borderBottom: true },
2962
- React__default.createElement(DropdownMenuButton, { icon: ForwardRef$p, caption: "Discard all changes", onClick: discardAllChangesHandler })))),
2963
- props.preset.id === props.activePresetId && !isReadonlyPreset && (React__default.createElement(FlexRow, { key: `${props.preset.id}-rename` },
2964
- React__default.createElement(DropdownMenuButton, { icon: ForwardRef$n, caption: "Rename", onClick: props.renamePreset }))),
2965
- React__default.createElement(FlexRow, { key: `${props.preset.id}-duplicate` },
2966
- React__default.createElement(DropdownMenuButton, { icon: ForwardRef$o, caption: "Duplicate", onClick: duplicateHandler })),
2967
- React__default.createElement(FlexRow, { borderBottom: true, key: `${props.preset.id}-copyLink` },
2968
- React__default.createElement(DropdownMenuButton, { icon: ForwardRef$m, caption: "Copy Link", onClick: copyUrlToClipboard })),
2969
- !isReadonlyPreset && (React__default.createElement(FlexRow, { key: `${props.preset.id}-delete`, cx: css$x.deleteRow },
2970
- React__default.createElement(DropdownMenuButton, { icon: ForwardRef$l, caption: "Delete", cx: css$x.deleteButton, onClick: deleteHandler })))));
2971
- };
2972
- const renderTarget = useCallback((dropdownProps) => {
2973
- return (React__default.createElement(IconButton, Object.assign({ cx: dropdownProps.isOpen && css$x.targetOpen, color: props.preset.id === props.activePresetId ? 'info' : 'neutral' }, dropdownProps, { icon: ForwardRef$s })));
2974
- }, []);
2975
- return (React__default.createElement(Dropdown, { renderBody: renderBody, renderTarget: renderTarget, placement: "bottom-end", modifiers: [{ name: 'offset', options: { offset: [0, 22] } }] }));
2976
- }
2977
-
2978
- var css$w = {"preset-input-cell":"DAkrrp","preset-input":"-pvSxv","presetInputCell":"DAkrrp","presetInput":"-pvSxv"};
2979
-
2980
- function PresetInput(props) {
2981
- var _a;
2982
- const [presetCaption, setPresetCaption] = useState(((_a = props.preset) === null || _a === void 0 ? void 0 : _a.name) || '');
2983
- const cancelActionHandler = useCallback(() => {
2984
- setPresetCaption('');
2985
- props.onCancel();
2986
- }, [props.onCancel]);
2987
- const acceptActionHandler = useCallback(() => __awaiter(this, void 0, void 0, function* () {
2988
- if (presetCaption) {
2989
- yield props.onSuccess(presetCaption);
2990
- }
2991
- props.onCancel();
2992
- }), [presetCaption]);
2993
- const newPresetOnBlurHandler = useCallback(() => {
2994
- if (presetCaption.length) {
2995
- return;
2996
- }
2997
- props.onCancel();
2998
- }, [presetCaption.length, props.onCancel]);
2999
- return (React__default.createElement(FlexCell, { cx: css$w.presetInputCell, minWidth: 180 },
3000
- React__default.createElement(TextInput, { cx: css$w.presetInput, onValueChange: setPresetCaption, value: presetCaption, onCancel: cancelActionHandler, onAccept: acceptActionHandler, onBlur: newPresetOnBlurHandler, autoFocus: true, maxLength: 50 })));
3001
- }
3002
-
3003
- var css$v = {"preset":"GjqrSR","activePreset":"ZPPWsj"};
3004
-
3005
- function Preset(props) {
3006
- const [isRenamePreset, setIsRenamePreset] = useState(false);
3007
- const choosePresetHandler = useCallback(() => props.choosePreset(props.preset), [props]);
3008
- const cancelRenamePreset = useCallback(() => {
3009
- setIsRenamePreset(() => false);
3010
- }, []);
3011
- const setPresetForRename = useCallback(() => {
3012
- if (!isRenamePreset) {
3013
- setIsRenamePreset(() => true);
3014
- }
3015
- }, []);
3016
- const handlePresetRename = useCallback((name) => {
3017
- const newPreset = Object.assign(Object.assign({}, props.preset), { name: name });
3018
- return props.updatePreset(newPreset);
3019
- }, [props.preset]);
3020
- const isPresetActive = props.activePresetId === props.preset.id;
3021
- 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$v.preset, isPresetActive && css$v.activePreset], size: "60", withNotify: isPresetActive && props.hasPresetChanged(props.preset), icon: () => React__default.createElement(PresetActionsDropdown, Object.assign({ renamePreset: setPresetForRename }, props)), iconPosition: "right", isLinkActive: isPresetActive }))));
3022
- }
3023
-
3024
- var _path$j;
3025
- function _extends$k() { _extends$k = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$k.apply(this, arguments); }
3026
- var SvgContentPlusBold18 = function SvgContentPlusBold18(props, ref) {
3027
- return /*#__PURE__*/React.createElement("svg", _extends$k({
3028
- xmlns: "http://www.w3.org/2000/svg",
3029
- width: 18,
3030
- height: 18,
3031
- viewBox: "0 0 18 18",
3032
- ref: ref
3033
- }, props), _path$j || (_path$j = /*#__PURE__*/React.createElement("path", {
3034
- d: "M10.5 3h-3v4.5H3v3h4.5V15h3v-4.5H15v-3h-4.5V3z"
3035
- })));
3036
- };
3037
- var ForwardRef$k = /*#__PURE__*/forwardRef(SvgContentPlusBold18);
3038
-
3039
- function PresetsPanel(props) {
3040
- const [isAddingPreset, setIsAddingPreset] = useState(false);
3041
- const setAddingPreset = useCallback(() => {
3042
- setIsAddingPreset(true);
3043
- }, []);
3044
- const cancelAddingPreset = useCallback(() => {
3045
- setIsAddingPreset(false);
3046
- }, []);
3047
- const presetApi = __rest(props, ["presets"]);
3048
- const renderPreset = (preset) => {
3049
- return React__default.createElement(Preset, Object.assign({ key: preset.id, preset: preset, addPreset: setAddingPreset }, presetApi));
3050
- };
3051
- const renderAddPresetButton = useCallback(() => {
3052
- return (React__default.createElement("div", { key: "addingPresetBlock", className: css$y.addPresetContainer }, !isAddingPreset ? (React__default.createElement(Button, { size: "36", onClick: setAddingPreset, caption: i18n.presetPanel.addCaption, icon: ForwardRef$k, iconPosition: "left", fill: "ghost", color: "primary" })) : (React__default.createElement(PresetInput, { onCancel: cancelAddingPreset, onSuccess: props.createNewPreset }))));
3053
- }, [isAddingPreset]);
3054
- const onPresetDropdownSelect = (preset) => {
3055
- props.choosePreset(preset.preset);
3056
- };
3057
- const renderMoreButtonDropdown = (item, hiddenItems) => {
3058
- return (React__default.createElement(Dropdown, { key: "more", renderTarget: (props) => (React__default.createElement(FlexRow, null,
3059
- React__default.createElement("div", { className: css$y.divider }),
3060
- React__default.createElement(Button, Object.assign({ fill: "ghost", color: "secondary", caption: `${(hiddenItems === null || hiddenItems === void 0 ? void 0 : hiddenItems.length) || ''} more` }, props)))), renderBody: (propsBody) => (React__default.createElement(DropdownContainer, Object.assign({ cx: cx$1(css$y.dropContainer), width: 230 }, propsBody),
3061
- React__default.createElement(ScrollBars$1, null, hiddenItems.map((hiddenItem) => (React__default.createElement(DropdownMenuButton, { key: hiddenItem.preset.id, onClick: () => onPresetDropdownSelect(hiddenItem), caption: hiddenItem.preset.name, icon: !hiddenItem.preset.isReadonly && ForwardRef$l, iconPosition: "right", cx: css$y.dropdownDeleteIcon, onIconClick: !hiddenItem.preset.isReadonly && (() => props.deletePreset(hiddenItem.preset)) })))))) }));
3062
- };
3063
- const getPresetPriority = (preset, index) => {
3064
- return preset.id === props.activePresetId ? 100499 : 1000 - index;
3065
- };
3066
- const getPanelItems = () => {
3067
- return [
3068
- ...sortBy(props.presets, (i) => i.order).map((preset, index) => ({
3069
- id: preset.id.toString(),
3070
- render: () => renderPreset(preset),
3071
- priority: getPresetPriority(preset, index),
3072
- preset: preset,
3073
- })), {
3074
- id: 'collapsedContainer', render: renderMoreButtonDropdown, priority: 100501, collapsedContainer: true,
3075
- }, { id: 'addPreset', render: renderAddPresetButton, priority: 100501 },
3076
- ];
3077
- };
3078
- return (React__default.createElement(FlexCell, { grow: 1, minWidth: 310, rawProps: props.rawProps },
3079
- React__default.createElement(FlexRow, { size: null, spacing: "12", cx: css$y.presetsWrapper },
3080
- React__default.createElement(AdaptivePanel, { items: getPanelItems() }))));
3081
- }
3082
-
3083
- const defaultPredicates = {
3084
- numeric: [
3085
- { predicate: 'eq', name: '=', isDefault: true }, { predicate: 'neq', name: '≠' }, { predicate: 'lte', name: '≤' }, { predicate: 'gte', name: '≥' }, { predicate: 'inRange', name: 'In Range' },
3086
- ],
3087
- multiPicker: [{ predicate: 'in', name: 'is', isDefault: true }, { predicate: 'nin', name: 'is not' }],
3088
- rangeDatePicker: [{ predicate: 'inRange', name: 'In Range', isDefault: true }, { predicate: 'notInRange', name: 'Not in Range' }],
3089
- };
3090
-
3091
- const useColumnsWithFilters = (initialColumns, filters) => {
3092
- const makeFilterRenderCallback = useCallback((key) => function (filterLens, dropdownProps) {
3093
- const filter = filters.find((f) => f.columnKey === key);
3094
- if (!filter)
3095
- return null;
3096
- const props = filterLens.prop(filter.field).toProps();
3097
- return React__default.createElement(FilterItemBody, Object.assign({}, props, filter, dropdownProps));
3098
- }, [filters]);
3099
- const columns = useMemo(() => {
3100
- if (filters) {
3101
- const filterKeys = filters.map((f) => f.columnKey);
3102
- const newColumns = (initialColumns.map((column) => {
3103
- if (filterKeys.includes(column.key)) {
3104
- return Object.assign(Object.assign({}, column), { renderFilter: makeFilterRenderCallback(column.key) });
3105
- }
3106
- else {
3107
- return column;
3108
- }
3109
- }));
3110
- return newColumns;
3111
- }
3112
- return initialColumns;
3113
- }, [filters, initialColumns]);
3114
- return columns;
3115
- };
3116
-
3117
- var css$u = {"line-height-12":"gnqeJP","line-height-18":"_0HeJOH","line-height-24":"z17ViQ","line-height-30":"PPpLg-","font-size-10":"JgKxV2","font-size-12":"rvvp2r","font-size-14":"br99be","font-size-16":"AAZdm3","font-size-18":"piDdw-","font-size-24":"ElLMBx","v-padding-2":"_7SkLfV","v-padding-3":"b7eiDk","v-padding-5":"dFlWDe","v-padding-6":"_5BDNpB","v-padding-8":"wo-A43","v-padding-9":"Ls2EKS","v-padding-11":"H8vl9-","v-padding-12":"xC1pJD","v-padding-14":"ss3TWa","v-padding-15":"Ya76--","v-padding-17":"GfKFnD","v-padding-18":"jnpobl","v-padding-23":"MTOI1d","v-padding-24":"OKY02H","lineHeight12":"gnqeJP","lineHeight18":"_0HeJOH","lineHeight24":"z17ViQ","lineHeight30":"PPpLg-","fontSize10":"JgKxV2","fontSize12":"rvvp2r","fontSize14":"br99be","fontSize16":"AAZdm3","fontSize18":"piDdw-","fontSize24":"ElLMBx","vPadding2":"_7SkLfV","vPadding3":"b7eiDk","vPadding5":"dFlWDe","vPadding6":"_5BDNpB","vPadding8":"wo-A43","vPadding9":"Ls2EKS","vPadding11":"H8vl9-","vPadding12":"xC1pJD","vPadding14":"ss3TWa","vPadding15":"Ya76--","vPadding17":"GfKFnD","vPadding18":"jnpobl","vPadding23":"MTOI1d","vPadding24":"OKY02H"};
3118
-
3119
- const defaultTextSettings = {
3120
- 18: { lineHeight: 12, fontSize: 10 },
3121
- 24: { lineHeight: 18, fontSize: 12 },
3122
- 30: { lineHeight: 18, fontSize: 14 },
3123
- 36: { lineHeight: 18, fontSize: 14 },
3124
- 42: { lineHeight: 24, fontSize: 16 },
3125
- 48: { lineHeight: 24, fontSize: 16 },
3126
- 60: { lineHeight: 30, fontSize: 24 },
3127
- };
3128
- function getTextClasses(props, border) {
3129
- if (props.size === 'none') {
3130
- return [css$u['line-height-' + props.lineHeight], css$u['font-size-' + props.fontSize]];
3131
- }
3132
- const setting = {
3133
- size: props.size,
3134
- lineHeight: props.lineHeight || defaultTextSettings[props.size].lineHeight,
3135
- fontSize: props.fontSize || defaultTextSettings[props.size].fontSize,
3136
- };
3137
- const vPadding = (+setting.size - +setting.lineHeight - (border ? 2 : 0)) / 2;
3138
- return [
3139
- css$u['line-height-' + setting.lineHeight], css$u['font-size-' + setting.fontSize], css$u['v-padding-' + vPadding],
3140
- ];
3141
- }
3142
-
3143
- var css$t = {"root":"KPE1S0"};
3144
-
3145
- const allTextColors = ['info', 'warning', 'error', 'success', 'brand', 'primary', 'secondary', 'disabled', 'contrast', 'white'];
3146
- function applyTextMods(mods) {
3147
- const textClasses = getTextClasses({
3148
- size: mods.size || '36',
3149
- lineHeight: mods.lineHeight,
3150
- fontSize: mods.fontSize,
3151
- }, false);
3152
- return [
3153
- css$t.root,
3154
- 'uui-text',
3155
- `uui-font-${mods.font || 'regular'}`,
3156
- `uui-color-${mods.color || 'primary'}`,
3157
- ].concat(textClasses);
3158
- }
3159
- const Text = withMods(Text$1, applyTextMods);
3160
-
3161
- var css$s = {"root":"_7AQCfe","loading-word":"YIb4i7","animated-loading":"CkgQRN","skeleton_loading":"_4yi-7n","loadingWord":"YIb4i7","animatedLoading":"CkgQRN","skeletonLoading":"_4yi-7n"};
3162
-
3163
- const TextPlaceholder = (props) => {
3164
- const pattern = '&nbsp;';
3165
- const text = React.useMemo(() => {
3166
- const words = [];
3167
- for (let i = 0; i < (props.wordsCount || 1); i++) {
3168
- const lengthWord = Math.floor(Math.random() * 10 + 8);
3169
- words.push(pattern.repeat(lengthWord));
3170
- }
3171
- return words;
3172
- }, [props.wordsCount]);
3173
- return (React.createElement("div", Object.assign({ "aria-busy": true, className: css$s.root }, props.rawProps), text.map((it, index) => (React.createElement("span", { key: index, className: cx([
3174
- props.cx, css$s.loadingWord, !props.isNotAnimated && css$s.animatedLoading,
3175
- ]), dangerouslySetInnerHTML: { __html: it } })))));
3176
- };
3177
-
3178
- var style = {"typography-16":"baqGMN","typography-14":"kYwine","typography-12":"LK33w5","typography-uui":"thGQKK","typography16":"baqGMN","typography14":"kYwine","typography12":"LK33w5","typographyUui":"thGQKK"};
3179
-
3180
- const RichTextView = withMods(RichTextView$1, (mods) => [style.typographyUui, style['typography-' + (mods.size || '14')]]);
3181
-
3182
- var css$r = {"root":"e34c9h","modal-blocker":"PU3pdT","animateModalBlocker":"FKW2w-","modal":"ooxJvl","modal-footer":"j5BDA4","border-top":"O-IL2R","modal-header":"_88B-pu","modalBlocker":"PU3pdT","modalFooter":"j5BDA4","borderTop":"O-IL2R","modalHeader":"_88B-pu"};
3183
-
3184
- const ModalBlocker = withMods(ModalBlocker$1, () => [css$r.modalBlocker]);
3185
- const ModalWindow = withMods(ModalWindow$1, () => [css$r.root, css$r.modal], (props) => ({
3186
- style: Object.assign(Object.assign({}, props.style), { width: `${props.width || 420}px`, height: props.height ? `${props.height}px` : 'auto' }),
3187
- }));
3188
- class ModalHeader extends React.Component {
3189
- render() {
3190
- return (React.createElement(FlexRow, { padding: this.props.padding || '24', vPadding: "12", borderBottom: this.props.borderBottom, cx: [css$r.root, css$r.modalHeader, this.props.cx], spacing: "12", rawProps: this.props.rawProps },
3191
- this.props.title && (React.createElement(Text, { size: "48", fontSize: "18", font: "semibold" }, this.props.title)),
3192
- this.props.children,
3193
- this.props.onClose && React.createElement(FlexSpacer, null),
3194
- this.props.onClose && (React.createElement(FlexCell, { shrink: 0, width: "auto" },
3195
- React.createElement(IconButton, { rawProps: { 'aria-label': 'Close modal' }, icon: ForwardRef$D, onClick: this.props.onClose })))));
3196
- }
3197
- }
3198
- class ModalFooter extends React.Component {
3199
- render() {
3200
- return (React.createElement(FlexRow, { spacing: this.props.spacing || '12', cx: [
3201
- css$r.root,
3202
- css$r.modalFooter,
3203
- this.props.borderTop && css$r.borderTop,
3204
- this.props.cx,
3205
- ], padding: this.props.padding || '24', vPadding: this.props.vPadding || '24', rawProps: this.props.rawProps }, this.props.children));
3206
- }
3207
- }
3208
-
3209
- var _path$i;
3210
- function _extends$j() { _extends$j = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$j.apply(this, arguments); }
3211
- var SvgCross = function SvgCross(props, ref) {
3212
- return /*#__PURE__*/React.createElement("svg", _extends$j({
3213
- xmlns: "http://www.w3.org/2000/svg",
3214
- width: 24,
3215
- height: 24,
3216
- viewBox: "0 0 24 24",
3217
- ref: ref
3218
- }, props), _path$i || (_path$i = /*#__PURE__*/React.createElement("path", {
3219
- fillRule: "evenodd",
3220
- d: "M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"
3221
- })));
3222
- };
3223
- var ForwardRef$j = /*#__PURE__*/forwardRef(SvgCross);
3224
-
3225
- var css$q = {"root":"_2wFC-r","icon-wrapper":"FTaOnv","action-wrapper":"KE9vxb","action-link":"I0ZjlW","close-icon":"jlecMO","main-path":"ZhsbwQ","content":"O5KPzs","clear-button":"jcBccY","close-wrapper":"cIIH5i","iconWrapper":"FTaOnv","actionWrapper":"KE9vxb","actionLink":"I0ZjlW","closeIcon":"jlecMO","mainPath":"ZhsbwQ","clearButton":"jcBccY","closeWrapper":"cIIH5i"};
3226
-
3227
- const NotificationCard = React__default.forwardRef((props, ref) => {
3228
- const notificationCardNode = React__default.useRef(null);
3229
- React__default.useImperativeHandle(ref, () => notificationCardNode.current, [notificationCardNode.current]);
3230
- React__default.useLayoutEffect(() => {
3231
- var _a, _b;
3232
- (_a = notificationCardNode.current) === null || _a === void 0 ? void 0 : _a.addEventListener('mouseenter', props.clearTimer);
3233
- (_b = notificationCardNode.current) === null || _b === void 0 ? void 0 : _b.addEventListener('mouseleave', props.refreshTimer);
3234
- return () => {
3235
- var _a, _b;
3236
- (_a = notificationCardNode.current) === null || _a === void 0 ? void 0 : _a.removeEventListener('mouseenter', props.clearTimer);
3237
- (_b = notificationCardNode.current) === null || _b === void 0 ? void 0 : _b.removeEventListener('mouseleave', props.refreshTimer);
3238
- };
3239
- }, []);
3240
- return (React__default.createElement("div", Object.assign({ role: "alert", className: cx('uui-notification_card', props.color && `uui-color-${props.color}`, css$q.root, props.cx), ref: notificationCardNode }, props.rawProps),
3241
- React__default.createElement("div", { className: css$q.mainPath },
3242
- props.icon && (React__default.createElement("div", { className: css$q.iconWrapper },
3243
- React__default.createElement(IconContainer, { icon: props.icon, cx: css$q.actionIcon }))),
3244
- React__default.createElement("div", { className: css$q.content },
3245
- props.children,
3246
- props.actions && (React__default.createElement("div", { className: css$q.actionWrapper }, props.actions.map((action) => (React__default.createElement(LinkButton, { caption: action.name, onClick: action.action, key: action.name, cx: css$q.actionLink, size: "36", rawProps: action.rawProps })))))),
3247
- props.onClose && (React__default.createElement("div", { className: css$q.closeWrapper },
3248
- React__default.createElement(IconButton, { icon: ForwardRef$j, color: "neutral", onClick: props.onClose, cx: css$q.closeIcon }))))));
3249
- });
3250
- const WarningNotification = React__default.forwardRef((props, ref) => (React__default.createElement(NotificationCard, Object.assign({ icon: ForwardRef$G, color: "warning" }, props, { ref: ref, cx: props.cx }))));
3251
- const SuccessNotification = React__default.forwardRef((props, ref) => (React__default.createElement(NotificationCard, Object.assign({ icon: ForwardRef$H, color: "success" }, props, { ref: ref, cx: props.cx }))));
3252
- const HintNotification = React__default.forwardRef((props, ref) => (React__default.createElement(NotificationCard, Object.assign({ icon: ForwardRef$E, color: "info" }, props, { ref: ref, cx: props.cx }))));
3253
- const ErrorNotification = React__default.forwardRef((props, ref) => (React__default.createElement(NotificationCard, Object.assign({ icon: ForwardRef$F, color: "error" }, props, { ref: ref, cx: props.cx }))));
3254
- class ClearNotification extends React__default.Component {
3255
- render() {
3256
- return (React__default.createElement("div", { className: cx(css$q.notificationWrapper, css$q.clearButton) },
3257
- React__default.createElement(LinkButton, { caption: i18n.notificationCard.closeAllNotificationsButton, onClick: () => this.context.uuiNotifications.clearAll() })));
3258
- }
3259
- }
3260
- ClearNotification.contextType = UuiContext;
3261
-
3262
- class ConfirmationModal extends React.Component {
3263
- render() {
3264
- let bodyContent;
3265
- if (this.props.bodyContent) {
3266
- bodyContent = React.createElement(Panel, { background: "surface", margin: "24" }, this.props.bodyContent);
3267
- }
3268
- return (React.createElement(ModalBlocker, Object.assign({}, this.props),
3269
- React.createElement(ModalWindow, { width: 420 },
3270
- React.createElement(ModalHeader, { borderBottom: true, title: this.props.caption, onClose: () => this.props.abort() }),
3271
- React.createElement(ScrollBars, null, bodyContent),
3272
- React.createElement(ModalFooter, null,
3273
- React.createElement(FlexSpacer, null),
3274
- this.props.hideCancelButton || (React.createElement(Button, { caption: i18n.form.modals.discardButton, onClick: () => this.props.success(false), fill: "outline", color: "secondary" })),
3275
- React.createElement(Button, { caption: i18n.form.modals.saveButton, onClick: () => this.props.success(true), color: "accent" })))));
3276
- }
3277
- }
3278
-
3279
- const defaultMode = EditMode.FORM;
3280
- class DatePicker extends BaseDatePicker {
3281
- constructor() {
3282
- super(...arguments);
3283
- this.renderInput = (props) => {
3284
- var _a;
3285
- if (process.env.NODE_ENV !== "production") {
3286
- if (this.props.size === '48') {
3287
- devLogger.warnAboutDeprecatedPropValue({
3288
- component: 'DatePicker',
3289
- propName: 'size',
3290
- propValue: this.props.size,
3291
- propValueUseInstead: '42',
3292
- condition: () => ['48'].indexOf(this.props.size) !== -1,
3293
- });
3294
- }
3295
- }
3296
- return (React__default.createElement(TextInput, Object.assign({}, props, { onClick: null, isDropdown: false, cx: cx$1(this.props.inputCx, this.state.isOpen && uuiMod.focus), icon: this.props.mode !== EditMode.CELL && systemIcons[this.props.size || '36'].calendar, iconPosition: this.props.iconPosition || 'left', placeholder: this.props.placeholder ? this.props.placeholder : this.getFormat(), size: this.props.size || '36', value: this.state.inputValue, onValueChange: this.handleInputChange, onCancel: this.props.disableClear || !this.state.inputValue ? undefined : this.handleCancel, isInvalid: this.props.isInvalid, isDisabled: this.props.isDisabled, isReadonly: this.props.isReadonly, tabIndex: this.props.isReadonly || this.props.isDisabled ? -1 : 0, onFocus: this.handleFocus, onBlur: this.handleBlur, mode: this.props.mode || defaultMode, rawProps: (_a = this.props.rawProps) === null || _a === void 0 ? void 0 : _a.input })));
3297
- };
3298
- }
3299
- renderBody(props) {
3300
- var _a, _b, _c;
3301
- return (React__default.createElement(DropdownContainer, Object.assign({}, props, { focusLock: false }),
3302
- React__default.createElement(DatePickerBody, { cx: cx$1(this.props.bodyCx), filter: this.props.filter, value: this.getValue(), setSelectedDate: this.setSelectedDate, setDisplayedDateAndView: this.setDisplayedDateAndView, changeIsOpen: this.onToggle, renderDay: this.props.renderDay, isHoliday: this.props.isHoliday, rawProps: (_a = this.props.rawProps) === null || _a === void 0 ? void 0 : _a.body }), (_c = (_b = this.props).renderFooter) === null || _c === void 0 ? void 0 :
3303
- _c.call(_b)));
3304
- }
3305
- }
3306
-
3307
- var css$p = {"root":"_8x08oa"};
3308
-
3309
- function applyCalendarPresetsMods() {
3310
- return [css$p.root];
3311
- }
3312
- const CalendarPresets = withMods(CalendarPresets$1, applyCalendarPresetsMods, () => ({}));
3313
-
3314
- var css$o = {"root":"_7aHaaq","container":"_1tEewG","day-selection":"s4B1Su","from-picker":"_3Acw2X","to-picker":"ZxJ3Lm","bodes-wrapper":"jKftgh","blocker":"jQiH5d","daySelection":"s4B1Su","fromPicker":"_3Acw2X","toPicker":"ZxJ3Lm","bodesWrapper":"jKftgh"};
3315
-
3316
- dayjs.extend(isoWeek);
3317
- function weekCount(displayedDate) {
3318
- let days = [];
3319
- const dayOfLastWeekInPrevMonth = displayedDate.subtract(1, 'month').endOf('month').day();
3320
- days = days.concat(new Array(dayOfLastWeekInPrevMonth).fill(undefined));
3321
- // get days of current month
3322
- days = days.concat(new Array(displayedDate.endOf('month').date()).fill(undefined));
3323
- return arrayToMatrix(days, 7).length;
3324
- }
3325
- const uuiRangeDatePickerBody = {
3326
- inRange: 'uui-range-datepicker-in-range',
3327
- firstDayInRangeWrapper: 'uui-range-datepicker-first-day-in-range-wrapper',
3328
- lastDayInRangeWrapper: 'uui-range-datepicker-last-day-in-range-wrapper',
3329
- separator: 'uui-range-datepicker-separator',
3330
- };
3331
- const rangeDatePickerPresets = {
3332
- today: {
3333
- name: 'Today',
3334
- getRange: () => ({ from: dayjs().toString(), to: undefined, order: 1 }),
3335
- },
3336
- thisWeek: {
3337
- name: 'This Week',
3338
- getRange: () => ({ from: dayjs().startOf('isoWeek').toString(), to: dayjs().endOf('isoWeek').toString(), order: 2 }),
3339
- },
3340
- lastWeek: {
3341
- name: 'Last Week',
3342
- getRange: () => ({ from: dayjs().startOf('isoWeek').subtract(1, 'week').toString(), to: dayjs().endOf('isoWeek').subtract(1, 'week').toString(), order: 3 }),
3343
- },
3344
- thisMonth: {
3345
- name: 'This Month',
3346
- getRange: () => ({ from: dayjs().startOf('month').toString(), to: dayjs().endOf('month').toString(), order: 4 }),
3347
- },
3348
- lastMonth: {
3349
- name: 'Last Month',
3350
- getRange: () => ({ from: dayjs().startOf('month').subtract(1, 'month').toString(), to: dayjs().subtract(1, 'month').endOf('month').toString(), order: 5 }),
3351
- },
3352
- last3Month: {
3353
- name: 'Last 3 Months',
3354
- getRange: () => ({ from: dayjs().startOf('month').subtract(3, 'month').toString(), to: dayjs().subtract(1, 'month').endOf('month').toString(), order: 5 }),
3355
- },
3356
- thisYear: {
3357
- name: 'This Year',
3358
- getRange: () => ({ from: dayjs().startOf('year').toString(), to: dayjs().endOf('year').toString(), order: 7 }),
3359
- },
3360
- lastYear: {
3361
- name: 'Last Year',
3362
- getRange: () => ({ from: dayjs().startOf('year').subtract(1, 'year').toString(), to: dayjs().subtract(1, 'year').endOf('year').toString(), order: 8 }),
3363
- },
3364
- };
3365
- class RangeDatePickerBody extends React.Component {
3366
- constructor() {
3367
- super(...arguments);
3368
- this.state = {
3369
- activePart: null,
3370
- };
3371
- this.getDayCX = (day) => {
3372
- var _a, _b;
3373
- const dayValue = day.valueOf();
3374
- const fromValue = ((_a = this.props.value) === null || _a === void 0 ? void 0 : _a.selectedDate.from) ? dayjs(this.props.value.selectedDate.from).valueOf() : null;
3375
- const toValue = ((_b = this.props.value) === null || _b === void 0 ? void 0 : _b.selectedDate.to) ? dayjs(this.props.value.selectedDate.to).valueOf() : null;
3376
- const inRange = dayValue >= fromValue && dayValue <= toValue && fromValue !== toValue && fromValue && toValue;
3377
- const isFirst = dayValue === fromValue;
3378
- const isLast = dayValue === toValue;
3379
- return [
3380
- inRange && uuiRangeDatePickerBody.inRange,
3381
- isFirst && uuiRangeDatePickerBody.firstDayInRangeWrapper,
3382
- !inRange && isFirst && uuiRangeDatePickerBody.lastDayInRangeWrapper,
3383
- isLast && uuiRangeDatePickerBody.lastDayInRangeWrapper,
3384
- !inRange && isLast && uuiRangeDatePickerBody.firstDayInRangeWrapper,
3385
- (dayValue === fromValue || dayValue === toValue) && uuiDaySelection.selectedDay,
3386
- ];
3387
- };
3388
- this.getFromValue = () => {
3389
- var _a;
3390
- return Object.assign(Object.assign({}, this.props.value), { view: this.state.activePart === 'from' ? this.props.value.view : 'DAY_SELECTION', selectedDate: (_a = this.props.value) === null || _a === void 0 ? void 0 : _a.selectedDate.from });
3391
- };
3392
- this.getToValue = () => {
3393
- if (!this.props.value)
3394
- return;
3395
- return Object.assign(Object.assign({}, this.props.value), { view: this.state.activePart === 'to' ? this.props.value.view : 'DAY_SELECTION', displayedDate: this.props.value.displayedDate.add(1, 'month'), selectedDate: this.props.value.selectedDate.to });
3396
- };
3397
- this.renderPresets = () => {
3398
- return (React.createElement(React.Fragment, null,
3399
- React.createElement("div", { className: uuiRangeDatePickerBody.separator }),
3400
- React.createElement(CalendarPresets, { forwardedRef: this.props.forwardedRef, onPresetSet: (presetVal) => {
3401
- this.props.onValueChange({
3402
- view: 'DAY_SELECTION',
3403
- selectedDate: { from: dayjs(presetVal.from).format(valueFormat), to: dayjs(presetVal.to).format(valueFormat) },
3404
- displayedDate: dayjs(presetVal.from),
3405
- });
3406
- this.props.changeIsOpen(false);
3407
- }, presets: this.props.presets })));
3408
- };
3409
- this.renderDatePicker = () => {
3410
- var _a, _b;
3411
- return (React.createElement(FlexRow, { cx: [((_a = this.props.value) === null || _a === void 0 ? void 0 : _a.view) === 'DAY_SELECTION' && css$o.daySelection, css$o.container], alignItems: "top" },
3412
- React.createElement(FlexCell, { width: "auto" },
3413
- React.createElement(FlexRow, null,
3414
- React.createElement(FlexRow, { cx: css$o.bodesWrapper, alignItems: "top" },
3415
- React.createElement(DatePickerBody, { cx: cx$1(css$o.fromPicker), setSelectedDate: (nv) => this.setSelectedDate(nv), value: this.getFromValue(), setDisplayedDateAndView: (displayedDate, view) => this.setDisplayedDateAndView(displayedDate, view, 'from'), getDayCX: this.getDayCX, filter: this.props.filter, renderDay: this.props.renderDay, isHoliday: this.props.isHoliday }),
3416
- React.createElement(DatePickerBody, { cx: cx$1(css$o.toPicker), setSelectedDate: (nv) => this.setSelectedDate(nv), value: this.getToValue(), setDisplayedDateAndView: (displayedDate, view) => this.setDisplayedDateAndView(displayedDate, view, 'to'), getDayCX: this.getDayCX, filter: this.props.filter, renderDay: this.props.renderDay, isHoliday: this.props.isHoliday }),
3417
- ((_b = this.props.value) === null || _b === void 0 ? void 0 : _b.view) !== 'DAY_SELECTION' && (React.createElement("div", { style: {
3418
- left: this.state.activePart === 'from' && '50%',
3419
- right: this.state.activePart === 'to' && '50%',
3420
- }, className: css$o.blocker }))),
3421
- this.props.presets && this.renderPresets()),
3422
- this.props.renderFooter && this.props.renderFooter())));
3423
- };
3424
- }
3425
- getRange(selectedDate) {
3426
- const newRange = { from: null, to: null };
3427
- const currentRange = this.props.value.selectedDate;
3428
- if (!this.props.filter || this.props.filter(dayjs(selectedDate))) {
3429
- if (this.props.focusPart === 'from') {
3430
- if (dayjs(selectedDate).valueOf() <= dayjs(currentRange.to).valueOf()) {
3431
- newRange.from = selectedDate;
3432
- newRange.to = currentRange.to;
3433
- }
3434
- else {
3435
- newRange.from = selectedDate;
3436
- newRange.to = null;
3437
- }
3438
- }
3439
- if (this.props.focusPart === 'to') {
3440
- if (!currentRange.from) {
3441
- newRange.to = selectedDate;
3442
- }
3443
- else if (dayjs(selectedDate).valueOf() >= dayjs(currentRange.from).valueOf()) {
3444
- newRange.from = currentRange.from;
3445
- newRange.to = selectedDate;
3446
- }
3447
- else {
3448
- newRange.from = selectedDate;
3449
- newRange.to = null;
3450
- }
3451
- }
3452
- }
3453
- return newRange;
3454
- }
3455
- setSelectedDate(selectedDate) {
3456
- const range = this.getRange(selectedDate);
3457
- this.props.onValueChange(Object.assign(Object.assign({}, this.props.value), { selectedDate: range }));
3458
- if (range.from && range.to && this.props.focusPart === 'to') {
3459
- this.props.changeIsOpen(false);
3286
+ });
3460
3287
  }
3461
3288
  }
3462
- setDisplayedDateAndView(displayedDate, view, part) {
3463
- this.setState({ activePart: part });
3464
- this.props.onValueChange({
3465
- selectedDate: this.props.value.selectedDate,
3466
- displayedDate: part === 'from' ? displayedDate : displayedDate.subtract(1, 'month'),
3467
- view: view,
3468
- });
3469
- }
3470
- render() {
3471
- return (React.createElement("div", Object.assign({ className: cx$1(css$o.root, uuiDatePickerBodyBase.container, this.props.cx) }, this.props.rawProps), this.renderDatePicker()));
3472
- }
3473
- }
3474
-
3475
- var css$n = {"dropdown-container":"e6lJqh","date-input":"YX63WL","size-24":"Ok7zil","size-30":"yMd82T","size-36":"JdfbIS","size-42":"qm7zcz","size-48":"yKgMLW","date-input-group":"Cbq1lZ","separator":"wIBvHc","mode-form":"qWi-Xx","mode-cell":"_4U6p4Q","dropdownContainer":"e6lJqh","dateInput":"YX63WL","size24":"Ok7zil","size30":"yMd82T","size36":"JdfbIS","size42":"qm7zcz","size48":"yKgMLW","dateInputGroup":"Cbq1lZ","modeForm":"qWi-Xx","modeCell":"_4U6p4Q"};
3476
-
3477
- const defaultValue = { from: null, to: null };
3478
- class RangeDatePicker extends BaseRangeDatePicker {
3479
- constructor() {
3480
- super(...arguments);
3481
- this.renderInput = (props) => {
3289
+ return result;
3290
+ };
3291
+ function FiltersToolbarImpl(props) {
3292
+ const { filters, tableState, setTableState } = props;
3293
+ const [newFilterId, setNewFilterId] = useState(null);
3294
+ const dataSource = useArrayDataSource({
3295
+ items: filters,
3296
+ getId: (item) => item.field,
3297
+ }, []);
3298
+ const onFiltersChange = (updatedFilters) => {
3299
+ var _a;
3300
+ const newConfig = {};
3301
+ const newFilter = {};
3302
+ const sortedOrders = tableState.filtersConfig && sortBy(tableState.filtersConfig, (f) => f === null || f === void 0 ? void 0 : f.order);
3303
+ let lastItemOrder = (sortedOrders === null || sortedOrders === void 0 ? void 0 : sortedOrders.length) ? (_a = sortedOrders[sortedOrders.length - 1]) === null || _a === void 0 ? void 0 : _a.order : null;
3304
+ updatedFilters.forEach((filter) => {
3482
3305
  var _a, _b;
3483
- if (process.env.NODE_ENV !== "production") {
3484
- if (this.props.size === '48') {
3485
- devLogger.warnAboutDeprecatedPropValue({
3486
- component: 'RangeDatePicker',
3487
- propName: 'size',
3488
- propValue: this.props.size,
3489
- propValueUseInstead: '42',
3490
- condition: () => ['48'].indexOf(this.props.size) !== -1,
3491
- });
3492
- }
3306
+ let order = (_b = (_a = tableState === null || tableState === void 0 ? void 0 : tableState.filtersConfig) === null || _a === void 0 ? void 0 : _a[filter === null || filter === void 0 ? void 0 : filter.field]) === null || _b === void 0 ? void 0 : _b.order;
3307
+ if (!order) {
3308
+ order = getOrderBetween(lastItemOrder, null);
3309
+ lastItemOrder = order;
3493
3310
  }
3494
- return (React.createElement("div", { className: cx(this.props.inputCx, css$n.dateInputGroup, this.props.isDisabled && uuiMod.disabled, this.props.isReadonly && uuiMod.readonly, this.props.isInvalid && uuiMod.invalid, this.state.inFocus && uuiMod.focus), onClick: !this.props.isDisabled && props.onClick, onBlur: this.handleWrapperBlur, ref: props.ref },
3495
- React.createElement(TextInput, { icon: systemIcons[this.props.size || '36'].calendar, cx: cx(css$n.dateInput, css$n['size-' + (this.props.size || 36)], this.state.inFocus === 'from' && uuiMod.focus), size: this.props.size || '36', placeholder: this.props.getPlaceholder ? this.props.getPlaceholder('from') : i18n.rangeDatePicker.pickerPlaceholderFrom, value: this.state.inputValue.from, onValueChange: this.getChangeHandler('from'), isInvalid: this.props.isInvalid, isDisabled: this.props.isDisabled, isReadonly: this.props.isReadonly, onFocus: (event) => this.handleFocus(event, 'from'), onBlur: (event) => this.handleBlur(event, 'from'), isDropdown: false, rawProps: (_a = this.props.rawProps) === null || _a === void 0 ? void 0 : _a.from }),
3496
- React.createElement("div", { className: css$n.separator }),
3497
- React.createElement(TextInput, { cx: cx(css$n.dateInput, css$n['size-' + (this.props.size || 36)], this.state.inFocus === 'to' && uuiMod.focus), placeholder: this.props.getPlaceholder ? this.props.getPlaceholder('to') : i18n.rangeDatePicker.pickerPlaceholderTo, size: this.props.size || '36', value: this.state.inputValue.to, onCancel: this.props.disableClear ? null : this.state.inputValue.from && this.state.inputValue.to && this.handleCancel, onValueChange: this.getChangeHandler('to'), isInvalid: this.props.isInvalid, isDisabled: this.props.isDisabled, isReadonly: this.props.isReadonly, onFocus: (e) => this.handleFocus(e, 'to'), onBlur: (e) => this.handleBlur(e, 'to'), isDropdown: false, rawProps: (_b = this.props.rawProps) === null || _b === void 0 ? void 0 : _b.to })));
3498
- };
3499
- }
3500
- renderBody(props) {
3311
+ newConfig[filter.field] = { isVisible: true, order: order };
3312
+ // Remove unselected filters from filter object
3313
+ if (tableState.filter) {
3314
+ newFilter[filter.field] = tableState.filter[filter.field];
3315
+ }
3316
+ });
3317
+ setTableState(Object.assign(Object.assign({}, tableState), { filtersConfig: newConfig, filter: newFilter }));
3318
+ };
3319
+ const handleFilterChange = (newFilter) => {
3320
+ const filter = normalizeFilterWithPredicates(Object.assign(Object.assign({}, tableState.filter), newFilter));
3321
+ setTableState(Object.assign(Object.assign({}, tableState), { filter: filter }));
3322
+ };
3323
+ const removeFilter = (field) => {
3324
+ const filterConfig = Object.assign({}, tableState.filtersConfig);
3325
+ delete filterConfig[field];
3326
+ const filter = Object.assign({}, tableState.filter);
3327
+ delete filter[field];
3328
+ const newTableState = Object.assign(Object.assign({}, tableState), { filtersConfig: filterConfig, filter: filter });
3329
+ setTableState(Object.assign({}, newTableState));
3330
+ };
3331
+ const selectedFilters = useMemo(() => {
3332
+ const filtersConfig = tableState.filtersConfig || {};
3333
+ return filters.filter((filter) => {
3334
+ return filter.isAlwaysVisible || (filtersConfig[filter === null || filter === void 0 ? void 0 : filter.field] ? filtersConfig[filter === null || filter === void 0 ? void 0 : filter.field].isVisible : false);
3335
+ });
3336
+ }, [tableState.filtersConfig, filters]);
3337
+ const sortedActiveFilters = useMemo(() => {
3338
+ return sortBy(selectedFilters, (f) => { var _a, _b; return (_b = (_a = tableState.filtersConfig) === null || _a === void 0 ? void 0 : _a[f.field]) === null || _b === void 0 ? void 0 : _b.order; });
3339
+ }, [filters, tableState.filtersConfig]);
3340
+ const renderAddFilterToggler = useCallback((togglerProps) => {
3501
3341
  var _a;
3502
- return (React.createElement(DropdownContainer, Object.assign({}, props, { cx: cx(css$n.dropdownContainer), focusLock: false }),
3503
- React.createElement(FlexRow, null,
3504
- React.createElement(RangeDatePickerBody, { cx: cx(this.props.bodyCx), value: this.getValue(), onValueChange: this.onRangeChange, filter: this.props.filter, changeIsOpen: this.toggleOpening, presets: this.props.presets, focusPart: this.state.inFocus, renderDay: this.props.renderDay, renderFooter: this.props.renderFooter && (() => this.props.renderFooter(this.props.value || defaultValue)), isHoliday: this.props.isHoliday, rawProps: (_a = this.props.rawProps) === null || _a === void 0 ? void 0 : _a.body }))));
3505
- }
3342
+ return (React__default.createElement(Button, { size: (_a = props.size) !== null && _a !== void 0 ? _a : '36', onClick: togglerProps.onClick, ref: togglerProps.ref, caption: i18n.filterToolbar.addCaption, icon: ForwardRef$m, iconPosition: "left", mode: "ghost", color: "primary" }));
3343
+ }, []);
3344
+ const getRowOptions = useCallback((item) => ({
3345
+ isDisabled: item.isAlwaysVisible,
3346
+ checkbox: {
3347
+ isVisible: true,
3348
+ isDisabled: item.isAlwaysVisible,
3349
+ },
3350
+ }), []);
3351
+ const isAllFiltersAlwaysVisible = props.filters.every((i) => i.isAlwaysVisible);
3352
+ useEffect(() => {
3353
+ // Reset new filter id, after first render with autofocus
3354
+ setNewFilterId(null);
3355
+ }, [newFilterId]);
3356
+ return (React__default.createElement(React__default.Fragment, null,
3357
+ sortedActiveFilters.map((f) => {
3358
+ var _a;
3359
+ return (React__default.createElement(FlexCell$1, { width: "auto", key: f.field },
3360
+ React__default.createElement(FiltersPanelItem, Object.assign({}, f, { value: (_a = tableState.filter) === null || _a === void 0 ? void 0 : _a[f.field], onValueChange: handleFilterChange, key: f.field, autoFocus: newFilterId === f.field, removeFilter: removeFilter, size: props.size }))));
3361
+ }),
3362
+ !isAllFiltersAlwaysVisible && (React__default.createElement(PickerInput, { dataSource: dataSource, value: selectedFilters, onValueChange: onFiltersChange, selectionMode: "multi", valueType: "entity", key: newFilterId, renderRow: (props) => (React__default.createElement(DataPickerRow, Object.assign({}, props, { padding: "12", key: props.key, onCheck: (row) => {
3363
+ props.onCheck && props.onCheck(row);
3364
+ !row.isChecked && setNewFilterId(row.value.field);
3365
+ }, renderItem: (item, rowProps) => React__default.createElement(PickerItem, Object.assign({}, rowProps, { title: item.title })) }))), getName: (i) => i.title, renderToggler: renderAddFilterToggler, emptyValue: [], getRowOptions: getRowOptions, fixedBodyPosition: true, size: props.size }))));
3506
3366
  }
3367
+ const FiltersPanel = React__default.memo(FiltersToolbarImpl);
3507
3368
 
3508
- var css$m = {"root":"bZ0nVT","blocker":"qHkRPS","marker":"Qc-vcX","top":"m8OMc-","bottom":"_9Ly0iF","left":"VhmxkW","right":"_5U6Z3S","inside":"cm9htT"};
3509
-
3510
- function DropMarker(props) {
3511
- return props.isDndInProgress
3512
- ? (React.createElement(React.Fragment, null,
3513
- props.enableBlocker && React.createElement("div", { className: css$m.blocker }),
3514
- React.createElement("div", { className: cx([
3515
- css$m.root,
3516
- css$m.marker,
3517
- css$m[props.position],
3518
- props === null || props === void 0 ? void 0 : props.cx,
3519
- ]) })))
3520
- : null;
3521
- }
3369
+ var css$k = {"divider":"ViO5Ui","dropdownDeleteIcon":"VLo8Eq","presetsWrapper":"NnBDHP","addPresetContainer":"fEi85a","dropContainer":"m3Yye8"};
3522
3370
 
3523
- var css$l = {"root":"nyMs2x","size-24":"chkSyn","size-30":"YfZfvb","size-36":"f168Bn","size-48":"f9wik7","size-60":"_7DwaIp","size24":"chkSyn","size30":"YfZfvb","size36":"f168Bn","size48":"f9wik7","size60":"_7DwaIp"};
3371
+ var css$j = {"preset-dropdown-panel":"cd8A-U","delete-row":"C1ak5F","delete-button":"_30E8-h","targetOpen":"FxZ22v","presetDropdownPanel":"cd8A-U","deleteRow":"C1ak5F","deleteButton":"_30E8-h"};
3524
3372
 
3525
- // Here we define a single instance of the renderCell function to make DataTableRow#shouldComponentUpdate work.
3526
- // 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.
3527
- const renderCell = (props) => {
3528
- const mods = props.rowProps;
3529
- return React.createElement(DataTableCell, Object.assign({ size: mods.size }, props));
3373
+ var _path$k;
3374
+ function _extends$l() { _extends$l = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$l.apply(this, arguments); }
3375
+ var SvgNavigationMoreVert18 = function SvgNavigationMoreVert18(props, ref) {
3376
+ return /*#__PURE__*/React.createElement("svg", _extends$l({
3377
+ xmlns: "http://www.w3.org/2000/svg",
3378
+ width: 18,
3379
+ height: 18,
3380
+ viewBox: "0 0 18 18",
3381
+ ref: ref
3382
+ }, props), _path$k || (_path$k = /*#__PURE__*/React.createElement("path", {
3383
+ fillRule: "evenodd",
3384
+ d: "M9 6c.825 0 1.5-.675 1.5-1.5S9.825 3 9 3s-1.5.675-1.5 1.5S8.175 6 9 6zm0 1.5c-.825 0-1.5.675-1.5 1.5s.675 1.5 1.5 1.5 1.5-.675 1.5-1.5S9.825 7.5 9 7.5zM9 12c-.825 0-1.5.675-1.5 1.5S8.175 15 9 15s1.5-.675 1.5-1.5S9.825 12 9 12z",
3385
+ clipRule: "evenodd"
3386
+ })));
3530
3387
  };
3531
- const renderDropMarkers = (props) => React.createElement(DropMarker, Object.assign({}, props, { enableBlocker: true }));
3532
- const propsMods = { renderCell, renderDropMarkers };
3533
- const DataTableRow = withMods(DataTableRow$1, ({ borderBottom = true, size }) => {
3534
- return [
3535
- css$l.root, 'uui-dt-vars', borderBottom && 'uui-dt-row-border', css$l['size-' + (size || '36')],
3536
- ];
3537
- }, () => propsMods);
3388
+ var ForwardRef$l = /*#__PURE__*/forwardRef(SvgNavigationMoreVert18);
3538
3389
 
3539
- var css$k = {"panel":"r1fr9O"};
3390
+ var _path$j;
3391
+ function _extends$k() { _extends$k = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$k.apply(this, arguments); }
3392
+ var SvgActionUpdate18 = function SvgActionUpdate18(props, ref) {
3393
+ return /*#__PURE__*/React.createElement("svg", _extends$k({
3394
+ xmlns: "http://www.w3.org/2000/svg",
3395
+ width: 18,
3396
+ height: 18,
3397
+ viewBox: "0 0 18 18",
3398
+ ref: ref
3399
+ }, props), _path$j || (_path$j = /*#__PURE__*/React.createElement("path", {
3400
+ fillRule: "evenodd",
3401
+ d: "M8.007 2A7.004 7.004 0 0 0 1 9a7.004 7.004 0 0 0 11.732 5.16l-1.497-1.347A4.999 4.999 0 0 1 3 9c0-2.763 2.237-5 5-5 2.762 0 5 2.237 5 5h2c0-3.864-3.129-7-6.993-7zM11 9l3 3 3-3h-6z",
3402
+ clipRule: "evenodd"
3403
+ })));
3404
+ };
3405
+ var ForwardRef$k = /*#__PURE__*/forwardRef(SvgActionUpdate18);
3540
3406
 
3541
- var css$j = {"sorting-panel-container":"g1Vwar","sort-active":"_1qQ-VD","sortingPanelContainer":"g1Vwar","sortActive":"_1qQ-VD"};
3407
+ var _path$i;
3408
+ function _extends$j() { _extends$j = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$j.apply(this, arguments); }
3409
+ var SvgSaveOutline18 = function SvgSaveOutline18(props, ref) {
3410
+ return /*#__PURE__*/React.createElement("svg", _extends$j({
3411
+ xmlns: "http://www.w3.org/2000/svg",
3412
+ width: 18,
3413
+ height: 18,
3414
+ viewBox: "0 0 18 18",
3415
+ ref: ref
3416
+ }, props), _path$i || (_path$i = /*#__PURE__*/React.createElement("path", {
3417
+ d: "M12.75 2.25h-9a1.5 1.5 0 0 0-1.5 1.5v10.5a1.5 1.5 0 0 0 1.5 1.5h10.5c.825 0 1.5-.675 1.5-1.5v-9l-3-3zm1.5 12H3.75V3.75h8.377l2.123 2.122v8.378zM9 9a2.247 2.247 0 0 0-2.25 2.25A2.247 2.247 0 0 0 9 13.5a2.247 2.247 0 0 0 2.25-2.25A2.247 2.247 0 0 0 9 9zM4.5 4.5h6.75v3H4.5v-3z"
3418
+ })));
3419
+ };
3420
+ var ForwardRef$j = /*#__PURE__*/forwardRef(SvgSaveOutline18);
3542
3421
 
3543
3422
  var _path$h;
3544
3423
  function _extends$i() { _extends$i = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$i.apply(this, arguments); }
3545
- var SvgTableSortAsc18 = function SvgTableSortAsc18(props, ref) {
3424
+ var SvgContentEditUndo18 = function SvgContentEditUndo18(props, ref) {
3546
3425
  return /*#__PURE__*/React.createElement("svg", _extends$i({
3547
3426
  xmlns: "http://www.w3.org/2000/svg",
3548
3427
  width: 18,
@@ -3551,15 +3430,15 @@ var SvgTableSortAsc18 = function SvgTableSortAsc18(props, ref) {
3551
3430
  ref: ref
3552
3431
  }, props), _path$h || (_path$h = /*#__PURE__*/React.createElement("path", {
3553
3432
  fillRule: "evenodd",
3554
- d: "M10 6v10H8V6H5l4-4 4 4h-3z",
3433
+ d: "M9.375 6A7.848 7.848 0 0 0 4.2 7.95l-2.7-2.7V12h6.75L5.535 9.285a5.965 5.965 0 0 1 3.84-1.41 6.009 6.009 0 0 1 5.7 4.125l1.777-.585C15.81 8.273 12.862 6 9.375 6z",
3555
3434
  clipRule: "evenodd"
3556
3435
  })));
3557
3436
  };
3558
- var ForwardRef$i = /*#__PURE__*/forwardRef(SvgTableSortAsc18);
3437
+ var ForwardRef$i = /*#__PURE__*/forwardRef(SvgContentEditUndo18);
3559
3438
 
3560
3439
  var _path$g;
3561
3440
  function _extends$h() { _extends$h = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$h.apply(this, arguments); }
3562
- var SvgTableSortDesc18 = function SvgTableSortDesc18(props, ref) {
3441
+ var SvgActionCopyContent18 = function SvgActionCopyContent18(props, ref) {
3563
3442
  return /*#__PURE__*/React.createElement("svg", _extends$h({
3564
3443
  xmlns: "http://www.w3.org/2000/svg",
3565
3444
  width: 18,
@@ -3568,44 +3447,15 @@ var SvgTableSortDesc18 = function SvgTableSortDesc18(props, ref) {
3568
3447
  ref: ref
3569
3448
  }, props), _path$g || (_path$g = /*#__PURE__*/React.createElement("path", {
3570
3449
  fillRule: "evenodd",
3571
- d: "M10 12V2H8v10H5l4 4 4-4h-3z",
3450
+ d: "M3 1h8v2H3v8H1V3a2 2 0 0 1 2-2zm2 6a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V7zm10 8H7V7h8v8z",
3572
3451
  clipRule: "evenodd"
3573
3452
  })));
3574
3453
  };
3575
- var ForwardRef$h = /*#__PURE__*/forwardRef(SvgTableSortDesc18);
3576
-
3577
- const SortingPanelImpl = ({ sortDirection, onSort }) => {
3578
- const sortAsc = useCallback(() => onSort(sortDirection === 'asc' ? undefined : 'asc'), [onSort]);
3579
- const sortDesc = useCallback(() => onSort(sortDirection === 'desc' ? undefined : 'desc'), [onSort]);
3580
- return (React__default.createElement(FlexCell, { cx: css$j.sortingPanelContainer },
3581
- React__default.createElement(DropdownMenuButton, { isActive: sortDirection === 'asc', caption: i18n.pickerFilterHeader.sortAscending, icon: ForwardRef$i, onClick: sortAsc }),
3582
- React__default.createElement(DropdownMenuButton, { isActive: sortDirection === 'desc', caption: i18n.pickerFilterHeader.sortDescending, icon: ForwardRef$h, onClick: sortDesc })));
3583
- };
3584
- const SortingPanel = React__default.memo(SortingPanelImpl);
3585
-
3586
- const ColumnHeaderDropdownImpl = (props) => {
3587
- const popperModifiers = useMemo(() => [
3588
- {
3589
- name: 'offset',
3590
- options: { offset: [0, 1] },
3591
- }, mobilePopperModifier,
3592
- ], []);
3593
- const style = useMemo(() => ({
3594
- width: isMobile() ? document.documentElement.clientWidth : undefined,
3595
- }), []);
3596
- const closeDropdown = useCallback(() => props.onOpenChange(false), [props.onOpenChange]);
3597
- return (React__default.createElement(Dropdown$1, { renderTarget: props.renderTarget, renderBody: (dropdownProps) => (React__default.createElement(Panel, { background: "surface", style: style, shadow: true, cx: css$k.panel },
3598
- React__default.createElement(MobileDropdownWrapper, { title: props.title, onClose: closeDropdown },
3599
- props.isSortable && React__default.createElement(SortingPanel, { sortDirection: props.sortDirection, onSort: props.onSort }),
3600
- props.renderFilter(dropdownProps)))), modifiers: popperModifiers, value: props.isOpen, onValueChange: props.onOpenChange }));
3601
- };
3602
- const ColumnHeaderDropdown = React__default.memo(ColumnHeaderDropdownImpl);
3603
-
3604
- var css$i = {"cell":"sJGH-C","sort-icon":"IujieB","dropdown-icon":"Gdb2Ci","infoIcon":"_3dxJZF","resizable":"Yyktb3","size-24":"fbKv6z","size-30":"zSSLS6","size-36":"qxVrMF","size-42":"fg39WD","size-48":"nwGPW0","padding-left-24":"_1ysUy-","padding-right-24":"X8x-O3","caption":"OXgK3-","checkbox":"_2yRY17","icon":"MKD8Qj","icon-cell":"_8vQMUZ","align-right":"Q4Yf-h","align-center":"BaKrBD","tooltip-wrapper":"YjcaTy","cell-tooltip":"_6kLiLR","upper-case":"Wr7wSp","font-size-14":"_2-qUIj","resize-mark":"EZjb6D","draggable":"laEVXa","ghost":"fzPGE-","is-dragged-out":"SE5Cr4","dnd-marker-left":"pmeURy","dnd-marker-right":"WqHnF1","cell-tooltip-wrapper":"Nv9lns","cell-tooltip-text":"m-JwZw","sortIcon":"IujieB","dropdownIcon":"Gdb2Ci","size24":"fbKv6z","size30":"zSSLS6","size36":"qxVrMF","size42":"fg39WD","size48":"nwGPW0","paddingLeft24":"_1ysUy-","paddingRight24":"X8x-O3","iconCell":"_8vQMUZ","alignRight":"Q4Yf-h","alignCenter":"BaKrBD","tooltipWrapper":"YjcaTy","cellTooltip":"_6kLiLR","upperCase":"Wr7wSp","fontSize14":"_2-qUIj","resizeMark":"EZjb6D","isDraggedOut":"SE5Cr4","dndMarkerLeft":"pmeURy","dndMarkerRight":"WqHnF1","cellTooltipWrapper":"Nv9lns","cellTooltipText":"m-JwZw"};
3454
+ var ForwardRef$h = /*#__PURE__*/forwardRef(SvgActionCopyContent18);
3605
3455
 
3606
3456
  var _path$f;
3607
3457
  function _extends$g() { _extends$g = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$g.apply(this, arguments); }
3608
- var SvgTableSwap18 = function SvgTableSwap18(props, ref) {
3458
+ var SvgContentEdit18 = function SvgContentEdit18(props, ref) {
3609
3459
  return /*#__PURE__*/React.createElement("svg", _extends$g({
3610
3460
  xmlns: "http://www.w3.org/2000/svg",
3611
3461
  width: 18,
@@ -3614,15 +3464,15 @@ var SvgTableSwap18 = function SvgTableSwap18(props, ref) {
3614
3464
  ref: ref
3615
3465
  }, props), _path$f || (_path$f = /*#__PURE__*/React.createElement("path", {
3616
3466
  fillRule: "evenodd",
3617
- d: "M6 1 2 5h3v7h2V5h3L6 1zm7 12V6h-2v7H8l4 4 4-4h-3z",
3467
+ d: "M2.25 12.94v2.812h2.813l8.294-8.295-2.812-2.813L2.25 12.94zm13.283-7.658a.747.747 0 0 0 0-1.058L13.777 2.47a.747.747 0 0 0-1.058 0l-1.373 1.373 2.813 2.812 1.373-1.372z",
3618
3468
  clipRule: "evenodd"
3619
3469
  })));
3620
3470
  };
3621
- var ForwardRef$g = /*#__PURE__*/forwardRef(SvgTableSwap18);
3471
+ var ForwardRef$g = /*#__PURE__*/forwardRef(SvgContentEdit18);
3622
3472
 
3623
3473
  var _path$e;
3624
3474
  function _extends$f() { _extends$f = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$f.apply(this, arguments); }
3625
- var SvgContentFiltration18 = function SvgContentFiltration18(props, ref) {
3475
+ var SvgContentLink18 = function SvgContentLink18(props, ref) {
3626
3476
  return /*#__PURE__*/React.createElement("svg", _extends$f({
3627
3477
  xmlns: "http://www.w3.org/2000/svg",
3628
3478
  width: 18,
@@ -3631,15 +3481,15 @@ var SvgContentFiltration18 = function SvgContentFiltration18(props, ref) {
3631
3481
  ref: ref
3632
3482
  }, props), _path$e || (_path$e = /*#__PURE__*/React.createElement("path", {
3633
3483
  fillRule: "evenodd",
3634
- d: "m8 14 2 2v-5H8v3zM2 3v2h14V3H2zm6 8h2l6-6H2l6 6z",
3484
+ d: "M7.943 10.057a.73.73 0 0 1 0 1.066.756.756 0 0 1-1.065 0 3.753 3.753 0 0 1 0-5.303l2.655-2.655a3.753 3.753 0 0 1 5.302 0 3.753 3.753 0 0 1 0 5.302l-1.118 1.118a5.18 5.18 0 0 0-.3-1.815l.353-.36a2.236 2.236 0 0 0 0-3.18 2.236 2.236 0 0 0-3.18 0L7.943 6.877a2.236 2.236 0 0 0 0 3.18zm2.114-3.18a.756.756 0 0 1 1.066 0 3.753 3.753 0 0 1 0 5.303l-2.655 2.655a3.753 3.753 0 0 1-5.303 0 3.753 3.753 0 0 1 0-5.303l1.118-1.117a5.25 5.25 0 0 0 .3 1.823l-.353.352a2.236 2.236 0 0 0 0 3.18 2.236 2.236 0 0 0 3.18 0l2.647-2.647a2.236 2.236 0 0 0 0-3.18.73.73 0 0 1 0-1.066z",
3635
3485
  clipRule: "evenodd"
3636
3486
  })));
3637
3487
  };
3638
- var ForwardRef$f = /*#__PURE__*/forwardRef(SvgContentFiltration18);
3488
+ var ForwardRef$f = /*#__PURE__*/forwardRef(SvgContentLink18);
3639
3489
 
3640
3490
  var _path$d;
3641
3491
  function _extends$e() { _extends$e = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$e.apply(this, arguments); }
3642
- var SvgNavigationChevronUp18 = function SvgNavigationChevronUp18(props, ref) {
3492
+ var SvgActionDeleteforever18 = function SvgActionDeleteforever18(props, ref) {
3643
3493
  return /*#__PURE__*/React.createElement("svg", _extends$e({
3644
3494
  xmlns: "http://www.w3.org/2000/svg",
3645
3495
  width: 18,
@@ -3648,58 +3498,119 @@ var SvgNavigationChevronUp18 = function SvgNavigationChevronUp18(props, ref) {
3648
3498
  ref: ref
3649
3499
  }, props), _path$d || (_path$d = /*#__PURE__*/React.createElement("path", {
3650
3500
  fillRule: "evenodd",
3651
- d: "m9 6-4.5 4.5 1.058 1.057L9 8.123l3.443 3.434L13.5 10.5 9 6z",
3501
+ d: "M7 2h4l1 1h3v2H3V3h3l1-1zM4 6h10v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6zm6.76 8.1L9 12.36 7.24 14.1l-1.16-1.16 1.74-1.76-1.78-1.8 1.2-1.18L9 10l1.76-1.8 1.18 1.18-1.76 1.8 1.76 1.76-1.18 1.16z",
3652
3502
  clipRule: "evenodd"
3653
3503
  })));
3654
3504
  };
3655
- var ForwardRef$e = /*#__PURE__*/forwardRef(SvgNavigationChevronUp18);
3505
+ var ForwardRef$e = /*#__PURE__*/forwardRef(SvgActionDeleteforever18);
3506
+
3507
+ function PresetActionsDropdown(props) {
3508
+ const { uuiNotifications } = useUuiContext();
3509
+ const copyUrlToClipboard = useCallback(() => __awaiter(this, void 0, void 0, function* () {
3510
+ yield navigator.clipboard.writeText(props.getPresetLink(props.preset));
3511
+ successNotificationHandler('Link copied!');
3512
+ }), []);
3513
+ const saveInCurrent = useCallback((preset) => __awaiter(this, void 0, void 0, function* () {
3514
+ const newPreset = Object.assign(Object.assign({}, preset), { filter: props.tableState.filter, sorting: props.tableState.sorting, columnsConfig: props.tableState.columnsConfig, filtersConfig: props.tableState.filtersConfig, viewState: props.tableState.viewState });
3515
+ yield props.updatePreset(newPreset);
3516
+ successNotificationHandler('Changes saved!');
3517
+ }), [
3518
+ props.tableState.filter, props.tableState.columnsConfig, props.tableState.filtersConfig,
3519
+ ]);
3520
+ const successNotificationHandler = useCallback((text) => {
3521
+ uuiNotifications
3522
+ .show((props) => (React__default.createElement(SuccessNotification, Object.assign({}, props),
3523
+ React__default.createElement(Text, { size: "36", font: "regular", fontSize: "14" }, text))), { duration: 3 })
3524
+ .catch(() => null);
3525
+ }, []);
3526
+ const saveInCurrentHandler = useCallback(() => {
3527
+ saveInCurrent(props.preset);
3528
+ }, [props.preset]);
3529
+ const discardAllChangesHandler = useCallback(() => {
3530
+ props.choosePreset(props.preset);
3531
+ }, [props.preset]);
3532
+ const duplicateHandler = useCallback(() => {
3533
+ props.duplicatePreset(props.preset);
3534
+ }, [props.preset]);
3535
+ const deleteHandler = useCallback(() => __awaiter(this, void 0, void 0, function* () {
3536
+ yield props.deletePreset(props.preset);
3537
+ }), [
3538
+ props.activePresetId, props.deletePreset, props.preset,
3539
+ ]);
3540
+ const renderBody = () => {
3541
+ const isReadonlyPreset = props.preset.isReadonly;
3542
+ return (React__default.createElement(Panel, { shadow: true, cx: css$j.presetDropdownPanel },
3543
+ props.activePresetId === props.preset.id && props.hasPresetChanged(props.preset) && (React__default.createElement(React__default.Fragment, null,
3544
+ !isReadonlyPreset && (React__default.createElement(FlexRow, { key: `${props.preset.id}-save-in-current` },
3545
+ React__default.createElement(DropdownMenuButton, { icon: ForwardRef$k, caption: "Save in current", onClick: saveInCurrentHandler }))),
3546
+ React__default.createElement(FlexRow, { key: `${props.preset.id}-save-as-new` },
3547
+ React__default.createElement(DropdownMenuButton, { icon: ForwardRef$j, caption: "Save as new", onClick: props.addPreset })),
3548
+ React__default.createElement(FlexRow, { key: `${props.preset.id}-discard`, borderBottom: true },
3549
+ React__default.createElement(DropdownMenuButton, { icon: ForwardRef$i, caption: "Discard all changes", onClick: discardAllChangesHandler })))),
3550
+ props.preset.id === props.activePresetId && !isReadonlyPreset && (React__default.createElement(FlexRow, { key: `${props.preset.id}-rename` },
3551
+ React__default.createElement(DropdownMenuButton, { icon: ForwardRef$g, caption: "Rename", onClick: props.renamePreset }))),
3552
+ React__default.createElement(FlexRow, { key: `${props.preset.id}-duplicate` },
3553
+ React__default.createElement(DropdownMenuButton, { icon: ForwardRef$h, caption: "Duplicate", onClick: duplicateHandler })),
3554
+ React__default.createElement(FlexRow, { borderBottom: true, key: `${props.preset.id}-copyLink` },
3555
+ React__default.createElement(DropdownMenuButton, { icon: ForwardRef$f, caption: "Copy Link", onClick: copyUrlToClipboard })),
3556
+ !isReadonlyPreset && (React__default.createElement(FlexRow, { key: `${props.preset.id}-delete`, cx: css$j.deleteRow },
3557
+ React__default.createElement(DropdownMenuButton, { icon: ForwardRef$e, caption: "Delete", cx: css$j.deleteButton, onClick: deleteHandler })))));
3558
+ };
3559
+ const renderTarget = useCallback((dropdownProps) => {
3560
+ return (React__default.createElement(IconButton, Object.assign({ cx: dropdownProps.isOpen && css$j.targetOpen, color: props.preset.id === props.activePresetId ? 'info' : 'default' }, dropdownProps, { icon: ForwardRef$l })));
3561
+ }, []);
3562
+ return (React__default.createElement(Dropdown, { renderBody: renderBody, renderTarget: renderTarget, placement: "bottom-end", modifiers: [{ name: 'offset', options: { offset: [0, 22] } }] }));
3563
+ }
3656
3564
 
3657
- class DataTableHeaderCell extends React.Component {
3658
- constructor() {
3659
- super(...arguments);
3660
- this.state = {
3661
- isDropdownOpen: null,
3662
- };
3663
- this.getTextStyle = () => {
3664
- if (this.props.textCase === 'upper')
3665
- return css$i.upperCase;
3666
- return css$i['font-size-14'];
3667
- };
3668
- this.getTooltipContent = () => (React.createElement("div", { className: css$i.cellTooltipWrapper },
3669
- React.createElement(Text, { fontSize: "14", color: "contrast", font: "semibold", cx: css$i.cellTooltipText }, this.props.column.caption),
3670
- this.props.column.info && React.createElement(Text, { fontSize: "12", color: "contrast", cx: css$i.cellTooltipText }, this.props.column.info)));
3671
- this.getColumnCaption = () => {
3672
- return (React.createElement("div", { className: css$i.tooltipWrapper },
3673
- React.createElement("div", { className: cx$1(css$i.iconCell, css$i['align-' + this.props.column.textAlign], uuiDataTableHeaderCell.uuiTableHeaderCaptionWrapper) },
3674
- React.createElement(Tooltip, { placement: "top", color: "contrast", renderContent: this.getTooltipContent, cx: css$i.cellTooltip, openDelay: 600 },
3675
- React.createElement(Text, { key: "text", lineHeight: "30", fontSize: "14", size: "30", cx: cx$1(css$i.caption, this.getTextStyle(), uuiDataTableHeaderCell.uuiTableHeaderCaption) }, this.props.column.caption)),
3676
- this.props.column.isSortable && (!this.props.column.renderFilter || this.props.sortDirection) && (React.createElement(IconButton, { key: "sort", cx: cx$1(css$i.icon, css$i.sortIcon, this.props.sortDirection && css$i.sortIconActive, uuiDataTableHeaderCell.uuiTableHeaderSortIcon), color: this.props.sortDirection ? 'neutral' : 'secondary', icon: this.props.sortDirection === 'desc' ? ForwardRef$h : this.props.sortDirection === 'asc' ? ForwardRef$i : ForwardRef$g })),
3677
- this.props.isFilterActive && (React.createElement(IconButton, { key: "filter", cx: cx$1(css$i.icon, !this.props.sortDirection && css$i.filterIcon, uuiDataTableHeaderCell.uuiTableHeaderFilterIcon), color: "neutral", icon: ForwardRef$f })),
3678
- this.props.column.renderFilter && (React.createElement(IconButton, { key: "dropdown", cx: cx$1(css$i.icon, css$i.dropdownIcon, uuiDataTableHeaderCell.uuiTableHeaderDropdownIcon), color: "secondary", icon: this.state.isDropdownOpen ? ForwardRef$e : ForwardRef$B })))));
3679
- };
3680
- this.renderHeaderCheckbox = () => this.props.selectAll
3681
- && this.props.isFirstColumn && (React.createElement(Checkbox, Object.assign({ size: +this.props.size < 36 ? '12' : '18' }, this.props.selectAll, { cx: cx$1(css$i.checkbox, uuiDataTableHeaderCell.uuiTableHeaderCheckbox) })));
3682
- this.renderResizeMark = (props) => React.createElement("div", { onMouseDown: props.onResizeStart, className: cx$1(css$i.resizeMark, uuiMarkers.draggable) });
3683
- this.renderCellContent = (props, dropdownProps) => (React.createElement(FlexCell, Object.assign({}, this.props.column, { minWidth: this.props.column.width, ref: (ref) => {
3684
- var _a;
3685
- props.ref(ref);
3686
- (_a = dropdownProps === null || dropdownProps === void 0 ? void 0 : dropdownProps.ref) === null || _a === void 0 ? void 0 : _a.call(dropdownProps, ref);
3687
- }, cx: cx$1(uuiDataTableHeaderCell.uuiTableHeaderCell, (this.props.column.isSortable || this.props.isDropdown) && uuiMarkers.clickable, css$i.cell, css$i['size-' + (this.props.size || '36')], this.props.isFirstColumn && css$i['padding-left-24'], this.props.isLastColumn && css$i['padding-right-24'], this.props.column.cx, this.props.allowColumnsResizing && css$i.resizable, props.isDraggable && css$i.draggable, props.isDragGhost && css$i.ghost, props.isDraggedOut && css$i.isDraggedOut, props.isDndInProgress && css$i['dnd-marker-' + props.position]), onClick: !this.props.column.renderFilter ? props.toggleSort : dropdownProps === null || dropdownProps === void 0 ? void 0 : dropdownProps.onClick, rawProps: Object.assign({ role: 'columnheader', 'aria-sort': this.props.sortDirection === 'asc' ? 'ascending' : this.props.sortDirection ? 'descending' : 'none' }, props.eventHandlers) }),
3688
- this.renderHeaderCheckbox(),
3689
- this.getColumnCaption(),
3690
- this.props.allowColumnsResizing && this.renderResizeMark(props)));
3691
- 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 }));
3692
- }
3693
- render() {
3694
- return React.createElement(DataTableHeaderCell$1, Object.assign({}, this.props, { cx: "uui-dt-vars", renderCellContent: this.props.column.renderFilter ? this.renderCellWithFilter : this.renderCellContent }));
3695
- }
3565
+ var css$i = {"preset-input-cell":"YU5Qnp","preset-input":"myofec","presetInputCell":"YU5Qnp","presetInput":"myofec"};
3566
+
3567
+ function PresetInput(props) {
3568
+ var _a;
3569
+ const [presetCaption, setPresetCaption] = useState(((_a = props.preset) === null || _a === void 0 ? void 0 : _a.name) || '');
3570
+ const cancelActionHandler = useCallback(() => {
3571
+ setPresetCaption('');
3572
+ props.onCancel();
3573
+ }, [props.onCancel]);
3574
+ const acceptActionHandler = useCallback(() => __awaiter(this, void 0, void 0, function* () {
3575
+ if (presetCaption) {
3576
+ yield props.onSuccess(presetCaption);
3577
+ }
3578
+ props.onCancel();
3579
+ }), [presetCaption]);
3580
+ const newPresetOnBlurHandler = useCallback(() => {
3581
+ if (presetCaption.length) {
3582
+ return;
3583
+ }
3584
+ props.onCancel();
3585
+ }, [presetCaption.length, props.onCancel]);
3586
+ return (React__default.createElement(FlexCell, { cx: css$i.presetInputCell, minWidth: 180 },
3587
+ React__default.createElement(TextInput, { cx: css$i.presetInput, onValueChange: setPresetCaption, value: presetCaption, onCancel: cancelActionHandler, onAccept: acceptActionHandler, onBlur: newPresetOnBlurHandler, autoFocus: true, maxLength: 50 })));
3696
3588
  }
3697
3589
 
3698
- var css$h = {"header-cell":"M2DtlP","config-icon":"Wc-ikU","headerCell":"M2DtlP","configIcon":"Wc-ikU"};
3590
+ var css$h = {"preset":"O3CRt6","activePreset":"PJKTaV"};
3591
+
3592
+ function Preset(props) {
3593
+ const [isRenamePreset, setIsRenamePreset] = useState(false);
3594
+ const choosePresetHandler = useCallback(() => props.choosePreset(props.preset), [props]);
3595
+ const cancelRenamePreset = useCallback(() => {
3596
+ setIsRenamePreset(() => false);
3597
+ }, []);
3598
+ const setPresetForRename = useCallback(() => {
3599
+ if (!isRenamePreset) {
3600
+ setIsRenamePreset(() => true);
3601
+ }
3602
+ }, []);
3603
+ const handlePresetRename = useCallback((name) => {
3604
+ const newPreset = Object.assign(Object.assign({}, props.preset), { name: name });
3605
+ return props.updatePreset(newPreset);
3606
+ }, [props.preset]);
3607
+ const isPresetActive = props.activePresetId === props.preset.id;
3608
+ 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$h.preset, isPresetActive && css$h.activePreset], size: "60", withNotify: isPresetActive && props.hasPresetChanged(props.preset), icon: () => React__default.createElement(PresetActionsDropdown, Object.assign({ renamePreset: setPresetForRename }, props)), iconPosition: "right", isLinkActive: isPresetActive }))));
3609
+ }
3699
3610
 
3700
3611
  var _path$c;
3701
3612
  function _extends$d() { _extends$d = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$d.apply(this, arguments); }
3702
- var SvgActionSettings18 = function SvgActionSettings18(props, ref) {
3613
+ var SvgContentPlusBold18 = function SvgContentPlusBold18(props, ref) {
3703
3614
  return /*#__PURE__*/React.createElement("svg", _extends$d({
3704
3615
  xmlns: "http://www.w3.org/2000/svg",
3705
3616
  width: 18,
@@ -3707,19 +3618,90 @@ var SvgActionSettings18 = function SvgActionSettings18(props, ref) {
3707
3618
  viewBox: "0 0 18 18",
3708
3619
  ref: ref
3709
3620
  }, props), _path$c || (_path$c = /*#__PURE__*/React.createElement("path", {
3710
- fillRule: "evenodd",
3711
- d: "M3 9.093a6.083 6.083 0 0 1 0-.186L1.55 7.271a1 1 0 0 1-.118-1.163l1.28-2.216a1 1 0 0 1 1.066-.48l2.14.439a3.81 3.81 0 0 1 .163-.094l.691-2.073A1 1 0 0 1 7.721 1h2.558a1 1 0 0 1 .949.684l.69 2.073c.056.03.11.061.163.094l2.141-.439a1 1 0 0 1 1.067.48l1.279 2.216a1 1 0 0 1-.118 1.163L15 8.907a5.72 5.72 0 0 1 0 .186l1.45 1.636a1 1 0 0 1 .118 1.163l-1.28 2.216a1 1 0 0 1-1.066.48l-2.14-.438a6.215 6.215 0 0 1-.163.093l-.691 2.073a1 1 0 0 1-.949.684H7.721a1 1 0 0 1-.949-.684l-.69-2.073a6.105 6.105 0 0 1-.163-.094l-2.141.439a1 1 0 0 1-1.067-.48l-1.279-2.216a1 1 0 0 1 .118-1.163L3 9.093zM9 12a3 3 0 1 0 0-6 3 3 0 0 0 0 6z",
3712
- clipRule: "evenodd"
3621
+ d: "M10.5 3h-3v4.5H3v3h4.5V15h3v-4.5H15v-3h-4.5V3z"
3713
3622
  })));
3714
3623
  };
3715
- var ForwardRef$d = /*#__PURE__*/forwardRef(SvgActionSettings18);
3624
+ var ForwardRef$d = /*#__PURE__*/forwardRef(SvgContentPlusBold18);
3716
3625
 
3717
- const DataTableHeaderRow = withMods(DataTableHeaderRow$1, () => [css$h.root, 'uui-dt-vars'], (mods) => ({
3718
- renderCell: (props) => React.createElement(DataTableHeaderCell, Object.assign({}, props, { size: mods.size, textCase: mods.textCase || 'normal', key: props.column.key })),
3719
- renderConfigButton: () => React.createElement(IconButton, { key: "configuration", onClick: mods.onConfigButtonClick, cx: css$h.configIcon, color: "neutral", icon: ForwardRef$d }),
3720
- }));
3626
+ function PresetsPanel(props) {
3627
+ const [isAddingPreset, setIsAddingPreset] = useState(false);
3628
+ const setAddingPreset = useCallback(() => {
3629
+ setIsAddingPreset(true);
3630
+ }, []);
3631
+ const cancelAddingPreset = useCallback(() => {
3632
+ setIsAddingPreset(false);
3633
+ }, []);
3634
+ const presetApi = __rest(props, ["presets"]);
3635
+ const renderPreset = (preset) => {
3636
+ return React__default.createElement(Preset, Object.assign({ key: preset.id, preset: preset, addPreset: setAddingPreset }, presetApi));
3637
+ };
3638
+ const renderAddPresetButton = useCallback(() => {
3639
+ return (React__default.createElement("div", { key: "addingPresetBlock", className: css$k.addPresetContainer }, !isAddingPreset ? (React__default.createElement(Button, { size: "36", onClick: setAddingPreset, caption: i18n.presetPanel.addCaption, icon: ForwardRef$d, iconPosition: "left", mode: "ghost", color: "primary" })) : (React__default.createElement(PresetInput, { onCancel: cancelAddingPreset, onSuccess: props.createNewPreset }))));
3640
+ }, [isAddingPreset]);
3641
+ const onPresetDropdownSelect = (preset) => {
3642
+ props.choosePreset(preset.preset);
3643
+ };
3644
+ const renderMoreButtonDropdown = (item, hiddenItems) => {
3645
+ return (React__default.createElement(Dropdown, { key: "more", renderTarget: (props) => (React__default.createElement(FlexRow, null,
3646
+ React__default.createElement("div", { className: css$k.divider }),
3647
+ React__default.createElement(Button, Object.assign({ mode: "ghost", color: "secondary", caption: `${(hiddenItems === null || hiddenItems === void 0 ? void 0 : hiddenItems.length) || ''} more` }, props)))), renderBody: (propsBody) => (React__default.createElement(DropdownContainer, Object.assign({ cx: cx$1(css$k.dropContainer), width: 230 }, propsBody),
3648
+ React__default.createElement(ScrollBars$1, null, hiddenItems.map((hiddenItem) => (React__default.createElement(DropdownMenuButton, { key: hiddenItem.preset.id, onClick: () => onPresetDropdownSelect(hiddenItem), caption: hiddenItem.preset.name, icon: !hiddenItem.preset.isReadonly && ForwardRef$e, iconPosition: "right", cx: css$k.dropdownDeleteIcon, onIconClick: !hiddenItem.preset.isReadonly && (() => props.deletePreset(hiddenItem.preset)) })))))) }));
3649
+ };
3650
+ const getPresetPriority = (preset, index) => {
3651
+ return preset.id === props.activePresetId ? 100499 : 1000 - index;
3652
+ };
3653
+ const getPanelItems = () => {
3654
+ return [
3655
+ ...sortBy(props.presets, (i) => i.order).map((preset, index) => ({
3656
+ id: preset.id.toString(),
3657
+ render: () => renderPreset(preset),
3658
+ priority: getPresetPriority(preset, index),
3659
+ preset: preset,
3660
+ })), {
3661
+ id: 'collapsedContainer', render: renderMoreButtonDropdown, priority: 100501, collapsedContainer: true,
3662
+ }, { id: 'addPreset', render: renderAddPresetButton, priority: 100501 },
3663
+ ];
3664
+ };
3665
+ return (React__default.createElement(FlexCell, { grow: 1, minWidth: 310, rawProps: props.rawProps },
3666
+ React__default.createElement(FlexRow, { size: null, spacing: "12", cx: css$k.presetsWrapper },
3667
+ React__default.createElement(AdaptivePanel, { items: getPanelItems() }))));
3668
+ }
3669
+
3670
+ const defaultPredicates = {
3671
+ numeric: [
3672
+ { predicate: 'eq', name: '=', isDefault: true }, { predicate: 'neq', name: '≠' }, { predicate: 'lte', name: '≤' }, { predicate: 'gte', name: '≥' }, { predicate: 'inRange', name: 'In Range' },
3673
+ ],
3674
+ multiPicker: [{ predicate: 'in', name: 'is', isDefault: true }, { predicate: 'nin', name: 'is not' }],
3675
+ rangeDatePicker: [{ predicate: 'inRange', name: 'In Range', isDefault: true }, { predicate: 'notInRange', name: 'Not in Range' }],
3676
+ };
3677
+
3678
+ const useColumnsWithFilters = (initialColumns, filters) => {
3679
+ const makeFilterRenderCallback = useCallback((key) => function (filterLens, dropdownProps) {
3680
+ const filter = filters.find((f) => f.columnKey === key);
3681
+ if (!filter)
3682
+ return null;
3683
+ const props = filterLens.prop(filter.field).toProps();
3684
+ return React__default.createElement(FilterItemBody, Object.assign({}, props, filter, dropdownProps));
3685
+ }, [filters]);
3686
+ const columns = useMemo(() => {
3687
+ if (filters) {
3688
+ const filterKeys = filters.map((f) => f.columnKey);
3689
+ const newColumns = (initialColumns.map((column) => {
3690
+ if (filterKeys.includes(column.key)) {
3691
+ return Object.assign(Object.assign({}, column), { renderFilter: makeFilterRenderCallback(column.key) });
3692
+ }
3693
+ else {
3694
+ return column;
3695
+ }
3696
+ }));
3697
+ return newColumns;
3698
+ }
3699
+ return initialColumns;
3700
+ }, [filters, initialColumns]);
3701
+ return columns;
3702
+ };
3721
3703
 
3722
- var styles$1 = {"main-panel":"ndBPUQ","group-title":"OYT8FZ","group-title-text":"wCAT-Y","group-title-badge":"sLrPLB","group-items":"AXxS5h","no-data":"Ns7EiE","h-divider":"aVxHy2","search-area":"_6BP6Bs","mainPanel":"ndBPUQ","groupTitle":"OYT8FZ","groupTitleText":"wCAT-Y","groupTitleBadge":"sLrPLB","groupItems":"AXxS5h","noData":"Ns7EiE","hDivider":"aVxHy2","searchArea":"_6BP6Bs"};
3704
+ var styles$1 = {"main-panel":"ptMu9v","group-title":"DgOUCA","group-title-text":"nHbzNL","group-title-badge":"dRSUbf","group-items":"BBN0YY","no-data":"_2vwEda","h-divider":"fklXNs","search-area":"pbBbKM","mainPanel":"ptMu9v","groupTitle":"DgOUCA","groupTitleText":"nHbzNL","groupTitleBadge":"dRSUbf","groupItems":"BBN0YY","noData":"_2vwEda","hDivider":"fklXNs","searchArea":"pbBbKM"};
3723
3705
 
3724
3706
  var _path$b;
3725
3707
  function _extends$c() { _extends$c = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$c.apply(this, arguments); }
@@ -3798,7 +3780,7 @@ function PinIconButton(props) {
3798
3780
  React.createElement(IconButton, { icon: pinIcon, onClick: pinClickHandler, isDisabled: isPinnedAlways, color: isPinned ? 'info' : undefined }))));
3799
3781
  }
3800
3782
 
3801
- var styles = {"row-wrapper":"_3Cmguf","not-pinned":"BCDWws","pin-icon-button":"lREqHf","checkbox":"_3Fmb5g","drag-handle":"_5bTbKF","dnd-disabled":"WDJFCm","rowWrapper":"_3Cmguf","notPinned":"BCDWws","pinIconButton":"lREqHf","dragHandle":"_5bTbKF","dndDisabled":"WDJFCm"};
3783
+ var styles = {"row-wrapper":"SWMZi6","not-pinned":"yxnsHl","pin-icon-button":"yr-iBp","checkbox":"YmqO7-","drag-handle":"_9RqGv3","dnd-disabled":"EDh2d-","rowWrapper":"SWMZi6","notPinned":"yxnsHl","pinIconButton":"yr-iBp","dragHandle":"_9RqGv3","dndDisabled":"EDh2d-"};
3802
3784
 
3803
3785
  const ColumnRow = React.memo(function ColumnRow(props) {
3804
3786
  const { column } = props;
@@ -3824,7 +3806,7 @@ const ColumnRow = React.memo(function ColumnRow(props) {
3824
3806
 
3825
3807
  const renderGroupTitle = (title, amount) => (React.createElement(FlexRow, { size: "24", padding: "24", spacing: "6", cx: styles$1.groupTitle },
3826
3808
  React.createElement(Text, { cx: styles$1.groupTitleText, font: "semibold", lineHeight: "24", fontSize: "14" }, title),
3827
- React.createElement(Badge, { cx: styles$1.groupTitleBadge, caption: amount, color: "neutral", size: "18" })));
3809
+ React.createElement(Badge, { cx: styles$1.groupTitleBadge, caption: amount, color: "default", size: "18" })));
3828
3810
  function ColumnsConfigurationModal(props) {
3829
3811
  const i18n$1 = i18n.tables.columnsConfigurationModal;
3830
3812
  const { columns, columnsConfig: initialColumnsConfig, defaultConfig } = props, modalProps = __rest(props, ["columns", "columnsConfig", "defaultConfig"]);
@@ -3866,10 +3848,10 @@ function ColumnsConfigurationModal(props) {
3866
3848
  React.createElement(ModalHeader, { title: i18n$1.configureColumnsTitle, onClose: close }),
3867
3849
  React.createElement(FlexRow, { padding: "24", borderBottom: true, spacing: "12", cx: styles$1.searchArea },
3868
3850
  React.createElement(SearchInput, { size: "30", value: searchValue, onValueChange: setSearchValue, placeholder: i18n$1.searchPlaceholder }),
3869
- React.createElement(Dropdown, { closeOnTargetClick: true, renderBody: () => (React.createElement(Panel, { background: "surface", shadow: true },
3851
+ React.createElement(Dropdown, { closeOnTargetClick: true, renderBody: () => (React.createElement(Panel, { shadow: true },
3870
3852
  React.createElement(DropdownMenuButton, { caption: i18n$1.clearAllButton, onClick: uncheckAll }),
3871
- React.createElement(DropdownMenuButton, { caption: i18n$1.selectAllButton, onClick: checkAll }))), renderTarget: (props) => React.createElement(Button, Object.assign({}, props, { fill: "none", icon: ForwardRef$s, size: "30", color: "secondary", isDropdown: false })) })),
3872
- React.createElement(Panel, { background: "surface", cx: styles$1.mainPanel },
3853
+ React.createElement(DropdownMenuButton, { caption: i18n$1.selectAllButton, onClick: checkAll }))), renderTarget: (props) => React.createElement(Button, Object.assign({}, props, { mode: "none", icon: ForwardRef$l, size: "30", color: "secondary", isDropdown: false })) })),
3854
+ React.createElement(Panel, { cx: styles$1.mainPanel },
3873
3855
  React.createElement(ScrollBars, null,
3874
3856
  renderVisible(),
3875
3857
  renderHidden(),
@@ -3877,67 +3859,12 @@ function ColumnsConfigurationModal(props) {
3877
3859
  React.createElement(Text, { fontSize: "24", lineHeight: "30", color: "primary", font: "semibold" }, i18n$1.noResultsFound.text),
3878
3860
  React.createElement(Text, { fontSize: "16", lineHeight: "24", font: "regular", color: "primary" }, i18n$1.noResultsFound.subText))))),
3879
3861
  React.createElement(ModalFooter, { borderTop: true },
3880
- React.createElement(LinkButton, { icon: ForwardRef$r, caption: i18n$1.resetToDefaultButton, onClick: reset }),
3862
+ React.createElement(LinkButton, { icon: ForwardRef$k, caption: i18n$1.resetToDefaultButton, onClick: reset }),
3881
3863
  React.createElement(FlexSpacer, null),
3882
- React.createElement(Button, { fill: "none", color: "secondary", caption: i18n$1.cancelButton, onClick: close }),
3864
+ React.createElement(Button, { mode: "none", color: "secondary", caption: i18n$1.cancelButton, onClick: close }),
3883
3865
  noVisibleColumns ? (React.createElement(Tooltip, { content: i18n$1.enableAtLeastOneColumnMessage, placement: "top-end", color: "critical" }, applyButton)) : (applyButton)))));
3884
3866
  }
3885
3867
 
3886
- var css$g = {"listContainer":"AyNuAd","header":"_6fSx6A","group":"HcUve7","stickyHeader":"QAVdcT"};
3887
-
3888
- const getChildrenAndRest = (row, rows) => {
3889
- const firstNotChildIndex = rows.findIndex((other) => other.depth < row.depth || (row.depth === other.depth && other.isPinned));
3890
- if (firstNotChildIndex === -1) {
3891
- return [rows, []];
3892
- }
3893
- if (firstNotChildIndex === 0) {
3894
- return [[], rows];
3895
- }
3896
- const children = rows.slice(0, firstNotChildIndex);
3897
- const rest = rows.slice(firstNotChildIndex, rows.length);
3898
- return [children, rest];
3899
- };
3900
-
3901
- function DataRowsGroup({ row, childRows, renderRow, top = 1, }) {
3902
- var _a, _b;
3903
- const rowRef = useRef();
3904
- const childrenPinnedTop = row.isPinned ? (top + ((_b = (_a = rowRef.current) === null || _a === void 0 ? void 0 : _a.clientHeight) !== null && _b !== void 0 ? _b : 0)) : top;
3905
- return (React__default.createElement("div", { className: css$g.group, key: row.rowKey },
3906
- React__default.createElement("div", { className: row.isPinned ? css$g.stickyHeader : css$g.header,
3907
- // Gaps between pinned parents should be removed by -1 from top height.
3908
- // Otherwise, sometimes top value is rounded top.
3909
- style: { zIndex: row.depth + 10, top: top - 1 }, ref: rowRef }, renderRow(row)),
3910
- childRows.length > 0 && (React__default.createElement("div", null,
3911
- React__default.createElement(DataRowsGroups, { rows: childRows, renderRow: renderRow, top: childrenPinnedTop })))));
3912
- }
3913
- const renderRows = (rows, renderRow, top) => {
3914
- if (!rows.length)
3915
- return [];
3916
- const [row, ...rest] = rows;
3917
- if (!rest.length) {
3918
- return [renderRow(row)];
3919
- }
3920
- const [next] = rest;
3921
- if (next.depth <= row.depth && !row.isPinned) {
3922
- return [renderRow(row)].concat(renderRows(rest, renderRow, top));
3923
- }
3924
- const [children, otherRows] = getChildrenAndRest(row, rest);
3925
- const group = (React__default.createElement(DataRowsGroup, { row: row, childRows: children, renderRow: renderRow, top: top, key: row.rowKey }));
3926
- return [group].concat(renderRows(otherRows, renderRow, top));
3927
- };
3928
- function DataRowsGroups({ rows, renderRow, top = 1, }) {
3929
- const rowsWithGroups = renderRows(rows, renderRow, top);
3930
- // eslint-disable-next-line react/jsx-no-useless-fragment
3931
- return (React__default.createElement(React__default.Fragment, null, rowsWithGroups));
3932
- }
3933
-
3934
- function DataRowsContainer({ estimatedHeight, listContainerRef, offsetY, rows, renderRow, headerRef, }) {
3935
- var _a;
3936
- return (React__default.createElement("div", { className: css$g.listContainer, style: { minHeight: `${estimatedHeight}px` } },
3937
- React__default.createElement("div", { ref: listContainerRef, role: "rowgroup", style: { marginTop: offsetY } },
3938
- React__default.createElement(DataRowsGroups, { rows: rows, renderRow: renderRow, top: (_a = headerRef === null || headerRef === void 0 ? void 0 : headerRef.current) === null || _a === void 0 ? void 0 : _a.clientHeight }))));
3939
- }
3940
-
3941
3868
  var _path$8, _path2, _path3, _path4, _path5, _path6, _g$1, _path7, _path8, _path9, _path10, _path11, _path12, _path13, _path14, _path15, _path16, _path17, _path18, _path19, _path20, _path21, _path22, _path23, _path24, _defs;
3942
3869
  function _extends$9() { _extends$9 = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$9.apply(this, arguments); }
3943
3870
  var SvgEmptyTable = function SvgEmptyTable(props, ref) {
@@ -3949,7 +3876,7 @@ var SvgEmptyTable = function SvgEmptyTable(props, ref) {
3949
3876
  xmlns: "http://www.w3.org/2000/svg",
3950
3877
  ref: ref
3951
3878
  }, props), /*#__PURE__*/React.createElement("g", {
3952
- clipPath: "url(#4izetwbaxv8azmeb_a)"
3879
+ clipPath: "url(#t3z83az7el0ravt2i_a)"
3953
3880
  }, _path$8 || (_path$8 = /*#__PURE__*/React.createElement("path", {
3954
3881
  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",
3955
3882
  fill: "#F5F6FA"
@@ -3970,7 +3897,7 @@ var SvgEmptyTable = function SvgEmptyTable(props, ref) {
3970
3897
  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",
3971
3898
  fill: "#1D1E26"
3972
3899
  })), /*#__PURE__*/React.createElement("mask", {
3973
- id: "4izetwhgipvq72oc6_b",
3900
+ id: "t3z83am5hndtlgftg_b",
3974
3901
  style: {
3975
3902
  maskType: "alpha"
3976
3903
  },
@@ -3983,7 +3910,7 @@ var SvgEmptyTable = function SvgEmptyTable(props, ref) {
3983
3910
  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",
3984
3911
  fill: "#9BDEFF"
3985
3912
  }))), _g$1 || (_g$1 = /*#__PURE__*/React.createElement("g", {
3986
- mask: "url(#4izetwhgipvq72oc6_b)",
3913
+ mask: "url(#t3z83am5hndtlgftg_b)",
3987
3914
  fillRule: "evenodd",
3988
3915
  clipRule: "evenodd"
3989
3916
  }, /*#__PURE__*/React.createElement("path", {
@@ -4069,7 +3996,7 @@ var SvgEmptyTable = function SvgEmptyTable(props, ref) {
4069
3996
  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",
4070
3997
  fill: "#fff"
4071
3998
  }))), _defs || (_defs = /*#__PURE__*/React.createElement("defs", null, /*#__PURE__*/React.createElement("clipPath", {
4072
- id: "4izetwbaxv8azmeb_a"
3999
+ id: "t3z83az7el0ravt2i_a"
4073
4000
  }, /*#__PURE__*/React.createElement("path", {
4074
4001
  fill: "#fff",
4075
4002
  transform: "translate(.552)",
@@ -4078,7 +4005,62 @@ var SvgEmptyTable = function SvgEmptyTable(props, ref) {
4078
4005
  };
4079
4006
  var ForwardRef$9 = /*#__PURE__*/forwardRef(SvgEmptyTable);
4080
4007
 
4081
- var css$f = {"sticky-header":"UK-0j4","table":"xj5vlU","no-results":"Q-qmRZ","no-results-icon":"jKQzRl","no-results-title":"fkjUTM","stickyHeader":"UK-0j4","noResults":"Q-qmRZ","noResultsIcon":"jKQzRl","noResultsTitle":"fkjUTM"};
4008
+ var css$g = {"sticky-header":"n17vm3","table":"xo9KCG","no-results":"VHgS0y","no-results-icon":"IYml-v","no-results-title":"Q2QLjx","stickyHeader":"n17vm3","noResults":"VHgS0y","noResultsIcon":"IYml-v","noResultsTitle":"Q2QLjx"};
4009
+
4010
+ var css$f = {"listContainer":"iDegmz","header":"vfZjHc","group":"_95hELF","stickyHeader":"_1qQ29Z"};
4011
+
4012
+ const getChildrenAndRest = (row, rows) => {
4013
+ const firstNotChildIndex = rows.findIndex((other) => other.depth < row.depth || (row.depth === other.depth && other.isPinned));
4014
+ if (firstNotChildIndex === -1) {
4015
+ return [rows, []];
4016
+ }
4017
+ if (firstNotChildIndex === 0) {
4018
+ return [[], rows];
4019
+ }
4020
+ const children = rows.slice(0, firstNotChildIndex);
4021
+ const rest = rows.slice(firstNotChildIndex, rows.length);
4022
+ return [children, rest];
4023
+ };
4024
+
4025
+ function DataRowsGroup({ row, childRows, renderRow, top = 1, }) {
4026
+ var _a, _b;
4027
+ const rowRef = useRef();
4028
+ const childrenPinnedTop = row.isPinned ? (top + ((_b = (_a = rowRef.current) === null || _a === void 0 ? void 0 : _a.clientHeight) !== null && _b !== void 0 ? _b : 0)) : top;
4029
+ return (React__default.createElement("div", { className: css$f.group, key: row.rowKey },
4030
+ React__default.createElement("div", { className: row.isPinned ? css$f.stickyHeader : css$f.header,
4031
+ // Gaps between pinned parents should be removed by -1 from top height.
4032
+ // Otherwise, sometimes top value is rounded top.
4033
+ style: { zIndex: row.depth + 10, top: top - 1 }, ref: rowRef }, renderRow(row)),
4034
+ childRows.length > 0 && (React__default.createElement("div", null,
4035
+ React__default.createElement(DataRowsGroups, { rows: childRows, renderRow: renderRow, top: childrenPinnedTop })))));
4036
+ }
4037
+ const renderRows = (rows, renderRow, top) => {
4038
+ if (!rows.length)
4039
+ return [];
4040
+ const [row, ...rest] = rows;
4041
+ if (!rest.length) {
4042
+ return [renderRow(row)];
4043
+ }
4044
+ const [next] = rest;
4045
+ if (next.depth <= row.depth && !row.isPinned) {
4046
+ return [renderRow(row)].concat(renderRows(rest, renderRow, top));
4047
+ }
4048
+ const [children, otherRows] = getChildrenAndRest(row, rest);
4049
+ const group = (React__default.createElement(DataRowsGroup, { row: row, childRows: children, renderRow: renderRow, top: top, key: row.rowKey }));
4050
+ return [group].concat(renderRows(otherRows, renderRow, top));
4051
+ };
4052
+ function DataRowsGroups({ rows, renderRow, top = 1, }) {
4053
+ const rowsWithGroups = renderRows(rows, renderRow, top);
4054
+ // eslint-disable-next-line react/jsx-no-useless-fragment
4055
+ return (React__default.createElement(React__default.Fragment, null, rowsWithGroups));
4056
+ }
4057
+
4058
+ function DataRowsContainer({ estimatedHeight, listContainerRef, offsetY, rows, renderRow, headerRef, }) {
4059
+ var _a;
4060
+ return (React__default.createElement("div", { className: css$f.listContainer, style: { minHeight: `${estimatedHeight}px` } },
4061
+ React__default.createElement("div", { ref: listContainerRef, role: "rowgroup", style: { marginTop: offsetY } },
4062
+ React__default.createElement(DataRowsGroups, { rows: rows, renderRow: renderRow, top: (_a = headerRef === null || headerRef === void 0 ? void 0 : headerRef.current) === null || _a === void 0 ? void 0 : _a.clientHeight }))));
4063
+ }
4082
4064
 
4083
4065
  function DataTable(props) {
4084
4066
  var _a;
@@ -4087,15 +4069,15 @@ function DataTable(props) {
4087
4069
  const columnsWithFilters = useColumnsWithFilters(props.columns, props.filters);
4088
4070
  const { columns, config, defaultConfig } = useColumnsConfig(columnsWithFilters, (_a = props.value) === null || _a === void 0 ? void 0 : _a.columnsConfig);
4089
4071
  const defaultRenderRow = React.useCallback((rowProps) => {
4090
- return React.createElement(DataTableRow, Object.assign({ key: rowProps.rowKey, size: props.size, borderBottom: props.border }, rowProps, { cx: css$f.cell }));
4072
+ return React.createElement(DataTableRow, Object.assign({ key: rowProps.rowKey, size: props.size, borderBottom: props.border }, rowProps, { cx: css$g.cell }));
4091
4073
  }, []);
4092
4074
  const renderRow = (row) => { var _a; return ((_a = props.renderRow) !== null && _a !== void 0 ? _a : defaultRenderRow)(Object.assign(Object.assign({}, row), { columns })); };
4093
4075
  const rows = props.getRows();
4094
4076
  const renderNoResultsBlock = React.useCallback(() => {
4095
4077
  var _a;
4096
- return (React.createElement("div", { className: css$f.noResults }, props.renderNoResultsBlock ? ((_a = props.renderNoResultsBlock) === null || _a === void 0 ? void 0 : _a.call(props)) : (React.createElement(React.Fragment, null,
4097
- React.createElement(IconContainer, { cx: css$f.noResultsIcon, icon: ForwardRef$9 }),
4098
- React.createElement(Text, { cx: css$f.noResultsTitle, fontSize: "24", lineHeight: "30", color: "primary", font: "semibold" }, i18n.tables.noResultsBlock.title),
4078
+ return (React.createElement("div", { className: css$g.noResults }, props.renderNoResultsBlock ? ((_a = props.renderNoResultsBlock) === null || _a === void 0 ? void 0 : _a.call(props)) : (React.createElement(React.Fragment, null,
4079
+ React.createElement(IconContainer, { cx: css$g.noResultsIcon, icon: ForwardRef$9 }),
4080
+ React.createElement(Text, { cx: css$g.noResultsTitle, fontSize: "24", lineHeight: "30", color: "primary", font: "semibold" }, i18n.tables.noResultsBlock.title),
4099
4081
  React.createElement(Text, { fontSize: "16", lineHeight: "24", font: "regular", color: "primary" }, i18n.tables.noResultsBlock.message)))));
4100
4082
  }, [props.renderNoResultsBlock]);
4101
4083
  const onConfigurationButtonClick = React.useCallback(() => {
@@ -4112,26 +4094,25 @@ function DataTable(props) {
4112
4094
  props.columns, config, defaultConfig, props.value, props.onValueChange, props.renderColumnsConfigurationModal,
4113
4095
  ]);
4114
4096
  const renderRowsContainer = React.useCallback(({ listContainerRef, estimatedHeight, offsetY, scrollShadows }) => (React.createElement(React.Fragment, null,
4115
- React.createElement("div", { className: css$f.stickyHeader, ref: headerRef },
4097
+ React.createElement("div", { className: css$g.stickyHeader, ref: headerRef },
4116
4098
  React.createElement(DataTableHeaderRow, { columns: columns, onConfigButtonClick: props.showColumnsConfig && onConfigurationButtonClick, selectAll: props.selectAll, size: props.size, textCase: props.headerTextCase, allowColumnsReordering: props.allowColumnsReordering, allowColumnsResizing: props.allowColumnsResizing, value: Object.assign(Object.assign({}, props.value), { columnsConfig: config }), onValueChange: props.onValueChange }),
4117
4099
  React.createElement("div", { className: cx$1(uuiScrollShadows.top, {
4118
4100
  [uuiScrollShadows.topVisible]: scrollShadows.verticalTop,
4119
4101
  }) })),
4120
- props.exactRowsCount !== 0 ? (React.createElement(DataRowsContainer, { headerRef: headerRef, listContainerRef: listContainerRef, estimatedHeight: estimatedHeight, offsetY: offsetY, scrollShadows: scrollShadows, renderRow: renderRow, rows: rows })) : (renderNoResultsBlock === null || renderNoResultsBlock === void 0 ? void 0 : renderNoResultsBlock()),
4121
- React.createElement(Blocker, { isEnabled: props.isReloading }))), [
4102
+ props.exactRowsCount !== 0 ? (React.createElement(DataRowsContainer, { headerRef: headerRef, listContainerRef: listContainerRef, estimatedHeight: estimatedHeight, offsetY: offsetY, scrollShadows: scrollShadows, renderRow: renderRow, rows: rows })) : (renderNoResultsBlock === null || renderNoResultsBlock === void 0 ? void 0 : renderNoResultsBlock()))), [
4122
4103
  props, columns, rows, renderNoResultsBlock, onConfigurationButtonClick,
4123
4104
  ]);
4124
4105
  return (React.createElement(DataTableSelectionProvider, { onCopy: props.onCopy, rows: rows, columns: columns },
4125
- React.createElement(VirtualList, { value: props.value, onValueChange: props.onValueChange, onScroll: props.onScroll, rowsCount: props.rowsCount, renderRows: renderRowsContainer, cx: cx$1(css$f.table, 'uui-dt-vars'), disableScroll: props.isReloading, rowsSelector: "[role=row]", rawProps: {
4106
+ React.createElement(VirtualList, { value: props.value, onValueChange: props.onValueChange, onScroll: props.onScroll, rowsCount: props.rowsCount, renderRows: renderRowsContainer, cx: cx$1(css$g.table), isLoading: props.isReloading, rowsSelector: "[role=row]", rawProps: {
4126
4107
  role: 'table',
4127
4108
  'aria-colcount': columns.length,
4128
4109
  'aria-rowcount': props.rowsCount,
4129
4110
  } })));
4130
4111
  }
4131
4112
 
4132
- var css$e = {"root":"sZ-aKk"};
4113
+ var css$e = {"root":"fsMBiv"};
4133
4114
 
4134
- var css$d = {"root":"qvMp4-","burger-content":"QZJCef","burgerContent":"QZJCef"};
4115
+ var css$d = {"root":"ZE1-SK","burger-content":"p9lqOI","burgerContent":"p9lqOI"};
4135
4116
 
4136
4117
  var _path$7;
4137
4118
  function _extends$8() { _extends$8 = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$8.apply(this, arguments); }
@@ -4164,7 +4145,7 @@ var SvgBurgerClose = function SvgBurgerClose(props, ref) {
4164
4145
  var ForwardRef$7 = /*#__PURE__*/forwardRef(SvgBurgerClose);
4165
4146
 
4166
4147
  function applyBurgerMods() {
4167
- return [cx(css$d.root, 'uui-burger')];
4148
+ return [css$d.root];
4168
4149
  }
4169
4150
  const Burger = withMods(Burger$1, applyBurgerMods, () => ({
4170
4151
  burgerIcon: ForwardRef$8,
@@ -4198,15 +4179,10 @@ var SvgTriangle = function SvgTriangle(props, ref) {
4198
4179
  };
4199
4180
  var ForwardRef$6 = /*#__PURE__*/forwardRef(SvgTriangle);
4200
4181
 
4201
- var css$c = {"root":"ZLGe1w","button-primary":"ar9z3T","button-secondary":"nx0Dd1","hasIcon":"BxYBvl","dropdown":"n8EaG6","buttonPrimary":"ar9z3T","buttonSecondary":"nx0Dd1"};
4182
+ var css$c = {"root":"Q-i3AK","button-primary":"_02zDSe","button-secondary":"CT92mt","hasIcon":"ukj9ak","dropdown":"_6lFcVt","buttonPrimary":"_02zDSe","buttonSecondary":"CT92mt"};
4202
4183
 
4203
4184
  const BurgerButton = withMods(Button$1, (props) => [
4204
- css$c.root,
4205
- 'uui-main_menu-burger-button',
4206
- css$c['button-' + (props.type || 'primary')],
4207
- css$c['indent-' + (props.indentLevel || 0)],
4208
- props.isDropdown && css$c.dropdown,
4209
- props.icon && css$c.hasIcon,
4185
+ css$c.root, css$c['button-' + (props.type || 'primary')], css$c['indent-' + (props.indentLevel || 0)], props.isDropdown && css$c.dropdown, props.icon && css$c.hasIcon,
4210
4186
  ], () => ({ dropdownIcon: ForwardRef$6, dropdownIconPosition: 'left', role: 'menuitem' }));
4211
4187
 
4212
4188
  function _extends$5() { _extends$5 = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$5.apply(this, arguments); }
@@ -4255,21 +4231,21 @@ var SvgMenuInputCancel = function SvgMenuInputCancel(props, ref) {
4255
4231
  };
4256
4232
  var ForwardRef$5 = /*#__PURE__*/forwardRef(SvgMenuInputCancel);
4257
4233
 
4258
- var css$b = {"search-input":"wej8gI","searchInput":"wej8gI"};
4234
+ var css$b = {"search-input":"r0XjCb","searchInput":"r0XjCb"};
4259
4235
 
4260
4236
  function BurgerSearch(props) {
4261
- return (React.createElement(TextInput$1, { cx: cx(css$b.searchInput, 'uui-main_menu-burger-search'), iconPosition: "left", icon: ForwardRef$15, placeholder: props.placeholder, value: props.value, onValueChange: props.onValueChange, onCancel: props.onCancel, cancelIcon: props.value && ForwardRef$5 }));
4237
+ return (React.createElement(TextInput$1, { cx: css$b.searchInput, iconPosition: "left", icon: ForwardRef$15, placeholder: props.placeholder, value: props.value, onValueChange: props.onValueChange, onCancel: props.onCancel, cancelIcon: props.value && ForwardRef$5 }));
4262
4238
  }
4263
4239
 
4264
- var css$a = {"root":"mpQabO","group-header":"JWOBGZ","group-name":"crVrf-","line":"rLH9si","groupHeader":"JWOBGZ","groupName":"crVrf-"};
4240
+ var css$a = {"group-header":"p0YbjB","group-name":"_7TGLSX","line":"Mifo-d","groupHeader":"p0YbjB","groupName":"_7TGLSX"};
4265
4241
 
4266
4242
  function BurgerGroupHeader(props) {
4267
- return (React.createElement("div", { className: cx(css$a.root, css$a.groupHeader, 'uui-burger-group-header') },
4243
+ return (React.createElement("div", { className: css$a.groupHeader },
4268
4244
  React.createElement("hr", { className: css$a.line }),
4269
4245
  React.createElement("span", { className: css$a.groupName }, props.caption)));
4270
4246
  }
4271
4247
 
4272
- var css$9 = {"root":"Q31ipb","type-primary":"_0-RgQ-","type-secondary":"HwgUAz","typePrimary":"_0-RgQ-","typeSecondary":"HwgUAz"};
4248
+ var css$9 = {"root":"R8rVR3","type-primary":"i8As46","type-secondary":"J5I5nT","typePrimary":"i8As46","typeSecondary":"J5I5nT"};
4273
4249
 
4274
4250
  var _path$4;
4275
4251
  function _extends$4() { _extends$4 = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$4.apply(this, arguments); }
@@ -4289,7 +4265,7 @@ var ForwardRef$4 = /*#__PURE__*/forwardRef(SvgChevronDown24);
4289
4265
 
4290
4266
  const MainMenuButton = withMods(Button$1, (mods) => [css$9.root, css$9['type-' + (mods.type || 'primary')]], () => ({ dropdownIcon: ForwardRef$4, role: 'menuitem' }));
4291
4267
 
4292
- var css$8 = {"dropdown-body":"_2ACwI-","dropdownBody":"_2ACwI-"};
4268
+ var css$8 = {"dropdown-body":"T3q0-j","dropdownBody":"T3q0-j"};
4293
4269
 
4294
4270
  class MainMenuDropdown extends React.Component {
4295
4271
  render() {
@@ -4300,7 +4276,7 @@ class MainMenuDropdown extends React.Component {
4300
4276
  }
4301
4277
  };
4302
4278
  return (React.createElement(FocusLock, { returnFocus: true, persistentFocus: true, lockProps: { onKeyDown: handleEscape } },
4303
- React.createElement("div", { className: cx(css$8.dropdownBody, 'uui-main_menu-dropdown') }, this.props.renderBody
4279
+ React.createElement("div", { className: cx(css$8.dropdownBody) }, this.props.renderBody
4304
4280
  ? this.props.renderBody(Object.assign({}, props))
4305
4281
  : React.Children.map(this.props.children, (item) => {
4306
4282
  if (!item)
@@ -4317,12 +4293,9 @@ class MainMenuDropdown extends React.Component {
4317
4293
  }
4318
4294
 
4319
4295
  function applyMainMenuMods() {
4320
- return [
4321
- css$e.root,
4322
- 'uui-main_menu',
4323
- ];
4296
+ return [css$e.root];
4324
4297
  }
4325
- const MainMenu = withMods(MainMenu$1, applyMainMenuMods, () => ({
4298
+ const MainMenu = withMods(uuiComponents.MainMenu, applyMainMenuMods, () => ({
4326
4299
  Burger,
4327
4300
  MainMenuDropdown,
4328
4301
  }));
@@ -4343,12 +4316,12 @@ var SvgGlobalMenu = function SvgGlobalMenu(props, ref) {
4343
4316
  };
4344
4317
  var ForwardRef$3 = /*#__PURE__*/forwardRef(SvgGlobalMenu);
4345
4318
 
4346
- var css$7 = {"global-menu-btn":"fD1CWC","globalMenuIcon":"_248sm-","globalMenuBtn":"fD1CWC"};
4319
+ var css$7 = {"global-menu-btn":"QN4W5W","globalMenuIcon":"s0u9hf","globalMenuBtn":"QN4W5W"};
4347
4320
 
4348
4321
  const GlobalMenu = React.forwardRef((props, ref) => (React.createElement("button", Object.assign({ ref: ref, id: "global_menu_toggle", className: cx(css$7.globalMenuBtn, props.cx) }, props.rawProps),
4349
4322
  React.createElement(IconContainer, { icon: ForwardRef$3, cx: css$7.globalMenuIcon }))));
4350
4323
 
4351
- var css$6 = {"container":"zaRJhv","open":"B0Vf-s"};
4324
+ var css$6 = {"container":"He0gDq","open":"VSZ-K3"};
4352
4325
 
4353
4326
  const MainMenuAvatar = React.forwardRef((props, ref) => (React.createElement("button", { ref: ref, className: cx(css$6.container, props.isDropdown && css$6.dropdown, props.isOpen && css$6.open, props.onClick && uuiMarkers.clickable, props.cx), onClick: props.onClick },
4354
4327
  React.createElement(Avatar, { size: "36", img: props.avatarUrl }),
@@ -4356,18 +4329,18 @@ const MainMenuAvatar = React.forwardRef((props, ref) => (React.createElement("bu
4356
4329
  props.isDropdown && (React.createElement("div", null,
4357
4330
  React.createElement(IconContainer, { icon: ForwardRef$1b, flipY: props.isOpen }))))));
4358
4331
 
4359
- var css$5 = {"search-input":"i6FH-a","searchInput":"i6FH-a"};
4332
+ var css$5 = {"search-input":"Ar25VF","searchInput":"Ar25VF"};
4360
4333
 
4361
4334
  const MainMenuSearch = React.forwardRef((props, ref) => (React.createElement(IEditableDebouncer, Object.assign({}, props, { render: (iEditable) => {
4362
4335
  var _a;
4363
4336
  return (React.createElement(TextInput$1, Object.assign({ iconPosition: "left", icon: ForwardRef$15, cancelIcon: ((_a = props.value) === null || _a === void 0 ? void 0 : _a.length) > 0 && ForwardRef$5 }, props, iEditable, { ref: ref, cx: cx$1(css$5.searchInput, props.cx) }, props.rawProps)));
4364
4337
  } }))));
4365
4338
 
4366
- var css$4 = {"container":"U-cezM"};
4339
+ var css$4 = {"container":"iAkKgc"};
4367
4340
 
4368
4341
  const MainMenuIcon = React.forwardRef((props, ref) => (React.createElement(IconButton, Object.assign({ ref: ref, icon: props.icon, cx: cx$1(props.cx, css$4.container) }, props))));
4369
4342
 
4370
- var css$3 = {"root":"Q0jtOk"};
4343
+ var css$3 = {"root":"ld2tT3"};
4371
4344
 
4372
4345
  const Anchor = withMods(Anchor$1, () => [css$3.root]);
4373
4346
 
@@ -4424,7 +4397,7 @@ var SvgShape = function SvgShape(props, ref) {
4424
4397
  };
4425
4398
  var ForwardRef$2 = /*#__PURE__*/forwardRef(SvgShape);
4426
4399
 
4427
- var css$2 = {"root":"czb8eW","drop-start":"WapaHZ","drop-over":"Vd3m5d","link":"cRXq0R","drop-area":"FJXA3j","icon-blue":"Ohqm6b","dropStart":"WapaHZ","dropOver":"Vd3m5d","dropArea":"FJXA3j","iconBlue":"Ohqm6b"};
4400
+ var css$2 = {"root":"P4jVtu","drop-start":"YwK8vh","drop-over":"Au6-Co","link":"XtlE6u","drop-area":"Zh3W1v","icon-blue":"dj7re3","dropStart":"YwK8vh","dropOver":"Au6-Co","dropArea":"Zh3W1v","iconBlue":"dj7re3"};
4428
4401
 
4429
4402
  class DropSpot extends React.Component {
4430
4403
  constructor() {
@@ -4448,9 +4421,9 @@ class DropSpot extends React.Component {
4448
4421
  }
4449
4422
  }
4450
4423
 
4451
- var css$1 = {"root":"uoIALi","file-card-wrapper":"_4hID-4","file-name":"L2FYye","error-card-wrapper":"dQWmp1","default-color":"yshbvi","doc-color":"WQXcU-","xls-color":"kfeHRw","pdf-color":"luEP1W","mov-color":"oSLb2S","img-color":"LlHfZ0","movie-color":"lAjr0i","error-block":"ZZh9Df","icons-block":"sYd3q-","fileCardWrapper":"_4hID-4","fileName":"L2FYye","errorCardWrapper":"dQWmp1","defaultColor":"yshbvi","docColor":"WQXcU-","xlsColor":"kfeHRw","pdfColor":"luEP1W","movColor":"oSLb2S","imgColor":"LlHfZ0","movieColor":"lAjr0i","errorBlock":"ZZh9Df","iconsBlock":"sYd3q-"};
4424
+ var css$1 = {"file-card-wrapper":"XlyZ-g","file-name":"VBEfku","error-card-wrapper":"jOCM7-","default-color":"oJRqcW","doc-color":"dizH5J","xls-color":"jb1Pdt","pdf-color":"xsBzvk","movie-color":"RD6RHV","img-color":"wAzRUt","error-block":"ei1QGW","icons-block":"_6nRMFF","fileCardWrapper":"XlyZ-g","fileName":"VBEfku","errorCardWrapper":"jOCM7-","defaultColor":"oJRqcW","docColor":"dizH5J","xlsColor":"jb1Pdt","pdfColor":"xsBzvk","movieColor":"RD6RHV","imgColor":"wAzRUt","errorBlock":"ei1QGW","iconsBlock":"_6nRMFF"};
4452
4425
 
4453
- var css = {"root":"B93Ai5"};
4426
+ var css = {"root":"hWmFwp"};
4454
4427
 
4455
4428
  const SvgCircleProgress = React.forwardRef((props, ref) => {
4456
4429
  const outsetRadius = props.size / 2 - 1;
@@ -4519,7 +4492,7 @@ const FileCard = React.forwardRef((props, ref) => {
4519
4492
  case 'mp4':
4520
4493
  case 'wmw':
4521
4494
  case 'mkv':
4522
- return React.createElement(IconContainer, { size: 24, icon: fileIcons.videoIcon, cx: css$1.movColor });
4495
+ return React.createElement(IconContainer, { size: 24, icon: fileIcons.videoIcon, cx: css$1.movieColor });
4523
4496
  case 'csv':
4524
4497
  case 'xml':
4525
4498
  return React.createElement(IconContainer, { size: 24, icon: fileIcons.tableIcon, cx: css$1.defaultColor });
@@ -4558,7 +4531,7 @@ const FileCard = React.forwardRef((props, ref) => {
4558
4531
  progress && progress < 100 && abortXHR();
4559
4532
  onClick();
4560
4533
  };
4561
- return (React.createElement(FlexCell, { ref: ref, cx: cx$1(css$1.root, css$1.fileCardWrapper, (isLoading || (error === null || error === void 0 ? void 0 : error.isError)) && uuiMod.loading, componentCx, (error === null || error === void 0 ? void 0 : error.isError) && css$1.errorCardWrapper), minWidth: width, width: !width ? '100%' : undefined },
4534
+ return (React.createElement(FlexCell, { ref: ref, cx: cx$1(css$1.fileCardWrapper, (isLoading || (error === null || error === void 0 ? void 0 : error.isError)) && uuiMod.loading, componentCx, (error === null || error === void 0 ? void 0 : error.isError) && css$1.errorCardWrapper), minWidth: width, width: !width ? '100%' : undefined },
4562
4535
  React.createElement(FlexRow, { cx: css$1.fileCardRow, size: "36", alignItems: "top", spacing: "6" },
4563
4536
  fileExtension && getIcon(fileExtension),
4564
4537
  React.createElement(FlexCell, { width: "100%" },
@@ -4569,5 +4542,5 @@ const FileCard = React.forwardRef((props, ref) => {
4569
4542
  isCrossShow && React.createElement(IconButton, { icon: ForwardRef$1, onClick: removeHandler })))));
4570
4543
  });
4571
4544
 
4572
- export { Accordion, Alert, Anchor, AvatarStack, Badge, Blocker, Burger, BurgerButton, BurgerGroupHeader, BurgerSearch, Button, Calendar, Checkbox, CheckboxGroup, ClearNotification, ColumnHeaderDropdown, ColumnsConfigurationModal, ConfirmationModal, ControlGroup, DataPickerBody, DataPickerFooter, DataPickerHeader, DataPickerRow, DataRowsContainer, DataTable, DataTableCell, DataTableHeaderCell, DataTableHeaderRow, DataTableRow, DatePicker, DatePickerBody, DropMarker, DropSpot, Dropdown, DropdownContainer, DropdownMenuBody, DropdownMenuButton, DropdownMenuHeader, DropdownMenuSplitter, DropdownMenuSwitchButton, DropdownSubMenu, EditMode, ErrorAlert, ErrorNotification, FileCard, FilterItemBody, FiltersPanel, FlexCell, FlexRow, Form, GlobalMenu, HintAlert, HintNotification, IDropdownControlKeys, IconButton, IndeterminateBar, IndicatorBar, Informer, InputAddon, LabeledInput, LinkButton, MainMenu, MainMenuAvatar, MainMenuButton, MainMenuDropdown, MainMenuIcon, MainMenuSearch, MobileDropdownWrapper, ModalBlocker, ModalFooter, ModalHeader, ModalWindow, MultiSwitch, NotificationCard, NumericInput, Paginator, Panel, PickerInput, PickerItem, PickerList, PickerListItem, PickerModal, PickerToggler, PresetsPanel, ProgressBar, RadioGroup, RadioInput, RangeDatePicker, RangeDatePickerBody, RichTextView, ScrollBars, SearchInput, Spinner, SuccessAlert, SuccessNotification, SvgCircleProgress, Switch, TabButton, Tag, Text, TextArea, TextInput, TextPlaceholder, TimePicker, Tooltip, VerticalTabButton, VirtualList, WarningAlert, WarningNotification, allButtonColors, allButtonFills, allEpamBadgeSemanticColors, allFillStyles, allFontStyles, allIconColors, allLinkButtonColors, allRowSizes, allSemanticColors, allSizes, allTextColors, allTextSizes, applyBadgeMods, applyButtonMods, applyCheckboxMods, applyDateSelectionMods, applyInputAddonMods, applyNumericInputMods, applyProgressBarMods, applySpinnerMods, applySwitchMods, applyTagMods, applyTextAreaMods, applyTextInputMods, defaultPredicates, getHighlightRanges, getHighlightedSearchMatches, getTextClasses, i18n, propsMods, rangeDatePickerPresets, renderCell, renderDropMarkers, useColumnsWithFilters, useForm, uuiDatePickerBody, weekCount };
4545
+ export { Accordion, Alert, Anchor, AvatarStack, Badge, Blocker, Burger, BurgerButton, BurgerGroupHeader, BurgerSearch, Button, Calendar, Checkbox, CheckboxGroup, ClearNotification, ColumnHeaderDropdown, ColumnsConfigurationModal, ConfirmationModal, ControlGroup, DataPickerBody, DataPickerFooter, DataPickerHeader, DataPickerRow, DataRowsContainer, DataTable, DataTableCell, DataTableHeaderCell, DataTableHeaderRow, DataTableRow, DatePicker, DatePickerBody, DropMarker, DropSpot, Dropdown, DropdownContainer, DropdownMenuBody, DropdownMenuButton, DropdownMenuHeader, DropdownMenuSplitter, DropdownMenuSwitchButton, DropdownSubMenu, EditMode, ErrorAlert, ErrorNotification, FileCard, FilterItemBody, FiltersPanel, FlexCell, FlexRow, Form, GlobalMenu, HintAlert, HintNotification, IDropdownControlKeys, IconButton, IndeterminateBar, IndicatorBar, InputAddon, LabeledInput, LinkButton, MainMenu, MainMenuAvatar, MainMenuButton, MainMenuDropdown, MainMenuIcon, MainMenuSearch, MobileDropdownWrapper, ModalBlocker, ModalFooter, ModalHeader, ModalWindow, MultiSwitch, NotificationCard, NumericInput, Paginator, Panel, PickerInput, PickerItem, PickerList, PickerListItem, PickerModal, PickerToggler, PresetsPanel, ProgressBar, RadioGroup, RadioInput, RangeDatePicker, RangeDatePickerBody, RichTextView, ScrollBars, SearchInput, Spinner, SuccessAlert, SuccessNotification, SvgCircleProgress, Switch, TabButton, Tag, Text, TextArea, TextInput, TextPlaceholder, TimePicker, Tooltip, VerticalTabButton, VirtualList, WarningAlert, WarningNotification, allButtonColors, allButtonModes, allButtonSemanticColors, allEpamBadgeSemanticColors, allFillStyles, allFontStyles, allIconColors, allLinkButtonColors, allRowSizes, allSemanticColors, allSizes, allTextSizes, applyBadgeMods, applyButtonMods, applyCheckboxMods, applyDateSelectionMods, applyInputAddonMods, applyNumericInputMods, applyProgressBarMods, applySpinnerMods, applySwitchMods, applyTagMods, applyTextAreaMods, applyTextInputMods, defaultPredicates, getHighlightRanges, getHighlightedSearchMatches, getTextClasses, i18n, propsMods, rangeDatePickerPresets, renderCell, renderDropMarkers, useColumnsWithFilters, useForm, uuiDatePickerBody, weekCount };
4573
4546
  //# sourceMappingURL=index.esm.js.map