@onewelcome/react-lib-components 5.2.0 → 6.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (255) hide show
  1. package/dist/cjs/Button/BaseButton.cjs.js.map +1 -1
  2. package/dist/cjs/Button/BaseButton.module.cjs.js +1 -1
  3. package/dist/cjs/Button/Button.module.cjs.js +1 -1
  4. package/dist/cjs/Button/IconButton.module.cjs.js +1 -1
  5. package/dist/cjs/ContextMenu/ContextMenu.cjs.js +1 -1
  6. package/dist/cjs/ContextMenu/ContextMenu.cjs.js.map +1 -1
  7. package/dist/cjs/ContextMenu/ContextMenuItem.module.cjs.js +1 -1
  8. package/dist/cjs/ContextMenu/ContextMenuService.cjs.js +1 -1
  9. package/dist/cjs/ContextMenu/ContextMenuService.cjs.js.map +1 -1
  10. package/dist/cjs/DataGrid/DataGridActions/DataGridColumnsToggle.module.cjs.js +1 -1
  11. package/dist/cjs/Form/Input/Input.module.cjs.js +1 -1
  12. package/dist/cjs/Form/Select/Option.cjs.js +1 -1
  13. package/dist/cjs/Form/Select/Option.cjs.js.map +1 -1
  14. package/dist/cjs/Form/Select/Select.cjs.js +1 -1
  15. package/dist/cjs/Form/Select/Select.cjs.js.map +1 -1
  16. package/dist/cjs/Form/Select/Select.module.cjs.js +1 -1
  17. package/dist/cjs/Form/Select/SelectService.cjs.js +1 -1
  18. package/dist/cjs/Form/Select/SelectService.cjs.js.map +1 -1
  19. package/dist/cjs/Form/Textarea/Textarea.module.cjs.js +1 -1
  20. package/dist/cjs/Icon/Icon.cjs.js +1 -1
  21. package/dist/cjs/Icon/Icon.cjs.js.map +1 -1
  22. package/dist/cjs/Icon/Icon.module.cjs.js +1 -1
  23. package/dist/cjs/Link/Link.cjs.js.map +1 -1
  24. package/dist/cjs/Link/Link.module.cjs.js +1 -1
  25. package/dist/cjs/Notifications/BaseModal/BaseModal.module.cjs.js +1 -1
  26. package/dist/cjs/Notifications/SlideInModal/SlideInModal.module.cjs.js +1 -1
  27. package/dist/cjs/Notifications/Snackbar/SnackbarItem/SnackbarItem.cjs.js +1 -1
  28. package/dist/cjs/Notifications/Snackbar/SnackbarItem/SnackbarItem.cjs.js.map +1 -1
  29. package/dist/cjs/Notifications/Snackbar/SnackbarItem/SnackbarItem.module.cjs.js +1 -1
  30. package/dist/cjs/Notifications/Snackbar/SnackbarProvider/SnackbarProvider.cjs.js +1 -1
  31. package/dist/cjs/Notifications/Snackbar/SnackbarProvider/SnackbarProvider.cjs.js.map +1 -1
  32. package/dist/cjs/Notifications/Snackbar/SnackbarProvider/SnackbarStateProvider.cjs.js.map +1 -1
  33. package/dist/cjs/Notifications/Snackbar/interfaces.cjs.js +2 -0
  34. package/dist/cjs/Notifications/Snackbar/interfaces.cjs.js.map +1 -0
  35. package/dist/cjs/Popover/Popover.cjs.js +1 -1
  36. package/dist/cjs/Popover/Popover.cjs.js.map +1 -1
  37. package/dist/cjs/Popover/Popover.module.cjs.js +1 -1
  38. package/dist/cjs/Stepper/Step.cjs.js +1 -1
  39. package/dist/cjs/Stepper/Step.cjs.js.map +1 -1
  40. package/dist/cjs/Stepper/Step.module.cjs.js +1 -1
  41. package/dist/cjs/Stepper/Stepper.cjs.js +1 -1
  42. package/dist/cjs/Stepper/Stepper.cjs.js.map +1 -1
  43. package/dist/cjs/Tabs/TabButton.module.cjs.js +1 -1
  44. package/dist/cjs/TextEllipsis/TextEllipsis.module.cjs.js +1 -1
  45. package/dist/cjs/Tiles/Tile.module.cjs.js +1 -1
  46. package/dist/cjs/Tooltip/Tooltip.module.cjs.js +1 -1
  47. package/dist/cjs/Wizard/BaseWizardSteps/BaseWizardSteps.module.cjs.js +1 -1
  48. package/dist/cjs/_BaseStyling_/BaseStyling.cjs.js +1 -1
  49. package/dist/cjs/_BaseStyling_/BaseStyling.cjs.js.map +1 -1
  50. package/dist/cjs/src/.scope.d.ts +2 -0
  51. package/dist/cjs/src/components/Button/BaseButton.d.ts +1 -1
  52. package/dist/cjs/src/components/ContextMenu/ContextMenu.d.ts +1 -1
  53. package/dist/cjs/src/components/ContextMenu/ContextMenuService.d.ts +4 -1
  54. package/dist/cjs/src/components/Form/Select/Option.d.ts +1 -0
  55. package/dist/cjs/src/components/Form/Select/Select.d.ts +20 -0
  56. package/dist/cjs/src/components/Form/Select/Select.interfaces.d.ts +3 -1
  57. package/dist/cjs/src/components/Form/Select/Select.test.d.ts +63 -1
  58. package/dist/cjs/src/components/Form/Select/SelectKeyboardNavigation.test.d.ts +1 -0
  59. package/dist/cjs/src/components/Form/Select/SelectService.d.ts +3 -2
  60. package/dist/cjs/src/components/Icon/Icon.d.ts +4 -1
  61. package/dist/cjs/src/components/Link/Link.d.ts +1 -1
  62. package/dist/cjs/src/components/Notifications/Snackbar/SnackbarProvider/SnackbarStateProvider.d.ts +5 -5
  63. package/dist/cjs/src/components/Notifications/Snackbar/interfaces.d.ts +6 -0
  64. package/dist/cjs/src/components/Notifications/Snackbar/useSnackbar.d.ts +4 -4
  65. package/dist/cjs/src/components/Notifications/Snackbar/useSnackbar.test.d.ts +1 -0
  66. package/dist/cjs/src/components/Stepper/Stepper.d.ts +0 -1
  67. package/dist/cjs/src/components/_BaseStyling_/BaseStyling.d.ts +11 -10
  68. package/dist/cjs/src/hooks/usePosition.cjs.js.map +1 -1
  69. package/dist/cjs/src/hooks/usePosition.d.ts +1 -1
  70. package/dist/esm/Button/BaseButton.esm.js.map +1 -1
  71. package/dist/esm/Button/BaseButton.module.esm.js +1 -1
  72. package/dist/esm/Button/Button.module.esm.js +1 -1
  73. package/dist/esm/Button/IconButton.module.esm.js +1 -1
  74. package/dist/esm/ContextMenu/ContextMenu.esm.js +1 -1
  75. package/dist/esm/ContextMenu/ContextMenu.esm.js.map +1 -1
  76. package/dist/esm/ContextMenu/ContextMenuItem.module.esm.js +1 -1
  77. package/dist/esm/ContextMenu/ContextMenuService.esm.js +1 -1
  78. package/dist/esm/ContextMenu/ContextMenuService.esm.js.map +1 -1
  79. package/dist/esm/DataGrid/DataGridActions/DataGridColumnsToggle.module.esm.js +1 -1
  80. package/dist/esm/Form/Input/Input.module.esm.js +1 -1
  81. package/dist/esm/Form/Select/Option.esm.js +1 -1
  82. package/dist/esm/Form/Select/Option.esm.js.map +1 -1
  83. package/dist/esm/Form/Select/Select.esm.js +1 -1
  84. package/dist/esm/Form/Select/Select.esm.js.map +1 -1
  85. package/dist/esm/Form/Select/Select.module.esm.js +1 -1
  86. package/dist/esm/Form/Select/SelectService.esm.js +1 -1
  87. package/dist/esm/Form/Select/SelectService.esm.js.map +1 -1
  88. package/dist/esm/Form/Textarea/Textarea.module.esm.js +1 -1
  89. package/dist/esm/Icon/Icon.esm.js +1 -1
  90. package/dist/esm/Icon/Icon.esm.js.map +1 -1
  91. package/dist/esm/Icon/Icon.module.esm.js +1 -1
  92. package/dist/esm/Link/Link.esm.js.map +1 -1
  93. package/dist/esm/Link/Link.module.esm.js +1 -1
  94. package/dist/esm/Notifications/BaseModal/BaseModal.module.esm.js +1 -1
  95. package/dist/esm/Notifications/SlideInModal/SlideInModal.module.esm.js +1 -1
  96. package/dist/esm/Notifications/Snackbar/SnackbarItem/SnackbarItem.esm.js +1 -1
  97. package/dist/esm/Notifications/Snackbar/SnackbarItem/SnackbarItem.esm.js.map +1 -1
  98. package/dist/esm/Notifications/Snackbar/SnackbarItem/SnackbarItem.module.esm.js +1 -1
  99. package/dist/esm/Notifications/Snackbar/SnackbarProvider/SnackbarProvider.esm.js +1 -1
  100. package/dist/esm/Notifications/Snackbar/SnackbarProvider/SnackbarProvider.esm.js.map +1 -1
  101. package/dist/esm/Notifications/Snackbar/SnackbarProvider/SnackbarStateProvider.esm.js.map +1 -1
  102. package/dist/esm/Notifications/Snackbar/interfaces.esm.js +2 -0
  103. package/dist/esm/Notifications/Snackbar/interfaces.esm.js.map +1 -0
  104. package/dist/esm/Popover/Popover.esm.js +1 -1
  105. package/dist/esm/Popover/Popover.esm.js.map +1 -1
  106. package/dist/esm/Popover/Popover.module.esm.js +1 -1
  107. package/dist/esm/Stepper/Step.esm.js +1 -1
  108. package/dist/esm/Stepper/Step.esm.js.map +1 -1
  109. package/dist/esm/Stepper/Step.module.esm.js +1 -1
  110. package/dist/esm/Stepper/Stepper.esm.js +1 -1
  111. package/dist/esm/Stepper/Stepper.esm.js.map +1 -1
  112. package/dist/esm/Tabs/TabButton.module.esm.js +1 -1
  113. package/dist/esm/TextEllipsis/TextEllipsis.module.esm.js +1 -1
  114. package/dist/esm/Tiles/Tile.module.esm.js +1 -1
  115. package/dist/esm/Tooltip/Tooltip.module.esm.js +1 -1
  116. package/dist/esm/Wizard/BaseWizardSteps/BaseWizardSteps.module.esm.js +1 -1
  117. package/dist/esm/_BaseStyling_/BaseStyling.esm.js +1 -1
  118. package/dist/esm/_BaseStyling_/BaseStyling.esm.js.map +1 -1
  119. package/dist/esm/src/.scope.d.ts +2 -0
  120. package/dist/esm/src/components/Button/BaseButton.d.ts +1 -1
  121. package/dist/esm/src/components/ContextMenu/ContextMenu.d.ts +1 -1
  122. package/dist/esm/src/components/ContextMenu/ContextMenuService.d.ts +4 -1
  123. package/dist/esm/src/components/Form/Select/Option.d.ts +1 -0
  124. package/dist/esm/src/components/Form/Select/Select.d.ts +20 -0
  125. package/dist/esm/src/components/Form/Select/Select.interfaces.d.ts +3 -1
  126. package/dist/esm/src/components/Form/Select/Select.test.d.ts +63 -1
  127. package/dist/esm/src/components/Form/Select/SelectKeyboardNavigation.test.d.ts +1 -0
  128. package/dist/esm/src/components/Form/Select/SelectService.d.ts +3 -2
  129. package/dist/esm/src/components/Icon/Icon.d.ts +4 -1
  130. package/dist/esm/src/components/Link/Link.d.ts +1 -1
  131. package/dist/esm/src/components/Notifications/Snackbar/SnackbarProvider/SnackbarStateProvider.d.ts +5 -5
  132. package/dist/esm/src/components/Notifications/Snackbar/interfaces.d.ts +6 -0
  133. package/dist/esm/src/components/Notifications/Snackbar/useSnackbar.d.ts +4 -4
  134. package/dist/esm/src/components/Notifications/Snackbar/useSnackbar.test.d.ts +1 -0
  135. package/dist/esm/src/components/Stepper/Stepper.d.ts +0 -1
  136. package/dist/esm/src/components/_BaseStyling_/BaseStyling.d.ts +11 -10
  137. package/dist/esm/src/hooks/usePosition.d.ts +1 -1
  138. package/dist/esm/src/hooks/usePosition.esm.js.map +1 -1
  139. package/package.json +48 -45
  140. package/src/{hooks/useWrapper.test.ts → .scope.ts} +1 -12
  141. package/src/components/Button/BaseButton.tsx +1 -1
  142. package/src/components/Button/Button.module.scss +2 -10
  143. package/src/components/ContextMenu/ContextMenu.tsx +13 -23
  144. package/src/components/ContextMenu/ContextMenuService.ts +47 -1
  145. package/src/components/Form/Select/Option.tsx +3 -1
  146. package/src/components/Form/Select/Select.interfaces.ts +3 -1
  147. package/src/components/Form/Select/Select.module.scss +55 -34
  148. package/src/components/Form/Select/Select.tsx +74 -23
  149. package/src/components/Form/Select/SelectService.ts +26 -10
  150. package/src/components/Icon/Icon.module.scss +12 -0
  151. package/src/components/Icon/Icon.tsx +4 -1
  152. package/src/components/Link/Link.module.scss +28 -4
  153. package/src/components/Link/Link.tsx +1 -1
  154. package/src/components/Notifications/Snackbar/SnackbarItem/SnackbarItem.module.scss +14 -21
  155. package/src/components/Notifications/Snackbar/SnackbarItem/SnackbarItem.tsx +17 -13
  156. package/src/components/Notifications/Snackbar/SnackbarProvider/SnackbarProvider.tsx +43 -17
  157. package/src/components/Notifications/Snackbar/SnackbarProvider/SnackbarStateProvider.tsx +5 -13
  158. package/src/components/Notifications/Snackbar/interfaces.ts +15 -0
  159. package/src/components/Popover/Popover.tsx +19 -2
  160. package/src/components/Stepper/Step.tsx +2 -1
  161. package/src/components/Stepper/Stepper.tsx +0 -2
  162. package/src/components/Tooltip/Tooltip.module.scss +1 -0
  163. package/src/components/_BaseStyling_/BaseStyling.tsx +24 -22
  164. package/src/font/icomoon.eot +0 -0
  165. package/src/font/icomoon.svg +5 -2
  166. package/src/font/icomoon.ttf +0 -0
  167. package/src/font/icomoon.woff +0 -0
  168. package/src/font/selection.json +1 -1
  169. package/src/hooks/usePosition.ts +1 -1
  170. package/src/interfaces.ts +2 -2
  171. package/src/mixins.module.scss +60 -61
  172. package/src/components/Breadcrumbs/Breadcrumbs.test.tsx +0 -64
  173. package/src/components/Button/BaseButton.test.tsx +0 -133
  174. package/src/components/Button/Button.test.tsx +0 -138
  175. package/src/components/Button/IconButton.test.tsx +0 -122
  176. package/src/components/ContextMenu/ContextMenu.test.tsx +0 -358
  177. package/src/components/DataGrid/DataGrid.test.tsx +0 -437
  178. package/src/components/DataGrid/DataGridActions/DataGridActions.test.tsx +0 -204
  179. package/src/components/DataGrid/DataGridActions/DataGridColumnsToggle.test.tsx +0 -99
  180. package/src/components/DataGrid/DataGridBody/DataGridBody.test.tsx +0 -140
  181. package/src/components/DataGrid/DataGridBody/DataGridCell.test.tsx +0 -90
  182. package/src/components/DataGrid/DataGridBody/DataGridRow.test.tsx +0 -117
  183. package/src/components/DataGrid/DataGridHeader/DataGridHeader.test.tsx +0 -276
  184. package/src/components/DataGrid/DataGridHeader/DataGridHeaderCell.test.tsx +0 -144
  185. package/src/components/Form/Checkbox/Checkbox.test.tsx +0 -308
  186. package/src/components/Form/Fieldset/Fieldset.test.tsx +0 -127
  187. package/src/components/Form/FileUpload/FileItem/FileItem.test.tsx +0 -103
  188. package/src/components/Form/FileUpload/FileUpload.test.tsx +0 -374
  189. package/src/components/Form/Form.test.tsx +0 -63
  190. package/src/components/Form/FormControl/FormControl.test.tsx +0 -98
  191. package/src/components/Form/FormGroup/FormGroup.test.tsx +0 -127
  192. package/src/components/Form/FormHelperText/FormHelperText.test.tsx +0 -84
  193. package/src/components/Form/FormSelectorWrapper/FormSelectorWrapper.test.tsx +0 -94
  194. package/src/components/Form/Input/Input.test.tsx +0 -267
  195. package/src/components/Form/Label/Label.test.tsx +0 -68
  196. package/src/components/Form/Radio/Radio.test.tsx +0 -130
  197. package/src/components/Form/Select/Option.test.tsx +0 -57
  198. package/src/components/Form/Select/Select.test.tsx +0 -564
  199. package/src/components/Form/Textarea/Textarea.test.tsx +0 -124
  200. package/src/components/Form/Toggle/Toggle.test.tsx +0 -200
  201. package/src/components/Form/Wrapper/CheckboxWrapper/CheckboxWrapper.test.tsx +0 -141
  202. package/src/components/Form/Wrapper/InputWrapper/InputWrapper.test.tsx +0 -211
  203. package/src/components/Form/Wrapper/RadioWrapper/RadioWrapper.test.tsx +0 -117
  204. package/src/components/Form/Wrapper/SelectWrapper/SelectWrapper.test.tsx +0 -186
  205. package/src/components/Form/Wrapper/TextareaWrapper/TextareaWrapper.test.tsx +0 -173
  206. package/src/components/Form/Wrapper/Wrapper/Wrapper.test.tsx +0 -59
  207. package/src/components/Icon/Icon.test.tsx +0 -83
  208. package/src/components/Link/Link.test.tsx +0 -197
  209. package/src/components/Notifications/Banner/Banner.test.tsx +0 -84
  210. package/src/components/Notifications/BaseModal/BaseModal.test.tsx +0 -194
  211. package/src/components/Notifications/BaseModal/BaseModalActions/BaseModalActions.test.tsx +0 -74
  212. package/src/components/Notifications/BaseModal/BaseModalContent/BaseModalContent.test.tsx +0 -71
  213. package/src/components/Notifications/BaseModal/BaseModalHeader/BaseModalHeader.test.tsx +0 -74
  214. package/src/components/Notifications/Dialog/Dialog.test.tsx +0 -118
  215. package/src/components/Notifications/Dialog/DialogActions/DialogActions.test.tsx +0 -61
  216. package/src/components/Notifications/Dialog/DialogTitle/DialogTitle.test.tsx +0 -87
  217. package/src/components/Notifications/DiscardChangesModal/DiscardChangesDialog/DiscardChangesDialog.test.tsx +0 -111
  218. package/src/components/Notifications/DiscardChangesModal/DiscardChangesModal.test.tsx +0 -175
  219. package/src/components/Notifications/Modal/Modal.test.tsx +0 -18
  220. package/src/components/Notifications/NotificationProvider/NotificationContext.test.tsx +0 -449
  221. package/src/components/Notifications/SlideInModal/SlideInModal.test.tsx +0 -90
  222. package/src/components/Notifications/Snackbar/SnackbarContainer/SnackbarContainer.test.tsx +0 -53
  223. package/src/components/Notifications/Snackbar/SnackbarItem/SnackbarItem.test.tsx +0 -63
  224. package/src/components/Notifications/Snackbar/SnackbarProvider/SnackbarProvider.test.tsx +0 -215
  225. package/src/components/Pagination/Pagination.test.tsx +0 -183
  226. package/src/components/Popover/Popover.test.tsx +0 -103
  227. package/src/components/ProgressBar/ProgressBar.test.tsx +0 -91
  228. package/src/components/Skeleton/Skeleton.test.tsx +0 -112
  229. package/src/components/StatusIndicator/StatusIndicator.test.tsx +0 -143
  230. package/src/components/Stepper/Stepper.test.tsx +0 -83
  231. package/src/components/Tabs/Tab.test.tsx +0 -49
  232. package/src/components/Tabs/TabButton.test.tsx +0 -65
  233. package/src/components/Tabs/Tabs.test.tsx +0 -291
  234. package/src/components/Tag/Tag.test.tsx +0 -89
  235. package/src/components/TextEllipsis/TextEllipsis.test.tsx +0 -96
  236. package/src/components/Tiles/Tile.test.tsx +0 -183
  237. package/src/components/Tiles/Tiles.test.tsx +0 -162
  238. package/src/components/Tooltip/Tooltip.test.tsx +0 -390
  239. package/src/components/Typography/Typography.test.tsx +0 -177
  240. package/src/components/Wizard/BaseWizardSteps/BaseWizardSteps.test.tsx +0 -90
  241. package/src/components/Wizard/Wizard.test.tsx +0 -218
  242. package/src/components/Wizard/WizardActions/WizardActions.test.tsx +0 -187
  243. package/src/components/Wizard/WizardSteps/WizardSteps.test.tsx +0 -125
  244. package/src/components/_BaseStyling_/BaseStyling.test.tsx +0 -55
  245. package/src/hooks/useAnimation.test.tsx +0 -65
  246. package/src/hooks/useBodyClick.test.tsx +0 -55
  247. package/src/hooks/useDebouncedCallback.test.ts +0 -150
  248. package/src/hooks/useDetermineStatusIcon.test.ts +0 -28
  249. package/src/hooks/useFormSelector.test.ts +0 -56
  250. package/src/hooks/usePosition.test.tsx +0 -510
  251. package/src/hooks/useRepeater.test.tsx +0 -156
  252. package/src/hooks/useScroll.test.tsx +0 -36
  253. package/src/hooks/useSpacing.test.ts +0 -86
  254. package/src/hooks/useUploadFile.test.ts +0 -211
  255. package/src/util/helper.test.tsx +0 -403
@@ -1 +1 @@
1
- {"version":3,"file":"Option.esm.js","sources":["../../../../../../src/components/Form/Select/Option.tsx"],"sourcesContent":["/*\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React, {\n ForwardRefRenderFunction,\n ComponentPropsWithRef,\n createRef,\n RefObject,\n useEffect,\n ReactNode\n} from \"react\";\nimport classes from \"./Select.module.scss\";\n\nexport interface Props extends ComponentPropsWithRef<\"li\"> {\n children: ReactNode;\n value: string;\n disabled?: boolean;\n isSelected?: boolean;\n selectOpened?: boolean;\n hasFocus?: boolean;\n shouldClick?: boolean;\n isSearching?: boolean;\n label?: string;\n childIndex?: number;\n onOptionSelect?: (ref: React.RefObject<HTMLLIElement>) => void;\n onFocusChange?: (childIndex: number) => void;\n}\n\nconst OptionComponent: ForwardRefRenderFunction<HTMLLIElement, Props> = (\n {\n children,\n className,\n isSelected = false,\n shouldClick,\n hasFocus,\n selectOpened,\n isSearching,\n childIndex,\n onOptionSelect,\n onFocusChange,\n disabled,\n value,\n ...rest\n }: Props,\n ref\n) => {\n let innerOptionRef = (ref as RefObject<HTMLLIElement>) || createRef<HTMLLIElement>();\n\n useEffect(() => {\n if (isSelected && innerOptionRef.current && shouldClick) {\n innerOptionRef.current.click();\n }\n }, [isSelected, shouldClick]);\n\n useEffect(() => {\n if (innerOptionRef.current && hasFocus && selectOpened && !isSearching) {\n onFocusChange && childIndex && onFocusChange(childIndex);\n innerOptionRef.current.focus();\n }\n }, [hasFocus, innerOptionRef, selectOpened, isSearching]);\n\n const onSelectHandler = () => onOptionSelect?.(innerOptionRef);\n\n return (\n <li\n {...rest}\n ref={innerOptionRef}\n data-value={value}\n className={`${isSelected ? classes[\"selected-option\"] : \"\"} ${\n disabled ? classes.disabled : \"\"\n } ${className ?? \"\"}`}\n onClick={onSelectHandler}\n onKeyDown={event => {\n if (event.code === \"Enter\") {\n event.stopPropagation();\n event.preventDefault();\n\n onSelectHandler();\n }\n }}\n aria-selected={isSelected}\n role=\"option\"\n tabIndex={disabled ? -1 : 0}\n >\n {children}\n </li>\n );\n};\n\nexport const Option = React.forwardRef(OptionComponent);\n"],"names":["OptionComponent","children","className","isSelected","shouldClick","hasFocus","selectOpened","isSearching","childIndex","onOptionSelect","onFocusChange","disabled","value","rest","ref","innerOptionRef","createRef","useEffect","current","click","focus","onSelectHandler","React","createElement","classes","onClick","onKeyDown","event","code","stopPropagation","preventDefault","role","tabIndex","Option","forwardRef"],"mappings":"0FAyCA,MAAMA,EAAkE,EAEpEC,WACAC,YACAC,aAAa,MACbC,cACAC,WACAC,eACAC,cACAC,aACAC,iBACAC,gBACAC,WACAC,WACGC,GAELC,KAEA,IAAIC,EAAkBD,GAAoCE,IAE1DC,GAAU,KACR,GAAId,GAAcY,EAAeG,SAAWd,EAC1CW,EAAeG,QAAQC,OACxB,GACA,CAAChB,EAAYC,IAEhBa,GAAU,KACR,GAAIF,EAAeG,SAAWb,GAAYC,IAAiBC,EAAa,CACtEG,GAAiBF,GAAcE,EAAcF,GAC7CO,EAAeG,QAAQE,OACxB,IACA,CAACf,EAAUU,EAAgBT,EAAcC,IAE5C,MAAMc,EAAkB,IAAMZ,IAAA,MAAAA,SAAA,OAAA,EAAAA,EAAiBM,GAE/C,OACEO,EACMC,cAAA,KAAA,IAAAV,EACJC,IAAKC,EAAc,aACPH,EACZV,UAAW,GAAGC,EAAaqB,EAAQ,mBAAqB,MACtDb,EAAWa,EAAQb,SAAW,MAC5BT,IAAS,MAATA,SAAS,EAATA,EAAa,KACjBuB,QAASJ,EACTK,UAAWC,IACT,GAAIA,EAAMC,OAAS,QAAS,CAC1BD,EAAME,kBACNF,EAAMG,iBAENT,GACD,GACF,gBACclB,EACf4B,KAAK,SACLC,SAAUrB,GAAY,EAAI,GAEzBV,EAEH,EAGS,MAAAgC,EAASX,EAAMY,WAAWlC"}
1
+ {"version":3,"file":"Option.esm.js","sources":["../../../../../../src/components/Form/Select/Option.tsx"],"sourcesContent":["/*\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React, {\n ForwardRefRenderFunction,\n ComponentPropsWithRef,\n createRef,\n RefObject,\n useEffect,\n ReactNode\n} from \"react\";\nimport classes from \"./Select.module.scss\";\n\nexport interface Props extends ComponentPropsWithRef<\"li\"> {\n children: ReactNode;\n value: string;\n disabled?: boolean;\n isSelected?: boolean;\n selectOpened?: boolean;\n hasFocus?: boolean;\n shouldClick?: boolean;\n isSearching?: boolean;\n label?: string;\n childIndex?: number;\n onOptionSelect?: (ref: React.RefObject<HTMLLIElement>) => void;\n onFocusChange?: (childIndex: number) => void;\n isAddBtnFocused?: boolean;\n}\n\nconst OptionComponent: ForwardRefRenderFunction<HTMLLIElement, Props> = (\n {\n children,\n className,\n isSelected = false,\n shouldClick,\n hasFocus,\n selectOpened,\n isSearching,\n childIndex,\n onOptionSelect,\n onFocusChange,\n disabled,\n value,\n isAddBtnFocused,\n ...rest\n }: Props,\n ref\n) => {\n let innerOptionRef = (ref as RefObject<HTMLLIElement>) || createRef<HTMLLIElement>();\n\n useEffect(() => {\n if (isSelected && innerOptionRef.current && shouldClick) {\n innerOptionRef.current.click();\n }\n }, [isSelected, shouldClick]);\n\n useEffect(() => {\n if (innerOptionRef.current && hasFocus && selectOpened && !isSearching && !isAddBtnFocused) {\n onFocusChange && childIndex && onFocusChange(childIndex);\n innerOptionRef.current.focus();\n }\n }, [hasFocus, innerOptionRef, selectOpened, isSearching]);\n\n const onSelectHandler = () => onOptionSelect?.(innerOptionRef);\n\n return (\n <li\n {...rest}\n ref={innerOptionRef}\n data-value={value}\n className={`${isSelected ? classes[\"selected-option\"] : \"\"} ${\n disabled ? classes.disabled : \"\"\n } ${className ?? \"\"}`}\n onClick={onSelectHandler}\n onKeyDown={event => {\n if (event.code === \"Enter\") {\n event.stopPropagation();\n event.preventDefault();\n\n onSelectHandler();\n }\n }}\n aria-selected={isSelected}\n role=\"option\"\n tabIndex={disabled ? -1 : 0}\n >\n {children}\n </li>\n );\n};\n\nexport const Option = React.forwardRef(OptionComponent);\n"],"names":["OptionComponent","children","className","isSelected","shouldClick","hasFocus","selectOpened","isSearching","childIndex","onOptionSelect","onFocusChange","disabled","value","isAddBtnFocused","rest","ref","innerOptionRef","createRef","useEffect","current","click","focus","onSelectHandler","React","createElement","classes","onClick","onKeyDown","event","code","stopPropagation","preventDefault","role","tabIndex","Option","forwardRef"],"mappings":"0FA0CA,MAAMA,EAAkE,EAEpEC,WACAC,YACAC,aAAa,MACbC,cACAC,WACAC,eACAC,cACAC,aACAC,iBACAC,gBACAC,WACAC,QACAC,qBACGC,GAELC,KAEA,IAAIC,EAAkBD,GAAoCE,IAE1DC,GAAU,KACR,GAAIf,GAAca,EAAeG,SAAWf,EAC1CY,EAAeG,QAAQC,OACxB,GACA,CAACjB,EAAYC,IAEhBc,GAAU,KACR,GAAIF,EAAeG,SAAWd,GAAYC,IAAiBC,IAAgBM,EAAiB,CAC1FH,GAAiBF,GAAcE,EAAcF,GAC7CQ,EAAeG,QAAQE,OACxB,IACA,CAAChB,EAAUW,EAAgBV,EAAcC,IAE5C,MAAMe,EAAkB,IAAMb,IAAA,MAAAA,SAAA,OAAA,EAAAA,EAAiBO,GAE/C,OACEO,EACMC,cAAA,KAAA,IAAAV,EACJC,IAAKC,EAAc,aACPJ,EACZV,UAAW,GAAGC,EAAasB,EAAQ,mBAAqB,MACtDd,EAAWc,EAAQd,SAAW,MAC5BT,IAAS,MAATA,SAAS,EAATA,EAAa,KACjBwB,QAASJ,EACTK,UAAWC,IACT,GAAIA,EAAMC,OAAS,QAAS,CAC1BD,EAAME,kBACNF,EAAMG,iBAENT,GACD,GACF,gBACcnB,EACf6B,KAAK,SACLC,SAAUtB,GAAY,EAAI,GAEzBV,EAEH,EAGS,MAAAiC,EAASX,EAAMY,WAAWnC"}
@@ -1,2 +1,2 @@
1
- import e from"./Select.module.esm.js";import t,{useState as s,useRef as n,createRef as r,useEffect as o,Fragment as a}from"react";import{Input as l}from"../Input/Input.esm.js";import{Icon as c,Icons as i}from"../../Icon/Icon.esm.js";import{useBodyClick as u}from"../../src/hooks/useBodyClick.esm.js";import d from"../../src/readyclasses.module.esm.js";import{filterProps as p}from"../../src/util/helper.esm.js";import{useArrowNavigation as m,useSelectPositionList as h}from"./SelectService.esm.js";import{useDetermineStatusIcon as f}from"../../src/hooks/useDetermineStatusIcon.esm.js";const v=10;const y=({children:y,name:b,disabled:E=false,labeledBy:C,placeholder:g,describedBy:N,searchPlaceholder:x="Search item",searchInputProps:S,selectButtonProps:w,className:I,error:j=false,success:k=false,value:A,clearLabel:L="Clear selection",noResultsLabel:P="No results found",onChange:$,...B},R)=>{const[F,O]=s(false);const[D,H]=s("");const[K,M]=s("");const T=n(null);const U=n(null);const[q,z]=s(false);const[G,J]=s(-1);const[Q,V]=s(false);const[W,X]=s(false);const Y=R||r();const Z=n(null);const _=e=>{if(Y.current&&e){Y.current.value=e.getAttribute("data-value");Y.current.dispatchEvent(new Event("change",{bubbles:true}))}O(false)};const ee=n(null);const{onArrowNavigation:te}=m({expanded:F,setExpanded:O,isSearching:q,setIsSearching:z,setFocusedSelectItem:J,onOptionChangeHandler:_,childrenCount:t.Children.count(y),setShouldClick:V,searchInputRef:Z,renderSearchCondition:v});const{listPosition:se,opacity:ne,optionsListMaxHeight:re,setListPosition:oe,setOpacity:ae}=h({expanded:F,optionListReference:U,containerReference:T});const le=e=>{t.Children.forEach(y,(t=>{if(t.props.value===e)M(t.props.children)}))};const ce=()=>{if(q||D!==""){const n=t.Children.toArray(y).filter((e=>e.props.children.toLowerCase().match(D.toLowerCase())!==null));const r=s(n);if(r.length===0)return t.createElement("li",{className:e["no-results"]},P);return s(n)}return s(y);function s(e){return t.Children.map(e,((e,s)=>t.cloneElement(e,{onFocusChange:e=>{J(e)},onOptionSelect:e=>{_(e.current);V(false)},isSelected:e.props.value===A,isSearching:q,selectOpened:F,childIndex:s,hasFocus:G===s,shouldClick:Q})))}};const ie=F&&Array.isArray(y)&&y.length>v;const ue=()=>{var s;return t.createElement(l,{...S,ref:Z,onFocus:()=>z(true),onBlur:()=>z(false),onChange:pe,className:e["select-search"],wrapperProps:{className:(s=S===null||S===void 0?void 0:S.wrapperProps)===null||s===void 0?void 0:s.className},style:{display:F?"block":"none"},type:"text",name:"search-option",placeholder:x})};const de=()=>F?t.createElement(c,{className:e["chevron-icon"],icon:i.ChevronUp}):t.createElement(c,{className:e["chevron-icon"],icon:i.ChevronDown});const pe=e=>{H(e.currentTarget.value)};const me=f({success:k,error:j});const he=e=>{$===null||$===void 0?void 0:$(e)};o((()=>{if(F){J(0);X(true)}if(!F&&ee.current&&W){ee.current.focus();X(false)}}),[F,ee.current,W]);o((()=>{le(A)}),[A]);u((e=>!e.target.closest(".custom-select")&&F),(()=>{O(false);oe({top:0,bottom:"initial"});ae(0)}),F);const fe=()=>{H("");z(false);J(-1)};o((()=>{(S===null||S===void 0?void 0:S.reset)&&fe()}),[S===null||S===void 0?void 0:S.reset]);const ve=[];F&&ve.push(e.expanded);j&&ve.push(e.error);E&&ve.push(e.disabled);I&&ve.push(I);k&&ve.push(e.success);return t.createElement(a,null,t.createElement("select",{...p(B,/^data-/,false),tabIndex:-1,"aria-hidden":"true",ref:Y,name:b,onChange:he,className:d["sr-only"]},t.createElement("option",{value:""}),t.Children.map(y,(e=>t.createElement("option",{value:e.props.value})))),t.createElement("div",{...p(B,/^data-/),ref:T,onKeyDown:te,className:`custom-select ${e.select} ${ve.join(" ")} ${I!==null&&I!==void 0?I:""}`},Array.isArray(y)&&y.length>v&&ue(),t.createElement("button",{...w,onClick:()=>{O(!F)},ref:ee,type:"button",name:b,className:`${e["custom-select"]} ${ve.join(" ")} `,style:{display:ie?"none":"initial"},disabled:E,"aria-disabled":E,"aria-invalid":j,"aria-expanded":F,"aria-haspopup":"listbox","aria-labelledby":C,"aria-describedby":N},t.createElement("div",{"data-display":true,className:e["selected"]},!A&&g&&t.createElement("span",{className:e["placeholder"]},g),(A===null||A===void 0?void 0:A.length)>0&&t.createElement("span",{"data-display-inner":true},K)),t.createElement("div",{className:e["status"]},me||de())),t.createElement("div",{ref:U,className:`list-wrapper ${e["list-wrapper"]}`,style:{display:F?"block":"none",opacity:ne,maxHeight:re,pointerEvents:F?"auto":"none",...se}},t.createElement("ul",{role:"listbox"},ce()))))};const b=t.forwardRef(y);export{b as Select};
1
+ import e from"./Select.module.esm.js";import t,{useState as n,useRef as s,createRef as o,useEffect as l,Fragment as r}from"react";import{Input as a}from"../Input/Input.esm.js";import{Icon as c,Icons as i}from"../../Icon/Icon.esm.js";import{useBodyClick as d}from"../../src/hooks/useBodyClick.esm.js";import u from"../../src/readyclasses.module.esm.js";import{filterProps as p}from"../../src/util/helper.esm.js";import{useArrowNavigation as m,useSelectPositionList as v}from"./SelectService.esm.js";import{useDetermineStatusIcon as h}from"../../src/hooks/useDetermineStatusIcon.esm.js";const f=({children:f,name:b,disabled:y=false,labeledBy:E,placeholder:C,describedBy:g,searchPlaceholder:N="Search item",searchInputProps:w,selectButtonProps:I,className:P,error:x=false,success:S=false,value:j,clearLabel:k="Clear selection",noResultsLabel:B="No results found",onChange:L,addNew:$,search:A,...R},F)=>{var O,D,H;const[T,K]=n(false);const[M,U]=n("");const[W,q]=n("");const z=s(null);const G=s(null);const[J,Q]=n(false);const[V,X]=n(-1);const[Y,Z]=n(false);const[_,ee]=n(false);const te=10;const ne=F||o();const se=s(null);const oe=s(null);const le=(O=$===null||$===void 0?void 0:$.label)!==null&&O!==void 0?O:"Create new";const re=(D=A===null||A===void 0?void 0:A.renderThreshold)!==null&&D!==void 0?D:te;const ae=Array.isArray(f)&&f.length>re;const ce=()=>{if(A===null||A===void 0?void 0:A.enabled)return ae;if(A)return A.enabled;return f.length>te};const ie=e=>{if(ne.current&&e){ne.current.value=e.getAttribute("data-value");ne.current.dispatchEvent(new Event("change",{bubbles:true}))}K(false)};const de=s(null);const{onArrowNavigation:ue}=m({expanded:T,setExpanded:K,isSearching:J,setIsSearching:Q,setFocusedSelectItem:X,onOptionChangeHandler:ie,childrenCount:t.Children.count(f),setShouldClick:Z,searchInputRef:se,addBtnRef:oe,renderThreshold:re});const{listPosition:pe,opacity:me,optionsListMaxHeight:ve,setListPosition:he,setOpacity:fe}=v({expanded:T,optionListReference:G,containerReference:z,addBtnRef:oe});const be=e=>{t.Children.forEach(f,(t=>{if(t.props.value===e)q(t.props.children)}))};const ye=()=>{if(J||M!==""){const s=t.Children.toArray(f).filter((e=>e.props.children.toLowerCase().match(M.toLowerCase())!==null));const o=n(s);if(o.length===0)return t.createElement("li",{className:e["no-results"]},B);return n(s)}return n(f);function n(e){return t.Children.map(e,((e,n)=>t.cloneElement(e,{onFocusChange:e=>{X(e)},onOptionSelect:e=>{ie(e.current);Z(false)},isSelected:e.props.value===j,isSearching:J,selectOpened:T,childIndex:n,hasFocus:V===n,shouldClick:Y,isAddBtnFocused:oe.current===document.activeElement})))}};const Ee=()=>{var n,s,o,l,r,c;return t.createElement(a,{...(n=A===null||A===void 0?void 0:A.searchInputProps)!==null&&n!==void 0?n:w,ref:se,onFocus:()=>Q(true),onBlur:()=>Q(false),onChange:ge,className:e["select-search"],wrapperProps:{className:(l=(o=(s=A===null||A===void 0?void 0:A.searchInputProps)===null||s===void 0?void 0:s.wrapperProps)===null||o===void 0?void 0:o.className)!==null&&l!==void 0?l:(r=w===null||w===void 0?void 0:w.wrapperProps)===null||r===void 0?void 0:r.className},style:{display:T?"block":"none"},type:"text",name:"search-option",placeholder:(c=A===null||A===void 0?void 0:A.searchPlaceholder)!==null&&c!==void 0?c:N})};const Ce=()=>T?t.createElement(c,{className:e["chevron-icon"],icon:i.ChevronUp}):t.createElement(c,{className:e["chevron-icon"],icon:i.ChevronDown});const ge=e=>{U(e.currentTarget.value)};const Ne=h({success:S,error:x});const we=e=>{L===null||L===void 0?void 0:L(e)};l((()=>{if(T){X(0);ee(true)}if(!T&&de.current&&_){de.current.focus();ee(false)}}),[T,de.current,_]);l((()=>{be(j)}),[j]);d((e=>!e.target.closest(".custom-select")&&T),(()=>{K(false);he({top:0,bottom:"initial"});fe(0)}),T);const Ie=()=>{U("");Q(false);X(-1)};l((()=>{var e;(((e=A===null||A===void 0?void 0:A.searchInputProps)===null||e===void 0?void 0:e.reset)||(w===null||w===void 0?void 0:w.reset))&&Ie()}),[w===null||w===void 0?void 0:w.reset,(H=A===null||A===void 0?void 0:A.searchInputProps)===null||H===void 0?void 0:H.reset]);const Pe=[];T&&Pe.push(e.expanded);x&&Pe.push(e.error);y&&Pe.push(e.disabled);P&&Pe.push(P);S&&Pe.push(e.success);return t.createElement(r,null,t.createElement("select",{...p(R,/^data-/,false),tabIndex:-1,"aria-hidden":"true",ref:ne,name:b,onChange:we,className:u["sr-only"]},t.createElement("option",{value:""}),t.Children.map(f,(e=>t.createElement("option",{value:e.props.value})))),t.createElement("div",{...p(R,/^data-/),ref:z,onKeyDown:ue,className:`custom-select ${e.select} ${Pe.join(" ")} ${P!==null&&P!==void 0?P:""}`},ce()&&Ee(),t.createElement("button",{...I,onClick:()=>{K(!T)},ref:de,type:"button",name:b,className:`${e["custom-select"]} ${Pe.join(" ")} `,style:{display:T&&ce()?"none":"initial"},disabled:y,"aria-disabled":y,"aria-invalid":x,"aria-expanded":T,"aria-haspopup":"listbox","aria-labelledby":E,"aria-describedby":g},t.createElement("div",{"data-display":true,className:e["selected"]},!j&&C&&t.createElement("span",{className:e["placeholder"]},C),(j===null||j===void 0?void 0:j.length)>0&&t.createElement("span",{"data-display-inner":true},W)),t.createElement("div",{className:e["status"]},Ne||Ce())),t.createElement("div",{ref:G,className:`list-wrapper ${e["list-wrapper"]}`,style:{display:T?"block":"none",opacity:me,maxHeight:ve,pointerEvents:T?"auto":"none",...pe}},t.createElement("ul",{className:$&&e["has-sibling"],role:"listbox"},ye()),$&&t.createElement("button",{"data-testid":"select-action-button",className:e["action-button"],onClick:()=>$.onAddNew(M),ref:oe,...$.btnProps},!M&&le,M&&t.createElement("span",{style:{fontWeight:"700"}},`"${M}"`),M&&` (${le.toLowerCase()})`))))};const b=t.forwardRef(f);export{b as Select};
2
2
  //# sourceMappingURL=Select.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Select.esm.js","sources":["../../../../../../src/components/Form/Select/Select.tsx"],"sourcesContent":["/*\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport classes from \"./Select.module.scss\";\n\nimport React, {\n ComponentPropsWithRef,\n createRef,\n ForwardRefRenderFunction,\n Fragment,\n ReactElement,\n useEffect,\n useRef,\n useState\n} from \"react\";\nimport { Input, Props as InputProps } from \"../Input/Input\";\nimport { Icon, Icons } from \"../../Icon/Icon\";\nimport { FormElement } from \"../form.interfaces\";\nimport { useBodyClick } from \"../../../hooks/useBodyClick\";\nimport readyclasses from \"../../../readyclasses.module.scss\";\nimport { filterProps } from \"../../../util/helper\";\nimport { useArrowNavigation, useSelectPositionList } from \"./SelectService\";\nimport { useDetermineStatusIcon } from \"../../../hooks/useDetermineStatusIcon\";\n\ntype PartialInputProps = Partial<InputProps>;\n\nexport interface Props extends ComponentPropsWithRef<\"select\">, FormElement {\n children: ReactElement[];\n name?: string;\n labeledBy?: string;\n describedBy?: string;\n placeholder?: string;\n searchPlaceholder?: string;\n searchInputProps?: PartialInputProps & { reset?: boolean };\n selectButtonProps?: ComponentPropsWithRef<\"button\">;\n className?: string;\n value: string;\n clearLabel?: string;\n noResultsLabel?: string;\n onChange?: (event: React.ChangeEvent<HTMLSelectElement>, child?: ReactElement) => void;\n}\n\n/** Amount of items to be rendered before a search input is rendered */\nconst renderSearchCondition = 10;\n\nconst SelectComponent: ForwardRefRenderFunction<HTMLSelectElement, Props> = (\n {\n children,\n name,\n disabled = false,\n labeledBy,\n placeholder,\n describedBy,\n searchPlaceholder = \"Search item\",\n searchInputProps,\n selectButtonProps,\n className,\n error = false,\n success = false,\n value,\n clearLabel = \"Clear selection\",\n noResultsLabel = \"No results found\",\n onChange,\n ...rest\n }: Props,\n ref\n) => {\n const [expanded, setExpanded] = useState(false);\n const [filter, setFilter] = useState(\"\");\n const [display, setDisplay] = useState(\"\");\n const containerReference = useRef<HTMLDivElement>(null);\n const optionListReference = useRef<HTMLDivElement>(null);\n const [isSearching, setIsSearching] = useState(false);\n const [focusedSelectItem, setFocusedSelectItem] = useState(-1);\n const [shouldClick, setShouldClick] =\n useState(\n false\n ); /** We need this, because whenever we use the arrow keys to select the select item, and we focus the currently selected item it fires the \"click\" listener in Option component. Instead, we only want this to fire if we press \"enter\" or \"spacebar\" so we set this to true whenever that is the case, and back to false when it has been executed. */\n const [shouldFocusButtonAfterClose, setShouldFocusButtonAfterClose] = useState(false);\n\n const nativeSelect = (ref as React.RefObject<HTMLSelectElement>) || createRef();\n const searchInputRef = useRef<HTMLInputElement>(null);\n\n const onOptionChangeHandler = (optionElement: HTMLElement | null) => {\n if (nativeSelect.current && optionElement) {\n nativeSelect.current.value = optionElement.getAttribute(\"data-value\")!;\n nativeSelect.current.dispatchEvent(new Event(\"change\", { bubbles: true }));\n }\n\n setExpanded(false);\n };\n\n const customSelectButtonRef = useRef<HTMLButtonElement>(null);\n const { onArrowNavigation } = useArrowNavigation({\n expanded,\n setExpanded,\n isSearching,\n setIsSearching,\n setFocusedSelectItem,\n onOptionChangeHandler,\n childrenCount: React.Children.count(children),\n setShouldClick,\n searchInputRef,\n renderSearchCondition\n });\n\n const { listPosition, opacity, optionsListMaxHeight, setListPosition, setOpacity } =\n useSelectPositionList({ expanded, optionListReference, containerReference });\n\n const syncDisplayValue = (val: string) => {\n React.Children.forEach(children, child => {\n if (child.props.value === val) {\n setDisplay(child.props.children);\n }\n });\n };\n\n /**\n * @description We have to modify the children (Option component) to have a additional props that allows us to keep track of which one is selected and focused at all times and if a filter is active.\n * The `children` prop can be either a single object (1 child) or an array of multiple children.\n */\n const renderOptions = () => {\n if (isSearching || filter !== \"\") {\n const filteredChildren = React.Children.toArray(children).filter(\n child =>\n (child as ReactElement).props.children.toLowerCase().match(filter.toLowerCase()) !== null\n );\n\n const internalChildren = _internalRenderChildren(filteredChildren as ReactElement[]);\n\n if (internalChildren.length === 0) {\n return <li className={classes[\"no-results\"]}>{noResultsLabel}</li>;\n }\n\n return _internalRenderChildren(filteredChildren as ReactElement[]);\n }\n\n return _internalRenderChildren(children);\n\n function _internalRenderChildren(internalChildren: ReactElement[]) {\n return React.Children.map(internalChildren, (child, index) => {\n return React.cloneElement(child, {\n onFocusChange: (childIndex: number) => {\n setFocusedSelectItem(childIndex);\n },\n onOptionSelect: (optionRef: React.RefObject<HTMLLIElement>) => {\n onOptionChangeHandler(optionRef.current);\n setShouldClick(false);\n },\n isSelected: child.props.value === value,\n isSearching: isSearching,\n selectOpened: expanded,\n childIndex: index,\n hasFocus: focusedSelectItem === index,\n shouldClick: shouldClick\n });\n });\n }\n };\n\n const shouldRenderSearch =\n expanded && Array.isArray(children) && children.length > renderSearchCondition;\n\n const renderSearch = () => (\n <Input\n {...searchInputProps}\n ref={searchInputRef}\n onFocus={() => setIsSearching(true)}\n onBlur={() => setIsSearching(false)}\n onChange={filterResults}\n className={classes[\"select-search\"]}\n wrapperProps={{\n className: searchInputProps?.wrapperProps?.className\n }}\n style={{\n display: expanded ? \"block\" : \"none\"\n }}\n type=\"text\"\n name=\"search-option\"\n placeholder={searchPlaceholder}\n />\n );\n\n const renderChevronIcon = () => {\n return expanded ? (\n <Icon className={classes[\"chevron-icon\"]} icon={Icons.ChevronUp} />\n ) : (\n <Icon className={classes[\"chevron-icon\"]} icon={Icons.ChevronDown} />\n );\n };\n\n const filterResults = (event: React.ChangeEvent<HTMLInputElement>) => {\n setFilter(event.currentTarget.value);\n };\n\n const icon = useDetermineStatusIcon({ success, error });\n\n const nativeOnChangeHandler = (event: React.ChangeEvent<HTMLSelectElement>) => {\n onChange?.(event);\n };\n\n useEffect(() => {\n if (expanded) {\n setFocusedSelectItem(0);\n setShouldFocusButtonAfterClose(true);\n }\n\n if (!expanded && customSelectButtonRef.current && shouldFocusButtonAfterClose) {\n customSelectButtonRef.current.focus();\n setShouldFocusButtonAfterClose(false);\n }\n }, [expanded, customSelectButtonRef.current, shouldFocusButtonAfterClose]);\n\n useEffect(() => {\n syncDisplayValue(value);\n }, [value]);\n\n useBodyClick(\n (event: MouseEvent) => !(event.target as Element).closest(\".custom-select\") && expanded,\n () => {\n setExpanded(false);\n setListPosition({ top: 0, bottom: \"initial\" });\n setOpacity(0);\n },\n expanded\n );\n\n const resetSearchState = () => {\n setFilter(\"\");\n setIsSearching(false);\n setFocusedSelectItem(-1);\n };\n\n useEffect(() => {\n searchInputProps?.reset && resetSearchState();\n }, [searchInputProps?.reset]);\n\n const additionalClasses = [];\n expanded && additionalClasses.push(classes.expanded);\n error && additionalClasses.push(classes.error);\n disabled && additionalClasses.push(classes.disabled);\n className && additionalClasses.push(className);\n success && additionalClasses.push(classes.success);\n\n /** The native select is purely for external form libraries. We use it to emit an onChange with native select event object so they know exactly what's happening. */\n return (\n <Fragment>\n <select\n {...filterProps(rest, /^data-/, false)}\n tabIndex={-1}\n aria-hidden=\"true\"\n ref={nativeSelect}\n name={name}\n onChange={nativeOnChangeHandler}\n className={readyclasses[\"sr-only\"]}\n >\n <option value=\"\"></option>\n {React.Children.map(children, child => (\n <option value={child.props.value}></option>\n ))}\n </select>\n <div\n {...filterProps(rest, /^data-/)}\n ref={containerReference}\n onKeyDown={onArrowNavigation}\n className={`custom-select ${classes.select} ${additionalClasses.join(\" \")} ${\n className ?? \"\"\n }`}\n >\n {Array.isArray(children) && children.length > renderSearchCondition && renderSearch()}\n <button\n {...selectButtonProps}\n onClick={() => {\n setExpanded(!expanded);\n }}\n ref={customSelectButtonRef}\n type=\"button\"\n name={name}\n className={`${classes[\"custom-select\"]} ${additionalClasses.join(\" \")} `}\n style={{ display: shouldRenderSearch ? \"none\" : \"initial\" }}\n disabled={disabled}\n aria-disabled={disabled}\n aria-invalid={error}\n aria-expanded={expanded}\n aria-haspopup=\"listbox\"\n aria-labelledby={labeledBy}\n aria-describedby={describedBy}\n >\n <div data-display className={classes[\"selected\"]}>\n {!value && placeholder && <span className={classes[\"placeholder\"]}>{placeholder}</span>}\n {value?.length > 0 && <span data-display-inner>{display}</span>}\n </div>\n <div className={classes[\"status\"]}>{icon || renderChevronIcon()}</div>\n </button>\n\n <div\n ref={optionListReference}\n className={`list-wrapper ${classes[\"list-wrapper\"]}`}\n style={{\n display: expanded ? \"block\" : \"none\",\n opacity: opacity,\n maxHeight: optionsListMaxHeight,\n pointerEvents: expanded ? \"auto\" : \"none\",\n ...listPosition\n }}\n >\n <ul role=\"listbox\">{renderOptions()}</ul>\n </div>\n </div>\n </Fragment>\n );\n};\n\nexport const Select = React.forwardRef(SelectComponent);\n"],"names":["renderSearchCondition","SelectComponent","children","name","disabled","labeledBy","placeholder","describedBy","searchPlaceholder","searchInputProps","selectButtonProps","className","error","success","value","clearLabel","noResultsLabel","onChange","rest","ref","expanded","setExpanded","useState","filter","setFilter","display","setDisplay","containerReference","useRef","optionListReference","isSearching","setIsSearching","focusedSelectItem","setFocusedSelectItem","shouldClick","setShouldClick","shouldFocusButtonAfterClose","setShouldFocusButtonAfterClose","nativeSelect","createRef","searchInputRef","onOptionChangeHandler","optionElement","current","getAttribute","dispatchEvent","Event","bubbles","customSelectButtonRef","onArrowNavigation","useArrowNavigation","childrenCount","React","Children","count","listPosition","opacity","optionsListMaxHeight","setListPosition","setOpacity","useSelectPositionList","syncDisplayValue","val","forEach","child","props","renderOptions","filteredChildren","toArray","toLowerCase","match","internalChildren","_internalRenderChildren","length","createElement","classes","map","index","cloneElement","onFocusChange","childIndex","onOptionSelect","optionRef","isSelected","selectOpened","hasFocus","shouldRenderSearch","Array","isArray","renderSearch","Input","onFocus","onBlur","filterResults","wrapperProps","_a","style","type","renderChevronIcon","Icon","icon","Icons","ChevronUp","ChevronDown","event","currentTarget","useDetermineStatusIcon","nativeOnChangeHandler","useEffect","focus","useBodyClick","target","closest","top","bottom","resetSearchState","reset","additionalClasses","push","Fragment","filterProps","tabIndex","readyclasses","onKeyDown","select","join","onClick","maxHeight","pointerEvents","role","Select","forwardRef"],"mappings":"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"}
1
+ {"version":3,"file":"Select.esm.js","sources":["../../../../../../src/components/Form/Select/Select.tsx"],"sourcesContent":["/*\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport classes from \"./Select.module.scss\";\n\nimport React, {\n ComponentPropsWithRef,\n createRef,\n ForwardRefRenderFunction,\n Fragment,\n ReactElement,\n useEffect,\n useRef,\n useState\n} from \"react\";\nimport { Input, Props as InputProps } from \"../Input/Input\";\nimport { Icon, Icons } from \"../../Icon/Icon\";\nimport { FormElement } from \"../form.interfaces\";\nimport { useBodyClick } from \"../../../hooks/useBodyClick\";\nimport readyclasses from \"../../../readyclasses.module.scss\";\nimport { filterProps } from \"../../../util/helper\";\nimport { useArrowNavigation, useSelectPositionList } from \"./SelectService\";\nimport { useDetermineStatusIcon } from \"../../../hooks/useDetermineStatusIcon\";\n\ntype PartialInputProps = Partial<InputProps>;\n\ninterface SearchProps {\n enabled?: boolean;\n renderThreshold?: number;\n searchPlaceholder?: string;\n searchInputProps?: PartialInputProps & { reset?: boolean };\n}\n\nexport interface Props extends ComponentPropsWithRef<\"select\">, FormElement {\n children: ReactElement[];\n name?: string;\n labeledBy?: string;\n describedBy?: string;\n placeholder?: string;\n /**\n * @deprecated\n */\n searchPlaceholder?: string;\n /**\n * @deprecated\n */\n searchInputProps?: PartialInputProps & { reset?: boolean };\n selectButtonProps?: ComponentPropsWithRef<\"button\">;\n search?: SearchProps;\n className?: string;\n value: string;\n clearLabel?: string;\n noResultsLabel?: string;\n onChange?: (event: React.ChangeEvent<HTMLSelectElement>, child?: ReactElement) => void;\n addNew?: {\n label: string;\n onAddNew: (value: string) => void;\n btnProps?: React.ButtonHTMLAttributes<HTMLButtonElement>;\n };\n}\n\nconst SelectComponent: ForwardRefRenderFunction<HTMLSelectElement, Props> = (\n {\n children,\n name,\n disabled = false,\n labeledBy,\n placeholder,\n describedBy,\n searchPlaceholder = \"Search item\",\n searchInputProps,\n selectButtonProps,\n className,\n error = false,\n success = false,\n value,\n clearLabel = \"Clear selection\",\n noResultsLabel = \"No results found\",\n onChange,\n addNew,\n search,\n ...rest\n }: Props,\n ref\n) => {\n const [expanded, setExpanded] = useState(false);\n const [filter, setFilter] = useState(\"\");\n const [display, setDisplay] = useState(\"\");\n const containerReference = useRef<HTMLDivElement>(null);\n const optionListReference = useRef<HTMLDivElement>(null);\n const [isSearching, setIsSearching] = useState(false);\n const [focusedSelectItem, setFocusedSelectItem] = useState(-1);\n const [shouldClick, setShouldClick] = useState(false);\n /** We need this, because whenever we use the arrow keys to select the select item, and we focus the currently selected item it fires the \"click\" listener in Option component. Instead, we only want this to fire if we press \"enter\" or \"spacebar\" so we set this to true whenever that is the case, and back to false when it has been executed. */\n const [shouldFocusButtonAfterClose, setShouldFocusButtonAfterClose] = useState(false);\n\n const DEFAULT_RENDER_THRESHOLD = 10;\n\n const nativeSelect = (ref as React.RefObject<HTMLSelectElement>) || createRef();\n const searchInputRef = useRef<HTMLInputElement>(null);\n const addBtnRef = useRef<HTMLButtonElement>(null);\n\n const addNewLabel = addNew?.label ?? \"Create new\";\n\n const getRenderThreshold = search?.renderThreshold ?? DEFAULT_RENDER_THRESHOLD;\n const hasEnoughChildren = Array.isArray(children) && children.length > getRenderThreshold;\n\n const shouldRenderSearch = () => {\n if (search?.enabled) {\n return hasEnoughChildren;\n }\n\n if (search) {\n return search.enabled as boolean;\n }\n\n return children.length > DEFAULT_RENDER_THRESHOLD;\n };\n\n const onOptionChangeHandler = (optionElement: HTMLElement | null) => {\n if (nativeSelect.current && optionElement) {\n nativeSelect.current.value = optionElement.getAttribute(\"data-value\")!;\n nativeSelect.current.dispatchEvent(new Event(\"change\", { bubbles: true }));\n }\n\n setExpanded(false);\n };\n\n const customSelectButtonRef = useRef<HTMLButtonElement>(null);\n const { onArrowNavigation } = useArrowNavigation({\n expanded,\n setExpanded,\n isSearching,\n setIsSearching,\n setFocusedSelectItem,\n onOptionChangeHandler,\n childrenCount: React.Children.count(children),\n setShouldClick,\n searchInputRef,\n addBtnRef,\n renderThreshold: getRenderThreshold\n });\n\n const { listPosition, opacity, optionsListMaxHeight, setListPosition, setOpacity } =\n useSelectPositionList({ expanded, optionListReference, containerReference, addBtnRef });\n\n const syncDisplayValue = (val: string) => {\n React.Children.forEach(children, child => {\n if (child.props.value === val) {\n setDisplay(child.props.children);\n }\n });\n };\n\n /**\n * @description We have to modify the children (Option component) to have an additional props that allows us to keep track of which one is selected and focused at all times and if a filter is active.\n * The `children` prop can be either a single object (1 child) or an array of multiple children.\n */\n const renderOptions = () => {\n if (isSearching || filter !== \"\") {\n const filteredChildren = React.Children.toArray(children).filter(\n child =>\n (child as ReactElement).props.children.toLowerCase().match(filter.toLowerCase()) !== null\n );\n\n const internalChildren = _internalRenderChildren(filteredChildren as ReactElement[]);\n\n if (internalChildren.length === 0) {\n return <li className={classes[\"no-results\"]}>{noResultsLabel}</li>;\n }\n\n return _internalRenderChildren(filteredChildren as ReactElement[]);\n }\n\n return _internalRenderChildren(children);\n\n function _internalRenderChildren(internalChildren: ReactElement[]) {\n return React.Children.map(internalChildren, (child, index) => {\n return React.cloneElement(child, {\n onFocusChange: (childIndex: number) => {\n setFocusedSelectItem(childIndex);\n },\n onOptionSelect: (optionRef: React.RefObject<HTMLLIElement>) => {\n onOptionChangeHandler(optionRef.current);\n setShouldClick(false);\n },\n isSelected: child.props.value === value,\n isSearching: isSearching,\n selectOpened: expanded,\n childIndex: index,\n hasFocus: focusedSelectItem === index,\n shouldClick: shouldClick,\n isAddBtnFocused: addBtnRef.current === document.activeElement\n });\n });\n }\n };\n\n const renderSearch = () => (\n <Input\n {...(search?.searchInputProps ?? searchInputProps)}\n ref={searchInputRef}\n onFocus={() => setIsSearching(true)}\n onBlur={() => setIsSearching(false)}\n onChange={filterResults}\n className={classes[\"select-search\"]}\n wrapperProps={{\n className:\n search?.searchInputProps?.wrapperProps?.className ??\n searchInputProps?.wrapperProps?.className\n }}\n style={{\n display: expanded ? \"block\" : \"none\"\n }}\n type=\"text\"\n name=\"search-option\"\n placeholder={search?.searchPlaceholder ?? searchPlaceholder}\n />\n );\n\n const renderChevronIcon = () => {\n return expanded ? (\n <Icon className={classes[\"chevron-icon\"]} icon={Icons.ChevronUp} />\n ) : (\n <Icon className={classes[\"chevron-icon\"]} icon={Icons.ChevronDown} />\n );\n };\n\n const filterResults = (event: React.ChangeEvent<HTMLInputElement>) => {\n setFilter(event.currentTarget.value);\n };\n\n const icon = useDetermineStatusIcon({ success, error });\n\n const nativeOnChangeHandler = (event: React.ChangeEvent<HTMLSelectElement>) => {\n onChange?.(event);\n };\n\n useEffect(() => {\n if (expanded) {\n setFocusedSelectItem(0);\n setShouldFocusButtonAfterClose(true);\n }\n\n if (!expanded && customSelectButtonRef.current && shouldFocusButtonAfterClose) {\n customSelectButtonRef.current.focus();\n setShouldFocusButtonAfterClose(false);\n }\n }, [expanded, customSelectButtonRef.current, shouldFocusButtonAfterClose]);\n\n useEffect(() => {\n syncDisplayValue(value);\n }, [value]);\n\n useBodyClick(\n (event: MouseEvent) => !(event.target as Element).closest(\".custom-select\") && expanded,\n () => {\n setExpanded(false);\n setListPosition({ top: 0, bottom: \"initial\" });\n setOpacity(0);\n },\n expanded\n );\n\n const resetSearchState = () => {\n setFilter(\"\");\n setIsSearching(false);\n setFocusedSelectItem(-1);\n };\n\n useEffect(() => {\n (search?.searchInputProps?.reset || searchInputProps?.reset) && resetSearchState();\n }, [searchInputProps?.reset, search?.searchInputProps?.reset]);\n\n const additionalClasses = [];\n expanded && additionalClasses.push(classes.expanded);\n error && additionalClasses.push(classes.error);\n disabled && additionalClasses.push(classes.disabled);\n className && additionalClasses.push(className);\n success && additionalClasses.push(classes.success);\n\n /** The native select is purely for external form libraries. We use it to emit an onChange with native select event object so they know exactly what's happening. */\n return (\n <Fragment>\n <select\n {...filterProps(rest, /^data-/, false)}\n tabIndex={-1}\n aria-hidden=\"true\"\n ref={nativeSelect}\n name={name}\n onChange={nativeOnChangeHandler}\n className={readyclasses[\"sr-only\"]}\n >\n <option value=\"\"></option>\n {React.Children.map(children, child => (\n <option value={child.props.value}></option>\n ))}\n </select>\n <div\n {...filterProps(rest, /^data-/)}\n ref={containerReference}\n onKeyDown={onArrowNavigation}\n className={`custom-select ${classes.select} ${additionalClasses.join(\" \")} ${\n className ?? \"\"\n }`}\n >\n {shouldRenderSearch() && renderSearch()}\n <button\n {...selectButtonProps}\n onClick={() => {\n setExpanded(!expanded);\n }}\n ref={customSelectButtonRef}\n type=\"button\"\n name={name}\n className={`${classes[\"custom-select\"]} ${additionalClasses.join(\" \")} `}\n style={{ display: expanded && shouldRenderSearch() ? \"none\" : \"initial\" }}\n disabled={disabled}\n aria-disabled={disabled}\n aria-invalid={error}\n aria-expanded={expanded}\n aria-haspopup=\"listbox\"\n aria-labelledby={labeledBy}\n aria-describedby={describedBy}\n >\n <div data-display className={classes[\"selected\"]}>\n {!value && placeholder && <span className={classes[\"placeholder\"]}>{placeholder}</span>}\n {value?.length > 0 && <span data-display-inner>{display}</span>}\n </div>\n <div className={classes[\"status\"]}>{icon || renderChevronIcon()}</div>\n </button>\n\n <div\n ref={optionListReference}\n className={`list-wrapper ${classes[\"list-wrapper\"]}`}\n style={{\n display: expanded ? \"block\" : \"none\",\n opacity: opacity,\n maxHeight: optionsListMaxHeight,\n pointerEvents: expanded ? \"auto\" : \"none\",\n ...listPosition\n }}\n >\n <ul className={addNew && classes[\"has-sibling\"]} role=\"listbox\">\n {renderOptions()}\n </ul>\n {addNew && (\n <button\n data-testid={\"select-action-button\"}\n className={classes[\"action-button\"]}\n onClick={() => addNew.onAddNew(filter)}\n ref={addBtnRef}\n {...addNew.btnProps}\n >\n {!filter && addNewLabel}\n {filter && <span style={{ fontWeight: \"700\" }}>{`\"${filter}\"`}</span>}\n {filter && ` (${addNewLabel.toLowerCase()})`}\n </button>\n )}\n </div>\n </div>\n </Fragment>\n );\n};\nexport const Select = React.forwardRef(SelectComponent);\n"],"names":["SelectComponent","children","name","disabled","labeledBy","placeholder","describedBy","searchPlaceholder","searchInputProps","selectButtonProps","className","error","success","value","clearLabel","noResultsLabel","onChange","addNew","search","rest","ref","expanded","setExpanded","useState","filter","setFilter","display","setDisplay","containerReference","useRef","optionListReference","isSearching","setIsSearching","focusedSelectItem","setFocusedSelectItem","shouldClick","setShouldClick","shouldFocusButtonAfterClose","setShouldFocusButtonAfterClose","DEFAULT_RENDER_THRESHOLD","nativeSelect","createRef","searchInputRef","addBtnRef","addNewLabel","_a","label","getRenderThreshold","_b","renderThreshold","hasEnoughChildren","Array","isArray","length","shouldRenderSearch","enabled","onOptionChangeHandler","optionElement","current","getAttribute","dispatchEvent","Event","bubbles","customSelectButtonRef","onArrowNavigation","useArrowNavigation","childrenCount","React","Children","count","listPosition","opacity","optionsListMaxHeight","setListPosition","setOpacity","useSelectPositionList","syncDisplayValue","val","forEach","child","props","renderOptions","filteredChildren","toArray","toLowerCase","match","internalChildren","_internalRenderChildren","createElement","classes","map","index","cloneElement","onFocusChange","childIndex","onOptionSelect","optionRef","isSelected","selectOpened","hasFocus","isAddBtnFocused","document","activeElement","renderSearch","Input","onFocus","onBlur","filterResults","wrapperProps","_d","_c","_e","style","type","_f","renderChevronIcon","Icon","icon","Icons","ChevronUp","ChevronDown","event","currentTarget","useDetermineStatusIcon","nativeOnChangeHandler","useEffect","focus","useBodyClick","target","closest","top","bottom","resetSearchState","reset","additionalClasses","push","Fragment","filterProps","tabIndex","readyclasses","onKeyDown","select","join","onClick","maxHeight","pointerEvents","role","onAddNew","btnProps","fontWeight","Select","forwardRef"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import e from "../../../lib/style-inject.js";var l='/*!\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*!\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*!\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.Select-module_sr-only__TQqez{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.Select-module_hidden__pKi-5{display:none}.Select-module_slide-in__gD4nj{animation:Select-module_slide-in__gD4nj .5s forwards}@media (prefers-reduced-motion:reduce){.Select-module_slide-in__gD4nj{animation-duration:.1ms}}.Select-module_slide-out__qNAXK{animation:Select-module_slide-out__qNAXK .5s forwards}@media (prefers-reduced-motion:reduce){.Select-module_slide-out__qNAXK{animation-duration:.1ms}}@keyframes Select-module_slide-in__gD4nj{0%{transform:translateY(100vh)}to{transform:translateY(0)}}@keyframes Select-module_slide-out__qNAXK{0%{transform:translateY(0)}to{transform:translateY(100vh)}}\n/*!\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.Select-module_select__4okI5{background-color:var(--input-background-color);border:0;border-radius:var(--input-border-radius);box-sizing:border-box;font-size:var(--form-control-font-size);position:relative;transition-duration:.2s;transition-property:all;transition-timing-function:ease-in-out}@media (prefers-reduced-motion:reduce){.Select-module_select__4okI5{transition-duration:.1ms}}.Select-module_select__4okI5 [data-display]{color:var(--color-default);font-family:var(--font-family)}.Select-module_select__4okI5.Select-module_expanded__mnk2x .Select-module_list-wrapper__Dk9pW{background:var(--light)}.Select-module_select__4okI5:not(.Select-module_expanded__mnk2x) button:focus:not(.Select-module_error__5k7oW){border:var(--input-border-width-focus) solid var(--color-focus);padding:0 calc(.5rem - var(--input-border-width-focus))}.Select-module_select__4okI5:hover:not(.Select-module_disabled__ySi2M):not(.Select-module_expanded__mnk2x):not(.Select-module_error__5k7oW) button:not(:focus){background-color:var(--color-blue-grey25);border-color:var(--default);border-width:var(--input-border-width)}.Select-module_select__4okI5 .Select-module_custom-select__qtuLR{background-color:transparent;border-color:var(--color-blue-grey500);border-radius:var(--input-border-radius);border-style:var(--input-border-style);border-width:var(--input-border-width);cursor:pointer;font-size:var(--form-control-font-size);min-height:calc(2.625rem - var(--input-border-width)*2);padding:0 calc(.5rem - var(--input-border-width));position:relative;transition-duration:.2s;transition-property:all;transition-timing-function:ease-in-out;width:100%}@media (prefers-reduced-motion:reduce){.Select-module_select__4okI5 .Select-module_custom-select__qtuLR{transition-duration:.1ms}}.Select-module_select__4okI5 .Select-module_custom-select__qtuLR:focus{outline:0}.Select-module_select__4okI5 .Select-module_custom-select__qtuLR.Select-module_error__5k7oW{border-color:var(--error);color:var(--error)}.Select-module_select__4okI5 .Select-module_custom-select__qtuLR.Select-module_error__5k7oW:focus{border-width:var(--input-border-width-focus)}.Select-module_select__4okI5 .Select-module_custom-select__qtuLR.Select-module_disabled__ySi2M{border-color:var(--color-disabled)}.Select-module_select__4okI5 .Select-module_list-wrapper__Dk9pW{border-color:var(--light-grey-border);border-radius:var(--input-border-radius);border-style:var(--input-border-style);border-width:var(--input-border-width);box-shadow:0 4px 5px 0 rgba(1,5,50,.2);box-shadow:0 3px 14px 0 rgba(1,5,50,.122);box-shadow:0 8px 10px 0 rgba(1,5,50,.141);left:0;overflow:auto;position:absolute;top:44px;width:100%;z-index:11}.Select-module_select__4okI5 ul{background-color:var(--light);border-radius:var(--input-border-radius);box-sizing:border-box;color:var(--default);list-style:none;margin:0;max-height:21.25rem;padding:.25rem 0;text-align:left;width:100%}.Select-module_select__4okI5 ul li{cursor:pointer;font-size:var(--form-control-font-size);line-height:var(--default-line-height);margin:0;padding:.5rem .75rem;position:relative}.Select-module_select__4okI5 ul li:after{background-color:transparent;content:"";height:100%;left:0;opacity:.05;position:absolute;top:0;width:100%}.Select-module_select__4okI5 ul li:focus{outline:var(--input-border-width-focus) solid var(--color-primary300);outline-offset:-var(--input-border-width-focus)}.Select-module_select__4okI5 ul li:active:after,.Select-module_select__4okI5 ul li:hover:after{background-color:var(--color-primary)}.Select-module_select__4okI5 ul li:active:after{opacity:.1}.Select-module_select__4okI5 ul li.Select-module_disabled__ySi2M{background-color:var(--disabled);color:var(--greyed-out);pointer-events:none}.Select-module_selected-option__wUy3C{color:var(--color-primary)}.Select-module_selected-option__wUy3C:before{border-bottom-right-radius:.125rem;border-left:.25rem solid var(--color-primary);border-top-right-radius:.125rem;content:"";height:100%;left:0;position:absolute;top:0}.Select-module_selected__qlDcZ{pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.Select-module_status__p90CC{align-items:center;display:flex;position:absolute;right:.8125rem;top:50%;transform:translateY(-50%)}.Select-module_status__p90CC [data-icon-status=success]{color:var(--success);font-size:1.25rem}.Select-module_status__p90CC [data-icon-status=error]{color:var(--error);font-size:1.25rem}.Select-module_status__p90CC .Select-module_chevron-icon__I1QHG{color:var(--default);font-size:.625rem}.Select-module_status__p90CC *+*{margin-left:1.25rem}.Select-module_placeholder__sGzfV{color:var(--greyed-out)}.Select-module_select-search__icP-u{border-bottom-left-radius:0;border-bottom-right-radius:0;box-sizing:border-box;position:relative;width:100%}.Select-module_disabled__ySi2M{background-color:var(--color-blue-grey25);color:var(--greyed-out);cursor:not-allowed}.Select-module_disabled__ySi2M>*{pointer-events:none}@media only screen and (min-width:30em){.Select-module_select__4okI5 .Select-module_custom-select__qtuLR{padding:0 calc(.5rem - var(--input-border-width))}.Select-module_select__4okI5:not(.Select-module_expanded__mnk2x) button:focus:not(.Select-module_error__5k7oW){padding:0 calc(.5rem - var(--input-border-width-focus))}}\n/*# sourceMappingURL=data:application/json;base64,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UiwwQkFHRixDQUNBLHdEQUNFLG9CQUFxQixDQUNyQixpQkFDRixDQUNBLHNEQUNFLGtCQUFtQixDQUNuQixpQkFDRixDQUNBLGdFQUNFLG9CQUFxQixDQUNyQixpQkFDRixDQUNBLGlDQUNFLG1CQUNGLENBRUEsa0NBQ0UsdUJBQ0YsQ0FFQSxvQ0FJRSwyQkFBNEIsQ0FDNUIsNEJBQTZCLENBRjdCLHFCQUFzQixDQUZ0QixpQkFBa0IsQ0FDbEIsVUFJRixDQUVBLCtCQUdFLHlDQUEwQyxDQUQxQyx1QkFBd0IsQ0FEeEIsa0JBR0YsQ0FDQSxpQ0FDRSxtQkFDRixDQUVBLHdDQUNFLGlFQUNFLGlEQUNGLENBQ0EsK0dBQ0UsdURBQ0YsQ0FDRiIsImZpbGUiOiJTZWxlY3QubW9kdWxlLnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIENvcHlyaWdodCAyMDIyIE9uZVdlbGNvbWUgQi5WLlxuICpcbiAqICAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiAgICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiAgICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiAgICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiAgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyohXG4gKiBDb3B5cmlnaHQgMjAyMiBPbmVXZWxjb21lIEIuVi5cbiAqXG4gKiAgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogICAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqICAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qIVxuICogQ29weXJpZ2h0IDIwMjIgT25lV2VsY29tZSBCLlYuXG4gKlxuICogICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqICAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqICAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiAgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiAgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqICAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4uc3Itb25seSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgYm9yZGVyOiAwO1xufVxuXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnNsaWRlLWluIHtcbiAgYW5pbWF0aW9uOiBzbGlkZS1pbiAwLjVzIGZvcndhcmRzO1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLnNsaWRlLWluIHtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDAuMW1zO1xuICB9XG59XG5cbi5zbGlkZS1vdXQge1xuICBhbmltYXRpb246IHNsaWRlLW91dCAwLjVzIGZvcndhcmRzO1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLnNsaWRlLW91dCB7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjFtcztcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlLWluIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDB2aCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgfVxufVxuQGtleWZyYW1lcyBzbGlkZS1vdXQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwdmgpO1xuICB9XG59XG4vKiFcbiAqIENvcHlyaWdodCAyMDIyIE9uZVdlbGNvbWUgQi5WLlxuICpcbiAqICAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiAgICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiAgICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiAgICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiAgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLnNlbGVjdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYWxsO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0taW5wdXQtYm9yZGVyLXJhZGl1cyk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlucHV0LWJhY2tncm91bmQtY29sb3IpO1xuICBmb250LXNpemU6IHZhcigtLWZvcm0tY29udHJvbC1mb250LXNpemUpO1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLnNlbGVjdCB7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xbXM7XG4gIH1cbn1cbi5zZWxlY3QgW2RhdGEtZGlzcGxheV0ge1xuICBjb2xvcjogdmFyKC0tY29sb3ItZGVmYXVsdCk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseSk7XG59XG4uc2VsZWN0LmV4cGFuZGVkIC5saXN0LXdyYXBwZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1saWdodCk7XG59XG4uc2VsZWN0Om5vdCguZXhwYW5kZWQpIGJ1dHRvbjpmb2N1czpub3QoLmVycm9yKSB7XG4gIGJvcmRlcjogdmFyKC0taW5wdXQtYm9yZGVyLXdpZHRoLWZvY3VzKSBzb2xpZCB2YXIoLS1jb2xvci1mb2N1cyk7XG4gIHBhZGRpbmc6IDAgY2FsYygwLjVyZW0gLSB2YXIoLS1pbnB1dC1ib3JkZXItd2lkdGgtZm9jdXMpKTtcbn1cbi5zZWxlY3Q6aG92ZXI6bm90KC5kaXNhYmxlZCk6bm90KC5leHBhbmRlZCk6bm90KC5lcnJvcikgYnV0dG9uOm5vdCg6Zm9jdXMpIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1kZWZhdWx0KTtcbiAgYm9yZGVyLXdpZHRoOiB2YXIoLS1pbnB1dC1ib3JkZXItd2lkdGgpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ibHVlLWdyZXkyNSk7XG59XG4uc2VsZWN0IC5jdXN0b20tc2VsZWN0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogY2FsYygyLjYyNXJlbSAtIDIgKiB2YXIoLS1pbnB1dC1ib3JkZXItd2lkdGgpKTtcbiAgcGFkZGluZzogMCBjYWxjKDAuNXJlbSAtIHZhcigtLWlucHV0LWJvcmRlci13aWR0aCkpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ibHVlLWdyZXk1MDApO1xuICBib3JkZXItc3R5bGU6IHZhcigtLWlucHV0LWJvcmRlci1zdHlsZSk7XG4gIGJvcmRlci13aWR0aDogdmFyKC0taW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0taW5wdXQtYm9yZGVyLXJhZGl1cyk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9ybS1jb250cm9sLWZvbnQtc2l6ZSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYWxsO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAuc2VsZWN0IC5jdXN0b20tc2VsZWN0IHtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjFtcztcbiAgfVxufVxuLnNlbGVjdCAuY3VzdG9tLXNlbGVjdDpmb2N1cyB7XG4gIG91dGxpbmU6IDA7XG59XG4uc2VsZWN0IC5jdXN0b20tc2VsZWN0LmVycm9yIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1lcnJvcik7XG4gIGNvbG9yOiB2YXIoLS1lcnJvcik7XG59XG4uc2VsZWN0IC5jdXN0b20tc2VsZWN0LmVycm9yOmZvY3VzIHtcbiAgYm9yZGVyLXdpZHRoOiB2YXIoLS1pbnB1dC1ib3JkZXItd2lkdGgtZm9jdXMpO1xufVxuLnNlbGVjdCAuY3VzdG9tLXNlbGVjdC5kaXNhYmxlZCB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItZGlzYWJsZWQpO1xufVxuLnNlbGVjdCAubGlzdC13cmFwcGVyIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1saWdodC1ncmV5LWJvcmRlcik7XG4gIGJvcmRlci1zdHlsZTogdmFyKC0taW5wdXQtYm9yZGVyLXN0eWxlKTtcbiAgYm9yZGVyLXdpZHRoOiB2YXIoLS1pbnB1dC1ib3JkZXItd2lkdGgpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1pbnB1dC1ib3JkZXItcmFkaXVzKTtcbiAgYm94LXNoYWRvdzogMHB4IDRweCA1cHggMHB4IHJnYmEoMSwgNSwgNTAsIDAuMik7XG4gIGJveC1zaGFkb3c6IDBweCAzcHggMTRweCAwcHggcmdiYSgxLCA1LCA1MCwgMC4xMjE1Njg2Mjc1KTtcbiAgYm94LXNoYWRvdzogMHB4IDhweCAxMHB4IDBweCByZ2JhKDEsIDUsIDUwLCAwLjE0MTE3NjQ3MDYpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDExO1xuICB0b3A6IDQ0cHg7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdzogYXV0bztcbn1cbi5zZWxlY3QgdWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiAwLjI1cmVtIDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpZ2h0KTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0taW5wdXQtYm9yZGVyLXJhZGl1cyk7XG4gIGNvbG9yOiB2YXIoLS1kZWZhdWx0KTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbWF4LWhlaWdodDogMjEuMjVyZW07XG59XG4uc2VsZWN0IHVsIGxpIHtcbiAgcGFkZGluZzogMC41cmVtIDAuNzVyZW07XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9ybS1jb250cm9sLWZvbnQtc2l6ZSk7XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsaW5lLWhlaWdodDogdmFyKC0tZGVmYXVsdC1saW5lLWhlaWdodCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5zZWxlY3QgdWwgbGk6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9wYWNpdHk6IDAuMDU7XG59XG4uc2VsZWN0IHVsIGxpOmZvY3VzIHtcbiAgb3V0bGluZTogdmFyKC0taW5wdXQtYm9yZGVyLXdpZHRoLWZvY3VzKSBzb2xpZCB2YXIoLS1jb2xvci1wcmltYXJ5MzAwKTtcbiAgb3V0bGluZS1vZmZzZXQ6IC12YXIoLS1pbnB1dC1ib3JkZXItd2lkdGgtZm9jdXMpO1xufVxuLnNlbGVjdCB1bCBsaTpob3ZlcjphZnRlciwgLnNlbGVjdCB1bCBsaTphY3RpdmU6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbn1cbi5zZWxlY3QgdWwgbGk6YWN0aXZlOmFmdGVyIHtcbiAgb3BhY2l0eTogMC4xO1xufVxuLnNlbGVjdCB1bCBsaS5kaXNhYmxlZCB7XG4gIGNvbG9yOiB2YXIoLS1ncmV5ZWQtb3V0KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZGlzYWJsZWQpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLnNlbGVjdGVkLW9wdGlvbiB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbn1cbi5zZWxlY3RlZC1vcHRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMTI1cmVtO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC4xMjVyZW07XG4gIGJvcmRlci1sZWZ0OiAwLjI1cmVtIHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuXG4uc2VsZWN0ZWQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uc3RhdHVzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IDAuODEyNXJlbTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLnN0YXR1cyBbZGF0YS1pY29uLXN0YXR1cz1zdWNjZXNzXSB7XG4gIGNvbG9yOiB2YXIoLS1zdWNjZXNzKTtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xufVxuLnN0YXR1cyBbZGF0YS1pY29uLXN0YXR1cz1lcnJvcl0ge1xuICBjb2xvcjogdmFyKC0tZXJyb3IpO1xuICBmb250LXNpemU6IDEuMjVyZW07XG59XG4uc3RhdHVzIC5jaGV2cm9uLWljb24ge1xuICBjb2xvcjogdmFyKC0tZGVmYXVsdCk7XG4gIGZvbnQtc2l6ZTogMC42MjVyZW07XG59XG4uc3RhdHVzICogKyAqIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG59XG5cbi5wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiB2YXIoLS1ncmV5ZWQtb3V0KTtcbn1cblxuLnNlbGVjdC1zZWFyY2gge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbn1cblxuLmRpc2FibGVkIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgY29sb3I6IHZhcigtLWdyZXllZC1vdXQpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ibHVlLWdyZXkyNSk7XG59XG4uZGlzYWJsZWQgPiAqIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAuc2VsZWN0IC5jdXN0b20tc2VsZWN0IHtcbiAgICBwYWRkaW5nOiAwIGNhbGMoMC41cmVtIC0gdmFyKC0taW5wdXQtYm9yZGVyLXdpZHRoKSk7XG4gIH1cbiAgLnNlbGVjdDpub3QoLmV4cGFuZGVkKSBidXR0b246Zm9jdXM6bm90KC5lcnJvcikge1xuICAgIHBhZGRpbmc6IDAgY2FsYygwLjVyZW0gLSB2YXIoLS1pbnB1dC1ib3JkZXItd2lkdGgtZm9jdXMpKTtcbiAgfVxufSJdfQ== */';var c={"sr-only":"Select-module_sr-only__TQqez",hidden:"Select-module_hidden__pKi-5","slide-in":"Select-module_slide-in__gD4nj","slide-out":"Select-module_slide-out__qNAXK",select:"Select-module_select__4okI5",expanded:"Select-module_expanded__mnk2x","list-wrapper":"Select-module_list-wrapper__Dk9pW",error:"Select-module_error__5k7oW",disabled:"Select-module_disabled__ySi2M","custom-select":"Select-module_custom-select__qtuLR","selected-option":"Select-module_selected-option__wUy3C",selected:"Select-module_selected__qlDcZ",status:"Select-module_status__p90CC","chevron-icon":"Select-module_chevron-icon__I1QHG",placeholder:"Select-module_placeholder__sGzfV","select-search":"Select-module_select-search__icP-u"};e(l);export{c as default};
1
+ import e from "../../../lib/style-inject.js";var l='/*!\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*!\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*!\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.Select-module_sr-only__TQqez{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.Select-module_hidden__pKi-5{display:none}.Select-module_slide-in__gD4nj{animation:Select-module_slide-in__gD4nj .5s forwards}@media (prefers-reduced-motion:reduce){.Select-module_slide-in__gD4nj{animation-duration:.1ms}}.Select-module_slide-out__qNAXK{animation:Select-module_slide-out__qNAXK .5s forwards}@media (prefers-reduced-motion:reduce){.Select-module_slide-out__qNAXK{animation-duration:.1ms}}@keyframes Select-module_slide-in__gD4nj{0%{transform:translateY(100vh)}to{transform:translateY(0)}}@keyframes Select-module_slide-out__qNAXK{0%{transform:translateY(0)}to{transform:translateY(100vh)}}\n/*!\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.Select-module_select__4okI5{background-color:var(--input-background-color);border:0;border-radius:var(--input-border-radius);box-sizing:border-box;font-size:var(--form-control-font-size);position:relative;transition-duration:.2s;transition-property:all;transition-timing-function:ease-in-out}@media (prefers-reduced-motion:reduce){.Select-module_select__4okI5{transition-duration:.1ms}}.Select-module_select__4okI5 [data-display]{color:var(--color-default);font-family:var(--font-family)}.Select-module_select__4okI5.Select-module_expanded__mnk2x .Select-module_list-wrapper__Dk9pW{background:var(--light)}.Select-module_select__4okI5:not(.Select-module_expanded__mnk2x) button:focus:not(.Select-module_error__5k7oW){border:var(--input-border-width-focus) solid var(--color-focus);padding:0 calc(.5rem - var(--input-border-width-focus))}.Select-module_select__4okI5:hover:not(.Select-module_disabled__ySi2M):not(.Select-module_expanded__mnk2x):not(.Select-module_error__5k7oW) button:not(:focus){background-color:var(--color-blue-grey25);border-color:var(--default);border-width:var(--input-border-width)}.Select-module_select__4okI5 .Select-module_custom-select__qtuLR{background-color:initial;border-color:var(--color-blue-grey500);border-radius:var(--input-border-radius);border-style:var(--input-border-style);border-width:var(--input-border-width);cursor:pointer;font-size:var(--form-control-font-size);min-height:calc(2.625rem - var(--input-border-width)*2);padding:0 calc(.5rem - var(--input-border-width));position:relative;transition-duration:.2s;transition-property:all;transition-timing-function:ease-in-out;width:100%}@media (prefers-reduced-motion:reduce){.Select-module_select__4okI5 .Select-module_custom-select__qtuLR{transition-duration:.1ms}}.Select-module_select__4okI5 .Select-module_custom-select__qtuLR:focus{outline:0}.Select-module_select__4okI5 .Select-module_custom-select__qtuLR.Select-module_error__5k7oW{border-color:var(--error);color:var(--error)}.Select-module_select__4okI5 .Select-module_custom-select__qtuLR.Select-module_error__5k7oW:focus{border-width:var(--input-border-width-focus)}.Select-module_select__4okI5 .Select-module_custom-select__qtuLR.Select-module_disabled__ySi2M{border-color:var(--color-disabled)}.Select-module_select__4okI5 .Select-module_list-wrapper__Dk9pW{border-color:var(--light-grey-border);border-radius:var(--input-border-radius);border-style:var(--input-border-style);border-width:var(--input-border-width);box-shadow:0 8px 10px 0 rgba(1,5,50,.141);left:0;overflow:auto;position:absolute;top:44px;width:100%;z-index:11}.Select-module_select__4okI5 ul{background-color:var(--light);border-radius:var(--input-border-radius);box-sizing:border-box;color:var(--default);list-style:none;margin:0;padding:.25rem 0;text-align:left;width:100%}.Select-module_select__4okI5 ul li{box-sizing:border-box;cursor:pointer;font-size:var(--form-control-font-size);line-height:1.25rem;margin:0;min-height:2.5rem;padding:.62rem .75rem;position:relative}.Select-module_select__4okI5 ul li:focus{outline:var(--input-border-width-focus) solid var(--color-primary300);outline-offset:var(--input-border-width-focus)}.Select-module_select__4okI5 ul li:hover{background-color:var(--color-blue-grey50)}.Select-module_select__4okI5 ul li:active{background-color:var(--color-blue-grey100)}.Select-module_select__4okI5 ul li.Select-module_disabled__ySi2M{background-color:var(--disabled);color:var(--greyed-out);pointer-events:none}ul.Select-module_has-sibling__M4XC-{padding-bottom:2px}.Select-module_selected-option__wUy3C{border-bottom-right-radius:.125rem;border-left:.25rem solid var(--color-primary);border-top-right-radius:.125rem;color:var(--color-primary);content:"";height:100%;left:0;position:absolute;top:0}.Select-module_selected__qlDcZ{pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.Select-module_action-button__IAzO2{background-color:var(--light);border:none;border-radius:var(--input-border-radius);border-top:1px solid var(--color-blue-grey50);box-sizing:border-box;color:var(--default);cursor:pointer;font-family:var(--font-family);font-size:var(--form-control-font-size);height:2.5rem;margin:0 0 .25rem;padding:.625rem .75rem;text-align:left;width:100%}.Select-module_action-button__IAzO2:focus{border-radius:0;outline:1px solid;outline-offset:0}.Select-module_action-button__IAzO2:hover{background-color:var(--color-blue-grey50)}.Select-module_action-button__IAzO2:active{background-color:var(--color-blue-grey100)}.Select-module_status__p90CC{align-items:center;display:flex;position:absolute;right:.8125rem;top:50%;transform:translateY(-50%)}.Select-module_status__p90CC [data-icon-status=success]{color:var(--success);font-size:1.25rem}.Select-module_status__p90CC [data-icon-status=error]{color:var(--error);font-size:1.25rem}.Select-module_status__p90CC .Select-module_chevron-icon__I1QHG{color:var(--default);font-size:.625rem}.Select-module_status__p90CC *+*{margin-left:1.25rem}.Select-module_placeholder__sGzfV{color:var(--greyed-out)}.Select-module_select-search__icP-u{border-bottom-left-radius:0;border-bottom-right-radius:0;box-sizing:border-box;position:relative;width:100%}.Select-module_disabled__ySi2M{background-color:var(--color-blue-grey25);color:var(--greyed-out);cursor:not-allowed}.Select-module_disabled__ySi2M>*{pointer-events:none}@media only screen and (min-width:30em){.Select-module_select__4okI5 .Select-module_custom-select__qtuLR{padding:0 calc(.5rem - var(--input-border-width))}.Select-module_select__4okI5:not(.Select-module_expanded__mnk2x) button:focus:not(.Select-module_error__5k7oW){padding:0 calc(.5rem - var(--input-border-width-focus))}}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlNlbGVjdC5tb2R1bGUuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7RUFjRTtBQUNGOzs7Ozs7Ozs7Ozs7OztFQWNFO0FBQ0Y7Ozs7Ozs7Ozs7Ozs7O0VBY0UsQ0FDRiw4QkFPRSxrQkFBc0IsQ0FDdEIsUUFBUyxDQUxULFVBQVcsQ0FFWCxXQUFZLENBQ1osZUFBZ0IsQ0FGaEIsU0FBVSxDQUhWLGlCQUFrQixDQUNsQixTQU9GLENBRUEsNkJBQ0UsWUFDRixDQUVBLCtCQUNFLG9EQUNGLENBQ0EsdUNBQ0UsK0JBQ0UsdUJBQ0YsQ0FDRixDQUVBLGdDQUNFLHFEQUNGLENBQ0EsdUNBQ0UsZ0NBQ0UsdUJBQ0YsQ0FDRixDQUVBLHlDQUNFLEdBQ0UsMkJBQ0YsQ0FDQSxHQUNFLHVCQUNGLENBQ0YsQ0FDQSwwQ0FDRSxHQUNFLHVCQUNGLENBQ0EsR0FDRSwyQkFDRixDQUNGO0FBQ0E7Ozs7Ozs7Ozs7Ozs7O0VBY0UsQ0FDRiw2QkFRRSw4Q0FBK0MsQ0FGL0MsUUFBUyxDQUNULHdDQUF5QyxDQUx6QyxxQkFBc0IsQ0FPdEIsdUNBQXdDLENBUnhDLGlCQUFrQixDQUdsQix1QkFBeUIsQ0FEekIsdUJBQXdCLENBRXhCLHNDQUtGLENBQ0EsdUNBQ0UsNkJBQ0Usd0JBQ0YsQ0FDRixDQUNBLDRDQUNFLDBCQUEyQixDQUMzQiw4QkFDRixDQUNBLDhGQUNFLHVCQUNGLENBQ0EsK0dBQ0UsK0RBQWdFLENBQ2hFLHVEQUNGLENBQ0EsK0pBR0UseUNBQTBDLENBRjFDLDJCQUE0QixDQUM1QixzQ0FFRixDQUNBLGlFQUtFLHdCQUE2QixDQUM3QixzQ0FBdUMsQ0FHdkMsd0NBQXlDLENBRnpDLHNDQUF1QyxDQUN2QyxzQ0FBdUMsQ0FHdkMsY0FBZSxDQURmLHVDQUF3QyxDQVB4Qyx1REFBMEQsQ0FDMUQsaURBQW1ELENBSG5ELGlCQUFrQixDQVlsQix1QkFBeUIsQ0FEekIsdUJBQXdCLENBRXhCLHNDQUF1QyxDQVp2QyxVQWFGLENBQ0EsdUNBQ0UsaUVBQ0Usd0JBQ0YsQ0FDRixDQUNBLHVFQUNFLFNBQ0YsQ0FDQSw0RkFDRSx5QkFBMEIsQ0FDMUIsa0JBQ0YsQ0FDQSxrR0FDRSw0Q0FDRixDQUNBLCtGQUNFLGtDQUNGLENBQ0EsZ0VBQ0UscUNBQXNDLENBR3RDLHdDQUF5QyxDQUZ6QyxzQ0FBdUMsQ0FDdkMsc0NBQXVDLENBRXZDLHlDQUFxRCxDQUlyRCxNQUFPLENBRVAsYUFBYyxDQUxkLGlCQUFrQixDQUVsQixRQUFTLENBRVQsVUFBVyxDQUhYLFVBS0YsQ0FDQSxnQ0FNRSw2QkFBOEIsQ0FDOUIsd0NBQXlDLENBTnpDLHFCQUFzQixDQU90QixvQkFBcUIsQ0FIckIsZUFBZ0IsQ0FEaEIsUUFBUyxDQUZULGdCQUFrQixDQU9sQixlQUFnQixDQU5oQixVQU9GLENBQ0EsbUNBTUUscUJBQXNCLENBRXRCLGNBQWUsQ0FOZix1Q0FBd0MsQ0FHeEMsbUJBQW9CLENBRnBCLFFBQVMsQ0FJVCxpQkFBa0IsQ0FObEIscUJBQXdCLENBR3hCLGlCQUtGLENBQ0EseUNBQ0UscUVBQXNFLENBQ3RFLDhDQUNGLENBQ0EseUNBQ0UseUNBQ0YsQ0FDQSwwQ0FDRSwwQ0FDRixDQUNBLGlFQUVFLGdDQUFpQyxDQURqQyx1QkFBd0IsQ0FFeEIsbUJBQ0YsQ0FFQSxvQ0FDRSxrQkFDRixDQUVBLHNDQU9FLGtDQUFvQyxDQUNwQyw2Q0FBK0MsQ0FGL0MsK0JBQWlDLENBR2pDLDBCQUEyQixDQVIzQixVQUFXLENBSVgsV0FBWSxDQURaLE1BQU8sQ0FGUCxpQkFBa0IsQ0FDbEIsS0FPRixDQUVBLCtCQUlFLG1CQUFvQixDQUhwQixpQkFBa0IsQ0FDbEIsT0FBUSxDQUNSLDBCQUVGLENBRUEsb0NBT0UsNkJBQThCLENBTjlCLFdBQVksQ0FPWix3Q0FBeUMsQ0FOekMsNkNBQThDLENBUzlDLHFCQUFzQixDQUZ0QixvQkFBcUIsQ0FHckIsY0FBZSxDQUNmLDhCQUErQixDQUMvQix1Q0FBd0MsQ0FWeEMsYUFBYyxDQUVkLGlCQUFtQixDQURuQixzQkFBeUIsQ0FLekIsZUFBZ0IsQ0FQaEIsVUFZRixDQUNBLDBDQUdFLGVBQWdCLENBRmhCLGlCQUFrQixDQUNsQixnQkFFRixDQUNBLDBDQUNFLHlDQUNGLENBQ0EsMkNBQ0UsMENBQ0YsQ0FFQSw2QkFNRSxrQkFBbUIsQ0FEbkIsWUFBYSxDQUpiLGlCQUFrQixDQUVsQixjQUFnQixDQURoQixPQUFRLENBRVIsMEJBR0YsQ0FDQSx3REFDRSxvQkFBcUIsQ0FDckIsaUJBQ0YsQ0FDQSxzREFDRSxrQkFBbUIsQ0FDbkIsaUJBQ0YsQ0FDQSxnRUFDRSxvQkFBcUIsQ0FDckIsaUJBQ0YsQ0FDQSxpQ0FDRSxtQkFDRixDQUVBLGtDQUNFLHVCQUNGLENBRUEsb0NBSUUsMkJBQTRCLENBQzVCLDRCQUE2QixDQUY3QixxQkFBc0IsQ0FGdEIsaUJBQWtCLENBQ2xCLFVBSUYsQ0FFQSwrQkFHRSx5Q0FBMEMsQ0FEMUMsdUJBQXdCLENBRHhCLGtCQUdGLENBQ0EsaUNBQ0UsbUJBQ0YsQ0FFQSx3Q0FDRSxpRUFDRSxpREFDRixDQUNBLCtHQUNFLHVEQUNGLENBQ0YiLCJmaWxlIjoiU2VsZWN0Lm1vZHVsZS5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBDb3B5cmlnaHQgMjAyMiBPbmVXZWxjb21lIEIuVi5cbiAqXG4gKiAgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogICAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqICAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qIVxuICogQ29weXJpZ2h0IDIwMjIgT25lV2VsY29tZSBCLlYuXG4gKlxuICogICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqICAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqICAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiAgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiAgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqICAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vKiFcbiAqIENvcHlyaWdodCAyMDIyIE9uZVdlbGNvbWUgQi5WLlxuICpcbiAqICAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiAgICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiAgICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiAgICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiAgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLnNyLW9ubHkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIGJvcmRlcjogMDtcbn1cblxuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5zbGlkZS1pbiB7XG4gIGFuaW1hdGlvbjogc2xpZGUtaW4gMC41cyBmb3J3YXJkcztcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5zbGlkZS1pbiB7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjFtcztcbiAgfVxufVxuXG4uc2xpZGUtb3V0IHtcbiAgYW5pbWF0aW9uOiBzbGlkZS1vdXQgMC41cyBmb3J3YXJkcztcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5zbGlkZS1vdXQge1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4xbXM7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZS1pbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwdmgpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgc2xpZGUtb3V0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMHZoKTtcbiAgfVxufVxuLyohXG4gKiBDb3B5cmlnaHQgMjAyMiBPbmVXZWxjb21lIEIuVi5cbiAqXG4gKiAgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogICAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqICAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi5zZWxlY3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGFsbDtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4ycztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWlucHV0LWJvcmRlci1yYWRpdXMpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnB1dC1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgZm9udC1zaXplOiB2YXIoLS1mb3JtLWNvbnRyb2wtZm9udC1zaXplKTtcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5zZWxlY3Qge1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMW1zO1xuICB9XG59XG4uc2VsZWN0IFtkYXRhLWRpc3BsYXldIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWRlZmF1bHQpO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xufVxuLnNlbGVjdC5leHBhbmRlZCAubGlzdC13cmFwcGVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tbGlnaHQpO1xufVxuLnNlbGVjdDpub3QoLmV4cGFuZGVkKSBidXR0b246Zm9jdXM6bm90KC5lcnJvcikge1xuICBib3JkZXI6IHZhcigtLWlucHV0LWJvcmRlci13aWR0aC1mb2N1cykgc29saWQgdmFyKC0tY29sb3ItZm9jdXMpO1xuICBwYWRkaW5nOiAwIGNhbGMoMC41cmVtIC0gdmFyKC0taW5wdXQtYm9yZGVyLXdpZHRoLWZvY3VzKSk7XG59XG4uc2VsZWN0OmhvdmVyOm5vdCguZGlzYWJsZWQpOm5vdCguZXhwYW5kZWQpOm5vdCguZXJyb3IpIGJ1dHRvbjpub3QoOmZvY3VzKSB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tZGVmYXVsdCk7XG4gIGJvcmRlci13aWR0aDogdmFyKC0taW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmx1ZS1ncmV5MjUpO1xufVxuLnNlbGVjdCAuY3VzdG9tLXNlbGVjdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IGNhbGMoMi42MjVyZW0gLSAyICogdmFyKC0taW5wdXQtYm9yZGVyLXdpZHRoKSk7XG4gIHBhZGRpbmc6IDAgY2FsYygwLjVyZW0gLSB2YXIoLS1pbnB1dC1ib3JkZXItd2lkdGgpKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYmx1ZS1ncmV5NTAwKTtcbiAgYm9yZGVyLXN0eWxlOiB2YXIoLS1pbnB1dC1ib3JkZXItc3R5bGUpO1xuICBib3JkZXItd2lkdGg6IHZhcigtLWlucHV0LWJvcmRlci13aWR0aCk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWlucHV0LWJvcmRlci1yYWRpdXMpO1xuICBmb250LXNpemU6IHZhcigtLWZvcm0tY29udHJvbC1mb250LXNpemUpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGFsbDtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4ycztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLnNlbGVjdCAuY3VzdG9tLXNlbGVjdCB7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xbXM7XG4gIH1cbn1cbi5zZWxlY3QgLmN1c3RvbS1zZWxlY3Q6Zm9jdXMge1xuICBvdXRsaW5lOiAwO1xufVxuLnNlbGVjdCAuY3VzdG9tLXNlbGVjdC5lcnJvciB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tZXJyb3IpO1xuICBjb2xvcjogdmFyKC0tZXJyb3IpO1xufVxuLnNlbGVjdCAuY3VzdG9tLXNlbGVjdC5lcnJvcjpmb2N1cyB7XG4gIGJvcmRlci13aWR0aDogdmFyKC0taW5wdXQtYm9yZGVyLXdpZHRoLWZvY3VzKTtcbn1cbi5zZWxlY3QgLmN1c3RvbS1zZWxlY3QuZGlzYWJsZWQge1xuICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWRpc2FibGVkKTtcbn1cbi5zZWxlY3QgLmxpc3Qtd3JhcHBlciB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tbGlnaHQtZ3JleS1ib3JkZXIpO1xuICBib3JkZXItc3R5bGU6IHZhcigtLWlucHV0LWJvcmRlci1zdHlsZSk7XG4gIGJvcmRlci13aWR0aDogdmFyKC0taW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0taW5wdXQtYm9yZGVyLXJhZGl1cyk7XG4gIGJveC1zaGFkb3c6IDAgOHB4IDEwcHggMCByZ2JhKDEsIDUsIDUwLCAwLjE0MTE3NjQ3MDYpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDExO1xuICB0b3A6IDQ0cHg7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdzogYXV0bztcbn1cbi5zZWxlY3QgdWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiAwLjI1cmVtIDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpZ2h0KTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0taW5wdXQtYm9yZGVyLXJhZGl1cyk7XG4gIGNvbG9yOiB2YXIoLS1kZWZhdWx0KTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi5zZWxlY3QgdWwgbGkge1xuICBwYWRkaW5nOiAwLjYycmVtIDAuNzVyZW07XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9ybS1jb250cm9sLWZvbnQtc2l6ZSk7XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsaW5lLWhlaWdodDogMS4yNXJlbTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgbWluLWhlaWdodDogMi41cmVtO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uc2VsZWN0IHVsIGxpOmZvY3VzIHtcbiAgb3V0bGluZTogdmFyKC0taW5wdXQtYm9yZGVyLXdpZHRoLWZvY3VzKSBzb2xpZCB2YXIoLS1jb2xvci1wcmltYXJ5MzAwKTtcbiAgb3V0bGluZS1vZmZzZXQ6IHZhcigtLWlucHV0LWJvcmRlci13aWR0aC1mb2N1cyk7XG59XG4uc2VsZWN0IHVsIGxpOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmx1ZS1ncmV5NTApO1xufVxuLnNlbGVjdCB1bCBsaTphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ibHVlLWdyZXkxMDApO1xufVxuLnNlbGVjdCB1bCBsaS5kaXNhYmxlZCB7XG4gIGNvbG9yOiB2YXIoLS1ncmV5ZWQtb3V0KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZGlzYWJsZWQpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxudWwuaGFzLXNpYmxpbmcge1xuICBwYWRkaW5nLWJvdHRvbTogMnB4O1xufVxuXG4uc2VsZWN0ZWQtb3B0aW9uIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMTI1cmVtO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC4xMjVyZW07XG4gIGJvcmRlci1sZWZ0OiAwLjI1cmVtIHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG5cbi5zZWxlY3RlZCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5hY3Rpb24tYnV0dG9uIHtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY29sb3ItYmx1ZS1ncmV5NTApO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAyLjVyZW07XG4gIHBhZGRpbmc6IDAuNjI1cmVtIDAuNzVyZW07XG4gIG1hcmdpbjogMCAwIDAuMjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpZ2h0KTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0taW5wdXQtYm9yZGVyLXJhZGl1cyk7XG4gIGNvbG9yOiB2YXIoLS1kZWZhdWx0KTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xuICBmb250LXNpemU6IHZhcigtLWZvcm0tY29udHJvbC1mb250LXNpemUpO1xufVxuLmFjdGlvbi1idXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiAxcHggc29saWQ7XG4gIG91dGxpbmUtb2Zmc2V0OiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuLmFjdGlvbi1idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ibHVlLWdyZXk1MCk7XG59XG4uYWN0aW9uLWJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ibHVlLWdyZXkxMDApO1xufVxuXG4uc3RhdHVzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IDAuODEyNXJlbTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLnN0YXR1cyBbZGF0YS1pY29uLXN0YXR1cz1zdWNjZXNzXSB7XG4gIGNvbG9yOiB2YXIoLS1zdWNjZXNzKTtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xufVxuLnN0YXR1cyBbZGF0YS1pY29uLXN0YXR1cz1lcnJvcl0ge1xuICBjb2xvcjogdmFyKC0tZXJyb3IpO1xuICBmb250LXNpemU6IDEuMjVyZW07XG59XG4uc3RhdHVzIC5jaGV2cm9uLWljb24ge1xuICBjb2xvcjogdmFyKC0tZGVmYXVsdCk7XG4gIGZvbnQtc2l6ZTogMC42MjVyZW07XG59XG4uc3RhdHVzICogKyAqIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG59XG5cbi5wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiB2YXIoLS1ncmV5ZWQtb3V0KTtcbn1cblxuLnNlbGVjdC1zZWFyY2gge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbn1cblxuLmRpc2FibGVkIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgY29sb3I6IHZhcigtLWdyZXllZC1vdXQpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ibHVlLWdyZXkyNSk7XG59XG4uZGlzYWJsZWQgPiAqIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAuc2VsZWN0IC5jdXN0b20tc2VsZWN0IHtcbiAgICBwYWRkaW5nOiAwIGNhbGMoMC41cmVtIC0gdmFyKC0taW5wdXQtYm9yZGVyLXdpZHRoKSk7XG4gIH1cbiAgLnNlbGVjdDpub3QoLmV4cGFuZGVkKSBidXR0b246Zm9jdXM6bm90KC5lcnJvcikge1xuICAgIHBhZGRpbmc6IDAgY2FsYygwLjVyZW0gLSB2YXIoLS1pbnB1dC1ib3JkZXItd2lkdGgtZm9jdXMpKTtcbiAgfVxufSJdfQ== */';var c={"sr-only":"Select-module_sr-only__TQqez",hidden:"Select-module_hidden__pKi-5","slide-in":"Select-module_slide-in__gD4nj","slide-out":"Select-module_slide-out__qNAXK",select:"Select-module_select__4okI5",expanded:"Select-module_expanded__mnk2x","list-wrapper":"Select-module_list-wrapper__Dk9pW",error:"Select-module_error__5k7oW",disabled:"Select-module_disabled__ySi2M","custom-select":"Select-module_custom-select__qtuLR","has-sibling":"Select-module_has-sibling__M4XC-","selected-option":"Select-module_selected-option__wUy3C",selected:"Select-module_selected__qlDcZ","action-button":"Select-module_action-button__IAzO2",status:"Select-module_status__p90CC","chevron-icon":"Select-module_chevron-icon__I1QHG",placeholder:"Select-module_placeholder__sGzfV","select-search":"Select-module_select-search__icP-u"};e(l);export{c as default};
2
2
  //# sourceMappingURL=Select.module.esm.js.map
@@ -1,2 +1,2 @@
1
- import{useState as e,useEffect as t}from"react";const r=({expanded:e,setExpanded:t,isSearching:r,setIsSearching:n,setFocusedSelectItem:o,onOptionChangeHandler:i,childrenCount:c,setShouldClick:s,searchInputRef:a,renderSearchCondition:u})=>{const l=l=>{var p;const f=["ArrowDown","ArrowUp","ArrowLeft","ArrowRight","Space","Escape","End","Home"];const d=["ArrowDown","ArrowUp","Enter","Escape","MetaLeft","MetaRight"];if(e)f.push("Tab");if(f.includes(l.code)&&!l.metaKey&&!r)l.preventDefault();if(r&&d.includes(l.code))l.preventDefault();if(r)switch(l.code){case"ArrowDown":case"Enter":n(false);o(0);return;case"ArrowUp":n(false);o(c-1);return;case"Escape":case"Tab":n(false);t(false)}else switch(l.code){case"ArrowDown":if(!e){t(true);o(0);return}o((e=>e+1>c-1?0:e+1));return;case"ArrowUp":if(!e){t(true);o(c-1);return}o((e=>e-1<0?c-1:e-1));return;case"Space":if(!e){t(true);o(0);return}i(l.target);s(true);t(false);return;case"Enter":case"Home":o(0);return;case"Tab":if(c>=u&&e){n(true);(p=a.current)===null||p===void 0?void 0:p.focus();return}t(false);return;case"Escape":if(e)t(false);return;case"End":o(c-1);return;case"ArrowLeft":if(l.metaKey&&e){l.preventDefault();o(0)}return;case"ArrowRight":if(l.metaKey&&e){l.preventDefault();o(c-1)}return}};return{onArrowNavigation:l}};const n=({expanded:r,optionListReference:n,containerReference:o})=>{const[i,c]=e("none");const[s,a]=e(0);const[u,l]=e({});t((()=>{p()}),[r]);const p=()=>{if(!r||!n.current||!o.current)return;const e=o.current.getBoundingClientRect().bottom;const t=window.innerHeight-o.current.getBoundingClientRect().top;let i={top:"2.75rem",bottom:"initial"};if(e>t)i={top:"initial",bottom:"2.75rem"};l(i);f(i)};const f=e=>{var t;const r=(t=n.current)===null||t===void 0?void 0:t.getBoundingClientRect().height;const i=e.top!=="initial"?"top":"bottom";if(!o.current){console.error("The containerReference is empty for some reason in the SelectService.ts for the Select component in react-lib-components. We are trying to calculate the option list max height on expand");return}const s=i==="top"?window.innerHeight-o.current.getBoundingClientRect()[i]-16:o.current.getBoundingClientRect()[i]-16;if(r&&s<r){c(`${s}px`);a(100);return}c("none");a(100)};return{optionsListMaxHeight:i,opacity:s,setOpacity:a,listPosition:u,setListPosition:l}};export{r as useArrowNavigation,n as useSelectPositionList};
1
+ import{useState as e,useEffect as t}from"react";const n=({expanded:e,setExpanded:t,isSearching:n,setIsSearching:r,setFocusedSelectItem:o,onOptionChangeHandler:i,childrenCount:c,setShouldClick:s,searchInputRef:a,addBtnRef:u,renderThreshold:l})=>{const d=d=>{var f;const p=["ArrowDown","ArrowUp","ArrowLeft","ArrowRight","Space","Escape","End","Home"];const h=["ArrowDown","ArrowUp","Enter","Escape","MetaLeft","MetaRight"];const g=(u===null||u===void 0?void 0:u.current)===document.activeElement;if(e)p.push("Tab");if(u)h.push("Tab");if(p.includes(d.code)&&!d.metaKey&&!n)d.preventDefault();if(n&&h.includes(d.code))d.preventDefault();if(n)switch(d.code){case"ArrowDown":case"Enter":r(false);o(0);return;case"ArrowUp":r(false);o(c-1);return;case"Escape":r(false);t(false);return;case"Tab":if(u===null||u===void 0?void 0:u.current){u.current.focus();return}r(false);t(false)}else switch(d.code){case"ArrowDown":if(!e){t(true);o(0);return}o((e=>e+1>c-1?0:e+1));return;case"ArrowUp":if(!e){t(true);o(c-1);return}o((e=>e-1<0?c-1:e-1));return;case"Space":if(!e){t(true);o(0);return}i(d.target);s(true);t(false);return;case"Enter":case"Home":o(0);return;case"Tab":if(c>=l&&e&&!g){r(true);(f=a.current)===null||f===void 0?void 0:f.focus();return}else if((u===null||u===void 0?void 0:u.current)&&e&&!g){u.current.focus();return}t(false);return;case"Escape":if(e)t(false);return;case"End":o(c-1);return;case"ArrowLeft":if(d.metaKey&&e){d.preventDefault();o(0)}return;case"ArrowRight":if(d.metaKey&&e){d.preventDefault();o(c-1)}return}};return{onArrowNavigation:d}};const r=({expanded:n,optionListReference:r,addBtnRef:o,containerReference:i})=>{const[c,s]=e("none");const[a,u]=e(0);const[l,d]=e({});t((()=>{f()}),[n]);const f=()=>{if(!n||!r.current||!i.current)return;const e=i.current.getBoundingClientRect().bottom;const t=window.innerHeight-i.current.getBoundingClientRect().top;let o={top:"2.75rem",bottom:"initial"};if(e>t)o={top:"initial",bottom:"2.75rem"};d(o);p(o)};const p=e=>{var t,n,c;const a=(t=r.current)===null||t===void 0?void 0:t.getBoundingClientRect().height;const l=(c=(n=o.current)===null||n===void 0?void 0:n.getBoundingClientRect().height)!==null&&c!==void 0?c:0;const d=e.top!=="initial"?"top":"bottom";if(!i.current){console.error("The containerReference is empty for some reason in the SelectService.ts for the Select component in react-lib-components. We are trying to calculate the option list max height on expand");return}const f=d==="top"?window.innerHeight-i.current.getBoundingClientRect().bottom-16:i.current.getBoundingClientRect().top-16;if(a&&f<a+l){s(`${f}px`);u(100);return}s("none");u(100)};return{optionsListMaxHeight:c,opacity:a,setOpacity:u,listPosition:l,setListPosition:d}};export{n as useArrowNavigation,r as useSelectPositionList};
2
2
  //# sourceMappingURL=SelectService.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelectService.esm.js","sources":["../../../../../../src/components/Form/Select/SelectService.ts"],"sourcesContent":["/*\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React, { useEffect, useState } from \"react\";\nimport {\n Position,\n UseArrowNavigationParams,\n UseSelectPositionListParams\n} from \"./Select.interfaces\";\n\nexport const useArrowNavigation = ({\n expanded,\n setExpanded,\n isSearching,\n setIsSearching,\n setFocusedSelectItem,\n onOptionChangeHandler,\n childrenCount,\n setShouldClick,\n searchInputRef,\n renderSearchCondition\n}: UseArrowNavigationParams) => {\n const onArrowNavigation = (event: React.KeyboardEvent) => {\n const codesToPreventDefault = [\n \"ArrowDown\",\n \"ArrowUp\",\n \"ArrowLeft\",\n \"ArrowRight\",\n \"Space\",\n \"Escape\",\n \"End\",\n \"Home\"\n ];\n\n const codesToPreventDefaultWhenSearching = [\n \"ArrowDown\",\n \"ArrowUp\",\n \"Enter\",\n \"Escape\",\n \"MetaLeft\",\n \"MetaRight\"\n ];\n\n /** If the select is expanded, we also want to control the Tab key */\n if (expanded) {\n codesToPreventDefault.push(\"Tab\");\n }\n\n /** We will handle the way certain key strokes affect the Select, unless we're searching */\n if (codesToPreventDefault.includes(event.code) && !event.metaKey && !isSearching) {\n event.preventDefault();\n }\n\n if (isSearching && codesToPreventDefaultWhenSearching.includes(event.code)) {\n event.preventDefault();\n }\n\n if (isSearching) {\n switch (event.code) {\n case \"ArrowDown\":\n case \"Enter\":\n setIsSearching(false);\n setFocusedSelectItem(0);\n return;\n case \"ArrowUp\":\n setIsSearching(false);\n setFocusedSelectItem(childrenCount - 1);\n return;\n case \"Escape\":\n case \"Tab\":\n setIsSearching(false);\n setExpanded(false);\n }\n } else {\n switch (event.code) {\n case \"ArrowDown\":\n if (!expanded) {\n setExpanded(true);\n setFocusedSelectItem(0);\n return;\n }\n setFocusedSelectItem(prevState => {\n return prevState + 1 > childrenCount - 1 ? 0 : prevState + 1;\n });\n return;\n case \"ArrowUp\":\n if (!expanded) {\n setExpanded(true);\n setFocusedSelectItem(childrenCount - 1);\n return;\n }\n\n setFocusedSelectItem(prevState => {\n return prevState - 1 < 0 ? childrenCount - 1 : prevState - 1;\n });\n return;\n case \"Space\":\n if (!expanded) {\n setExpanded(true);\n setFocusedSelectItem(0);\n return;\n }\n\n onOptionChangeHandler(event.target as HTMLElement);\n setShouldClick(true);\n setExpanded(false);\n\n return;\n case \"Enter\":\n case \"Home\":\n setFocusedSelectItem(0);\n\n return;\n case \"Tab\":\n if (childrenCount >= renderSearchCondition && expanded) {\n setIsSearching(true);\n searchInputRef.current?.focus();\n return;\n }\n setExpanded(false);\n\n return;\n case \"Escape\":\n if (expanded) {\n setExpanded(false);\n }\n return;\n case \"End\":\n setFocusedSelectItem(childrenCount - 1);\n return;\n case \"ArrowLeft\":\n if (event.metaKey && expanded) {\n event.preventDefault();\n setFocusedSelectItem(0);\n }\n return;\n case \"ArrowRight\":\n if (event.metaKey && expanded) {\n event.preventDefault();\n setFocusedSelectItem(childrenCount - 1);\n }\n return;\n }\n }\n };\n\n return { onArrowNavigation };\n};\n\nexport const useSelectPositionList = ({\n expanded,\n optionListReference,\n containerReference\n}: UseSelectPositionListParams) => {\n const [optionsListMaxHeight, setOptionsListMaxHeight] = useState(\"none\");\n const [opacity, setOpacity] = useState(0); // We set opacity because other wise if we calculate the max height you see the list full height for a split second and then it shortens.\n const [listPosition, setListPosition] = useState<Partial<Position>>({});\n\n useEffect(() => {\n rePositionList();\n }, [expanded]);\n\n const rePositionList = () => {\n if (!expanded || !optionListReference.current || !containerReference.current) {\n return;\n }\n\n // Check whether there is more space above or below the select\n // Check space between the bottom of select and top of viewport\n const spaceOnTopOfSelect = containerReference.current.getBoundingClientRect().bottom;\n\n // Check space between the top of the select and bottom of viewport\n const spaceOnBottomOfSelect =\n window.innerHeight - containerReference.current.getBoundingClientRect().top;\n\n // Set position as if there's more space on the bottom\n let position: Position = { top: \"2.75rem\", bottom: \"initial\" };\n\n // Set the position of the select\n if (spaceOnTopOfSelect > spaceOnBottomOfSelect) {\n position = { top: \"initial\", bottom: \"2.75rem\" };\n }\n\n setListPosition(position);\n\n // Calculate the potential max height of the options list\n calculateOptionListMaxHeight(position);\n };\n\n const calculateOptionListMaxHeight = (position: Position) => {\n // Calculate max height if there's more space below the select\n const listHeight = optionListReference.current?.getBoundingClientRect().height;\n const transformOrigin = position.top !== \"initial\" ? \"top\" : \"bottom\";\n\n if (!containerReference.current) {\n console.error(\n \"The containerReference is empty for some reason in the SelectService.ts for the Select component in react-lib-components. We are trying to calculate the option list max height on expand\"\n );\n return;\n }\n\n const availableSpace =\n transformOrigin === \"top\"\n ? window.innerHeight -\n containerReference.current.getBoundingClientRect()[transformOrigin] -\n 16\n : containerReference.current.getBoundingClientRect()[transformOrigin] - 16;\n\n if (listHeight && availableSpace < listHeight) {\n setOptionsListMaxHeight(`${availableSpace}px`);\n setOpacity(100);\n return;\n }\n\n setOptionsListMaxHeight(\"none\");\n setOpacity(100);\n };\n\n return {\n optionsListMaxHeight,\n opacity,\n setOpacity,\n listPosition,\n setListPosition\n };\n};\n"],"names":["useArrowNavigation","expanded","setExpanded","isSearching","setIsSearching","setFocusedSelectItem","onOptionChangeHandler","childrenCount","setShouldClick","searchInputRef","renderSearchCondition","onArrowNavigation","event","codesToPreventDefault","codesToPreventDefaultWhenSearching","push","includes","code","metaKey","preventDefault","prevState","target","_a","current","focus","useSelectPositionList","optionListReference","containerReference","optionsListMaxHeight","setOptionsListMaxHeight","useState","opacity","setOpacity","listPosition","setListPosition","useEffect","rePositionList","spaceOnTopOfSelect","getBoundingClientRect","bottom","spaceOnBottomOfSelect","window","innerHeight","top","position","calculateOptionListMaxHeight","listHeight","height","transformOrigin","console","error","availableSpace"],"mappings":"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"}
1
+ {"version":3,"file":"SelectService.esm.js","sources":["../../../../../../src/components/Form/Select/SelectService.ts"],"sourcesContent":["/*\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React, { useEffect, useState } from \"react\";\nimport {\n Position,\n UseArrowNavigationParams,\n UseSelectPositionListParams\n} from \"./Select.interfaces\";\n\n/** @scope . */\nexport const useArrowNavigation = ({\n expanded,\n setExpanded,\n isSearching,\n setIsSearching,\n setFocusedSelectItem,\n onOptionChangeHandler,\n childrenCount,\n setShouldClick,\n searchInputRef,\n addBtnRef,\n renderThreshold\n}: UseArrowNavigationParams) => {\n const onArrowNavigation = (event: React.KeyboardEvent) => {\n const codesToPreventDefault = [\n \"ArrowDown\",\n \"ArrowUp\",\n \"ArrowLeft\",\n \"ArrowRight\",\n \"Space\",\n \"Escape\",\n \"End\",\n \"Home\"\n ];\n\n const codesToPreventDefaultWhenSearching = [\n \"ArrowDown\",\n \"ArrowUp\",\n \"Enter\",\n \"Escape\",\n \"MetaLeft\",\n \"MetaRight\"\n ];\n\n const isAddBtnFocused = addBtnRef?.current === document.activeElement;\n\n if (expanded) {\n codesToPreventDefault.push(\"Tab\");\n }\n\n if (addBtnRef) {\n codesToPreventDefaultWhenSearching.push(\"Tab\");\n }\n\n if (codesToPreventDefault.includes(event.code) && !event.metaKey && !isSearching) {\n event.preventDefault();\n }\n\n if (isSearching && codesToPreventDefaultWhenSearching.includes(event.code)) {\n event.preventDefault();\n }\n\n if (isSearching) {\n switch (event.code) {\n case \"ArrowDown\":\n case \"Enter\":\n setIsSearching(false);\n setFocusedSelectItem(0);\n return;\n case \"ArrowUp\":\n setIsSearching(false);\n setFocusedSelectItem(childrenCount - 1);\n return;\n case \"Escape\":\n setIsSearching(false);\n setExpanded(false);\n return;\n case \"Tab\":\n if (addBtnRef?.current) {\n addBtnRef.current.focus();\n return;\n }\n setIsSearching(false);\n setExpanded(false);\n }\n } else {\n switch (event.code) {\n case \"ArrowDown\":\n if (!expanded) {\n setExpanded(true);\n setFocusedSelectItem(0);\n return;\n }\n setFocusedSelectItem(prevState => {\n return prevState + 1 > childrenCount - 1 ? 0 : prevState + 1;\n });\n return;\n case \"ArrowUp\":\n if (!expanded) {\n setExpanded(true);\n setFocusedSelectItem(childrenCount - 1);\n return;\n }\n\n setFocusedSelectItem(prevState => {\n return prevState - 1 < 0 ? childrenCount - 1 : prevState - 1;\n });\n return;\n case \"Space\":\n if (!expanded) {\n setExpanded(true);\n setFocusedSelectItem(0);\n return;\n }\n\n onOptionChangeHandler(event.target as HTMLElement);\n setShouldClick(true);\n setExpanded(false);\n\n return;\n case \"Enter\":\n case \"Home\":\n setFocusedSelectItem(0);\n\n return;\n case \"Tab\":\n if (childrenCount >= renderThreshold && expanded && !isAddBtnFocused) {\n setIsSearching(true);\n searchInputRef.current?.focus();\n return;\n } else if (addBtnRef?.current && expanded && !isAddBtnFocused) {\n addBtnRef.current.focus();\n return;\n }\n setExpanded(false);\n\n return;\n case \"Escape\":\n if (expanded) {\n setExpanded(false);\n }\n return;\n case \"End\":\n setFocusedSelectItem(childrenCount - 1);\n return;\n case \"ArrowLeft\":\n if (event.metaKey && expanded) {\n event.preventDefault();\n setFocusedSelectItem(0);\n }\n return;\n case \"ArrowRight\":\n if (event.metaKey && expanded) {\n event.preventDefault();\n setFocusedSelectItem(childrenCount - 1);\n }\n return;\n }\n }\n };\n\n return { onArrowNavigation };\n};\n\nexport const useSelectPositionList = ({\n expanded,\n optionListReference,\n addBtnRef,\n containerReference\n}: UseSelectPositionListParams) => {\n const [optionsListMaxHeight, setOptionsListMaxHeight] = useState(\"none\");\n const [opacity, setOpacity] = useState(0); // We set opacity because otherwise if we calculate the max height you see the list full height for a split second and then it shortens.\n const [listPosition, setListPosition] = useState<Partial<Position>>({});\n\n useEffect(() => {\n rePositionList();\n }, [expanded]);\n\n const rePositionList = () => {\n if (!expanded || !optionListReference.current || !containerReference.current) {\n return;\n }\n\n // Check whether there is more space above or below the select\n // Check space between the bottom of select and top of viewport\n const spaceOnTopOfSelect = containerReference.current.getBoundingClientRect().bottom;\n\n // Check space between the top of the select and bottom of viewport\n const spaceOnBottomOfSelect =\n window.innerHeight - containerReference.current.getBoundingClientRect().top;\n\n // Set position as if there's more space on the bottom\n let position: Position = { top: \"2.75rem\", bottom: \"initial\" };\n\n // Set the position of the select\n if (spaceOnTopOfSelect > spaceOnBottomOfSelect) {\n position = { top: \"initial\", bottom: \"2.75rem\" };\n }\n\n setListPosition(position);\n\n // Calculate the potential max height of the options list\n calculateOptionListMaxHeight(position);\n };\n\n const calculateOptionListMaxHeight = (position: Position) => {\n // Calculate max height if there's more space below the select\n const listHeight = optionListReference.current?.getBoundingClientRect().height;\n const addNewButtonHeight = addBtnRef.current?.getBoundingClientRect().height ?? 0;\n const transformOrigin = position.top !== \"initial\" ? \"top\" : \"bottom\";\n\n if (!containerReference.current) {\n console.error(\n \"The containerReference is empty for some reason in the SelectService.ts for the Select component in react-lib-components. We are trying to calculate the option list max height on expand\"\n );\n return;\n }\n\n const availableSpace =\n transformOrigin === \"top\"\n ? window.innerHeight - containerReference.current.getBoundingClientRect().bottom - 16\n : containerReference.current.getBoundingClientRect().top - 16;\n\n if (listHeight && availableSpace < listHeight + addNewButtonHeight) {\n setOptionsListMaxHeight(`${availableSpace}px`);\n setOpacity(100);\n return;\n }\n\n setOptionsListMaxHeight(\"none\");\n setOpacity(100);\n };\n\n return {\n optionsListMaxHeight,\n opacity,\n setOpacity,\n listPosition,\n setListPosition\n };\n};\n"],"names":["useArrowNavigation","expanded","setExpanded","isSearching","setIsSearching","setFocusedSelectItem","onOptionChangeHandler","childrenCount","setShouldClick","searchInputRef","addBtnRef","renderThreshold","onArrowNavigation","event","codesToPreventDefault","codesToPreventDefaultWhenSearching","isAddBtnFocused","current","document","activeElement","push","includes","code","metaKey","preventDefault","focus","prevState","target","_a","useSelectPositionList","optionListReference","containerReference","optionsListMaxHeight","setOptionsListMaxHeight","useState","opacity","setOpacity","listPosition","setListPosition","useEffect","rePositionList","spaceOnTopOfSelect","getBoundingClientRect","bottom","spaceOnBottomOfSelect","window","innerHeight","top","position","calculateOptionListMaxHeight","listHeight","height","addNewButtonHeight","_c","_b","transformOrigin","console","error","availableSpace"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import e from "../../../lib/style-inject.js";var i='/*!\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*!\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*!\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.Textarea-module_sr-only__aJaJl{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.Textarea-module_hidden__-YcqE{display:none}.Textarea-module_slide-in__r1Z6F{animation:Textarea-module_slide-in__r1Z6F .5s forwards}@media (prefers-reduced-motion:reduce){.Textarea-module_slide-in__r1Z6F{animation-duration:.1ms}}.Textarea-module_slide-out__tWdHB{animation:Textarea-module_slide-out__tWdHB .5s forwards}@media (prefers-reduced-motion:reduce){.Textarea-module_slide-out__tWdHB{animation-duration:.1ms}}@keyframes Textarea-module_slide-in__r1Z6F{0%{transform:translateY(100vh)}to{transform:translateY(0)}}@keyframes Textarea-module_slide-out__tWdHB{0%{transform:translateY(0)}to{transform:translateY(100vh)}}\n/*!\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.Textarea-module_textarea-wrapper__an3Pf{box-sizing:border-box;position:relative;width:100%}.Textarea-module_textarea-wrapper__an3Pf [data-icon-status=error],.Textarea-module_textarea-wrapper__an3Pf [data-icon-status=success]{font-size:1.25rem;position:absolute;right:1.25rem;top:.85rem;z-index:1}.Textarea-module_textarea-wrapper__an3Pf [data-icon-status=error]:before,.Textarea-module_textarea-wrapper__an3Pf [data-icon-status=success]:before{align-items:center;display:flex;font-size:1.125rem;height:1.25rem;justify-content:center;width:1.25rem}.Textarea-module_textarea-wrapper__an3Pf [data-icon-status=success]{color:var(--success)}.Textarea-module_textarea-wrapper__an3Pf [data-icon-status=error]{color:var(--error)}.Textarea-module_textarea-wrapper__an3Pf:hover .Textarea-module_outline__tyQcN{background-color:var(--input-hover-background-color);border-color:var(--default)}.Textarea-module_textarea-wrapper__an3Pf .Textarea-module_outline__tyQcN.Textarea-module_disabled__9Ay4b{background-color:var(--input-disabled-background-color);border-color:var(--disabled)}.Textarea-module_textarea-wrapper__an3Pf .Textarea-module_outline__tyQcN.Textarea-module_error__pH5ff{border-color:var(--error)}.Textarea-module_textarea-wrapper__an3Pf .Textarea-module_outline__tyQcN.Textarea-module_focus__CKf36{border-width:var(--input-border-width-focus)}.Textarea-module_textarea-wrapper__an3Pf .Textarea-module_outline__tyQcN.Textarea-module_focus__CKf36:not(.Textarea-module_error__pH5ff){border-color:var(--color-focus)}.Textarea-module_textarea__ss1Sy{background-color:transparent;border:0;border-radius:var(--input-border-radius);box-sizing:border-box;color:var(--color-blue-grey900);font-family:var(--font-family);font-size:var(--form-control-font-size);margin:var(--input-border-width) 0;padding:.625rem .5rem;position:relative;resize:vertical;transition-duration:.2s;transition-property:all;transition-timing-function:ease-in-out;vertical-align:top;width:calc(100% - var(--input-border-width));z-index:1}@media (prefers-reduced-motion:reduce){.Textarea-module_textarea__ss1Sy{transition-duration:.1ms}}.Textarea-module_textarea__ss1Sy:disabled{color:var(--greyed-out);cursor:not-allowed}.Textarea-module_textarea__ss1Sy:focus:not(:disabled){outline:none}.Textarea-module_outline__tyQcN{border-color:var(--light-border-color);border-radius:var(--input-border-radius);border-style:var(--input-border-style);border-width:var(--input-border-width);inset:0;margin:0;padding:0;pointer-events:none;position:absolute;transition-duration:.2s;transition-property:all;transition-timing-function:ease-in-out}@media (prefers-reduced-motion:reduce){.Textarea-module_outline__tyQcN{transition-duration:.1ms}}.Textarea-module_error__pH5ff{border-color:var(--error)}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlRleHRhcmVhLm1vZHVsZS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztFQWNFO0FBQ0Y7Ozs7Ozs7Ozs7Ozs7O0VBY0U7QUFDRjs7Ozs7Ozs7Ozs7Ozs7RUFjRSxDQUNGLGdDQU9FLGtCQUFzQixDQUN0QixRQUFTLENBTFQsVUFBVyxDQUVYLFdBQVksQ0FDWixlQUFnQixDQUZoQixTQUFVLENBSFYsaUJBQWtCLENBQ2xCLFNBT0YsQ0FFQSwrQkFDRSxZQUNGLENBRUEsaUNBQ0Usc0RBQ0YsQ0FDQSx1Q0FDRSxpQ0FDRSx1QkFDRixDQUNGLENBRUEsa0NBQ0UsdURBQ0YsQ0FDQSx1Q0FDRSxrQ0FDRSx1QkFDRixDQUNGLENBRUEsMkNBQ0UsR0FDRSwyQkFDRixDQUNBLEdBQ0UsdUJBQ0YsQ0FDRixDQUNBLDRDQUNFLEdBQ0UsdUJBQ0YsQ0FDQSxHQUNFLDJCQUNGLENBQ0Y7QUFDQTs7Ozs7Ozs7Ozs7Ozs7RUFjRSxDQUNGLHlDQUVFLHFCQUFzQixDQUR0QixpQkFBa0IsQ0FFbEIsVUFDRixDQUNBLHNJQU1FLGlCQUFrQixDQUpsQixpQkFBa0IsQ0FDbEIsYUFBYyxDQUVkLFVBQVksQ0FEWixTQUdGLENBQ0Esb0pBTUUsa0JBQW1CLENBRG5CLFlBQWEsQ0FIYixrQkFBbUIsQ0FDbkIsY0FBZSxDQUlmLHNCQUF1QixDQUh2QixhQUlGLENBQ0Esb0VBQ0Usb0JBQ0YsQ0FDQSxrRUFDRSxrQkFDRixDQUNBLCtFQUVFLG9EQUFxRCxDQURyRCwyQkFFRixDQUNBLHlHQUVFLHVEQUF3RCxDQUR4RCw0QkFFRixDQUNBLHNHQUNFLHlCQUNGLENBQ0Esc0dBQ0UsNENBQ0YsQ0FDQSx5SUFDRSwrQkFDRixDQUVBLGlDQWNFLDRCQUE2QixDQVg3QixRQUFTLENBQ1Qsd0NBQXlDLENBRnpDLHFCQUFzQixDQVF0QiwrQkFBZ0MsQ0FGaEMsOEJBQStCLENBQy9CLHVDQUF3QyxDQVN4QyxrQ0FBbUMsQ0FqQm5DLHFCQUF3QixDQVl4QixpQkFBa0IsQ0FEbEIsZUFBZ0IsQ0FOaEIsdUJBQXlCLENBRHpCLHVCQUF3QixDQUV4QixzQ0FBdUMsQ0FJdkMsa0JBQW1CLENBTW5CLDRDQUE2QyxDQUY3QyxTQUlGLENBQ0EsdUNBQ0UsaUNBQ0Usd0JBQ0YsQ0FDRixDQUNBLDBDQUVFLHVCQUF3QixDQUR4QixrQkFFRixDQUNBLHNEQUNFLFlBQ0YsQ0FFQSxnQ0FNRSxzQ0FBdUMsQ0FHdkMsd0NBQXlDLENBRnpDLHNDQUF1QyxDQUN2QyxzQ0FBdUMsQ0FIdkMsT0FBUSxDQUZSLFFBQVMsQ0FDVCxTQUFVLENBSFYsbUJBQW9CLENBQ3BCLGlCQUFrQixDQVNsQix1QkFBeUIsQ0FEekIsdUJBQXdCLENBRXhCLHNDQUNGLENBQ0EsdUNBQ0UsZ0NBQ0Usd0JBQ0YsQ0FDRixDQUVBLDhCQUNFLHlCQUNGIiwiZmlsZSI6IlRleHRhcmVhLm1vZHVsZS5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBDb3B5cmlnaHQgMjAyMiBPbmVXZWxjb21lIEIuVi5cbiAqXG4gKiAgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogICAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqICAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qIVxuICogQ29weXJpZ2h0IDIwMjIgT25lV2VsY29tZSBCLlYuXG4gKlxuICogICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqICAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqICAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiAgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiAgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqICAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vKiFcbiAqIENvcHlyaWdodCAyMDIyIE9uZVdlbGNvbWUgQi5WLlxuICpcbiAqICAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiAgICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiAgICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiAgICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiAgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLnNyLW9ubHkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIGJvcmRlcjogMDtcbn1cblxuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5zbGlkZS1pbiB7XG4gIGFuaW1hdGlvbjogc2xpZGUtaW4gMC41cyBmb3J3YXJkcztcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5zbGlkZS1pbiB7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjFtcztcbiAgfVxufVxuXG4uc2xpZGUtb3V0IHtcbiAgYW5pbWF0aW9uOiBzbGlkZS1vdXQgMC41cyBmb3J3YXJkcztcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5zbGlkZS1vdXQge1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4xbXM7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZS1pbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwdmgpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgc2xpZGUtb3V0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMHZoKTtcbiAgfVxufVxuLyohXG4gKiBDb3B5cmlnaHQgMjAyMiBPbmVXZWxjb21lIEIuVi5cbiAqXG4gKiAgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogICAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqICAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi50ZXh0YXJlYS13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbn1cbi50ZXh0YXJlYS13cmFwcGVyIFtkYXRhLWljb24tc3RhdHVzPXN1Y2Nlc3NdLFxuLnRleHRhcmVhLXdyYXBwZXIgW2RhdGEtaWNvbi1zdGF0dXM9ZXJyb3JdIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMS4yNXJlbTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAwLjg1cmVtO1xuICBmb250LXNpemU6IDEuMjVyZW07XG59XG4udGV4dGFyZWEtd3JhcHBlciBbZGF0YS1pY29uLXN0YXR1cz1zdWNjZXNzXTpiZWZvcmUsXG4udGV4dGFyZWEtd3JhcHBlciBbZGF0YS1pY29uLXN0YXR1cz1lcnJvcl06YmVmb3JlIHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgaGVpZ2h0OiAxLjI1cmVtO1xuICB3aWR0aDogMS4yNXJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4udGV4dGFyZWEtd3JhcHBlciBbZGF0YS1pY29uLXN0YXR1cz1zdWNjZXNzXSB7XG4gIGNvbG9yOiB2YXIoLS1zdWNjZXNzKTtcbn1cbi50ZXh0YXJlYS13cmFwcGVyIFtkYXRhLWljb24tc3RhdHVzPWVycm9yXSB7XG4gIGNvbG9yOiB2YXIoLS1lcnJvcik7XG59XG4udGV4dGFyZWEtd3JhcHBlcjpob3ZlciAub3V0bGluZSB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tZGVmYXVsdCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlucHV0LWhvdmVyLWJhY2tncm91bmQtY29sb3IpO1xufVxuLnRleHRhcmVhLXdyYXBwZXIgLm91dGxpbmUuZGlzYWJsZWQge1xuICBib3JkZXItY29sb3I6IHZhcigtLWRpc2FibGVkKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW5wdXQtZGlzYWJsZWQtYmFja2dyb3VuZC1jb2xvcik7XG59XG4udGV4dGFyZWEtd3JhcHBlciAub3V0bGluZS5lcnJvciB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tZXJyb3IpO1xufVxuLnRleHRhcmVhLXdyYXBwZXIgLm91dGxpbmUuZm9jdXMge1xuICBib3JkZXItd2lkdGg6IHZhcigtLWlucHV0LWJvcmRlci13aWR0aC1mb2N1cyk7XG59XG4udGV4dGFyZWEtd3JhcHBlciAub3V0bGluZS5mb2N1czpub3QoLmVycm9yKSB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItZm9jdXMpO1xufVxuXG4udGV4dGFyZWEge1xuICBwYWRkaW5nOiAwLjYyNXJlbSAwLjVyZW07XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0taW5wdXQtYm9yZGVyLXJhZGl1cyk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGFsbDtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4ycztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xuICBmb250LXNpemU6IHZhcigtLWZvcm0tY29udHJvbC1mb250LXNpemUpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItYmx1ZS1ncmV5OTAwKTtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgei1pbmRleDogMTtcbiAgLyogbWFraW5nIHNwYWNlIGZvciBvdXRsaW5lIGluIHRleHQgYXJlYSB3aGVuIHNjcm9sbCBiYXIgaXMgdmlzaWJsZTogd2lkdGggc21hbGxlciBhbmQgbWFyZ2luIHRvcCAmIGJvdHRvbSB0byBoYXZlIHNwYWNlIGZvciBib3JkZXIgKi9cbiAgd2lkdGg6IGNhbGMoMTAwJSAtIHZhcigtLWlucHV0LWJvcmRlci13aWR0aCkpO1xuICBtYXJnaW46IHZhcigtLWlucHV0LWJvcmRlci13aWR0aCkgMDtcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC50ZXh0YXJlYSB7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xbXM7XG4gIH1cbn1cbi50ZXh0YXJlYTpkaXNhYmxlZCB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIGNvbG9yOiB2YXIoLS1ncmV5ZWQtb3V0KTtcbn1cbi50ZXh0YXJlYTpmb2N1czpub3QoOmRpc2FibGVkKSB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi5vdXRsaW5lIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBpbnNldDogMDtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1saWdodC1ib3JkZXItY29sb3IpO1xuICBib3JkZXItc3R5bGU6IHZhcigtLWlucHV0LWJvcmRlci1zdHlsZSk7XG4gIGJvcmRlci13aWR0aDogdmFyKC0taW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0taW5wdXQtYm9yZGVyLXJhZGl1cyk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGFsbDtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4ycztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLm91dGxpbmUge1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMW1zO1xuICB9XG59XG5cbi5lcnJvciB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tZXJyb3IpO1xufSJdfQ== */';var a={"sr-only":"Textarea-module_sr-only__aJaJl",hidden:"Textarea-module_hidden__-YcqE","slide-in":"Textarea-module_slide-in__r1Z6F","slide-out":"Textarea-module_slide-out__tWdHB","textarea-wrapper":"Textarea-module_textarea-wrapper__an3Pf",outline:"Textarea-module_outline__tyQcN",disabled:"Textarea-module_disabled__9Ay4b",error:"Textarea-module_error__pH5ff",focus:"Textarea-module_focus__CKf36",textarea:"Textarea-module_textarea__ss1Sy"};e(i);export{a as default};
1
+ import e from "../../../lib/style-inject.js";var i='/*!\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*!\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*!\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.Textarea-module_sr-only__aJaJl{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.Textarea-module_hidden__-YcqE{display:none}.Textarea-module_slide-in__r1Z6F{animation:Textarea-module_slide-in__r1Z6F .5s forwards}@media (prefers-reduced-motion:reduce){.Textarea-module_slide-in__r1Z6F{animation-duration:.1ms}}.Textarea-module_slide-out__tWdHB{animation:Textarea-module_slide-out__tWdHB .5s forwards}@media (prefers-reduced-motion:reduce){.Textarea-module_slide-out__tWdHB{animation-duration:.1ms}}@keyframes Textarea-module_slide-in__r1Z6F{0%{transform:translateY(100vh)}to{transform:translateY(0)}}@keyframes Textarea-module_slide-out__tWdHB{0%{transform:translateY(0)}to{transform:translateY(100vh)}}\n/*!\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.Textarea-module_textarea-wrapper__an3Pf{box-sizing:border-box;position:relative;width:100%}.Textarea-module_textarea-wrapper__an3Pf [data-icon-status=error],.Textarea-module_textarea-wrapper__an3Pf [data-icon-status=success]{font-size:1.25rem;position:absolute;right:1.25rem;top:.85rem;z-index:1}.Textarea-module_textarea-wrapper__an3Pf [data-icon-status=error]:before,.Textarea-module_textarea-wrapper__an3Pf [data-icon-status=success]:before{align-items:center;display:flex;font-size:1.125rem;height:1.25rem;justify-content:center;width:1.25rem}.Textarea-module_textarea-wrapper__an3Pf [data-icon-status=success]{color:var(--success)}.Textarea-module_textarea-wrapper__an3Pf [data-icon-status=error]{color:var(--error)}.Textarea-module_textarea-wrapper__an3Pf:hover .Textarea-module_outline__tyQcN{background-color:var(--input-hover-background-color);border-color:var(--default)}.Textarea-module_textarea-wrapper__an3Pf .Textarea-module_outline__tyQcN.Textarea-module_disabled__9Ay4b{background-color:var(--input-disabled-background-color);border-color:var(--disabled)}.Textarea-module_textarea-wrapper__an3Pf .Textarea-module_outline__tyQcN.Textarea-module_error__pH5ff{border-color:var(--error)}.Textarea-module_textarea-wrapper__an3Pf .Textarea-module_outline__tyQcN.Textarea-module_focus__CKf36{border-width:var(--input-border-width-focus)}.Textarea-module_textarea-wrapper__an3Pf .Textarea-module_outline__tyQcN.Textarea-module_focus__CKf36:not(.Textarea-module_error__pH5ff){border-color:var(--color-focus)}.Textarea-module_textarea__ss1Sy{background-color:initial;border:0;border-radius:var(--input-border-radius);box-sizing:border-box;color:var(--color-blue-grey900);font-family:var(--font-family);font-size:var(--form-control-font-size);margin:var(--input-border-width) 0;padding:.625rem .5rem;position:relative;resize:vertical;transition-duration:.2s;transition-property:all;transition-timing-function:ease-in-out;vertical-align:top;width:calc(100% - var(--input-border-width));z-index:1}@media (prefers-reduced-motion:reduce){.Textarea-module_textarea__ss1Sy{transition-duration:.1ms}}.Textarea-module_textarea__ss1Sy:disabled{color:var(--greyed-out);cursor:not-allowed}.Textarea-module_textarea__ss1Sy:focus:not(:disabled){outline:none}.Textarea-module_outline__tyQcN{border-color:var(--light-border-color);border-radius:var(--input-border-radius);border-style:var(--input-border-style);border-width:var(--input-border-width);inset:0;margin:0;padding:0;pointer-events:none;position:absolute;transition-duration:.2s;transition-property:all;transition-timing-function:ease-in-out}@media (prefers-reduced-motion:reduce){.Textarea-module_outline__tyQcN{transition-duration:.1ms}}.Textarea-module_error__pH5ff{border-color:var(--error)}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlRleHRhcmVhLm1vZHVsZS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztFQWNFO0FBQ0Y7Ozs7Ozs7Ozs7Ozs7O0VBY0U7QUFDRjs7Ozs7Ozs7Ozs7Ozs7RUFjRSxDQUNGLGdDQU9FLGtCQUFzQixDQUN0QixRQUFTLENBTFQsVUFBVyxDQUVYLFdBQVksQ0FDWixlQUFnQixDQUZoQixTQUFVLENBSFYsaUJBQWtCLENBQ2xCLFNBT0YsQ0FFQSwrQkFDRSxZQUNGLENBRUEsaUNBQ0Usc0RBQ0YsQ0FDQSx1Q0FDRSxpQ0FDRSx1QkFDRixDQUNGLENBRUEsa0NBQ0UsdURBQ0YsQ0FDQSx1Q0FDRSxrQ0FDRSx1QkFDRixDQUNGLENBRUEsMkNBQ0UsR0FDRSwyQkFDRixDQUNBLEdBQ0UsdUJBQ0YsQ0FDRixDQUNBLDRDQUNFLEdBQ0UsdUJBQ0YsQ0FDQSxHQUNFLDJCQUNGLENBQ0Y7QUFDQTs7Ozs7Ozs7Ozs7Ozs7RUFjRSxDQUNGLHlDQUVFLHFCQUFzQixDQUR0QixpQkFBa0IsQ0FFbEIsVUFDRixDQUNBLHNJQU1FLGlCQUFrQixDQUpsQixpQkFBa0IsQ0FDbEIsYUFBYyxDQUVkLFVBQVksQ0FEWixTQUdGLENBQ0Esb0pBTUUsa0JBQW1CLENBRG5CLFlBQWEsQ0FIYixrQkFBbUIsQ0FDbkIsY0FBZSxDQUlmLHNCQUF1QixDQUh2QixhQUlGLENBQ0Esb0VBQ0Usb0JBQ0YsQ0FDQSxrRUFDRSxrQkFDRixDQUNBLCtFQUVFLG9EQUFxRCxDQURyRCwyQkFFRixDQUNBLHlHQUVFLHVEQUF3RCxDQUR4RCw0QkFFRixDQUNBLHNHQUNFLHlCQUNGLENBQ0Esc0dBQ0UsNENBQ0YsQ0FDQSx5SUFDRSwrQkFDRixDQUVBLGlDQWNFLHdCQUE2QixDQVg3QixRQUFTLENBQ1Qsd0NBQXlDLENBRnpDLHFCQUFzQixDQVF0QiwrQkFBZ0MsQ0FGaEMsOEJBQStCLENBQy9CLHVDQUF3QyxDQVN4QyxrQ0FBbUMsQ0FqQm5DLHFCQUF3QixDQVl4QixpQkFBa0IsQ0FEbEIsZUFBZ0IsQ0FOaEIsdUJBQXlCLENBRHpCLHVCQUF3QixDQUV4QixzQ0FBdUMsQ0FJdkMsa0JBQW1CLENBTW5CLDRDQUE2QyxDQUY3QyxTQUlGLENBQ0EsdUNBQ0UsaUNBQ0Usd0JBQ0YsQ0FDRixDQUNBLDBDQUVFLHVCQUF3QixDQUR4QixrQkFFRixDQUNBLHNEQUNFLFlBQ0YsQ0FFQSxnQ0FNRSxzQ0FBdUMsQ0FHdkMsd0NBQXlDLENBRnpDLHNDQUF1QyxDQUN2QyxzQ0FBdUMsQ0FIdkMsT0FBUSxDQUZSLFFBQVMsQ0FDVCxTQUFVLENBSFYsbUJBQW9CLENBQ3BCLGlCQUFrQixDQVNsQix1QkFBeUIsQ0FEekIsdUJBQXdCLENBRXhCLHNDQUNGLENBQ0EsdUNBQ0UsZ0NBQ0Usd0JBQ0YsQ0FDRixDQUVBLDhCQUNFLHlCQUNGIiwiZmlsZSI6IlRleHRhcmVhLm1vZHVsZS5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBDb3B5cmlnaHQgMjAyMiBPbmVXZWxjb21lIEIuVi5cbiAqXG4gKiAgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogICAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqICAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qIVxuICogQ29weXJpZ2h0IDIwMjIgT25lV2VsY29tZSBCLlYuXG4gKlxuICogICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqICAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqICAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiAgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiAgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqICAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vKiFcbiAqIENvcHlyaWdodCAyMDIyIE9uZVdlbGNvbWUgQi5WLlxuICpcbiAqICAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiAgICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiAgICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiAgICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiAgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLnNyLW9ubHkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIGJvcmRlcjogMDtcbn1cblxuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5zbGlkZS1pbiB7XG4gIGFuaW1hdGlvbjogc2xpZGUtaW4gMC41cyBmb3J3YXJkcztcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5zbGlkZS1pbiB7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjFtcztcbiAgfVxufVxuXG4uc2xpZGUtb3V0IHtcbiAgYW5pbWF0aW9uOiBzbGlkZS1vdXQgMC41cyBmb3J3YXJkcztcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5zbGlkZS1vdXQge1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4xbXM7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZS1pbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwdmgpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgc2xpZGUtb3V0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMHZoKTtcbiAgfVxufVxuLyohXG4gKiBDb3B5cmlnaHQgMjAyMiBPbmVXZWxjb21lIEIuVi5cbiAqXG4gKiAgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogICAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqICAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi50ZXh0YXJlYS13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbn1cbi50ZXh0YXJlYS13cmFwcGVyIFtkYXRhLWljb24tc3RhdHVzPXN1Y2Nlc3NdLFxuLnRleHRhcmVhLXdyYXBwZXIgW2RhdGEtaWNvbi1zdGF0dXM9ZXJyb3JdIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMS4yNXJlbTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAwLjg1cmVtO1xuICBmb250LXNpemU6IDEuMjVyZW07XG59XG4udGV4dGFyZWEtd3JhcHBlciBbZGF0YS1pY29uLXN0YXR1cz1zdWNjZXNzXTpiZWZvcmUsXG4udGV4dGFyZWEtd3JhcHBlciBbZGF0YS1pY29uLXN0YXR1cz1lcnJvcl06YmVmb3JlIHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgaGVpZ2h0OiAxLjI1cmVtO1xuICB3aWR0aDogMS4yNXJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4udGV4dGFyZWEtd3JhcHBlciBbZGF0YS1pY29uLXN0YXR1cz1zdWNjZXNzXSB7XG4gIGNvbG9yOiB2YXIoLS1zdWNjZXNzKTtcbn1cbi50ZXh0YXJlYS13cmFwcGVyIFtkYXRhLWljb24tc3RhdHVzPWVycm9yXSB7XG4gIGNvbG9yOiB2YXIoLS1lcnJvcik7XG59XG4udGV4dGFyZWEtd3JhcHBlcjpob3ZlciAub3V0bGluZSB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tZGVmYXVsdCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlucHV0LWhvdmVyLWJhY2tncm91bmQtY29sb3IpO1xufVxuLnRleHRhcmVhLXdyYXBwZXIgLm91dGxpbmUuZGlzYWJsZWQge1xuICBib3JkZXItY29sb3I6IHZhcigtLWRpc2FibGVkKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW5wdXQtZGlzYWJsZWQtYmFja2dyb3VuZC1jb2xvcik7XG59XG4udGV4dGFyZWEtd3JhcHBlciAub3V0bGluZS5lcnJvciB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tZXJyb3IpO1xufVxuLnRleHRhcmVhLXdyYXBwZXIgLm91dGxpbmUuZm9jdXMge1xuICBib3JkZXItd2lkdGg6IHZhcigtLWlucHV0LWJvcmRlci13aWR0aC1mb2N1cyk7XG59XG4udGV4dGFyZWEtd3JhcHBlciAub3V0bGluZS5mb2N1czpub3QoLmVycm9yKSB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItZm9jdXMpO1xufVxuXG4udGV4dGFyZWEge1xuICBwYWRkaW5nOiAwLjYyNXJlbSAwLjVyZW07XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0taW5wdXQtYm9yZGVyLXJhZGl1cyk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGFsbDtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4ycztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xuICBmb250LXNpemU6IHZhcigtLWZvcm0tY29udHJvbC1mb250LXNpemUpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItYmx1ZS1ncmV5OTAwKTtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgei1pbmRleDogMTtcbiAgLyogbWFraW5nIHNwYWNlIGZvciBvdXRsaW5lIGluIHRleHQgYXJlYSB3aGVuIHNjcm9sbCBiYXIgaXMgdmlzaWJsZTogd2lkdGggc21hbGxlciBhbmQgbWFyZ2luIHRvcCAmIGJvdHRvbSB0byBoYXZlIHNwYWNlIGZvciBib3JkZXIgKi9cbiAgd2lkdGg6IGNhbGMoMTAwJSAtIHZhcigtLWlucHV0LWJvcmRlci13aWR0aCkpO1xuICBtYXJnaW46IHZhcigtLWlucHV0LWJvcmRlci13aWR0aCkgMDtcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC50ZXh0YXJlYSB7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xbXM7XG4gIH1cbn1cbi50ZXh0YXJlYTpkaXNhYmxlZCB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIGNvbG9yOiB2YXIoLS1ncmV5ZWQtb3V0KTtcbn1cbi50ZXh0YXJlYTpmb2N1czpub3QoOmRpc2FibGVkKSB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi5vdXRsaW5lIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBpbnNldDogMDtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1saWdodC1ib3JkZXItY29sb3IpO1xuICBib3JkZXItc3R5bGU6IHZhcigtLWlucHV0LWJvcmRlci1zdHlsZSk7XG4gIGJvcmRlci13aWR0aDogdmFyKC0taW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0taW5wdXQtYm9yZGVyLXJhZGl1cyk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGFsbDtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4ycztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLm91dGxpbmUge1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMW1zO1xuICB9XG59XG5cbi5lcnJvciB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tZXJyb3IpO1xufSJdfQ== */';var a={"sr-only":"Textarea-module_sr-only__aJaJl",hidden:"Textarea-module_hidden__-YcqE","slide-in":"Textarea-module_slide-in__r1Z6F","slide-out":"Textarea-module_slide-out__tWdHB","textarea-wrapper":"Textarea-module_textarea-wrapper__an3Pf",outline:"Textarea-module_outline__tyQcN",disabled:"Textarea-module_disabled__9Ay4b",error:"Textarea-module_error__pH5ff",focus:"Textarea-module_focus__CKf36",textarea:"Textarea-module_textarea__ss1Sy"};e(i);export{a as default};
2
2
  //# sourceMappingURL=Textarea.module.esm.js.map
@@ -1,2 +1,2 @@
1
- import e from"react";import r from"./Icon.module.esm.js";var l;(function(e){e["Bell"]="bell";e["BellAlt"]="bell-alt";e["Bookmark"]="bookmark";e["BookmarkAlt"]="bookmark-alt";e["Build"]="build";e["Calendar"]="calendar";e["Change"]="change";e["Checkmark"]="checkmark";e["CheckmarkCircle"]="checkmark-circle";e["CheckmarkCircleAlt"]="checkmark-circle-alt";e["CheckmarkCircleBreakout"]="checkmark-circle-breakout";e["CheckmarkSquare"]="checkmark-square";e["ChevronUp"]="chevron-up";e["ChevronDown"]="chevron-down";e["ChevronLeft"]="chevron-left";e["ChevronRight"]="chevron-right";e["Circle"]="circle";e["Clock"]="clock";e["Copy"]="copy";e["Edit"]="edit";e["Ellipsis"]="ellipsis";e["EllipsisAlt"]="ellipsis-alt";e["Equal"]="equal";e["Error"]="error-circle";e["ErrorAlt"]="error-circle-alt";e["Eye"]="eye";e["EyeBlocked"]="eye-blocked";e["Filter"]="filter";e["FilterAlt"]="filter-alt";e["FilterAltArrow"]="filter-alt-arrow";e["FilterAltTimes"]="filter-alt-times";e["Forbidden"]="forbidden";e["Fullscreen"]="fullscreen";e["FullscreenExit"]="fullscreen-exit";e["Gearwheel"]="gearwheel";e["Grid"]="grid";e["Hamburger"]="hamburger";e["HomeFilled"]="home-filled";e["Heart"]="heart";e["Image"]="image";e["InfoBell"]="info-bell";e["InfoCircle"]="info-circle";e["Link"]="link";e["MinusSquare"]="minus-square";e["NavigationFirst"]="navigation-first";e["NavigationLast"]="navigation-last";e["Plus"]="plus";e["Radio"]="radio";e["Refresh"]="refresh";e["Search"]="search";e["Share"]="share";e["Square"]="square";e["Star"]="star";e["StarAlt"]="star-alt";e["TableSearch"]="table-search";e["Times"]="times";e["TimesCircle"]="times-circle";e["TimesCircleAlt"]="times-circle-alt";e["TimesThin"]="times-thin";e["Trash"]="trash";e["TriangleDown"]="triangle-down";e["TriangleDownCircle"]="triangle-down-circle";e["TriangleLeft"]="triangle-left";e["TriangleRight"]="triangle-right";e["TriangleUp"]="triangle-up";e["Undo"]="undo";e["Warning"]="warning";e["FileOutline"]="file-outline";e["FileUpload"]="file-upload-outline";e["FileDownload"]="file-download-outline"})(l||(l={}));const i=({icon:l,color:i,className:a,style:t,size:o,tag:c="span",...n},s)=>{const h=c;return e.createElement(h,{...n,ref:s,style:{color:i,...t,fontSize:o},"data-icon":true,"aria-hidden":"true",className:`${r["icon"]} ${r["icon-"+l]} ${a?a:""}`})};const a=e.forwardRef(i);export{a as Icon,l as Icons};
1
+ import e from"react";import r from"./Icon.module.esm.js";var l;(function(e){e["Bell"]="bell";e["BellAlt"]="bell-alt";e["Bookmark"]="bookmark";e["BookmarkAlt"]="bookmark-alt";e["Build"]="build";e["Calendar"]="calendar";e["Change"]="change";e["Checkmark"]="checkmark";e["CheckmarkCircle"]="checkmark-circle";e["CheckmarkCircleAlt"]="checkmark-circle-alt";e["CheckmarkCircleBreakout"]="checkmark-circle-breakout";e["CheckmarkSquare"]="checkmark-square";e["ChevronUp"]="chevron-up";e["ChevronDown"]="chevron-down";e["ChevronLeft"]="chevron-left";e["ChevronRight"]="chevron-right";e["Circle"]="circle";e["Clock"]="clock";e["Copy"]="copy";e["Edit"]="edit";e["Ellipsis"]="ellipsis";e["EllipsisAlt"]="ellipsis-alt";e["Equal"]="equal";e["Error"]="error-circle";e["ErrorAlt"]="error-circle-alt";e["Eye"]="eye";e["EyeBlocked"]="eye-blocked";e["Filter"]="filter";e["FilterAlt"]="filter-alt";e["FilterAltArrow"]="filter-alt-arrow";e["FilterAltTimes"]="filter-alt-times";e["Forbidden"]="forbidden";e["Fullscreen"]="fullscreen";e["FullscreenExit"]="fullscreen-exit";e["Gearwheel"]="gearwheel";e["Grid"]="grid";e["Hamburger"]="hamburger";e["HomeFilled"]="home-filled";e["Heart"]="heart";e["Image"]="image";e["InfoBell"]="info-bell";e["InfoCircle"]="info-circle";e["Link"]="link";e["MinusSquare"]="minus-square";e["NavigationFirst"]="navigation-first";e["NavigationLast"]="navigation-last";e["Plus"]="plus";e["Radio"]="radio";e["Refresh"]="refresh";e["Search"]="search";e["Share"]="share";e["Square"]="square";e["Star"]="star";e["StarAlt"]="star-alt";e["TableSearch"]="table-search";e["Times"]="times";e["TimesCircle"]="times-circle";e["TimesCircleAlt"]="times-circle-alt";e["TimesThin"]="times-thin";e["Trash"]="trash";e["TriangleDown"]="triangle-down";e["TriangleDownCircle"]="triangle-down-circle";e["TriangleLeft"]="triangle-left";e["TriangleRight"]="triangle-right";e["TriangleUp"]="triangle-up";e["Undo"]="undo";e["Warning"]="warning";e["FileOutline"]="file-outline";e["FileUpload"]="file-upload-outline";e["FileDownload"]="file-download-outline";e["UploadOutline"]="upload-outline";e["ReplyOutline"]="reply-outline";e["SaveOutline"]="save-outline"})(l||(l={}));const i=({icon:l,color:i,className:a,style:t,size:o,tag:n="span",...c},s)=>{const h=n;return e.createElement(h,{...c,ref:s,style:{color:i,...t,fontSize:o},"data-icon":true,"aria-hidden":"true",className:`${r["icon"]} ${r["icon-"+l]} ${a?a:""}`})};const a=e.forwardRef(i);export{a as Icon,l as Icons};
2
2
  //# sourceMappingURL=Icon.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Icon.esm.js","sources":["../../../../../src/components/Icon/Icon.tsx"],"sourcesContent":["/*\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React, { ForwardRefRenderFunction, ComponentPropsWithRef } from \"react\";\nimport classes from \"./Icon.module.scss\";\n\nexport enum Icons {\n Bell = \"bell\",\n BellAlt = \"bell-alt\",\n Bookmark = \"bookmark\",\n BookmarkAlt = \"bookmark-alt\",\n Build = \"build\",\n Calendar = \"calendar\",\n Change = \"change\",\n Checkmark = \"checkmark\",\n CheckmarkCircle = \"checkmark-circle\",\n CheckmarkCircleAlt = \"checkmark-circle-alt\",\n CheckmarkCircleBreakout = \"checkmark-circle-breakout\",\n CheckmarkSquare = \"checkmark-square\",\n ChevronUp = \"chevron-up\",\n ChevronDown = \"chevron-down\",\n ChevronLeft = \"chevron-left\",\n ChevronRight = \"chevron-right\",\n Circle = \"circle\",\n Clock = \"clock\",\n Copy = \"copy\",\n Edit = \"edit\",\n Ellipsis = \"ellipsis\",\n EllipsisAlt = \"ellipsis-alt\",\n Equal = \"equal\",\n Error = \"error-circle\",\n ErrorAlt = \"error-circle-alt\",\n Eye = \"eye\",\n EyeBlocked = \"eye-blocked\",\n Filter = \"filter\",\n FilterAlt = \"filter-alt\",\n FilterAltArrow = \"filter-alt-arrow\",\n FilterAltTimes = \"filter-alt-times\",\n Forbidden = \"forbidden\",\n Fullscreen = \"fullscreen\",\n FullscreenExit = \"fullscreen-exit\",\n Gearwheel = \"gearwheel\",\n Grid = \"grid\",\n Hamburger = \"hamburger\",\n HomeFilled = \"home-filled\",\n Heart = \"heart\",\n Image = \"image\",\n InfoBell = \"info-bell\",\n InfoCircle = \"info-circle\",\n Link = \"link\",\n MinusSquare = \"minus-square\",\n NavigationFirst = \"navigation-first\",\n NavigationLast = \"navigation-last\",\n Plus = \"plus\",\n Radio = \"radio\",\n Refresh = \"refresh\",\n Search = \"search\",\n Share = \"share\",\n Square = \"square\",\n Star = \"star\",\n StarAlt = \"star-alt\",\n TableSearch = \"table-search\",\n Times = \"times\",\n TimesCircle = \"times-circle\",\n TimesCircleAlt = \"times-circle-alt\",\n TimesThin = \"times-thin\",\n Trash = \"trash\",\n TriangleDown = \"triangle-down\",\n TriangleDownCircle = \"triangle-down-circle\",\n TriangleLeft = \"triangle-left\",\n TriangleRight = \"triangle-right\",\n TriangleUp = \"triangle-up\",\n Undo = \"undo\",\n Warning = \"warning\",\n FileOutline = \"file-outline\",\n FileUpload = \"file-upload-outline\",\n FileDownload = \"file-download-outline\"\n}\n\ntype Tag = \"span\" | \"div\" | \"i\";\n\nexport interface Props extends ComponentPropsWithRef<\"div\"> {\n icon: Icons;\n color?: string;\n size?: string;\n tag?: Tag;\n}\n\nconst IconComponent: ForwardRefRenderFunction<HTMLDivElement, Props> = (\n { icon, color, className, style, size, tag = \"span\", ...rest }: Props,\n ref\n) => {\n const Component = tag;\n\n return (\n <Component\n {...rest}\n ref={ref}\n style={{ color: color, ...style, fontSize: size }}\n data-icon\n aria-hidden=\"true\"\n className={`${classes[\"icon\"]} ${classes[\"icon-\" + icon]} ${className ? className : \"\"}`}\n />\n );\n};\n\nexport const Icon = React.forwardRef(IconComponent);\n"],"names":["Icons","IconComponent","icon","color","className","style","size","tag","rest","ref","Component","React","createElement","fontSize","classes","Icon","forwardRef"],"mappings":"6DAmBYA,GAAZ,SAAYA,GACVA,EAAA,QAAA,OACAA,EAAA,WAAA,WACAA,EAAA,YAAA,WACAA,EAAA,eAAA,eACAA,EAAA,SAAA,QACAA,EAAA,YAAA,WACAA,EAAA,UAAA,SACAA,EAAA,aAAA,YACAA,EAAA,mBAAA,mBACAA,EAAA,sBAAA,uBACAA,EAAA,2BAAA,4BACAA,EAAA,mBAAA,mBACAA,EAAA,aAAA,aACAA,EAAA,eAAA,eACAA,EAAA,eAAA,eACAA,EAAA,gBAAA,gBACAA,EAAA,UAAA,SACAA,EAAA,SAAA,QACAA,EAAA,QAAA,OACAA,EAAA,QAAA,OACAA,EAAA,YAAA,WACAA,EAAA,eAAA,eACAA,EAAA,SAAA,QACAA,EAAA,SAAA,eACAA,EAAA,YAAA,mBACAA,EAAA,OAAA,MACAA,EAAA,cAAA,cACAA,EAAA,UAAA,SACAA,EAAA,aAAA,aACAA,EAAA,kBAAA,mBACAA,EAAA,kBAAA,mBACAA,EAAA,aAAA,YACAA,EAAA,cAAA,aACAA,EAAA,kBAAA,kBACAA,EAAA,aAAA,YACAA,EAAA,QAAA,OACAA,EAAA,aAAA,YACAA,EAAA,cAAA,cACAA,EAAA,SAAA,QACAA,EAAA,SAAA,QACAA,EAAA,YAAA,YACAA,EAAA,cAAA,cACAA,EAAA,QAAA,OACAA,EAAA,eAAA,eACAA,EAAA,mBAAA,mBACAA,EAAA,kBAAA,kBACAA,EAAA,QAAA,OACAA,EAAA,SAAA,QACAA,EAAA,WAAA,UACAA,EAAA,UAAA,SACAA,EAAA,SAAA,QACAA,EAAA,UAAA,SACAA,EAAA,QAAA,OACAA,EAAA,WAAA,WACAA,EAAA,eAAA,eACAA,EAAA,SAAA,QACAA,EAAA,eAAA,eACAA,EAAA,kBAAA,mBACAA,EAAA,aAAA,aACAA,EAAA,SAAA,QACAA,EAAA,gBAAA,gBACAA,EAAA,sBAAA,uBACAA,EAAA,gBAAA,gBACAA,EAAA,iBAAA,iBACAA,EAAA,cAAA,cACAA,EAAA,QAAA,OACAA,EAAA,WAAA,UACAA,EAAA,eAAA,eACAA,EAAA,cAAA,sBACAA,EAAA,gBAAA,uBACD,EAvED,CAAYA,IAAAA,EAuEX,CAAA,IAWD,MAAMC,EAAiE,EACnEC,OAAMC,QAAOC,YAAWC,QAAOC,OAAMC,MAAM,UAAWC,GACxDC,KAEA,MAAMC,EAAYH,EAElB,OACEI,EAACC,cAAAF,EACK,IAAAF,EACJC,IAAKA,EACLJ,MAAO,CAAEF,MAAOA,KAAUE,EAAOQ,SAAUP,GAAM,YAAA,KAAA,cAErC,OACZF,UAAW,GAAGU,EAAQ,WAAWA,EAAQ,QAAUZ,MAASE,EAAYA,EAAY,MAEtF,EAGS,MAAAW,EAAOJ,EAAMK,WAAWf"}
1
+ {"version":3,"file":"Icon.esm.js","sources":["../../../../../src/components/Icon/Icon.tsx"],"sourcesContent":["/*\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React, { ForwardRefRenderFunction, ComponentPropsWithRef } from \"react\";\nimport classes from \"./Icon.module.scss\";\n\nexport enum Icons {\n Bell = \"bell\",\n BellAlt = \"bell-alt\",\n Bookmark = \"bookmark\",\n BookmarkAlt = \"bookmark-alt\",\n Build = \"build\",\n Calendar = \"calendar\",\n Change = \"change\",\n Checkmark = \"checkmark\",\n CheckmarkCircle = \"checkmark-circle\",\n CheckmarkCircleAlt = \"checkmark-circle-alt\",\n CheckmarkCircleBreakout = \"checkmark-circle-breakout\",\n CheckmarkSquare = \"checkmark-square\",\n ChevronUp = \"chevron-up\",\n ChevronDown = \"chevron-down\",\n ChevronLeft = \"chevron-left\",\n ChevronRight = \"chevron-right\",\n Circle = \"circle\",\n Clock = \"clock\",\n Copy = \"copy\",\n Edit = \"edit\",\n Ellipsis = \"ellipsis\",\n EllipsisAlt = \"ellipsis-alt\",\n Equal = \"equal\",\n Error = \"error-circle\",\n ErrorAlt = \"error-circle-alt\",\n Eye = \"eye\",\n EyeBlocked = \"eye-blocked\",\n Filter = \"filter\",\n FilterAlt = \"filter-alt\",\n FilterAltArrow = \"filter-alt-arrow\",\n FilterAltTimes = \"filter-alt-times\",\n Forbidden = \"forbidden\",\n Fullscreen = \"fullscreen\",\n FullscreenExit = \"fullscreen-exit\",\n Gearwheel = \"gearwheel\",\n Grid = \"grid\",\n Hamburger = \"hamburger\",\n HomeFilled = \"home-filled\",\n Heart = \"heart\",\n Image = \"image\",\n InfoBell = \"info-bell\",\n InfoCircle = \"info-circle\",\n Link = \"link\",\n MinusSquare = \"minus-square\",\n NavigationFirst = \"navigation-first\",\n NavigationLast = \"navigation-last\",\n Plus = \"plus\",\n Radio = \"radio\",\n Refresh = \"refresh\",\n Search = \"search\",\n Share = \"share\",\n Square = \"square\",\n Star = \"star\",\n StarAlt = \"star-alt\",\n TableSearch = \"table-search\",\n Times = \"times\",\n TimesCircle = \"times-circle\",\n TimesCircleAlt = \"times-circle-alt\",\n TimesThin = \"times-thin\",\n Trash = \"trash\",\n TriangleDown = \"triangle-down\",\n TriangleDownCircle = \"triangle-down-circle\",\n TriangleLeft = \"triangle-left\",\n TriangleRight = \"triangle-right\",\n TriangleUp = \"triangle-up\",\n Undo = \"undo\",\n Warning = \"warning\",\n FileOutline = \"file-outline\",\n FileUpload = \"file-upload-outline\",\n FileDownload = \"file-download-outline\",\n UploadOutline = \"upload-outline\",\n ReplyOutline = \"reply-outline\",\n SaveOutline = \"save-outline\"\n}\n\ntype Tag = \"span\" | \"div\" | \"i\";\n\nexport interface Props extends ComponentPropsWithRef<\"div\"> {\n icon: Icons;\n color?: string;\n size?: string;\n tag?: Tag;\n}\n\nconst IconComponent: ForwardRefRenderFunction<HTMLDivElement, Props> = (\n { icon, color, className, style, size, tag = \"span\", ...rest }: Props,\n ref\n) => {\n const Component = tag;\n\n return (\n <Component\n {...rest}\n ref={ref}\n style={{ color: color, ...style, fontSize: size }}\n data-icon\n aria-hidden=\"true\"\n className={`${classes[\"icon\"]} ${classes[\"icon-\" + icon]} ${className ? className : \"\"}`}\n />\n );\n};\n\nexport const Icon = React.forwardRef(IconComponent);\n"],"names":["Icons","IconComponent","icon","color","className","style","size","tag","rest","ref","Component","React","createElement","fontSize","classes","Icon","forwardRef"],"mappings":"6DAmBYA,GAAZ,SAAYA,GACVA,EAAA,QAAA,OACAA,EAAA,WAAA,WACAA,EAAA,YAAA,WACAA,EAAA,eAAA,eACAA,EAAA,SAAA,QACAA,EAAA,YAAA,WACAA,EAAA,UAAA,SACAA,EAAA,aAAA,YACAA,EAAA,mBAAA,mBACAA,EAAA,sBAAA,uBACAA,EAAA,2BAAA,4BACAA,EAAA,mBAAA,mBACAA,EAAA,aAAA,aACAA,EAAA,eAAA,eACAA,EAAA,eAAA,eACAA,EAAA,gBAAA,gBACAA,EAAA,UAAA,SACAA,EAAA,SAAA,QACAA,EAAA,QAAA,OACAA,EAAA,QAAA,OACAA,EAAA,YAAA,WACAA,EAAA,eAAA,eACAA,EAAA,SAAA,QACAA,EAAA,SAAA,eACAA,EAAA,YAAA,mBACAA,EAAA,OAAA,MACAA,EAAA,cAAA,cACAA,EAAA,UAAA,SACAA,EAAA,aAAA,aACAA,EAAA,kBAAA,mBACAA,EAAA,kBAAA,mBACAA,EAAA,aAAA,YACAA,EAAA,cAAA,aACAA,EAAA,kBAAA,kBACAA,EAAA,aAAA,YACAA,EAAA,QAAA,OACAA,EAAA,aAAA,YACAA,EAAA,cAAA,cACAA,EAAA,SAAA,QACAA,EAAA,SAAA,QACAA,EAAA,YAAA,YACAA,EAAA,cAAA,cACAA,EAAA,QAAA,OACAA,EAAA,eAAA,eACAA,EAAA,mBAAA,mBACAA,EAAA,kBAAA,kBACAA,EAAA,QAAA,OACAA,EAAA,SAAA,QACAA,EAAA,WAAA,UACAA,EAAA,UAAA,SACAA,EAAA,SAAA,QACAA,EAAA,UAAA,SACAA,EAAA,QAAA,OACAA,EAAA,WAAA,WACAA,EAAA,eAAA,eACAA,EAAA,SAAA,QACAA,EAAA,eAAA,eACAA,EAAA,kBAAA,mBACAA,EAAA,aAAA,aACAA,EAAA,SAAA,QACAA,EAAA,gBAAA,gBACAA,EAAA,sBAAA,uBACAA,EAAA,gBAAA,gBACAA,EAAA,iBAAA,iBACAA,EAAA,cAAA,cACAA,EAAA,QAAA,OACAA,EAAA,WAAA,UACAA,EAAA,eAAA,eACAA,EAAA,cAAA,sBACAA,EAAA,gBAAA,wBACAA,EAAA,iBAAA,iBACAA,EAAA,gBAAA,gBACAA,EAAA,eAAA,cACD,EA1ED,CAAYA,IAAAA,EA0EX,CAAA,IAWD,MAAMC,EAAiE,EACnEC,OAAMC,QAAOC,YAAWC,QAAOC,OAAMC,MAAM,UAAWC,GACxDC,KAEA,MAAMC,EAAYH,EAElB,OACEI,EAACC,cAAAF,EACK,IAAAF,EACJC,IAAKA,EACLJ,MAAO,CAAEF,MAAOA,KAAUE,EAAOQ,SAAUP,GAAM,YAAA,KAAA,cAErC,OACZF,UAAW,GAAGU,EAAQ,WAAWA,EAAQ,QAAUZ,MAASE,EAAYA,EAAY,MAEtF,EAGS,MAAAW,EAAOJ,EAAMK,WAAWf"}