@salutejs/plasma-new-hope 0.166.0-canary.1475.11347015087.0 → 0.166.1-canary.1444.11348071542.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (138) hide show
  1. package/cjs/components/Combobox/ComboboxNew/utils/filterItems.js +4 -5
  2. package/cjs/components/Combobox/ComboboxNew/utils/filterItems.js.map +1 -1
  3. package/cjs/components/DatePicker/RangeDate/RangeDate.css +1 -1
  4. package/cjs/components/DatePicker/RangeDate/RangeDate.js +15 -77
  5. package/cjs/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
  6. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +7 -14
  7. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js.map +1 -1
  8. package/cjs/components/DatePicker/RangeDate/variations/_size/base.js +1 -1
  9. package/cjs/components/DatePicker/RangeDate/variations/_size/base.js.map +1 -1
  10. package/cjs/components/DatePicker/RangeDate/variations/_size/base_1911nyw.css +1 -0
  11. package/cjs/components/DatePicker/SingleDate/SingleDate.js +8 -33
  12. package/cjs/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
  13. package/cjs/components/DatePicker/hooks/useDatePicker.js +48 -20
  14. package/cjs/components/DatePicker/hooks/useDatePicker.js.map +1 -1
  15. package/cjs/components/DatePicker/hooks/useKeyboardNavigation.js +1 -11
  16. package/cjs/components/DatePicker/hooks/useKeyboardNavigation.js.map +1 -1
  17. package/cjs/components/DatePicker/utils/dateHelper.js +0 -31
  18. package/cjs/components/DatePicker/utils/dateHelper.js.map +1 -1
  19. package/cjs/components/TextArea/TextArea.js +13 -1
  20. package/cjs/components/TextArea/TextArea.js.map +1 -1
  21. package/cjs/index.css +1 -1
  22. package/emotion/cjs/components/Combobox/ComboboxNew/utils/filterItems.js +4 -5
  23. package/emotion/cjs/components/DatePicker/RangeDate/RangeDate.js +15 -77
  24. package/emotion/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +7 -14
  25. package/emotion/cjs/components/DatePicker/RangeDate/variations/_size/base.js +1 -1
  26. package/emotion/cjs/components/DatePicker/SingleDate/SingleDate.js +8 -33
  27. package/emotion/cjs/components/DatePicker/hooks/useDatePicker.js +48 -20
  28. package/emotion/cjs/components/DatePicker/hooks/useKeyboardNavigation.js +1 -11
  29. package/emotion/cjs/components/DatePicker/utils/dateHelper.js +1 -31
  30. package/emotion/cjs/components/TextArea/TextArea.js +14 -2
  31. package/emotion/cjs/examples/plasma_b2c/components/Combobox/Combobox.js +2 -1
  32. package/emotion/cjs/examples/plasma_b2c/components/Combobox/Combobox.stories.tsx +0 -2
  33. package/emotion/cjs/examples/plasma_web/components/Combobox/Combobox.js +2 -1
  34. package/emotion/cjs/examples/plasma_web/components/Combobox/Combobox.stories.tsx +0 -2
  35. package/emotion/es/components/Combobox/ComboboxNew/utils/filterItems.js +4 -5
  36. package/emotion/es/components/DatePicker/RangeDate/RangeDate.js +17 -79
  37. package/emotion/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +7 -14
  38. package/emotion/es/components/DatePicker/RangeDate/variations/_size/base.js +1 -1
  39. package/emotion/es/components/DatePicker/SingleDate/SingleDate.js +9 -34
  40. package/emotion/es/components/DatePicker/hooks/useDatePicker.js +49 -21
  41. package/emotion/es/components/DatePicker/hooks/useKeyboardNavigation.js +1 -11
  42. package/emotion/es/components/DatePicker/utils/dateHelper.js +0 -30
  43. package/emotion/es/components/TextArea/TextArea.js +14 -2
  44. package/emotion/es/examples/plasma_b2c/components/Combobox/Combobox.js +2 -1
  45. package/emotion/es/examples/plasma_b2c/components/Combobox/Combobox.stories.tsx +0 -2
  46. package/emotion/es/examples/plasma_web/components/Combobox/Combobox.js +2 -1
  47. package/emotion/es/examples/plasma_web/components/Combobox/Combobox.stories.tsx +0 -2
  48. package/es/components/Combobox/ComboboxNew/utils/filterItems.js +4 -5
  49. package/es/components/Combobox/ComboboxNew/utils/filterItems.js.map +1 -1
  50. package/es/components/DatePicker/RangeDate/RangeDate.css +1 -1
  51. package/es/components/DatePicker/RangeDate/RangeDate.js +17 -79
  52. package/es/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
  53. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +7 -14
  54. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js.map +1 -1
  55. package/es/components/DatePicker/RangeDate/variations/_size/base.js +1 -1
  56. package/es/components/DatePicker/RangeDate/variations/_size/base.js.map +1 -1
  57. package/es/components/DatePicker/RangeDate/variations/_size/base_1911nyw.css +1 -0
  58. package/es/components/DatePicker/SingleDate/SingleDate.js +9 -34
  59. package/es/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
  60. package/es/components/DatePicker/hooks/useDatePicker.js +49 -21
  61. package/es/components/DatePicker/hooks/useDatePicker.js.map +1 -1
  62. package/es/components/DatePicker/hooks/useKeyboardNavigation.js +1 -11
  63. package/es/components/DatePicker/hooks/useKeyboardNavigation.js.map +1 -1
  64. package/es/components/DatePicker/utils/dateHelper.js +1 -31
  65. package/es/components/DatePicker/utils/dateHelper.js.map +1 -1
  66. package/es/components/TextArea/TextArea.js +13 -1
  67. package/es/components/TextArea/TextArea.js.map +1 -1
  68. package/es/index.css +1 -1
  69. package/package.json +2 -2
  70. package/styled-components/cjs/components/Combobox/ComboboxNew/utils/filterItems.js +4 -5
  71. package/styled-components/cjs/components/DatePicker/RangeDate/RangeDate.js +15 -77
  72. package/styled-components/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +7 -14
  73. package/styled-components/cjs/components/DatePicker/RangeDate/variations/_size/base.js +1 -1
  74. package/styled-components/cjs/components/DatePicker/SingleDate/SingleDate.js +8 -33
  75. package/styled-components/cjs/components/DatePicker/hooks/useDatePicker.js +48 -20
  76. package/styled-components/cjs/components/DatePicker/hooks/useKeyboardNavigation.js +1 -11
  77. package/styled-components/cjs/components/DatePicker/utils/dateHelper.js +1 -31
  78. package/styled-components/cjs/components/TextArea/TextArea.js +13 -1
  79. package/styled-components/cjs/examples/plasma_b2c/components/Combobox/Combobox.js +2 -1
  80. package/styled-components/cjs/examples/plasma_b2c/components/Combobox/Combobox.stories.tsx +0 -2
  81. package/styled-components/cjs/examples/plasma_web/components/Combobox/Combobox.js +2 -1
  82. package/styled-components/cjs/examples/plasma_web/components/Combobox/Combobox.stories.tsx +0 -2
  83. package/styled-components/es/components/Combobox/ComboboxNew/utils/filterItems.js +4 -5
  84. package/styled-components/es/components/DatePicker/RangeDate/RangeDate.js +17 -79
  85. package/styled-components/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +7 -14
  86. package/styled-components/es/components/DatePicker/RangeDate/variations/_size/base.js +1 -1
  87. package/styled-components/es/components/DatePicker/SingleDate/SingleDate.js +9 -34
  88. package/styled-components/es/components/DatePicker/hooks/useDatePicker.js +49 -21
  89. package/styled-components/es/components/DatePicker/hooks/useKeyboardNavigation.js +1 -11
  90. package/styled-components/es/components/DatePicker/utils/dateHelper.js +0 -30
  91. package/styled-components/es/components/TextArea/TextArea.js +13 -1
  92. package/styled-components/es/examples/plasma_b2c/components/Combobox/Combobox.js +2 -1
  93. package/styled-components/es/examples/plasma_b2c/components/Combobox/Combobox.stories.tsx +0 -2
  94. package/styled-components/es/examples/plasma_web/components/Combobox/Combobox.js +2 -1
  95. package/styled-components/es/examples/plasma_web/components/Combobox/Combobox.stories.tsx +0 -2
  96. package/types/components/Combobox/ComboboxNew/Combobox.d.ts +2 -2
  97. package/types/components/Combobox/ComboboxNew/Combobox.d.ts.map +1 -1
  98. package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts +6 -7
  99. package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts.map +1 -1
  100. package/types/components/Combobox/ComboboxNew/index.d.ts +2 -0
  101. package/types/components/Combobox/ComboboxNew/index.d.ts.map +1 -1
  102. package/types/components/Combobox/ComboboxNew/utils/filterItems.d.ts +2 -2
  103. package/types/components/Combobox/ComboboxNew/utils/filterItems.d.ts.map +1 -1
  104. package/types/components/Combobox/index.d.ts +1 -0
  105. package/types/components/Combobox/index.d.ts.map +1 -1
  106. package/types/components/DatePicker/DatePickerBase.types.d.ts +6 -8
  107. package/types/components/DatePicker/DatePickerBase.types.d.ts.map +1 -1
  108. package/types/components/DatePicker/RangeDate/RangeDate.d.ts +10 -10
  109. package/types/components/DatePicker/RangeDate/RangeDate.d.ts.map +1 -1
  110. package/types/components/DatePicker/RangeDate/RangeDate.types.d.ts +6 -16
  111. package/types/components/DatePicker/RangeDate/RangeDate.types.d.ts.map +1 -1
  112. package/types/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.d.ts +1 -1
  113. package/types/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.d.ts.map +1 -1
  114. package/types/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.types.d.ts +1 -2
  115. package/types/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.types.d.ts.map +1 -1
  116. package/types/components/DatePicker/RangeDate/variations/_size/base.d.ts.map +1 -1
  117. package/types/components/DatePicker/SingleDate/SingleDate.d.ts +2 -2
  118. package/types/components/DatePicker/SingleDate/SingleDate.d.ts.map +1 -1
  119. package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts +4 -14
  120. package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts.map +1 -1
  121. package/types/components/DatePicker/hooks/useDatePicker.d.ts +3 -2
  122. package/types/components/DatePicker/hooks/useDatePicker.d.ts.map +1 -1
  123. package/types/components/DatePicker/hooks/useKeyboardNavigation.d.ts +1 -3
  124. package/types/components/DatePicker/hooks/useKeyboardNavigation.d.ts.map +1 -1
  125. package/types/components/DatePicker/utils/dateHelper.d.ts +0 -10
  126. package/types/components/DatePicker/utils/dateHelper.d.ts.map +1 -1
  127. package/types/components/Popover/Popover.types.d.ts +1 -1
  128. package/types/components/TextArea/TextArea.d.ts.map +1 -1
  129. package/types/examples/plasma_b2c/components/Combobox/Combobox.d.ts +332 -8
  130. package/types/examples/plasma_b2c/components/Combobox/Combobox.d.ts.map +1 -1
  131. package/types/examples/plasma_b2c/components/DatePicker/DatePicker.d.ts +6 -6
  132. package/types/examples/plasma_b2c/components/DatePicker/DatePicker.d.ts.map +1 -1
  133. package/types/examples/plasma_web/components/Combobox/Combobox.d.ts +332 -8
  134. package/types/examples/plasma_web/components/Combobox/Combobox.d.ts.map +1 -1
  135. package/types/examples/plasma_web/components/DatePicker/DatePicker.d.ts +6 -6
  136. package/types/examples/plasma_web/components/DatePicker/DatePicker.d.ts.map +1 -1
  137. package/cjs/components/DatePicker/RangeDate/variations/_size/base_1d0sbzw.css +0 -1
  138. package/es/components/DatePicker/RangeDate/variations/_size/base_1d0sbzw.css +0 -1
@@ -3,8 +3,7 @@ import { getPlacements } from '../../../../utils';
3
3
  import { StyledPopover } from '../RangeDate.styles';
4
4
  import { StyledCalendar, StyledCalendarDouble } from './RangeDatePopover.styles';
5
5
  export var RangeDatePopover = function RangeDatePopover(_ref) {
6
- var Root = _ref.rootWrapper,
7
- target = _ref.target,
6
+ var target = _ref.target,
8
7
  isOpen = _ref.isOpen,
9
8
  opened = _ref.opened,
10
9
  isDoubleCalendar = _ref.isDoubleCalendar,
@@ -20,10 +19,6 @@ export var RangeDatePopover = function RangeDatePopover(_ref) {
20
19
  disabledQuarterList = _ref.disabledQuarterList,
21
20
  eventYearList = _ref.eventYearList,
22
21
  disabledYearList = _ref.disabledYearList,
23
- _ref$frame = _ref.frame,
24
- frame = _ref$frame === void 0 ? 'document' : _ref$frame,
25
- _ref$usePortal = _ref.usePortal,
26
- usePortal = _ref$usePortal === void 0 ? false : _ref$usePortal,
27
22
  _ref$placement = _ref.placement,
28
23
  placement = _ref$placement === void 0 ? ['top', 'bottom'] : _ref$placement,
29
24
  _ref$closeOnOverlayCl = _ref.closeOnOverlayClick,
@@ -41,8 +36,7 @@ export var RangeDatePopover = function RangeDatePopover(_ref) {
41
36
  if (isDoubleCalendar) {
42
37
  return /*#__PURE__*/React.createElement(StyledPopover, {
43
38
  opened: innerIsOpen,
44
- frame: frame,
45
- usePortal: usePortal,
39
+ usePortal: false,
46
40
  onToggle: onToggle,
47
41
  offset: offset,
48
42
  placement: getPlacements(placement),
@@ -51,7 +45,7 @@ export var RangeDatePopover = function RangeDatePopover(_ref) {
51
45
  isFocusTrapped: false,
52
46
  target: target,
53
47
  preventOverflow: false
54
- }, /*#__PURE__*/React.createElement(Root, null, /*#__PURE__*/React.createElement(StyledCalendarDouble, {
48
+ }, /*#__PURE__*/React.createElement(StyledCalendarDouble, {
55
49
  size: size,
56
50
  value: calendarValue,
57
51
  eventList: eventList,
@@ -68,12 +62,11 @@ export var RangeDatePopover = function RangeDatePopover(_ref) {
68
62
  includeEdgeDates: includeEdgeDates,
69
63
  onChangeValue: onChangeValue,
70
64
  onChangeStartOfRange: onChangeStartOfRange
71
- })));
65
+ }));
72
66
  }
73
67
  return /*#__PURE__*/React.createElement(StyledPopover, {
74
68
  opened: innerIsOpen,
75
- frame: frame,
76
- usePortal: usePortal,
69
+ usePortal: false,
77
70
  onToggle: onToggle,
78
71
  offset: offset,
79
72
  placement: getPlacements(placement),
@@ -83,7 +76,7 @@ export var RangeDatePopover = function RangeDatePopover(_ref) {
83
76
  target: target,
84
77
  preventOverflow: false,
85
78
  closeOnEsc: closeOnEsc
86
- }, /*#__PURE__*/React.createElement(Root, null, /*#__PURE__*/React.createElement(StyledCalendar, {
79
+ }, /*#__PURE__*/React.createElement(StyledCalendar, {
87
80
  size: size,
88
81
  value: calendarValue,
89
82
  eventList: eventList,
@@ -101,5 +94,5 @@ export var RangeDatePopover = function RangeDatePopover(_ref) {
101
94
  includeEdgeDates: includeEdgeDates,
102
95
  onChangeValue: onChangeValue,
103
96
  onChangeStartOfRange: onChangeStartOfRange
104
- })));
97
+ }));
105
98
  };
@@ -1,4 +1,4 @@
1
1
  import { css } from '@emotion/react';
2
2
  import { tokens } from '../../../DatePicker.tokens';
3
3
  import { StyledLabel, LeftHelper } from '../../RangeDate.styles';
4
- export var base = /*#__PURE__*/css(StyledLabel, "{margin:var(", tokens.labelOffset, ");font-family:var(", tokens.labelFontFamily, ");font-size:var(", tokens.labelFontSize, ");font-style:var(", tokens.labelFontStyle, ");font-weight:var(", tokens.labelFontWeight, ");letter-spacing:var(", tokens.labelLetterSpacing, ");line-height:var(", tokens.labelLineHeight, ");}", LeftHelper, "{margin:var(", tokens.leftHelperOffset, ");font-family:var(", tokens.leftHelperFontFamily, ");font-size:var(", tokens.leftHelperFontSize, ");font-style:var(", tokens.leftHelperFontStyle, ");font-weight:var(", tokens.leftHelperFontWeight, ");letter-spacing:var(", tokens.leftHelperLetterSpacing, ");line-height:var(", tokens.leftHelperLineHeight, ");};label:plasma-new-hope__base;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy1lbW90aW9uL2NvbXBvbmVudHMvRGF0ZVBpY2tlci9SYW5nZURhdGUvdmFyaWF0aW9ucy9fc2l6ZS9iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUt1QiIsImZpbGUiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMtZW1vdGlvbi9jb21wb25lbnRzL0RhdGVQaWNrZXIvUmFuZ2VEYXRlL3ZhcmlhdGlvbnMvX3NpemUvYmFzZS50cyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcblxuaW1wb3J0IHsgdG9rZW5zIH0gZnJvbSAnLi4vLi4vLi4vRGF0ZVBpY2tlci50b2tlbnMnO1xuaW1wb3J0IHsgU3R5bGVkTGFiZWwsIExlZnRIZWxwZXIgfSBmcm9tICcuLi8uLi9SYW5nZURhdGUuc3R5bGVzJztcblxuZXhwb3J0IGNvbnN0IGJhc2UgPSBjc3NgXG4gICAgJHtTdHlsZWRMYWJlbH0ge1xuICAgICAgICBtYXJnaW46IHZhcigke3Rva2Vucy5sYWJlbE9mZnNldH0pO1xuXG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoJHt0b2tlbnMubGFiZWxGb250RmFtaWx5fSk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKCR7dG9rZW5zLmxhYmVsRm9udFNpemV9KTtcbiAgICAgICAgZm9udC1zdHlsZTogdmFyKCR7dG9rZW5zLmxhYmVsRm9udFN0eWxlfSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoJHt0b2tlbnMubGFiZWxGb250V2VpZ2h0fSk7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiB2YXIoJHt0b2tlbnMubGFiZWxMZXR0ZXJTcGFjaW5nfSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoJHt0b2tlbnMubGFiZWxMaW5lSGVpZ2h0fSk7XG4gICAgfVxuXG4gICAgJHtMZWZ0SGVscGVyfSB7XG4gICAgICAgIG1hcmdpbjogdmFyKCR7dG9rZW5zLmxlZnRIZWxwZXJPZmZzZXR9KTtcblxuICAgICAgICBmb250LWZhbWlseTogdmFyKCR7dG9rZW5zLmxlZnRIZWxwZXJGb250RmFtaWx5fSk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKCR7dG9rZW5zLmxlZnRIZWxwZXJGb250U2l6ZX0pO1xuICAgICAgICBmb250LXN0eWxlOiB2YXIoJHt0b2tlbnMubGVmdEhlbHBlckZvbnRTdHlsZX0pO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKCR7dG9rZW5zLmxlZnRIZWxwZXJGb250V2VpZ2h0fSk7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiB2YXIoJHt0b2tlbnMubGVmdEhlbHBlckxldHRlclNwYWNpbmd9KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigke3Rva2Vucy5sZWZ0SGVscGVyTGluZUhlaWdodH0pO1xuICAgIH1cbmA7XG4iXX0= */"));
4
+ export var base = /*#__PURE__*/css("width:var(", tokens.width, ");", StyledLabel, "{margin:var(", tokens.labelOffset, ");font-family:var(", tokens.labelFontFamily, ");font-size:var(", tokens.labelFontSize, ");font-style:var(", tokens.labelFontStyle, ");font-weight:var(", tokens.labelFontWeight, ");letter-spacing:var(", tokens.labelLetterSpacing, ");line-height:var(", tokens.labelLineHeight, ");}", LeftHelper, "{margin:var(", tokens.leftHelperOffset, ");font-family:var(", tokens.leftHelperFontFamily, ");font-size:var(", tokens.leftHelperFontSize, ");font-style:var(", tokens.leftHelperFontStyle, ");font-weight:var(", tokens.leftHelperFontWeight, ");letter-spacing:var(", tokens.leftHelperLetterSpacing, ");line-height:var(", tokens.leftHelperLineHeight, ");};label:plasma-new-hope__base;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy1lbW90aW9uL2NvbXBvbmVudHMvRGF0ZVBpY2tlci9SYW5nZURhdGUvdmFyaWF0aW9ucy9fc2l6ZS9iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUt1QiIsImZpbGUiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMtZW1vdGlvbi9jb21wb25lbnRzL0RhdGVQaWNrZXIvUmFuZ2VEYXRlL3ZhcmlhdGlvbnMvX3NpemUvYmFzZS50cyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcblxuaW1wb3J0IHsgdG9rZW5zIH0gZnJvbSAnLi4vLi4vLi4vRGF0ZVBpY2tlci50b2tlbnMnO1xuaW1wb3J0IHsgU3R5bGVkTGFiZWwsIExlZnRIZWxwZXIgfSBmcm9tICcuLi8uLi9SYW5nZURhdGUuc3R5bGVzJztcblxuZXhwb3J0IGNvbnN0IGJhc2UgPSBjc3NgXG4gICAgd2lkdGg6IHZhcigke3Rva2Vucy53aWR0aH0pO1xuXG4gICAgJHtTdHlsZWRMYWJlbH0ge1xuICAgICAgICBtYXJnaW46IHZhcigke3Rva2Vucy5sYWJlbE9mZnNldH0pO1xuXG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoJHt0b2tlbnMubGFiZWxGb250RmFtaWx5fSk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKCR7dG9rZW5zLmxhYmVsRm9udFNpemV9KTtcbiAgICAgICAgZm9udC1zdHlsZTogdmFyKCR7dG9rZW5zLmxhYmVsRm9udFN0eWxlfSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoJHt0b2tlbnMubGFiZWxGb250V2VpZ2h0fSk7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiB2YXIoJHt0b2tlbnMubGFiZWxMZXR0ZXJTcGFjaW5nfSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoJHt0b2tlbnMubGFiZWxMaW5lSGVpZ2h0fSk7XG4gICAgfVxuXG4gICAgJHtMZWZ0SGVscGVyfSB7XG4gICAgICAgIG1hcmdpbjogdmFyKCR7dG9rZW5zLmxlZnRIZWxwZXJPZmZzZXR9KTtcblxuICAgICAgICBmb250LWZhbWlseTogdmFyKCR7dG9rZW5zLmxlZnRIZWxwZXJGb250RmFtaWx5fSk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKCR7dG9rZW5zLmxlZnRIZWxwZXJGb250U2l6ZX0pO1xuICAgICAgICBmb250LXN0eWxlOiB2YXIoJHt0b2tlbnMubGVmdEhlbHBlckZvbnRTdHlsZX0pO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKCR7dG9rZW5zLmxlZnRIZWxwZXJGb250V2VpZ2h0fSk7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiB2YXIoJHt0b2tlbnMubGVmdEhlbHBlckxldHRlclNwYWNpbmd9KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigke3Rva2Vucy5sZWZ0SGVscGVyTGluZUhlaWdodH0pO1xuICAgIH1cbmA7XG4iXX0= */"));
@@ -1,4 +1,4 @@
1
- var _excluded = ["className", "opened", "label", "labelPlacement", "placeholder", "leftHelper", "contentLeft", "contentRight", "textBefore", "textAfter", "view", "size", "readOnly", "disabled", "name", "defaultDate", "valueError", "valueSuccess", "format", "lang", "maskWithFormat", "min", "max", "includeEdgeDates", "eventList", "disabledList", "eventMonthList", "disabledMonthList", "eventQuarterList", "disabledQuarterList", "eventYearList", "disabledYearList", "type", "frame", "usePortal", "placement", "closeOnOverlayClick", "closeOnEsc", "offset", "onChangeValue", "onCommitDate", "onToggle", "onFocus", "onBlur", "onChange"];
1
+ var _excluded = ["className", "opened", "label", "labelPlacement", "placeholder", "leftHelper", "contentLeft", "contentRight", "textBefore", "textAfter", "view", "size", "readOnly", "disabled", "name", "defaultDate", "valueError", "valueSuccess", "format", "lang", "maskWithFormat", "min", "max", "includeEdgeDates", "eventList", "disabledList", "eventMonthList", "disabledMonthList", "eventQuarterList", "disabledQuarterList", "eventYearList", "disabledYearList", "type", "placement", "closeOnOverlayClick", "offset", "onChangeValue", "onCommitDate", "onToggle", "onFocus", "onBlur", "onChange"];
2
2
  function _extends() { _extends = 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.apply(this, arguments); }
3
3
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
4
4
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -14,7 +14,7 @@ import { formatCalendarValue, formatInputValue, getDateFormatDelimiter } from '.
14
14
  import { useDatePicker } from '../hooks/useDatePicker';
15
15
  import { classes } from '../DatePicker.tokens';
16
16
  import { InputHidden, StyledCalendar } from '../DatePickerBase.styles';
17
- import { keys, useKeyNavigation } from '../hooks/useKeyboardNavigation';
17
+ import { useKeyNavigation } from '../hooks/useKeyboardNavigation';
18
18
  import { base as sizeCSS } from './variations/_size/base';
19
19
  import { base as viewCSS } from './variations/_view/base';
20
20
  import { base as disabledCSS } from './variations/_disabled/base';
@@ -64,16 +64,10 @@ export var datePickerRoot = function datePickerRoot(Root) {
64
64
  disabledYearList = _ref.disabledYearList,
65
65
  _ref$type = _ref.type,
66
66
  type = _ref$type === void 0 ? 'Days' : _ref$type,
67
- _ref$frame = _ref.frame,
68
- frame = _ref$frame === void 0 ? 'document' : _ref$frame,
69
- _ref$usePortal = _ref.usePortal,
70
- usePortal = _ref$usePortal === void 0 ? false : _ref$usePortal,
71
67
  _ref$placement = _ref.placement,
72
68
  placement = _ref$placement === void 0 ? ['top', 'bottom'] : _ref$placement,
73
69
  _ref$closeOnOverlayCl = _ref.closeOnOverlayClick,
74
70
  closeOnOverlayClick = _ref$closeOnOverlayCl === void 0 ? true : _ref$closeOnOverlayCl,
75
- _ref$closeOnEsc = _ref.closeOnEsc,
76
- closeOnEsc = _ref$closeOnEsc === void 0 ? true : _ref$closeOnEsc,
77
71
  offset = _ref.offset,
78
72
  onChangeValue = _ref.onChangeValue,
79
73
  onCommitDate = _ref.onCommitDate,
@@ -108,6 +102,7 @@ export var datePickerRoot = function datePickerRoot(Root) {
108
102
  currentValue: inputValue,
109
103
  setInputValue: setInputValue,
110
104
  setCalendarValue: setCalendarValue,
105
+ setIsInnerOpen: setIsInnerOpen,
111
106
  dateFormatDelimiter: dateFormatDelimiter,
112
107
  format: format,
113
108
  lang: lang,
@@ -116,34 +111,21 @@ export var datePickerRoot = function datePickerRoot(Root) {
116
111
  maskWithFormat: maskWithFormat,
117
112
  valueError: valueError,
118
113
  valueSuccess: valueSuccess,
114
+ inputRef: inputRef,
119
115
  name: name,
116
+ onToggle: onToggle,
120
117
  onChangeValue: onChangeValue,
121
118
  onCommitDate: onCommitDate,
122
119
  onChange: onChange
123
120
  }),
124
121
  datePickerErrorClass = _useDatePicker.datePickerErrorClass,
125
122
  datePickerSuccessClass = _useDatePicker.datePickerSuccessClass,
123
+ handleToggle = _useDatePicker.handleToggle,
126
124
  handleChangeValue = _useDatePicker.handleChangeValue,
127
125
  handleCommitDate = _useDatePicker.handleCommitDate;
128
- var handleToggle = function handleToggle(opened, event) {
129
- if (disabled || readOnly) {
130
- return;
131
- }
132
- var isCalendarOpen = event.target === (inputRef === null || inputRef === void 0 ? void 0 : inputRef.current) && event.code !== keys.Escape ? true : opened;
133
- if (!isCalendarOpen && inputValue) {
134
- var _inputRef$current;
135
- inputRef === null || inputRef === void 0 || (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 || _inputRef$current.focus();
136
- }
137
- if (onToggle) {
138
- onToggle(isCalendarOpen, event);
139
- return;
140
- }
141
- setIsInnerOpen(isCalendarOpen);
142
- };
143
126
  var _useKeyNavigation = useKeyNavigation({
144
127
  isCalendarOpen: isInnerOpen,
145
- onToggle: handleToggle,
146
- closeOnEsc: closeOnEsc
128
+ onToggle: handleToggle
147
129
  }),
148
130
  onKeyDown = _useKeyNavigation.onKeyDown;
149
131
  var DatePickerInput = /*#__PURE__*/React.createElement(StyledInput, _extends({
@@ -199,8 +181,7 @@ export var datePickerRoot = function datePickerRoot(Root) {
199
181
  ref: ref
200
182
  }, rest), !innerLabelPlacement && label && /*#__PURE__*/React.createElement(StyledLabel, null, label), /*#__PURE__*/React.createElement(StyledPopover, {
201
183
  opened: isInnerOpen,
202
- usePortal: usePortal,
203
- frame: frame,
184
+ usePortal: false,
204
185
  onToggle: handleToggle,
205
186
  offset: offset,
206
187
  placement: getPlacements(placement),
@@ -209,12 +190,6 @@ export var datePickerRoot = function datePickerRoot(Root) {
209
190
  isFocusTrapped: false,
210
191
  target: DatePickerInput,
211
192
  preventOverflow: false
212
- }, /*#__PURE__*/React.createElement(Root, {
213
- view: view,
214
- size: size,
215
- className: cx(classes.datePickerRoot, className),
216
- disabled: disabled,
217
- readOnly: !disabled && readOnly
218
193
  }, /*#__PURE__*/React.createElement(StyledCalendar, {
219
194
  size: size,
220
195
  value: calendarValue,
@@ -235,7 +210,7 @@ export var datePickerRoot = function datePickerRoot(Root) {
235
210
  onChangeValue: function onChangeValue(date, dateInfo) {
236
211
  return handleCommitDate(date, false, true, dateInfo);
237
212
  }
238
- }))), leftHelper && /*#__PURE__*/React.createElement(LeftHelper, null, leftHelper), /*#__PURE__*/React.createElement(InputHidden, _extends({
213
+ })), leftHelper && /*#__PURE__*/React.createElement(LeftHelper, null, leftHelper), /*#__PURE__*/React.createElement(InputHidden, _extends({
239
214
  type: "hidden",
240
215
  datatype: "datepicker-single",
241
216
  name: name,
@@ -1,9 +1,11 @@
1
1
  import { classes } from '../DatePicker.tokens';
2
- import { formatCalendarValue, formatInputValue, getDateFromFormat, getMaskedDateOnInput, validateDateWithFullMonth } from '../utils/dateHelper';
2
+ import { formatCalendarValue, formatInputValue, getDateFromFormat, getMaskedDateOnInput } from '../utils/dateHelper';
3
+ import { customDayjs } from '../../../utils/datejs';
3
4
  export var useDatePicker = function useDatePicker(_ref) {
4
5
  var currentValue = _ref.currentValue,
5
6
  setInputValue = _ref.setInputValue,
6
7
  setCalendarValue = _ref.setCalendarValue,
8
+ setIsInnerOpen = _ref.setIsInnerOpen,
7
9
  dateFormatDelimiter = _ref.dateFormatDelimiter,
8
10
  format = _ref.format,
9
11
  _ref$lang = _ref.lang,
@@ -13,12 +15,24 @@ export var useDatePicker = function useDatePicker(_ref) {
13
15
  maskWithFormat = _ref.maskWithFormat,
14
16
  valueError = _ref.valueError,
15
17
  valueSuccess = _ref.valueSuccess,
18
+ inputRef = _ref.inputRef,
16
19
  name = _ref.name,
20
+ onToggle = _ref.onToggle,
17
21
  onChangeValue = _ref.onChangeValue,
18
22
  onCommitDate = _ref.onCommitDate,
19
23
  onChange = _ref.onChange;
20
24
  var datePickerErrorClass = valueError ? classes.datePickerError : undefined;
21
25
  var datePickerSuccessClass = valueSuccess ? classes.datePickerSuccess : undefined;
26
+ var handleToggle = function handleToggle(opened, event) {
27
+ if (disabled || readOnly) {
28
+ return;
29
+ }
30
+ var isCalendarOpen = event.target === (inputRef === null || inputRef === void 0 ? void 0 : inputRef.current) ? true : opened;
31
+ if (onToggle) {
32
+ return onToggle(isCalendarOpen, event);
33
+ }
34
+ setIsInnerOpen(isCalendarOpen);
35
+ };
22
36
  var handleChangeValue = function handleChangeValue(event) {
23
37
  if (disabled || readOnly) {
24
38
  return;
@@ -41,14 +55,24 @@ export var useDatePicker = function useDatePicker(_ref) {
41
55
  });
42
56
  return;
43
57
  }
44
- var _validateDateWithFull = validateDateWithFullMonth({
45
- currentValue: newValue,
46
- format: format,
47
- lang: lang
48
- }),
49
- hasMonthFullName = _validateDateWithFull.hasMonthFullName,
50
- isValidMonth = _validateDateWithFull.isValidMonth,
51
- isLengthEqual = _validateDateWithFull.isLengthEqual;
58
+
59
+ /**
60
+ * NOTE: если в формате даты есть месяц в полном названии или сокращенном,
61
+ * нужно дополнительно проводить валидацию на полноту введенной даты.
62
+ * Иначе dayjs циклически будет пытаться отформатировать некорректную дату.
63
+ */
64
+ var hasMonthFullName = /M{3,4}/g.test(format);
65
+ var isValidMonth;
66
+ var isLengthEqual;
67
+ if (hasMonthFullName) {
68
+ customDayjs.locale(lang);
69
+ var firstIndexOfMonth = format.indexOf('M');
70
+ var lastIndexOfMonth = newValue.indexOf(dateFormatDelimiter(), firstIndexOfMonth);
71
+ var fullMonthName = !lastIndexOfMonth ? newValue.slice(firstIndexOfMonth) : newValue.slice(firstIndexOfMonth, lastIndexOfMonth);
72
+ var monthFormatting = format.replace(/[^M]/g, '');
73
+ isValidMonth = customDayjs("01 ".concat(fullMonthName, " 1970"), "DD ".concat(monthFormatting, " YYYY"), true).isValid();
74
+ isLengthEqual = format.length - monthFormatting.length === newValue.length - fullMonthName.length;
75
+ }
52
76
  if (!hasMonthFullName && (newValue === null || newValue === void 0 ? void 0 : newValue.length) === (format === null || format === void 0 ? void 0 : format.length) || isValidMonth && isLengthEqual) {
53
77
  setCalendarValue(formatCalendarValue(newValue, format, lang));
54
78
  }
@@ -78,18 +102,20 @@ export var useDatePicker = function useDatePicker(_ref) {
78
102
  return onCommitDate === null || onCommitDate === void 0 ? void 0 : onCommitDate('', false, true);
79
103
  }
80
104
  if (isCalendarValue) {
81
- var _formattedInputValue = formatInputValue({
105
+ setCalendarValue(formatCalendarValue(date, format, lang));
106
+ setInputValue(formatInputValue({
82
107
  value: date,
83
108
  format: format,
84
109
  lang: lang
85
- });
86
- setCalendarValue(formatCalendarValue(date, format, lang));
87
- setInputValue(_formattedInputValue);
110
+ }));
88
111
  onCommitDate === null || onCommitDate === void 0 || onCommitDate(date, false, true, dateInfo);
89
- onChangeValue === null || onChangeValue === void 0 || onChangeValue(null, _formattedInputValue);
90
112
  onChange === null || onChange === void 0 || onChange({
91
113
  target: {
92
- value: _formattedInputValue,
114
+ value: formatInputValue({
115
+ value: date,
116
+ format: format,
117
+ lang: lang
118
+ }),
93
119
  name: name
94
120
  }
95
121
  });
@@ -100,18 +126,19 @@ export var useDatePicker = function useDatePicker(_ref) {
100
126
  newDate = _getDateFromFormat.value,
101
127
  isError = _getDateFromFormat.isError,
102
128
  isSuccess = _getDateFromFormat.isSuccess;
103
- var formattedInputValue = formatInputValue({
129
+ setCalendarValue(formatCalendarValue(newDate, format, lang));
130
+ setInputValue(formatInputValue({
104
131
  value: newDate,
105
132
  format: format,
106
133
  lang: lang
107
- });
108
- setCalendarValue(formatCalendarValue(newDate, format, lang));
109
- setInputValue(formattedInputValue);
134
+ }));
110
135
  onCommitDate === null || onCommitDate === void 0 || onCommitDate(newDate, isError, isSuccess);
111
- onChangeValue === null || onChangeValue === void 0 || onChangeValue(null, formattedInputValue);
112
136
  onChange === null || onChange === void 0 || onChange({
113
137
  target: {
114
- value: formattedInputValue,
138
+ value: formatInputValue({
139
+ value: date,
140
+ format: format
141
+ }),
115
142
  name: name
116
143
  }
117
144
  });
@@ -119,6 +146,7 @@ export var useDatePicker = function useDatePicker(_ref) {
119
146
  return {
120
147
  datePickerErrorClass: datePickerErrorClass,
121
148
  datePickerSuccessClass: datePickerSuccessClass,
149
+ handleToggle: handleToggle,
122
150
  handleChangeValue: handleChangeValue,
123
151
  handleCommitDate: handleCommitDate
124
152
  };
@@ -1,10 +1,8 @@
1
1
  export var keys = {
2
- Space: 'Space',
3
- Escape: 'Escape'
2
+ Space: 'Space'
4
3
  };
5
4
  export var useKeyNavigation = function useKeyNavigation(_ref) {
6
5
  var isCalendarOpen = _ref.isCalendarOpen,
7
- closeOnEsc = _ref.closeOnEsc,
8
6
  onToggle = _ref.onToggle;
9
7
  var onKeyDown = function onKeyDown(event) {
10
8
  switch (event.code) {
@@ -16,14 +14,6 @@ export var useKeyNavigation = function useKeyNavigation(_ref) {
16
14
  }
17
15
  break;
18
16
  }
19
- case keys.Escape:
20
- {
21
- if (isCalendarOpen && closeOnEsc) {
22
- event.preventDefault();
23
- onToggle(false, event);
24
- }
25
- break;
26
- }
27
17
  default:
28
18
  {
29
19
  break;
@@ -78,34 +78,4 @@ export var getMaskedDateOnInput = function getMaskedDateOnInput(value, format, d
78
78
  return value + delimiter;
79
79
  }
80
80
  return value;
81
- };
82
- export var validateDateWithFullMonth = function validateDateWithFullMonth(_ref2) {
83
- var currentValue = _ref2.currentValue,
84
- format = _ref2.format,
85
- lang = _ref2.lang;
86
- /**
87
- * NOTE: если в формате даты есть месяц в полном названии или сокращенном,
88
- * нужно дополнительно проводить валидацию на полноту введенной даты.
89
- * Иначе dayjs циклически будет пытаться отформатировать некорректную дату.
90
- */
91
- var hasMonthFullName = /M{3,4}/g.test(format);
92
- if (!hasMonthFullName) {
93
- return {
94
- hasMonthFullName: hasMonthFullName,
95
- isValidMonth: false,
96
- isLengthEqual: false
97
- };
98
- }
99
- customDayjs.locale(lang);
100
- var firstIndexOfMonth = format.indexOf('M');
101
- var lastIndexOfMonth = currentValue.indexOf(getDateFormatDelimiter(format), firstIndexOfMonth);
102
- var fullMonthName = !lastIndexOfMonth ? currentValue.slice(firstIndexOfMonth) : currentValue.slice(firstIndexOfMonth, lastIndexOfMonth);
103
- var monthFormatting = format.replace(/[^M]/g, '');
104
- var isValidMonth = customDayjs("01 ".concat(fullMonthName, " 1970"), "DD ".concat(monthFormatting, " YYYY"), true).isValid();
105
- var isLengthEqual = format.length - monthFormatting.length === currentValue.length - fullMonthName.length;
106
- return {
107
- hasMonthFullName: hasMonthFullName,
108
- isValidMonth: isValidMonth,
109
- isLengthEqual: isLengthEqual
110
- };
111
81
  };
@@ -39,7 +39,7 @@ var innerPlaceholderUp = classes.innerPlaceholderUp,
39
39
  styledPlaceholder = classes.styledPlaceholder,
40
40
  styledHelpers = classes.styledHelpers;
41
41
  var optionalText = 'optional';
42
- var base = /*#__PURE__*/css(applyDynamicLabel, ";position:relative;box-sizing:border-box;;label:plasma-new-hope__base;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy1lbW90aW9uL2NvbXBvbmVudHMvVGV4dEFyZWEvVGV4dEFyZWEudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTBDZ0IiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjLWVtb3Rpb24vY29tcG9uZW50cy9UZXh0QXJlYS9UZXh0QXJlYS50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgZm9yd2FyZFJlZiwgdXNlU3RhdGUsIGNyZWF0ZVJlZiwgdXNlQ2FsbGJhY2sgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgeyB1c2VSZXNpemVPYnNlcnZlciB9IGZyb20gJ0BzYWx1dGVqcy9wbGFzbWEtY29yZSc7XG5cbmltcG9ydCB7IGN4LCBtZXJnZVJlZnMgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgdHlwZSB7IFJvb3RQcm9wcyB9IGZyb20gJy4uLy4uL2VuZ2luZXMvdHlwZXMnO1xuXG5pbXBvcnQgeyBhcHBseUR5bmFtaWNMYWJlbCB9IGZyb20gJy4vbWl4aW5zJztcbmltcG9ydCB7IHVzZUF1dG9SZXNpemUsIFJPT1RfRk9OVF9TSVpFIH0gZnJvbSAnLi9ob29rcyc7XG5pbXBvcnQge1xuICAgIFN0eWxlZENvbnRlbnQsXG4gICAgU3R5bGVkSGVscGVycyxcbiAgICBTdHlsZWRMZWZ0SGVscGVyLFxuICAgIFN0eWxlZFJpZ2h0SGVscGVyLFxuICAgIFN0eWxlZExhYmVsLFxuICAgIFN0eWxlZFBsYWNlaG9sZGVyLFxuICAgIFN0eWxlZFRleHRBcmVhLFxuICAgIFN0eWxlZFRleHRBcmVhV3JhcHBlcixcbiAgICBTdHlsZWRDb250YWluZXIsXG4gICAgU3R5bGVkSW5kaWNhdG9yLFxuICAgIFN0eWxlZE9wdGlvbmFsVGV4dCxcbn0gZnJvbSAnLi9UZXh0QXJlYS5zdHlsZXMnO1xuaW1wb3J0IHsgY2xhc3NlcyB9IGZyb20gJy4vVGV4dEFyZWEudG9rZW5zJztcbmltcG9ydCB7IGJhc2UgYXMgdmlld0NTUyB9IGZyb20gJy4vdmFyaWF0aW9ucy9fdmlldy9iYXNlJztcbmltcG9ydCB7IGJhc2UgYXMgc2l6ZUNTUyB9IGZyb20gJy4vdmFyaWF0aW9ucy9fc2l6ZS9iYXNlJztcbmltcG9ydCB7IGJhc2UgYXMgY2xlYXJDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX2NsZWFyL2Jhc2UnO1xuaW1wb3J0IHsgYmFzZSBhcyBkaXNhYmxlZENTUyB9IGZyb20gJy4vdmFyaWF0aW9ucy9fZGlzYWJsZWQvYmFzZSc7XG5pbXBvcnQgdHlwZSB7IFRleHRBcmVhUHJvcHMgfSBmcm9tICcuL1RleHRBcmVhLnR5cGVzJztcblxuY29uc3Qge1xuICAgIGlubmVyUGxhY2Vob2xkZXJVcCxcbiAgICBmb2N1c2VkT3V0ZXJQbGFjZWhvbGRlckNvbG9yLFxuICAgIGhpZGVQbGFjZUhvbGRlcixcbiAgICBzdHlsZWRDb250YWluZXIsXG4gICAgc3R5bGVkVGV4dEFyZWEsXG4gICAgc3R5bGVkVGV4dEFyZWFXcmFwcGVyLFxuICAgIHN0eWxlZFBsYWNlaG9sZGVyLFxuICAgIHN0eWxlZEhlbHBlcnMsXG59ID0gY2xhc3NlcztcblxuY29uc3Qgb3B0aW9uYWxUZXh0ID0gJ29wdGlvbmFsJztcblxuY29uc3QgYmFzZSA9IGNzc2BcbiAgICAke2FwcGx5RHluYW1pY0xhYmVsfTtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuYDtcblxuLy8gVE9ETzog0KPQtNCw0LvQuNGC0Ywg0L/QvtGB0LvQtSDQvtGC0LrQsNC30LAg0L7RgiDRgdGC0LDRgNGL0YUg0LHQuNCx0LvQuNC+0YLQtdC6IHBsYXNtYS13ZWIgLyBwbGFzbWEtYjJjXG5jb25zdCBmYWxsYmFja1N0YXR1c01hcCA9IHtcbiAgICAnJzogJ3ByaW1hcnknLFxuICAgIHN1Y2Nlc3M6ICdwb3NpdGl2ZScsXG4gICAgd2FybmluZzogJ3dhcm5pbmcnLFxuICAgIGVycm9yOiAnbmVnYXRpdmUnLFxufTtcblxuLy8gVE9ETzog0J/QtdGA0LXQvdC10YHRgtC4INGN0YLQvtGCINC80LXRgtC+0LQg0LIg0YTQsNC50LsgYXBwbHlEeW5hbWljTGFiZWwudHNcbmV4cG9ydCBjb25zdCBnZXREeW5hbWljTGFiZWxDbGFzc2VzID0gKHByb3BzOiBUZXh0QXJlYVByb3BzLCBmb2N1c2VkOiBib29sZWFuKSA9PiB7XG4gICAgY29uc3QgeyByZWFkT25seSwgbGFiZWwsIGxhYmVsUGxhY2VtZW50LCByb3dzLCB2YWx1ZSwgc2l6ZSB9ID0gcHJvcHM7XG5cbiAgICAvLyDQlNC+0LHQsNCy0LjRgtGMINC60LvQsNGB0YEg0L7RgtCy0LXRh9Cw0Y7RidC40Lkg0LfQsCDQuNC30LzQtdC90LXQvdC40LUg0YbQstC10YLQsCDQv9C70LXQudGB0YXQvtC70LTQtdGA0LAg0L/RgNC4INGE0L7QutGD0YHQtVxuICAgIGNvbnN0IHdpdGhGb2N1c2VkT3V0ZXJVcFBsYWNlaG9sZGVyID1cbiAgICAgICAgIXJlYWRPbmx5ICYmIGZvY3VzZWQgJiYgKCFsYWJlbCB8fCBsYWJlbFBsYWNlbWVudCA9PT0gJ291dGVyJykgPyBmb2N1c2VkT3V0ZXJQbGFjZWhvbGRlckNvbG9yIDogdW5kZWZpbmVkO1xuXG4gICAgLy8g0JTQvtCx0LDQstC40YLRjCDQutC70LDRgdGBINC+0YLQstC10YfQsNGO0YnQuNC5INC30LAg0L/QvtC00L3Rj9GC0LjQtSDQuCDRg9C80LXQvdGM0YjQtdC90LjQtSDQv9C70LXQudGB0YXQvtC70LTQtdGA0LBcbiAgICBjb25zdCB3aXRoSW5uZXJQbGFjZWhvbGRlclVwID1cbiAgICAgICAgbGFiZWxQbGFjZW1lbnQgPT09ICdpbm5lcicgJiZcbiAgICAgICAgbGFiZWwgJiZcbiAgICAgICAgIXJvd3MgJiZcbiAgICAgICAgc2l6ZSAhPT0gJ3hzJyAmJlxuICAgICAgICAoKCFyZWFkT25seSAmJiAodmFsdWUgfHwgZm9jdXNlZCkpIHx8IChyZWFkT25seSAmJiB2YWx1ZSkpXG4gICAgICAgICAgICA/IGlubmVyUGxhY2Vob2xkZXJVcFxuICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICAvLyDQlNC+0LHQsNCy0LjRgtGMINC60LvQsNGB0YEg0L7RgtCy0LXRh9Cw0Y7RidC40Lkg0LfQsCDRgdC60YDRi9GC0LjQtSDQv9C70LXQudGB0YXQvtC70LTQtdGA0LBcbiAgICBjb25zdCB3aXRoSGlkZVBsYWNlaG9sZGVyID1cbiAgICAgICAgKHZhbHVlICYmICFsYWJlbCkgfHxcbiAgICAgICAgKGxhYmVsUGxhY2VtZW50ID09PSAnaW5uZXInICYmICgoZm9jdXNlZCAmJiAhcmVhZE9ubHkpIHx8IHZhbHVlKSAmJiBsYWJlbCAmJiByb3dzKSB8fFxuICAgICAgICAobGFiZWxQbGFjZW1lbnQgPT09ICdvdXRlcicgJiYgdmFsdWUpIHx8XG4gICAgICAgIChsYWJlbFBsYWNlbWVudCA9PT0gJ2lubmVyJyAmJiBzaXplID09PSAneHMnICYmIHZhbHVlKVxuICAgICAgICAgICAgPyBoaWRlUGxhY2VIb2xkZXJcbiAgICAgICAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgcmV0dXJuIFt3aXRoRm9jdXNlZE91dGVyVXBQbGFjZWhvbGRlciwgd2l0aElubmVyUGxhY2Vob2xkZXJVcCwgd2l0aEhpZGVQbGFjZWhvbGRlcl07XG59O1xuXG5leHBvcnQgY29uc3QgdGV4dEFyZWFSb290ID0gKFJvb3Q6IFJvb3RQcm9wczxIVE1MVGV4dEFyZWFFbGVtZW50LCBUZXh0QXJlYVByb3BzPikgPT5cbiAgICBmb3J3YXJkUmVmPEhUTUxUZXh0QXJlYUVsZW1lbnQsIFRleHRBcmVhUHJvcHM+KChwcm9wcywgaW5uZXJSZWYpID0+IHtcbiAgICAgICAgY29uc3Qge1xuICAgICAgICAgICAgaGVscGVyVGV4dCxcbiAgICAgICAgICAgIHN0YXR1cyxcbiAgICAgICAgICAgIHJlc2l6ZSxcbiAgICAgICAgICAgIHJpZ2h0SGVscGVyLFxuICAgICAgICAgICAgbGVmdEhlbHBlcixcbiAgICAgICAgICAgIGNvbnRlbnRSaWdodCxcbiAgICAgICAgICAgIGF1dG9SZXNpemUgPSBmYWxzZSxcbiAgICAgICAgICAgIG1pbkF1dG8gPSAwLFxuICAgICAgICAgICAgbWF4QXV0byxcbiAgICAgICAgICAgIGxhYmVsLFxuICAgICAgICAgICAgbGFiZWxQbGFjZW1lbnQgPSAnaW5uZXInLFxuICAgICAgICAgICAgcGxhY2Vob2xkZXIsXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWUsXG4gICAgICAgICAgICBoZWlnaHQsXG4gICAgICAgICAgICB3aWR0aCxcbiAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgZGlzYWJsZWQsXG4gICAgICAgICAgICByZXF1aXJlZCA9IGZhbHNlLFxuICAgICAgICAgICAgcmVxdWlyZWRQbGFjZW1lbnQgPSAncmlnaHQnLFxuICAgICAgICAgICAgb3B0aW9uYWwgPSBmYWxzZSxcbiAgICAgICAgICAgIGNsZWFyLFxuICAgICAgICAgICAgaGFzRGl2aWRlcixcbiAgICAgICAgICAgIHNpemUsXG4gICAgICAgICAgICB2aWV3LFxuICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICBzdHlsZSxcbiAgICAgICAgICAgIGNsYXNzTmFtZSxcbiAgICAgICAgICAgIHJlYWRPbmx5LFxuICAgICAgICAgICAgcm93cyxcbiAgICAgICAgICAgIGNvbHMsXG4gICAgICAgICAgICBvbkNoYW5nZSxcbiAgICAgICAgICAgIC4uLnJlc3RcbiAgICAgICAgfSA9IHByb3BzO1xuXG4gICAgICAgIGNvbnN0IFtoZWxwZXJXaWR0aCwgc2V0SGVscGVyV2lkdGhdID0gdXNlU3RhdGU8c3RyaW5nPih3aWR0aCA/IGAke3dpZHRofXJlbWAgOiAnMTAwJScpO1xuICAgICAgICBjb25zdCBbZm9jdXNlZCwgc2V0Rm9jdXNlZF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgICAgIGNvbnN0IFt1bmNvbnRyb2xsZWRWYWx1ZSwgc2V0VW5jb250cm9sbGVkVmFsdWVdID0gdXNlU3RhdGU8c3RyaW5nIHwgdW5kZWZpbmVkPigpO1xuXG4gICAgICAgIGNvbnN0IG91dGVyUmVmID0gY3JlYXRlUmVmPEhUTUxUZXh0QXJlYUVsZW1lbnQ+KCk7XG5cbiAgICAgICAgY29uc3QgaW5uZXJPcHRpb25hbCA9IHJlcXVpcmVkID8gZmFsc2UgOiBvcHRpb25hbDtcbiAgICAgICAgY29uc3QgaGFzSGVscGVyID0gQm9vbGVhbihsZWZ0SGVscGVyIHx8IHJpZ2h0SGVscGVyIHx8IGhlbHBlclRleHQpO1xuICAgICAgICBjb25zdCBoYXNPdXRlckxhYmVsID0gQm9vbGVhbihsYWJlbCAmJiBsYWJlbFBsYWNlbWVudCA9PT0gJ291dGVyJyk7XG4gICAgICAgIGNvbnN0IGhhc0lubmVyTGFiZWwgPSBCb29sZWFuKGxhYmVsICYmIGxhYmVsUGxhY2VtZW50ID09PSAnaW5uZXInICYmIHNpemUgIT09ICd4cycpO1xuICAgICAgICBjb25zdCBoYXNQbGFjZWhvbGRlck9wdGlvbmFsID0gaW5uZXJPcHRpb25hbCAmJiAhaGFzT3V0ZXJMYWJlbDtcblxuICAgICAgICBjb25zdCBvdmVycmlkZGVuVmlldyA9IHN0YXR1cyAhPT0gdW5kZWZpbmVkID8gZmFsbGJhY2tTdGF0dXNNYXBbc3RhdHVzXSA6IHZpZXc7XG4gICAgICAgIGNvbnN0IHRleHRhcmVhSGVscGVySWQgPSBpZCA/IGAke2lkfS1oZWxwZXJgIDogdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBhcHBseUN1c3RvbVdpZHRoID0gcmVzaXplICE9PSAnaG9yaXpvbnRhbCcgJiYgcmVzaXplICE9PSAnYm90aCcgJiYgIWNvbHM7XG4gICAgICAgIGNvbnN0IHBsYWNlaG9sZGVyTGFiZWwgPSBoYXNJbm5lckxhYmVsID8gbGFiZWwgOiBwbGFjZWhvbGRlcjtcblxuICAgICAgICBjb25zdCBjbGVhckNsYXNzID0gY2xlYXIgPyBjbGFzc2VzLmNsZWFyIDogdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBoYXNSaWdodENvbnRlbnRDbGFzcyA9IGNvbnRlbnRSaWdodCA/IGNsYXNzZXMuaGFzUmlnaHRDb250ZW50IDogdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBoYXNEaXZpZGVyQ2xhc3MgPSBoYXNEaXZpZGVyID8gY2xhc3Nlcy5oYXNEaXZpZGVyIDogdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCByZXF1aXJlZFBsYWNlbWVudENsYXNzID0gcmVxdWlyZWRQbGFjZW1lbnQgPT09ICdyaWdodCcgPyAnYWxpZ24tcmlnaHQgJyA6IHVuZGVmaW5lZDtcblxuICAgICAgICB1c2VSZXNpemVPYnNlcnZlcihvdXRlclJlZiwgKGN1cnJlbnRFbGVtZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IHdpZHRoOiBpbmxpbmVXaWR0aCB9ID0gY3VycmVudEVsZW1lbnQuc3R5bGU7XG5cbiAgICAgICAgICAgIGlmIChpbmxpbmVXaWR0aCB8fCBjb2xzKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyB3aWR0aDogZWxlbWVudFdpZHRoIH0gPSBjdXJyZW50RWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgICAgICBzZXRIZWxwZXJXaWR0aChgJHtlbGVtZW50V2lkdGggLyBST09UX0ZPTlRfU0laRX1yZW1gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdXNlQXV0b1Jlc2l6ZShhdXRvUmVzaXplIHx8IEJvb2xlYW4oY2xlYXIpLCBvdXRlclJlZiwgdmFsdWUsIG1pbkF1dG8sIG1heEF1dG8pO1xuXG4gICAgICAgIGNvbnN0IG9uRm9jdXNIYW5kbGVyID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgICAgICAgc2V0Rm9jdXNlZCh0cnVlKTtcbiAgICAgICAgfSwgW10pO1xuXG4gICAgICAgIGNvbnN0IG9uQmx1ckhhbmRsZXIgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgICAgICBzZXRGb2N1c2VkKGZhbHNlKTtcbiAgICAgICAgfSwgW10pO1xuXG4gICAgICAgIGNvbnN0IG9uQ2hhbmdlSGFuZGxlciA9IHVzZUNhbGxiYWNrKFxuICAgICAgICAgICAgKGV2ZW50OiBSZWFjdC5DaGFuZ2VFdmVudDxIVE1MVGV4dEFyZWFFbGVtZW50PikgPT4ge1xuICAgICAgICAgICAgICAgIC8vIElORk86INCU0LvRjyDQutGA0LDQudC90LUg0YDQtdC00LrQuNGFINC60LXQudGB0L7Qsiwg0LrQvtCz0LTQsCB2YWx1ZSDRgdC90LDRgNGD0LbQuCDQvdC1INC60L7QvdGC0YDQvtC70LjRgNGD0LXRgtGB0Y9cbiAgICAgICAgICAgICAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICBzZXRVbmNvbnRyb2xsZWRWYWx1ZShldmVudD8udGFyZ2V0LnZhbHVlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U/LihldmVudCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgW3ZhbHVlLCBvbkNoYW5nZV0sXG4gICAgICAgICk7XG5cbiAgICAgICAgY29uc3QgZHluYW1pY0xhYmVsQ2xhc3NlcyA9IGdldER5bmFtaWNMYWJlbENsYXNzZXMoXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgc2l6ZSxcbiAgICAgICAgICAgICAgICByZWFkT25seSxcbiAgICAgICAgICAgICAgICBsYWJlbCxcbiAgICAgICAgICAgICAgICBsYWJlbFBsYWNlbWVudCxcbiAgICAgICAgICAgICAgICB2YWx1ZTogdmFsdWUgfHwgdW5jb250cm9sbGVkVmFsdWUgfHwgZGVmYXVsdFZhbHVlLFxuICAgICAgICAgICAgICAgIHJvd3MsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZm9jdXNlZCxcbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCBvcHRpb25hbFRleHROb2RlID0gaW5uZXJPcHRpb25hbCA/IChcbiAgICAgICAgICAgIDxTdHlsZWRPcHRpb25hbFRleHQ+XG4gICAgICAgICAgICAgICAge0Jvb2xlYW4oaGFzUGxhY2Vob2xkZXJPcHRpb25hbCA/IHBsYWNlaG9sZGVyTGFiZWwgOiBsYWJlbCkgJiYgJ1xceGEwJ31cbiAgICAgICAgICAgICAgICB7b3B0aW9uYWxUZXh0fVxuICAgICAgICAgICAgPC9TdHlsZWRPcHRpb25hbFRleHQ+XG4gICAgICAgICkgOiBudWxsO1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8Um9vdFxuICAgICAgICAgICAgICAgIHZpZXc9e292ZXJyaWRkZW5WaWV3fVxuICAgICAgICAgICAgICAgIHNpemU9e3NpemV9XG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAgIHJlYWRPbmx5PXtyZWFkT25seX1cbiAgICAgICAgICAgICAgICBjbGVhcj17Y2xlYXJ9XG4gICAgICAgICAgICAgICAgc3R5bGU9e3sgd2lkdGg6IGhlbHBlcldpZHRoLCAuLi5zdHlsZSB9fVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y3goY2xlYXJDbGFzcywgaGFzRGl2aWRlckNsYXNzLCBjbGFzc05hbWUpfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtoYXNPdXRlckxhYmVsICYmIChcbiAgICAgICAgICAgICAgICAgICAgPFN0eWxlZExhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAge3JlcXVpcmVkICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkSW5kaWNhdG9yIGNsYXNzTmFtZT17Y3goY2xhc3Nlcy5vdXRlckxhYmVsUGxhY2VtZW50LCByZXF1aXJlZFBsYWNlbWVudENsYXNzKX0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICB7bGFiZWx9XG4gICAgICAgICAgICAgICAgICAgICAgICB7b3B0aW9uYWxUZXh0Tm9kZX1cbiAgICAgICAgICAgICAgICAgICAgPC9TdHlsZWRMYWJlbD5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIDxTdHlsZWRDb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjeChzdHlsZWRDb250YWluZXIsIC4uLmR5bmFtaWNMYWJlbENsYXNzZXMpfVxuICAgICAgICAgICAgICAgICAgICB3aWR0aD17aGVscGVyV2lkdGh9XG4gICAgICAgICAgICAgICAgICAgIG9uRm9jdXM9e29uRm9jdXNIYW5kbGVyfVxuICAgICAgICAgICAgICAgICAgICBvbkJsdXI9e29uQmx1ckhhbmRsZXJ9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7cmVxdWlyZWQgJiYgIWhhc091dGVyTGFiZWwgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZEluZGljYXRvciBjbGFzc05hbWU9e2N4KGNsYXNzZXMuaW5uZXJMYWJlbFBsYWNlbWVudCwgcmVxdWlyZWRQbGFjZW1lbnRDbGFzcyl9IC8+XG4gICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgIHtjb250ZW50UmlnaHQgJiYgPFN0eWxlZENvbnRlbnQ+e2NvbnRlbnRSaWdodH08L1N0eWxlZENvbnRlbnQ+fVxuICAgICAgICAgICAgICAgICAgICA8U3R5bGVkVGV4dEFyZWFXcmFwcGVyIGNsYXNzTmFtZT17c3R5bGVkVGV4dEFyZWFXcmFwcGVyfSBoYXNIZWxwZXI9e2hhc0hlbHBlcn0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkVGV4dEFyZWFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2N4KHN0eWxlZFRleHRBcmVhLCBoYXNSaWdodENvbnRlbnRDbGFzcyl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9e2lkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhc0NvbnRlbnRSaWdodD17Qm9vbGVhbihjb250ZW50UmlnaHQpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhc0hlbHBlcj17aGFzSGVscGVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcGx5Q3VzdG9tV2lkdGg9e2FwcGx5Q3VzdG9tV2lkdGh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmPXttZXJnZVJlZnMob3V0ZXJSZWYsIGlubmVyUmVmKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PXthdXRvUmVzaXplIHx8IEJvb2xlYW4oY2xlYXIpID8gbWluQXV0byA6IGhlaWdodH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD17d2lkdGh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3BsYWNlaG9sZGVyTGFiZWx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1kZXNjcmliZWRieT17dGV4dGFyZWFIZWxwZXJJZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZE9ubHk9e3JlYWRPbmx5fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvd3M9e3Jvd3N9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29scz17Y29sc31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNpemU9e3Jlc2l6ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU9e2RlZmF1bHRWYWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2VIYW5kbGVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsuLi5yZXN0fVxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9TdHlsZWRUZXh0QXJlYVdyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgIHtoYXNIZWxwZXIgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZEhlbHBlcnMgY2xhc3NOYW1lPXtzdHlsZWRIZWxwZXJzfSBpZD17dGV4dGFyZWFIZWxwZXJJZH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeyhsZWZ0SGVscGVyIHx8IGhlbHBlclRleHQpICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZExlZnRIZWxwZXI+e2xlZnRIZWxwZXIgfHwgaGVscGVyVGV4dH08L1N0eWxlZExlZnRIZWxwZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7cmlnaHRIZWxwZXIgJiYgPFN0eWxlZFJpZ2h0SGVscGVyPntyaWdodEhlbHBlcn08L1N0eWxlZFJpZ2h0SGVscGVyPn1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvU3R5bGVkSGVscGVycz5cbiAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAge3BsYWNlaG9sZGVyTGFiZWwgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZFBsYWNlaG9sZGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFzQ29udGVudFJpZ2h0PXtCb29sZWFuKGNvbnRlbnRSaWdodCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtzdHlsZWRQbGFjZWhvbGRlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBodG1sRm9yPXtpZH1cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7cGxhY2Vob2xkZXJMYWJlbH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IWhhc091dGVyTGFiZWwgJiYgb3B0aW9uYWxUZXh0Tm9kZX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvU3R5bGVkUGxhY2Vob2xkZXI+XG4gICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgPC9TdHlsZWRDb250YWluZXI+XG4gICAgICAgICAgICA8L1Jvb3Q+XG4gICAgICAgICk7XG4gICAgfSk7XG5cbmV4cG9ydCBjb25zdCB0ZXh0QXJlYUNvbmZpZyA9IHtcbiAgICBuYW1lOiAnVGV4dEFyZWEnLFxuICAgIHRhZzogJ2RpdicsXG4gICAgbGF5b3V0OiB0ZXh0QXJlYVJvb3QsXG4gICAgYmFzZSxcbiAgICB2YXJpYXRpb25zOiB7XG4gICAgICAgIHNpemU6IHtcbiAgICAgICAgICAgIGNzczogc2l6ZUNTUyxcbiAgICAgICAgfSxcbiAgICAgICAgdmlldzoge1xuICAgICAgICAgICAgY3NzOiB2aWV3Q1NTLFxuICAgICAgICB9LFxuICAgICAgICBjbGVhcjoge1xuICAgICAgICAgICAgY3NzOiBjbGVhckNTUyxcbiAgICAgICAgICAgIGF0dHJzOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBkaXNhYmxlZDoge1xuICAgICAgICAgICAgY3NzOiBkaXNhYmxlZENTUyxcbiAgICAgICAgICAgIGF0dHJzOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICByZWFkT25seToge1xuICAgICAgICAgICAgYXR0cnM6IHRydWUsXG4gICAgICAgIH0sXG4gICAgfSxcbiAgICBkZWZhdWx0czoge1xuICAgICAgICBzaXplOiAnbScsXG4gICAgICAgIHZpZXc6ICdwcmltYXJ5JyxcbiAgICB9LFxufTtcbiJdfQ== */"));
42
+ var base = /*#__PURE__*/css(applyDynamicLabel, ";position:relative;box-sizing:border-box;;label:plasma-new-hope__base;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy1lbW90aW9uL2NvbXBvbmVudHMvVGV4dEFyZWEvVGV4dEFyZWEudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTBDZ0IiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjLWVtb3Rpb24vY29tcG9uZW50cy9UZXh0QXJlYS9UZXh0QXJlYS50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgZm9yd2FyZFJlZiwgdXNlU3RhdGUsIGNyZWF0ZVJlZiwgdXNlQ2FsbGJhY2sgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgeyB1c2VSZXNpemVPYnNlcnZlciB9IGZyb20gJ0BzYWx1dGVqcy9wbGFzbWEtY29yZSc7XG5cbmltcG9ydCB7IGN4LCBtZXJnZVJlZnMgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgdHlwZSB7IFJvb3RQcm9wcyB9IGZyb20gJy4uLy4uL2VuZ2luZXMvdHlwZXMnO1xuXG5pbXBvcnQgeyBhcHBseUR5bmFtaWNMYWJlbCB9IGZyb20gJy4vbWl4aW5zJztcbmltcG9ydCB7IHVzZUF1dG9SZXNpemUsIFJPT1RfRk9OVF9TSVpFIH0gZnJvbSAnLi9ob29rcyc7XG5pbXBvcnQge1xuICAgIFN0eWxlZENvbnRlbnQsXG4gICAgU3R5bGVkSGVscGVycyxcbiAgICBTdHlsZWRMZWZ0SGVscGVyLFxuICAgIFN0eWxlZFJpZ2h0SGVscGVyLFxuICAgIFN0eWxlZExhYmVsLFxuICAgIFN0eWxlZFBsYWNlaG9sZGVyLFxuICAgIFN0eWxlZFRleHRBcmVhLFxuICAgIFN0eWxlZFRleHRBcmVhV3JhcHBlcixcbiAgICBTdHlsZWRDb250YWluZXIsXG4gICAgU3R5bGVkSW5kaWNhdG9yLFxuICAgIFN0eWxlZE9wdGlvbmFsVGV4dCxcbn0gZnJvbSAnLi9UZXh0QXJlYS5zdHlsZXMnO1xuaW1wb3J0IHsgY2xhc3NlcyB9IGZyb20gJy4vVGV4dEFyZWEudG9rZW5zJztcbmltcG9ydCB7IGJhc2UgYXMgdmlld0NTUyB9IGZyb20gJy4vdmFyaWF0aW9ucy9fdmlldy9iYXNlJztcbmltcG9ydCB7IGJhc2UgYXMgc2l6ZUNTUyB9IGZyb20gJy4vdmFyaWF0aW9ucy9fc2l6ZS9iYXNlJztcbmltcG9ydCB7IGJhc2UgYXMgY2xlYXJDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX2NsZWFyL2Jhc2UnO1xuaW1wb3J0IHsgYmFzZSBhcyBkaXNhYmxlZENTUyB9IGZyb20gJy4vdmFyaWF0aW9ucy9fZGlzYWJsZWQvYmFzZSc7XG5pbXBvcnQgdHlwZSB7IFRleHRBcmVhUHJvcHMgfSBmcm9tICcuL1RleHRBcmVhLnR5cGVzJztcblxuY29uc3Qge1xuICAgIGlubmVyUGxhY2Vob2xkZXJVcCxcbiAgICBmb2N1c2VkT3V0ZXJQbGFjZWhvbGRlckNvbG9yLFxuICAgIGhpZGVQbGFjZUhvbGRlcixcbiAgICBzdHlsZWRDb250YWluZXIsXG4gICAgc3R5bGVkVGV4dEFyZWEsXG4gICAgc3R5bGVkVGV4dEFyZWFXcmFwcGVyLFxuICAgIHN0eWxlZFBsYWNlaG9sZGVyLFxuICAgIHN0eWxlZEhlbHBlcnMsXG59ID0gY2xhc3NlcztcblxuY29uc3Qgb3B0aW9uYWxUZXh0ID0gJ29wdGlvbmFsJztcblxuY29uc3QgYmFzZSA9IGNzc2BcbiAgICAke2FwcGx5RHluYW1pY0xhYmVsfTtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuYDtcblxuLy8gVE9ETzog0KPQtNCw0LvQuNGC0Ywg0L/QvtGB0LvQtSDQvtGC0LrQsNC30LAg0L7RgiDRgdGC0LDRgNGL0YUg0LHQuNCx0LvQuNC+0YLQtdC6IHBsYXNtYS13ZWIgLyBwbGFzbWEtYjJjXG5jb25zdCBmYWxsYmFja1N0YXR1c01hcCA9IHtcbiAgICAnJzogJ3ByaW1hcnknLFxuICAgIHN1Y2Nlc3M6ICdwb3NpdGl2ZScsXG4gICAgd2FybmluZzogJ3dhcm5pbmcnLFxuICAgIGVycm9yOiAnbmVnYXRpdmUnLFxufTtcblxuLy8gVE9ETzog0J/QtdGA0LXQvdC10YHRgtC4INGN0YLQvtGCINC80LXRgtC+0LQg0LIg0YTQsNC50LsgYXBwbHlEeW5hbWljTGFiZWwudHNcbmV4cG9ydCBjb25zdCBnZXREeW5hbWljTGFiZWxDbGFzc2VzID0gKHByb3BzOiBUZXh0QXJlYVByb3BzLCBmb2N1c2VkOiBib29sZWFuKSA9PiB7XG4gICAgY29uc3QgeyByZWFkT25seSwgbGFiZWwsIGxhYmVsUGxhY2VtZW50LCByb3dzLCB2YWx1ZSwgc2l6ZSB9ID0gcHJvcHM7XG5cbiAgICAvLyDQlNC+0LHQsNCy0LjRgtGMINC60LvQsNGB0YEg0L7RgtCy0LXRh9Cw0Y7RidC40Lkg0LfQsCDQuNC30LzQtdC90LXQvdC40LUg0YbQstC10YLQsCDQv9C70LXQudGB0YXQvtC70LTQtdGA0LAg0L/RgNC4INGE0L7QutGD0YHQtVxuICAgIGNvbnN0IHdpdGhGb2N1c2VkT3V0ZXJVcFBsYWNlaG9sZGVyID1cbiAgICAgICAgIXJlYWRPbmx5ICYmIGZvY3VzZWQgJiYgKCFsYWJlbCB8fCBsYWJlbFBsYWNlbWVudCA9PT0gJ291dGVyJykgPyBmb2N1c2VkT3V0ZXJQbGFjZWhvbGRlckNvbG9yIDogdW5kZWZpbmVkO1xuXG4gICAgLy8g0JTQvtCx0LDQstC40YLRjCDQutC70LDRgdGBINC+0YLQstC10YfQsNGO0YnQuNC5INC30LAg0L/QvtC00L3Rj9GC0LjQtSDQuCDRg9C80LXQvdGM0YjQtdC90LjQtSDQv9C70LXQudGB0YXQvtC70LTQtdGA0LBcbiAgICBjb25zdCB3aXRoSW5uZXJQbGFjZWhvbGRlclVwID1cbiAgICAgICAgbGFiZWxQbGFjZW1lbnQgPT09ICdpbm5lcicgJiZcbiAgICAgICAgbGFiZWwgJiZcbiAgICAgICAgIXJvd3MgJiZcbiAgICAgICAgc2l6ZSAhPT0gJ3hzJyAmJlxuICAgICAgICAoKCFyZWFkT25seSAmJiAodmFsdWUgfHwgZm9jdXNlZCkpIHx8IChyZWFkT25seSAmJiB2YWx1ZSkpXG4gICAgICAgICAgICA/IGlubmVyUGxhY2Vob2xkZXJVcFxuICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICAvLyDQlNC+0LHQsNCy0LjRgtGMINC60LvQsNGB0YEg0L7RgtCy0LXRh9Cw0Y7RidC40Lkg0LfQsCDRgdC60YDRi9GC0LjQtSDQv9C70LXQudGB0YXQvtC70LTQtdGA0LBcbiAgICBjb25zdCB3aXRoSGlkZVBsYWNlaG9sZGVyID1cbiAgICAgICAgKHZhbHVlICYmICFsYWJlbCkgfHxcbiAgICAgICAgKGxhYmVsUGxhY2VtZW50ID09PSAnaW5uZXInICYmICgoZm9jdXNlZCAmJiAhcmVhZE9ubHkpIHx8IHZhbHVlKSAmJiBsYWJlbCAmJiByb3dzKSB8fFxuICAgICAgICAobGFiZWxQbGFjZW1lbnQgPT09ICdvdXRlcicgJiYgdmFsdWUpIHx8XG4gICAgICAgIChsYWJlbFBsYWNlbWVudCA9PT0gJ2lubmVyJyAmJiBzaXplID09PSAneHMnICYmIHZhbHVlKVxuICAgICAgICAgICAgPyBoaWRlUGxhY2VIb2xkZXJcbiAgICAgICAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgcmV0dXJuIFt3aXRoRm9jdXNlZE91dGVyVXBQbGFjZWhvbGRlciwgd2l0aElubmVyUGxhY2Vob2xkZXJVcCwgd2l0aEhpZGVQbGFjZWhvbGRlcl07XG59O1xuXG5leHBvcnQgY29uc3QgdGV4dEFyZWFSb290ID0gKFJvb3Q6IFJvb3RQcm9wczxIVE1MVGV4dEFyZWFFbGVtZW50LCBUZXh0QXJlYVByb3BzPikgPT5cbiAgICBmb3J3YXJkUmVmPEhUTUxUZXh0QXJlYUVsZW1lbnQsIFRleHRBcmVhUHJvcHM+KChwcm9wcywgaW5uZXJSZWYpID0+IHtcbiAgICAgICAgY29uc3Qge1xuICAgICAgICAgICAgaGVscGVyVGV4dCxcbiAgICAgICAgICAgIHN0YXR1cyxcbiAgICAgICAgICAgIHJlc2l6ZSxcbiAgICAgICAgICAgIHJpZ2h0SGVscGVyLFxuICAgICAgICAgICAgbGVmdEhlbHBlcixcbiAgICAgICAgICAgIGNvbnRlbnRSaWdodCxcbiAgICAgICAgICAgIGF1dG9SZXNpemUgPSBmYWxzZSxcbiAgICAgICAgICAgIG1pbkF1dG8gPSAwLFxuICAgICAgICAgICAgbWF4QXV0byxcbiAgICAgICAgICAgIGxhYmVsLFxuICAgICAgICAgICAgbGFiZWxQbGFjZW1lbnQgPSAnaW5uZXInLFxuICAgICAgICAgICAgcGxhY2Vob2xkZXIsXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWUsXG4gICAgICAgICAgICBoZWlnaHQsXG4gICAgICAgICAgICB3aWR0aCxcbiAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgZGlzYWJsZWQsXG4gICAgICAgICAgICByZXF1aXJlZCA9IGZhbHNlLFxuICAgICAgICAgICAgcmVxdWlyZWRQbGFjZW1lbnQgPSAncmlnaHQnLFxuICAgICAgICAgICAgb3B0aW9uYWwgPSBmYWxzZSxcbiAgICAgICAgICAgIGNsZWFyLFxuICAgICAgICAgICAgaGFzRGl2aWRlcixcbiAgICAgICAgICAgIHNpemUsXG4gICAgICAgICAgICB2aWV3LFxuICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICBzdHlsZSxcbiAgICAgICAgICAgIGNsYXNzTmFtZSxcbiAgICAgICAgICAgIHJlYWRPbmx5LFxuICAgICAgICAgICAgcm93cyxcbiAgICAgICAgICAgIGNvbHMsXG4gICAgICAgICAgICBvbkNoYW5nZSxcbiAgICAgICAgICAgIC4uLnJlc3RcbiAgICAgICAgfSA9IHByb3BzO1xuXG4gICAgICAgIGNvbnN0IFtoZWxwZXJXaWR0aCwgc2V0SGVscGVyV2lkdGhdID0gdXNlU3RhdGU8c3RyaW5nPih3aWR0aCA/IGAke3dpZHRofXJlbWAgOiAnMTAwJScpO1xuICAgICAgICBjb25zdCBbZm9jdXNlZCwgc2V0Rm9jdXNlZF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgICAgIGNvbnN0IFt1bmNvbnRyb2xsZWRWYWx1ZSwgc2V0VW5jb250cm9sbGVkVmFsdWVdID0gdXNlU3RhdGU8c3RyaW5nIHwgdW5kZWZpbmVkPigpO1xuXG4gICAgICAgIGNvbnN0IG91dGVyUmVmID0gY3JlYXRlUmVmPEhUTUxUZXh0QXJlYUVsZW1lbnQ+KCk7XG5cbiAgICAgICAgY29uc3QgaW5uZXJPcHRpb25hbCA9IHJlcXVpcmVkID8gZmFsc2UgOiBvcHRpb25hbDtcbiAgICAgICAgY29uc3QgaGFzSGVscGVyID0gQm9vbGVhbihsZWZ0SGVscGVyIHx8IHJpZ2h0SGVscGVyIHx8IGhlbHBlclRleHQpO1xuICAgICAgICBjb25zdCBoYXNPdXRlckxhYmVsID0gQm9vbGVhbihsYWJlbCAmJiBsYWJlbFBsYWNlbWVudCA9PT0gJ291dGVyJyk7XG4gICAgICAgIGNvbnN0IGhhc0lubmVyTGFiZWwgPSBCb29sZWFuKGxhYmVsICYmIGxhYmVsUGxhY2VtZW50ID09PSAnaW5uZXInICYmIHNpemUgIT09ICd4cycpO1xuICAgICAgICBjb25zdCBoYXNQbGFjZWhvbGRlck9wdGlvbmFsID0gaW5uZXJPcHRpb25hbCAmJiAhaGFzT3V0ZXJMYWJlbDtcblxuICAgICAgICBjb25zdCBvdmVycmlkZGVuVmlldyA9IHN0YXR1cyAhPT0gdW5kZWZpbmVkID8gZmFsbGJhY2tTdGF0dXNNYXBbc3RhdHVzXSA6IHZpZXc7XG4gICAgICAgIGNvbnN0IHRleHRhcmVhSGVscGVySWQgPSBpZCA/IGAke2lkfS1oZWxwZXJgIDogdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBhcHBseUN1c3RvbVdpZHRoID0gcmVzaXplICE9PSAnaG9yaXpvbnRhbCcgJiYgcmVzaXplICE9PSAnYm90aCcgJiYgIWNvbHM7XG4gICAgICAgIGNvbnN0IHBsYWNlaG9sZGVyTGFiZWwgPSBoYXNJbm5lckxhYmVsID8gbGFiZWwgOiBwbGFjZWhvbGRlcjtcblxuICAgICAgICBjb25zdCBjbGVhckNsYXNzID0gY2xlYXIgPyBjbGFzc2VzLmNsZWFyIDogdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBoYXNSaWdodENvbnRlbnRDbGFzcyA9IGNvbnRlbnRSaWdodCA/IGNsYXNzZXMuaGFzUmlnaHRDb250ZW50IDogdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBoYXNEaXZpZGVyQ2xhc3MgPSBoYXNEaXZpZGVyID8gY2xhc3Nlcy5oYXNEaXZpZGVyIDogdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCByZXF1aXJlZFBsYWNlbWVudENsYXNzID0gcmVxdWlyZWRQbGFjZW1lbnQgPT09ICdyaWdodCcgPyAnYWxpZ24tcmlnaHQgJyA6IHVuZGVmaW5lZDtcblxuICAgICAgICB1c2VSZXNpemVPYnNlcnZlcihvdXRlclJlZiwgKGN1cnJlbnRFbGVtZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IHdpZHRoOiBpbmxpbmVXaWR0aCB9ID0gY3VycmVudEVsZW1lbnQuc3R5bGU7XG5cbiAgICAgICAgICAgIGlmIChpbmxpbmVXaWR0aCB8fCBjb2xzKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyB3aWR0aDogZWxlbWVudFdpZHRoIH0gPSBjdXJyZW50RWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgICAgICBzZXRIZWxwZXJXaWR0aChgJHtlbGVtZW50V2lkdGggLyBST09UX0ZPTlRfU0laRX1yZW1gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdXNlQXV0b1Jlc2l6ZShhdXRvUmVzaXplIHx8IEJvb2xlYW4oY2xlYXIpLCBvdXRlclJlZiwgdmFsdWUsIG1pbkF1dG8sIG1heEF1dG8pO1xuXG4gICAgICAgIGNvbnN0IG9uRm9jdXNIYW5kbGVyID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgICAgICAgc2V0Rm9jdXNlZCh0cnVlKTtcbiAgICAgICAgfSwgW10pO1xuXG4gICAgICAgIGNvbnN0IG9uQmx1ckhhbmRsZXIgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgICAgICBzZXRGb2N1c2VkKGZhbHNlKTtcbiAgICAgICAgfSwgW10pO1xuXG4gICAgICAgIGNvbnN0IG9uQ2hhbmdlSGFuZGxlciA9IHVzZUNhbGxiYWNrKFxuICAgICAgICAgICAgKGV2ZW50OiBSZWFjdC5DaGFuZ2VFdmVudDxIVE1MVGV4dEFyZWFFbGVtZW50PikgPT4ge1xuICAgICAgICAgICAgICAgIC8vIElORk86INCU0LvRjyDQutGA0LDQudC90LUg0YDQtdC00LrQuNGFINC60LXQudGB0L7Qsiwg0LrQvtCz0LTQsCB2YWx1ZSDRgdC90LDRgNGD0LbQuCDQvdC1INC60L7QvdGC0YDQvtC70LjRgNGD0LXRgtGB0Y9cbiAgICAgICAgICAgICAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICBzZXRVbmNvbnRyb2xsZWRWYWx1ZShldmVudD8udGFyZ2V0LnZhbHVlKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBvbkNoYW5nZT8uKGV2ZW50KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBbdmFsdWUsIG9uQ2hhbmdlXSxcbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCBoYW5kbGVUZXh0QXJlYUZvY3VzID0gKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHJlYWRPbmx5IHx8IGRpc2FibGVkIHx8ICFvdXRlclJlZj8uY3VycmVudCkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgb3V0ZXJSZWYuY3VycmVudC5zY3JvbGxUbyh7XG4gICAgICAgICAgICAgICAgdG9wOiAwLFxuICAgICAgICAgICAgICAgIGxlZnQ6IG91dGVyUmVmLmN1cnJlbnQub2Zmc2V0TGVmdCxcbiAgICAgICAgICAgICAgICBiZWhhdmlvcjogJ3Ntb290aCcsXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgb3V0ZXJSZWYuY3VycmVudC5mb2N1cygpO1xuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IGR5bmFtaWNMYWJlbENsYXNzZXMgPSBnZXREeW5hbWljTGFiZWxDbGFzc2VzKFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHNpemUsXG4gICAgICAgICAgICAgICAgcmVhZE9ubHksXG4gICAgICAgICAgICAgICAgbGFiZWwsXG4gICAgICAgICAgICAgICAgbGFiZWxQbGFjZW1lbnQsXG4gICAgICAgICAgICAgICAgdmFsdWU6IHZhbHVlIHx8IHVuY29udHJvbGxlZFZhbHVlIHx8IGRlZmF1bHRWYWx1ZSxcbiAgICAgICAgICAgICAgICByb3dzLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGZvY3VzZWQsXG4gICAgICAgICk7XG5cbiAgICAgICAgY29uc3Qgb3B0aW9uYWxUZXh0Tm9kZSA9IGlubmVyT3B0aW9uYWwgPyAoXG4gICAgICAgICAgICA8U3R5bGVkT3B0aW9uYWxUZXh0PlxuICAgICAgICAgICAgICAgIHtCb29sZWFuKGhhc1BsYWNlaG9sZGVyT3B0aW9uYWwgPyBwbGFjZWhvbGRlckxhYmVsIDogbGFiZWwpICYmICdcXHhhMCd9XG4gICAgICAgICAgICAgICAge29wdGlvbmFsVGV4dH1cbiAgICAgICAgICAgIDwvU3R5bGVkT3B0aW9uYWxUZXh0PlxuICAgICAgICApIDogbnVsbDtcblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPFJvb3RcbiAgICAgICAgICAgICAgICB2aWV3PXtvdmVycmlkZGVuVmlld31cbiAgICAgICAgICAgICAgICBzaXplPXtzaXplfVxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICByZWFkT25seT17cmVhZE9ubHl9XG4gICAgICAgICAgICAgICAgY2xlYXI9e2NsZWFyfVxuICAgICAgICAgICAgICAgIHN0eWxlPXt7IHdpZHRoOiBoZWxwZXJXaWR0aCwgLi4uc3R5bGUgfX1cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2N4KGNsZWFyQ2xhc3MsIGhhc0RpdmlkZXJDbGFzcywgY2xhc3NOYW1lKX1cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVUZXh0QXJlYUZvY3VzfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtoYXNPdXRlckxhYmVsICYmIChcbiAgICAgICAgICAgICAgICAgICAgPFN0eWxlZExhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAge3JlcXVpcmVkICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkSW5kaWNhdG9yIGNsYXNzTmFtZT17Y3goY2xhc3Nlcy5vdXRlckxhYmVsUGxhY2VtZW50LCByZXF1aXJlZFBsYWNlbWVudENsYXNzKX0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICB7bGFiZWx9XG4gICAgICAgICAgICAgICAgICAgICAgICB7b3B0aW9uYWxUZXh0Tm9kZX1cbiAgICAgICAgICAgICAgICAgICAgPC9TdHlsZWRMYWJlbD5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIDxTdHlsZWRDb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjeChzdHlsZWRDb250YWluZXIsIC4uLmR5bmFtaWNMYWJlbENsYXNzZXMpfVxuICAgICAgICAgICAgICAgICAgICB3aWR0aD17aGVscGVyV2lkdGh9XG4gICAgICAgICAgICAgICAgICAgIG9uRm9jdXM9e29uRm9jdXNIYW5kbGVyfVxuICAgICAgICAgICAgICAgICAgICBvbkJsdXI9e29uQmx1ckhhbmRsZXJ9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7cmVxdWlyZWQgJiYgIWhhc091dGVyTGFiZWwgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZEluZGljYXRvciBjbGFzc05hbWU9e2N4KGNsYXNzZXMuaW5uZXJMYWJlbFBsYWNlbWVudCwgcmVxdWlyZWRQbGFjZW1lbnRDbGFzcyl9IC8+XG4gICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgIHtjb250ZW50UmlnaHQgJiYgPFN0eWxlZENvbnRlbnQ+e2NvbnRlbnRSaWdodH08L1N0eWxlZENvbnRlbnQ+fVxuICAgICAgICAgICAgICAgICAgICA8U3R5bGVkVGV4dEFyZWFXcmFwcGVyIGNsYXNzTmFtZT17c3R5bGVkVGV4dEFyZWFXcmFwcGVyfSBoYXNIZWxwZXI9e2hhc0hlbHBlcn0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkVGV4dEFyZWFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2N4KHN0eWxlZFRleHRBcmVhLCBoYXNSaWdodENvbnRlbnRDbGFzcyl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9e2lkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhc0NvbnRlbnRSaWdodD17Qm9vbGVhbihjb250ZW50UmlnaHQpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhc0hlbHBlcj17aGFzSGVscGVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcGx5Q3VzdG9tV2lkdGg9e2FwcGx5Q3VzdG9tV2lkdGh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmPXttZXJnZVJlZnMob3V0ZXJSZWYsIGlubmVyUmVmKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PXthdXRvUmVzaXplIHx8IEJvb2xlYW4oY2xlYXIpID8gbWluQXV0byA6IGhlaWdodH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD17d2lkdGh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3BsYWNlaG9sZGVyTGFiZWx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1kZXNjcmliZWRieT17dGV4dGFyZWFIZWxwZXJJZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZE9ubHk9e3JlYWRPbmx5fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvd3M9e3Jvd3N9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29scz17Y29sc31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNpemU9e3Jlc2l6ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU9e2RlZmF1bHRWYWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2VIYW5kbGVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsuLi5yZXN0fVxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9TdHlsZWRUZXh0QXJlYVdyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgIHtoYXNIZWxwZXIgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZEhlbHBlcnMgY2xhc3NOYW1lPXtzdHlsZWRIZWxwZXJzfSBpZD17dGV4dGFyZWFIZWxwZXJJZH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeyhsZWZ0SGVscGVyIHx8IGhlbHBlclRleHQpICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZExlZnRIZWxwZXI+e2xlZnRIZWxwZXIgfHwgaGVscGVyVGV4dH08L1N0eWxlZExlZnRIZWxwZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7cmlnaHRIZWxwZXIgJiYgPFN0eWxlZFJpZ2h0SGVscGVyPntyaWdodEhlbHBlcn08L1N0eWxlZFJpZ2h0SGVscGVyPn1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvU3R5bGVkSGVscGVycz5cbiAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAge3BsYWNlaG9sZGVyTGFiZWwgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZFBsYWNlaG9sZGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFzQ29udGVudFJpZ2h0PXtCb29sZWFuKGNvbnRlbnRSaWdodCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtzdHlsZWRQbGFjZWhvbGRlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBodG1sRm9yPXtpZH1cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7cGxhY2Vob2xkZXJMYWJlbH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IWhhc091dGVyTGFiZWwgJiYgb3B0aW9uYWxUZXh0Tm9kZX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvU3R5bGVkUGxhY2Vob2xkZXI+XG4gICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgPC9TdHlsZWRDb250YWluZXI+XG4gICAgICAgICAgICA8L1Jvb3Q+XG4gICAgICAgICk7XG4gICAgfSk7XG5cbmV4cG9ydCBjb25zdCB0ZXh0QXJlYUNvbmZpZyA9IHtcbiAgICBuYW1lOiAnVGV4dEFyZWEnLFxuICAgIHRhZzogJ2RpdicsXG4gICAgbGF5b3V0OiB0ZXh0QXJlYVJvb3QsXG4gICAgYmFzZSxcbiAgICB2YXJpYXRpb25zOiB7XG4gICAgICAgIHNpemU6IHtcbiAgICAgICAgICAgIGNzczogc2l6ZUNTUyxcbiAgICAgICAgfSxcbiAgICAgICAgdmlldzoge1xuICAgICAgICAgICAgY3NzOiB2aWV3Q1NTLFxuICAgICAgICB9LFxuICAgICAgICBjbGVhcjoge1xuICAgICAgICAgICAgY3NzOiBjbGVhckNTUyxcbiAgICAgICAgICAgIGF0dHJzOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBkaXNhYmxlZDoge1xuICAgICAgICAgICAgY3NzOiBkaXNhYmxlZENTUyxcbiAgICAgICAgICAgIGF0dHJzOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICByZWFkT25seToge1xuICAgICAgICAgICAgYXR0cnM6IHRydWUsXG4gICAgICAgIH0sXG4gICAgfSxcbiAgICBkZWZhdWx0czoge1xuICAgICAgICBzaXplOiAnbScsXG4gICAgICAgIHZpZXc6ICdwcmltYXJ5JyxcbiAgICB9LFxufTtcbiJdfQ== */"));
43
43
 
44
44
  // TODO: Удалить после отказа от старых библиотек plasma-web / plasma-b2c
45
45
  var fallbackStatusMap = {
@@ -156,6 +156,17 @@ export var textAreaRoot = function textAreaRoot(Root) {
156
156
  }
157
157
  onChange === null || onChange === void 0 || onChange(event);
158
158
  }, [value, onChange]);
159
+ var handleTextAreaFocus = function handleTextAreaFocus() {
160
+ if (readOnly || disabled || !(outerRef !== null && outerRef !== void 0 && outerRef.current)) {
161
+ return;
162
+ }
163
+ outerRef.current.scrollTo({
164
+ top: 0,
165
+ left: outerRef.current.offsetLeft,
166
+ behavior: 'smooth'
167
+ });
168
+ outerRef.current.focus();
169
+ };
159
170
  var dynamicLabelClasses = getDynamicLabelClasses({
160
171
  size: size,
161
172
  readOnly: readOnly,
@@ -174,7 +185,8 @@ export var textAreaRoot = function textAreaRoot(Root) {
174
185
  style: _objectSpread({
175
186
  width: helperWidth
176
187
  }, style),
177
- className: cx(clearClass, hasDividerClass, className)
188
+ className: cx(clearClass, hasDividerClass, className),
189
+ onClick: handleTextAreaFocus
178
190
  }, hasOuterLabel && /*#__PURE__*/React.createElement(StyledLabel, null, required && /*#__PURE__*/React.createElement(StyledIndicator, {
179
191
  className: cx(classes.outerLabelPlacement, requiredPlacementClass)
180
192
  }), label, optionalTextNode), /*#__PURE__*/React.createElement(StyledContainer, {
@@ -2,5 +2,6 @@ import { component, mergeConfig } from '../../../../engines';
2
2
  import { comboboxNewConfig } from '../../../..';
3
3
  import { config } from './Combobox.config';
4
4
  var mergedConfig = /*#__PURE__*/mergeConfig(comboboxNewConfig, config);
5
- var Combobox = /*#__PURE__*/component(mergedConfig);
5
+ var ComboboxComponent = /*#__PURE__*/component(mergedConfig);
6
+ var Combobox = ComboboxComponent;
6
7
  export { Combobox };
@@ -332,7 +332,6 @@ const SingleStory = (args: StorySelectProps) => {
332
332
  value={value}
333
333
  onChange={setValue}
334
334
  contentLeft={args.enableContentLeft ? <IconDone size="s" /> : undefined}
335
- autoComplete="off"
336
335
  />
337
336
  </div>
338
337
  );
@@ -362,7 +361,6 @@ const MultipleStory = (args: StorySelectProps) => {
362
361
  value={value}
363
362
  onChange={setValue}
364
363
  contentLeft={args.enableContentLeft ? <IconDone size="s" /> : undefined}
365
- autoComplete="off"
366
364
  />
367
365
  </div>
368
366
  );
@@ -2,5 +2,6 @@ import { component, mergeConfig } from '../../../../engines';
2
2
  import { comboboxNewConfig } from '../../../..';
3
3
  import { config } from './Combobox.config';
4
4
  var mergedConfig = /*#__PURE__*/mergeConfig(comboboxNewConfig, config);
5
- var Combobox = /*#__PURE__*/component(mergedConfig);
5
+ var ComboboxComponent = /*#__PURE__*/component(mergedConfig);
6
+ var Combobox = ComboboxComponent;
6
7
  export { Combobox };
@@ -332,7 +332,6 @@ const SingleStory = (args: StorySelectProps) => {
332
332
  value={value}
333
333
  onChange={setValue}
334
334
  contentLeft={args.enableContentLeft ? <IconDone size="s" /> : undefined}
335
- autoComplete="off"
336
335
  />
337
336
  </div>
338
337
  );
@@ -362,7 +361,6 @@ const MultipleStory = (args: StorySelectProps) => {
362
361
  value={value}
363
362
  onChange={setValue}
364
363
  contentLeft={args.enableContentLeft ? <IconDone size="s" /> : undefined}
365
- autoComplete="off"
366
364
  />
367
365
  </div>
368
366
  );
@@ -9,15 +9,15 @@ import { objectSpread2 as _objectSpread2 } from '../../../../_virtual/_rollupPlu
9
9
  // Не мутирует исходные данные.
10
10
  var filterItems = function filterItems(items, textValue, currentLabel, customFilter) {
11
11
  if (!textValue || textValue === currentLabel) return items;
12
- var defaultFilter = function defaultFilter(label, value) {
13
- return label.toLowerCase().includes(value.toLowerCase());
12
+ var defaultFilter = function defaultFilter(item, value) {
13
+ return item.label.toLowerCase().includes(value.toLowerCase());
14
14
  };
15
15
  var filter = customFilter || defaultFilter;
16
16
  var dfs = function dfs(items) {
17
17
  var newItems = [];
18
18
  items.forEach(function (item) {
19
19
  if (item.items) {
20
- if (filter(item.label, textValue)) {
20
+ if (filter(item, textValue)) {
21
21
  newItems.push(item);
22
22
  return;
23
23
  }
@@ -27,13 +27,12 @@ var filterItems = function filterItems(items, textValue, currentLabel, customFil
27
27
  items: res
28
28
  }));
29
29
  }
30
- } else if (filter(item.label, textValue)) {
30
+ } else if (filter(item, textValue)) {
31
31
  newItems.push(item);
32
32
  }
33
33
  });
34
34
  return newItems;
35
35
  };
36
- dfs(items);
37
36
  return dfs(items);
38
37
  };
39
38
 
@@ -1 +1 @@
1
- {"version":3,"file":"filterItems.js","sources":["../../../../../src/components/Combobox/ComboboxNew/utils/filterItems.ts"],"sourcesContent":["import { ItemOptionTransformed } from '../ui/Inner/ui/Item/Item.types';\n\n// Утилита, возвращающая отфильтрованное дерево items.\n// Фильтрация происходит как по названиям категорий, так и по названиям конечных элементов.\n// По дефолту регистр игнорируется. Но можно прокинуть свою функцию для кастомной фильтрации.\n// Фильтрация отключается в 2 случаях:\n// 1) При пустом инпуте (юзер пока еще не ввел значение или уже очистил);\n// 2) Если значение инпута совпадает с выбранным элементом (когда юзер выбрал айтем, но потом решил снова открыть);\n// Не мутирует исходные данные.\nexport const filterItems = (\n items: Array<ItemOptionTransformed>,\n textValue: string,\n currentLabel: string,\n customFilter?: (label: string, value: string) => boolean,\n): Array<ItemOptionTransformed> => {\n if (!textValue || textValue === currentLabel) return items;\n\n const defaultFilter = (label: string, value: string) => label.toLowerCase().includes(value.toLowerCase());\n\n const filter = customFilter || defaultFilter;\n\n const dfs = (items: Array<ItemOptionTransformed>) => {\n const newItems: Array<ItemOptionTransformed> = [];\n\n items.forEach((item) => {\n if (item.items) {\n if (filter(item.label, textValue)) {\n newItems.push(item);\n return;\n }\n\n const res = dfs(item.items);\n\n if (res.length > 0) {\n newItems.push({ ...item, items: res });\n }\n } else if (filter(item.label, textValue)) {\n newItems.push(item);\n }\n });\n\n return newItems;\n };\n dfs(items);\n\n return dfs(items);\n};\n"],"names":["filterItems","items","textValue","currentLabel","customFilter","defaultFilter","label","value","toLowerCase","includes","filter","dfs","newItems","forEach","item","push","res","length","_objectSpread"],"mappings":";;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACaA,IAAAA,WAAW,GAAG,SAAdA,WAAWA,CACpBC,KAAmC,EACnCC,SAAiB,EACjBC,YAAoB,EACpBC,YAAwD,EACzB;EAC/B,IAAI,CAACF,SAAS,IAAIA,SAAS,KAAKC,YAAY,EAAE,OAAOF,KAAK,CAAA;AAE1D,EAAA,IAAMI,aAAa,GAAG,SAAhBA,aAAaA,CAAIC,KAAa,EAAEC,KAAa,EAAA;AAAA,IAAA,OAAKD,KAAK,CAACE,WAAW,EAAE,CAACC,QAAQ,CAACF,KAAK,CAACC,WAAW,EAAE,CAAC,CAAA;AAAA,GAAA,CAAA;AAEzG,EAAA,IAAME,MAAM,GAAGN,YAAY,IAAIC,aAAa,CAAA;AAE5C,EAAA,IAAMM,GAAG,GAAG,SAANA,GAAGA,CAAIV,KAAmC,EAAK;IACjD,IAAMW,QAAsC,GAAG,EAAE,CAAA;AAEjDX,IAAAA,KAAK,CAACY,OAAO,CAAC,UAACC,IAAI,EAAK;MACpB,IAAIA,IAAI,CAACb,KAAK,EAAE;QACZ,IAAIS,MAAM,CAACI,IAAI,CAACR,KAAK,EAAEJ,SAAS,CAAC,EAAE;AAC/BU,UAAAA,QAAQ,CAACG,IAAI,CAACD,IAAI,CAAC,CAAA;AACnB,UAAA,OAAA;AACJ,SAAA;AAEA,QAAA,IAAME,GAAG,GAAGL,GAAG,CAACG,IAAI,CAACb,KAAK,CAAC,CAAA;AAE3B,QAAA,IAAIe,GAAG,CAACC,MAAM,GAAG,CAAC,EAAE;AAChBL,UAAAA,QAAQ,CAACG,IAAI,CAAAG,cAAA,CAAAA,cAAA,KAAMJ,IAAI,CAAA,EAAA,EAAA,EAAA;AAAEb,YAAAA,KAAK,EAAEe,GAAAA;AAAG,WAAA,CAAE,CAAC,CAAA;AAC1C,SAAA;OACH,MAAM,IAAIN,MAAM,CAACI,IAAI,CAACR,KAAK,EAAEJ,SAAS,CAAC,EAAE;AACtCU,QAAAA,QAAQ,CAACG,IAAI,CAACD,IAAI,CAAC,CAAA;AACvB,OAAA;AACJ,KAAC,CAAC,CAAA;AAEF,IAAA,OAAOF,QAAQ,CAAA;GAClB,CAAA;EACDD,GAAG,CAACV,KAAK,CAAC,CAAA;EAEV,OAAOU,GAAG,CAACV,KAAK,CAAC,CAAA;AACrB;;;;"}
1
+ {"version":3,"file":"filterItems.js","sources":["../../../../../src/components/Combobox/ComboboxNew/utils/filterItems.ts"],"sourcesContent":["import { ItemOptionTransformed, ItemOption } from '../ui/Inner/ui/Item/Item.types';\n\n// Утилита, возвращающая отфильтрованное дерево items.\n// Фильтрация происходит как по названиям категорий, так и по названиям конечных элементов.\n// По дефолту регистр игнорируется. Но можно прокинуть свою функцию для кастомной фильтрации.\n// Фильтрация отключается в 2 случаях:\n// 1) При пустом инпуте (юзер пока еще не ввел значение или уже очистил);\n// 2) Если значение инпута совпадает с выбранным элементом (когда юзер выбрал айтем, но потом решил снова открыть);\n// Не мутирует исходные данные.\nexport const filterItems = (\n items: Array<ItemOptionTransformed>,\n textValue: string,\n currentLabel: string,\n customFilter?: (item: ItemOption, value: string) => boolean,\n): Array<ItemOptionTransformed> => {\n if (!textValue || textValue === currentLabel) return items;\n\n const defaultFilter = (item: ItemOption, value: string) => item.label.toLowerCase().includes(value.toLowerCase());\n\n const filter = customFilter || defaultFilter;\n\n const dfs = (items: Array<ItemOptionTransformed>) => {\n const newItems: Array<ItemOptionTransformed> = [];\n\n items.forEach((item) => {\n if (item.items) {\n if (filter(item, textValue)) {\n newItems.push(item);\n return;\n }\n\n const res = dfs(item.items);\n\n if (res.length > 0) {\n newItems.push({ ...item, items: res });\n }\n } else if (filter(item, textValue)) {\n newItems.push(item);\n }\n });\n\n return newItems;\n };\n\n return dfs(items);\n};\n"],"names":["filterItems","items","textValue","currentLabel","customFilter","defaultFilter","item","value","label","toLowerCase","includes","filter","dfs","newItems","forEach","push","res","length","_objectSpread"],"mappings":";;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACaA,IAAAA,WAAW,GAAG,SAAdA,WAAWA,CACpBC,KAAmC,EACnCC,SAAiB,EACjBC,YAAoB,EACpBC,YAA2D,EAC5B;EAC/B,IAAI,CAACF,SAAS,IAAIA,SAAS,KAAKC,YAAY,EAAE,OAAOF,KAAK,CAAA;AAE1D,EAAA,IAAMI,aAAa,GAAG,SAAhBA,aAAaA,CAAIC,IAAgB,EAAEC,KAAa,EAAA;AAAA,IAAA,OAAKD,IAAI,CAACE,KAAK,CAACC,WAAW,EAAE,CAACC,QAAQ,CAACH,KAAK,CAACE,WAAW,EAAE,CAAC,CAAA;AAAA,GAAA,CAAA;AAEjH,EAAA,IAAME,MAAM,GAAGP,YAAY,IAAIC,aAAa,CAAA;AAE5C,EAAA,IAAMO,GAAG,GAAG,SAANA,GAAGA,CAAIX,KAAmC,EAAK;IACjD,IAAMY,QAAsC,GAAG,EAAE,CAAA;AAEjDZ,IAAAA,KAAK,CAACa,OAAO,CAAC,UAACR,IAAI,EAAK;MACpB,IAAIA,IAAI,CAACL,KAAK,EAAE;AACZ,QAAA,IAAIU,MAAM,CAACL,IAAI,EAAEJ,SAAS,CAAC,EAAE;AACzBW,UAAAA,QAAQ,CAACE,IAAI,CAACT,IAAI,CAAC,CAAA;AACnB,UAAA,OAAA;AACJ,SAAA;AAEA,QAAA,IAAMU,GAAG,GAAGJ,GAAG,CAACN,IAAI,CAACL,KAAK,CAAC,CAAA;AAE3B,QAAA,IAAIe,GAAG,CAACC,MAAM,GAAG,CAAC,EAAE;AAChBJ,UAAAA,QAAQ,CAACE,IAAI,CAAAG,cAAA,CAAAA,cAAA,KAAMZ,IAAI,CAAA,EAAA,EAAA,EAAA;AAAEL,YAAAA,KAAK,EAAEe,GAAAA;AAAG,WAAA,CAAE,CAAC,CAAA;AAC1C,SAAA;OACH,MAAM,IAAIL,MAAM,CAACL,IAAI,EAAEJ,SAAS,CAAC,EAAE;AAChCW,QAAAA,QAAQ,CAACE,IAAI,CAACT,IAAI,CAAC,CAAA;AACvB,OAAA;AACJ,KAAC,CAAC,CAAA;AAEF,IAAA,OAAOO,QAAQ,CAAA;GAClB,CAAA;EAED,OAAOD,GAAG,CAACX,KAAK,CAAC,CAAA;AACrB;;;;"}