@onewelcome/react-lib-components 8.5.0 → 8.7.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 (334) hide show
  1. package/dist/cjs/Button/BaseButton.cjs.js +1 -1
  2. package/dist/cjs/Button/BaseButton.cjs.js.map +1 -1
  3. package/dist/cjs/ContextMenu/ContextMenu.cjs.js +1 -1
  4. package/dist/cjs/ContextMenu/ContextMenu.cjs.js.map +1 -1
  5. package/dist/cjs/DataGrid/DataGridFilters/DataGridDateFilter.cjs.js +2 -0
  6. package/dist/cjs/DataGrid/DataGridFilters/DataGridDateFilter.cjs.js.map +1 -0
  7. package/dist/cjs/DataGrid/DataGridFilters/DataGridFilterTag.cjs.js +1 -1
  8. package/dist/cjs/DataGrid/DataGridFilters/DataGridFilterTag.cjs.js.map +1 -1
  9. package/dist/cjs/DataGrid/DataGridFilters/DataGridFilters.interfaces.cjs.js.map +1 -1
  10. package/dist/cjs/DataGrid/DataGridFilters/DataGridToolbar.cjs.js +1 -1
  11. package/dist/cjs/DataGrid/DataGridFilters/DataGridToolbar.cjs.js.map +1 -1
  12. package/dist/cjs/DataGrid/DataGridFilters/DateTimePicker/DateTimePicker.cjs.js +2 -0
  13. package/dist/cjs/DataGrid/DataGridFilters/DateTimePicker/DateTimePicker.cjs.js.map +1 -0
  14. package/dist/cjs/DataGrid/DataGridFilters/DateTimePicker/DateTimePicker.module.scss.cjs.js +2 -0
  15. package/dist/cjs/DataGrid/DataGridFilters/DateTimePicker/DateTimePicker.module.scss.cjs.js.map +1 -0
  16. package/dist/cjs/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerCalendarSection.cjs.js +2 -0
  17. package/dist/cjs/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerCalendarSection.cjs.js.map +1 -0
  18. package/dist/cjs/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerInputSection.cjs.js +2 -0
  19. package/dist/cjs/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerInputSection.cjs.js.map +1 -0
  20. package/dist/cjs/DataGrid/DataGridFilters/DateTimePicker/DateTimeService.cjs.js +2 -0
  21. package/dist/cjs/DataGrid/DataGridFilters/DateTimePicker/DateTimeService.cjs.js.map +1 -0
  22. package/dist/cjs/DataGrid/DataGridFilters/DateTimePicker/SideMenu.cjs.js +2 -0
  23. package/dist/cjs/DataGrid/DataGridFilters/DateTimePicker/SideMenu.cjs.js.map +1 -0
  24. package/dist/cjs/DatePicker/DatePicker.cjs.js +1 -1
  25. package/dist/cjs/DatePicker/DatePicker.cjs.js.map +1 -1
  26. package/dist/cjs/DatePicker/DatePicker.module.scss.cjs.js +1 -1
  27. package/dist/cjs/Form/Checkbox/Checkbox.cjs.js +1 -1
  28. package/dist/cjs/Form/Checkbox/Checkbox.cjs.js.map +1 -1
  29. package/dist/cjs/Form/Checkbox/Checkbox.module.scss.cjs.js +1 -1
  30. package/dist/cjs/Form/Fieldset/Fieldset.cjs.js +1 -1
  31. package/dist/cjs/Form/Fieldset/Fieldset.cjs.js.map +1 -1
  32. package/dist/cjs/Form/FileUpload/FileItem/FileItem.cjs.js +1 -1
  33. package/dist/cjs/Form/FileUpload/FileItem/FileItem.cjs.js.map +1 -1
  34. package/dist/cjs/Form/FileUpload/FileItem/FileItem.module.scss.cjs.js +1 -1
  35. package/dist/cjs/Form/FileUpload/FileUpload.cjs.js +1 -1
  36. package/dist/cjs/Form/FileUpload/FileUpload.cjs.js.map +1 -1
  37. package/dist/cjs/Form/FileUpload/FileUpload.module.scss.cjs.js +1 -1
  38. package/dist/cjs/Form/FormGroup/FormGroup.cjs.js +1 -1
  39. package/dist/cjs/Form/FormGroup/FormGroup.cjs.js.map +1 -1
  40. package/dist/cjs/Form/FormHelperText/FormHelperText.module.scss.cjs.js +1 -1
  41. package/dist/cjs/Form/FormSelectorWrapper/FormSelectorWrapper.cjs.js +1 -1
  42. package/dist/cjs/Form/FormSelectorWrapper/FormSelectorWrapper.cjs.js.map +1 -1
  43. package/dist/cjs/Form/Input/Input.cjs.js +1 -1
  44. package/dist/cjs/Form/Input/Input.cjs.js.map +1 -1
  45. package/dist/cjs/Form/Input/Input.module.scss.cjs.js +1 -1
  46. package/dist/cjs/Form/Radio/Radio.cjs.js +1 -1
  47. package/dist/cjs/Form/Radio/Radio.cjs.js.map +1 -1
  48. package/dist/cjs/Form/Radio/Radio.module.scss.cjs.js +1 -1
  49. package/dist/cjs/Form/Select/MultiSelect/MultiSelect.cjs.js +1 -1
  50. package/dist/cjs/Form/Select/MultiSelect/MultiSelect.cjs.js.map +1 -1
  51. package/dist/cjs/Form/Select/MultiSelect/MultiSelect.module.scss.cjs.js +1 -1
  52. package/dist/cjs/Form/Select/MultiSelect/SelectedOptions.module.scss.cjs.js +1 -1
  53. package/dist/cjs/Form/Select/MultiSelect/useArrowNavigation.cjs.js +1 -1
  54. package/dist/cjs/Form/Select/MultiSelect/useArrowNavigation.cjs.js.map +1 -1
  55. package/dist/cjs/Form/Select/MultiSelect/useMultiSelect.cjs.js +2 -0
  56. package/dist/cjs/Form/Select/MultiSelect/useMultiSelect.cjs.js.map +1 -0
  57. package/dist/cjs/Form/Select/Select.interfaces.cjs.js +2 -0
  58. package/dist/cjs/Form/Select/Select.interfaces.cjs.js.map +1 -0
  59. package/dist/cjs/Form/Select/SingleSelect/Select.cjs.js +1 -1
  60. package/dist/cjs/Form/Select/SingleSelect/Select.cjs.js.map +1 -1
  61. package/dist/cjs/Form/Select/SingleSelect/Select.module.scss.cjs.js +1 -1
  62. package/dist/cjs/Form/Select/SingleSelect/useArrowNavigation.cjs.js +1 -1
  63. package/dist/cjs/Form/Select/SingleSelect/useArrowNavigation.cjs.js.map +1 -1
  64. package/dist/cjs/Form/Select/useSelectPositionList.cjs.js +1 -1
  65. package/dist/cjs/Form/Select/useSelectPositionList.cjs.js.map +1 -1
  66. package/dist/cjs/Form/Textarea/Textarea.cjs.js +1 -1
  67. package/dist/cjs/Form/Textarea/Textarea.cjs.js.map +1 -1
  68. package/dist/cjs/Form/Textarea/Textarea.module.scss.cjs.js +1 -1
  69. package/dist/cjs/Form/Wrapper/CheckboxWrapper/CheckboxWrapper.cjs.js +1 -1
  70. package/dist/cjs/Form/Wrapper/CheckboxWrapper/CheckboxWrapper.cjs.js.map +1 -1
  71. package/dist/cjs/Form/Wrapper/InputWrapper/InputWrapper.cjs.js +1 -1
  72. package/dist/cjs/Form/Wrapper/InputWrapper/InputWrapper.cjs.js.map +1 -1
  73. package/dist/cjs/Form/Wrapper/InputWrapper/InputWrapper.module.scss.cjs.js +1 -1
  74. package/dist/cjs/Form/Wrapper/MultiSelectWrapper/MultiSelectWrapper.cjs.js +1 -1
  75. package/dist/cjs/Form/Wrapper/MultiSelectWrapper/MultiSelectWrapper.cjs.js.map +1 -1
  76. package/dist/cjs/Form/Wrapper/RadioWrapper/RadioWrapper.cjs.js +1 -1
  77. package/dist/cjs/Form/Wrapper/RadioWrapper/RadioWrapper.cjs.js.map +1 -1
  78. package/dist/cjs/Form/Wrapper/SelectWrapper/SelectWrapper.cjs.js +1 -1
  79. package/dist/cjs/Form/Wrapper/SelectWrapper/SelectWrapper.cjs.js.map +1 -1
  80. package/dist/cjs/Form/Wrapper/TextareaWrapper/TextareaWrapper.cjs.js +1 -1
  81. package/dist/cjs/Form/Wrapper/TextareaWrapper/TextareaWrapper.cjs.js.map +1 -1
  82. package/dist/cjs/Form/Wrapper/TextareaWrapper/TextareaWrapper.module.scss.cjs.js +1 -1
  83. package/dist/cjs/Form/Wrapper/Wrapper/Wrapper.cjs.js +1 -1
  84. package/dist/cjs/Form/Wrapper/Wrapper/Wrapper.cjs.js.map +1 -1
  85. package/dist/cjs/Form/Wrapper/Wrapper/Wrapper.module.scss.cjs.js +1 -1
  86. package/dist/cjs/_BaseStyling_/BaseStyling.cjs.js +1 -1
  87. package/dist/cjs/_BaseStyling_/BaseStyling.cjs.js.map +1 -1
  88. package/dist/cjs/src/components/DataGrid/DataGridFilters/DataGridDateFilter.d.ts +9 -0
  89. package/dist/cjs/src/components/DataGrid/DataGridFilters/DataGridFilterTag.d.ts +2 -1
  90. package/dist/cjs/src/components/DataGrid/DataGridFilters/DataGridFilters.interfaces.d.ts +10 -1
  91. package/dist/cjs/src/components/DataGrid/DataGridFilters/DataGridToolbar.d.ts +5 -3
  92. package/dist/cjs/src/components/DataGrid/DataGridFilters/DateTimePicker/DateTimePicker.d.ts +31 -0
  93. package/dist/cjs/src/components/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerCalendarSection.d.ts +15 -0
  94. package/dist/cjs/src/components/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerInputSection.d.ts +18 -0
  95. package/dist/cjs/src/components/DataGrid/DataGridFilters/DateTimePicker/DateTimeService.d.ts +10 -0
  96. package/dist/cjs/src/components/DataGrid/DataGridFilters/DateTimePicker/SideMenu.d.ts +10 -0
  97. package/dist/cjs/src/components/DataGrid/testUtils.d.ts +7 -1
  98. package/dist/cjs/src/components/DatePicker/DatePicker.d.ts +4 -1
  99. package/dist/cjs/src/components/Form/Checkbox/Checkbox.d.ts +1 -1
  100. package/dist/cjs/src/components/Form/Fieldset/Fieldset.d.ts +1 -1
  101. package/dist/cjs/src/components/Form/FileUpload/FileItem/FileItem.d.ts +1 -1
  102. package/dist/cjs/src/components/Form/FileUpload/FileUpload.d.ts +6 -1
  103. package/dist/cjs/src/components/Form/FormGroup/FormGroup.d.ts +1 -0
  104. package/dist/cjs/src/components/Form/Input/Input.d.ts +2 -1
  105. package/dist/cjs/src/components/Form/Radio/Radio.d.ts +1 -1
  106. package/dist/cjs/src/components/Form/Select/MultiSelect/MultiSelect.d.ts +1 -1
  107. package/dist/cjs/src/components/Form/Select/MultiSelect/useArrowNavigation.d.ts +2 -1
  108. package/dist/cjs/src/components/Form/Select/MultiSelect/useMultiSelect.d.ts +16 -0
  109. package/dist/cjs/src/components/Form/Select/Select.interfaces.d.ts +6 -4
  110. package/dist/cjs/src/components/Form/Select/SingleSelect/Select.d.ts +1 -1
  111. package/dist/cjs/src/components/Form/Select/SingleSelect/useArrowNavigation.d.ts +1 -1
  112. package/dist/cjs/src/components/Form/Select/useSelectPositionList.d.ts +2 -2
  113. package/dist/cjs/src/components/Form/Textarea/Textarea.d.ts +2 -1
  114. package/dist/cjs/src/components/Form/Wrapper/CheckboxWrapper/CheckboxWrapper.d.ts +1 -1
  115. package/dist/cjs/src/components/Form/Wrapper/InputWrapper/InputWrapper.d.ts +1 -1
  116. package/dist/cjs/src/components/Form/Wrapper/MultiSelectWrapper/MultiSelectWrapper.d.ts +1 -1
  117. package/dist/cjs/src/components/Form/Wrapper/RadioWrapper/RadioWrapper.d.ts +1 -1
  118. package/dist/cjs/src/components/Form/Wrapper/SelectWrapper/SelectWrapper.d.ts +1 -1
  119. package/dist/cjs/src/components/Form/Wrapper/TextareaWrapper/TextareaWrapper.d.ts +2 -1
  120. package/dist/cjs/src/components/Form/Wrapper/Wrapper/Wrapper.d.ts +1 -0
  121. package/dist/cjs/src/components/_BaseStyling_/BaseStyling.d.ts +2 -0
  122. package/dist/cjs/src/components/withReadOnly.d.ts +8 -0
  123. package/dist/cjs/src/hooks/useClickOutside.cjs.js +2 -0
  124. package/dist/cjs/src/hooks/useClickOutside.cjs.js.map +1 -0
  125. package/dist/cjs/src/hooks/useClickOutside.d.ts +2 -0
  126. package/dist/cjs/src/hooks/useClickOutside.test.d.ts +1 -0
  127. package/dist/cjs/src/index.cjs.js +1 -1
  128. package/dist/cjs/src/index.d.ts +2 -0
  129. package/dist/cjs/src/util/unitTestUtils.d.ts +12 -0
  130. package/dist/cjs/withReadOnly.cjs.js +2 -0
  131. package/dist/cjs/withReadOnly.cjs.js.map +1 -0
  132. package/dist/esm/Button/BaseButton.esm.js +5 -2
  133. package/dist/esm/Button/BaseButton.esm.js.map +1 -1
  134. package/dist/esm/ContextMenu/ContextMenu.esm.js +6 -8
  135. package/dist/esm/ContextMenu/ContextMenu.esm.js.map +1 -1
  136. package/dist/esm/ContextMenu/ContextMenuItem.esm.js +3 -3
  137. package/dist/esm/ContextMenu/ContextMenuItem.esm.js.map +1 -1
  138. package/dist/esm/ContextMenu/ContextMenuItem.module.scss.esm.js +2 -2
  139. package/dist/esm/DataGrid/DataGridFilters/DataGridDateFilter.esm.js +35 -0
  140. package/dist/esm/DataGrid/DataGridFilters/DataGridDateFilter.esm.js.map +1 -0
  141. package/dist/esm/DataGrid/DataGridFilters/DataGridFilterTag.esm.js +16 -7
  142. package/dist/esm/DataGrid/DataGridFilters/DataGridFilterTag.esm.js.map +1 -1
  143. package/dist/esm/DataGrid/DataGridFilters/DataGridFilters.interfaces.esm.js.map +1 -1
  144. package/dist/esm/DataGrid/DataGridFilters/DataGridToolbar.esm.js +15 -12
  145. package/dist/esm/DataGrid/DataGridFilters/DataGridToolbar.esm.js.map +1 -1
  146. package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/DateTimePicker.esm.js +138 -0
  147. package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/DateTimePicker.esm.js.map +1 -0
  148. package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/DateTimePicker.module.scss.esm.js +8 -0
  149. package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/DateTimePicker.module.scss.esm.js.map +1 -0
  150. package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerCalendarSection.esm.js +54 -0
  151. package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerCalendarSection.esm.js.map +1 -0
  152. package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerInputSection.esm.js +51 -0
  153. package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerInputSection.esm.js.map +1 -0
  154. package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/DateTimeService.esm.js +29 -0
  155. package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/DateTimeService.esm.js.map +1 -0
  156. package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/SideMenu.esm.js +26 -0
  157. package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/SideMenu.esm.js.map +1 -0
  158. package/dist/esm/DatePicker/DatePicker.esm.js +3 -1
  159. package/dist/esm/DatePicker/DatePicker.esm.js.map +1 -1
  160. package/dist/esm/DatePicker/DatePicker.module.scss.esm.js +2 -2
  161. package/dist/esm/Form/Checkbox/Checkbox.esm.js +2 -1
  162. package/dist/esm/Form/Checkbox/Checkbox.esm.js.map +1 -1
  163. package/dist/esm/Form/Checkbox/Checkbox.module.scss.esm.js +1 -1
  164. package/dist/esm/Form/Fieldset/Fieldset.esm.js +2 -1
  165. package/dist/esm/Form/Fieldset/Fieldset.esm.js.map +1 -1
  166. package/dist/esm/Form/FileUpload/FileItem/FileItem.esm.js +10 -3
  167. package/dist/esm/Form/FileUpload/FileItem/FileItem.esm.js.map +1 -1
  168. package/dist/esm/Form/FileUpload/FileItem/FileItem.module.scss.esm.js +1 -1
  169. package/dist/esm/Form/FileUpload/FileUpload.esm.js +9 -6
  170. package/dist/esm/Form/FileUpload/FileUpload.esm.js.map +1 -1
  171. package/dist/esm/Form/FileUpload/FileUpload.module.scss.esm.js +2 -2
  172. package/dist/esm/Form/FormGroup/FormGroup.esm.js +2 -2
  173. package/dist/esm/Form/FormGroup/FormGroup.esm.js.map +1 -1
  174. package/dist/esm/Form/FormHelperText/FormHelperText.module.scss.esm.js +1 -1
  175. package/dist/esm/Form/FormSelectorWrapper/FormSelectorWrapper.esm.js +1 -1
  176. package/dist/esm/Form/FormSelectorWrapper/FormSelectorWrapper.esm.js.map +1 -1
  177. package/dist/esm/Form/Input/Input.esm.js +7 -5
  178. package/dist/esm/Form/Input/Input.esm.js.map +1 -1
  179. package/dist/esm/Form/Input/Input.module.scss.esm.js +2 -2
  180. package/dist/esm/Form/Radio/Radio.esm.js +2 -1
  181. package/dist/esm/Form/Radio/Radio.esm.js.map +1 -1
  182. package/dist/esm/Form/Radio/Radio.module.scss.esm.js +1 -1
  183. package/dist/esm/Form/Select/MultiSelect/MultiSelect.esm.js +33 -18
  184. package/dist/esm/Form/Select/MultiSelect/MultiSelect.esm.js.map +1 -1
  185. package/dist/esm/Form/Select/MultiSelect/MultiSelect.module.scss.esm.js +2 -2
  186. package/dist/esm/Form/Select/MultiSelect/SelectedOptions.module.scss.esm.js +1 -1
  187. package/dist/esm/Form/Select/MultiSelect/useArrowNavigation.esm.js +4 -1
  188. package/dist/esm/Form/Select/MultiSelect/useArrowNavigation.esm.js.map +1 -1
  189. package/dist/esm/Form/Select/MultiSelect/useMultiSelect.esm.js +63 -0
  190. package/dist/esm/Form/Select/MultiSelect/useMultiSelect.esm.js.map +1 -0
  191. package/dist/esm/Form/Select/Select.interfaces.esm.js +23 -0
  192. package/dist/esm/Form/Select/Select.interfaces.esm.js.map +1 -0
  193. package/dist/esm/Form/Select/SingleSelect/Select.esm.js +29 -20
  194. package/dist/esm/Form/Select/SingleSelect/Select.esm.js.map +1 -1
  195. package/dist/esm/Form/Select/SingleSelect/Select.module.scss.esm.js +2 -2
  196. package/dist/esm/Form/Select/SingleSelect/useArrowNavigation.esm.js +4 -1
  197. package/dist/esm/Form/Select/SingleSelect/useArrowNavigation.esm.js.map +1 -1
  198. package/dist/esm/Form/Select/useSelectPositionList.esm.js +11 -13
  199. package/dist/esm/Form/Select/useSelectPositionList.esm.js.map +1 -1
  200. package/dist/esm/Form/Textarea/Textarea.esm.js +12 -5
  201. package/dist/esm/Form/Textarea/Textarea.esm.js.map +1 -1
  202. package/dist/esm/Form/Textarea/Textarea.module.scss.esm.js +1 -1
  203. package/dist/esm/Form/Wrapper/CheckboxWrapper/CheckboxWrapper.esm.js +4 -1
  204. package/dist/esm/Form/Wrapper/CheckboxWrapper/CheckboxWrapper.esm.js.map +1 -1
  205. package/dist/esm/Form/Wrapper/InputWrapper/InputWrapper.esm.js +6 -4
  206. package/dist/esm/Form/Wrapper/InputWrapper/InputWrapper.esm.js.map +1 -1
  207. package/dist/esm/Form/Wrapper/InputWrapper/InputWrapper.module.scss.esm.js +1 -1
  208. package/dist/esm/Form/Wrapper/MultiSelectWrapper/MultiSelectWrapper.esm.js +3 -2
  209. package/dist/esm/Form/Wrapper/MultiSelectWrapper/MultiSelectWrapper.esm.js.map +1 -1
  210. package/dist/esm/Form/Wrapper/RadioWrapper/RadioWrapper.esm.js +17 -10
  211. package/dist/esm/Form/Wrapper/RadioWrapper/RadioWrapper.esm.js.map +1 -1
  212. package/dist/esm/Form/Wrapper/SelectWrapper/SelectWrapper.esm.js +5 -2
  213. package/dist/esm/Form/Wrapper/SelectWrapper/SelectWrapper.esm.js.map +1 -1
  214. package/dist/esm/Form/Wrapper/TextareaWrapper/TextareaWrapper.esm.js +20 -10
  215. package/dist/esm/Form/Wrapper/TextareaWrapper/TextareaWrapper.esm.js.map +1 -1
  216. package/dist/esm/Form/Wrapper/TextareaWrapper/TextareaWrapper.module.scss.esm.js +2 -2
  217. package/dist/esm/Form/Wrapper/Wrapper/Wrapper.esm.js +2 -2
  218. package/dist/esm/Form/Wrapper/Wrapper/Wrapper.esm.js.map +1 -1
  219. package/dist/esm/Form/Wrapper/Wrapper/Wrapper.module.scss.esm.js +1 -1
  220. package/dist/esm/_BaseStyling_/BaseStyling.esm.js +2 -0
  221. package/dist/esm/_BaseStyling_/BaseStyling.esm.js.map +1 -1
  222. package/dist/esm/src/components/DataGrid/DataGridFilters/DataGridDateFilter.d.ts +9 -0
  223. package/dist/esm/src/components/DataGrid/DataGridFilters/DataGridFilterTag.d.ts +2 -1
  224. package/dist/esm/src/components/DataGrid/DataGridFilters/DataGridFilters.interfaces.d.ts +10 -1
  225. package/dist/esm/src/components/DataGrid/DataGridFilters/DataGridToolbar.d.ts +5 -3
  226. package/dist/esm/src/components/DataGrid/DataGridFilters/DateTimePicker/DateTimePicker.d.ts +31 -0
  227. package/dist/esm/src/components/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerCalendarSection.d.ts +15 -0
  228. package/dist/esm/src/components/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerInputSection.d.ts +18 -0
  229. package/dist/esm/src/components/DataGrid/DataGridFilters/DateTimePicker/DateTimeService.d.ts +10 -0
  230. package/dist/esm/src/components/DataGrid/DataGridFilters/DateTimePicker/SideMenu.d.ts +10 -0
  231. package/dist/esm/src/components/DataGrid/testUtils.d.ts +7 -1
  232. package/dist/esm/src/components/DatePicker/DatePicker.d.ts +4 -1
  233. package/dist/esm/src/components/Form/Checkbox/Checkbox.d.ts +1 -1
  234. package/dist/esm/src/components/Form/Fieldset/Fieldset.d.ts +1 -1
  235. package/dist/esm/src/components/Form/FileUpload/FileItem/FileItem.d.ts +1 -1
  236. package/dist/esm/src/components/Form/FileUpload/FileUpload.d.ts +6 -1
  237. package/dist/esm/src/components/Form/FormGroup/FormGroup.d.ts +1 -0
  238. package/dist/esm/src/components/Form/Input/Input.d.ts +2 -1
  239. package/dist/esm/src/components/Form/Radio/Radio.d.ts +1 -1
  240. package/dist/esm/src/components/Form/Select/MultiSelect/MultiSelect.d.ts +1 -1
  241. package/dist/esm/src/components/Form/Select/MultiSelect/useArrowNavigation.d.ts +2 -1
  242. package/dist/esm/src/components/Form/Select/MultiSelect/useMultiSelect.d.ts +16 -0
  243. package/dist/esm/src/components/Form/Select/MultiSelect/useMultiSelect.test.d.ts +1 -0
  244. package/dist/esm/src/components/Form/Select/Select.interfaces.d.ts +6 -4
  245. package/dist/esm/src/components/Form/Select/SingleSelect/Select.d.ts +1 -1
  246. package/dist/esm/src/components/Form/Select/SingleSelect/useArrowNavigation.d.ts +1 -1
  247. package/dist/esm/src/components/Form/Select/useSelectPositionList.d.ts +2 -2
  248. package/dist/esm/src/components/Form/Textarea/Textarea.d.ts +2 -1
  249. package/dist/esm/src/components/Form/Wrapper/CheckboxWrapper/CheckboxWrapper.d.ts +1 -1
  250. package/dist/esm/src/components/Form/Wrapper/InputWrapper/InputWrapper.d.ts +1 -1
  251. package/dist/esm/src/components/Form/Wrapper/MultiSelectWrapper/MultiSelectWrapper.d.ts +1 -1
  252. package/dist/esm/src/components/Form/Wrapper/RadioWrapper/RadioWrapper.d.ts +1 -1
  253. package/dist/esm/src/components/Form/Wrapper/SelectWrapper/SelectWrapper.d.ts +1 -1
  254. package/dist/esm/src/components/Form/Wrapper/TextareaWrapper/TextareaWrapper.d.ts +2 -1
  255. package/dist/esm/src/components/Form/Wrapper/Wrapper/Wrapper.d.ts +1 -0
  256. package/dist/esm/src/components/_BaseStyling_/BaseStyling.d.ts +2 -0
  257. package/dist/esm/src/components/withReadOnly.d.ts +8 -0
  258. package/dist/esm/src/components/withReadOnly.test.d.ts +1 -0
  259. package/dist/esm/src/hooks/useClickOutside.d.ts +2 -0
  260. package/dist/esm/src/hooks/useClickOutside.esm.js +38 -0
  261. package/dist/esm/src/hooks/useClickOutside.esm.js.map +1 -0
  262. package/dist/esm/src/hooks/useClickOutside.test.d.ts +1 -0
  263. package/dist/esm/src/index.d.ts +2 -0
  264. package/dist/esm/src/index.esm.js +2 -0
  265. package/dist/esm/src/index.esm.js.map +1 -1
  266. package/dist/esm/src/util/unitTestUtils.d.ts +12 -0
  267. package/dist/esm/withReadOnly.esm.js +70 -0
  268. package/dist/esm/withReadOnly.esm.js.map +1 -0
  269. package/package.json +21 -17
  270. package/src/components/Button/BaseButton.tsx +7 -4
  271. package/src/components/ContextMenu/ContextMenu.tsx +5 -13
  272. package/src/components/DataGrid/DataGridBody/__snapshots__/DataGridBody.test.tsx.snap +4 -4
  273. package/src/components/DataGrid/DataGridFilters/DataGridDateFilter.tsx +65 -0
  274. package/src/components/DataGrid/DataGridFilters/DataGridFilterTag.tsx +25 -5
  275. package/src/components/DataGrid/DataGridFilters/DataGridFilters.interfaces.ts +18 -1
  276. package/src/components/DataGrid/DataGridFilters/DataGridToolbar.tsx +53 -33
  277. package/src/components/DataGrid/DataGridFilters/DateTimePicker/DateTimePicker.module.scss +134 -0
  278. package/src/components/DataGrid/DataGridFilters/DateTimePicker/DateTimePicker.tsx +267 -0
  279. package/src/components/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerCalendarSection.tsx +103 -0
  280. package/src/components/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerInputSection.tsx +121 -0
  281. package/src/{hooks/useBodyClick.ts → components/DataGrid/DataGridFilters/DateTimePicker/DateTimeService.ts} +12 -18
  282. package/src/components/DataGrid/DataGridFilters/DateTimePicker/SideMenu.tsx +50 -0
  283. package/src/components/DataGrid/testUtils.ts +48 -15
  284. package/src/components/DatePicker/DatePicker.module.scss +32 -9
  285. package/src/components/DatePicker/DatePicker.tsx +15 -1
  286. package/src/components/Form/Checkbox/Checkbox.module.scss +70 -0
  287. package/src/components/Form/Checkbox/Checkbox.tsx +2 -1
  288. package/src/components/Form/Fieldset/Fieldset.tsx +2 -1
  289. package/src/components/Form/FileUpload/FileItem/FileItem.module.scss +16 -0
  290. package/src/components/Form/FileUpload/FileItem/FileItem.tsx +17 -3
  291. package/src/components/Form/FileUpload/FileUpload.module.scss +57 -1
  292. package/src/components/Form/FileUpload/FileUpload.tsx +16 -6
  293. package/src/components/Form/FormGroup/FormGroup.tsx +6 -1
  294. package/src/components/Form/FormHelperText/FormHelperText.module.scss +4 -0
  295. package/src/components/Form/FormSelectorWrapper/FormSelectorWrapper.tsx +2 -2
  296. package/src/components/Form/Input/Input.module.scss +26 -0
  297. package/src/components/Form/Input/Input.tsx +10 -1
  298. package/src/components/Form/Radio/Radio.module.scss +46 -0
  299. package/src/components/Form/Radio/Radio.tsx +2 -1
  300. package/src/components/Form/Select/MultiSelect/MultiSelect.module.scss +35 -1
  301. package/src/components/Form/Select/MultiSelect/MultiSelect.tsx +53 -38
  302. package/src/components/Form/Select/MultiSelect/SelectedOptions.module.scss +8 -0
  303. package/src/components/Form/Select/MultiSelect/useArrowNavigation.ts +6 -1
  304. package/src/components/Form/Select/MultiSelect/useMultiSelect.tsx +98 -0
  305. package/src/components/Form/Select/Select.interfaces.ts +6 -4
  306. package/src/components/Form/Select/SingleSelect/Select.module.scss +60 -1
  307. package/src/components/Form/Select/SingleSelect/Select.tsx +42 -37
  308. package/src/components/Form/Select/SingleSelect/useArrowNavigation.ts +6 -1
  309. package/src/components/Form/Select/useSelectPositionList.ts +10 -14
  310. package/src/components/Form/Textarea/Textarea.module.scss +24 -0
  311. package/src/components/Form/Textarea/Textarea.tsx +24 -3
  312. package/src/components/Form/Wrapper/CheckboxWrapper/CheckboxWrapper.tsx +4 -1
  313. package/src/components/Form/Wrapper/InputWrapper/InputWrapper.module.scss +14 -0
  314. package/src/components/Form/Wrapper/InputWrapper/InputWrapper.tsx +6 -2
  315. package/src/components/Form/Wrapper/MultiSelectWrapper/MultiSelectWrapper.tsx +3 -1
  316. package/src/components/Form/Wrapper/RadioWrapper/RadioWrapper.tsx +17 -12
  317. package/src/components/Form/Wrapper/SelectWrapper/SelectWrapper.tsx +6 -1
  318. package/src/components/Form/Wrapper/TextareaWrapper/TextareaWrapper.module.scss +43 -0
  319. package/src/components/Form/Wrapper/TextareaWrapper/TextareaWrapper.tsx +45 -20
  320. package/src/components/Form/Wrapper/Wrapper/Wrapper.module.scss +6 -0
  321. package/src/components/Form/Wrapper/Wrapper/Wrapper.tsx +3 -0
  322. package/src/components/_BaseStyling_/BaseStyling.tsx +4 -0
  323. package/src/components/withReadOnly.tsx +112 -0
  324. package/src/hooks/useClickOutside.ts +42 -0
  325. package/src/index.ts +2 -0
  326. package/src/mixins.module.scss +6 -0
  327. package/{dist/esm/src/hooks/useBodyClick.esm.js → src/util/unitTestUtils.ts} +16 -17
  328. package/dist/cjs/src/hooks/useBodyClick.cjs.js +0 -2
  329. package/dist/cjs/src/hooks/useBodyClick.cjs.js.map +0 -1
  330. package/dist/cjs/src/hooks/useBodyClick.d.ts +0 -1
  331. package/dist/esm/src/hooks/useBodyClick.d.ts +0 -1
  332. package/dist/esm/src/hooks/useBodyClick.esm.js.map +0 -1
  333. /package/dist/cjs/src/{hooks/useBodyClick.test.d.ts → components/Form/Select/MultiSelect/useMultiSelect.test.d.ts} +0 -0
  334. /package/dist/{esm/src/hooks/useBodyClick.test.d.ts → cjs/src/components/withReadOnly.test.d.ts} +0 -0
@@ -2,6 +2,7 @@ import React, { useState, useRef, useEffect } from 'react';
2
2
  import classes from './Input.module.scss.esm.js';
3
3
  import readyclasses from '../../src/readyclasses.module.scss.esm.js';
4
4
  import { useDetermineStatusIcon } from '../../src/hooks/useDetermineStatusIcon.esm.js';
5
+ import { withReadOnly } from '../../withReadOnly.esm.js';
5
6
 
6
7
  /*
7
8
  * Copyright 2022 OneWelcome B.V.
@@ -19,7 +20,7 @@ import { useDetermineStatusIcon } from '../../src/hooks/useDetermineStatusIcon.e
19
20
  * limitations under the License.
20
21
  */
21
22
  const dateTypes = ["date", "time", "datetime-local"];
22
- const InputComponent = ({ error = false, success = false, className, name, style, wrapperProps, type, labeledBy, prefix, suffix, disabled, onFocus, onBlur, ...rest }, ref) => {
23
+ const InputComponent = ({ error = false, success = false, className, name, style, wrapperProps, type, labeledBy, prefix, suffix, disabled, onFocus, onBlur, readOnlyView, ...rest }, ref) => {
23
24
  var _a;
24
25
  const [focus, setFocus] = useState(false);
25
26
  const inputWrapperRef = useRef(null);
@@ -47,20 +48,21 @@ const InputComponent = ({ error = false, success = false, className, name, style
47
48
  focus && wrapperClasses.push(classes["focus"]) && outlineClasses.push(classes["focus"]);
48
49
  success && wrapperClasses.push(classes["success"]);
49
50
  const icon = useDetermineStatusIcon({ success, error });
50
- return (React.createElement("div", { ref: inputWrapperRef, ...wrapperProps, style: { ...style }, className: `${classes["input-wrapper"]} ${wrapperClasses.join(" ")}` },
51
+ const readOnlyMode = rest["data-readonlyview"];
52
+ return (React.createElement("div", { ref: inputWrapperRef, ...wrapperProps, style: { ...style }, "data-readonlyview": readOnlyMode, className: `${classes["input-wrapper"]} ${wrapperClasses.join(" ")}`, tabIndex: readOnlyMode ? 0 : -1 },
51
53
  prefix && (React.createElement("div", { "data-prefix": true, className: classes["prefix"] }, renderElement(prefix))),
52
- React.createElement("input", { ...rest, ref: ref, onFocus: event => {
54
+ React.createElement("input", { ...rest, ref: ref, "aria-readonly": readOnlyMode, readOnly: readOnlyMode, onFocus: event => {
53
55
  setFocus(true);
54
56
  onFocus === null || onFocus === void 0 ? void 0 : onFocus(event);
55
57
  }, onBlur: event => {
56
58
  setFocus(false);
57
59
  onBlur === null || onBlur === void 0 ? void 0 : onBlur(event);
58
- }, "aria-labelledby": labeledBy, type: type, name: name, disabled: disabled, className: inputClassNames.join(" "), spellCheck: (_a = rest.spellCheck) !== null && _a !== void 0 ? _a : false }),
60
+ }, "aria-labelledby": labeledBy, type: type, name: name, disabled: disabled, className: inputClassNames.join(" "), spellCheck: (_a = rest.spellCheck) !== null && _a !== void 0 ? _a : false, tabIndex: readOnlyMode ? -1 : 0 }),
59
61
  icon,
60
62
  suffix && (React.createElement("div", { ref: suffixRef, "data-suffix": true, className: classes["suffix"] }, renderElement(suffix))),
61
63
  React.createElement("span", { className: outlineClasses.join(" ") })));
62
64
  };
63
- const Input = React.forwardRef(InputComponent);
65
+ const Input = withReadOnly(React.forwardRef(InputComponent));
64
66
 
65
67
  export { Input, dateTypes };
66
68
  //# sourceMappingURL=Input.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Input.esm.js","sources":["../../../../../../src/components/Form/Input/Input.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 Ref,\n useEffect,\n useRef,\n useState,\n ReactNode\n} from \"react\";\nimport classes from \"./Input.module.scss\";\nimport readyclasses from \"../../../readyclasses.module.scss\";\nimport { FormElement } from \"../form.interfaces\";\nimport { useDetermineStatusIcon } from \"../../../hooks/useDetermineStatusIcon\";\nimport { MergeElementProps } from \"../../../interfaces\";\n\nexport const dateTypes = [\"date\", \"time\", \"datetime-local\"] as const;\n\nexport type Type =\n | \"text\"\n | \"email\"\n | \"file\"\n | \"number\"\n | \"password\"\n | \"search\"\n | \"tel\"\n | \"url\"\n | \"hidden\"\n | (typeof dateTypes)[number];\n\nexport type Props = MergeElementProps<\n \"input\",\n FormElement & {\n wrapperProps?: ComponentPropsWithRef<\"div\">;\n labeledBy?: string;\n type: Type;\n suffix?: ReactNode;\n prefix?: ReactNode;\n }\n>;\n\nconst InputComponent: ForwardRefRenderFunction<HTMLInputElement, Props> = (\n {\n error = false,\n success = false,\n className,\n name,\n style,\n wrapperProps,\n type,\n labeledBy,\n prefix,\n suffix,\n disabled,\n onFocus,\n onBlur,\n ...rest\n }: Props,\n ref: Ref<HTMLInputElement>\n) => {\n const [focus, setFocus] = useState(false);\n const inputWrapperRef = useRef<HTMLDivElement>(null);\n const suffixRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (name === undefined) {\n throw new Error(\"Please give your <Input /> component a 'name' attribute\");\n }\n }, []);\n\n const inputClassNames = [classes[\"input\"]];\n\n const renderElement = (el: ReactNode) => {\n return typeof el === \"string\" ? <span>{el}</span> : el;\n };\n\n (dateTypes as ReadonlyArray<string>).includes(type) &&\n inputClassNames.push(classes[\"shrink-width-for-date-icon\"]);\n className && inputClassNames.push(className);\n\n const wrapperClasses = [classes[\"input-wrapper\"]];\n const outlineClasses = [classes[\"outline\"]];\n\n wrapperProps?.className && wrapperClasses.push(wrapperProps.className);\n type === \"hidden\" && wrapperClasses.push(readyclasses[\"hidden\"]);\n prefix && wrapperClasses.push(classes[\"prefix\"]);\n suffix && wrapperClasses.push(classes[\"suffix\"]);\n disabled && wrapperClasses.push(classes[\"disabled\"]) && outlineClasses.push(classes[\"disabled\"]);\n error && wrapperClasses.push(classes[\"error\"]) && outlineClasses.push(classes[\"error\"]);\n focus && wrapperClasses.push(classes[\"focus\"]) && outlineClasses.push(classes[\"focus\"]);\n success && wrapperClasses.push(classes[\"success\"]);\n\n const icon = useDetermineStatusIcon({ success, error });\n\n return (\n <div\n ref={inputWrapperRef}\n {...wrapperProps}\n style={{ ...style }}\n className={`${classes[\"input-wrapper\"]} ${wrapperClasses.join(\" \")}`}\n >\n {prefix && (\n <div data-prefix className={classes[\"prefix\"]}>\n {renderElement(prefix)}\n </div>\n )}\n <input\n {...rest}\n ref={ref}\n onFocus={event => {\n setFocus(true);\n onFocus?.(event);\n }}\n onBlur={event => {\n setFocus(false);\n onBlur?.(event);\n }}\n aria-labelledby={labeledBy}\n type={type}\n name={name}\n disabled={disabled}\n className={inputClassNames.join(\" \")}\n spellCheck={rest.spellCheck ?? false}\n />\n {icon}\n {suffix && (\n <div ref={suffixRef} data-suffix className={classes[\"suffix\"]}>\n {renderElement(suffix)}\n </div>\n )}\n\n <span className={outlineClasses.join(\" \")}></span>\n </div>\n );\n};\n\nexport const Input = React.forwardRef(InputComponent);\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Input.esm.js","sources":["../../../../../../src/components/Form/Input/Input.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 Ref,\n useEffect,\n useRef,\n useState,\n ReactNode\n} from \"react\";\nimport classes from \"./Input.module.scss\";\nimport readyclasses from \"../../../readyclasses.module.scss\";\nimport { FormElement } from \"../form.interfaces\";\nimport { useDetermineStatusIcon } from \"../../../hooks/useDetermineStatusIcon\";\nimport { MergeElementProps } from \"../../../interfaces\";\nimport { withReadOnly } from \"../../withReadOnly\";\n\nexport const dateTypes = [\"date\", \"time\", \"datetime-local\"] as const;\n\nexport type Type =\n | \"text\"\n | \"email\"\n | \"file\"\n | \"number\"\n | \"password\"\n | \"search\"\n | \"tel\"\n | \"url\"\n | \"hidden\"\n | (typeof dateTypes)[number];\n\nexport type Props = MergeElementProps<\n \"input\",\n FormElement & {\n wrapperProps?: ComponentPropsWithRef<\"div\">;\n labeledBy?: string;\n type: Type;\n suffix?: ReactNode;\n prefix?: ReactNode;\n readOnlyView?: boolean;\n }\n>;\n\nconst InputComponent: ForwardRefRenderFunction<HTMLInputElement, Props> = (\n {\n error = false,\n success = false,\n className,\n name,\n style,\n wrapperProps,\n type,\n labeledBy,\n prefix,\n suffix,\n disabled,\n onFocus,\n onBlur,\n readOnlyView,\n ...rest\n }: Props,\n ref: Ref<HTMLInputElement>\n) => {\n const [focus, setFocus] = useState(false);\n const inputWrapperRef = useRef<HTMLDivElement>(null);\n const suffixRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (name === undefined) {\n throw new Error(\"Please give your <Input /> component a 'name' attribute\");\n }\n }, []);\n\n const inputClassNames = [classes[\"input\"]];\n\n const renderElement = (el: ReactNode) => {\n return typeof el === \"string\" ? <span>{el}</span> : el;\n };\n\n (dateTypes as ReadonlyArray<string>).includes(type) &&\n inputClassNames.push(classes[\"shrink-width-for-date-icon\"]);\n className && inputClassNames.push(className);\n\n const wrapperClasses = [classes[\"input-wrapper\"]];\n const outlineClasses = [classes[\"outline\"]];\n\n wrapperProps?.className && wrapperClasses.push(wrapperProps.className);\n type === \"hidden\" && wrapperClasses.push(readyclasses[\"hidden\"]);\n prefix && wrapperClasses.push(classes[\"prefix\"]);\n suffix && wrapperClasses.push(classes[\"suffix\"]);\n disabled && wrapperClasses.push(classes[\"disabled\"]) && outlineClasses.push(classes[\"disabled\"]);\n error && wrapperClasses.push(classes[\"error\"]) && outlineClasses.push(classes[\"error\"]);\n focus && wrapperClasses.push(classes[\"focus\"]) && outlineClasses.push(classes[\"focus\"]);\n success && wrapperClasses.push(classes[\"success\"]);\n\n const icon = useDetermineStatusIcon({ success, error });\n const readOnlyMode = rest[\"data-readonlyview\"] as boolean;\n\n return (\n <div\n ref={inputWrapperRef}\n {...wrapperProps}\n style={{ ...style }}\n data-readonlyview={readOnlyMode}\n className={`${classes[\"input-wrapper\"]} ${wrapperClasses.join(\" \")}`}\n tabIndex={readOnlyMode ? 0 : -1}\n >\n {prefix && (\n <div data-prefix className={classes[\"prefix\"]}>\n {renderElement(prefix)}\n </div>\n )}\n <input\n {...rest}\n ref={ref}\n aria-readonly={readOnlyMode}\n readOnly={readOnlyMode}\n onFocus={event => {\n setFocus(true);\n onFocus?.(event);\n }}\n onBlur={event => {\n setFocus(false);\n onBlur?.(event);\n }}\n aria-labelledby={labeledBy}\n type={type}\n name={name}\n disabled={disabled}\n className={inputClassNames.join(\" \")}\n spellCheck={rest.spellCheck ?? false}\n tabIndex={readOnlyMode ? -1 : 0}\n />\n {icon}\n {suffix && (\n <div ref={suffixRef} data-suffix className={classes[\"suffix\"]}>\n {renderElement(suffix)}\n </div>\n )}\n\n <span className={outlineClasses.join(\" \")}></span>\n </div>\n );\n};\n\nexport const Input = withReadOnly(React.forwardRef(InputComponent));\n"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import styleInject from '../../node_modules/style-inject/dist/style-inject.es.esm.js';
2
2
 
3
- var css_248z = "/*!\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 */.Input-module_sr-only__u9KmF{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.Input-module_hidden__FwpzS{display:none}.Input-module_slide-in__pQw99{animation:Input-module_slide-in__pQw99 .5s forwards}@media (prefers-reduced-motion:reduce){.Input-module_slide-in__pQw99{animation-duration:.1ms}}.Input-module_slide-out__9-4Xf{animation:Input-module_slide-out__9-4Xf .5s forwards}@media (prefers-reduced-motion:reduce){.Input-module_slide-out__9-4Xf{animation-duration:.1ms}}@keyframes Input-module_slide-in__pQw99{0%{transform:translateY(100vh)}to{transform:translateY(0)}}@keyframes Input-module_slide-out__9-4Xf{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 */.Input-module_input-wrapper__GYlup{align-items:center;background-color:var(--input-background-color);border:0;border-radius:var(--input-border-radius);display:flex;padding:0 .5rem;position:relative;transition-duration:.2s;transition-property:all;transition-timing-function:ease-in-out}@media (prefers-reduced-motion:reduce){.Input-module_input-wrapper__GYlup{transition-duration:.1ms}}.Input-module_input-wrapper__GYlup input:-webkit-autofill,.Input-module_input-wrapper__GYlup input:-webkit-autofill:active,.Input-module_input-wrapper__GYlup input:-webkit-autofill:focus,.Input-module_input-wrapper__GYlup input:-webkit-autofill:hover{transition:background-color 5000s ease-in-out 0s!important}.Input-module_input-wrapper__GYlup input:-webkit-autofill:active~.Input-module_outline__orHmi:after,.Input-module_input-wrapper__GYlup input:-webkit-autofill:focus~.Input-module_outline__orHmi:after,.Input-module_input-wrapper__GYlup input:-webkit-autofill:hover~.Input-module_outline__orHmi:after,.Input-module_input-wrapper__GYlup input:-webkit-autofill~.Input-module_outline__orHmi:after{border-radius:var(--input-border-radius);content:\"\";display:block;height:100%;position:absolute;width:100%}@media (-webkit-min-device-pixel-ratio:0) and (min-resolution:0.001dpcm){.Input-module_input-wrapper__GYlup input:-webkit-autofill:active~.Input-module_outline__orHmi:after,.Input-module_input-wrapper__GYlup input:-webkit-autofill:focus~.Input-module_outline__orHmi:after,.Input-module_input-wrapper__GYlup input:-webkit-autofill:hover~.Input-module_outline__orHmi:after,.Input-module_input-wrapper__GYlup input:-webkit-autofill~.Input-module_outline__orHmi:after{background-color:#e8f0fe}}@media not all and (min-resolution:0.001dpcm){.Input-module_input-wrapper__GYlup input:-webkit-autofill:active~.Input-module_outline__orHmi:after,.Input-module_input-wrapper__GYlup input:-webkit-autofill:focus~.Input-module_outline__orHmi:after,.Input-module_input-wrapper__GYlup input:-webkit-autofill:hover~.Input-module_outline__orHmi:after,.Input-module_input-wrapper__GYlup input:-webkit-autofill~.Input-module_outline__orHmi:after{background-color:#faffbd}}.Input-module_input-wrapper__GYlup:hover .Input-module_outline__orHmi{background-color:var(--input-hover-background-color);border-color:var(--default)}.Input-module_input-wrapper__GYlup .Input-module_outline__orHmi.Input-module_disabled__HDz3n{background-color:var(--input-disabled-background-color);border-color:var(--disabled)}.Input-module_input-wrapper__GYlup .Input-module_outline__orHmi.Input-module_error__DnA1X{border-color:var(--error)}.Input-module_input-wrapper__GYlup .Input-module_outline__orHmi.Input-module_focus__MWEAK{border-width:var(--input-border-width-focus)}.Input-module_input-wrapper__GYlup .Input-module_outline__orHmi.Input-module_focus__MWEAK:not(.Input-module_error__DnA1X){border-color:var(--color-focus)}.Input-module_input-wrapper__GYlup [data-icon-status=error],.Input-module_input-wrapper__GYlup [data-icon-status=success]{align-items:center;box-sizing:border-box;display:flex;font-size:1.125rem;height:100%;justify-content:center;width:1.25rem;z-index:2}.Input-module_input-wrapper__GYlup [data-icon-status=error]:before,.Input-module_input-wrapper__GYlup [data-icon-status=success]:before{align-items:center;display:flex;font-size:1.125rem;height:1.25rem;justify-content:center;width:1.25rem}.Input-module_input-wrapper__GYlup [data-icon-status=success]{color:var(--success)}.Input-module_input-wrapper__GYlup [data-icon-status=error]{color:var(--error)}.Input-module_input__DImrC{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);height:40px;padding:0;z-index:1}.Input-module_input__DImrC:not(.Input-module_shrink-width-for-date-icon__2dVxY){width:100%}.Input-module_input__DImrC:disabled{color:var(--greyed-out);cursor:not-allowed}.Input-module_input__DImrC.Input-module_shrink-width-for-date-icon__2dVxY{width:auto}.Input-module_input__DImrC{transition-duration:.2s;transition-property:all;transition-timing-function:ease-in-out}@media (prefers-reduced-motion:reduce){.Input-module_input__DImrC{transition-duration:.1ms}}.Input-module_input__DImrC:focus:not(:disabled){outline:none}.Input-module_outline__orHmi{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){.Input-module_outline__orHmi{transition-duration:.1ms}}.Input-module_error__DnA1X input{padding-right:1.25rem}.Input-module_error__DnA1X input.Input-module_remove-extra-indent__-uHcP{padding-right:0}.Input-module_success__iVzsx input{padding-right:1.25rem}.Input-module_input-wrapper__GYlup [data-prefix],.Input-module_input-wrapper__GYlup [data-suffix]{display:block;transition-duration:.2s;transition-property:all;transition-timing-function:ease-in-out;z-index:1}@media (prefers-reduced-motion:reduce){.Input-module_input-wrapper__GYlup [data-prefix],.Input-module_input-wrapper__GYlup [data-suffix]{transition-duration:.1ms}}@media only screen and (min-width:30em){.Input-module_input-wrapper__GYlup{padding:0 .5rem}}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIklucHV0Lm1vZHVsZS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztFQWNFO0FBQ0Y7Ozs7Ozs7Ozs7Ozs7O0VBY0U7QUFDRjs7Ozs7Ozs7Ozs7Ozs7RUFjRSxDQUNGLDZCQU9FLGtCQUFzQixDQUN0QixRQUFTLENBTFQsVUFBVyxDQUVYLFdBQVksQ0FDWixlQUFnQixDQUZoQixTQUFVLENBSFYsaUJBQWtCLENBQ2xCLFNBT0YsQ0FFQSw0QkFDRSxZQUNGLENBRUEsOEJBQ0UsbURBQ0YsQ0FDQSx1Q0FDRSw4QkFDRSx1QkFDRixDQUNGLENBRUEsK0JBQ0Usb0RBQ0YsQ0FDQSx1Q0FDRSwrQkFDRSx1QkFDRixDQUNGLENBRUEsd0NBQ0UsR0FDRSwyQkFDRixDQUNBLEdBQ0UsdUJBQ0YsQ0FDRixDQUNBLHlDQUNFLEdBQ0UsdUJBQ0YsQ0FDQSxHQUNFLDJCQUNGLENBQ0Y7QUFDQTs7Ozs7Ozs7Ozs7Ozs7RUFjRSxDQUNGLG1DQUdFLGtCQUFtQixDQUduQiw4Q0FBK0MsQ0FGL0MsUUFBUyxDQUNULHdDQUF5QyxDQUh6QyxZQUFhLENBS2IsZUFBaUIsQ0FOakIsaUJBQWtCLENBUWxCLHVCQUF5QixDQUR6Qix1QkFBd0IsQ0FFeEIsc0NBQ0YsQ0FDQSx1Q0FDRSxtQ0FDRSx3QkFDRixDQUNGLENBQ0EsMlBBSUUsMERBQ0YsQ0FDQSx1WUFTRSx3Q0FBeUMsQ0FMekMsVUFBVyxDQUVYLGFBQWMsQ0FFZCxXQUFZLENBSFosaUJBQWtCLENBRWxCLFVBR0YsQ0FDQSx5RUFDRSx1WUFJRSx3QkFDRixDQUNGLENBQ0EsOENBQ0UsdVlBSUUsd0JBQ0YsQ0FDRixDQUNBLHNFQUVFLG9EQUFxRCxDQURyRCwyQkFFRixDQUNBLDZGQUVFLHVEQUF3RCxDQUR4RCw0QkFFRixDQUNBLDBGQUNFLHlCQUNGLENBQ0EsMEZBQ0UsNENBQ0YsQ0FDQSwwSEFDRSwrQkFDRixDQUNBLDBIQU9FLGtCQUFtQixDQUhuQixxQkFBc0IsQ0FFdEIsWUFBYSxDQURiLGtCQUFtQixDQUhuQixXQUFZLENBTVosc0JBQXVCLENBTHZCLGFBQWMsQ0FNZCxTQUNGLENBQ0Esd0lBTUUsa0JBQW1CLENBRG5CLFlBQWEsQ0FIYixrQkFBbUIsQ0FDbkIsY0FBZSxDQUlmLHNCQUF1QixDQUh2QixhQUlGLENBQ0EsOERBQ0Usb0JBQ0YsQ0FDQSw0REFDRSxrQkFDRixDQUVBLDJCQVNFLHdCQUE2QixDQUY3QixRQUFTLENBQ1Qsd0NBQXlDLENBRnpDLHFCQUFzQixDQUh0QiwrQkFBZ0MsQ0FFaEMsOEJBQStCLENBRC9CLHVDQUF3QyxDQUZ4QyxXQUFZLENBRFosU0FBVSxDQVNWLFNBQ0YsQ0FDQSxnRkFDRSxVQUNGLENBQ0Esb0NBRUUsdUJBQXdCLENBRHhCLGtCQUVGLENBQ0EsMEVBQ0UsVUFDRixDQUNBLDJCQUVFLHVCQUF5QixDQUR6Qix1QkFBd0IsQ0FFeEIsc0NBQ0YsQ0FDQSx1Q0FDRSwyQkFDRSx3QkFDRixDQUNGLENBQ0EsZ0RBQ0UsWUFDRixDQUVBLDZCQU1FLHNDQUF1QyxDQUd2Qyx3Q0FBeUMsQ0FGekMsc0NBQXVDLENBQ3ZDLHNDQUF1QyxDQUh2QyxPQUFRLENBRlIsUUFBUyxDQUNULFNBQVUsQ0FIVixtQkFBb0IsQ0FDcEIsaUJBQWtCLENBU2xCLHVCQUF5QixDQUR6Qix1QkFBd0IsQ0FFeEIsc0NBQ0YsQ0FDQSx1Q0FDRSw2QkFDRSx3QkFDRixDQUNGLENBRUEsaUNBQ0UscUJBQ0YsQ0FDQSx5RUFDRSxlQUNGLENBRUEsbUNBQ0UscUJBQ0YsQ0FFQSxrR0FFRSxhQUFjLENBR2QsdUJBQXlCLENBRHpCLHVCQUF3QixDQUV4QixzQ0FBdUMsQ0FIdkMsU0FJRixDQUNBLHVDQUNFLGtHQUVFLHdCQUNGLENBQ0YsQ0FFQSx3Q0FDRSxtQ0FDRSxlQUNGLENBQ0YiLCJmaWxlIjoiSW5wdXQubW9kdWxlLnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIENvcHlyaWdodCAyMDIyIE9uZVdlbGNvbWUgQi5WLlxuICpcbiAqICAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiAgICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiAgICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiAgICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiAgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyohXG4gKiBDb3B5cmlnaHQgMjAyMiBPbmVXZWxjb21lIEIuVi5cbiAqXG4gKiAgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogICAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqICAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qIVxuICogQ29weXJpZ2h0IDIwMjIgT25lV2VsY29tZSBCLlYuXG4gKlxuICogICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqICAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqICAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiAgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiAgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqICAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4uc3Itb25seSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgYm9yZGVyOiAwO1xufVxuXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnNsaWRlLWluIHtcbiAgYW5pbWF0aW9uOiBzbGlkZS1pbiAwLjVzIGZvcndhcmRzO1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLnNsaWRlLWluIHtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDAuMW1zO1xuICB9XG59XG5cbi5zbGlkZS1vdXQge1xuICBhbmltYXRpb246IHNsaWRlLW91dCAwLjVzIGZvcndhcmRzO1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLnNsaWRlLW91dCB7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjFtcztcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlLWluIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDB2aCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgfVxufVxuQGtleWZyYW1lcyBzbGlkZS1vdXQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwdmgpO1xuICB9XG59XG4vKiFcbiAqIENvcHlyaWdodCAyMDIyIE9uZVdlbGNvbWUgQi5WLlxuICpcbiAqICAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiAgICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiAgICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiAgICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiAgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLmlucHV0LXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0taW5wdXQtYm9yZGVyLXJhZGl1cyk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlucHV0LWJhY2tncm91bmQtY29sb3IpO1xuICBwYWRkaW5nOiAwIDAuNXJlbTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYWxsO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAuaW5wdXQtd3JhcHBlciB7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xbXM7XG4gIH1cbn1cbi5pbnB1dC13cmFwcGVyIGlucHV0Oi13ZWJraXQtYXV0b2ZpbGwsXG4uaW5wdXQtd3JhcHBlciBpbnB1dDotd2Via2l0LWF1dG9maWxsOmhvdmVyLFxuLmlucHV0LXdyYXBwZXIgaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cyxcbi5pbnB1dC13cmFwcGVyIGlucHV0Oi13ZWJraXQtYXV0b2ZpbGw6YWN0aXZlIHtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciA1MDAwcyBlYXNlLWluLW91dCAwcyAhaW1wb3J0YW50O1xufVxuLmlucHV0LXdyYXBwZXIgaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbCB+IC5vdXRsaW5lOmFmdGVyLFxuLmlucHV0LXdyYXBwZXIgaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbDpob3ZlciB+IC5vdXRsaW5lOmFmdGVyLFxuLmlucHV0LXdyYXBwZXIgaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cyB+IC5vdXRsaW5lOmFmdGVyLFxuLmlucHV0LXdyYXBwZXIgaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbDphY3RpdmUgfiAub3V0bGluZTphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWlucHV0LWJvcmRlci1yYWRpdXMpO1xufVxuQG1lZGlhIGFsbCBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMCkgYW5kIChtaW4tcmVzb2x1dGlvbjogMC4wMDFkcGNtKSB7XG4gIC5pbnB1dC13cmFwcGVyIGlucHV0Oi13ZWJraXQtYXV0b2ZpbGwgfiAub3V0bGluZTphZnRlcixcbiAgLmlucHV0LXdyYXBwZXIgaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbDpob3ZlciB+IC5vdXRsaW5lOmFmdGVyLFxuICAuaW5wdXQtd3JhcHBlciBpbnB1dDotd2Via2l0LWF1dG9maWxsOmZvY3VzIH4gLm91dGxpbmU6YWZ0ZXIsXG4gIC5pbnB1dC13cmFwcGVyIGlucHV0Oi13ZWJraXQtYXV0b2ZpbGw6YWN0aXZlIH4gLm91dGxpbmU6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigyMzIsIDI0MCwgMjU0KTtcbiAgfVxufVxuQG1lZGlhIG5vdCBhbGwgYW5kIChtaW4tcmVzb2x1dGlvbjogMC4wMDFkcGNtKSB7XG4gIC5pbnB1dC13cmFwcGVyIGlucHV0Oi13ZWJraXQtYXV0b2ZpbGwgfiAub3V0bGluZTphZnRlcixcbiAgLmlucHV0LXdyYXBwZXIgaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbDpob3ZlciB+IC5vdXRsaW5lOmFmdGVyLFxuICAuaW5wdXQtd3JhcHBlciBpbnB1dDotd2Via2l0LWF1dG9maWxsOmZvY3VzIH4gLm91dGxpbmU6YWZ0ZXIsXG4gIC5pbnB1dC13cmFwcGVyIGlucHV0Oi13ZWJraXQtYXV0b2ZpbGw6YWN0aXZlIH4gLm91dGxpbmU6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTAsIDI1NSwgMTg5KTtcbiAgfVxufVxuLmlucHV0LXdyYXBwZXI6aG92ZXIgLm91dGxpbmUge1xuICBib3JkZXItY29sb3I6IHZhcigtLWRlZmF1bHQpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnB1dC1ob3Zlci1iYWNrZ3JvdW5kLWNvbG9yKTtcbn1cbi5pbnB1dC13cmFwcGVyIC5vdXRsaW5lLmRpc2FibGVkIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1kaXNhYmxlZCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlucHV0LWRpc2FibGVkLWJhY2tncm91bmQtY29sb3IpO1xufVxuLmlucHV0LXdyYXBwZXIgLm91dGxpbmUuZXJyb3Ige1xuICBib3JkZXItY29sb3I6IHZhcigtLWVycm9yKTtcbn1cbi5pbnB1dC13cmFwcGVyIC5vdXRsaW5lLmZvY3VzIHtcbiAgYm9yZGVyLXdpZHRoOiB2YXIoLS1pbnB1dC1ib3JkZXItd2lkdGgtZm9jdXMpO1xufVxuLmlucHV0LXdyYXBwZXIgLm91dGxpbmUuZm9jdXM6bm90KC5lcnJvcikge1xuICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWZvY3VzKTtcbn1cbi5pbnB1dC13cmFwcGVyIFtkYXRhLWljb24tc3RhdHVzPXN1Y2Nlc3NdLFxuLmlucHV0LXdyYXBwZXIgW2RhdGEtaWNvbi1zdGF0dXM9ZXJyb3JdIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMS4yNXJlbTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHotaW5kZXg6IDI7XG59XG4uaW5wdXQtd3JhcHBlciBbZGF0YS1pY29uLXN0YXR1cz1zdWNjZXNzXTpiZWZvcmUsXG4uaW5wdXQtd3JhcHBlciBbZGF0YS1pY29uLXN0YXR1cz1lcnJvcl06YmVmb3JlIHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgaGVpZ2h0OiAxLjI1cmVtO1xuICB3aWR0aDogMS4yNXJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4uaW5wdXQtd3JhcHBlciBbZGF0YS1pY29uLXN0YXR1cz1zdWNjZXNzXSB7XG4gIGNvbG9yOiB2YXIoLS1zdWNjZXNzKTtcbn1cbi5pbnB1dC13cmFwcGVyIFtkYXRhLWljb24tc3RhdHVzPWVycm9yXSB7XG4gIGNvbG9yOiB2YXIoLS1lcnJvcik7XG59XG5cbi5pbnB1dCB7XG4gIHBhZGRpbmc6IDA7XG4gIGhlaWdodDogNDBweDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWJsdWUtZ3JleTkwMCk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9ybS1jb250cm9sLWZvbnQtc2l6ZSk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseSk7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0taW5wdXQtYm9yZGVyLXJhZGl1cyk7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB6LWluZGV4OiAxO1xufVxuLmlucHV0Om5vdCguc2hyaW5rLXdpZHRoLWZvci1kYXRlLWljb24pIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4uaW5wdXQ6ZGlzYWJsZWQge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICBjb2xvcjogdmFyKC0tZ3JleWVkLW91dCk7XG59XG4uaW5wdXQuc2hyaW5rLXdpZHRoLWZvci1kYXRlLWljb24ge1xuICB3aWR0aDogYXV0bztcbn1cbi5pbnB1dCB7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGFsbDtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4ycztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLmlucHV0IHtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjFtcztcbiAgfVxufVxuLmlucHV0OmZvY3VzOm5vdCg6ZGlzYWJsZWQpIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLm91dGxpbmUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGluc2V0OiAwO1xuICBib3JkZXItY29sb3I6IHZhcigtLWxpZ2h0LWJvcmRlci1jb2xvcik7XG4gIGJvcmRlci1zdHlsZTogdmFyKC0taW5wdXQtYm9yZGVyLXN0eWxlKTtcbiAgYm9yZGVyLXdpZHRoOiB2YXIoLS1pbnB1dC1ib3JkZXItd2lkdGgpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1pbnB1dC1ib3JkZXItcmFkaXVzKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYWxsO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAub3V0bGluZSB7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xbXM7XG4gIH1cbn1cblxuLmVycm9yIGlucHV0IHtcbiAgcGFkZGluZy1yaWdodDogMS4yNXJlbTtcbn1cbi5lcnJvciBpbnB1dC5yZW1vdmUtZXh0cmEtaW5kZW50IHtcbiAgcGFkZGluZy1yaWdodDogMDtcbn1cblxuLnN1Y2Nlc3MgaW5wdXQge1xuICBwYWRkaW5nLXJpZ2h0OiAxLjI1cmVtO1xufVxuXG4uaW5wdXQtd3JhcHBlciBbZGF0YS1wcmVmaXhdLFxuLmlucHV0LXdyYXBwZXIgW2RhdGEtc3VmZml4XSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB6LWluZGV4OiAxO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBhbGw7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMnM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5pbnB1dC13cmFwcGVyIFtkYXRhLXByZWZpeF0sXG4gIC5pbnB1dC13cmFwcGVyIFtkYXRhLXN1ZmZpeF0ge1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMW1zO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAuaW5wdXQtd3JhcHBlciB7XG4gICAgcGFkZGluZzogMCAwLjVyZW07XG4gIH1cbn0iXX0= */";
4
- var classes = {"sr-only":"Input-module_sr-only__u9KmF","hidden":"Input-module_hidden__FwpzS","slide-in":"Input-module_slide-in__pQw99","slide-out":"Input-module_slide-out__9-4Xf","input-wrapper":"Input-module_input-wrapper__GYlup","outline":"Input-module_outline__orHmi","disabled":"Input-module_disabled__HDz3n","error":"Input-module_error__DnA1X","focus":"Input-module_focus__MWEAK","input":"Input-module_input__DImrC","shrink-width-for-date-icon":"Input-module_shrink-width-for-date-icon__2dVxY","remove-extra-indent":"Input-module_remove-extra-indent__-uHcP","success":"Input-module_success__iVzsx"};
3
+ var css_248z = "/*!\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 */.Input-module_sr-only__u9KmF{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.Input-module_hidden__FwpzS{display:none}.Input-module_slide-in__pQw99{animation:Input-module_slide-in__pQw99 .5s forwards}@media (prefers-reduced-motion:reduce){.Input-module_slide-in__pQw99{animation-duration:.1ms}}.Input-module_slide-out__9-4Xf{animation:Input-module_slide-out__9-4Xf .5s forwards}@media (prefers-reduced-motion:reduce){.Input-module_slide-out__9-4Xf{animation-duration:.1ms}}@keyframes Input-module_slide-in__pQw99{0%{transform:translateY(100vh)}to{transform:translateY(0)}}@keyframes Input-module_slide-out__9-4Xf{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 */.Input-module_input-wrapper__GYlup{align-items:center;background-color:var(--input-background-color);border:0;border-radius:var(--input-border-radius);display:flex;padding:0 .5rem;position:relative;transition-duration:.2s;transition-property:all;transition-timing-function:ease-in-out}@media (prefers-reduced-motion:reduce){.Input-module_input-wrapper__GYlup{transition-duration:.1ms}}.Input-module_input-wrapper__GYlup input:-webkit-autofill,.Input-module_input-wrapper__GYlup input:-webkit-autofill:active,.Input-module_input-wrapper__GYlup input:-webkit-autofill:focus,.Input-module_input-wrapper__GYlup input:-webkit-autofill:hover{transition:background-color 5000s ease-in-out 0s!important}.Input-module_input-wrapper__GYlup input:-webkit-autofill:active~.Input-module_outline__orHmi:after,.Input-module_input-wrapper__GYlup input:-webkit-autofill:focus~.Input-module_outline__orHmi:after,.Input-module_input-wrapper__GYlup input:-webkit-autofill:hover~.Input-module_outline__orHmi:after,.Input-module_input-wrapper__GYlup input:-webkit-autofill~.Input-module_outline__orHmi:after{border-radius:var(--input-border-radius);content:\"\";display:block;height:100%;position:absolute;width:100%}@media (-webkit-min-device-pixel-ratio:0) and (min-resolution:0.001dpcm){.Input-module_input-wrapper__GYlup input:-webkit-autofill:active~.Input-module_outline__orHmi:after,.Input-module_input-wrapper__GYlup input:-webkit-autofill:focus~.Input-module_outline__orHmi:after,.Input-module_input-wrapper__GYlup input:-webkit-autofill:hover~.Input-module_outline__orHmi:after,.Input-module_input-wrapper__GYlup input:-webkit-autofill~.Input-module_outline__orHmi:after{background-color:#e8f0fe}}@media not all and (min-resolution:0.001dpcm){.Input-module_input-wrapper__GYlup input:-webkit-autofill:active~.Input-module_outline__orHmi:after,.Input-module_input-wrapper__GYlup input:-webkit-autofill:focus~.Input-module_outline__orHmi:after,.Input-module_input-wrapper__GYlup input:-webkit-autofill:hover~.Input-module_outline__orHmi:after,.Input-module_input-wrapper__GYlup input:-webkit-autofill~.Input-module_outline__orHmi:after{background-color:#faffbd}}.Input-module_input-wrapper__GYlup:hover .Input-module_outline__orHmi{background-color:var(--input-hover-background-color);border-color:var(--default)}.Input-module_input-wrapper__GYlup .Input-module_outline__orHmi.Input-module_disabled__HDz3n{background-color:var(--input-disabled-background-color);border-color:var(--disabled)}.Input-module_input-wrapper__GYlup .Input-module_outline__orHmi.Input-module_error__DnA1X{border-color:var(--error)}.Input-module_input-wrapper__GYlup .Input-module_outline__orHmi.Input-module_focus__MWEAK{border-width:var(--input-border-width-focus)}.Input-module_input-wrapper__GYlup .Input-module_outline__orHmi.Input-module_focus__MWEAK:not(.Input-module_error__DnA1X){border-color:var(--color-focus)}.Input-module_input-wrapper__GYlup [data-icon-status=error],.Input-module_input-wrapper__GYlup [data-icon-status=success]{align-items:center;box-sizing:border-box;display:flex;font-size:1.125rem;height:100%;justify-content:center;width:1.25rem;z-index:2}.Input-module_input-wrapper__GYlup [data-icon-status=error]:before,.Input-module_input-wrapper__GYlup [data-icon-status=success]:before{align-items:center;display:flex;font-size:1.125rem;height:1.25rem;justify-content:center;width:1.25rem}.Input-module_input-wrapper__GYlup [data-icon-status=success]{color:var(--success)}.Input-module_input-wrapper__GYlup [data-icon-status=error]{color:var(--error)}.Input-module_input-wrapper__GYlup[data-readonlyview=true]{color:var(--read-only-text-color)}.Input-module_input-wrapper__GYlup[data-readonlyview=true] .Input-module_Input-module__eIyXD{border-color:var(--read-only-border-color)}.Input-module_input-wrapper__GYlup[data-readonlyview=true] span.Input-module_outline__orHmi{background-color:var(--color-white);border-color:var(--read-only-border-color);color:var(--read-only-text-color)}.Input-module_input-wrapper__GYlup[data-readonlyview=true] span.Input-module_outline__orHmi.Input-module_focus__MWEAK{border-color:var(--read-only-border-color)}.Input-module_input-wrapper__GYlup[data-readonlyview=true]:hover .Input-module_outline__orHmi{background-color:var(--color-white);border-color:var(--read-only-border-color);color:var(--read-only-text-color)}.Input-module_input__DImrC{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);height:40px;padding:0;z-index:1}.Input-module_input__DImrC:not(.Input-module_shrink-width-for-date-icon__2dVxY){width:100%}.Input-module_input__DImrC:disabled{color:var(--greyed-out);cursor:not-allowed}.Input-module_input__DImrC.Input-module_shrink-width-for-date-icon__2dVxY{width:auto}.Input-module_input__DImrC{transition-duration:.2s;transition-property:all;transition-timing-function:ease-in-out}@media (prefers-reduced-motion:reduce){.Input-module_input__DImrC{transition-duration:.1ms}}.Input-module_input__DImrC:focus:not(:disabled){outline:none}[data-readonlyview=true] .Input-module_outline__orHmi{border-color:var(--read-only-border-color)}.Input-module_outline__orHmi{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){.Input-module_outline__orHmi{transition-duration:.1ms}}.Input-module_error__DnA1X input{padding-right:1.25rem}.Input-module_error__DnA1X input.Input-module_remove-extra-indent__-uHcP{padding-right:0}.Input-module_success__iVzsx input{padding-right:1.25rem}.Input-module_input-wrapper__GYlup [data-prefix],.Input-module_input-wrapper__GYlup [data-suffix]{display:block;transition-duration:.2s;transition-property:all;transition-timing-function:ease-in-out;z-index:1}@media (prefers-reduced-motion:reduce){.Input-module_input-wrapper__GYlup [data-prefix],.Input-module_input-wrapper__GYlup [data-suffix]{transition-duration:.1ms}}@media only screen and (min-width:30em){.Input-module_input-wrapper__GYlup{padding:0 .5rem}}\n/*# sourceMappingURL=data:application/json;base64,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RSx3QkFDRixDQUNGLENBRUEsd0NBQ0UsbUNBQ0UsZUFDRixDQUNGIiwiZmlsZSI6IklucHV0Lm1vZHVsZS5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBDb3B5cmlnaHQgMjAyMiBPbmVXZWxjb21lIEIuVi5cbiAqXG4gKiAgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogICAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqICAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qIVxuICogQ29weXJpZ2h0IDIwMjIgT25lV2VsY29tZSBCLlYuXG4gKlxuICogICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqICAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqICAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiAgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiAgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqICAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vKiFcbiAqIENvcHlyaWdodCAyMDIyIE9uZVdlbGNvbWUgQi5WLlxuICpcbiAqICAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiAgICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiAgICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiAgICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiAgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLnNyLW9ubHkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIGJvcmRlcjogMDtcbn1cblxuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5zbGlkZS1pbiB7XG4gIGFuaW1hdGlvbjogc2xpZGUtaW4gMC41cyBmb3J3YXJkcztcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5zbGlkZS1pbiB7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjFtcztcbiAgfVxufVxuXG4uc2xpZGUtb3V0IHtcbiAgYW5pbWF0aW9uOiBzbGlkZS1vdXQgMC41cyBmb3J3YXJkcztcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5zbGlkZS1vdXQge1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4xbXM7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZS1pbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwdmgpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgc2xpZGUtb3V0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMHZoKTtcbiAgfVxufVxuLyohXG4gKiBDb3B5cmlnaHQgMjAyMiBPbmVXZWxjb21lIEIuVi5cbiAqXG4gKiAgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogICAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqICAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi5pbnB1dC13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWlucHV0LWJvcmRlci1yYWRpdXMpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnB1dC1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgcGFkZGluZzogMCAwLjVyZW07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGFsbDtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4ycztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLmlucHV0LXdyYXBwZXIge1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMW1zO1xuICB9XG59XG4uaW5wdXQtd3JhcHBlciBpbnB1dDotd2Via2l0LWF1dG9maWxsLFxuLmlucHV0LXdyYXBwZXIgaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbDpob3Zlcixcbi5pbnB1dC13cmFwcGVyIGlucHV0Oi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMsXG4uaW5wdXQtd3JhcHBlciBpbnB1dDotd2Via2l0LWF1dG9maWxsOmFjdGl2ZSB7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgNTAwMHMgZWFzZS1pbi1vdXQgMHMgIWltcG9ydGFudDtcbn1cbi5pbnB1dC13cmFwcGVyIGlucHV0Oi13ZWJraXQtYXV0b2ZpbGwgfiAub3V0bGluZTphZnRlcixcbi5pbnB1dC13cmFwcGVyIGlucHV0Oi13ZWJraXQtYXV0b2ZpbGw6aG92ZXIgfiAub3V0bGluZTphZnRlcixcbi5pbnB1dC13cmFwcGVyIGlucHV0Oi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMgfiAub3V0bGluZTphZnRlcixcbi5pbnB1dC13cmFwcGVyIGlucHV0Oi13ZWJraXQtYXV0b2ZpbGw6YWN0aXZlIH4gLm91dGxpbmU6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1pbnB1dC1ib3JkZXItcmFkaXVzKTtcbn1cbkBtZWRpYSBhbGwgYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDApIGFuZCAobWluLXJlc29sdXRpb246IDAuMDAxZHBjbSkge1xuICAuaW5wdXQtd3JhcHBlciBpbnB1dDotd2Via2l0LWF1dG9maWxsIH4gLm91dGxpbmU6YWZ0ZXIsXG4gIC5pbnB1dC13cmFwcGVyIGlucHV0Oi13ZWJraXQtYXV0b2ZpbGw6aG92ZXIgfiAub3V0bGluZTphZnRlcixcbiAgLmlucHV0LXdyYXBwZXIgaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cyB+IC5vdXRsaW5lOmFmdGVyLFxuICAuaW5wdXQtd3JhcHBlciBpbnB1dDotd2Via2l0LWF1dG9maWxsOmFjdGl2ZSB+IC5vdXRsaW5lOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjMyLCAyNDAsIDI1NCk7XG4gIH1cbn1cbkBtZWRpYSBub3QgYWxsIGFuZCAobWluLXJlc29sdXRpb246IDAuMDAxZHBjbSkge1xuICAuaW5wdXQtd3JhcHBlciBpbnB1dDotd2Via2l0LWF1dG9maWxsIH4gLm91dGxpbmU6YWZ0ZXIsXG4gIC5pbnB1dC13cmFwcGVyIGlucHV0Oi13ZWJraXQtYXV0b2ZpbGw6aG92ZXIgfiAub3V0bGluZTphZnRlcixcbiAgLmlucHV0LXdyYXBwZXIgaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cyB+IC5vdXRsaW5lOmFmdGVyLFxuICAuaW5wdXQtd3JhcHBlciBpbnB1dDotd2Via2l0LWF1dG9maWxsOmFjdGl2ZSB+IC5vdXRsaW5lOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjUwLCAyNTUsIDE4OSk7XG4gIH1cbn1cbi5pbnB1dC13cmFwcGVyOmhvdmVyIC5vdXRsaW5lIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1kZWZhdWx0KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW5wdXQtaG92ZXItYmFja2dyb3VuZC1jb2xvcik7XG59XG4uaW5wdXQtd3JhcHBlciAub3V0bGluZS5kaXNhYmxlZCB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tZGlzYWJsZWQpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnB1dC1kaXNhYmxlZC1iYWNrZ3JvdW5kLWNvbG9yKTtcbn1cbi5pbnB1dC13cmFwcGVyIC5vdXRsaW5lLmVycm9yIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1lcnJvcik7XG59XG4uaW5wdXQtd3JhcHBlciAub3V0bGluZS5mb2N1cyB7XG4gIGJvcmRlci13aWR0aDogdmFyKC0taW5wdXQtYm9yZGVyLXdpZHRoLWZvY3VzKTtcbn1cbi5pbnB1dC13cmFwcGVyIC5vdXRsaW5lLmZvY3VzOm5vdCguZXJyb3IpIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1mb2N1cyk7XG59XG4uaW5wdXQtd3JhcHBlciBbZGF0YS1pY29uLXN0YXR1cz1zdWNjZXNzXSxcbi5pbnB1dC13cmFwcGVyIFtkYXRhLWljb24tc3RhdHVzPWVycm9yXSB7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEuMjVyZW07XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB6LWluZGV4OiAyO1xufVxuLmlucHV0LXdyYXBwZXIgW2RhdGEtaWNvbi1zdGF0dXM9c3VjY2Vzc106YmVmb3JlLFxuLmlucHV0LXdyYXBwZXIgW2RhdGEtaWNvbi1zdGF0dXM9ZXJyb3JdOmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGhlaWdodDogMS4yNXJlbTtcbiAgd2lkdGg6IDEuMjVyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuLmlucHV0LXdyYXBwZXIgW2RhdGEtaWNvbi1zdGF0dXM9c3VjY2Vzc10ge1xuICBjb2xvcjogdmFyKC0tc3VjY2Vzcyk7XG59XG4uaW5wdXQtd3JhcHBlciBbZGF0YS1pY29uLXN0YXR1cz1lcnJvcl0ge1xuICBjb2xvcjogdmFyKC0tZXJyb3IpO1xufVxuLmlucHV0LXdyYXBwZXJbZGF0YS1yZWFkb25seXZpZXc9dHJ1ZV0ge1xuICBjb2xvcjogdmFyKC0tcmVhZC1vbmx5LXRleHQtY29sb3IpO1xufVxuLmlucHV0LXdyYXBwZXJbZGF0YS1yZWFkb25seXZpZXc9dHJ1ZV0gLklucHV0LW1vZHVsZSB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcmVhZC1vbmx5LWJvcmRlci1jb2xvcik7XG59XG4uaW5wdXQtd3JhcHBlcltkYXRhLXJlYWRvbmx5dmlldz10cnVlXSBzcGFuLm91dGxpbmUge1xuICBjb2xvcjogdmFyKC0tcmVhZC1vbmx5LXRleHQtY29sb3IpO1xuICBib3JkZXItY29sb3I6IHZhcigtLXJlYWQtb25seS1ib3JkZXItY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG59XG4uaW5wdXQtd3JhcHBlcltkYXRhLXJlYWRvbmx5dmlldz10cnVlXSBzcGFuLm91dGxpbmUuZm9jdXMge1xuICBib3JkZXItY29sb3I6IHZhcigtLXJlYWQtb25seS1ib3JkZXItY29sb3IpO1xufVxuLmlucHV0LXdyYXBwZXJbZGF0YS1yZWFkb25seXZpZXc9dHJ1ZV06aG92ZXIgLm91dGxpbmUge1xuICBjb2xvcjogdmFyKC0tcmVhZC1vbmx5LXRleHQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcmVhZC1vbmx5LWJvcmRlci1jb2xvcik7XG59XG5cbi5pbnB1dCB7XG4gIHBhZGRpbmc6IDA7XG4gIGhlaWdodDogNDBweDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWJsdWUtZ3JleTkwMCk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9ybS1jb250cm9sLWZvbnQtc2l6ZSk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseSk7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0taW5wdXQtYm9yZGVyLXJhZGl1cyk7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB6LWluZGV4OiAxO1xufVxuLmlucHV0Om5vdCguc2hyaW5rLXdpZHRoLWZvci1kYXRlLWljb24pIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4uaW5wdXQ6ZGlzYWJsZWQge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICBjb2xvcjogdmFyKC0tZ3JleWVkLW91dCk7XG59XG4uaW5wdXQuc2hyaW5rLXdpZHRoLWZvci1kYXRlLWljb24ge1xuICB3aWR0aDogYXV0bztcbn1cbi5pbnB1dCB7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGFsbDtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4ycztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLmlucHV0IHtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjFtcztcbiAgfVxufVxuLmlucHV0OmZvY3VzOm5vdCg6ZGlzYWJsZWQpIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuW2RhdGEtcmVhZG9ubHl2aWV3PXRydWVdIC5vdXRsaW5lIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yZWFkLW9ubHktYm9yZGVyLWNvbG9yKTtcbn1cblxuLm91dGxpbmUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGluc2V0OiAwO1xuICBib3JkZXItY29sb3I6IHZhcigtLWxpZ2h0LWJvcmRlci1jb2xvcik7XG4gIGJvcmRlci1zdHlsZTogdmFyKC0taW5wdXQtYm9yZGVyLXN0eWxlKTtcbiAgYm9yZGVyLXdpZHRoOiB2YXIoLS1pbnB1dC1ib3JkZXItd2lkdGgpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1pbnB1dC1ib3JkZXItcmFkaXVzKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYWxsO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAub3V0bGluZSB7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xbXM7XG4gIH1cbn1cblxuLmVycm9yIGlucHV0IHtcbiAgcGFkZGluZy1yaWdodDogMS4yNXJlbTtcbn1cbi5lcnJvciBpbnB1dC5yZW1vdmUtZXh0cmEtaW5kZW50IHtcbiAgcGFkZGluZy1yaWdodDogMDtcbn1cblxuLnN1Y2Nlc3MgaW5wdXQge1xuICBwYWRkaW5nLXJpZ2h0OiAxLjI1cmVtO1xufVxuXG4uaW5wdXQtd3JhcHBlciBbZGF0YS1wcmVmaXhdLFxuLmlucHV0LXdyYXBwZXIgW2RhdGEtc3VmZml4XSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB6LWluZGV4OiAxO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBhbGw7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMnM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5pbnB1dC13cmFwcGVyIFtkYXRhLXByZWZpeF0sXG4gIC5pbnB1dC13cmFwcGVyIFtkYXRhLXN1ZmZpeF0ge1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMW1zO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAuaW5wdXQtd3JhcHBlciB7XG4gICAgcGFkZGluZzogMCAwLjVyZW07XG4gIH1cbn0iXX0= */";
4
+ var classes = {"sr-only":"Input-module_sr-only__u9KmF","hidden":"Input-module_hidden__FwpzS","slide-in":"Input-module_slide-in__pQw99","slide-out":"Input-module_slide-out__9-4Xf","input-wrapper":"Input-module_input-wrapper__GYlup","outline":"Input-module_outline__orHmi","disabled":"Input-module_disabled__HDz3n","error":"Input-module_error__DnA1X","focus":"Input-module_focus__MWEAK","Input-module":"Input-module_Input-module__eIyXD","input":"Input-module_input__DImrC","shrink-width-for-date-icon":"Input-module_shrink-width-for-date-icon__2dVxY","remove-extra-indent":"Input-module_remove-extra-indent__-uHcP","success":"Input-module_success__iVzsx"};
5
5
  styleInject(css_248z);
6
6
 
7
7
  export { classes as default };
@@ -3,6 +3,7 @@ import { Icon, Icons } from '../../Icon/Icon.esm.js';
3
3
  import classes from './Radio.module.scss.esm.js';
4
4
  import { useFormSelector } from '../../src/hooks/useFormSelector.esm.js';
5
5
  import { FormSelectorWrapper } from '../FormSelectorWrapper/FormSelectorWrapper.esm.js';
6
+ import { withReadOnly } from '../../withReadOnly.esm.js';
6
7
 
7
8
  /*
8
9
  * Copyright 2022 OneWelcome B.V.
@@ -54,7 +55,7 @@ const RadioComponent = ({ children, disabled, className, value, name, helperText
54
55
  !checked && React.createElement(Icon, { className: uncheckedRadioClasses.join(" "), icon: Icons.Circle }),
55
56
  React.createElement("label", { onClick: onChangeHandler, htmlFor: `${identifier}-radio` }, children)));
56
57
  };
57
- const Radio = React.forwardRef(RadioComponent);
58
+ const Radio = withReadOnly(React.forwardRef(RadioComponent));
58
59
 
59
60
  export { Radio };
60
61
  //# sourceMappingURL=Radio.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Radio.esm.js","sources":["../../../../../../src/components/Form/Radio/Radio.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 { Icon, Icons } from \"../../Icon/Icon\";\nimport { Props as HelperProps } from \"../FormHelperText/FormHelperText\";\nimport classes from \"./Radio.module.scss\";\nimport { useFormSelector } from \"../../../hooks/useFormSelector\";\nimport { FormSelector } from \"../form.interfaces\";\nimport {\n FormSelectorWrapper,\n Props as FormSelectorWrapperProps\n} from \"../FormSelectorWrapper/FormSelectorWrapper\";\n\nexport interface Props extends ComponentPropsWithRef<\"input\">, Omit<FormSelector, \"success\"> {\n children: string;\n value: string;\n formSelectorWrapperProps?: FormSelectorWrapperProps;\n helperProps?: HelperProps;\n}\n\nconst RadioComponent: ForwardRefRenderFunction<HTMLInputElement, Props> = (\n {\n children,\n disabled,\n className,\n value,\n name,\n helperText,\n parentErrorId,\n parentHelperId,\n error,\n errorMessage,\n checked = false,\n formSelectorWrapperProps,\n helperProps,\n onChange,\n ...rest\n }: Props,\n ref\n) => {\n const { errorId, identifier, describedBy } = useFormSelector({\n name,\n helperText,\n parentErrorId,\n errorMessage,\n error,\n parentHelperId\n });\n\n const onChangeHandler = (\n event: React.ChangeEvent<HTMLInputElement> | React.MouseEvent | React.KeyboardEvent\n ) => {\n if (disabled) {\n return;\n }\n /** We have to clone the native event we got here and change the \"target\" property to the value. Otherwise, this regular event has \"on\" as it's event.target.value, which is useless. */\n const nativeEvent: any = event.nativeEvent || event;\n const clonedEvent = new nativeEvent.constructor(nativeEvent.type, nativeEvent);\n\n Object.defineProperty(clonedEvent, \"target\", {\n writable: true,\n value: { value: value }\n });\n\n onChange?.(clonedEvent);\n };\n\n const nativeInputClasses = [classes[\"native-input\"]];\n const checkedRadioClasses = [classes[\"input\"], classes[\"radio\"]];\n const uncheckedRadioClasses = [classes[\"input\"], classes[\"circle\"]];\n error && nativeInputClasses.push(classes[\"error\"]);\n disabled &&\n checkedRadioClasses.push(classes[\"disabled\"]) &&\n uncheckedRadioClasses.push(classes[\"disabled\"]);\n\n return (\n <FormSelectorWrapper\n {...formSelectorWrapperProps}\n className={`${classes[\"radio-wrapper\"]} ${className ?? \"\"}`}\n containerProps={{ className: classes[\"radio-container\"] }}\n helperText={helperText}\n helperProps={helperProps}\n parentErrorId={parentErrorId}\n errorId={errorId}\n errorMessage={errorMessage}\n error={error}\n disabled={disabled}\n identifier={identifier}\n >\n <input\n {...rest}\n ref={ref}\n disabled={disabled}\n tabIndex={0}\n className={nativeInputClasses.join(\" \")}\n onChange={onChangeHandler}\n checked={checked}\n aria-checked={checked}\n aria-describedby={describedBy}\n name={name}\n value={value}\n id={`${identifier}-radio`}\n type=\"radio\"\n />\n\n {checked && <Icon className={checkedRadioClasses.join(\" \")} icon={Icons.Radio} />}\n {!checked && <Icon className={uncheckedRadioClasses.join(\" \")} icon={Icons.Circle} />}\n\n <label onClick={onChangeHandler} htmlFor={`${identifier}-radio`}>\n {children}\n </label>\n </FormSelectorWrapper>\n );\n};\n\nexport const Radio = React.forwardRef(RadioComponent);\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Radio.esm.js","sources":["../../../../../../src/components/Form/Radio/Radio.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 { Icon, Icons } from \"../../Icon/Icon\";\nimport { Props as HelperProps } from \"../FormHelperText/FormHelperText\";\nimport classes from \"./Radio.module.scss\";\nimport { useFormSelector } from \"../../../hooks/useFormSelector\";\nimport { FormSelector } from \"../form.interfaces\";\nimport {\n FormSelectorWrapper,\n Props as FormSelectorWrapperProps\n} from \"../FormSelectorWrapper/FormSelectorWrapper\";\nimport { withReadOnly } from \"../../withReadOnly\";\n\nexport interface Props extends ComponentPropsWithRef<\"input\">, Omit<FormSelector, \"success\"> {\n children: string;\n value: string;\n formSelectorWrapperProps?: FormSelectorWrapperProps;\n helperProps?: HelperProps;\n}\n\nconst RadioComponent: ForwardRefRenderFunction<HTMLInputElement, Props> = (\n {\n children,\n disabled,\n className,\n value,\n name,\n helperText,\n parentErrorId,\n parentHelperId,\n error,\n errorMessage,\n checked = false,\n formSelectorWrapperProps,\n helperProps,\n onChange,\n ...rest\n }: Props,\n ref\n) => {\n const { errorId, identifier, describedBy } = useFormSelector({\n name,\n helperText,\n parentErrorId,\n errorMessage,\n error,\n parentHelperId\n });\n\n const onChangeHandler = (\n event: React.ChangeEvent<HTMLInputElement> | React.MouseEvent | React.KeyboardEvent\n ) => {\n if (disabled) {\n return;\n }\n /** We have to clone the native event we got here and change the \"target\" property to the value. Otherwise, this regular event has \"on\" as it's event.target.value, which is useless. */\n const nativeEvent: any = event.nativeEvent || event;\n const clonedEvent = new nativeEvent.constructor(nativeEvent.type, nativeEvent);\n\n Object.defineProperty(clonedEvent, \"target\", {\n writable: true,\n value: { value: value }\n });\n\n onChange?.(clonedEvent);\n };\n\n const nativeInputClasses = [classes[\"native-input\"]];\n const checkedRadioClasses = [classes[\"input\"], classes[\"radio\"]];\n const uncheckedRadioClasses = [classes[\"input\"], classes[\"circle\"]];\n error && nativeInputClasses.push(classes[\"error\"]);\n disabled &&\n checkedRadioClasses.push(classes[\"disabled\"]) &&\n uncheckedRadioClasses.push(classes[\"disabled\"]);\n\n return (\n <FormSelectorWrapper\n {...formSelectorWrapperProps}\n className={`${classes[\"radio-wrapper\"]} ${className ?? \"\"}`}\n containerProps={{ className: classes[\"radio-container\"] }}\n helperText={helperText}\n helperProps={helperProps}\n parentErrorId={parentErrorId}\n errorId={errorId}\n errorMessage={errorMessage}\n error={error}\n disabled={disabled}\n identifier={identifier}\n >\n <input\n {...rest}\n ref={ref}\n disabled={disabled}\n tabIndex={0}\n className={nativeInputClasses.join(\" \")}\n onChange={onChangeHandler}\n checked={checked}\n aria-checked={checked}\n aria-describedby={describedBy}\n name={name}\n value={value}\n id={`${identifier}-radio`}\n type=\"radio\"\n />\n\n {checked && <Icon className={checkedRadioClasses.join(\" \")} icon={Icons.Radio} />}\n {!checked && <Icon className={uncheckedRadioClasses.join(\" \")} icon={Icons.Circle} />}\n\n <label onClick={onChangeHandler} htmlFor={`${identifier}-radio`}>\n {children}\n </label>\n </FormSelectorWrapper>\n );\n};\n\nexport const Radio = withReadOnly(React.forwardRef(RadioComponent));\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import styleInject from '../../node_modules/style-inject/dist/style-inject.es.esm.js';
2
2
 
3
- var css_248z = "/*!\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 */.Radio-module_radio-wrapper__4532-{position:relative}.Radio-module_radio-wrapper__4532-+.Radio-module_radio-wrapper__4532-{margin-top:.75rem}.Radio-module_error__Pjq-F{color:var(--error)}.Radio-module_helper-text__GjhEJ{margin-left:1.75rem;margin-top:.25rem}.Radio-module_error-message__udguG{display:flex;margin-top:1.25rem}.Radio-module_error-icon__JPuVE{font-size:1.25rem;margin-right:.5rem}.Radio-module_radio-container__Z-lKd{display:flex}.Radio-module_radio-container__Z-lKd label{display:inline-block;font-family:var(--font-family);font-size:var(--font-size-form-label);margin-left:.5rem;margin-top:.15rem;user-select:none}.Radio-module_disabled__ASNkr .Radio-module_radio-container__Z-lKd label{cursor:not-allowed}.Radio-module_native-input__aXxo1{height:1.75rem;left:0;margin:0;opacity:0;position:absolute;top:0;width:1.75rem;z-index:2}.Radio-module_native-input__aXxo1+span[data-icon=true]:before{display:block;height:20px;width:20px}.Radio-module_native-input__aXxo1:checked+*{color:var(--color-primary)}.Radio-module_native-input__aXxo1:checked+.Radio-module_disabled__ASNkr{color:var(--disabled);cursor:not-allowed;pointer-events:none}.Radio-module_native-input__aXxo1:focus-visible+*{border-radius:100%;outline:2px solid var(--color-focus);outline-offset:2px}.Radio-module_native-input__aXxo1.Radio-module_error__Pjq-F+*{border-radius:100%}.Radio-module_native-input__aXxo1.Radio-module_error__Pjq-F:hover+.Radio-module_radio__B6HML:before{outline-color:var(--radio-hover-background-color)}.Radio-module_native-input__aXxo1.Radio-module_error__Pjq-F:active+.Radio-module_radio__B6HML:before{outline-color:var(--radio-pressed-background-color)}.Radio-module_native-input__aXxo1:hover+.Radio-module_input__XIS-I.Radio-module_circle__WmukT:not(.Radio-module_disabled__ASNkr){background-color:var(--radio-hover-background-color)}.Radio-module_native-input__aXxo1:active+.Radio-module_input__XIS-I.Radio-module_circle__WmukT:not(.Radio-module_disabled__ASNkr){background-color:var(--radio-pressed-background-color)}.Radio-module_native-input__aXxo1:hover+.Radio-module_input__XIS-I.Radio-module_radio__B6HML:not(.Radio-module_disabled__ASNkr){background-color:var(--radio-hover-background-color);color:var(--radio-hover-color)}.Radio-module_native-input__aXxo1:active+.Radio-module_input__XIS-I.Radio-module_radio__B6HML:not(.Radio-module_disabled__ASNkr){background-color:var(--radio-pressed-background-color);color:var(--radio-pressed-color)}.Radio-module_input__XIS-I{border-radius:100%;font-size:1.25rem;height:1.25rem;width:1.25rem;z-index:1}.Radio-module_input__XIS-I:active{border-radius:100%}.Radio-module_disabled__ASNkr .Radio-module_input__XIS-I{color:var(--disabled)}.Radio-module_disabled__ASNkr{color:var(--disabled);pointer-events:none}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlJhZGlvLm1vZHVsZS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztFQWNFLENBQ0YsbUNBQ0UsaUJBQ0YsQ0FDQSxzRUFDRSxpQkFDRixDQUVBLDJCQUNFLGtCQUNGLENBRUEsaUNBRUUsbUJBQW9CLENBRHBCLGlCQUVGLENBRUEsbUNBRUUsWUFBYSxDQURiLGtCQUVGLENBRUEsZ0NBRUUsaUJBQWtCLENBRGxCLGtCQUVGLENBRUEscUNBQ0UsWUFDRixDQUNBLDJDQUNFLG9CQUFxQixDQUlyQiw4QkFBK0IsQ0FEL0IscUNBQXNDLENBRnRDLGlCQUFtQixDQUluQixpQkFBbUIsQ0FIbkIsZ0JBSUYsQ0FDQSx5RUFDRSxrQkFDRixDQUVBLGtDQU9FLGNBQWUsQ0FKZixNQUFPLENBRVAsUUFBUyxDQURULFNBQVUsQ0FIVixpQkFBa0IsQ0FDbEIsS0FBTSxDQUlOLGFBQWMsQ0FFZCxTQUNGLENBQ0EsOERBQ0UsYUFBYyxDQUVkLFdBQVksQ0FEWixVQUVGLENBQ0EsNENBQ0UsMEJBQ0YsQ0FDQSx3RUFDRSxxQkFBc0IsQ0FDdEIsa0JBQW1CLENBQ25CLG1CQUNGLENBQ0Esa0RBQ0Usa0JBQW1CLENBQ25CLG9DQUFxQyxDQUNyQyxrQkFDRixDQUNBLDhEQUNFLGtCQUNGLENBQ0Esb0dBQ0UsaURBQ0YsQ0FDQSxxR0FDRSxtREFDRixDQUNBLGlJQUNFLG9EQUNGLENBQ0Esa0lBQ0Usc0RBQ0YsQ0FDQSxnSUFDRSxvREFBcUQsQ0FDckQsOEJBQ0YsQ0FDQSxpSUFFRSxzREFBdUQsQ0FEdkQsZ0NBRUYsQ0FFQSwyQkFLRSxrQkFBbUIsQ0FKbkIsaUJBQWtCLENBRWxCLGNBQWUsQ0FEZixhQUFjLENBRWQsU0FFRixDQUNBLGtDQUNFLGtCQUNGLENBQ0EseURBQ0UscUJBQ0YsQ0FFQSw4QkFDRSxxQkFBc0IsQ0FDdEIsbUJBQ0YiLCJmaWxlIjoiUmFkaW8ubW9kdWxlLnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIENvcHlyaWdodCAyMDIyIE9uZVdlbGNvbWUgQi5WLlxuICpcbiAqICAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiAgICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiAgICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiAgICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiAgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLnJhZGlvLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ucmFkaW8td3JhcHBlciArIC5yYWRpby13cmFwcGVyIHtcbiAgbWFyZ2luLXRvcDogMC43NXJlbTtcbn1cblxuLmVycm9yIHtcbiAgY29sb3I6IHZhcigtLWVycm9yKTtcbn1cblxuLmhlbHBlci10ZXh0IHtcbiAgbWFyZ2luLXRvcDogMC4yNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDEuNzVyZW07XG59XG5cbi5lcnJvci1tZXNzYWdlIHtcbiAgbWFyZ2luLXRvcDogMS4yNXJlbTtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLmVycm9yLWljb24ge1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xufVxuXG4ucmFkaW8tY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbn1cbi5yYWRpby1jb250YWluZXIgbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1mb3JtLWxhYmVsKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5KTtcbiAgbWFyZ2luLXRvcDogMC4xNXJlbTtcbn1cbi5kaXNhYmxlZCAucmFkaW8tY29udGFpbmVyIGxhYmVsIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLm5hdGl2ZS1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBvcGFjaXR5OiAwO1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxLjc1cmVtO1xuICBoZWlnaHQ6IDEuNzVyZW07XG4gIHotaW5kZXg6IDI7XG59XG4ubmF0aXZlLWlucHV0ICsgc3BhbltkYXRhLWljb249dHJ1ZV06YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG59XG4ubmF0aXZlLWlucHV0OmNoZWNrZWQgKyAqIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuLm5hdGl2ZS1pbnB1dDpjaGVja2VkICsgKi5kaXNhYmxlZCB7XG4gIGNvbG9yOiB2YXIoLS1kaXNhYmxlZCk7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLm5hdGl2ZS1pbnB1dDpmb2N1cy12aXNpYmxlICsgKiB7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1jb2xvci1mb2N1cyk7XG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7XG59XG4ubmF0aXZlLWlucHV0LmVycm9yICsgKiB7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG59XG4ubmF0aXZlLWlucHV0LmVycm9yOmhvdmVyICsgLnJhZGlvOjpiZWZvcmUge1xuICBvdXRsaW5lLWNvbG9yOiB2YXIoLS1yYWRpby1ob3Zlci1iYWNrZ3JvdW5kLWNvbG9yKTtcbn1cbi5uYXRpdmUtaW5wdXQuZXJyb3I6YWN0aXZlICsgLnJhZGlvOjpiZWZvcmUge1xuICBvdXRsaW5lLWNvbG9yOiB2YXIoLS1yYWRpby1wcmVzc2VkLWJhY2tncm91bmQtY29sb3IpO1xufVxuLm5hdGl2ZS1pbnB1dDpob3ZlciArIC5pbnB1dC5jaXJjbGU6bm90KC5kaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1yYWRpby1ob3Zlci1iYWNrZ3JvdW5kLWNvbG9yKTtcbn1cbi5uYXRpdmUtaW5wdXQ6YWN0aXZlICsgLmlucHV0LmNpcmNsZTpub3QoLmRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXJhZGlvLXByZXNzZWQtYmFja2dyb3VuZC1jb2xvcik7XG59XG4ubmF0aXZlLWlucHV0OmhvdmVyICsgLmlucHV0LnJhZGlvOm5vdCguZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcmFkaW8taG92ZXItYmFja2dyb3VuZC1jb2xvcik7XG4gIGNvbG9yOiB2YXIoLS1yYWRpby1ob3Zlci1jb2xvcik7XG59XG4ubmF0aXZlLWlucHV0OmFjdGl2ZSArIC5pbnB1dC5yYWRpbzpub3QoLmRpc2FibGVkKSB7XG4gIGNvbG9yOiB2YXIoLS1yYWRpby1wcmVzc2VkLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcmFkaW8tcHJlc3NlZC1iYWNrZ3JvdW5kLWNvbG9yKTtcbn1cblxuLmlucHV0IHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICB3aWR0aDogMS4yNXJlbTtcbiAgaGVpZ2h0OiAxLjI1cmVtO1xuICB6LWluZGV4OiAxO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xufVxuLmlucHV0OmFjdGl2ZSB7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG59XG4uZGlzYWJsZWQgLmlucHV0IHtcbiAgY29sb3I6IHZhcigtLWRpc2FibGVkKTtcbn1cblxuLmRpc2FibGVkIHtcbiAgY29sb3I6IHZhcigtLWRpc2FibGVkKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59Il19 */";
3
+ var css_248z = "/*!\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 */.Radio-module_radio-wrapper__4532-{position:relative}.Radio-module_radio-wrapper__4532-+.Radio-module_radio-wrapper__4532-{margin-top:.75rem}.Radio-module_error__Pjq-F{color:var(--error)}.Radio-module_helper-text__GjhEJ{margin-left:1.75rem;margin-top:.25rem}.Radio-module_error-message__udguG{display:flex;margin-top:1.25rem}.Radio-module_error-icon__JPuVE{font-size:1.25rem;margin-right:.5rem}.Radio-module_radio-container__Z-lKd{display:flex}.Radio-module_radio-container__Z-lKd label{display:inline-block;font-family:var(--font-family);font-size:var(--font-size-form-label);margin-left:.5rem;margin-top:.15rem;user-select:none}.Radio-module_disabled__ASNkr .Radio-module_radio-container__Z-lKd label{cursor:not-allowed}.Radio-module_native-input__aXxo1{height:1.75rem;left:0;margin:0;opacity:0;position:absolute;top:0;width:1.75rem;z-index:2}.Radio-module_native-input__aXxo1+span[data-icon=true]:before{display:block;height:20px;width:20px}.Radio-module_native-input__aXxo1:checked+*{color:var(--color-primary)}.Radio-module_native-input__aXxo1:checked+.Radio-module_disabled__ASNkr{color:var(--disabled);cursor:not-allowed;pointer-events:none}.Radio-module_native-input__aXxo1:focus-visible+*{border-radius:100%;outline:2px solid var(--color-focus);outline-offset:2px}.Radio-module_native-input__aXxo1.Radio-module_error__Pjq-F+*{border-radius:100%}.Radio-module_native-input__aXxo1.Radio-module_error__Pjq-F:hover+.Radio-module_radio__B6HML:before{outline-color:var(--radio-hover-background-color)}.Radio-module_native-input__aXxo1.Radio-module_error__Pjq-F:active+.Radio-module_radio__B6HML:before{outline-color:var(--radio-pressed-background-color)}.Radio-module_native-input__aXxo1:hover+.Radio-module_input__XIS-I.Radio-module_circle__WmukT:not(.Radio-module_disabled__ASNkr){background-color:var(--radio-hover-background-color)}.Radio-module_native-input__aXxo1:active+.Radio-module_input__XIS-I.Radio-module_circle__WmukT:not(.Radio-module_disabled__ASNkr){background-color:var(--radio-pressed-background-color)}.Radio-module_native-input__aXxo1:hover+.Radio-module_input__XIS-I.Radio-module_radio__B6HML:not(.Radio-module_disabled__ASNkr){background-color:var(--radio-hover-background-color);color:var(--radio-hover-color)}.Radio-module_native-input__aXxo1:active+.Radio-module_input__XIS-I.Radio-module_radio__B6HML:not(.Radio-module_disabled__ASNkr){background-color:var(--radio-pressed-background-color);color:var(--radio-pressed-color)}.Radio-module_input__XIS-I{border-radius:100%;font-size:1.25rem;height:1.25rem;width:1.25rem;z-index:1}.Radio-module_input__XIS-I:active{border-radius:100%}.Radio-module_disabled__ASNkr .Radio-module_input__XIS-I{color:var(--disabled)}.Radio-module_disabled__ASNkr{color:var(--disabled);pointer-events:none}[data-readonlyview=true] .Radio-module_radio-wrapper__4532-{color:var(--read-only-text-color)}[data-readonlyview=true] .Radio-module_radio-wrapper__4532- span.Radio-module_input__XIS-I{color:var(--read-only-text-color);cursor:not-allowed}[data-readonlyview=true] .Radio-module_radio-wrapper__4532- span.Radio-module_input__XIS-I:before{border-radius:50%;outline:1px solid var(--read-only-border-color);outline-offset:-1px}[data-readonlyview=true] label{user-select:text}input[type=radio][data-readonlyview=true]~span.Radio-module_input__XIS-I{color:var(--read-only-text-color);cursor:not-allowed}input[type=radio][data-readonlyview=true]~span.Radio-module_input__XIS-I:before{border-radius:50%;outline:1px solid var(--read-only-border-color);outline-offset:-1px}input[type=radio][data-readonlyview=true]~label{pointer-events:none;user-select:text}input[type=radio][data-readonlyview=true] :focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlJhZGlvLm1vZHVsZS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztFQWNFLENBQ0YsbUNBQ0UsaUJBQ0YsQ0FDQSxzRUFDRSxpQkFDRixDQUVBLDJCQUNFLGtCQUNGLENBRUEsaUNBRUUsbUJBQW9CLENBRHBCLGlCQUVGLENBRUEsbUNBRUUsWUFBYSxDQURiLGtCQUVGLENBRUEsZ0NBRUUsaUJBQWtCLENBRGxCLGtCQUVGLENBRUEscUNBQ0UsWUFDRixDQUNBLDJDQUNFLG9CQUFxQixDQUlyQiw4QkFBK0IsQ0FEL0IscUNBQXNDLENBRnRDLGlCQUFtQixDQUluQixpQkFBbUIsQ0FIbkIsZ0JBSUYsQ0FDQSx5RUFDRSxrQkFDRixDQUVBLGtDQU9FLGNBQWUsQ0FKZixNQUFPLENBRVAsUUFBUyxDQURULFNBQVUsQ0FIVixpQkFBa0IsQ0FDbEIsS0FBTSxDQUlOLGFBQWMsQ0FFZCxTQUNGLENBQ0EsOERBQ0UsYUFBYyxDQUVkLFdBQVksQ0FEWixVQUVGLENBQ0EsNENBQ0UsMEJBQ0YsQ0FDQSx3RUFDRSxxQkFBc0IsQ0FDdEIsa0JBQW1CLENBQ25CLG1CQUNGLENBQ0Esa0RBQ0Usa0JBQW1CLENBQ25CLG9DQUFxQyxDQUNyQyxrQkFDRixDQUNBLDhEQUNFLGtCQUNGLENBQ0Esb0dBQ0UsaURBQ0YsQ0FDQSxxR0FDRSxtREFDRixDQUNBLGlJQUNFLG9EQUNGLENBQ0Esa0lBQ0Usc0RBQ0YsQ0FDQSxnSUFDRSxvREFBcUQsQ0FDckQsOEJBQ0YsQ0FDQSxpSUFFRSxzREFBdUQsQ0FEdkQsZ0NBRUYsQ0FFQSwyQkFLRSxrQkFBbUIsQ0FKbkIsaUJBQWtCLENBRWxCLGNBQWUsQ0FEZixhQUFjLENBRWQsU0FFRixDQUNBLGtDQUNFLGtCQUNGLENBQ0EseURBQ0UscUJBQ0YsQ0FFQSw4QkFDRSxxQkFBc0IsQ0FDdEIsbUJBQ0YsQ0FFQSw0REFDRSxpQ0FDRixDQUNBLDJGQUNFLGlDQUFrQyxDQUNsQyxrQkFDRixDQUNBLGtHQUdFLGlCQUFrQixDQUZsQiwrQ0FBZ0QsQ0FDaEQsbUJBRUYsQ0FDQSwrQkFDRSxnQkFDRixDQUVBLHlFQUNFLGlDQUFrQyxDQUNsQyxrQkFDRixDQUNBLGdGQUdFLGlCQUFrQixDQUZsQiwrQ0FBZ0QsQ0FDaEQsbUJBRUYsQ0FDQSxnREFFRSxtQkFBb0IsQ0FEcEIsZ0JBRUYsQ0FDQSx5REFDRSxvQ0FBcUMsQ0FDckMsa0JBQ0YiLCJmaWxlIjoiUmFkaW8ubW9kdWxlLnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIENvcHlyaWdodCAyMDIyIE9uZVdlbGNvbWUgQi5WLlxuICpcbiAqICAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiAgICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiAgICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiAgICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiAgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLnJhZGlvLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ucmFkaW8td3JhcHBlciArIC5yYWRpby13cmFwcGVyIHtcbiAgbWFyZ2luLXRvcDogMC43NXJlbTtcbn1cblxuLmVycm9yIHtcbiAgY29sb3I6IHZhcigtLWVycm9yKTtcbn1cblxuLmhlbHBlci10ZXh0IHtcbiAgbWFyZ2luLXRvcDogMC4yNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDEuNzVyZW07XG59XG5cbi5lcnJvci1tZXNzYWdlIHtcbiAgbWFyZ2luLXRvcDogMS4yNXJlbTtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLmVycm9yLWljb24ge1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xufVxuXG4ucmFkaW8tY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbn1cbi5yYWRpby1jb250YWluZXIgbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1mb3JtLWxhYmVsKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5KTtcbiAgbWFyZ2luLXRvcDogMC4xNXJlbTtcbn1cbi5kaXNhYmxlZCAucmFkaW8tY29udGFpbmVyIGxhYmVsIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLm5hdGl2ZS1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBvcGFjaXR5OiAwO1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxLjc1cmVtO1xuICBoZWlnaHQ6IDEuNzVyZW07XG4gIHotaW5kZXg6IDI7XG59XG4ubmF0aXZlLWlucHV0ICsgc3BhbltkYXRhLWljb249dHJ1ZV06YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG59XG4ubmF0aXZlLWlucHV0OmNoZWNrZWQgKyAqIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuLm5hdGl2ZS1pbnB1dDpjaGVja2VkICsgKi5kaXNhYmxlZCB7XG4gIGNvbG9yOiB2YXIoLS1kaXNhYmxlZCk7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLm5hdGl2ZS1pbnB1dDpmb2N1cy12aXNpYmxlICsgKiB7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1jb2xvci1mb2N1cyk7XG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7XG59XG4ubmF0aXZlLWlucHV0LmVycm9yICsgKiB7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG59XG4ubmF0aXZlLWlucHV0LmVycm9yOmhvdmVyICsgLnJhZGlvOjpiZWZvcmUge1xuICBvdXRsaW5lLWNvbG9yOiB2YXIoLS1yYWRpby1ob3Zlci1iYWNrZ3JvdW5kLWNvbG9yKTtcbn1cbi5uYXRpdmUtaW5wdXQuZXJyb3I6YWN0aXZlICsgLnJhZGlvOjpiZWZvcmUge1xuICBvdXRsaW5lLWNvbG9yOiB2YXIoLS1yYWRpby1wcmVzc2VkLWJhY2tncm91bmQtY29sb3IpO1xufVxuLm5hdGl2ZS1pbnB1dDpob3ZlciArIC5pbnB1dC5jaXJjbGU6bm90KC5kaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1yYWRpby1ob3Zlci1iYWNrZ3JvdW5kLWNvbG9yKTtcbn1cbi5uYXRpdmUtaW5wdXQ6YWN0aXZlICsgLmlucHV0LmNpcmNsZTpub3QoLmRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXJhZGlvLXByZXNzZWQtYmFja2dyb3VuZC1jb2xvcik7XG59XG4ubmF0aXZlLWlucHV0OmhvdmVyICsgLmlucHV0LnJhZGlvOm5vdCguZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcmFkaW8taG92ZXItYmFja2dyb3VuZC1jb2xvcik7XG4gIGNvbG9yOiB2YXIoLS1yYWRpby1ob3Zlci1jb2xvcik7XG59XG4ubmF0aXZlLWlucHV0OmFjdGl2ZSArIC5pbnB1dC5yYWRpbzpub3QoLmRpc2FibGVkKSB7XG4gIGNvbG9yOiB2YXIoLS1yYWRpby1wcmVzc2VkLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcmFkaW8tcHJlc3NlZC1iYWNrZ3JvdW5kLWNvbG9yKTtcbn1cblxuLmlucHV0IHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICB3aWR0aDogMS4yNXJlbTtcbiAgaGVpZ2h0OiAxLjI1cmVtO1xuICB6LWluZGV4OiAxO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xufVxuLmlucHV0OmFjdGl2ZSB7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG59XG4uZGlzYWJsZWQgLmlucHV0IHtcbiAgY29sb3I6IHZhcigtLWRpc2FibGVkKTtcbn1cblxuLmRpc2FibGVkIHtcbiAgY29sb3I6IHZhcigtLWRpc2FibGVkKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbltkYXRhLXJlYWRvbmx5dmlldz10cnVlXSAucmFkaW8td3JhcHBlciB7XG4gIGNvbG9yOiB2YXIoLS1yZWFkLW9ubHktdGV4dC1jb2xvcik7XG59XG5bZGF0YS1yZWFkb25seXZpZXc9dHJ1ZV0gLnJhZGlvLXdyYXBwZXIgc3Bhbi5pbnB1dCB7XG4gIGNvbG9yOiB2YXIoLS1yZWFkLW9ubHktdGV4dC1jb2xvcik7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5bZGF0YS1yZWFkb25seXZpZXc9dHJ1ZV0gLnJhZGlvLXdyYXBwZXIgc3Bhbi5pbnB1dDpiZWZvcmUge1xuICBvdXRsaW5lOiAxcHggc29saWQgdmFyKC0tcmVhZC1vbmx5LWJvcmRlci1jb2xvcik7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMXB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG5bZGF0YS1yZWFkb25seXZpZXc9dHJ1ZV0gbGFiZWwge1xuICB1c2VyLXNlbGVjdDogdGV4dDtcbn1cblxuaW5wdXRbdHlwZT1yYWRpb11bZGF0YS1yZWFkb25seXZpZXc9dHJ1ZV0gfiBzcGFuLmlucHV0IHtcbiAgY29sb3I6IHZhcigtLXJlYWQtb25seS10ZXh0LWNvbG9yKTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cbmlucHV0W3R5cGU9cmFkaW9dW2RhdGEtcmVhZG9ubHl2aWV3PXRydWVdIH4gc3Bhbi5pbnB1dDpiZWZvcmUge1xuICBvdXRsaW5lOiAxcHggc29saWQgdmFyKC0tcmVhZC1vbmx5LWJvcmRlci1jb2xvcik7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMXB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG5pbnB1dFt0eXBlPXJhZGlvXVtkYXRhLXJlYWRvbmx5dmlldz10cnVlXSB+IGxhYmVsIHtcbiAgdXNlci1zZWxlY3Q6IHRleHQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuaW5wdXRbdHlwZT1yYWRpb11bZGF0YS1yZWFkb25seXZpZXc9dHJ1ZV0gOmZvY3VzLXZpc2libGUge1xuICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tY29sb3ItZm9jdXMpO1xuICBvdXRsaW5lLW9mZnNldDogMnB4O1xufSJdfQ== */";
4
4
  var classes = {"radio-wrapper":"Radio-module_radio-wrapper__4532-","error":"Radio-module_error__Pjq-F","helper-text":"Radio-module_helper-text__GjhEJ","error-message":"Radio-module_error-message__udguG","error-icon":"Radio-module_error-icon__JPuVE","radio-container":"Radio-module_radio-container__Z-lKd","disabled":"Radio-module_disabled__ASNkr","native-input":"Radio-module_native-input__aXxo1","radio":"Radio-module_radio__B6HML","input":"Radio-module_input__XIS-I","circle":"Radio-module_circle__WmukT"};
5
5
  styleInject(css_248z);
6
6
 
@@ -1,16 +1,18 @@
1
1
  import classes from './MultiSelect.module.scss.esm.js';
2
- import React, { useRef, useState, createRef, useEffect, Fragment } from 'react';
3
- import { useBodyClick } from '../../../src/hooks/useBodyClick.esm.js';
2
+ import React, { useRef, useState, createRef, useEffect } from 'react';
3
+ import { useClickOutside } from '../../../src/hooks/useClickOutside.esm.js';
4
4
  import { useDetermineStatusIcon } from '../../../src/hooks/useDetermineStatusIcon.esm.js';
5
5
  import readyclasses from '../../../src/readyclasses.module.scss.esm.js';
6
6
  import { generateID, filterProps, escapeRegExp } from '../../../src/util/helper.esm.js';
7
7
  import { Icon, Icons } from '../../../Icon/Icon.esm.js';
8
+ import { Position } from '../Select.interfaces.esm.js';
8
9
  import { useAddNewBtn } from '../useAddNewBtn.esm.js';
9
10
  import { useSelectPositionList } from '../useSelectPositionList.esm.js';
10
11
  import { SelectButton } from './SelectButton.esm.js';
11
12
  import { SelectedOptions } from './SelectedOptions.esm.js';
12
13
  import { useArrowNavigation } from './useArrowNavigation.esm.js';
13
14
  import { useSearch } from './useSearch.esm.js';
15
+ import { withReadOnly } from '../../../withReadOnly.esm.js';
14
16
 
15
17
  /*
16
18
  * Copyright 2022 OneWelcome B.V.
@@ -29,7 +31,7 @@ import { useSearch } from './useSearch.esm.js';
29
31
  */
30
32
  const getOptionId = (multiSelectId, optionIndex) => `${multiSelectId}_option${optionIndex}`;
31
33
  const getListboxId = (multiSelectId) => `${multiSelectId}_listbox`;
32
- const MultiSelectComponent = ({ id, children, name, disabled = false, labeledBy, placeholder, describedBy, selectButtonProps = {}, className, error = false, success = false, value, clearLabel = "Clear selection", noResultsLabel = "No results found", onChange, addNew, search = { enabled: true, renderThreshold: 0, searchPlaceholder: "Search item" }, ...rest }, ref) => {
34
+ const MultiSelectComponent = ({ id, children, name, disabled = false, labeledBy, placeholder, describedBy, selectButtonProps = {}, className, error = false, success = false, value, clearLabel = "Clear selection", noResultsLabel = "No results found", onChange, addNew, search = { enabled: true, renderThreshold: 0, searchPlaceholder: "Search item" }, isReadOnlyView, ...rest }, ref) => {
33
35
  const multiSelectId = useRef(id !== null && id !== void 0 ? id : generateID(20));
34
36
  const [expanded, setExpanded] = useState(false);
35
37
  const [display, setDisplay] = useState([]);
@@ -90,6 +92,7 @@ const MultiSelectComponent = ({ id, children, name, disabled = false, labeledBy,
90
92
  }
91
93
  };
92
94
  const customSelectButtonRef = useRef(null);
95
+ const readOnlyView = !!rest["data-readonlyview"] || isReadOnlyView;
93
96
  const { onArrowNavigation } = useArrowNavigation({
94
97
  expanded,
95
98
  setExpanded,
@@ -99,7 +102,8 @@ const MultiSelectComponent = ({ id, children, name, disabled = false, labeledBy,
99
102
  addBtnRef,
100
103
  searchInputRef,
101
104
  customSelectButtonRef,
102
- onClose: resetSearchState
105
+ onClose: resetSearchState,
106
+ isReadOnlyView: readOnlyView
103
107
  });
104
108
  const { listPosition, opacity, optionsListMaxHeight, setListPosition, setOpacity } = useSelectPositionList({ expanded, optionListReference, containerReference, addBtnRef });
105
109
  const syncDisplayValue = (values) => {
@@ -195,11 +199,15 @@ const MultiSelectComponent = ({ id, children, name, disabled = false, labeledBy,
195
199
  syncDisplayValue(value);
196
200
  syncSelectedOption(value);
197
201
  }, [value]);
198
- useBodyClick((event) => !event.target.closest(".custom-select") && expanded, () => {
202
+ const myElementRef = useRef(null);
203
+ useClickOutside(myElementRef, () => {
204
+ if (!expanded) {
205
+ return;
206
+ }
199
207
  setExpanded(false);
200
- setListPosition({ top: 0, bottom: "initial" });
208
+ setListPosition(Position.Below);
201
209
  setOpacity(0);
202
- }, expanded);
210
+ }, [expanded]);
203
211
  const additionalClasses = [];
204
212
  expanded && additionalClasses.push(classes.expanded);
205
213
  error && additionalClasses.push(classes.error);
@@ -207,15 +215,30 @@ const MultiSelectComponent = ({ id, children, name, disabled = false, labeledBy,
207
215
  className && additionalClasses.push(className);
208
216
  success && additionalClasses.push(classes.success);
209
217
  const onSelectButtonClick = () => {
218
+ if (rest["data-readonlyview"] || isReadOnlyView) {
219
+ return;
220
+ }
210
221
  setExpanded(expanded => !expanded);
211
222
  setShouldClick(false);
212
223
  };
224
+ const optionsElement = (React.createElement("div", { className: `list-wrapper-container ${classes["list-wrapper-container"]}` },
225
+ React.createElement("div", { ref: optionListReference, className: `list-wrapper ${classes["list-wrapper"]}`, style: {
226
+ display: expanded ? "block" : "none",
227
+ opacity: opacity,
228
+ maxHeight: optionsListMaxHeight.wrapper,
229
+ pointerEvents: expanded ? "auto" : "none",
230
+ top: listPosition === Position.Below ? "4px" : "initial",
231
+ bottom: listPosition === Position.Above ? "4px" : "initial"
232
+ } },
233
+ React.createElement("ul", { id: getListboxId(multiSelectId.current), className: addNewBtnOptionsContainerClassName, role: "listbox", "aria-multiselectable": "true", style: { maxHeight: optionsListMaxHeight.list } }, renderOptions()),
234
+ renderAddNew())));
213
235
  /** 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. */
214
- return (React.createElement(Fragment, null,
236
+ return (React.createElement("div", { ref: myElementRef },
215
237
  React.createElement("select", { ...filterProps(rest, /^data-/, false), tabIndex: -1, multiple: true, "aria-hidden": "true", ref: nativeSelect, name: name, onChange: nativeOnChangeHandler, className: readyclasses["sr-only"] },
216
238
  React.createElement("option", { value: "" }),
217
239
  React.Children.map(children, child => (React.createElement("option", { value: child.props.value })))),
218
240
  React.createElement("div", { ...filterProps(rest, /^data-/), id: multiSelectId.current, ref: containerReference, onKeyDown: onArrowNavigation, className: `custom-select ${classes.select} ${additionalClasses.join(" ")}` },
241
+ listPosition === Position.Above ? optionsElement : undefined,
219
242
  React.createElement("div", { className: `${classes["custom-select"]} ${additionalClasses.join(" ")} `, style: { display: "flex" } },
220
243
  React.createElement("div", { className: classes["display-container"], "data-display": true },
221
244
  React.createElement(SelectButton, { ...selectButtonProps, onClick: onSelectButtonClick, name: name, ref: customSelectButtonRef, disabled: disabled, "aria-disabled": disabled, "aria-invalid": error, "aria-expanded": expanded, "aria-haspopup": "listbox", "aria-labelledby": labeledBy, "aria-describedby": describedBy }),
@@ -223,17 +246,9 @@ const MultiSelectComponent = ({ id, children, name, disabled = false, labeledBy,
223
246
  (value === null || value === void 0 ? void 0 : value.length) > 0 && (React.createElement(SelectedOptions, { disabled: disabled, display: display, onClick: onSelectButtonClick, onRemove: onSelectedOptionRemoveHandler })),
224
247
  searchVisible && renderSearch()),
225
248
  React.createElement("div", { className: classes["status"] }, icon || renderChevronIcon())),
226
- React.createElement("div", { ref: optionListReference, className: `list-wrapper ${classes["list-wrapper"]}`, style: {
227
- display: expanded ? "block" : "none",
228
- opacity: opacity,
229
- maxHeight: optionsListMaxHeight.wrapper,
230
- pointerEvents: expanded ? "auto" : "none",
231
- ...listPosition
232
- } },
233
- React.createElement("ul", { id: getListboxId(multiSelectId.current), className: addNewBtnOptionsContainerClassName, role: "listbox", "aria-multiselectable": "true", style: { maxHeight: optionsListMaxHeight.list } }, renderOptions()),
234
- renderAddNew()))));
249
+ listPosition === Position.Below ? optionsElement : undefined)));
235
250
  };
236
- const MultiSelect = React.forwardRef(MultiSelectComponent);
251
+ const MultiSelect = withReadOnly(React.forwardRef(MultiSelectComponent));
237
252
 
238
253
  export { MultiSelect };
239
254
  //# sourceMappingURL=MultiSelect.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MultiSelect.esm.js","sources":["../../../../../../../src/components/Form/Select/MultiSelect/MultiSelect.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 \"./MultiSelect.module.scss\";\n\nimport React, {\n ForwardRefRenderFunction,\n Fragment,\n ReactElement,\n createRef,\n useEffect,\n useRef,\n useState\n} from \"react\";\nimport { useBodyClick } from \"../../../../hooks/useBodyClick\";\nimport { useDetermineStatusIcon } from \"../../../../hooks/useDetermineStatusIcon\";\nimport readyclasses from \"../../../../readyclasses.module.scss\";\nimport { escapeRegExp, filterProps, generateID } from \"../../../../util/helper\";\nimport { Icon, Icons } from \"../../../Icon/Icon\";\nimport { MultiSelectProps } from \"../Select.interfaces\";\nimport { useAddNewBtn } from \"../useAddNewBtn\";\nimport { useSelectPositionList } from \"../useSelectPositionList\";\nimport { SelectButton } from \"./SelectButton\";\nimport { Display, SelectedOptions } from \"./SelectedOptions\";\nimport { useArrowNavigation } from \"./useArrowNavigation\";\nimport { useSearch } from \"./useSearch\";\n\nconst getOptionId = (multiSelectId: string, optionIndex: number) =>\n `${multiSelectId}_option${optionIndex}`;\n\nconst getListboxId = (multiSelectId: string) => `${multiSelectId}_listbox`;\n\nconst MultiSelectComponent: ForwardRefRenderFunction<HTMLSelectElement, MultiSelectProps> = (\n {\n id,\n children,\n name,\n disabled = false,\n labeledBy,\n placeholder,\n describedBy,\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 = { enabled: true, renderThreshold: 0, searchPlaceholder: \"Search item\" },\n ...rest\n }: MultiSelectProps,\n ref\n) => {\n const multiSelectId = useRef(id ?? generateID(20));\n const [expanded, setExpanded] = useState(false);\n const [display, setDisplay] = useState<Display[]>([]);\n const containerReference = useRef<HTMLDivElement>(null);\n const optionListReference = useRef<HTMLDivElement>(null);\n const [focusedSelectItem, setFocusedSelectItem] = useState(0);\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 const [optionsVisibleCount, setOptionsVisibleCount] = useState(\n React.Children.count(children) - display.length\n );\n const { filter, renderSearch, searchInputRef, resetSearchState, searchVisible } = useSearch({\n selectId: multiSelectId.current,\n expanded,\n search,\n searchInputClassName: classes[\"select-search\"],\n optionsCount: optionsVisibleCount,\n focusedSelectItem,\n setFocusedSelectItem,\n describedBy,\n getOptionId,\n getListboxId\n });\n const { addBtnRef, addNewBtnOptionsContainerClassName, renderAddNew } = useAddNewBtn({\n id: getOptionId(multiSelectId.current, optionsVisibleCount),\n addNew,\n filter,\n focusedSelectItem,\n optionsCount: optionsVisibleCount,\n searchInputRef,\n shouldClick,\n onClickCallback: () => {\n setShouldClick(false);\n resetSearchState();\n }\n });\n\n const nativeSelect = (ref as React.RefObject<HTMLSelectElement>) || createRef();\n\n const onOptionChangeHandler = (optionElement: HTMLElement | null) => {\n if (nativeSelect.current && optionElement) {\n const value = optionElement.getAttribute(\"data-value\")!;\n const options = [...nativeSelect.current.options];\n const lastSelectedOptionValues = options\n .filter(option => option.selected)\n .map(option => option.value);\n options.forEach(option => {\n if (option.value === value || lastSelectedOptionValues.includes(option.value)) {\n option.selected = true;\n }\n });\n nativeSelect.current.dispatchEvent(new Event(\"change\", { bubbles: true }));\n }\n setExpanded(false);\n resetSearchState();\n };\n\n const onSelectedOptionRemoveHandler = (value: string) => {\n if (nativeSelect.current) {\n const options = [...nativeSelect.current.options];\n options.find(option => option.value === value)!.selected = false;\n nativeSelect.current.dispatchEvent(new Event(\"change\", { bubbles: true }));\n }\n };\n\n const customSelectButtonRef = useRef<HTMLButtonElement>(null);\n const { onArrowNavigation } = useArrowNavigation({\n expanded,\n setExpanded,\n setFocusedSelectItem,\n childrenCount: optionsVisibleCount,\n setShouldClick,\n addBtnRef,\n searchInputRef,\n customSelectButtonRef,\n onClose: resetSearchState\n });\n\n const { listPosition, opacity, optionsListMaxHeight, setListPosition, setOpacity } =\n useSelectPositionList({ expanded, optionListReference, containerReference, addBtnRef });\n\n const syncDisplayValue = (values: string[]) => {\n const options = React.Children.map(children, child => child);\n const displayArray: Display[] = values.map(value => {\n const option = options.find(option => option.props.value === value);\n return { value, label: option?.props.children, fixed: option?.props.fixed };\n });\n setDisplay(displayArray);\n };\n\n const syncSelectedOption = (vals: string[]) => {\n if (nativeSelect.current) {\n const options = [...nativeSelect.current.options];\n options.forEach(option => {\n if (vals.includes(option.value)) {\n option.selected = true;\n } else {\n option.selected = false;\n }\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 type ReactChildrenType = ReturnType<typeof React.Children.toArray>;\n\n const filterOutSelectedChildren = (internalChildren: ReactChildrenType) => {\n return internalChildren.filter(\n child =>\n typeof child === \"object\" &&\n \"props\" in child &&\n !display.find(option => option.value === child.props.value)\n );\n };\n\n let results;\n if (filter !== \"\") {\n const filteredChildren = React.Children.toArray(children).filter(\n child =>\n (child as ReactElement).props.children\n .toLowerCase()\n .match(escapeRegExp(filter.toLowerCase())) !== null\n );\n\n results = _internalRenderChildren(filterOutSelectedChildren(filteredChildren));\n } else {\n results = _internalRenderChildren(\n filterOutSelectedChildren(React.Children.toArray(children))\n );\n }\n\n optionsVisibleCount !== results.length && setOptionsVisibleCount(results.length);\n\n if (results.length === 0) {\n return <li className={classes[\"no-results\"]}>{noResultsLabel}</li>;\n }\n\n return results;\n\n function _internalRenderChildren(internalChildren: ReactChildrenType) {\n return React.Children.map(internalChildren, (child, index) => {\n return React.cloneElement(child as ReactElement, {\n onFocusChange: (childIndex: number) => {\n setFocusedSelectItem(childIndex);\n },\n onOptionSelect: (optionRef: React.RefObject<HTMLLIElement>) => {\n onOptionChangeHandler(optionRef.current);\n setExpanded(false);\n setShouldClick(false);\n },\n isSearching: false,\n selectOpened: expanded,\n childIndex: index,\n hasFocus: focusedSelectItem === index,\n shouldClick: shouldClick,\n id: getOptionId(multiSelectId.current, index)\n });\n });\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 icon = useDetermineStatusIcon({ success, error });\n\n const nativeOnChangeHandler = (event: React.ChangeEvent<HTMLSelectElement>) => {\n onChange?.(event);\n };\n\n useEffect(() => {\n if (expanded && searchInputRef.current) {\n setShouldFocusButtonAfterClose(true);\n searchInputRef.current.focus();\n }\n\n if (!expanded && customSelectButtonRef.current && shouldFocusButtonAfterClose) {\n setShouldFocusButtonAfterClose(false);\n customSelectButtonRef.current.focus();\n }\n }, [\n expanded,\n customSelectButtonRef.current,\n shouldFocusButtonAfterClose,\n searchInputRef.current\n ]);\n\n useEffect(() => {\n syncDisplayValue(value);\n syncSelectedOption(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 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 const onSelectButtonClick = () => {\n setExpanded(expanded => !expanded);\n setShouldClick(false);\n };\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 multiple={true}\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 id={multiSelectId.current}\n ref={containerReference}\n onKeyDown={onArrowNavigation}\n className={`custom-select ${classes.select} ${additionalClasses.join(\" \")}`}\n >\n <div\n className={`${classes[\"custom-select\"]} ${additionalClasses.join(\" \")} `}\n style={{ display: \"flex\" }}\n >\n <div className={classes[\"display-container\"]} data-display>\n <SelectButton\n {...selectButtonProps}\n onClick={onSelectButtonClick}\n name={name}\n ref={customSelectButtonRef}\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 {value?.length === 0 && placeholder && (\n <span className={classes[\"placeholder\"]}>{placeholder}</span>\n )}\n {value?.length > 0 && (\n <SelectedOptions\n disabled={disabled}\n display={display}\n onClick={onSelectButtonClick}\n onRemove={onSelectedOptionRemoveHandler}\n />\n )}\n {searchVisible && renderSearch()}\n </div>\n <div className={classes[\"status\"]}>{icon || renderChevronIcon()}</div>\n </div>\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.wrapper,\n pointerEvents: expanded ? \"auto\" : \"none\",\n ...listPosition\n }}\n >\n <ul\n id={getListboxId(multiSelectId.current)}\n className={addNewBtnOptionsContainerClassName}\n role=\"listbox\"\n aria-multiselectable=\"true\"\n style={{ maxHeight: optionsListMaxHeight.list }}\n >\n {renderOptions()}\n </ul>\n {renderAddNew()}\n </div>\n </div>\n </Fragment>\n );\n};\n\nexport const MultiSelect = React.forwardRef(MultiSelectComponent);\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MultiSelect.esm.js","sources":["../../../../../../../src/components/Form/Select/MultiSelect/MultiSelect.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 \"./MultiSelect.module.scss\";\n\nimport React, {\n ForwardRefRenderFunction,\n ReactElement,\n createRef,\n useEffect,\n useRef,\n useState\n} from \"react\";\nimport { useClickOutside } from \"../../../../hooks/useClickOutside\";\nimport { useDetermineStatusIcon } from \"../../../../hooks/useDetermineStatusIcon\";\nimport readyclasses from \"../../../../readyclasses.module.scss\";\nimport { escapeRegExp, filterProps, generateID } from \"../../../../util/helper\";\nimport { Icon, Icons } from \"../../../Icon/Icon\";\nimport { MultiSelectProps, Position } from \"../Select.interfaces\";\nimport { useAddNewBtn } from \"../useAddNewBtn\";\nimport { useSelectPositionList } from \"../useSelectPositionList\";\nimport { SelectButton } from \"./SelectButton\";\nimport { Display, SelectedOptions } from \"./SelectedOptions\";\nimport { useArrowNavigation } from \"./useArrowNavigation\";\nimport { useSearch } from \"./useSearch\";\nimport { withReadOnly } from \"../../../withReadOnly\";\n\nconst getOptionId = (multiSelectId: string, optionIndex: number) =>\n `${multiSelectId}_option${optionIndex}`;\n\nconst getListboxId = (multiSelectId: string) => `${multiSelectId}_listbox`;\n\nconst MultiSelectComponent: ForwardRefRenderFunction<HTMLSelectElement, MultiSelectProps> = (\n {\n id,\n children,\n name,\n disabled = false,\n labeledBy,\n placeholder,\n describedBy,\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 = { enabled: true, renderThreshold: 0, searchPlaceholder: \"Search item\" },\n isReadOnlyView,\n ...rest\n }: MultiSelectProps,\n ref\n) => {\n const multiSelectId = useRef(id ?? generateID(20));\n const [expanded, setExpanded] = useState(false);\n const [display, setDisplay] = useState<Display[]>([]);\n const containerReference = useRef<HTMLDivElement>(null);\n const optionListReference = useRef<HTMLDivElement>(null);\n const [focusedSelectItem, setFocusedSelectItem] = useState(0);\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 const [optionsVisibleCount, setOptionsVisibleCount] = useState(\n React.Children.count(children) - display.length\n );\n const { filter, renderSearch, searchInputRef, resetSearchState, searchVisible } = useSearch({\n selectId: multiSelectId.current,\n expanded,\n search,\n searchInputClassName: classes[\"select-search\"],\n optionsCount: optionsVisibleCount,\n focusedSelectItem,\n setFocusedSelectItem,\n describedBy,\n getOptionId,\n getListboxId\n });\n const { addBtnRef, addNewBtnOptionsContainerClassName, renderAddNew } = useAddNewBtn({\n id: getOptionId(multiSelectId.current, optionsVisibleCount),\n addNew,\n filter,\n focusedSelectItem,\n optionsCount: optionsVisibleCount,\n searchInputRef,\n shouldClick,\n onClickCallback: () => {\n setShouldClick(false);\n resetSearchState();\n }\n });\n\n const nativeSelect = (ref as React.RefObject<HTMLSelectElement>) || createRef();\n\n const onOptionChangeHandler = (optionElement: HTMLElement | null) => {\n if (nativeSelect.current && optionElement) {\n const value = optionElement.getAttribute(\"data-value\")!;\n const options = [...nativeSelect.current.options];\n const lastSelectedOptionValues = options\n .filter(option => option.selected)\n .map(option => option.value);\n options.forEach(option => {\n if (option.value === value || lastSelectedOptionValues.includes(option.value)) {\n option.selected = true;\n }\n });\n nativeSelect.current.dispatchEvent(new Event(\"change\", { bubbles: true }));\n }\n setExpanded(false);\n resetSearchState();\n };\n\n const onSelectedOptionRemoveHandler = (value: string) => {\n if (nativeSelect.current) {\n const options = [...nativeSelect.current.options];\n options.find(option => option.value === value)!.selected = false;\n nativeSelect.current.dispatchEvent(new Event(\"change\", { bubbles: true }));\n }\n };\n\n const customSelectButtonRef = useRef<HTMLButtonElement>(null);\n const readOnlyView = !!rest[\"data-readonlyview\"] || isReadOnlyView;\n const { onArrowNavigation } = useArrowNavigation({\n expanded,\n setExpanded,\n setFocusedSelectItem,\n childrenCount: optionsVisibleCount,\n setShouldClick,\n addBtnRef,\n searchInputRef,\n customSelectButtonRef,\n onClose: resetSearchState,\n isReadOnlyView: readOnlyView\n });\n\n const { listPosition, opacity, optionsListMaxHeight, setListPosition, setOpacity } =\n useSelectPositionList({ expanded, optionListReference, containerReference, addBtnRef });\n\n const syncDisplayValue = (values: string[]) => {\n const options = React.Children.map(children, child => child);\n const displayArray: Display[] = values.map(value => {\n const option = options.find(option => option.props.value === value);\n return { value, label: option?.props.children, fixed: option?.props.fixed };\n });\n setDisplay(displayArray);\n };\n\n const syncSelectedOption = (vals: string[]) => {\n if (nativeSelect.current) {\n const options = [...nativeSelect.current.options];\n options.forEach(option => {\n if (vals.includes(option.value)) {\n option.selected = true;\n } else {\n option.selected = false;\n }\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 type ReactChildrenType = ReturnType<typeof React.Children.toArray>;\n\n const filterOutSelectedChildren = (internalChildren: ReactChildrenType) => {\n return internalChildren.filter(\n child =>\n typeof child === \"object\" &&\n \"props\" in child &&\n !display.find(option => option.value === child.props.value)\n );\n };\n\n let results;\n if (filter !== \"\") {\n const filteredChildren = React.Children.toArray(children).filter(\n child =>\n (child as ReactElement).props.children\n .toLowerCase()\n .match(escapeRegExp(filter.toLowerCase())) !== null\n );\n\n results = _internalRenderChildren(filterOutSelectedChildren(filteredChildren));\n } else {\n results = _internalRenderChildren(\n filterOutSelectedChildren(React.Children.toArray(children))\n );\n }\n\n optionsVisibleCount !== results.length && setOptionsVisibleCount(results.length);\n\n if (results.length === 0) {\n return <li className={classes[\"no-results\"]}>{noResultsLabel}</li>;\n }\n\n return results;\n\n function _internalRenderChildren(internalChildren: ReactChildrenType) {\n return React.Children.map(internalChildren, (child, index) => {\n return React.cloneElement(child as ReactElement, {\n onFocusChange: (childIndex: number) => {\n setFocusedSelectItem(childIndex);\n },\n onOptionSelect: (optionRef: React.RefObject<HTMLLIElement>) => {\n onOptionChangeHandler(optionRef.current);\n setExpanded(false);\n setShouldClick(false);\n },\n isSearching: false,\n selectOpened: expanded,\n childIndex: index,\n hasFocus: focusedSelectItem === index,\n shouldClick: shouldClick,\n id: getOptionId(multiSelectId.current, index)\n });\n });\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 icon = useDetermineStatusIcon({ success, error });\n\n const nativeOnChangeHandler = (event: React.ChangeEvent<HTMLSelectElement>) => {\n onChange?.(event);\n };\n\n useEffect(() => {\n if (expanded && searchInputRef.current) {\n setShouldFocusButtonAfterClose(true);\n searchInputRef.current.focus();\n }\n\n if (!expanded && customSelectButtonRef.current && shouldFocusButtonAfterClose) {\n setShouldFocusButtonAfterClose(false);\n customSelectButtonRef.current.focus();\n }\n }, [\n expanded,\n customSelectButtonRef.current,\n shouldFocusButtonAfterClose,\n searchInputRef.current\n ]);\n\n useEffect(() => {\n syncDisplayValue(value);\n syncSelectedOption(value);\n }, [value]);\n\n const myElementRef = useRef<HTMLDivElement>(null);\n\n useClickOutside(myElementRef, () => {\n if (!expanded) {\n return;\n }\n setExpanded(false);\n setListPosition(Position.Below);\n setOpacity(0);\n }, [expanded]);\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 const onSelectButtonClick = () => {\n if (rest[\"data-readonlyview\"] || isReadOnlyView) {\n return;\n }\n setExpanded(expanded => !expanded);\n setShouldClick(false);\n };\n\n const optionsElement = (\n <div className={`list-wrapper-container ${classes[\"list-wrapper-container\"]}`}>\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.wrapper,\n pointerEvents: expanded ? \"auto\" : \"none\",\n top: listPosition === Position.Below ? \"4px\" : \"initial\",\n bottom: listPosition === Position.Above ? \"4px\" : \"initial\"\n }}\n >\n <ul\n id={getListboxId(multiSelectId.current)}\n className={addNewBtnOptionsContainerClassName}\n role=\"listbox\"\n aria-multiselectable=\"true\"\n style={{ maxHeight: optionsListMaxHeight.list }}\n >\n {renderOptions()}\n </ul>\n {renderAddNew()}\n </div>\n </div>\n );\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 <div ref={myElementRef}>\n <select\n {...filterProps(rest, /^data-/, false)}\n tabIndex={-1}\n multiple={true}\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 id={multiSelectId.current}\n ref={containerReference}\n onKeyDown={onArrowNavigation}\n className={`custom-select ${classes.select} ${additionalClasses.join(\" \")}`}\n >\n {listPosition === Position.Above ? optionsElement : undefined}\n <div\n className={`${classes[\"custom-select\"]} ${additionalClasses.join(\" \")} `}\n style={{ display: \"flex\" }}\n >\n <div className={classes[\"display-container\"]} data-display>\n <SelectButton\n {...selectButtonProps}\n onClick={onSelectButtonClick}\n name={name}\n ref={customSelectButtonRef}\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 {value?.length === 0 && placeholder && (\n <span className={classes[\"placeholder\"]}>{placeholder}</span>\n )}\n {value?.length > 0 && (\n <SelectedOptions\n disabled={disabled}\n display={display}\n onClick={onSelectButtonClick}\n onRemove={onSelectedOptionRemoveHandler}\n />\n )}\n {searchVisible && renderSearch()}\n </div>\n <div className={classes[\"status\"]}>{icon || renderChevronIcon()}</div>\n </div>\n {listPosition === Position.Below ? optionsElement : undefined}\n </div>\n </div>\n );\n};\n\nexport const MultiSelect = withReadOnly(React.forwardRef(MultiSelectComponent));\n"],"names":[],"mappings":"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"}