@laerdal/life-react-components 3.6.0-dev.1.full → 3.6.1

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 (227) hide show
  1. package/dist/Accordion/__tests__/AccordionMenu.test.tsx +42 -0
  2. package/dist/Accordion/__tests__/ContentAccordion.test.tsx +150 -0
  3. package/dist/AuthPage/__tests__/AuthPage.test.tsx +27 -0
  4. package/dist/Banners/__tests__/Banner.test.tsx +47 -0
  5. package/dist/Banners/__tests__/OverviewBanner.test.tsx +20 -0
  6. package/dist/Breadcrumb/__tests__/Breadcrumb.test.tsx +78 -0
  7. package/dist/Button/TextButton.cjs +648 -0
  8. package/dist/Button/TextButton.cjs.map +1 -0
  9. package/dist/Button/TextButton.d.ts +77 -0
  10. package/dist/Button/TextButton.js +640 -0
  11. package/dist/Button/TextButton.js.map +1 -0
  12. package/dist/Button/__tests__/BackButton.test.tsx +32 -0
  13. package/dist/Button/__tests__/Button.test.tsx +45 -0
  14. package/dist/Button/__tests__/DualButton.test.tsx +119 -0
  15. package/dist/Button/__tests__/TextButton.test.tsx +45 -0
  16. package/dist/Card/HorizontalCard/__tests__/HorizontalCard.test.tsx +71 -0
  17. package/dist/Card/HorizontalCard/__tests__/VerticalCard.test.tsx +124 -0
  18. package/dist/Card/VerticalCard/VerticalCard.cjs +187 -0
  19. package/dist/Card/VerticalCard/VerticalCard.cjs.map +1 -0
  20. package/dist/Card/VerticalCard/VerticalCard.d.ts +25 -0
  21. package/dist/Card/VerticalCard/VerticalCard.js +178 -0
  22. package/dist/Card/VerticalCard/VerticalCard.js.map +1 -0
  23. package/dist/Card/VerticalCard/VerticalCardBottomSection.cjs +261 -0
  24. package/dist/Card/VerticalCard/VerticalCardBottomSection.cjs.map +1 -0
  25. package/dist/Card/VerticalCard/VerticalCardBottomSection.d.ts +53 -0
  26. package/dist/Card/VerticalCard/VerticalCardBottomSection.js +252 -0
  27. package/dist/Card/VerticalCard/VerticalCardBottomSection.js.map +1 -0
  28. package/dist/Card/VerticalCard/VerticalCardMiddleSection.cjs +145 -0
  29. package/dist/Card/VerticalCard/VerticalCardMiddleSection.cjs.map +1 -0
  30. package/dist/Card/VerticalCard/VerticalCardMiddleSection.d.ts +42 -0
  31. package/dist/Card/VerticalCard/VerticalCardMiddleSection.js +136 -0
  32. package/dist/Card/VerticalCard/VerticalCardMiddleSection.js.map +1 -0
  33. package/dist/Card/VerticalCard/VerticalCardTopSection.cjs +165 -0
  34. package/dist/Card/VerticalCard/VerticalCardTopSection.cjs.map +1 -0
  35. package/dist/Card/VerticalCard/VerticalCardTopSection.d.ts +45 -0
  36. package/dist/Card/VerticalCard/VerticalCardTopSection.js +156 -0
  37. package/dist/Card/VerticalCard/VerticalCardTopSection.js.map +1 -0
  38. package/dist/Card/VerticalCard/__tests__/VerticalCard.test.tsx +124 -0
  39. package/dist/Card/__tests__/Card.test.tsx +146 -0
  40. package/dist/Chips/ChoiceChips.cjs +0 -1
  41. package/dist/Chips/ChoiceChips.cjs.map +1 -1
  42. package/dist/Chips/ChoiceChips.js +0 -1
  43. package/dist/Chips/ChoiceChips.js.map +1 -1
  44. package/dist/Chips/__tests__/ActionChip.test.tsx +94 -0
  45. package/dist/Chips/__tests__/ChoiceChips.test.tsx +79 -0
  46. package/dist/Chips/__tests__/FilterChip.test.tsx +95 -0
  47. package/dist/Chips/__tests__/InputChip.test.tsx +155 -0
  48. package/dist/ChipsInput/ChipDropdownInput.cjs +1 -1
  49. package/dist/ChipsInput/ChipDropdownInput.cjs.map +1 -1
  50. package/dist/ChipsInput/ChipDropdownInput.js +1 -1
  51. package/dist/ChipsInput/ChipDropdownInput.js.map +1 -1
  52. package/dist/ChipsInput/__tests__/ChipDropdownInput.test.tsx +100 -0
  53. package/dist/ChipsInput/__tests__/ChipInputFields.test.tsx +155 -0
  54. package/dist/Dropdown/BasicDropdown.cjs +0 -2
  55. package/dist/Dropdown/BasicDropdown.cjs.map +1 -1
  56. package/dist/Dropdown/BasicDropdown.js +0 -2
  57. package/dist/Dropdown/BasicDropdown.js.map +1 -1
  58. package/dist/Dropdown/DropdownButton.cjs +0 -4
  59. package/dist/Dropdown/DropdownButton.cjs.map +1 -1
  60. package/dist/Dropdown/DropdownButton.js +0 -4
  61. package/dist/Dropdown/DropdownButton.js.map +1 -1
  62. package/dist/Dropdown/DropdownContent.cjs +1 -1
  63. package/dist/Dropdown/DropdownContent.cjs.map +1 -1
  64. package/dist/Dropdown/DropdownContent.js +1 -1
  65. package/dist/Dropdown/DropdownContent.js.map +1 -1
  66. package/dist/Dropdown/DropdownFilter.cjs +0 -2
  67. package/dist/Dropdown/DropdownFilter.cjs.map +1 -1
  68. package/dist/Dropdown/DropdownFilter.js +0 -2
  69. package/dist/Dropdown/DropdownFilter.js.map +1 -1
  70. package/dist/Dropdown/__tests__/DropdownFilter.test.tsx +39 -0
  71. package/dist/Footer/__tests__/Footer.test.tsx +182 -0
  72. package/dist/GlobalNavigationBar/__tests__/Logo.test.tsx +31 -0
  73. package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.cjs +1 -0
  74. package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.cjs.map +1 -1
  75. package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.js +1 -0
  76. package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.js.map +1 -1
  77. package/dist/GlobalNavigationBar/desktop/SubMenu.cjs +1 -0
  78. package/dist/GlobalNavigationBar/desktop/SubMenu.cjs.map +1 -1
  79. package/dist/GlobalNavigationBar/desktop/SubMenu.js +1 -0
  80. package/dist/GlobalNavigationBar/desktop/SubMenu.js.map +1 -1
  81. package/dist/GlobalNavigationBar/desktop/__tests__/DesktopActions.test.tsx +108 -0
  82. package/dist/GlobalNavigationBar/desktop/__tests__/ExtendedMainMenu.test.tsx +28 -0
  83. package/dist/GlobalNavigationBar/desktop/__tests__/MainMenu.test.tsx +55 -0
  84. package/dist/GlobalNavigationBar/desktop/__tests__/RightSideNav.test.tsx +45 -0
  85. package/dist/GlobalNavigationBar/desktop/__tests__/UserMenu.test.tsx +125 -0
  86. package/dist/GlobalNavigationBar/mobile/__tests__/MobileMenu.test.tsx +317 -0
  87. package/dist/GlobalNavigationBar/mobile/__tests__/MobileMenuContent.test.tsx +294 -0
  88. package/dist/GlobalNavigationBar/mobile/__tests__/MobileMenuHeader.test.tsx +195 -0
  89. package/dist/InputFields/QuickSearch.cjs +1 -1
  90. package/dist/InputFields/QuickSearch.cjs.map +1 -1
  91. package/dist/InputFields/QuickSearch.js +1 -1
  92. package/dist/InputFields/QuickSearch.js.map +1 -1
  93. package/dist/InputFields/__tests__/NumberField.test.tsx +67 -0
  94. package/dist/InputFields/__tests__/NumberInput.test.tsx +68 -0
  95. package/dist/InputFields/__tests__/QuickSearch.test.tsx +42 -0
  96. package/dist/LinearProgress/__tests__/LinearProgress.test.tsx +25 -0
  97. package/dist/List/__tests__/ListRow.test.tsx +18 -0
  98. package/dist/LoadingPage/__tests__/GlobalLoadingPage.test.tsx +23 -0
  99. package/dist/Modals/__tests__/Modal.test.tsx +169 -0
  100. package/dist/Modals/__tests__/ModalContainer.test.tsx +77 -0
  101. package/dist/Modals/__tests__/ModalContent.test.tsx +126 -0
  102. package/dist/NavItem/__tests__/NavItem.test.ts +6 -0
  103. package/dist/Navigation/NavigationProvider.cjs +43 -0
  104. package/dist/Navigation/NavigationProvider.cjs.map +1 -0
  105. package/dist/Navigation/NavigationProvider.d.ts +15 -0
  106. package/dist/Navigation/NavigationProvider.js +32 -0
  107. package/dist/Navigation/NavigationProvider.js.map +1 -0
  108. package/dist/Navigation/index.cjs +19 -0
  109. package/dist/Navigation/index.cjs.map +1 -0
  110. package/dist/Navigation/index.d.ts +2 -0
  111. package/dist/Navigation/index.js +2 -0
  112. package/dist/Navigation/index.js.map +1 -0
  113. package/dist/NotificationDot/__tests__/NotificationDot.test.tsx +33 -0
  114. package/dist/Paginator/__tests__/Paginator.test.tsx +33 -0
  115. package/dist/Popover/__tests__/Popover.test.tsx +64 -0
  116. package/dist/ProfileButton/__tests__/ProfileButton.test.tsx +31 -0
  117. package/dist/QuizButton/__tests__/QuizButton.test.tsx +53 -0
  118. package/dist/SegmentControl/__tests__/SegmentControl.test.tsx +145 -0
  119. package/dist/SideMenu/__tests__/SideMenu.test.tsx +99 -0
  120. package/dist/Switcher/__tests__/SwitcherMenuItem.tsx +14 -0
  121. package/dist/Table/Table.cjs +3 -1
  122. package/dist/Table/Table.cjs.map +1 -1
  123. package/dist/Table/Table.js +3 -1
  124. package/dist/Table/Table.js.map +1 -1
  125. package/dist/Table/TableBody.cjs +1 -1
  126. package/dist/Table/TableBody.cjs.map +1 -1
  127. package/dist/Table/TableBody.js +1 -1
  128. package/dist/Table/TableBody.js.map +1 -1
  129. package/dist/Table/TableFooter.cjs +0 -2
  130. package/dist/Table/TableFooter.cjs.map +1 -1
  131. package/dist/Table/TableFooter.js +0 -2
  132. package/dist/Table/TableFooter.js.map +1 -1
  133. package/dist/Table/__tests__/Table.test.tsx +499 -0
  134. package/dist/Tabs/__tests__/HorizontalTabs.test.tsx +95 -0
  135. package/dist/Tabs/__tests__/TabLink.test.tsx +40 -0
  136. package/dist/Tabs/__tests__/Tablist.test.tsx +37 -0
  137. package/dist/Tag/__tests__/Tag.test.tsx +86 -0
  138. package/dist/Toasters/__tests__/Toast.test.tsx +74 -0
  139. package/dist/Toggles/__tests__/ToggleButton.test.tsx +53 -0
  140. package/dist/Toggles/__tests__/ToggleSwitch.test.tsx +87 -0
  141. package/dist/Tooltips/__tests__/TooltipWrapper.test.tsx +16 -0
  142. package/dist/icons/systemicons/CreditCard.cjs +43 -0
  143. package/dist/icons/systemicons/CreditCard.cjs.map +1 -0
  144. package/dist/icons/systemicons/CreditCard.d.ts +3 -0
  145. package/dist/icons/systemicons/CreditCard.js +33 -0
  146. package/dist/icons/systemicons/CreditCard.js.map +1 -0
  147. package/dist/icons/systemicons/Discount.cjs +43 -0
  148. package/dist/icons/systemicons/Discount.cjs.map +1 -0
  149. package/dist/icons/systemicons/Discount.d.ts +3 -0
  150. package/dist/icons/systemicons/Discount.js +33 -0
  151. package/dist/icons/systemicons/Discount.js.map +1 -0
  152. package/dist/icons/systemicons/DocumentComplete.cjs +43 -0
  153. package/dist/icons/systemicons/DocumentComplete.cjs.map +1 -0
  154. package/dist/icons/systemicons/DocumentComplete.d.ts +3 -0
  155. package/dist/icons/systemicons/DocumentComplete.js +33 -0
  156. package/dist/icons/systemicons/DocumentComplete.js.map +1 -0
  157. package/dist/icons/systemicons/Folder.cjs +43 -0
  158. package/dist/icons/systemicons/Folder.cjs.map +1 -0
  159. package/dist/icons/systemicons/Folder.d.ts +3 -0
  160. package/dist/icons/systemicons/Folder.js +33 -0
  161. package/dist/icons/systemicons/Folder.js.map +1 -0
  162. package/dist/icons/systemicons/FolderNew.cjs +43 -0
  163. package/dist/icons/systemicons/FolderNew.cjs.map +1 -0
  164. package/dist/icons/systemicons/FolderNew.d.ts +3 -0
  165. package/dist/icons/systemicons/FolderNew.js +33 -0
  166. package/dist/icons/systemicons/FolderNew.js.map +1 -0
  167. package/dist/icons/systemicons/MoodHappy.cjs +43 -0
  168. package/dist/icons/systemicons/MoodHappy.cjs.map +1 -0
  169. package/dist/icons/systemicons/MoodHappy.d.ts +3 -0
  170. package/dist/icons/systemicons/MoodHappy.js +33 -0
  171. package/dist/icons/systemicons/MoodHappy.js.map +1 -0
  172. package/dist/icons/systemicons/MoodIndifferent.cjs +43 -0
  173. package/dist/icons/systemicons/MoodIndifferent.cjs.map +1 -0
  174. package/dist/icons/systemicons/MoodIndifferent.d.ts +3 -0
  175. package/dist/icons/systemicons/MoodIndifferent.js +33 -0
  176. package/dist/icons/systemicons/MoodIndifferent.js.map +1 -0
  177. package/dist/icons/systemicons/MoodSad.cjs +43 -0
  178. package/dist/icons/systemicons/MoodSad.cjs.map +1 -0
  179. package/dist/icons/systemicons/MoodSad.d.ts +3 -0
  180. package/dist/icons/systemicons/MoodSad.js +33 -0
  181. package/dist/icons/systemicons/MoodSad.js.map +1 -0
  182. package/dist/icons/systemicons/MoodVeryHappy.cjs +43 -0
  183. package/dist/icons/systemicons/MoodVeryHappy.cjs.map +1 -0
  184. package/dist/icons/systemicons/MoodVeryHappy.d.ts +3 -0
  185. package/dist/icons/systemicons/MoodVeryHappy.js +33 -0
  186. package/dist/icons/systemicons/MoodVeryHappy.js.map +1 -0
  187. package/dist/icons/systemicons/MoodVerySad.cjs +43 -0
  188. package/dist/icons/systemicons/MoodVerySad.cjs.map +1 -0
  189. package/dist/icons/systemicons/MoodVerySad.d.ts +3 -0
  190. package/dist/icons/systemicons/MoodVerySad.js +33 -0
  191. package/dist/icons/systemicons/MoodVerySad.js.map +1 -0
  192. package/dist/icons/systemicons/Orders.cjs +43 -0
  193. package/dist/icons/systemicons/Orders.cjs.map +1 -0
  194. package/dist/icons/systemicons/Orders.d.ts +3 -0
  195. package/dist/icons/systemicons/Orders.js +33 -0
  196. package/dist/icons/systemicons/Orders.js.map +1 -0
  197. package/dist/icons/systemicons/Palette.cjs +43 -0
  198. package/dist/icons/systemicons/Palette.cjs.map +1 -0
  199. package/dist/icons/systemicons/Palette.d.ts +3 -0
  200. package/dist/icons/systemicons/Palette.js +33 -0
  201. package/dist/icons/systemicons/Palette.js.map +1 -0
  202. package/dist/icons/systemicons/Stack.cjs +43 -0
  203. package/dist/icons/systemicons/Stack.cjs.map +1 -0
  204. package/dist/icons/systemicons/Stack.d.ts +3 -0
  205. package/dist/icons/systemicons/Stack.js +33 -0
  206. package/dist/icons/systemicons/Stack.js.map +1 -0
  207. package/dist/styles/design-tokens/dark/tokens.css +481 -0
  208. package/dist/styles/design-tokens/light/tokens.css +481 -0
  209. package/dist/styles/design-tokens/rqi_dark/tokens.css +481 -0
  210. package/dist/styles/design-tokens/rqi_light/tokens.css +481 -0
  211. package/dist/styles/react-datepicker.css +766 -0
  212. package/dist/styles/typography.cjs +35 -59
  213. package/dist/styles/typography.cjs.map +1 -1
  214. package/dist/styles/typography.d.ts +1 -1
  215. package/dist/styles/typography.js +35 -59
  216. package/dist/styles/typography.js.map +1 -1
  217. package/dist/test-utils.cjs +16 -10
  218. package/dist/test-utils.cjs.map +1 -1
  219. package/dist/test-utils.d.ts +5 -5
  220. package/dist/test-utils.js +14 -8
  221. package/dist/test-utils.js.map +1 -1
  222. package/dist/utils/color-tokens.cjs +91 -0
  223. package/dist/utils/color-tokens.cjs.map +1 -0
  224. package/dist/utils/color-tokens.d.ts +19 -0
  225. package/dist/utils/color-tokens.js +82 -0
  226. package/dist/utils/color-tokens.js.map +1 -0
  227. package/package.json +1 -1
@@ -0,0 +1,79 @@
1
+ import * as React from 'react';
2
+ import {ChoiceChips} from '../index';
3
+ import {render, act, fireEvent} from '../../test-utils';
4
+
5
+
6
+
7
+
8
+ describe('ChoiceChips', () => {
9
+
10
+ it('should render chips', () => {
11
+
12
+ const wrapper = render(<ChoiceChips selected={'1'}
13
+ values={[{value: '1', label: 'label'}, {value: '2', label: 'label 2'}]}/>);
14
+
15
+ expect(wrapper.queryAllByRole('radio')).toHaveLength(2);
16
+ expect(wrapper.queryByText('label')).toBeInTheDocument();
17
+ expect(wrapper.queryByText('label 2')).toBeInTheDocument();
18
+ });
19
+
20
+ it('should call onClick when chip is clicked', () => {
21
+ const onClickSpy = jest.fn();
22
+
23
+ const wrapper = render(<ChoiceChips selected={'1'}
24
+ onClick={onClickSpy}
25
+ values={[{value: '1', label: 'label'}, {value: '2', label: 'label 2'}]}/>);
26
+
27
+ act(() => {
28
+ wrapper.getByText('label 2').click()
29
+ });
30
+
31
+ expect(onClickSpy).toHaveBeenCalledWith({value: '2', label: 'label 2'});
32
+ });
33
+
34
+ it('should call onClick when enter is pressed on focused chip', () => {
35
+ const onClickSpy = jest.fn();
36
+
37
+ const wrapper = render(<ChoiceChips selected={'1'}
38
+ onClick={onClickSpy}
39
+ values={[{value: '1', label: 'label'}, {value: '2', label: 'label 2'}]}/>);
40
+
41
+ act(() => {
42
+ fireEvent.keyDown(wrapper.getByText('label 2'), {key: 'Enter', code: 'Enter'});
43
+ });
44
+
45
+ expect(onClickSpy).toHaveBeenCalledWith({value: '2', label: 'label 2'});
46
+ });
47
+
48
+ it('should not call onClick when chip is clicked if its disabled', () => {
49
+ const onClickSpy = jest.fn();
50
+
51
+ const wrapper = render(<ChoiceChips selected={'1'}
52
+ disabled={true}
53
+ onClick={onClickSpy}
54
+ values={[{value: '1', label: 'label'}, {value: '2', label: 'label 2'}]}/>);
55
+
56
+ act(() => {
57
+ wrapper.getByText('label 2').click()
58
+ });
59
+
60
+ expect(onClickSpy).not.toHaveBeenCalled();
61
+ });
62
+
63
+ it('should render selected chip with default class others with outline class', () => {
64
+ const onClickSpy = jest.fn();
65
+
66
+ const wrapper = render(<ChoiceChips selected={'1'}
67
+ onClick={onClickSpy}
68
+ values={[{value: '1', label: 'label'}, {value: '2', label: 'label 2'}]}/>);
69
+
70
+
71
+ act(() => {
72
+ wrapper.getByText('label 2').click()
73
+ });
74
+
75
+ expect(wrapper.queryAllByRole('radio')[0]).toHaveClass('outline');
76
+ expect(wrapper.queryAllByRole('radio')[1]).toHaveClass('selected')
77
+ });
78
+
79
+ })
@@ -0,0 +1,95 @@
1
+ import * as React from 'react';
2
+ import {FilterChip} from '../index';
3
+ import {act, fireEvent, render} from '../../test-utils';
4
+
5
+
6
+
7
+
8
+ describe('FilterChip', () => {
9
+
10
+ it('should render', () => {
11
+ const wrapper = render(<FilterChip selected={false} text={'label'}/>);
12
+
13
+ expect(wrapper.queryByText('label')).toBeInTheDocument();
14
+ });
15
+
16
+ it('should render icon when selected', () => {
17
+ const wrapper = render(<FilterChip selected={true} text={'label'}/>);
18
+
19
+ expect(wrapper.queryByLabelText('Checkmark')).toBeInTheDocument();
20
+ });
21
+
22
+ it('should be focusable if it is not disabled and onClick is defined', () => {
23
+ const wrapper = render(<FilterChip selected={false} text={'label'} onClick={jest.fn()}/>);
24
+
25
+ expect(wrapper.container.querySelector('[tabindex="0"]')).toBeInTheDocument();
26
+ });
27
+
28
+ it('should not be focusable if it is disabled', () => {
29
+ const wrapper = render(<FilterChip selected={false} text={'label'} disabled={true} onClick={jest.fn()}/>);
30
+
31
+ expect(wrapper.container.querySelector('[tabindex="-1"]')).toBeInTheDocument();
32
+ });
33
+
34
+ it('should not be focusable if it is not interactive', () => {
35
+ const wrapper = render(<FilterChip selected={false} text={'label'}/>);
36
+
37
+ expect(wrapper.container.querySelector('[tabindex="-1"]')).toBeInTheDocument();
38
+ });
39
+
40
+ it('should call onClick when its clicked', () => {
41
+ const onClickSpy = jest.fn();
42
+ const wrapper = render(<FilterChip selected={false} text={'label'} onClick={onClickSpy}/>);
43
+
44
+ act(() => {
45
+ wrapper.getByText('label').click();
46
+ });
47
+
48
+ expect(onClickSpy).toHaveBeenCalled();
49
+ });
50
+
51
+ it('should call onClick when Enter is pressed', () => {
52
+ const onClickSpy = jest.fn();
53
+ const wrapper = render(<FilterChip selected={false} text={'label'} onClick={onClickSpy}/>);
54
+
55
+ act(() => {
56
+ fireEvent.keyDown(wrapper.getByText('label'), {key: 'Enter', code: 'Enter'});
57
+ });
58
+
59
+ expect(onClickSpy).toHaveBeenCalled();
60
+ });
61
+
62
+ it('should call onClick when Space is pressed', () => {
63
+ const onClickSpy = jest.fn();
64
+ const wrapper = render(<FilterChip selected={false} text={'label'} onClick={onClickSpy}/>);
65
+
66
+ act(() => {
67
+ fireEvent.keyDown(wrapper.getByText('label'), {key: ' ', code: 'Space'});
68
+ });
69
+
70
+ expect(onClickSpy).toHaveBeenCalled();
71
+ });
72
+
73
+ it('should not call onClick when its clicked if disabled', () => {
74
+ const onClickSpy = jest.fn();
75
+ const wrapper = render(<FilterChip selected={false} text={'label'} disabled={true} onClick={onClickSpy}/>);
76
+
77
+ act(() => {
78
+ wrapper.getByText('label').click();
79
+ });
80
+
81
+ expect(onClickSpy).not.toHaveBeenCalled();
82
+ });
83
+
84
+ it('should not call onClick when Enter is pressed if disabled', () => {
85
+ const onClickSpy = jest.fn();
86
+ const wrapper = render(<FilterChip selected={false} text={'label'} disabled={true} onClick={onClickSpy}/>);
87
+
88
+ act(() => {
89
+ fireEvent.keyDown(wrapper.getByText('label'), {key: 'Enter', code: 'Enter'});
90
+ });
91
+
92
+ expect(onClickSpy).not.toHaveBeenCalled();
93
+ });
94
+
95
+ });
@@ -0,0 +1,155 @@
1
+ import * as React from 'react';
2
+ import {InputChip} from '../index';
3
+ import {act, fireEvent, render} from '../../test-utils';
4
+ import {States} from '../../types';
5
+ import { SystemIcons } from '../../icons';
6
+
7
+
8
+
9
+
10
+ describe('InputChip', () => {
11
+
12
+ it('should render', () => {
13
+ const wrapper = render(<InputChip variant={States.Default} onRemove={jest.fn()} text={'label'}/>);
14
+
15
+ expect(wrapper.queryByText('label')).toBeInTheDocument();
16
+ });
17
+
18
+ it('should render icon', () => {
19
+ const wrapper = render(<InputChip variant={States.Default} onRemove={jest.fn()} text={'label'} icon={<SystemIcons.Book/>}/>);
20
+
21
+ expect(wrapper.queryByLabelText('Book')).toBeInTheDocument();
22
+ });
23
+
24
+ it('should be focusable if it is not disabled and onClick is defined', () => {
25
+ const wrapper = render(<InputChip variant={States.Default} onRemove={jest.fn()} text={'label'} icon={<SystemIcons.Book/>}
26
+ onClick={jest.fn()}/>);
27
+
28
+ expect(wrapper.container.querySelector('[tabindex="0"]')).toBeInTheDocument();
29
+ });
30
+
31
+ it('should not be focusable if it is disabled', () => {
32
+ const wrapper = render(<InputChip variant={States.Default} onRemove={jest.fn()} text={'label'} icon={<SystemIcons.Book/>}
33
+ disabled={true} onClick={jest.fn()}/>);
34
+
35
+ expect(wrapper.container.querySelector('[tabindex="-1"]')).toBeInTheDocument();
36
+ });
37
+
38
+ it('should call onClick when its clicked', () => {
39
+ const onClickSpy = jest.fn();
40
+ const wrapper = render(<InputChip variant={States.Default} onRemove={jest.fn()} text={'label'} icon={<SystemIcons.Book/>}
41
+ onClick={onClickSpy}/>);
42
+
43
+ act(() => {
44
+ wrapper.getByText('label').click();
45
+ });
46
+
47
+ expect(onClickSpy).toHaveBeenCalled();
48
+ });
49
+
50
+ it('should call onClick when Enter is pressed', () => {
51
+ const onClickSpy = jest.fn();
52
+ const wrapper = render(<InputChip variant={States.Default} onRemove={jest.fn()} text={'label'} icon={<SystemIcons.Book/>}
53
+ onClick={onClickSpy}/>);
54
+
55
+ act(() => {
56
+ fireEvent.keyDown(wrapper.getByText('label'), {key: 'Enter', code: 'Enter'});
57
+ });
58
+
59
+ expect(onClickSpy).toHaveBeenCalled();
60
+ });
61
+
62
+ it('should call onClick when Space is pressed', () => {
63
+ const onClickSpy = jest.fn();
64
+ const wrapper = render(<InputChip variant={States.Default} onRemove={jest.fn()} text={'label'} icon={<SystemIcons.Book/>}
65
+ onClick={onClickSpy}/>);
66
+
67
+ act(() => {
68
+ fireEvent.keyDown(wrapper.getByText('label'), {key: ' ', code: 'Space'});
69
+ });
70
+
71
+ expect(onClickSpy).toHaveBeenCalled();
72
+ });
73
+
74
+ it('should not call onClick when its clicked if disabled', () => {
75
+ const onClickSpy = jest.fn();
76
+ const wrapper = render(<InputChip variant={States.Default} onRemove={jest.fn()} text={'label'} icon={<SystemIcons.Book/>}
77
+ disabled={true} onClick={onClickSpy}/>);
78
+
79
+ act(() => {
80
+ wrapper.getByText('label').click();
81
+ });
82
+
83
+ expect(onClickSpy).not.toHaveBeenCalled();
84
+ });
85
+
86
+ it('should not call onClick when Enter is pressed if disabled', () => {
87
+ const onClickSpy = jest.fn();
88
+ const wrapper = render(<InputChip variant={States.Default} onRemove={jest.fn()} text={'label'} icon={<SystemIcons.Book/>}
89
+ disabled={true} onClick={onClickSpy}/>);
90
+
91
+ act(() => {
92
+ fireEvent.keyDown(wrapper.getByText('label'), {key: 'Enter', code: 'Enter'});
93
+ });
94
+
95
+ expect(onClickSpy).not.toHaveBeenCalled();
96
+ });
97
+
98
+ it('should call onRemove when remove is clicked', () => {
99
+ const onRemoveSpy = jest.fn();
100
+ const wrapper = render(<InputChip variant={States.Default} onRemove={onRemoveSpy} text={'label'} icon={<SystemIcons.Book/>}/>);
101
+
102
+ act(() => {
103
+ fireEvent.click(wrapper.getByLabelText('Close'));
104
+ });
105
+
106
+ expect(onRemoveSpy).toHaveBeenCalled();
107
+ });
108
+
109
+ it('should call onRemove when Enter is pressed on remove button', () => {
110
+ const onRemoveSpy = jest.fn();
111
+ const wrapper = render(<InputChip variant={States.Default} onRemove={onRemoveSpy} text={'label'} icon={<SystemIcons.Book/>}/>);
112
+
113
+ act(() => {
114
+ fireEvent.keyDown(wrapper.getByLabelText('Close'), {key: 'Enter', code: 'Enter'});
115
+ });
116
+
117
+ expect(onRemoveSpy).toHaveBeenCalled();
118
+ });
119
+
120
+ it('should call onRemove when Space is pressed on remove button', () => {
121
+ const onRemoveSpy = jest.fn();
122
+ const wrapper = render(<InputChip variant={States.Default} onRemove={onRemoveSpy} text={'label'} icon={<SystemIcons.Book/>}/>);
123
+
124
+ act(() => {
125
+ fireEvent.keyDown(wrapper.getByLabelText('Close'), {key: ' ', code: 'Space'});
126
+ });
127
+
128
+ expect(onRemoveSpy).toHaveBeenCalled();
129
+ });
130
+
131
+ it('should not call onRemove when remove is clicked and its disabled', () => {
132
+ const onRemoveSpy = jest.fn();
133
+ const wrapper = render(<InputChip variant={States.Default} onRemove={onRemoveSpy} disabled={true} text={'label'}
134
+ icon={<SystemIcons.Book/>}/>);
135
+
136
+ act(() => {
137
+ fireEvent.click(wrapper.getByLabelText('Close'));
138
+ });
139
+
140
+ expect(onRemoveSpy).not.toHaveBeenCalled();
141
+ });
142
+
143
+ it('should not call onRemove when Enter is pressed on remove button and it disabled', () => {
144
+ const onRemoveSpy = jest.fn();
145
+ const wrapper = render(<InputChip variant={States.Default} onRemove={onRemoveSpy} disabled={true} text={'label'}
146
+ icon={<SystemIcons.Book/>}/>);
147
+
148
+ act(() => {
149
+ fireEvent.keyDown(wrapper.getByLabelText('Close'), {key: 'Enter', code: 'Enter'});
150
+ });
151
+
152
+ expect(onRemoveSpy).not.toHaveBeenCalled();
153
+ });
154
+
155
+ });
@@ -215,7 +215,7 @@ var ChipDropdownInput = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
215
215
  return function () {
216
216
  document.removeEventListener('click', handleClickOutside);
217
217
  };
218
- });
218
+ }, []);
219
219
 
220
220
  /**
221
221
  * update dropdown items when filtered list changes
@@ -1 +1 @@
1
- {"version":3,"file":"ChipDropdownInput.cjs","names":["React","_interopRequireWildcard","require","_styledComponents","_interopRequireDefault","_ChipInputField","_types","_Dropdown","_common","_styles","_jsxRuntime","_excluded","_templateObject","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","Wrapper","styled","div","_taggedTemplateLiteral2","ChipInputContainer","Z_INDEXES","dropdown","ChipDropdownInput","forwardRef","_ref","ref","list","onInputChange","disableSorting","messageOnNoResults","values","inputId","variants","placeholder","validationMessage","onValueChange","suggestion","loading","maxSelectedItems","_ref$multiLine","multiLine","_ref$size","size","Size","Medium","icon","disableFiltering","disabled","altPlaceholder","required","rest","_objectWithoutProperties2","_React$useState","useState","_React$useState2","_slicedToArray2","givenList","setGivenList","_React$useState3","_React$useState4","chips","setChips","_React$useState5","_React$useState6","activeDescendant","setActiveDescendant","_React$useState7","_React$useState8","value","setValue","_React$useState9","_React$useState10","restartFilter","setRestartFilter","_React$useState11","_React$useState12","filteredList","setFilteredList","_React$useState13","_React$useState14","dropdownIsOpen","setDropdownIsOpen","_React$useState15","_React$useState16","dropdownList","setDropdownList","_React$useState17","_React$useState18","dropdownValue","setDropdownValue","_React$useState19","_React$useState20","focused","setFocused","containerRef","useClickOutsideRef","useFocusOutsideRef","inputRef","useRef","useImperativeHandle","current","useEffect","map","find","b","label","index","variant","States","Default","newList","options","_toConsumableArray2","option","_option$secondaryLabe","toUpperCase","indexOf","secondaryLabel","sort","handleClickOutside","_containerRef$current","contains","target","document","addEventListener","removeEventListener","_filteredList$map","x","_x$icon","displayLabel","noteLabel","addChip","newChip","concat","handleInputValueChange","handleValueUpdate","_inputRef$current","item","focus","handleInputKeyDown","event","key","stopPropagation","handleOnChipRemoved","newChips","splice","jsxs","children","jsx","ChipInputField","items","inputValue","role","onRemoveItem","chip","onInputValueChange","onInputKeyDown","onActivationChange","DropdownContent","customizationProps","action","pinTopItem","itemsType","scrollable","actionLabel","multiSelect","onValueUpdate","ariaRolesType","onActiveDescendantChanged","selectedValues","setSelectedValues","isOpen","setIsOpen","isButton","id","exports","propTypes","_propTypes","oneOfType","arrayOf","shape","string","isRequired","func","bool","number"],"sources":["../../src/ChipsInput/ChipDropdownInput.tsx"],"sourcesContent":["/**\r\n * Import React libraries.\r\n */\r\nimport * as React from 'react';\r\n\r\n/**\r\n * Import third-party libraries.\r\n */\r\nimport styled from 'styled-components';\r\n\r\n/**\r\n * Import custom components.\r\n */\r\nimport {ChipInputContainer, ChipInputField} from './ChipInputField';\r\nimport {Size, States} from '../types';\r\nimport {DropdownContent, DropdownItem} from '../Dropdown';\r\nimport {SystemIcons} from '../icons';\r\nimport {ChipInputProps, ChipItem} from './ChipInputTypes';\r\nimport {useClickOutsideRef, useFocusOutsideRef} from '../common';\r\nimport {Z_INDEXES} from '../styles';\r\n\r\nconst Wrapper = styled.div`\r\n position: relative;\r\n display: inline-block;\r\n width: 100%;\r\n\r\n ${ChipInputContainer} {\r\n position: relative;\r\n\r\n &:focus, &.focus-visible-within {\r\n z-index: ${Z_INDEXES.dropdown + 1} !important;\r\n }\r\n }\r\n`;\r\n\r\n\r\ninterface ListItem extends ChipItem {\r\n secondaryLabel?: string;\r\n value: string;\r\n}\r\n\r\nexport interface ChipDropdownInputProps extends Omit<ChipInputProps, 'autoSave'> {\r\n /** Array of items available. */\r\n list: ListItem[] | string[];\r\n /** On input selected/unselected. */\r\n onInputChange?: (input: string) => void;\r\n /** Message to show in the dropdown if none of the chips fits user input. */\r\n messageOnNoResults?: string;\r\n /** Message to show in the dropdown if none of the chips fits user input. */\r\n suggestion?: ListItem;\r\n /** If flag is set then loader will be shown in the input field. */\r\n loading?: boolean;\r\n /** Max number of chips that user can select. */\r\n maxSelectedItems?: number;\r\n /** Disable sorting of options in the dropdown. */\r\n disableSorting?: boolean;\r\n /** Disable filtering of options depending on user input in the dropdown. */\r\n disableFiltering?: boolean;\r\n}\r\n\r\nexport const ChipDropdownInput = React.forwardRef<HTMLInputElement | undefined, ChipDropdownInputProps>(({\r\n list,\r\n onInputChange,\r\n disableSorting,\r\n messageOnNoResults,\r\n values,\r\n inputId,\r\n variants,\r\n placeholder,\r\n validationMessage,\r\n onValueChange,\r\n suggestion,\r\n loading,\r\n maxSelectedItems,\r\n multiLine = true,\r\n size = Size.Medium,\r\n icon,\r\n disableFiltering,\r\n disabled,\r\n altPlaceholder,\r\n required,\r\n ...rest\r\n }: ChipDropdownInputProps, ref) => {\r\n // Initiate states\r\n const [givenList, setGivenList] = React.useState<ListItem[]>([]);\r\n const [chips, setChips] = React.useState<ListItem[]>([]);\r\n\r\n const [activeDescendant, setActiveDescendant] = React.useState<string>();\r\n const [value, setValue] = React.useState<string>('');\r\n const [restartFilter, setRestartFilter] = React.useState<boolean>(false);\r\n const [filteredList, setFilteredList] = React.useState<ListItem[]>();\r\n\r\n const [dropdownIsOpen, setDropdownIsOpen] = React.useState<boolean>(false);\r\n const [dropdownList, setDropdownList] = React.useState<DropdownItem[]>([]);\r\n const [dropdownValue, setDropdownValue] = React.useState<string>('');\r\n\r\n const [focused, setFocused] = React.useState<number | null>(null);\r\n\r\n const containerRef = useClickOutsideRef(() => setDropdownIsOpen(false), [], useFocusOutsideRef(() => setDropdownIsOpen(false)));\r\n const inputRef = React.useRef<any>();\r\n\r\n React.useImperativeHandle(ref, () => inputRef.current, [inputRef]);\r\n\r\n\r\n /**\r\n * Sets initial values for the chips.\r\n */\r\n React.useEffect(() => {\r\n\r\n const list =\r\n values.map((a) => chips.find(b => b.value === a) || givenList.find(b => b.value === a) || {\r\n label: a,\r\n value: a,\r\n icon: icon\r\n })\r\n .map((a, index) => ({...a, variant: a.variant || (variants && variants[index]) || States.Default}))\r\n .map((a, index) => ({...a, icon: a.icon || icon}));\r\n\r\n setChips(list);\r\n }, [values, variants, icon, givenList]);\r\n\r\n /**\r\n * Convert string[] to List[] if necessary\r\n */\r\n React.useEffect(() => {\r\n if (typeof list[0] === 'string') {\r\n const newList: ListItem[] = (list as string[]).map((e: string) => ({label: e, value: e}));\r\n setGivenList(newList);\r\n } else {\r\n setGivenList(list as ListItem[]);\r\n }\r\n }, [list]);\r\n\r\n /**\r\n * filter and sort list if remoteOperations is false\r\n * */\r\n React.useEffect(() => {\r\n let options = [...givenList];\r\n if (!disableFiltering) {\r\n if (!restartFilter && value !== '') {\r\n options = options.filter((option) => option.label.toUpperCase().indexOf(value.toUpperCase()) !== -1 ||\r\n (option.secondaryLabel && option.secondaryLabel?.toUpperCase().indexOf(value.toUpperCase()) !== -1));\r\n }\r\n }\r\n\r\n if (!disableSorting) {\r\n options = options.sort();\r\n }\r\n\r\n suggestion && options.push(suggestion);\r\n\r\n options = options.filter((o) => !chips.find(a => a.value === o.value));\r\n setFilteredList(options);\r\n }, [value, givenList, chips, disableFiltering, disableSorting]);\r\n\r\n /**\r\n * if there is only one active item in dropdown mark it as focused\r\n * */\r\n React.useEffect(() => {\r\n if (dropdownIsOpen && !!value && dropdownList?.filter(a => !a.disabled).length === 1) {\r\n setDropdownValue(dropdownList.find(a => !a.disabled)!.value);\r\n } else {\r\n setDropdownValue('');\r\n }\r\n }, [dropdownList, dropdownIsOpen, value]);\r\n\r\n const handleClickOutside = (e: any) => {\r\n if (!containerRef.current?.contains(e.target)) {\r\n if (dropdownIsOpen) {\r\n setDropdownIsOpen(false);\r\n if (!givenList.find((e) => e.value === value)) {\r\n setValue('');\r\n }\r\n }\r\n }\r\n };\r\n\r\n /**\r\n * register click outside event listener\r\n * */\r\n React.useEffect(() => {\r\n document.addEventListener('click', handleClickOutside);\r\n return () => {\r\n document.removeEventListener('click', handleClickOutside);\r\n };\r\n });\r\n\r\n /**\r\n * update dropdown items when filtered list changes\r\n * */\r\n React.useEffect(() => {\r\n setDropdownList(filteredList?.map(x => ({\r\n value: x.value,\r\n displayLabel: x.label,\r\n noteLabel: x.secondaryLabel,\r\n icon: (x.icon ?? icon),\r\n disabled: x.disabled,\r\n })) ?? []);\r\n }, [filteredList]);\r\n\r\n const addChip = (newChip: ListItem) => {\r\n const newList = [...chips, newChip];\r\n // Let's add the chip\r\n setChips(newList);\r\n onValueChange(newList.map(a => a.value));\r\n\r\n setValue('');\r\n };\r\n\r\n const handleInputValueChange = (value: string) => {\r\n setValue(value);\r\n setRestartFilter(false);\r\n setDropdownIsOpen(true);\r\n onInputChange && onInputChange(value);\r\n }\r\n\r\n /**\r\n * Add chip from dropdown\r\n * */\r\n const handleValueUpdate = (values: string[]) => {\r\n const item = filteredList?.find(a => a.value === values[0]);\r\n item && addChip(item);\r\n setRestartFilter(true);\r\n inputRef?.current?.focus();\r\n }\r\n\r\n /**\r\n * Adds a chip to the chip list.\r\n * @param event - Event handler from the key down event.\r\n */\r\n const handleInputKeyDown = (event: React.KeyboardEvent<HTMLInputElement>): void => {\r\n // Let's trigger only on enter, comma and space key press\r\n if ((event.key === 'Enter' || event.key === ' ') && value) {\r\n if (dropdownList?.filter(a => !a.disabled).length === 1) {\r\n handleValueUpdate([dropdownList!.find(a => !a.disabled)!.value]);\r\n event.stopPropagation();\r\n }\r\n }\r\n\r\n if ((event.key === 'ArrowDown' || event.key === 'Down' || event.key === 'ArrowUp' || event.key === 'Up') && !!dropdownList?.length) {\r\n setDropdownIsOpen(true);\r\n }\r\n };\r\n\r\n /**\r\n * Removes a specific chip from the chip list.\r\n * @param index - Index of the chip that needs to be removed.\r\n */\r\n const handleOnChipRemoved = (index: number): void => {\r\n // Let's copy the chips\r\n const newChips = [...chips];\r\n\r\n // Let's delete the chip\r\n // If necessary, let's replace it with a different chip\r\n newChips.splice(index, 1);\r\n\r\n // Let's update the chip list\r\n setChips([...newChips]);\r\n onValueChange(newChips.map((e) => e.value));\r\n };\r\n\r\n return (\r\n <Wrapper ref={containerRef}>\r\n <ChipInputField inputId={inputId}\r\n ref={inputRef}\r\n items={chips}\r\n required={required}\r\n inputValue={value}\r\n role=\"combobox\"\r\n aria-activedescendant={activeDescendant}\r\n size={size}\r\n placeholder={placeholder}\r\n altPlaceholder={altPlaceholder}\r\n disabled={disabled}\r\n multiLine={multiLine}\r\n validationMessage={validationMessage}\r\n loading={loading}\r\n onRemoveItem={(chip, index) => handleOnChipRemoved(index)}\r\n onInputValueChange={handleInputValueChange}\r\n onInputKeyDown={handleInputKeyDown}\r\n onActivationChange={(value) => setDropdownIsOpen(value)}\r\n {...rest}/>\r\n <DropdownContent\r\n containerRef={containerRef}\r\n customizationProps={{\r\n action: () => {\r\n },\r\n pinTopItem: true,\r\n\r\n itemsType: 'normal',\r\n scrollable: true,\r\n actionLabel: '',\r\n multiSelect: false,\r\n onValueUpdate: handleValueUpdate,\r\n items: dropdownList,\r\n }}\r\n ariaRolesType=\"input\"\r\n focused={focused}\r\n setFocused={setFocused}\r\n onActiveDescendantChanged={(e) => setActiveDescendant(e)}\r\n selectedValues={[dropdownValue]}\r\n messageOnNoResults={messageOnNoResults ?? ''}\r\n setSelectedValues={() => {\r\n }}\r\n isOpen={(!maxSelectedItems || (!!maxSelectedItems && chips.length < maxSelectedItems)) && dropdownIsOpen}\r\n setIsOpen={setDropdownIsOpen}\r\n filter={''}\r\n isButton={false}\r\n id={`${inputId}_dropdowncontent`}/>\r\n\r\n </Wrapper>\r\n );\r\n});\r\n"],"mappings":";;;;;;;;;;;;;;AAGA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AAKA,IAAAC,iBAAA,GAAAC,sBAAA,CAAAF,OAAA;AAKA,IAAAG,eAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AACA,IAAAK,SAAA,GAAAL,OAAA;AAGA,IAAAM,OAAA,GAAAN,OAAA;AACA,IAAAO,OAAA,GAAAP,OAAA;AAAoC,IAAAQ,WAAA,GAAAR,OAAA;AAAA,IAAAS,SAAA;AAAA,IAAAC,eAAA;AAnBpC;AACA;AACA;AAGA;AACA;AACA;AAGA;AACA;AACA;AAFA,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAb,wBAAAa,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,gBAAAK,OAAA,CAAAL,CAAA,0BAAAA,CAAA,sBAAAA,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,cAAAR,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAAW,QAAAnB,CAAA,EAAAE,CAAA,QAAAC,CAAA,GAAAQ,MAAA,CAAAS,IAAA,CAAApB,CAAA,OAAAW,MAAA,CAAAU,qBAAA,QAAAC,CAAA,GAAAX,MAAA,CAAAU,qBAAA,CAAArB,CAAA,GAAAE,CAAA,KAAAoB,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAArB,CAAA,WAAAS,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAE,CAAA,EAAAsB,UAAA,OAAArB,CAAA,CAAAsB,IAAA,CAAAC,KAAA,CAAAvB,CAAA,EAAAmB,CAAA,YAAAnB,CAAA;AAAA,SAAAwB,cAAA3B,CAAA,aAAAE,CAAA,MAAAA,CAAA,GAAA0B,SAAA,CAAAC,MAAA,EAAA3B,CAAA,UAAAC,CAAA,WAAAyB,SAAA,CAAA1B,CAAA,IAAA0B,SAAA,CAAA1B,CAAA,QAAAA,CAAA,OAAAiB,OAAA,CAAAR,MAAA,CAAAR,CAAA,OAAA2B,OAAA,WAAA5B,CAAA,QAAA6B,gBAAA,aAAA/B,CAAA,EAAAE,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAS,MAAA,CAAAqB,yBAAA,GAAArB,MAAA,CAAAsB,gBAAA,CAAAjC,CAAA,EAAAW,MAAA,CAAAqB,yBAAA,CAAA7B,CAAA,KAAAgB,OAAA,CAAAR,MAAA,CAAAR,CAAA,GAAA2B,OAAA,WAAA5B,CAAA,IAAAS,MAAA,CAAAC,cAAA,CAAAZ,CAAA,EAAAE,CAAA,EAAAS,MAAA,CAAAE,wBAAA,CAAAV,CAAA,EAAAD,CAAA,iBAAAF,CAAA;AAWA,IAAMkC,OAAO,GAAGC,4BAAM,CAACC,GAAG,CAAAtC,eAAA,KAAAA,eAAA,OAAAuC,uBAAA,mNAKtBC,kCAAkB,EAILC,iBAAS,CAACC,QAAQ,GAAG,CAAC,CAGtC;AA2BM,IAAMC,iBAAiB,gBAAGvD,KAAK,CAACwD,UAAU,CAAuD,UAAAC,IAAA,EAsBgBC,GAAG,EAAK;EAAA,IArBjCC,IAAI,GAAAF,IAAA,CAAJE,IAAI;IACJC,aAAa,GAAAH,IAAA,CAAbG,aAAa;IACbC,cAAc,GAAAJ,IAAA,CAAdI,cAAc;IACdC,kBAAkB,GAAAL,IAAA,CAAlBK,kBAAkB;IAClBC,MAAM,GAAAN,IAAA,CAANM,MAAM;IACNC,OAAO,GAAAP,IAAA,CAAPO,OAAO;IACPC,QAAQ,GAAAR,IAAA,CAARQ,QAAQ;IACRC,WAAW,GAAAT,IAAA,CAAXS,WAAW;IACXC,iBAAiB,GAAAV,IAAA,CAAjBU,iBAAiB;IACjBC,aAAa,GAAAX,IAAA,CAAbW,aAAa;IACbC,UAAU,GAAAZ,IAAA,CAAVY,UAAU;IACVC,OAAO,GAAAb,IAAA,CAAPa,OAAO;IACPC,gBAAgB,GAAAd,IAAA,CAAhBc,gBAAgB;IAAAC,cAAA,GAAAf,IAAA,CAChBgB,SAAS;IAATA,SAAS,GAAAD,cAAA,cAAG,IAAI,GAAAA,cAAA;IAAAE,SAAA,GAAAjB,IAAA,CAChBkB,IAAI;IAAJA,IAAI,GAAAD,SAAA,cAAGE,WAAI,CAACC,MAAM,GAAAH,SAAA;IAClBI,IAAI,GAAArB,IAAA,CAAJqB,IAAI;IACJC,gBAAgB,GAAAtB,IAAA,CAAhBsB,gBAAgB;IAChBC,QAAQ,GAAAvB,IAAA,CAARuB,QAAQ;IACRC,cAAc,GAAAxB,IAAA,CAAdwB,cAAc;IACdC,QAAQ,GAAAzB,IAAA,CAARyB,QAAQ;IACLC,IAAI,OAAAC,yBAAA,aAAA3B,IAAA,EAAA9C,SAAA;EAEpG;EACA,IAAA0E,eAAA,GAAkCrF,KAAK,CAACsF,QAAQ,CAAa,EAAE,CAAC;IAAAC,gBAAA,OAAAC,eAAA,aAAAH,eAAA;IAAzDI,SAAS,GAAAF,gBAAA;IAAEG,YAAY,GAAAH,gBAAA;EAC9B,IAAAI,gBAAA,GAA0B3F,KAAK,CAACsF,QAAQ,CAAa,EAAE,CAAC;IAAAM,gBAAA,OAAAJ,eAAA,aAAAG,gBAAA;IAAjDE,KAAK,GAAAD,gBAAA;IAAEE,QAAQ,GAAAF,gBAAA;EAEtB,IAAAG,gBAAA,GAAgD/F,KAAK,CAACsF,QAAQ,CAAS,CAAC;IAAAU,gBAAA,OAAAR,eAAA,aAAAO,gBAAA;IAAjEE,gBAAgB,GAAAD,gBAAA;IAAEE,mBAAmB,GAAAF,gBAAA;EAC5C,IAAAG,gBAAA,GAA0BnG,KAAK,CAACsF,QAAQ,CAAS,EAAE,CAAC;IAAAc,gBAAA,OAAAZ,eAAA,aAAAW,gBAAA;IAA7CE,KAAK,GAAAD,gBAAA;IAAEE,QAAQ,GAAAF,gBAAA;EACtB,IAAAG,gBAAA,GAA0CvG,KAAK,CAACsF,QAAQ,CAAU,KAAK,CAAC;IAAAkB,iBAAA,OAAAhB,eAAA,aAAAe,gBAAA;IAAjEE,aAAa,GAAAD,iBAAA;IAAEE,gBAAgB,GAAAF,iBAAA;EACtC,IAAAG,iBAAA,GAAwC3G,KAAK,CAACsF,QAAQ,CAAa,CAAC;IAAAsB,iBAAA,OAAApB,eAAA,aAAAmB,iBAAA;IAA7DE,YAAY,GAAAD,iBAAA;IAAEE,eAAe,GAAAF,iBAAA;EAEpC,IAAAG,iBAAA,GAA4C/G,KAAK,CAACsF,QAAQ,CAAU,KAAK,CAAC;IAAA0B,iBAAA,OAAAxB,eAAA,aAAAuB,iBAAA;IAAnEE,cAAc,GAAAD,iBAAA;IAAEE,iBAAiB,GAAAF,iBAAA;EACxC,IAAAG,iBAAA,GAAwCnH,KAAK,CAACsF,QAAQ,CAAiB,EAAE,CAAC;IAAA8B,iBAAA,OAAA5B,eAAA,aAAA2B,iBAAA;IAAnEE,YAAY,GAAAD,iBAAA;IAAEE,eAAe,GAAAF,iBAAA;EACpC,IAAAG,iBAAA,GAA0CvH,KAAK,CAACsF,QAAQ,CAAS,EAAE,CAAC;IAAAkC,iBAAA,OAAAhC,eAAA,aAAA+B,iBAAA;IAA7DE,aAAa,GAAAD,iBAAA;IAAEE,gBAAgB,GAAAF,iBAAA;EAEtC,IAAAG,iBAAA,GAA8B3H,KAAK,CAACsF,QAAQ,CAAgB,IAAI,CAAC;IAAAsC,iBAAA,OAAApC,eAAA,aAAAmC,iBAAA;IAA1DE,OAAO,GAAAD,iBAAA;IAAEE,UAAU,GAAAF,iBAAA;EAE1B,IAAMG,YAAY,GAAG,IAAAC,0BAAkB,EAAC;IAAA,OAAMd,iBAAiB,CAAC,KAAK,CAAC;EAAA,GAAE,EAAE,EAAE,IAAAe,0BAAkB,EAAC;IAAA,OAAMf,iBAAiB,CAAC,KAAK,CAAC;EAAA,EAAC,CAAC;EAC/H,IAAMgB,QAAQ,GAAGlI,KAAK,CAACmI,MAAM,CAAM,CAAC;EAEpCnI,KAAK,CAACoI,mBAAmB,CAAC1E,GAAG,EAAE;IAAA,OAAMwE,QAAQ,CAACG,OAAO;EAAA,GAAE,CAACH,QAAQ,CAAC,CAAC;;EAGlE;AACF;AACA;EACElI,KAAK,CAACsI,SAAS,CAAC,YAAM;IAEpB,IAAM3E,IAAI,GACRI,MAAM,CAACwE,GAAG,CAAC,UAAC/G,CAAC;MAAA,OAAKqE,KAAK,CAAC2C,IAAI,CAAC,UAAAC,CAAC;QAAA,OAAIA,CAAC,CAACpC,KAAK,KAAK7E,CAAC;MAAA,EAAC,IAAIiE,SAAS,CAAC+C,IAAI,CAAC,UAAAC,CAAC;QAAA,OAAIA,CAAC,CAACpC,KAAK,KAAK7E,CAAC;MAAA,EAAC,IAAI;QACxFkH,KAAK,EAAElH,CAAC;QACR6E,KAAK,EAAE7E,CAAC;QACRsD,IAAI,EAAEA;MACR,CAAC;IAAA,EAAC,CACCyD,GAAG,CAAC,UAAC/G,CAAC,EAAEmH,KAAK;MAAA,OAAAlG,aAAA,CAAAA,aAAA,KAAUjB,CAAC;QAAEoH,OAAO,EAAEpH,CAAC,CAACoH,OAAO,IAAK3E,QAAQ,IAAIA,QAAQ,CAAC0E,KAAK,CAAE,IAAIE,aAAM,CAACC;MAAO;IAAA,CAAE,CAAC,CAClGP,GAAG,CAAC,UAAC/G,CAAC,EAAEmH,KAAK;MAAA,OAAAlG,aAAA,CAAAA,aAAA,KAAUjB,CAAC;QAAEsD,IAAI,EAAEtD,CAAC,CAACsD,IAAI,IAAIA;MAAI;IAAA,CAAE,CAAC;IAEtDgB,QAAQ,CAACnC,IAAI,CAAC;EAChB,CAAC,EAAE,CAACI,MAAM,EAAEE,QAAQ,EAAEa,IAAI,EAAEW,SAAS,CAAC,CAAC;;EAEvC;AACF;AACA;EACEzF,KAAK,CAACsI,SAAS,CAAC,YAAM;IACpB,IAAI,OAAO3E,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;MAC/B,IAAMoF,OAAmB,GAAIpF,IAAI,CAAc4E,GAAG,CAAC,UAACzH,CAAS;QAAA,OAAM;UAAC4H,KAAK,EAAE5H,CAAC;UAAEuF,KAAK,EAAEvF;QAAC,CAAC;MAAA,CAAC,CAAC;MACzF4E,YAAY,CAACqD,OAAO,CAAC;IACvB,CAAC,MAAM;MACLrD,YAAY,CAAC/B,IAAkB,CAAC;IAClC;EACF,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;;EAEV;AACF;AACA;EACE3D,KAAK,CAACsI,SAAS,CAAC,YAAM;IACpB,IAAIU,OAAO,OAAAC,mBAAA,aAAOxD,SAAS,CAAC;IAC5B,IAAI,CAACV,gBAAgB,EAAE;MACrB,IAAI,CAAC0B,aAAa,IAAIJ,KAAK,KAAK,EAAE,EAAE;QAClC2C,OAAO,GAAGA,OAAO,CAAC3G,MAAM,CAAC,UAAC6G,MAAM;UAAA,IAAAC,qBAAA;UAAA,OAAKD,MAAM,CAACR,KAAK,CAACU,WAAW,CAAC,CAAC,CAACC,OAAO,CAAChD,KAAK,CAAC+C,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAChGF,MAAM,CAACI,cAAc,IAAI,EAAAH,qBAAA,GAAAD,MAAM,CAACI,cAAc,cAAAH,qBAAA,uBAArBA,qBAAA,CAAuBC,WAAW,CAAC,CAAC,CAACC,OAAO,CAAChD,KAAK,CAAC+C,WAAW,CAAC,CAAC,CAAC,MAAK,CAAC,CAAE;QAAA,EAAC;MACxG;IACF;IAEA,IAAI,CAACvF,cAAc,EAAE;MACnBmF,OAAO,GAAGA,OAAO,CAACO,IAAI,CAAC,CAAC;IAC1B;IAEAlF,UAAU,IAAI2E,OAAO,CAACzG,IAAI,CAAC8B,UAAU,CAAC;IAEtC2E,OAAO,GAAGA,OAAO,CAAC3G,MAAM,CAAC,UAACD,CAAC;MAAA,OAAK,CAACyD,KAAK,CAAC2C,IAAI,CAAC,UAAAhH,CAAC;QAAA,OAAIA,CAAC,CAAC6E,KAAK,KAAKjE,CAAC,CAACiE,KAAK;MAAA,EAAC;IAAA,EAAC;IACtES,eAAe,CAACkC,OAAO,CAAC;EAC1B,CAAC,EAAE,CAAC3C,KAAK,EAAEZ,SAAS,EAAEI,KAAK,EAAEd,gBAAgB,EAAElB,cAAc,CAAC,CAAC;;EAE/D;AACF;AACA;EACE7D,KAAK,CAACsI,SAAS,CAAC,YAAM;IACpB,IAAIrB,cAAc,IAAI,CAAC,CAACZ,KAAK,IAAI,CAAAgB,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEhF,MAAM,CAAC,UAAAb,CAAC;MAAA,OAAI,CAACA,CAAC,CAACwD,QAAQ;IAAA,EAAC,CAACrC,MAAM,MAAK,CAAC,EAAE;MACpF+E,gBAAgB,CAACL,YAAY,CAACmB,IAAI,CAAC,UAAAhH,CAAC;QAAA,OAAI,CAACA,CAAC,CAACwD,QAAQ;MAAA,EAAC,CAAEqB,KAAK,CAAC;IAC9D,CAAC,MAAM;MACLqB,gBAAgB,CAAC,EAAE,CAAC;IACtB;EACF,CAAC,EAAE,CAACL,YAAY,EAAEJ,cAAc,EAAEZ,KAAK,CAAC,CAAC;EAEzC,IAAMmD,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAI1I,CAAM,EAAK;IAAA,IAAA2I,qBAAA;IACrC,IAAI,GAAAA,qBAAA,GAAC1B,YAAY,CAACM,OAAO,cAAAoB,qBAAA,eAApBA,qBAAA,CAAsBC,QAAQ,CAAC5I,CAAC,CAAC6I,MAAM,CAAC,GAAE;MAC7C,IAAI1C,cAAc,EAAE;QAClBC,iBAAiB,CAAC,KAAK,CAAC;QACxB,IAAI,CAACzB,SAAS,CAAC+C,IAAI,CAAC,UAAC1H,CAAC;UAAA,OAAKA,CAAC,CAACuF,KAAK,KAAKA,KAAK;QAAA,EAAC,EAAE;UAC7CC,QAAQ,CAAC,EAAE,CAAC;QACd;MACF;IACF;EACF,CAAC;;EAED;AACF;AACA;EACEtG,KAAK,CAACsI,SAAS,CAAC,YAAM;IACpBsB,QAAQ,CAACC,gBAAgB,CAAC,OAAO,EAAEL,kBAAkB,CAAC;IACtD,OAAO,YAAM;MACXI,QAAQ,CAACE,mBAAmB,CAAC,OAAO,EAAEN,kBAAkB,CAAC;IAC3D,CAAC;EACH,CAAC,CAAC;;EAEF;AACF;AACA;EACExJ,KAAK,CAACsI,SAAS,CAAC,YAAM;IAAA,IAAAyB,iBAAA;IACpBzC,eAAe,EAAAyC,iBAAA,GAAClD,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAE0B,GAAG,CAAC,UAAAyB,CAAC;MAAA,IAAAC,OAAA;MAAA,OAAK;QACtC5D,KAAK,EAAE2D,CAAC,CAAC3D,KAAK;QACd6D,YAAY,EAAEF,CAAC,CAACtB,KAAK;QACrByB,SAAS,EAAEH,CAAC,CAACV,cAAc;QAC3BxE,IAAI,GAAAmF,OAAA,GAAGD,CAAC,CAAClF,IAAI,cAAAmF,OAAA,cAAAA,OAAA,GAAInF,IAAK;QACtBE,QAAQ,EAAEgF,CAAC,CAAChF;MACd,CAAC;IAAA,CAAC,CAAC,cAAA+E,iBAAA,cAAAA,iBAAA,GAAI,EAAE,CAAC;EACZ,CAAC,EAAE,CAAClD,YAAY,CAAC,CAAC;EAElB,IAAMuD,OAAO,GAAG,SAAVA,OAAOA,CAAIC,OAAiB,EAAK;IACrC,IAAMtB,OAAO,MAAAuB,MAAA,KAAArB,mBAAA,aAAOpD,KAAK,IAAEwE,OAAO,EAAC;IACnC;IACAvE,QAAQ,CAACiD,OAAO,CAAC;IACjB3E,aAAa,CAAC2E,OAAO,CAACR,GAAG,CAAC,UAAA/G,CAAC;MAAA,OAAIA,CAAC,CAAC6E,KAAK;IAAA,EAAC,CAAC;IAExCC,QAAQ,CAAC,EAAE,CAAC;EACd,CAAC;EAED,IAAMiE,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAIlE,KAAa,EAAK;IAChDC,QAAQ,CAACD,KAAK,CAAC;IACfK,gBAAgB,CAAC,KAAK,CAAC;IACvBQ,iBAAiB,CAAC,IAAI,CAAC;IACvBtD,aAAa,IAAIA,aAAa,CAACyC,KAAK,CAAC;EACvC,CAAC;;EAED;AACF;AACA;EACE,IAAMmE,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAIzG,MAAgB,EAAK;IAAA,IAAA0G,iBAAA;IAC9C,IAAMC,IAAI,GAAG7D,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAE2B,IAAI,CAAC,UAAAhH,CAAC;MAAA,OAAIA,CAAC,CAAC6E,KAAK,KAAKtC,MAAM,CAAC,CAAC,CAAC;IAAA,EAAC;IAC3D2G,IAAI,IAAIN,OAAO,CAACM,IAAI,CAAC;IACrBhE,gBAAgB,CAAC,IAAI,CAAC;IACtBwB,QAAQ,aAARA,QAAQ,wBAAAuC,iBAAA,GAARvC,QAAQ,CAAEG,OAAO,cAAAoC,iBAAA,uBAAjBA,iBAAA,CAAmBE,KAAK,CAAC,CAAC;EAC5B,CAAC;;EAED;AACF;AACA;AACA;EACE,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIC,KAA4C,EAAW;IACjF;IACA,IAAI,CAACA,KAAK,CAACC,GAAG,KAAK,OAAO,IAAID,KAAK,CAACC,GAAG,KAAK,GAAG,KAAKzE,KAAK,EAAE;MACzD,IAAI,CAAAgB,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEhF,MAAM,CAAC,UAAAb,CAAC;QAAA,OAAI,CAACA,CAAC,CAACwD,QAAQ;MAAA,EAAC,CAACrC,MAAM,MAAK,CAAC,EAAE;QACvD6H,iBAAiB,CAAC,CAACnD,YAAY,CAAEmB,IAAI,CAAC,UAAAhH,CAAC;UAAA,OAAI,CAACA,CAAC,CAACwD,QAAQ;QAAA,EAAC,CAAEqB,KAAK,CAAC,CAAC;QAChEwE,KAAK,CAACE,eAAe,CAAC,CAAC;MACzB;IACF;IAEA,IAAI,CAACF,KAAK,CAACC,GAAG,KAAK,WAAW,IAAID,KAAK,CAACC,GAAG,KAAK,MAAM,IAAID,KAAK,CAACC,GAAG,KAAK,SAAS,IAAID,KAAK,CAACC,GAAG,KAAK,IAAI,KAAK,CAAC,EAACzD,YAAY,aAAZA,YAAY,eAAZA,YAAY,CAAE1E,MAAM,GAAE;MAClIuE,iBAAiB,CAAC,IAAI,CAAC;IACzB;EACF,CAAC;;EAED;AACF;AACA;AACA;EACE,IAAM8D,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAIrC,KAAa,EAAW;IACnD;IACA,IAAMsC,QAAQ,OAAAhC,mBAAA,aAAOpD,KAAK,CAAC;;IAE3B;IACA;IACAoF,QAAQ,CAACC,MAAM,CAACvC,KAAK,EAAE,CAAC,CAAC;;IAEzB;IACA7C,QAAQ,KAAAmD,mBAAA,aAAKgC,QAAQ,CAAC,CAAC;IACvB7G,aAAa,CAAC6G,QAAQ,CAAC1C,GAAG,CAAC,UAACzH,CAAC;MAAA,OAAKA,CAAC,CAACuF,KAAK;IAAA,EAAC,CAAC;EAC7C,CAAC;EAED,oBACE,IAAA3F,WAAA,CAAAyK,IAAA,EAACnI,OAAO;IAACU,GAAG,EAAEqE,YAAa;IAAAqD,QAAA,gBACzB,IAAA1K,WAAA,CAAA2K,GAAA,EAAChL,eAAA,CAAAiL,cAAc,EAAA7I,aAAA;MAACuB,OAAO,EAAEA,OAAQ;MACjBN,GAAG,EAAEwE,QAAS;MACdqD,KAAK,EAAE1F,KAAM;MACbX,QAAQ,EAAEA,QAAS;MACnBsG,UAAU,EAAEnF,KAAM;MAClBoF,IAAI,EAAC,UAAU;MACf,yBAAuBxF,gBAAiB;MACxCtB,IAAI,EAAEA,IAAK;MACXT,WAAW,EAAEA,WAAY;MACzBe,cAAc,EAAEA,cAAe;MAC/BD,QAAQ,EAAEA,QAAS;MACnBP,SAAS,EAAEA,SAAU;MACrBN,iBAAiB,EAAEA,iBAAkB;MACrCG,OAAO,EAAEA,OAAQ;MACjBoH,YAAY,EAAE,SAAAA,aAACC,IAAI,EAAEhD,KAAK;QAAA,OAAKqC,mBAAmB,CAACrC,KAAK,CAAC;MAAA,CAAC;MAC1DiD,kBAAkB,EAAErB,sBAAuB;MAC3CsB,cAAc,EAAEjB,kBAAmB;MACnCkB,kBAAkB,EAAE,SAAAA,mBAACzF,KAAK;QAAA,OAAKa,iBAAiB,CAACb,KAAK,CAAC;MAAA;IAAC,GACpDlB,IAAI,CAAE,CAAC,eAC3B,IAAAzE,WAAA,CAAA2K,GAAA,EAAC9K,SAAA,CAAAwL,eAAe;MACdhE,YAAY,EAAEA,YAAa;MAC3BiE,kBAAkB,EAAE;QAClBC,MAAM,EAAE,SAAAA,OAAA,EAAM,CACd,CAAC;QACDC,UAAU,EAAE,IAAI;QAEhBC,SAAS,EAAE,QAAQ;QACnBC,UAAU,EAAE,IAAI;QAChBC,WAAW,EAAE,EAAE;QACfC,WAAW,EAAE,KAAK;QAClBC,aAAa,EAAE/B,iBAAiB;QAChCe,KAAK,EAAElE;MACT,CAAE;MACFmF,aAAa,EAAC,OAAO;MACrB3E,OAAO,EAAEA,OAAQ;MACjBC,UAAU,EAAEA,UAAW;MACvB2E,yBAAyB,EAAE,SAAAA,0BAAC3L,CAAC;QAAA,OAAKoF,mBAAmB,CAACpF,CAAC,CAAC;MAAA,CAAC;MACzD4L,cAAc,EAAE,CAACjF,aAAa,CAAE;MAChC3D,kBAAkB,EAAEA,kBAAkB,aAAlBA,kBAAkB,cAAlBA,kBAAkB,GAAI,EAAG;MAC7C6I,iBAAiB,EAAE,SAAAA,kBAAA,EAAM,CACzB,CAAE;MACFC,MAAM,EAAE,CAAC,CAACrI,gBAAgB,IAAK,CAAC,CAACA,gBAAgB,IAAIsB,KAAK,CAAClD,MAAM,GAAG4B,gBAAiB,KAAK0C,cAAe;MACzG4F,SAAS,EAAE3F,iBAAkB;MAC7B7E,MAAM,EAAE,EAAG;MACXyK,QAAQ,EAAE,KAAM;MAChBC,EAAE,KAAAzC,MAAA,CAAKtG,OAAO;IAAmB,CAAC,CAAC;EAAA,CAE9B,CAAC;AAEd,CAAC,CAAC;AAACgJ,OAAA,CAAAzJ,iBAAA,GAAAA,iBAAA;AAAAA,iBAAA,CAAA0J,SAAA;EA7QDtJ,IAAI,EAAAuJ,UAAA,YAAAC,SAAA,EAAAD,UAAA,YAAAE,OAAA,CAAAF,UAAA,YAAAG,KAAA;IANJ/D,cAAc,EAAA4D,UAAA,YAAAI,MAAA;IACdjH,KAAK,EAAA6G,UAAA,YAAAI,MAAA,CAAAC;EAAA,KAAAL,UAAA,YAAAE,OAAA,CAAAF,UAAA,YAAAI,MAAA,IAAAC,UAAA;EAOL3J,aAAa,EAAAsJ,UAAA,YAAAM,IAAA;EAEb1J,kBAAkB,EAAAoJ,UAAA,YAAAI,MAAA;EAElBjJ,UAAU,EAAA6I,UAAA,YAAAG,KAAA;IAZV/D,cAAc,EAAA4D,UAAA,YAAAI,MAAA;IACdjH,KAAK,EAAA6G,UAAA,YAAAI,MAAA,CAAAC;EAAA;EAaLjJ,OAAO,EAAA4I,UAAA,YAAAO,IAAA;EAEPlJ,gBAAgB,EAAA2I,UAAA,YAAAQ,MAAA;EAEhB7J,cAAc,EAAAqJ,UAAA,YAAAO,IAAA;EAEd1I,gBAAgB,EAAAmI,UAAA,YAAAO;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"ChipDropdownInput.cjs","names":["React","_interopRequireWildcard","require","_styledComponents","_interopRequireDefault","_ChipInputField","_types","_Dropdown","_common","_styles","_jsxRuntime","_excluded","_templateObject","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","Wrapper","styled","div","_taggedTemplateLiteral2","ChipInputContainer","Z_INDEXES","dropdown","ChipDropdownInput","forwardRef","_ref","ref","list","onInputChange","disableSorting","messageOnNoResults","values","inputId","variants","placeholder","validationMessage","onValueChange","suggestion","loading","maxSelectedItems","_ref$multiLine","multiLine","_ref$size","size","Size","Medium","icon","disableFiltering","disabled","altPlaceholder","required","rest","_objectWithoutProperties2","_React$useState","useState","_React$useState2","_slicedToArray2","givenList","setGivenList","_React$useState3","_React$useState4","chips","setChips","_React$useState5","_React$useState6","activeDescendant","setActiveDescendant","_React$useState7","_React$useState8","value","setValue","_React$useState9","_React$useState10","restartFilter","setRestartFilter","_React$useState11","_React$useState12","filteredList","setFilteredList","_React$useState13","_React$useState14","dropdownIsOpen","setDropdownIsOpen","_React$useState15","_React$useState16","dropdownList","setDropdownList","_React$useState17","_React$useState18","dropdownValue","setDropdownValue","_React$useState19","_React$useState20","focused","setFocused","containerRef","useClickOutsideRef","useFocusOutsideRef","inputRef","useRef","useImperativeHandle","current","useEffect","map","find","b","label","index","variant","States","Default","newList","options","_toConsumableArray2","option","_option$secondaryLabe","toUpperCase","indexOf","secondaryLabel","sort","handleClickOutside","_containerRef$current","contains","target","document","addEventListener","removeEventListener","_filteredList$map","x","_x$icon","displayLabel","noteLabel","addChip","newChip","concat","handleInputValueChange","handleValueUpdate","_inputRef$current","item","focus","handleInputKeyDown","event","key","stopPropagation","handleOnChipRemoved","newChips","splice","jsxs","children","jsx","ChipInputField","items","inputValue","role","onRemoveItem","chip","onInputValueChange","onInputKeyDown","onActivationChange","DropdownContent","customizationProps","action","pinTopItem","itemsType","scrollable","actionLabel","multiSelect","onValueUpdate","ariaRolesType","onActiveDescendantChanged","selectedValues","setSelectedValues","isOpen","setIsOpen","isButton","id","exports","propTypes","_propTypes","oneOfType","arrayOf","shape","string","isRequired","func","bool","number"],"sources":["../../src/ChipsInput/ChipDropdownInput.tsx"],"sourcesContent":["/**\r\n * Import React libraries.\r\n */\r\nimport * as React from 'react';\r\n\r\n/**\r\n * Import third-party libraries.\r\n */\r\nimport styled from 'styled-components';\r\n\r\n/**\r\n * Import custom components.\r\n */\r\nimport {ChipInputContainer, ChipInputField} from './ChipInputField';\r\nimport {Size, States} from '../types';\r\nimport {DropdownContent, DropdownItem} from '../Dropdown';\r\nimport {SystemIcons} from '../icons';\r\nimport {ChipInputProps, ChipItem} from './ChipInputTypes';\r\nimport {useClickOutsideRef, useFocusOutsideRef} from '../common';\r\nimport {Z_INDEXES} from '../styles';\r\n\r\nconst Wrapper = styled.div`\r\n position: relative;\r\n display: inline-block;\r\n width: 100%;\r\n\r\n ${ChipInputContainer} {\r\n position: relative;\r\n\r\n &:focus, &.focus-visible-within {\r\n z-index: ${Z_INDEXES.dropdown + 1} !important;\r\n }\r\n }\r\n`;\r\n\r\n\r\ninterface ListItem extends ChipItem {\r\n secondaryLabel?: string;\r\n value: string;\r\n}\r\n\r\nexport interface ChipDropdownInputProps extends Omit<ChipInputProps, 'autoSave'> {\r\n /** Array of items available. */\r\n list: ListItem[] | string[];\r\n /** On input selected/unselected. */\r\n onInputChange?: (input: string) => void;\r\n /** Message to show in the dropdown if none of the chips fits user input. */\r\n messageOnNoResults?: string;\r\n /** Message to show in the dropdown if none of the chips fits user input. */\r\n suggestion?: ListItem;\r\n /** If flag is set then loader will be shown in the input field. */\r\n loading?: boolean;\r\n /** Max number of chips that user can select. */\r\n maxSelectedItems?: number;\r\n /** Disable sorting of options in the dropdown. */\r\n disableSorting?: boolean;\r\n /** Disable filtering of options depending on user input in the dropdown. */\r\n disableFiltering?: boolean;\r\n}\r\n\r\nexport const ChipDropdownInput = React.forwardRef<HTMLInputElement | undefined, ChipDropdownInputProps>(({\r\n list,\r\n onInputChange,\r\n disableSorting,\r\n messageOnNoResults,\r\n values,\r\n inputId,\r\n variants,\r\n placeholder,\r\n validationMessage,\r\n onValueChange,\r\n suggestion,\r\n loading,\r\n maxSelectedItems,\r\n multiLine = true,\r\n size = Size.Medium,\r\n icon,\r\n disableFiltering,\r\n disabled,\r\n altPlaceholder,\r\n required,\r\n ...rest\r\n }: ChipDropdownInputProps, ref) => {\r\n // Initiate states\r\n const [givenList, setGivenList] = React.useState<ListItem[]>([]);\r\n const [chips, setChips] = React.useState<ListItem[]>([]);\r\n\r\n const [activeDescendant, setActiveDescendant] = React.useState<string>();\r\n const [value, setValue] = React.useState<string>('');\r\n const [restartFilter, setRestartFilter] = React.useState<boolean>(false);\r\n const [filteredList, setFilteredList] = React.useState<ListItem[]>();\r\n\r\n const [dropdownIsOpen, setDropdownIsOpen] = React.useState<boolean>(false);\r\n const [dropdownList, setDropdownList] = React.useState<DropdownItem[]>([]);\r\n const [dropdownValue, setDropdownValue] = React.useState<string>('');\r\n\r\n const [focused, setFocused] = React.useState<number | null>(null);\r\n\r\n const containerRef = useClickOutsideRef(() => setDropdownIsOpen(false), [], useFocusOutsideRef(() => setDropdownIsOpen(false)));\r\n const inputRef = React.useRef<any>();\r\n\r\n React.useImperativeHandle(ref, () => inputRef.current, [inputRef]);\r\n\r\n\r\n /**\r\n * Sets initial values for the chips.\r\n */\r\n React.useEffect(() => {\r\n\r\n const list =\r\n values.map((a) => chips.find(b => b.value === a) || givenList.find(b => b.value === a) || {\r\n label: a,\r\n value: a,\r\n icon: icon\r\n })\r\n .map((a, index) => ({...a, variant: a.variant || (variants && variants[index]) || States.Default}))\r\n .map((a, index) => ({...a, icon: a.icon || icon}));\r\n\r\n setChips(list);\r\n }, [values, variants, icon, givenList]);\r\n\r\n /**\r\n * Convert string[] to List[] if necessary\r\n */\r\n React.useEffect(() => {\r\n if (typeof list[0] === 'string') {\r\n const newList: ListItem[] = (list as string[]).map((e: string) => ({label: e, value: e}));\r\n setGivenList(newList);\r\n } else {\r\n setGivenList(list as ListItem[]);\r\n }\r\n }, [list]);\r\n\r\n /**\r\n * filter and sort list if remoteOperations is false\r\n * */\r\n React.useEffect(() => {\r\n let options = [...givenList];\r\n if (!disableFiltering) {\r\n if (!restartFilter && value !== '') {\r\n options = options.filter((option) => option.label.toUpperCase().indexOf(value.toUpperCase()) !== -1 ||\r\n (option.secondaryLabel && option.secondaryLabel?.toUpperCase().indexOf(value.toUpperCase()) !== -1));\r\n }\r\n }\r\n\r\n if (!disableSorting) {\r\n options = options.sort();\r\n }\r\n\r\n suggestion && options.push(suggestion);\r\n\r\n options = options.filter((o) => !chips.find(a => a.value === o.value));\r\n setFilteredList(options);\r\n }, [value, givenList, chips, disableFiltering, disableSorting]);\r\n\r\n /**\r\n * if there is only one active item in dropdown mark it as focused\r\n * */\r\n React.useEffect(() => {\r\n if (dropdownIsOpen && !!value && dropdownList?.filter(a => !a.disabled).length === 1) {\r\n setDropdownValue(dropdownList.find(a => !a.disabled)!.value);\r\n } else {\r\n setDropdownValue('');\r\n }\r\n }, [dropdownList, dropdownIsOpen, value]);\r\n\r\n const handleClickOutside = (e: any) => {\r\n if (!containerRef.current?.contains(e.target)) {\r\n if (dropdownIsOpen) {\r\n setDropdownIsOpen(false);\r\n if (!givenList.find((e) => e.value === value)) {\r\n setValue('');\r\n }\r\n }\r\n }\r\n };\r\n\r\n /**\r\n * register click outside event listener\r\n * */\r\n React.useEffect(() => {\r\n document.addEventListener('click', handleClickOutside);\r\n return () => {\r\n document.removeEventListener('click', handleClickOutside);\r\n };\r\n }, []);\r\n\r\n /**\r\n * update dropdown items when filtered list changes\r\n * */\r\n React.useEffect(() => {\r\n setDropdownList(filteredList?.map(x => ({\r\n value: x.value,\r\n displayLabel: x.label,\r\n noteLabel: x.secondaryLabel,\r\n icon: (x.icon ?? icon),\r\n disabled: x.disabled,\r\n })) ?? []);\r\n }, [filteredList]);\r\n\r\n const addChip = (newChip: ListItem) => {\r\n const newList = [...chips, newChip];\r\n // Let's add the chip\r\n setChips(newList);\r\n onValueChange(newList.map(a => a.value));\r\n\r\n setValue('');\r\n };\r\n\r\n const handleInputValueChange = (value: string) => {\r\n setValue(value);\r\n setRestartFilter(false);\r\n setDropdownIsOpen(true);\r\n onInputChange && onInputChange(value);\r\n }\r\n\r\n /**\r\n * Add chip from dropdown\r\n * */\r\n const handleValueUpdate = (values: string[]) => {\r\n const item = filteredList?.find(a => a.value === values[0]);\r\n item && addChip(item);\r\n setRestartFilter(true);\r\n inputRef?.current?.focus();\r\n }\r\n\r\n /**\r\n * Adds a chip to the chip list.\r\n * @param event - Event handler from the key down event.\r\n */\r\n const handleInputKeyDown = (event: React.KeyboardEvent<HTMLInputElement>): void => {\r\n // Let's trigger only on enter, comma and space key press\r\n if ((event.key === 'Enter' || event.key === ' ') && value) {\r\n if (dropdownList?.filter(a => !a.disabled).length === 1) {\r\n handleValueUpdate([dropdownList!.find(a => !a.disabled)!.value]);\r\n event.stopPropagation();\r\n }\r\n }\r\n\r\n if ((event.key === 'ArrowDown' || event.key === 'Down' || event.key === 'ArrowUp' || event.key === 'Up') && !!dropdownList?.length) {\r\n setDropdownIsOpen(true);\r\n }\r\n };\r\n\r\n /**\r\n * Removes a specific chip from the chip list.\r\n * @param index - Index of the chip that needs to be removed.\r\n */\r\n const handleOnChipRemoved = (index: number): void => {\r\n // Let's copy the chips\r\n const newChips = [...chips];\r\n\r\n // Let's delete the chip\r\n // If necessary, let's replace it with a different chip\r\n newChips.splice(index, 1);\r\n\r\n // Let's update the chip list\r\n setChips([...newChips]);\r\n onValueChange(newChips.map((e) => e.value));\r\n };\r\n\r\n return (\r\n <Wrapper ref={containerRef}>\r\n <ChipInputField inputId={inputId}\r\n ref={inputRef}\r\n items={chips}\r\n required={required}\r\n inputValue={value}\r\n role=\"combobox\"\r\n aria-activedescendant={activeDescendant}\r\n size={size}\r\n placeholder={placeholder}\r\n altPlaceholder={altPlaceholder}\r\n disabled={disabled}\r\n multiLine={multiLine}\r\n validationMessage={validationMessage}\r\n loading={loading}\r\n onRemoveItem={(chip, index) => handleOnChipRemoved(index)}\r\n onInputValueChange={handleInputValueChange}\r\n onInputKeyDown={handleInputKeyDown}\r\n onActivationChange={(value) => setDropdownIsOpen(value)}\r\n {...rest}/>\r\n <DropdownContent\r\n containerRef={containerRef}\r\n customizationProps={{\r\n action: () => {\r\n },\r\n pinTopItem: true,\r\n\r\n itemsType: 'normal',\r\n scrollable: true,\r\n actionLabel: '',\r\n multiSelect: false,\r\n onValueUpdate: handleValueUpdate,\r\n items: dropdownList,\r\n }}\r\n ariaRolesType=\"input\"\r\n focused={focused}\r\n setFocused={setFocused}\r\n onActiveDescendantChanged={(e) => setActiveDescendant(e)}\r\n selectedValues={[dropdownValue]}\r\n messageOnNoResults={messageOnNoResults ?? ''}\r\n setSelectedValues={() => {\r\n }}\r\n isOpen={(!maxSelectedItems || (!!maxSelectedItems && chips.length < maxSelectedItems)) && dropdownIsOpen}\r\n setIsOpen={setDropdownIsOpen}\r\n filter={''}\r\n isButton={false}\r\n id={`${inputId}_dropdowncontent`}/>\r\n\r\n </Wrapper>\r\n );\r\n});\r\n"],"mappings":";;;;;;;;;;;;;;AAGA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AAKA,IAAAC,iBAAA,GAAAC,sBAAA,CAAAF,OAAA;AAKA,IAAAG,eAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AACA,IAAAK,SAAA,GAAAL,OAAA;AAGA,IAAAM,OAAA,GAAAN,OAAA;AACA,IAAAO,OAAA,GAAAP,OAAA;AAAoC,IAAAQ,WAAA,GAAAR,OAAA;AAAA,IAAAS,SAAA;AAAA,IAAAC,eAAA;AAnBpC;AACA;AACA;AAGA;AACA;AACA;AAGA;AACA;AACA;AAFA,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAb,wBAAAa,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,gBAAAK,OAAA,CAAAL,CAAA,0BAAAA,CAAA,sBAAAA,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,cAAAR,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAAW,QAAAnB,CAAA,EAAAE,CAAA,QAAAC,CAAA,GAAAQ,MAAA,CAAAS,IAAA,CAAApB,CAAA,OAAAW,MAAA,CAAAU,qBAAA,QAAAC,CAAA,GAAAX,MAAA,CAAAU,qBAAA,CAAArB,CAAA,GAAAE,CAAA,KAAAoB,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAArB,CAAA,WAAAS,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAE,CAAA,EAAAsB,UAAA,OAAArB,CAAA,CAAAsB,IAAA,CAAAC,KAAA,CAAAvB,CAAA,EAAAmB,CAAA,YAAAnB,CAAA;AAAA,SAAAwB,cAAA3B,CAAA,aAAAE,CAAA,MAAAA,CAAA,GAAA0B,SAAA,CAAAC,MAAA,EAAA3B,CAAA,UAAAC,CAAA,WAAAyB,SAAA,CAAA1B,CAAA,IAAA0B,SAAA,CAAA1B,CAAA,QAAAA,CAAA,OAAAiB,OAAA,CAAAR,MAAA,CAAAR,CAAA,OAAA2B,OAAA,WAAA5B,CAAA,QAAA6B,gBAAA,aAAA/B,CAAA,EAAAE,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAS,MAAA,CAAAqB,yBAAA,GAAArB,MAAA,CAAAsB,gBAAA,CAAAjC,CAAA,EAAAW,MAAA,CAAAqB,yBAAA,CAAA7B,CAAA,KAAAgB,OAAA,CAAAR,MAAA,CAAAR,CAAA,GAAA2B,OAAA,WAAA5B,CAAA,IAAAS,MAAA,CAAAC,cAAA,CAAAZ,CAAA,EAAAE,CAAA,EAAAS,MAAA,CAAAE,wBAAA,CAAAV,CAAA,EAAAD,CAAA,iBAAAF,CAAA;AAWA,IAAMkC,OAAO,GAAGC,4BAAM,CAACC,GAAG,CAAAtC,eAAA,KAAAA,eAAA,OAAAuC,uBAAA,mNAKtBC,kCAAkB,EAILC,iBAAS,CAACC,QAAQ,GAAG,CAAC,CAGtC;AA2BM,IAAMC,iBAAiB,gBAAGvD,KAAK,CAACwD,UAAU,CAAuD,UAAAC,IAAA,EAsBgBC,GAAG,EAAK;EAAA,IArBjCC,IAAI,GAAAF,IAAA,CAAJE,IAAI;IACJC,aAAa,GAAAH,IAAA,CAAbG,aAAa;IACbC,cAAc,GAAAJ,IAAA,CAAdI,cAAc;IACdC,kBAAkB,GAAAL,IAAA,CAAlBK,kBAAkB;IAClBC,MAAM,GAAAN,IAAA,CAANM,MAAM;IACNC,OAAO,GAAAP,IAAA,CAAPO,OAAO;IACPC,QAAQ,GAAAR,IAAA,CAARQ,QAAQ;IACRC,WAAW,GAAAT,IAAA,CAAXS,WAAW;IACXC,iBAAiB,GAAAV,IAAA,CAAjBU,iBAAiB;IACjBC,aAAa,GAAAX,IAAA,CAAbW,aAAa;IACbC,UAAU,GAAAZ,IAAA,CAAVY,UAAU;IACVC,OAAO,GAAAb,IAAA,CAAPa,OAAO;IACPC,gBAAgB,GAAAd,IAAA,CAAhBc,gBAAgB;IAAAC,cAAA,GAAAf,IAAA,CAChBgB,SAAS;IAATA,SAAS,GAAAD,cAAA,cAAG,IAAI,GAAAA,cAAA;IAAAE,SAAA,GAAAjB,IAAA,CAChBkB,IAAI;IAAJA,IAAI,GAAAD,SAAA,cAAGE,WAAI,CAACC,MAAM,GAAAH,SAAA;IAClBI,IAAI,GAAArB,IAAA,CAAJqB,IAAI;IACJC,gBAAgB,GAAAtB,IAAA,CAAhBsB,gBAAgB;IAChBC,QAAQ,GAAAvB,IAAA,CAARuB,QAAQ;IACRC,cAAc,GAAAxB,IAAA,CAAdwB,cAAc;IACdC,QAAQ,GAAAzB,IAAA,CAARyB,QAAQ;IACLC,IAAI,OAAAC,yBAAA,aAAA3B,IAAA,EAAA9C,SAAA;EAEpG;EACA,IAAA0E,eAAA,GAAkCrF,KAAK,CAACsF,QAAQ,CAAa,EAAE,CAAC;IAAAC,gBAAA,OAAAC,eAAA,aAAAH,eAAA;IAAzDI,SAAS,GAAAF,gBAAA;IAAEG,YAAY,GAAAH,gBAAA;EAC9B,IAAAI,gBAAA,GAA0B3F,KAAK,CAACsF,QAAQ,CAAa,EAAE,CAAC;IAAAM,gBAAA,OAAAJ,eAAA,aAAAG,gBAAA;IAAjDE,KAAK,GAAAD,gBAAA;IAAEE,QAAQ,GAAAF,gBAAA;EAEtB,IAAAG,gBAAA,GAAgD/F,KAAK,CAACsF,QAAQ,CAAS,CAAC;IAAAU,gBAAA,OAAAR,eAAA,aAAAO,gBAAA;IAAjEE,gBAAgB,GAAAD,gBAAA;IAAEE,mBAAmB,GAAAF,gBAAA;EAC5C,IAAAG,gBAAA,GAA0BnG,KAAK,CAACsF,QAAQ,CAAS,EAAE,CAAC;IAAAc,gBAAA,OAAAZ,eAAA,aAAAW,gBAAA;IAA7CE,KAAK,GAAAD,gBAAA;IAAEE,QAAQ,GAAAF,gBAAA;EACtB,IAAAG,gBAAA,GAA0CvG,KAAK,CAACsF,QAAQ,CAAU,KAAK,CAAC;IAAAkB,iBAAA,OAAAhB,eAAA,aAAAe,gBAAA;IAAjEE,aAAa,GAAAD,iBAAA;IAAEE,gBAAgB,GAAAF,iBAAA;EACtC,IAAAG,iBAAA,GAAwC3G,KAAK,CAACsF,QAAQ,CAAa,CAAC;IAAAsB,iBAAA,OAAApB,eAAA,aAAAmB,iBAAA;IAA7DE,YAAY,GAAAD,iBAAA;IAAEE,eAAe,GAAAF,iBAAA;EAEpC,IAAAG,iBAAA,GAA4C/G,KAAK,CAACsF,QAAQ,CAAU,KAAK,CAAC;IAAA0B,iBAAA,OAAAxB,eAAA,aAAAuB,iBAAA;IAAnEE,cAAc,GAAAD,iBAAA;IAAEE,iBAAiB,GAAAF,iBAAA;EACxC,IAAAG,iBAAA,GAAwCnH,KAAK,CAACsF,QAAQ,CAAiB,EAAE,CAAC;IAAA8B,iBAAA,OAAA5B,eAAA,aAAA2B,iBAAA;IAAnEE,YAAY,GAAAD,iBAAA;IAAEE,eAAe,GAAAF,iBAAA;EACpC,IAAAG,iBAAA,GAA0CvH,KAAK,CAACsF,QAAQ,CAAS,EAAE,CAAC;IAAAkC,iBAAA,OAAAhC,eAAA,aAAA+B,iBAAA;IAA7DE,aAAa,GAAAD,iBAAA;IAAEE,gBAAgB,GAAAF,iBAAA;EAEtC,IAAAG,iBAAA,GAA8B3H,KAAK,CAACsF,QAAQ,CAAgB,IAAI,CAAC;IAAAsC,iBAAA,OAAApC,eAAA,aAAAmC,iBAAA;IAA1DE,OAAO,GAAAD,iBAAA;IAAEE,UAAU,GAAAF,iBAAA;EAE1B,IAAMG,YAAY,GAAG,IAAAC,0BAAkB,EAAC;IAAA,OAAMd,iBAAiB,CAAC,KAAK,CAAC;EAAA,GAAE,EAAE,EAAE,IAAAe,0BAAkB,EAAC;IAAA,OAAMf,iBAAiB,CAAC,KAAK,CAAC;EAAA,EAAC,CAAC;EAC/H,IAAMgB,QAAQ,GAAGlI,KAAK,CAACmI,MAAM,CAAM,CAAC;EAEpCnI,KAAK,CAACoI,mBAAmB,CAAC1E,GAAG,EAAE;IAAA,OAAMwE,QAAQ,CAACG,OAAO;EAAA,GAAE,CAACH,QAAQ,CAAC,CAAC;;EAGlE;AACF;AACA;EACElI,KAAK,CAACsI,SAAS,CAAC,YAAM;IAEpB,IAAM3E,IAAI,GACRI,MAAM,CAACwE,GAAG,CAAC,UAAC/G,CAAC;MAAA,OAAKqE,KAAK,CAAC2C,IAAI,CAAC,UAAAC,CAAC;QAAA,OAAIA,CAAC,CAACpC,KAAK,KAAK7E,CAAC;MAAA,EAAC,IAAIiE,SAAS,CAAC+C,IAAI,CAAC,UAAAC,CAAC;QAAA,OAAIA,CAAC,CAACpC,KAAK,KAAK7E,CAAC;MAAA,EAAC,IAAI;QACxFkH,KAAK,EAAElH,CAAC;QACR6E,KAAK,EAAE7E,CAAC;QACRsD,IAAI,EAAEA;MACR,CAAC;IAAA,EAAC,CACCyD,GAAG,CAAC,UAAC/G,CAAC,EAAEmH,KAAK;MAAA,OAAAlG,aAAA,CAAAA,aAAA,KAAUjB,CAAC;QAAEoH,OAAO,EAAEpH,CAAC,CAACoH,OAAO,IAAK3E,QAAQ,IAAIA,QAAQ,CAAC0E,KAAK,CAAE,IAAIE,aAAM,CAACC;MAAO;IAAA,CAAE,CAAC,CAClGP,GAAG,CAAC,UAAC/G,CAAC,EAAEmH,KAAK;MAAA,OAAAlG,aAAA,CAAAA,aAAA,KAAUjB,CAAC;QAAEsD,IAAI,EAAEtD,CAAC,CAACsD,IAAI,IAAIA;MAAI;IAAA,CAAE,CAAC;IAEtDgB,QAAQ,CAACnC,IAAI,CAAC;EAChB,CAAC,EAAE,CAACI,MAAM,EAAEE,QAAQ,EAAEa,IAAI,EAAEW,SAAS,CAAC,CAAC;;EAEvC;AACF;AACA;EACEzF,KAAK,CAACsI,SAAS,CAAC,YAAM;IACpB,IAAI,OAAO3E,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;MAC/B,IAAMoF,OAAmB,GAAIpF,IAAI,CAAc4E,GAAG,CAAC,UAACzH,CAAS;QAAA,OAAM;UAAC4H,KAAK,EAAE5H,CAAC;UAAEuF,KAAK,EAAEvF;QAAC,CAAC;MAAA,CAAC,CAAC;MACzF4E,YAAY,CAACqD,OAAO,CAAC;IACvB,CAAC,MAAM;MACLrD,YAAY,CAAC/B,IAAkB,CAAC;IAClC;EACF,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;;EAEV;AACF;AACA;EACE3D,KAAK,CAACsI,SAAS,CAAC,YAAM;IACpB,IAAIU,OAAO,OAAAC,mBAAA,aAAOxD,SAAS,CAAC;IAC5B,IAAI,CAACV,gBAAgB,EAAE;MACrB,IAAI,CAAC0B,aAAa,IAAIJ,KAAK,KAAK,EAAE,EAAE;QAClC2C,OAAO,GAAGA,OAAO,CAAC3G,MAAM,CAAC,UAAC6G,MAAM;UAAA,IAAAC,qBAAA;UAAA,OAAKD,MAAM,CAACR,KAAK,CAACU,WAAW,CAAC,CAAC,CAACC,OAAO,CAAChD,KAAK,CAAC+C,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAChGF,MAAM,CAACI,cAAc,IAAI,EAAAH,qBAAA,GAAAD,MAAM,CAACI,cAAc,cAAAH,qBAAA,uBAArBA,qBAAA,CAAuBC,WAAW,CAAC,CAAC,CAACC,OAAO,CAAChD,KAAK,CAAC+C,WAAW,CAAC,CAAC,CAAC,MAAK,CAAC,CAAE;QAAA,EAAC;MACxG;IACF;IAEA,IAAI,CAACvF,cAAc,EAAE;MACnBmF,OAAO,GAAGA,OAAO,CAACO,IAAI,CAAC,CAAC;IAC1B;IAEAlF,UAAU,IAAI2E,OAAO,CAACzG,IAAI,CAAC8B,UAAU,CAAC;IAEtC2E,OAAO,GAAGA,OAAO,CAAC3G,MAAM,CAAC,UAACD,CAAC;MAAA,OAAK,CAACyD,KAAK,CAAC2C,IAAI,CAAC,UAAAhH,CAAC;QAAA,OAAIA,CAAC,CAAC6E,KAAK,KAAKjE,CAAC,CAACiE,KAAK;MAAA,EAAC;IAAA,EAAC;IACtES,eAAe,CAACkC,OAAO,CAAC;EAC1B,CAAC,EAAE,CAAC3C,KAAK,EAAEZ,SAAS,EAAEI,KAAK,EAAEd,gBAAgB,EAAElB,cAAc,CAAC,CAAC;;EAE/D;AACF;AACA;EACE7D,KAAK,CAACsI,SAAS,CAAC,YAAM;IACpB,IAAIrB,cAAc,IAAI,CAAC,CAACZ,KAAK,IAAI,CAAAgB,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEhF,MAAM,CAAC,UAAAb,CAAC;MAAA,OAAI,CAACA,CAAC,CAACwD,QAAQ;IAAA,EAAC,CAACrC,MAAM,MAAK,CAAC,EAAE;MACpF+E,gBAAgB,CAACL,YAAY,CAACmB,IAAI,CAAC,UAAAhH,CAAC;QAAA,OAAI,CAACA,CAAC,CAACwD,QAAQ;MAAA,EAAC,CAAEqB,KAAK,CAAC;IAC9D,CAAC,MAAM;MACLqB,gBAAgB,CAAC,EAAE,CAAC;IACtB;EACF,CAAC,EAAE,CAACL,YAAY,EAAEJ,cAAc,EAAEZ,KAAK,CAAC,CAAC;EAEzC,IAAMmD,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAI1I,CAAM,EAAK;IAAA,IAAA2I,qBAAA;IACrC,IAAI,GAAAA,qBAAA,GAAC1B,YAAY,CAACM,OAAO,cAAAoB,qBAAA,eAApBA,qBAAA,CAAsBC,QAAQ,CAAC5I,CAAC,CAAC6I,MAAM,CAAC,GAAE;MAC7C,IAAI1C,cAAc,EAAE;QAClBC,iBAAiB,CAAC,KAAK,CAAC;QACxB,IAAI,CAACzB,SAAS,CAAC+C,IAAI,CAAC,UAAC1H,CAAC;UAAA,OAAKA,CAAC,CAACuF,KAAK,KAAKA,KAAK;QAAA,EAAC,EAAE;UAC7CC,QAAQ,CAAC,EAAE,CAAC;QACd;MACF;IACF;EACF,CAAC;;EAED;AACF;AACA;EACEtG,KAAK,CAACsI,SAAS,CAAC,YAAM;IACpBsB,QAAQ,CAACC,gBAAgB,CAAC,OAAO,EAAEL,kBAAkB,CAAC;IACtD,OAAO,YAAM;MACXI,QAAQ,CAACE,mBAAmB,CAAC,OAAO,EAAEN,kBAAkB,CAAC;IAC3D,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;;EAEN;AACF;AACA;EACExJ,KAAK,CAACsI,SAAS,CAAC,YAAM;IAAA,IAAAyB,iBAAA;IACpBzC,eAAe,EAAAyC,iBAAA,GAAClD,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAE0B,GAAG,CAAC,UAAAyB,CAAC;MAAA,IAAAC,OAAA;MAAA,OAAK;QACtC5D,KAAK,EAAE2D,CAAC,CAAC3D,KAAK;QACd6D,YAAY,EAAEF,CAAC,CAACtB,KAAK;QACrByB,SAAS,EAAEH,CAAC,CAACV,cAAc;QAC3BxE,IAAI,GAAAmF,OAAA,GAAGD,CAAC,CAAClF,IAAI,cAAAmF,OAAA,cAAAA,OAAA,GAAInF,IAAK;QACtBE,QAAQ,EAAEgF,CAAC,CAAChF;MACd,CAAC;IAAA,CAAC,CAAC,cAAA+E,iBAAA,cAAAA,iBAAA,GAAI,EAAE,CAAC;EACZ,CAAC,EAAE,CAAClD,YAAY,CAAC,CAAC;EAElB,IAAMuD,OAAO,GAAG,SAAVA,OAAOA,CAAIC,OAAiB,EAAK;IACrC,IAAMtB,OAAO,MAAAuB,MAAA,KAAArB,mBAAA,aAAOpD,KAAK,IAAEwE,OAAO,EAAC;IACnC;IACAvE,QAAQ,CAACiD,OAAO,CAAC;IACjB3E,aAAa,CAAC2E,OAAO,CAACR,GAAG,CAAC,UAAA/G,CAAC;MAAA,OAAIA,CAAC,CAAC6E,KAAK;IAAA,EAAC,CAAC;IAExCC,QAAQ,CAAC,EAAE,CAAC;EACd,CAAC;EAED,IAAMiE,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAIlE,KAAa,EAAK;IAChDC,QAAQ,CAACD,KAAK,CAAC;IACfK,gBAAgB,CAAC,KAAK,CAAC;IACvBQ,iBAAiB,CAAC,IAAI,CAAC;IACvBtD,aAAa,IAAIA,aAAa,CAACyC,KAAK,CAAC;EACvC,CAAC;;EAED;AACF;AACA;EACE,IAAMmE,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAIzG,MAAgB,EAAK;IAAA,IAAA0G,iBAAA;IAC9C,IAAMC,IAAI,GAAG7D,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAE2B,IAAI,CAAC,UAAAhH,CAAC;MAAA,OAAIA,CAAC,CAAC6E,KAAK,KAAKtC,MAAM,CAAC,CAAC,CAAC;IAAA,EAAC;IAC3D2G,IAAI,IAAIN,OAAO,CAACM,IAAI,CAAC;IACrBhE,gBAAgB,CAAC,IAAI,CAAC;IACtBwB,QAAQ,aAARA,QAAQ,wBAAAuC,iBAAA,GAARvC,QAAQ,CAAEG,OAAO,cAAAoC,iBAAA,uBAAjBA,iBAAA,CAAmBE,KAAK,CAAC,CAAC;EAC5B,CAAC;;EAED;AACF;AACA;AACA;EACE,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIC,KAA4C,EAAW;IACjF;IACA,IAAI,CAACA,KAAK,CAACC,GAAG,KAAK,OAAO,IAAID,KAAK,CAACC,GAAG,KAAK,GAAG,KAAKzE,KAAK,EAAE;MACzD,IAAI,CAAAgB,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEhF,MAAM,CAAC,UAAAb,CAAC;QAAA,OAAI,CAACA,CAAC,CAACwD,QAAQ;MAAA,EAAC,CAACrC,MAAM,MAAK,CAAC,EAAE;QACvD6H,iBAAiB,CAAC,CAACnD,YAAY,CAAEmB,IAAI,CAAC,UAAAhH,CAAC;UAAA,OAAI,CAACA,CAAC,CAACwD,QAAQ;QAAA,EAAC,CAAEqB,KAAK,CAAC,CAAC;QAChEwE,KAAK,CAACE,eAAe,CAAC,CAAC;MACzB;IACF;IAEA,IAAI,CAACF,KAAK,CAACC,GAAG,KAAK,WAAW,IAAID,KAAK,CAACC,GAAG,KAAK,MAAM,IAAID,KAAK,CAACC,GAAG,KAAK,SAAS,IAAID,KAAK,CAACC,GAAG,KAAK,IAAI,KAAK,CAAC,EAACzD,YAAY,aAAZA,YAAY,eAAZA,YAAY,CAAE1E,MAAM,GAAE;MAClIuE,iBAAiB,CAAC,IAAI,CAAC;IACzB;EACF,CAAC;;EAED;AACF;AACA;AACA;EACE,IAAM8D,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAIrC,KAAa,EAAW;IACnD;IACA,IAAMsC,QAAQ,OAAAhC,mBAAA,aAAOpD,KAAK,CAAC;;IAE3B;IACA;IACAoF,QAAQ,CAACC,MAAM,CAACvC,KAAK,EAAE,CAAC,CAAC;;IAEzB;IACA7C,QAAQ,KAAAmD,mBAAA,aAAKgC,QAAQ,CAAC,CAAC;IACvB7G,aAAa,CAAC6G,QAAQ,CAAC1C,GAAG,CAAC,UAACzH,CAAC;MAAA,OAAKA,CAAC,CAACuF,KAAK;IAAA,EAAC,CAAC;EAC7C,CAAC;EAED,oBACE,IAAA3F,WAAA,CAAAyK,IAAA,EAACnI,OAAO;IAACU,GAAG,EAAEqE,YAAa;IAAAqD,QAAA,gBACzB,IAAA1K,WAAA,CAAA2K,GAAA,EAAChL,eAAA,CAAAiL,cAAc,EAAA7I,aAAA;MAACuB,OAAO,EAAEA,OAAQ;MACjBN,GAAG,EAAEwE,QAAS;MACdqD,KAAK,EAAE1F,KAAM;MACbX,QAAQ,EAAEA,QAAS;MACnBsG,UAAU,EAAEnF,KAAM;MAClBoF,IAAI,EAAC,UAAU;MACf,yBAAuBxF,gBAAiB;MACxCtB,IAAI,EAAEA,IAAK;MACXT,WAAW,EAAEA,WAAY;MACzBe,cAAc,EAAEA,cAAe;MAC/BD,QAAQ,EAAEA,QAAS;MACnBP,SAAS,EAAEA,SAAU;MACrBN,iBAAiB,EAAEA,iBAAkB;MACrCG,OAAO,EAAEA,OAAQ;MACjBoH,YAAY,EAAE,SAAAA,aAACC,IAAI,EAAEhD,KAAK;QAAA,OAAKqC,mBAAmB,CAACrC,KAAK,CAAC;MAAA,CAAC;MAC1DiD,kBAAkB,EAAErB,sBAAuB;MAC3CsB,cAAc,EAAEjB,kBAAmB;MACnCkB,kBAAkB,EAAE,SAAAA,mBAACzF,KAAK;QAAA,OAAKa,iBAAiB,CAACb,KAAK,CAAC;MAAA;IAAC,GACpDlB,IAAI,CAAE,CAAC,eAC3B,IAAAzE,WAAA,CAAA2K,GAAA,EAAC9K,SAAA,CAAAwL,eAAe;MACdhE,YAAY,EAAEA,YAAa;MAC3BiE,kBAAkB,EAAE;QAClBC,MAAM,EAAE,SAAAA,OAAA,EAAM,CACd,CAAC;QACDC,UAAU,EAAE,IAAI;QAEhBC,SAAS,EAAE,QAAQ;QACnBC,UAAU,EAAE,IAAI;QAChBC,WAAW,EAAE,EAAE;QACfC,WAAW,EAAE,KAAK;QAClBC,aAAa,EAAE/B,iBAAiB;QAChCe,KAAK,EAAElE;MACT,CAAE;MACFmF,aAAa,EAAC,OAAO;MACrB3E,OAAO,EAAEA,OAAQ;MACjBC,UAAU,EAAEA,UAAW;MACvB2E,yBAAyB,EAAE,SAAAA,0BAAC3L,CAAC;QAAA,OAAKoF,mBAAmB,CAACpF,CAAC,CAAC;MAAA,CAAC;MACzD4L,cAAc,EAAE,CAACjF,aAAa,CAAE;MAChC3D,kBAAkB,EAAEA,kBAAkB,aAAlBA,kBAAkB,cAAlBA,kBAAkB,GAAI,EAAG;MAC7C6I,iBAAiB,EAAE,SAAAA,kBAAA,EAAM,CACzB,CAAE;MACFC,MAAM,EAAE,CAAC,CAACrI,gBAAgB,IAAK,CAAC,CAACA,gBAAgB,IAAIsB,KAAK,CAAClD,MAAM,GAAG4B,gBAAiB,KAAK0C,cAAe;MACzG4F,SAAS,EAAE3F,iBAAkB;MAC7B7E,MAAM,EAAE,EAAG;MACXyK,QAAQ,EAAE,KAAM;MAChBC,EAAE,KAAAzC,MAAA,CAAKtG,OAAO;IAAmB,CAAC,CAAC;EAAA,CAE9B,CAAC;AAEd,CAAC,CAAC;AAACgJ,OAAA,CAAAzJ,iBAAA,GAAAA,iBAAA;AAAAA,iBAAA,CAAA0J,SAAA;EA7QDtJ,IAAI,EAAAuJ,UAAA,YAAAC,SAAA,EAAAD,UAAA,YAAAE,OAAA,CAAAF,UAAA,YAAAG,KAAA;IANJ/D,cAAc,EAAA4D,UAAA,YAAAI,MAAA;IACdjH,KAAK,EAAA6G,UAAA,YAAAI,MAAA,CAAAC;EAAA,KAAAL,UAAA,YAAAE,OAAA,CAAAF,UAAA,YAAAI,MAAA,IAAAC,UAAA;EAOL3J,aAAa,EAAAsJ,UAAA,YAAAM,IAAA;EAEb1J,kBAAkB,EAAAoJ,UAAA,YAAAI,MAAA;EAElBjJ,UAAU,EAAA6I,UAAA,YAAAG,KAAA;IAZV/D,cAAc,EAAA4D,UAAA,YAAAI,MAAA;IACdjH,KAAK,EAAA6G,UAAA,YAAAI,MAAA,CAAAC;EAAA;EAaLjJ,OAAO,EAAA4I,UAAA,YAAAO,IAAA;EAEPlJ,gBAAgB,EAAA2I,UAAA,YAAAQ,MAAA;EAEhB7J,cAAc,EAAAqJ,UAAA,YAAAO,IAAA;EAEd1I,gBAAgB,EAAAmI,UAAA,YAAAO;AAAA","ignoreList":[]}
@@ -208,7 +208,7 @@ export var ChipDropdownInput = /*#__PURE__*/React.forwardRef(function (_ref, ref
208
208
  return function () {
209
209
  document.removeEventListener('click', handleClickOutside);
210
210
  };
211
- });
211
+ }, []);
212
212
 
213
213
  /**
214
214
  * update dropdown items when filtered list changes
@@ -1 +1 @@
1
- {"version":3,"file":"ChipDropdownInput.js","names":["React","styled","ChipInputContainer","ChipInputField","Size","States","DropdownContent","useClickOutsideRef","useFocusOutsideRef","Z_INDEXES","jsx","_jsx","jsxs","_jsxs","Wrapper","div","_templateObject","_taggedTemplateLiteral","dropdown","ChipDropdownInput","forwardRef","_ref","ref","list","onInputChange","disableSorting","messageOnNoResults","values","inputId","variants","placeholder","validationMessage","onValueChange","suggestion","loading","maxSelectedItems","_ref$multiLine","multiLine","_ref$size","size","Medium","icon","disableFiltering","disabled","altPlaceholder","required","rest","_objectWithoutProperties","_excluded","_React$useState","useState","_React$useState2","_slicedToArray","givenList","setGivenList","_React$useState3","_React$useState4","chips","setChips","_React$useState5","_React$useState6","activeDescendant","setActiveDescendant","_React$useState7","_React$useState8","value","setValue","_React$useState9","_React$useState10","restartFilter","setRestartFilter","_React$useState11","_React$useState12","filteredList","setFilteredList","_React$useState13","_React$useState14","dropdownIsOpen","setDropdownIsOpen","_React$useState15","_React$useState16","dropdownList","setDropdownList","_React$useState17","_React$useState18","dropdownValue","setDropdownValue","_React$useState19","_React$useState20","focused","setFocused","containerRef","inputRef","useRef","useImperativeHandle","current","useEffect","map","a","find","b","label","index","_objectSpread","variant","Default","newList","e","options","_toConsumableArray","filter","option","_option$secondaryLabe","toUpperCase","indexOf","secondaryLabel","sort","push","o","length","handleClickOutside","_containerRef$current","contains","target","document","addEventListener","removeEventListener","_filteredList$map","x","_x$icon","displayLabel","noteLabel","addChip","newChip","concat","handleInputValueChange","handleValueUpdate","_inputRef$current","item","focus","handleInputKeyDown","event","key","stopPropagation","handleOnChipRemoved","newChips","splice","children","items","inputValue","role","onRemoveItem","chip","onInputValueChange","onInputKeyDown","onActivationChange","customizationProps","action","pinTopItem","itemsType","scrollable","actionLabel","multiSelect","onValueUpdate","ariaRolesType","onActiveDescendantChanged","selectedValues","setSelectedValues","isOpen","setIsOpen","isButton","id","propTypes","_pt","oneOfType","arrayOf","shape","string","isRequired","func","bool","number"],"sources":["../../src/ChipsInput/ChipDropdownInput.tsx"],"sourcesContent":["/**\r\n * Import React libraries.\r\n */\r\nimport * as React from 'react';\r\n\r\n/**\r\n * Import third-party libraries.\r\n */\r\nimport styled from 'styled-components';\r\n\r\n/**\r\n * Import custom components.\r\n */\r\nimport {ChipInputContainer, ChipInputField} from './ChipInputField';\r\nimport {Size, States} from '../types';\r\nimport {DropdownContent, DropdownItem} from '../Dropdown';\r\nimport {SystemIcons} from '../icons';\r\nimport {ChipInputProps, ChipItem} from './ChipInputTypes';\r\nimport {useClickOutsideRef, useFocusOutsideRef} from '../common';\r\nimport {Z_INDEXES} from '../styles';\r\n\r\nconst Wrapper = styled.div`\r\n position: relative;\r\n display: inline-block;\r\n width: 100%;\r\n\r\n ${ChipInputContainer} {\r\n position: relative;\r\n\r\n &:focus, &.focus-visible-within {\r\n z-index: ${Z_INDEXES.dropdown + 1} !important;\r\n }\r\n }\r\n`;\r\n\r\n\r\ninterface ListItem extends ChipItem {\r\n secondaryLabel?: string;\r\n value: string;\r\n}\r\n\r\nexport interface ChipDropdownInputProps extends Omit<ChipInputProps, 'autoSave'> {\r\n /** Array of items available. */\r\n list: ListItem[] | string[];\r\n /** On input selected/unselected. */\r\n onInputChange?: (input: string) => void;\r\n /** Message to show in the dropdown if none of the chips fits user input. */\r\n messageOnNoResults?: string;\r\n /** Message to show in the dropdown if none of the chips fits user input. */\r\n suggestion?: ListItem;\r\n /** If flag is set then loader will be shown in the input field. */\r\n loading?: boolean;\r\n /** Max number of chips that user can select. */\r\n maxSelectedItems?: number;\r\n /** Disable sorting of options in the dropdown. */\r\n disableSorting?: boolean;\r\n /** Disable filtering of options depending on user input in the dropdown. */\r\n disableFiltering?: boolean;\r\n}\r\n\r\nexport const ChipDropdownInput = React.forwardRef<HTMLInputElement | undefined, ChipDropdownInputProps>(({\r\n list,\r\n onInputChange,\r\n disableSorting,\r\n messageOnNoResults,\r\n values,\r\n inputId,\r\n variants,\r\n placeholder,\r\n validationMessage,\r\n onValueChange,\r\n suggestion,\r\n loading,\r\n maxSelectedItems,\r\n multiLine = true,\r\n size = Size.Medium,\r\n icon,\r\n disableFiltering,\r\n disabled,\r\n altPlaceholder,\r\n required,\r\n ...rest\r\n }: ChipDropdownInputProps, ref) => {\r\n // Initiate states\r\n const [givenList, setGivenList] = React.useState<ListItem[]>([]);\r\n const [chips, setChips] = React.useState<ListItem[]>([]);\r\n\r\n const [activeDescendant, setActiveDescendant] = React.useState<string>();\r\n const [value, setValue] = React.useState<string>('');\r\n const [restartFilter, setRestartFilter] = React.useState<boolean>(false);\r\n const [filteredList, setFilteredList] = React.useState<ListItem[]>();\r\n\r\n const [dropdownIsOpen, setDropdownIsOpen] = React.useState<boolean>(false);\r\n const [dropdownList, setDropdownList] = React.useState<DropdownItem[]>([]);\r\n const [dropdownValue, setDropdownValue] = React.useState<string>('');\r\n\r\n const [focused, setFocused] = React.useState<number | null>(null);\r\n\r\n const containerRef = useClickOutsideRef(() => setDropdownIsOpen(false), [], useFocusOutsideRef(() => setDropdownIsOpen(false)));\r\n const inputRef = React.useRef<any>();\r\n\r\n React.useImperativeHandle(ref, () => inputRef.current, [inputRef]);\r\n\r\n\r\n /**\r\n * Sets initial values for the chips.\r\n */\r\n React.useEffect(() => {\r\n\r\n const list =\r\n values.map((a) => chips.find(b => b.value === a) || givenList.find(b => b.value === a) || {\r\n label: a,\r\n value: a,\r\n icon: icon\r\n })\r\n .map((a, index) => ({...a, variant: a.variant || (variants && variants[index]) || States.Default}))\r\n .map((a, index) => ({...a, icon: a.icon || icon}));\r\n\r\n setChips(list);\r\n }, [values, variants, icon, givenList]);\r\n\r\n /**\r\n * Convert string[] to List[] if necessary\r\n */\r\n React.useEffect(() => {\r\n if (typeof list[0] === 'string') {\r\n const newList: ListItem[] = (list as string[]).map((e: string) => ({label: e, value: e}));\r\n setGivenList(newList);\r\n } else {\r\n setGivenList(list as ListItem[]);\r\n }\r\n }, [list]);\r\n\r\n /**\r\n * filter and sort list if remoteOperations is false\r\n * */\r\n React.useEffect(() => {\r\n let options = [...givenList];\r\n if (!disableFiltering) {\r\n if (!restartFilter && value !== '') {\r\n options = options.filter((option) => option.label.toUpperCase().indexOf(value.toUpperCase()) !== -1 ||\r\n (option.secondaryLabel && option.secondaryLabel?.toUpperCase().indexOf(value.toUpperCase()) !== -1));\r\n }\r\n }\r\n\r\n if (!disableSorting) {\r\n options = options.sort();\r\n }\r\n\r\n suggestion && options.push(suggestion);\r\n\r\n options = options.filter((o) => !chips.find(a => a.value === o.value));\r\n setFilteredList(options);\r\n }, [value, givenList, chips, disableFiltering, disableSorting]);\r\n\r\n /**\r\n * if there is only one active item in dropdown mark it as focused\r\n * */\r\n React.useEffect(() => {\r\n if (dropdownIsOpen && !!value && dropdownList?.filter(a => !a.disabled).length === 1) {\r\n setDropdownValue(dropdownList.find(a => !a.disabled)!.value);\r\n } else {\r\n setDropdownValue('');\r\n }\r\n }, [dropdownList, dropdownIsOpen, value]);\r\n\r\n const handleClickOutside = (e: any) => {\r\n if (!containerRef.current?.contains(e.target)) {\r\n if (dropdownIsOpen) {\r\n setDropdownIsOpen(false);\r\n if (!givenList.find((e) => e.value === value)) {\r\n setValue('');\r\n }\r\n }\r\n }\r\n };\r\n\r\n /**\r\n * register click outside event listener\r\n * */\r\n React.useEffect(() => {\r\n document.addEventListener('click', handleClickOutside);\r\n return () => {\r\n document.removeEventListener('click', handleClickOutside);\r\n };\r\n });\r\n\r\n /**\r\n * update dropdown items when filtered list changes\r\n * */\r\n React.useEffect(() => {\r\n setDropdownList(filteredList?.map(x => ({\r\n value: x.value,\r\n displayLabel: x.label,\r\n noteLabel: x.secondaryLabel,\r\n icon: (x.icon ?? icon),\r\n disabled: x.disabled,\r\n })) ?? []);\r\n }, [filteredList]);\r\n\r\n const addChip = (newChip: ListItem) => {\r\n const newList = [...chips, newChip];\r\n // Let's add the chip\r\n setChips(newList);\r\n onValueChange(newList.map(a => a.value));\r\n\r\n setValue('');\r\n };\r\n\r\n const handleInputValueChange = (value: string) => {\r\n setValue(value);\r\n setRestartFilter(false);\r\n setDropdownIsOpen(true);\r\n onInputChange && onInputChange(value);\r\n }\r\n\r\n /**\r\n * Add chip from dropdown\r\n * */\r\n const handleValueUpdate = (values: string[]) => {\r\n const item = filteredList?.find(a => a.value === values[0]);\r\n item && addChip(item);\r\n setRestartFilter(true);\r\n inputRef?.current?.focus();\r\n }\r\n\r\n /**\r\n * Adds a chip to the chip list.\r\n * @param event - Event handler from the key down event.\r\n */\r\n const handleInputKeyDown = (event: React.KeyboardEvent<HTMLInputElement>): void => {\r\n // Let's trigger only on enter, comma and space key press\r\n if ((event.key === 'Enter' || event.key === ' ') && value) {\r\n if (dropdownList?.filter(a => !a.disabled).length === 1) {\r\n handleValueUpdate([dropdownList!.find(a => !a.disabled)!.value]);\r\n event.stopPropagation();\r\n }\r\n }\r\n\r\n if ((event.key === 'ArrowDown' || event.key === 'Down' || event.key === 'ArrowUp' || event.key === 'Up') && !!dropdownList?.length) {\r\n setDropdownIsOpen(true);\r\n }\r\n };\r\n\r\n /**\r\n * Removes a specific chip from the chip list.\r\n * @param index - Index of the chip that needs to be removed.\r\n */\r\n const handleOnChipRemoved = (index: number): void => {\r\n // Let's copy the chips\r\n const newChips = [...chips];\r\n\r\n // Let's delete the chip\r\n // If necessary, let's replace it with a different chip\r\n newChips.splice(index, 1);\r\n\r\n // Let's update the chip list\r\n setChips([...newChips]);\r\n onValueChange(newChips.map((e) => e.value));\r\n };\r\n\r\n return (\r\n <Wrapper ref={containerRef}>\r\n <ChipInputField inputId={inputId}\r\n ref={inputRef}\r\n items={chips}\r\n required={required}\r\n inputValue={value}\r\n role=\"combobox\"\r\n aria-activedescendant={activeDescendant}\r\n size={size}\r\n placeholder={placeholder}\r\n altPlaceholder={altPlaceholder}\r\n disabled={disabled}\r\n multiLine={multiLine}\r\n validationMessage={validationMessage}\r\n loading={loading}\r\n onRemoveItem={(chip, index) => handleOnChipRemoved(index)}\r\n onInputValueChange={handleInputValueChange}\r\n onInputKeyDown={handleInputKeyDown}\r\n onActivationChange={(value) => setDropdownIsOpen(value)}\r\n {...rest}/>\r\n <DropdownContent\r\n containerRef={containerRef}\r\n customizationProps={{\r\n action: () => {\r\n },\r\n pinTopItem: true,\r\n\r\n itemsType: 'normal',\r\n scrollable: true,\r\n actionLabel: '',\r\n multiSelect: false,\r\n onValueUpdate: handleValueUpdate,\r\n items: dropdownList,\r\n }}\r\n ariaRolesType=\"input\"\r\n focused={focused}\r\n setFocused={setFocused}\r\n onActiveDescendantChanged={(e) => setActiveDescendant(e)}\r\n selectedValues={[dropdownValue]}\r\n messageOnNoResults={messageOnNoResults ?? ''}\r\n setSelectedValues={() => {\r\n }}\r\n isOpen={(!maxSelectedItems || (!!maxSelectedItems && chips.length < maxSelectedItems)) && dropdownIsOpen}\r\n setIsOpen={setDropdownIsOpen}\r\n filter={''}\r\n isButton={false}\r\n id={`${inputId}_dropdowncontent`}/>\r\n\r\n </Wrapper>\r\n );\r\n});\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ChipDropdownInput.js","names":["React","styled","ChipInputContainer","ChipInputField","Size","States","DropdownContent","useClickOutsideRef","useFocusOutsideRef","Z_INDEXES","jsx","_jsx","jsxs","_jsxs","Wrapper","div","_templateObject","_taggedTemplateLiteral","dropdown","ChipDropdownInput","forwardRef","_ref","ref","list","onInputChange","disableSorting","messageOnNoResults","values","inputId","variants","placeholder","validationMessage","onValueChange","suggestion","loading","maxSelectedItems","_ref$multiLine","multiLine","_ref$size","size","Medium","icon","disableFiltering","disabled","altPlaceholder","required","rest","_objectWithoutProperties","_excluded","_React$useState","useState","_React$useState2","_slicedToArray","givenList","setGivenList","_React$useState3","_React$useState4","chips","setChips","_React$useState5","_React$useState6","activeDescendant","setActiveDescendant","_React$useState7","_React$useState8","value","setValue","_React$useState9","_React$useState10","restartFilter","setRestartFilter","_React$useState11","_React$useState12","filteredList","setFilteredList","_React$useState13","_React$useState14","dropdownIsOpen","setDropdownIsOpen","_React$useState15","_React$useState16","dropdownList","setDropdownList","_React$useState17","_React$useState18","dropdownValue","setDropdownValue","_React$useState19","_React$useState20","focused","setFocused","containerRef","inputRef","useRef","useImperativeHandle","current","useEffect","map","a","find","b","label","index","_objectSpread","variant","Default","newList","e","options","_toConsumableArray","filter","option","_option$secondaryLabe","toUpperCase","indexOf","secondaryLabel","sort","push","o","length","handleClickOutside","_containerRef$current","contains","target","document","addEventListener","removeEventListener","_filteredList$map","x","_x$icon","displayLabel","noteLabel","addChip","newChip","concat","handleInputValueChange","handleValueUpdate","_inputRef$current","item","focus","handleInputKeyDown","event","key","stopPropagation","handleOnChipRemoved","newChips","splice","children","items","inputValue","role","onRemoveItem","chip","onInputValueChange","onInputKeyDown","onActivationChange","customizationProps","action","pinTopItem","itemsType","scrollable","actionLabel","multiSelect","onValueUpdate","ariaRolesType","onActiveDescendantChanged","selectedValues","setSelectedValues","isOpen","setIsOpen","isButton","id","propTypes","_pt","oneOfType","arrayOf","shape","string","isRequired","func","bool","number"],"sources":["../../src/ChipsInput/ChipDropdownInput.tsx"],"sourcesContent":["/**\r\n * Import React libraries.\r\n */\r\nimport * as React from 'react';\r\n\r\n/**\r\n * Import third-party libraries.\r\n */\r\nimport styled from 'styled-components';\r\n\r\n/**\r\n * Import custom components.\r\n */\r\nimport {ChipInputContainer, ChipInputField} from './ChipInputField';\r\nimport {Size, States} from '../types';\r\nimport {DropdownContent, DropdownItem} from '../Dropdown';\r\nimport {SystemIcons} from '../icons';\r\nimport {ChipInputProps, ChipItem} from './ChipInputTypes';\r\nimport {useClickOutsideRef, useFocusOutsideRef} from '../common';\r\nimport {Z_INDEXES} from '../styles';\r\n\r\nconst Wrapper = styled.div`\r\n position: relative;\r\n display: inline-block;\r\n width: 100%;\r\n\r\n ${ChipInputContainer} {\r\n position: relative;\r\n\r\n &:focus, &.focus-visible-within {\r\n z-index: ${Z_INDEXES.dropdown + 1} !important;\r\n }\r\n }\r\n`;\r\n\r\n\r\ninterface ListItem extends ChipItem {\r\n secondaryLabel?: string;\r\n value: string;\r\n}\r\n\r\nexport interface ChipDropdownInputProps extends Omit<ChipInputProps, 'autoSave'> {\r\n /** Array of items available. */\r\n list: ListItem[] | string[];\r\n /** On input selected/unselected. */\r\n onInputChange?: (input: string) => void;\r\n /** Message to show in the dropdown if none of the chips fits user input. */\r\n messageOnNoResults?: string;\r\n /** Message to show in the dropdown if none of the chips fits user input. */\r\n suggestion?: ListItem;\r\n /** If flag is set then loader will be shown in the input field. */\r\n loading?: boolean;\r\n /** Max number of chips that user can select. */\r\n maxSelectedItems?: number;\r\n /** Disable sorting of options in the dropdown. */\r\n disableSorting?: boolean;\r\n /** Disable filtering of options depending on user input in the dropdown. */\r\n disableFiltering?: boolean;\r\n}\r\n\r\nexport const ChipDropdownInput = React.forwardRef<HTMLInputElement | undefined, ChipDropdownInputProps>(({\r\n list,\r\n onInputChange,\r\n disableSorting,\r\n messageOnNoResults,\r\n values,\r\n inputId,\r\n variants,\r\n placeholder,\r\n validationMessage,\r\n onValueChange,\r\n suggestion,\r\n loading,\r\n maxSelectedItems,\r\n multiLine = true,\r\n size = Size.Medium,\r\n icon,\r\n disableFiltering,\r\n disabled,\r\n altPlaceholder,\r\n required,\r\n ...rest\r\n }: ChipDropdownInputProps, ref) => {\r\n // Initiate states\r\n const [givenList, setGivenList] = React.useState<ListItem[]>([]);\r\n const [chips, setChips] = React.useState<ListItem[]>([]);\r\n\r\n const [activeDescendant, setActiveDescendant] = React.useState<string>();\r\n const [value, setValue] = React.useState<string>('');\r\n const [restartFilter, setRestartFilter] = React.useState<boolean>(false);\r\n const [filteredList, setFilteredList] = React.useState<ListItem[]>();\r\n\r\n const [dropdownIsOpen, setDropdownIsOpen] = React.useState<boolean>(false);\r\n const [dropdownList, setDropdownList] = React.useState<DropdownItem[]>([]);\r\n const [dropdownValue, setDropdownValue] = React.useState<string>('');\r\n\r\n const [focused, setFocused] = React.useState<number | null>(null);\r\n\r\n const containerRef = useClickOutsideRef(() => setDropdownIsOpen(false), [], useFocusOutsideRef(() => setDropdownIsOpen(false)));\r\n const inputRef = React.useRef<any>();\r\n\r\n React.useImperativeHandle(ref, () => inputRef.current, [inputRef]);\r\n\r\n\r\n /**\r\n * Sets initial values for the chips.\r\n */\r\n React.useEffect(() => {\r\n\r\n const list =\r\n values.map((a) => chips.find(b => b.value === a) || givenList.find(b => b.value === a) || {\r\n label: a,\r\n value: a,\r\n icon: icon\r\n })\r\n .map((a, index) => ({...a, variant: a.variant || (variants && variants[index]) || States.Default}))\r\n .map((a, index) => ({...a, icon: a.icon || icon}));\r\n\r\n setChips(list);\r\n }, [values, variants, icon, givenList]);\r\n\r\n /**\r\n * Convert string[] to List[] if necessary\r\n */\r\n React.useEffect(() => {\r\n if (typeof list[0] === 'string') {\r\n const newList: ListItem[] = (list as string[]).map((e: string) => ({label: e, value: e}));\r\n setGivenList(newList);\r\n } else {\r\n setGivenList(list as ListItem[]);\r\n }\r\n }, [list]);\r\n\r\n /**\r\n * filter and sort list if remoteOperations is false\r\n * */\r\n React.useEffect(() => {\r\n let options = [...givenList];\r\n if (!disableFiltering) {\r\n if (!restartFilter && value !== '') {\r\n options = options.filter((option) => option.label.toUpperCase().indexOf(value.toUpperCase()) !== -1 ||\r\n (option.secondaryLabel && option.secondaryLabel?.toUpperCase().indexOf(value.toUpperCase()) !== -1));\r\n }\r\n }\r\n\r\n if (!disableSorting) {\r\n options = options.sort();\r\n }\r\n\r\n suggestion && options.push(suggestion);\r\n\r\n options = options.filter((o) => !chips.find(a => a.value === o.value));\r\n setFilteredList(options);\r\n }, [value, givenList, chips, disableFiltering, disableSorting]);\r\n\r\n /**\r\n * if there is only one active item in dropdown mark it as focused\r\n * */\r\n React.useEffect(() => {\r\n if (dropdownIsOpen && !!value && dropdownList?.filter(a => !a.disabled).length === 1) {\r\n setDropdownValue(dropdownList.find(a => !a.disabled)!.value);\r\n } else {\r\n setDropdownValue('');\r\n }\r\n }, [dropdownList, dropdownIsOpen, value]);\r\n\r\n const handleClickOutside = (e: any) => {\r\n if (!containerRef.current?.contains(e.target)) {\r\n if (dropdownIsOpen) {\r\n setDropdownIsOpen(false);\r\n if (!givenList.find((e) => e.value === value)) {\r\n setValue('');\r\n }\r\n }\r\n }\r\n };\r\n\r\n /**\r\n * register click outside event listener\r\n * */\r\n React.useEffect(() => {\r\n document.addEventListener('click', handleClickOutside);\r\n return () => {\r\n document.removeEventListener('click', handleClickOutside);\r\n };\r\n }, []);\r\n\r\n /**\r\n * update dropdown items when filtered list changes\r\n * */\r\n React.useEffect(() => {\r\n setDropdownList(filteredList?.map(x => ({\r\n value: x.value,\r\n displayLabel: x.label,\r\n noteLabel: x.secondaryLabel,\r\n icon: (x.icon ?? icon),\r\n disabled: x.disabled,\r\n })) ?? []);\r\n }, [filteredList]);\r\n\r\n const addChip = (newChip: ListItem) => {\r\n const newList = [...chips, newChip];\r\n // Let's add the chip\r\n setChips(newList);\r\n onValueChange(newList.map(a => a.value));\r\n\r\n setValue('');\r\n };\r\n\r\n const handleInputValueChange = (value: string) => {\r\n setValue(value);\r\n setRestartFilter(false);\r\n setDropdownIsOpen(true);\r\n onInputChange && onInputChange(value);\r\n }\r\n\r\n /**\r\n * Add chip from dropdown\r\n * */\r\n const handleValueUpdate = (values: string[]) => {\r\n const item = filteredList?.find(a => a.value === values[0]);\r\n item && addChip(item);\r\n setRestartFilter(true);\r\n inputRef?.current?.focus();\r\n }\r\n\r\n /**\r\n * Adds a chip to the chip list.\r\n * @param event - Event handler from the key down event.\r\n */\r\n const handleInputKeyDown = (event: React.KeyboardEvent<HTMLInputElement>): void => {\r\n // Let's trigger only on enter, comma and space key press\r\n if ((event.key === 'Enter' || event.key === ' ') && value) {\r\n if (dropdownList?.filter(a => !a.disabled).length === 1) {\r\n handleValueUpdate([dropdownList!.find(a => !a.disabled)!.value]);\r\n event.stopPropagation();\r\n }\r\n }\r\n\r\n if ((event.key === 'ArrowDown' || event.key === 'Down' || event.key === 'ArrowUp' || event.key === 'Up') && !!dropdownList?.length) {\r\n setDropdownIsOpen(true);\r\n }\r\n };\r\n\r\n /**\r\n * Removes a specific chip from the chip list.\r\n * @param index - Index of the chip that needs to be removed.\r\n */\r\n const handleOnChipRemoved = (index: number): void => {\r\n // Let's copy the chips\r\n const newChips = [...chips];\r\n\r\n // Let's delete the chip\r\n // If necessary, let's replace it with a different chip\r\n newChips.splice(index, 1);\r\n\r\n // Let's update the chip list\r\n setChips([...newChips]);\r\n onValueChange(newChips.map((e) => e.value));\r\n };\r\n\r\n return (\r\n <Wrapper ref={containerRef}>\r\n <ChipInputField inputId={inputId}\r\n ref={inputRef}\r\n items={chips}\r\n required={required}\r\n inputValue={value}\r\n role=\"combobox\"\r\n aria-activedescendant={activeDescendant}\r\n size={size}\r\n placeholder={placeholder}\r\n altPlaceholder={altPlaceholder}\r\n disabled={disabled}\r\n multiLine={multiLine}\r\n validationMessage={validationMessage}\r\n loading={loading}\r\n onRemoveItem={(chip, index) => handleOnChipRemoved(index)}\r\n onInputValueChange={handleInputValueChange}\r\n onInputKeyDown={handleInputKeyDown}\r\n onActivationChange={(value) => setDropdownIsOpen(value)}\r\n {...rest}/>\r\n <DropdownContent\r\n containerRef={containerRef}\r\n customizationProps={{\r\n action: () => {\r\n },\r\n pinTopItem: true,\r\n\r\n itemsType: 'normal',\r\n scrollable: true,\r\n actionLabel: '',\r\n multiSelect: false,\r\n onValueUpdate: handleValueUpdate,\r\n items: dropdownList,\r\n }}\r\n ariaRolesType=\"input\"\r\n focused={focused}\r\n setFocused={setFocused}\r\n onActiveDescendantChanged={(e) => setActiveDescendant(e)}\r\n selectedValues={[dropdownValue]}\r\n messageOnNoResults={messageOnNoResults ?? ''}\r\n setSelectedValues={() => {\r\n }}\r\n isOpen={(!maxSelectedItems || (!!maxSelectedItems && chips.length < maxSelectedItems)) && dropdownIsOpen}\r\n setIsOpen={setDropdownIsOpen}\r\n filter={''}\r\n isButton={false}\r\n id={`${inputId}_dropdowncontent`}/>\r\n\r\n </Wrapper>\r\n );\r\n});\r\n"],"mappings":";;;;;;;;;;AAAA;AACA;AACA;AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;;AAE9B;AACA;AACA;AACA,OAAOC,MAAM,MAAM,mBAAmB;;AAEtC;AACA;AACA;AACA,SAAQC,kBAAkB,EAAEC,cAAc,QAAO,kBAAkB;AACnE,SAAQC,IAAI,EAAEC,MAAM,QAAO,UAAU;AACrC,SAAQC,eAAe,QAAqB,aAAa;AAGzD,SAAQC,kBAAkB,EAAEC,kBAAkB,QAAO,WAAW;AAChE,SAAQC,SAAS,QAAO,WAAW;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAEpC,IAAMC,OAAO,GAAGb,MAAM,CAACc,GAAG,CAAAC,eAAA,KAAAA,eAAA,GAAAC,sBAAA,uMAKtBf,kBAAkB,EAILO,SAAS,CAACS,QAAQ,GAAG,CAAC,CAGtC;AA2BD,OAAO,IAAMC,iBAAiB,gBAAGnB,KAAK,CAACoB,UAAU,CAAuD,UAAAC,IAAA,EAsBgBC,GAAG,EAAK;EAAA,IArBjCC,IAAI,GAAAF,IAAA,CAAJE,IAAI;IACJC,aAAa,GAAAH,IAAA,CAAbG,aAAa;IACbC,cAAc,GAAAJ,IAAA,CAAdI,cAAc;IACdC,kBAAkB,GAAAL,IAAA,CAAlBK,kBAAkB;IAClBC,MAAM,GAAAN,IAAA,CAANM,MAAM;IACNC,OAAO,GAAAP,IAAA,CAAPO,OAAO;IACPC,QAAQ,GAAAR,IAAA,CAARQ,QAAQ;IACRC,WAAW,GAAAT,IAAA,CAAXS,WAAW;IACXC,iBAAiB,GAAAV,IAAA,CAAjBU,iBAAiB;IACjBC,aAAa,GAAAX,IAAA,CAAbW,aAAa;IACbC,UAAU,GAAAZ,IAAA,CAAVY,UAAU;IACVC,OAAO,GAAAb,IAAA,CAAPa,OAAO;IACPC,gBAAgB,GAAAd,IAAA,CAAhBc,gBAAgB;IAAAC,cAAA,GAAAf,IAAA,CAChBgB,SAAS;IAATA,SAAS,GAAAD,cAAA,cAAG,IAAI,GAAAA,cAAA;IAAAE,SAAA,GAAAjB,IAAA,CAChBkB,IAAI;IAAJA,IAAI,GAAAD,SAAA,cAAGlC,IAAI,CAACoC,MAAM,GAAAF,SAAA;IAClBG,IAAI,GAAApB,IAAA,CAAJoB,IAAI;IACJC,gBAAgB,GAAArB,IAAA,CAAhBqB,gBAAgB;IAChBC,QAAQ,GAAAtB,IAAA,CAARsB,QAAQ;IACRC,cAAc,GAAAvB,IAAA,CAAduB,cAAc;IACdC,QAAQ,GAAAxB,IAAA,CAARwB,QAAQ;IACLC,IAAI,GAAAC,wBAAA,CAAA1B,IAAA,EAAA2B,SAAA;EAEpG;EACA,IAAAC,eAAA,GAAkCjD,KAAK,CAACkD,QAAQ,CAAa,EAAE,CAAC;IAAAC,gBAAA,GAAAC,cAAA,CAAAH,eAAA;IAAzDI,SAAS,GAAAF,gBAAA;IAAEG,YAAY,GAAAH,gBAAA;EAC9B,IAAAI,gBAAA,GAA0BvD,KAAK,CAACkD,QAAQ,CAAa,EAAE,CAAC;IAAAM,gBAAA,GAAAJ,cAAA,CAAAG,gBAAA;IAAjDE,KAAK,GAAAD,gBAAA;IAAEE,QAAQ,GAAAF,gBAAA;EAEtB,IAAAG,gBAAA,GAAgD3D,KAAK,CAACkD,QAAQ,CAAS,CAAC;IAAAU,gBAAA,GAAAR,cAAA,CAAAO,gBAAA;IAAjEE,gBAAgB,GAAAD,gBAAA;IAAEE,mBAAmB,GAAAF,gBAAA;EAC5C,IAAAG,gBAAA,GAA0B/D,KAAK,CAACkD,QAAQ,CAAS,EAAE,CAAC;IAAAc,gBAAA,GAAAZ,cAAA,CAAAW,gBAAA;IAA7CE,KAAK,GAAAD,gBAAA;IAAEE,QAAQ,GAAAF,gBAAA;EACtB,IAAAG,gBAAA,GAA0CnE,KAAK,CAACkD,QAAQ,CAAU,KAAK,CAAC;IAAAkB,iBAAA,GAAAhB,cAAA,CAAAe,gBAAA;IAAjEE,aAAa,GAAAD,iBAAA;IAAEE,gBAAgB,GAAAF,iBAAA;EACtC,IAAAG,iBAAA,GAAwCvE,KAAK,CAACkD,QAAQ,CAAa,CAAC;IAAAsB,iBAAA,GAAApB,cAAA,CAAAmB,iBAAA;IAA7DE,YAAY,GAAAD,iBAAA;IAAEE,eAAe,GAAAF,iBAAA;EAEpC,IAAAG,iBAAA,GAA4C3E,KAAK,CAACkD,QAAQ,CAAU,KAAK,CAAC;IAAA0B,iBAAA,GAAAxB,cAAA,CAAAuB,iBAAA;IAAnEE,cAAc,GAAAD,iBAAA;IAAEE,iBAAiB,GAAAF,iBAAA;EACxC,IAAAG,iBAAA,GAAwC/E,KAAK,CAACkD,QAAQ,CAAiB,EAAE,CAAC;IAAA8B,iBAAA,GAAA5B,cAAA,CAAA2B,iBAAA;IAAnEE,YAAY,GAAAD,iBAAA;IAAEE,eAAe,GAAAF,iBAAA;EACpC,IAAAG,iBAAA,GAA0CnF,KAAK,CAACkD,QAAQ,CAAS,EAAE,CAAC;IAAAkC,iBAAA,GAAAhC,cAAA,CAAA+B,iBAAA;IAA7DE,aAAa,GAAAD,iBAAA;IAAEE,gBAAgB,GAAAF,iBAAA;EAEtC,IAAAG,iBAAA,GAA8BvF,KAAK,CAACkD,QAAQ,CAAgB,IAAI,CAAC;IAAAsC,iBAAA,GAAApC,cAAA,CAAAmC,iBAAA;IAA1DE,OAAO,GAAAD,iBAAA;IAAEE,UAAU,GAAAF,iBAAA;EAE1B,IAAMG,YAAY,GAAGpF,kBAAkB,CAAC;IAAA,OAAMuE,iBAAiB,CAAC,KAAK,CAAC;EAAA,GAAE,EAAE,EAAEtE,kBAAkB,CAAC;IAAA,OAAMsE,iBAAiB,CAAC,KAAK,CAAC;EAAA,EAAC,CAAC;EAC/H,IAAMc,QAAQ,GAAG5F,KAAK,CAAC6F,MAAM,CAAM,CAAC;EAEpC7F,KAAK,CAAC8F,mBAAmB,CAACxE,GAAG,EAAE;IAAA,OAAMsE,QAAQ,CAACG,OAAO;EAAA,GAAE,CAACH,QAAQ,CAAC,CAAC;;EAGlE;AACF;AACA;EACE5F,KAAK,CAACgG,SAAS,CAAC,YAAM;IAEpB,IAAMzE,IAAI,GACRI,MAAM,CAACsE,GAAG,CAAC,UAACC,CAAC;MAAA,OAAKzC,KAAK,CAAC0C,IAAI,CAAC,UAAAC,CAAC;QAAA,OAAIA,CAAC,CAACnC,KAAK,KAAKiC,CAAC;MAAA,EAAC,IAAI7C,SAAS,CAAC8C,IAAI,CAAC,UAAAC,CAAC;QAAA,OAAIA,CAAC,CAACnC,KAAK,KAAKiC,CAAC;MAAA,EAAC,IAAI;QACxFG,KAAK,EAAEH,CAAC;QACRjC,KAAK,EAAEiC,CAAC;QACRzD,IAAI,EAAEA;MACR,CAAC;IAAA,EAAC,CACCwD,GAAG,CAAC,UAACC,CAAC,EAAEI,KAAK;MAAA,OAAAC,aAAA,CAAAA,aAAA,KAAUL,CAAC;QAAEM,OAAO,EAAEN,CAAC,CAACM,OAAO,IAAK3E,QAAQ,IAAIA,QAAQ,CAACyE,KAAK,CAAE,IAAIjG,MAAM,CAACoG;MAAO;IAAA,CAAE,CAAC,CAClGR,GAAG,CAAC,UAACC,CAAC,EAAEI,KAAK;MAAA,OAAAC,aAAA,CAAAA,aAAA,KAAUL,CAAC;QAAEzD,IAAI,EAAEyD,CAAC,CAACzD,IAAI,IAAIA;MAAI;IAAA,CAAE,CAAC;IAEtDiB,QAAQ,CAACnC,IAAI,CAAC;EAChB,CAAC,EAAE,CAACI,MAAM,EAAEE,QAAQ,EAAEY,IAAI,EAAEY,SAAS,CAAC,CAAC;;EAEvC;AACF;AACA;EACErD,KAAK,CAACgG,SAAS,CAAC,YAAM;IACpB,IAAI,OAAOzE,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;MAC/B,IAAMmF,OAAmB,GAAInF,IAAI,CAAc0E,GAAG,CAAC,UAACU,CAAS;QAAA,OAAM;UAACN,KAAK,EAAEM,CAAC;UAAE1C,KAAK,EAAE0C;QAAC,CAAC;MAAA,CAAC,CAAC;MACzFrD,YAAY,CAACoD,OAAO,CAAC;IACvB,CAAC,MAAM;MACLpD,YAAY,CAAC/B,IAAkB,CAAC;IAClC;EACF,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;;EAEV;AACF;AACA;EACEvB,KAAK,CAACgG,SAAS,CAAC,YAAM;IACpB,IAAIY,OAAO,GAAAC,kBAAA,CAAOxD,SAAS,CAAC;IAC5B,IAAI,CAACX,gBAAgB,EAAE;MACrB,IAAI,CAAC2B,aAAa,IAAIJ,KAAK,KAAK,EAAE,EAAE;QAClC2C,OAAO,GAAGA,OAAO,CAACE,MAAM,CAAC,UAACC,MAAM;UAAA,IAAAC,qBAAA;UAAA,OAAKD,MAAM,CAACV,KAAK,CAACY,WAAW,CAAC,CAAC,CAACC,OAAO,CAACjD,KAAK,CAACgD,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAChGF,MAAM,CAACI,cAAc,IAAI,EAAAH,qBAAA,GAAAD,MAAM,CAACI,cAAc,cAAAH,qBAAA,uBAArBA,qBAAA,CAAuBC,WAAW,CAAC,CAAC,CAACC,OAAO,CAACjD,KAAK,CAACgD,WAAW,CAAC,CAAC,CAAC,MAAK,CAAC,CAAE;QAAA,EAAC;MACxG;IACF;IAEA,IAAI,CAACxF,cAAc,EAAE;MACnBmF,OAAO,GAAGA,OAAO,CAACQ,IAAI,CAAC,CAAC;IAC1B;IAEAnF,UAAU,IAAI2E,OAAO,CAACS,IAAI,CAACpF,UAAU,CAAC;IAEtC2E,OAAO,GAAGA,OAAO,CAACE,MAAM,CAAC,UAACQ,CAAC;MAAA,OAAK,CAAC7D,KAAK,CAAC0C,IAAI,CAAC,UAAAD,CAAC;QAAA,OAAIA,CAAC,CAACjC,KAAK,KAAKqD,CAAC,CAACrD,KAAK;MAAA,EAAC;IAAA,EAAC;IACtES,eAAe,CAACkC,OAAO,CAAC;EAC1B,CAAC,EAAE,CAAC3C,KAAK,EAAEZ,SAAS,EAAEI,KAAK,EAAEf,gBAAgB,EAAEjB,cAAc,CAAC,CAAC;;EAE/D;AACF;AACA;EACEzB,KAAK,CAACgG,SAAS,CAAC,YAAM;IACpB,IAAInB,cAAc,IAAI,CAAC,CAACZ,KAAK,IAAI,CAAAgB,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAE6B,MAAM,CAAC,UAAAZ,CAAC;MAAA,OAAI,CAACA,CAAC,CAACvD,QAAQ;IAAA,EAAC,CAAC4E,MAAM,MAAK,CAAC,EAAE;MACpFjC,gBAAgB,CAACL,YAAY,CAACkB,IAAI,CAAC,UAAAD,CAAC;QAAA,OAAI,CAACA,CAAC,CAACvD,QAAQ;MAAA,EAAC,CAAEsB,KAAK,CAAC;IAC9D,CAAC,MAAM;MACLqB,gBAAgB,CAAC,EAAE,CAAC;IACtB;EACF,CAAC,EAAE,CAACL,YAAY,EAAEJ,cAAc,EAAEZ,KAAK,CAAC,CAAC;EAEzC,IAAMuD,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIb,CAAM,EAAK;IAAA,IAAAc,qBAAA;IACrC,IAAI,GAAAA,qBAAA,GAAC9B,YAAY,CAACI,OAAO,cAAA0B,qBAAA,eAApBA,qBAAA,CAAsBC,QAAQ,CAACf,CAAC,CAACgB,MAAM,CAAC,GAAE;MAC7C,IAAI9C,cAAc,EAAE;QAClBC,iBAAiB,CAAC,KAAK,CAAC;QACxB,IAAI,CAACzB,SAAS,CAAC8C,IAAI,CAAC,UAACQ,CAAC;UAAA,OAAKA,CAAC,CAAC1C,KAAK,KAAKA,KAAK;QAAA,EAAC,EAAE;UAC7CC,QAAQ,CAAC,EAAE,CAAC;QACd;MACF;IACF;EACF,CAAC;;EAED;AACF;AACA;EACElE,KAAK,CAACgG,SAAS,CAAC,YAAM;IACpB4B,QAAQ,CAACC,gBAAgB,CAAC,OAAO,EAAEL,kBAAkB,CAAC;IACtD,OAAO,YAAM;MACXI,QAAQ,CAACE,mBAAmB,CAAC,OAAO,EAAEN,kBAAkB,CAAC;IAC3D,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;;EAEN;AACF;AACA;EACExH,KAAK,CAACgG,SAAS,CAAC,YAAM;IAAA,IAAA+B,iBAAA;IACpB7C,eAAe,EAAA6C,iBAAA,GAACtD,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEwB,GAAG,CAAC,UAAA+B,CAAC;MAAA,IAAAC,OAAA;MAAA,OAAK;QACtChE,KAAK,EAAE+D,CAAC,CAAC/D,KAAK;QACdiE,YAAY,EAAEF,CAAC,CAAC3B,KAAK;QACrB8B,SAAS,EAAEH,CAAC,CAACb,cAAc;QAC3B1E,IAAI,GAAAwF,OAAA,GAAGD,CAAC,CAACvF,IAAI,cAAAwF,OAAA,cAAAA,OAAA,GAAIxF,IAAK;QACtBE,QAAQ,EAAEqF,CAAC,CAACrF;MACd,CAAC;IAAA,CAAC,CAAC,cAAAoF,iBAAA,cAAAA,iBAAA,GAAI,EAAE,CAAC;EACZ,CAAC,EAAE,CAACtD,YAAY,CAAC,CAAC;EAElB,IAAM2D,OAAO,GAAG,SAAVA,OAAOA,CAAIC,OAAiB,EAAK;IACrC,IAAM3B,OAAO,MAAA4B,MAAA,CAAAzB,kBAAA,CAAOpD,KAAK,IAAE4E,OAAO,EAAC;IACnC;IACA3E,QAAQ,CAACgD,OAAO,CAAC;IACjB1E,aAAa,CAAC0E,OAAO,CAACT,GAAG,CAAC,UAAAC,CAAC;MAAA,OAAIA,CAAC,CAACjC,KAAK;IAAA,EAAC,CAAC;IAExCC,QAAQ,CAAC,EAAE,CAAC;EACd,CAAC;EAED,IAAMqE,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAItE,KAAa,EAAK;IAChDC,QAAQ,CAACD,KAAK,CAAC;IACfK,gBAAgB,CAAC,KAAK,CAAC;IACvBQ,iBAAiB,CAAC,IAAI,CAAC;IACvBtD,aAAa,IAAIA,aAAa,CAACyC,KAAK,CAAC;EACvC,CAAC;;EAED;AACF;AACA;EACE,IAAMuE,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAI7G,MAAgB,EAAK;IAAA,IAAA8G,iBAAA;IAC9C,IAAMC,IAAI,GAAGjE,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAE0B,IAAI,CAAC,UAAAD,CAAC;MAAA,OAAIA,CAAC,CAACjC,KAAK,KAAKtC,MAAM,CAAC,CAAC,CAAC;IAAA,EAAC;IAC3D+G,IAAI,IAAIN,OAAO,CAACM,IAAI,CAAC;IACrBpE,gBAAgB,CAAC,IAAI,CAAC;IACtBsB,QAAQ,aAARA,QAAQ,wBAAA6C,iBAAA,GAAR7C,QAAQ,CAAEG,OAAO,cAAA0C,iBAAA,uBAAjBA,iBAAA,CAAmBE,KAAK,CAAC,CAAC;EAC5B,CAAC;;EAED;AACF;AACA;AACA;EACE,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIC,KAA4C,EAAW;IACjF;IACA,IAAI,CAACA,KAAK,CAACC,GAAG,KAAK,OAAO,IAAID,KAAK,CAACC,GAAG,KAAK,GAAG,KAAK7E,KAAK,EAAE;MACzD,IAAI,CAAAgB,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAE6B,MAAM,CAAC,UAAAZ,CAAC;QAAA,OAAI,CAACA,CAAC,CAACvD,QAAQ;MAAA,EAAC,CAAC4E,MAAM,MAAK,CAAC,EAAE;QACvDiB,iBAAiB,CAAC,CAACvD,YAAY,CAAEkB,IAAI,CAAC,UAAAD,CAAC;UAAA,OAAI,CAACA,CAAC,CAACvD,QAAQ;QAAA,EAAC,CAAEsB,KAAK,CAAC,CAAC;QAChE4E,KAAK,CAACE,eAAe,CAAC,CAAC;MACzB;IACF;IAEA,IAAI,CAACF,KAAK,CAACC,GAAG,KAAK,WAAW,IAAID,KAAK,CAACC,GAAG,KAAK,MAAM,IAAID,KAAK,CAACC,GAAG,KAAK,SAAS,IAAID,KAAK,CAACC,GAAG,KAAK,IAAI,KAAK,CAAC,EAAC7D,YAAY,aAAZA,YAAY,eAAZA,YAAY,CAAEsC,MAAM,GAAE;MAClIzC,iBAAiB,CAAC,IAAI,CAAC;IACzB;EACF,CAAC;;EAED;AACF;AACA;AACA;EACE,IAAMkE,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAI1C,KAAa,EAAW;IACnD;IACA,IAAM2C,QAAQ,GAAApC,kBAAA,CAAOpD,KAAK,CAAC;;IAE3B;IACA;IACAwF,QAAQ,CAACC,MAAM,CAAC5C,KAAK,EAAE,CAAC,CAAC;;IAEzB;IACA5C,QAAQ,CAAAmD,kBAAA,CAAKoC,QAAQ,CAAC,CAAC;IACvBjH,aAAa,CAACiH,QAAQ,CAAChD,GAAG,CAAC,UAACU,CAAC;MAAA,OAAKA,CAAC,CAAC1C,KAAK;IAAA,EAAC,CAAC;EAC7C,CAAC;EAED,oBACEpD,KAAA,CAACC,OAAO;IAACQ,GAAG,EAAEqE,YAAa;IAAAwD,QAAA,gBACzBxI,IAAA,CAACR,cAAc,EAAAoG,aAAA;MAAC3E,OAAO,EAAEA,OAAQ;MACjBN,GAAG,EAAEsE,QAAS;MACdwD,KAAK,EAAE3F,KAAM;MACbZ,QAAQ,EAAEA,QAAS;MACnBwG,UAAU,EAAEpF,KAAM;MAClBqF,IAAI,EAAC,UAAU;MACf,yBAAuBzF,gBAAiB;MACxCtB,IAAI,EAAEA,IAAK;MACXT,WAAW,EAAEA,WAAY;MACzBc,cAAc,EAAEA,cAAe;MAC/BD,QAAQ,EAAEA,QAAS;MACnBN,SAAS,EAAEA,SAAU;MACrBN,iBAAiB,EAAEA,iBAAkB;MACrCG,OAAO,EAAEA,OAAQ;MACjBqH,YAAY,EAAE,SAAAA,aAACC,IAAI,EAAElD,KAAK;QAAA,OAAK0C,mBAAmB,CAAC1C,KAAK,CAAC;MAAA,CAAC;MAC1DmD,kBAAkB,EAAElB,sBAAuB;MAC3CmB,cAAc,EAAEd,kBAAmB;MACnCe,kBAAkB,EAAE,SAAAA,mBAAC1F,KAAK;QAAA,OAAKa,iBAAiB,CAACb,KAAK,CAAC;MAAA;IAAC,GACpDnB,IAAI,CAAE,CAAC,eAC3BnC,IAAA,CAACL,eAAe;MACdqF,YAAY,EAAEA,YAAa;MAC3BiE,kBAAkB,EAAE;QAClBC,MAAM,EAAE,SAAAA,OAAA,EAAM,CACd,CAAC;QACDC,UAAU,EAAE,IAAI;QAEhBC,SAAS,EAAE,QAAQ;QACnBC,UAAU,EAAE,IAAI;QAChBC,WAAW,EAAE,EAAE;QACfC,WAAW,EAAE,KAAK;QAClBC,aAAa,EAAE3B,iBAAiB;QAChCY,KAAK,EAAEnE;MACT,CAAE;MACFmF,aAAa,EAAC,OAAO;MACrB3E,OAAO,EAAEA,OAAQ;MACjBC,UAAU,EAAEA,UAAW;MACvB2E,yBAAyB,EAAE,SAAAA,0BAAC1D,CAAC;QAAA,OAAK7C,mBAAmB,CAAC6C,CAAC,CAAC;MAAA,CAAC;MACzD2D,cAAc,EAAE,CAACjF,aAAa,CAAE;MAChC3D,kBAAkB,EAAEA,kBAAkB,aAAlBA,kBAAkB,cAAlBA,kBAAkB,GAAI,EAAG;MAC7C6I,iBAAiB,EAAE,SAAAA,kBAAA,EAAM,CACzB,CAAE;MACFC,MAAM,EAAE,CAAC,CAACrI,gBAAgB,IAAK,CAAC,CAACA,gBAAgB,IAAIsB,KAAK,CAAC8D,MAAM,GAAGpF,gBAAiB,KAAK0C,cAAe;MACzG4F,SAAS,EAAE3F,iBAAkB;MAC7BgC,MAAM,EAAE,EAAG;MACX4D,QAAQ,EAAE,KAAM;MAChBC,EAAE,KAAArC,MAAA,CAAK1G,OAAO;IAAmB,CAAC,CAAC;EAAA,CAE9B,CAAC;AAEd,CAAC,CAAC;AAACT,iBAAA,CAAAyJ,SAAA;EA7QDrJ,IAAI,EAAAsJ,GAAA,CAAAC,SAAA,EAAAD,GAAA,CAAAE,OAAA,CAAAF,GAAA,CAAAG,KAAA;IANJ7D,cAAc,EAAA0D,GAAA,CAAAI,MAAA;IACdhH,KAAK,EAAA4G,GAAA,CAAAI,MAAA,CAAAC;EAAA,KAAAL,GAAA,CAAAE,OAAA,CAAAF,GAAA,CAAAI,MAAA,IAAAC,UAAA;EAOL1J,aAAa,EAAAqJ,GAAA,CAAAM,IAAA;EAEbzJ,kBAAkB,EAAAmJ,GAAA,CAAAI,MAAA;EAElBhJ,UAAU,EAAA4I,GAAA,CAAAG,KAAA;IAZV7D,cAAc,EAAA0D,GAAA,CAAAI,MAAA;IACdhH,KAAK,EAAA4G,GAAA,CAAAI,MAAA,CAAAC;EAAA;EAaLhJ,OAAO,EAAA2I,GAAA,CAAAO,IAAA;EAEPjJ,gBAAgB,EAAA0I,GAAA,CAAAQ,MAAA;EAEhB5J,cAAc,EAAAoJ,GAAA,CAAAO,IAAA;EAEd1I,gBAAgB,EAAAmI,GAAA,CAAAO;AAAA","ignoreList":[]}