@onewelcome/react-lib-components 8.6.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 (153) 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/FormGroup/FormGroup.cjs.js +1 -1
  28. package/dist/cjs/Form/FormGroup/FormGroup.cjs.js.map +1 -1
  29. package/dist/cjs/Form/FormSelectorWrapper/FormSelectorWrapper.cjs.js +1 -1
  30. package/dist/cjs/Form/FormSelectorWrapper/FormSelectorWrapper.cjs.js.map +1 -1
  31. package/dist/cjs/Form/Select/MultiSelect/MultiSelect.cjs.js +1 -1
  32. package/dist/cjs/Form/Select/MultiSelect/MultiSelect.cjs.js.map +1 -1
  33. package/dist/cjs/Form/Select/SingleSelect/Select.cjs.js +1 -1
  34. package/dist/cjs/Form/Select/SingleSelect/Select.cjs.js.map +1 -1
  35. package/dist/cjs/Form/Select/useSelectPositionList.cjs.js +1 -1
  36. package/dist/cjs/Form/Select/useSelectPositionList.cjs.js.map +1 -1
  37. package/dist/cjs/Form/Wrapper/InputWrapper/InputWrapper.cjs.js +1 -1
  38. package/dist/cjs/Form/Wrapper/InputWrapper/InputWrapper.cjs.js.map +1 -1
  39. package/dist/cjs/Form/Wrapper/Wrapper/Wrapper.cjs.js +1 -1
  40. package/dist/cjs/Form/Wrapper/Wrapper/Wrapper.cjs.js.map +1 -1
  41. package/dist/cjs/src/components/DataGrid/DataGridFilters/DataGridDateFilter.d.ts +9 -0
  42. package/dist/cjs/src/components/DataGrid/DataGridFilters/DataGridFilterTag.d.ts +2 -1
  43. package/dist/cjs/src/components/DataGrid/DataGridFilters/DataGridFilters.interfaces.d.ts +10 -1
  44. package/dist/cjs/src/components/DataGrid/DataGridFilters/DataGridToolbar.d.ts +5 -3
  45. package/dist/cjs/src/components/DataGrid/DataGridFilters/DateTimePicker/DateTimePicker.d.ts +31 -0
  46. package/dist/cjs/src/components/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerCalendarSection.d.ts +15 -0
  47. package/dist/cjs/src/components/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerInputSection.d.ts +18 -0
  48. package/dist/cjs/src/components/DataGrid/DataGridFilters/DateTimePicker/DateTimeService.d.ts +10 -0
  49. package/dist/cjs/src/components/DataGrid/DataGridFilters/DateTimePicker/SideMenu.d.ts +10 -0
  50. package/dist/cjs/src/components/DataGrid/testUtils.d.ts +7 -1
  51. package/dist/cjs/src/components/DatePicker/DatePicker.d.ts +4 -1
  52. package/dist/cjs/src/components/Form/FormGroup/FormGroup.d.ts +1 -0
  53. package/dist/cjs/src/components/Form/Wrapper/Wrapper/Wrapper.d.ts +1 -0
  54. package/dist/cjs/src/hooks/useClickOutside.cjs.js +2 -0
  55. package/dist/cjs/src/hooks/useClickOutside.cjs.js.map +1 -0
  56. package/dist/cjs/src/hooks/useClickOutside.d.ts +2 -0
  57. package/dist/cjs/src/index.cjs.js +1 -1
  58. package/dist/cjs/src/index.d.ts +1 -0
  59. package/dist/esm/Button/BaseButton.esm.js +5 -2
  60. package/dist/esm/Button/BaseButton.esm.js.map +1 -1
  61. package/dist/esm/ContextMenu/ContextMenu.esm.js +6 -8
  62. package/dist/esm/ContextMenu/ContextMenu.esm.js.map +1 -1
  63. package/dist/esm/ContextMenu/ContextMenuItem.esm.js +3 -3
  64. package/dist/esm/ContextMenu/ContextMenuItem.esm.js.map +1 -1
  65. package/dist/esm/ContextMenu/ContextMenuItem.module.scss.esm.js +2 -2
  66. package/dist/esm/DataGrid/DataGridFilters/DataGridDateFilter.esm.js +35 -0
  67. package/dist/esm/DataGrid/DataGridFilters/DataGridDateFilter.esm.js.map +1 -0
  68. package/dist/esm/DataGrid/DataGridFilters/DataGridFilterTag.esm.js +16 -7
  69. package/dist/esm/DataGrid/DataGridFilters/DataGridFilterTag.esm.js.map +1 -1
  70. package/dist/esm/DataGrid/DataGridFilters/DataGridFilters.interfaces.esm.js.map +1 -1
  71. package/dist/esm/DataGrid/DataGridFilters/DataGridToolbar.esm.js +15 -12
  72. package/dist/esm/DataGrid/DataGridFilters/DataGridToolbar.esm.js.map +1 -1
  73. package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/DateTimePicker.esm.js +138 -0
  74. package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/DateTimePicker.esm.js.map +1 -0
  75. package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/DateTimePicker.module.scss.esm.js +8 -0
  76. package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/DateTimePicker.module.scss.esm.js.map +1 -0
  77. package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerCalendarSection.esm.js +54 -0
  78. package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerCalendarSection.esm.js.map +1 -0
  79. package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerInputSection.esm.js +51 -0
  80. package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerInputSection.esm.js.map +1 -0
  81. package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/DateTimeService.esm.js +29 -0
  82. package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/DateTimeService.esm.js.map +1 -0
  83. package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/SideMenu.esm.js +26 -0
  84. package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/SideMenu.esm.js.map +1 -0
  85. package/dist/esm/DatePicker/DatePicker.esm.js +3 -1
  86. package/dist/esm/DatePicker/DatePicker.esm.js.map +1 -1
  87. package/dist/esm/DatePicker/DatePicker.module.scss.esm.js +2 -2
  88. package/dist/esm/Form/FormGroup/FormGroup.esm.js +2 -2
  89. package/dist/esm/Form/FormGroup/FormGroup.esm.js.map +1 -1
  90. package/dist/esm/Form/FormSelectorWrapper/FormSelectorWrapper.esm.js +1 -1
  91. package/dist/esm/Form/FormSelectorWrapper/FormSelectorWrapper.esm.js.map +1 -1
  92. package/dist/esm/Form/Select/MultiSelect/MultiSelect.esm.js +9 -5
  93. package/dist/esm/Form/Select/MultiSelect/MultiSelect.esm.js.map +1 -1
  94. package/dist/esm/Form/Select/SingleSelect/Select.esm.js +9 -5
  95. package/dist/esm/Form/Select/SingleSelect/Select.esm.js.map +1 -1
  96. package/dist/esm/Form/Select/useSelectPositionList.esm.js +8 -11
  97. package/dist/esm/Form/Select/useSelectPositionList.esm.js.map +1 -1
  98. package/dist/esm/Form/Wrapper/InputWrapper/InputWrapper.esm.js +2 -2
  99. package/dist/esm/Form/Wrapper/InputWrapper/InputWrapper.esm.js.map +1 -1
  100. package/dist/esm/Form/Wrapper/Wrapper/Wrapper.esm.js +2 -2
  101. package/dist/esm/Form/Wrapper/Wrapper/Wrapper.esm.js.map +1 -1
  102. package/dist/esm/src/components/DataGrid/DataGridFilters/DataGridDateFilter.d.ts +9 -0
  103. package/dist/esm/src/components/DataGrid/DataGridFilters/DataGridFilterTag.d.ts +2 -1
  104. package/dist/esm/src/components/DataGrid/DataGridFilters/DataGridFilters.interfaces.d.ts +10 -1
  105. package/dist/esm/src/components/DataGrid/DataGridFilters/DataGridToolbar.d.ts +5 -3
  106. package/dist/esm/src/components/DataGrid/DataGridFilters/DateTimePicker/DateTimePicker.d.ts +31 -0
  107. package/dist/esm/src/components/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerCalendarSection.d.ts +15 -0
  108. package/dist/esm/src/components/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerInputSection.d.ts +18 -0
  109. package/dist/esm/src/components/DataGrid/DataGridFilters/DateTimePicker/DateTimeService.d.ts +10 -0
  110. package/dist/esm/src/components/DataGrid/DataGridFilters/DateTimePicker/SideMenu.d.ts +10 -0
  111. package/dist/esm/src/components/DataGrid/testUtils.d.ts +7 -1
  112. package/dist/esm/src/components/DatePicker/DatePicker.d.ts +4 -1
  113. package/dist/esm/src/components/Form/FormGroup/FormGroup.d.ts +1 -0
  114. package/dist/esm/src/components/Form/Wrapper/Wrapper/Wrapper.d.ts +1 -0
  115. package/dist/esm/src/hooks/useClickOutside.d.ts +2 -0
  116. package/dist/esm/src/hooks/useClickOutside.esm.js +38 -0
  117. package/dist/esm/src/hooks/useClickOutside.esm.js.map +1 -0
  118. package/dist/esm/src/index.d.ts +1 -0
  119. package/dist/esm/src/index.esm.js +1 -0
  120. package/dist/esm/src/index.esm.js.map +1 -1
  121. package/package.json +7 -3
  122. package/src/components/Button/BaseButton.tsx +7 -4
  123. package/src/components/ContextMenu/ContextMenu.tsx +5 -13
  124. package/src/components/DataGrid/DataGridBody/__snapshots__/DataGridBody.test.tsx.snap +4 -4
  125. package/src/components/DataGrid/DataGridFilters/DataGridDateFilter.tsx +65 -0
  126. package/src/components/DataGrid/DataGridFilters/DataGridFilterTag.tsx +25 -5
  127. package/src/components/DataGrid/DataGridFilters/DataGridFilters.interfaces.ts +18 -1
  128. package/src/components/DataGrid/DataGridFilters/DataGridToolbar.tsx +53 -33
  129. package/src/components/DataGrid/DataGridFilters/DateTimePicker/DateTimePicker.module.scss +134 -0
  130. package/src/components/DataGrid/DataGridFilters/DateTimePicker/DateTimePicker.tsx +267 -0
  131. package/src/components/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerCalendarSection.tsx +103 -0
  132. package/src/components/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerInputSection.tsx +121 -0
  133. package/{dist/esm/src/hooks/useBodyClick.esm.js → src/components/DataGrid/DataGridFilters/DateTimePicker/DateTimeService.ts} +14 -17
  134. package/src/components/DataGrid/DataGridFilters/DateTimePicker/SideMenu.tsx +50 -0
  135. package/src/components/DataGrid/testUtils.ts +48 -15
  136. package/src/components/DatePicker/DatePicker.module.scss +32 -9
  137. package/src/components/DatePicker/DatePicker.tsx +15 -1
  138. package/src/components/Form/FormGroup/FormGroup.tsx +6 -1
  139. package/src/components/Form/FormSelectorWrapper/FormSelectorWrapper.tsx +2 -2
  140. package/src/components/Form/Select/MultiSelect/MultiSelect.tsx +13 -13
  141. package/src/components/Form/Select/SingleSelect/Select.tsx +13 -13
  142. package/src/components/Form/Select/useSelectPositionList.ts +8 -12
  143. package/src/components/Form/Wrapper/InputWrapper/InputWrapper.tsx +2 -0
  144. package/src/components/Form/Wrapper/Wrapper/Wrapper.tsx +3 -0
  145. package/src/hooks/{useBodyClick.ts → useClickOutside.ts} +17 -11
  146. package/src/index.ts +1 -0
  147. package/dist/cjs/src/hooks/useBodyClick.cjs.js +0 -2
  148. package/dist/cjs/src/hooks/useBodyClick.cjs.js.map +0 -1
  149. package/dist/cjs/src/hooks/useBodyClick.d.ts +0 -1
  150. package/dist/esm/src/hooks/useBodyClick.d.ts +0 -1
  151. package/dist/esm/src/hooks/useBodyClick.esm.js.map +0 -1
  152. /package/dist/cjs/src/hooks/{useBodyClick.test.d.ts → useClickOutside.test.d.ts} +0 -0
  153. /package/dist/esm/src/hooks/{useBodyClick.test.d.ts → useClickOutside.test.d.ts} +0 -0
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});require("../node_modules/style-inject/dist/style-inject.es.cjs.js").default('/*!\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 */.DatePicker-module_sr-only__KnLIH{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.DatePicker-module_hidden__yV2zd{display:none}.DatePicker-module_slide-in__uNWGO{animation:DatePicker-module_slide-in__uNWGO .5s forwards}@media (prefers-reduced-motion:reduce){.DatePicker-module_slide-in__uNWGO{animation-duration:.1ms}}.DatePicker-module_slide-out__gWqox{animation:DatePicker-module_slide-out__gWqox .5s forwards}@media (prefers-reduced-motion:reduce){.DatePicker-module_slide-out__gWqox{animation-duration:.1ms}}@keyframes DatePicker-module_slide-in__uNWGO{0%{transform:translateY(100vh)}to{transform:translateY(0)}}@keyframes DatePicker-module_slide-out__gWqox{0%{transform:translateY(0)}to{transform:translateY(100vh)}}.DatePicker-module_rdp-root__w85jJ{--rdp-day-height:2rem;--rdp-day-width:2rem;--rdp-disabled-opacity:0.5;--rdp-outside-opacity:0.75;--rdp-dropdown-gap:0.5rem;--rdp-months-gap:2rem;--rdp-nav_button-disabled-opacity:0.5;--rdp-nav_button-height:0.75rem;--rdp-nav_button-width:0.75rem;--rdp-nav-height:2.75rem;--rdp-range_middle-background-color:var(--color-primary50);--rdp-range_middle-color:#000;--rdp-range_start-color:#fff;--rdp-range_start-background:var(--color-primary);--rdp-range_start-date-background-color:var(--color-primary);--rdp-range_end-background:var(--color-primary);--rdp-range_end-color:#fff;--rdp-range_end-date-background-color:var(--color-primary);--rdp-week_number-border-radius:var(--button-border-radius);--rdp-week_number-border:var(--button-border-radius) solid #0000;--rdp-week_number-height:var(--rdp-day-height);--rdp-week_number-opacity:0.75;--rdp-week_number-width:var(--rdp-day-width);--rdp-weeknumber-text-align:center;--rdp-weekday-padding:0.5rem 0rem;--rdp-weekday-text-align:center;--rdp-gradient-direction:90deg}.DatePicker-module_rdp-root__w85jJ[dir=rtl]{--rdp-gradient-direction:-90deg}.DatePicker-module_rdp-root__w85jJ{box-sizing:border-box;color:var(--default);font-family:var(--font-family);font-size:var(--font-size-sub);font-style:normal;font-variant:normal;font-weight:400;letter-spacing:0;line-height:1rem;margin:0 0 1rem;position:relative;text-transform:none}.DatePicker-module_rdp-root__w85jJ *{box-sizing:border-box}.DatePicker-module_rdp-day__xXo-K{border:none;height:var(--rdp-day-height);padding:0;text-align:center;width:var(--rdp-day-width)}.DatePicker-module_rdp-day_button__Tn-Zd{align-items:center;background:none;border:var(--button-border-radius) solid #0000;border-radius:var(--button-border-radius);color:inherit;cursor:pointer;display:flex;font:inherit;height:var(--rdp-day-height);justify-content:center;margin:0;padding:0;width:var(--rdp-day-width)}.DatePicker-module_rdp-day_button__Tn-Zd:focus-visible{border-radius:var(--focus-border-radius);outline:.125rem solid var(--color-focus);outline-offset:-2px}.DatePicker-module_rdp-day_button__Tn-Zd:disabled{cursor:revert}.DatePicker-module_rdp-caption_label__hpWX2{align-items:center;border:0;display:inline-flex;position:relative;white-space:nowrap;z-index:1}.DatePicker-module_rdp-button_next__AOdy3,.DatePicker-module_rdp-button_previous__JZVzI{align-items:center;appearance:none;background:none;border:none;color:inherit;cursor:pointer;display:inline-flex;font:inherit;height:var(--rdp-nav_button-height);justify-content:center;margin:0;padding:0;position:relative;width:var(--rdp-nav_button-width)}.DatePicker-module_rdp-button_next__AOdy3:focus-visible,.DatePicker-module_rdp-button_previous__JZVzI:focus-visible{border-radius:var(--focus-border-radius);outline:.125rem solid var(--color-focus);outline-offset:2px}.DatePicker-module_rdp-button_previous__JZVzI{margin-right:.5rem}.DatePicker-module_rdp-button_next__AOdy3:disabled,.DatePicker-module_rdp-button_previous__JZVzI:disabled{cursor:revert;opacity:var(--rdp-nav_button-disabled-opacity)}.DatePicker-module_rdp-chevron__q6PAe{fill:var(--color-blue-grey500);display:inline-block}.DatePicker-module_rdp-root__w85jJ[dir=rtl] .DatePicker-module_rdp-nav__y0rb- .DatePicker-module_rdp-chevron__q6PAe{transform:rotate(180deg);transform-origin:50%}.DatePicker-module_rdp-dropdowns__fFv9Q{align-items:center;color:var(--color-blue-grey500);display:inline-flex;font-weight:700;gap:var(--rdp-dropdown-gap);position:relative}.DatePicker-module_rdp-dropdown__lazMc{appearance:none;border:none;cursor:inherit;inset-block-end:0;inset-block-start:0;inset-inline-start:0;line-height:inherit;margin:0;opacity:0;padding:0;position:absolute;width:100%;z-index:2}.DatePicker-module_rdp-dropdown_root__CaXoe{align-items:center;display:inline-flex;position:relative}.DatePicker-module_rdp-years_dropdown__x8JpD:focus-visible+.DatePicker-module_rdp-caption_label__hpWX2 .DatePicker-module_rdp-chevron__q6PAe{border-radius:var(--focus-border-radius);outline:.125rem solid var(--color-focus);outline-offset:0}.DatePicker-module_rdp-years_dropdown__x8JpD+.DatePicker-module_rdp-caption_label__hpWX2 .DatePicker-module_rdp-chevron__q6PAe{margin-left:.25rem;width:.875rem}.DatePicker-module_rdp-dropdown_root__CaXoe[data-disabled=true] .DatePicker-module_rdp-chevron__q6PAe{opacity:var(--rdp-disabled-opacity)}.DatePicker-module_rdp-month_caption__lHfv9{align-content:center;display:flex;height:var(--rdp-nav-height)}.DatePicker-module_rdp-months__rRd5i{display:flex;flex-wrap:wrap;gap:var(--rdp-months-gap);max-width:fit-content;position:relative}.DatePicker-module_rdp-month_grid__L60F6{border-collapse:collapse}.DatePicker-module_rdp-nav__y0rb-{align-items:center;display:flex;height:var(--rdp-nav-height);inset-block-start:0;inset-inline-end:0;position:absolute}.DatePicker-module_rdp-weekday__jnnj2{color:var(--color-blue-grey400);font-size:.625rem;font-weight:400;height:var(--rdp-day-height);padding:var(--rdp-weekday-padding);text-align:var(--rdp-weekday-text-align);width:var(--rdp-day-width)}.DatePicker-module_rdp-week_number__2SnHY{border:var(--rdp-week_number-border);border-radius:var(--rdp-week_number-border-radius);height:var(--rdp-week_number-height);opacity:var(--rdp-week_number-opacity);text-align:var(--rdp-weeknumber-text-align);width:var(--rdp-week_number-width)}.DatePicker-module_rdp-today__JKQcK:not(.DatePicker-module_rdp-outside__kVSG4){color:var(--color-primary)}.DatePicker-module_rdp-selected__7MpXH{background-color:var(--color-primary);border-radius:var(--button-border-radius);color:#fff}.DatePicker-module_rdp-selected__7MpXH.DatePicker-module_rdp-outside__kVSG4.DatePicker-module_rdp-range_middle__o8QiM .DatePicker-module_rdp-day_button__Tn-Zd{color:var(--color-blue-grey400)}.DatePicker-module_rdp-selected__7MpXH .DatePicker-module_rdp-day_button__Tn-Zd{border:var(--button-border-radius) solid var(--color-primary)}.DatePicker-module_rdp-outside__kVSG4{color:var(--color-blue-grey400)}.DatePicker-module_rdp-disabled__P7qzQ{opacity:var(--rdp-disabled-opacity)}.DatePicker-module_rdp-hidden__tjsIG{color:var(--rdp-range_start-color);visibility:hidden}.DatePicker-module_rdp-range_start__7XHt-{background:var(--rdp-range_start-background)}.DatePicker-module_rdp-range_start__7XHt- .DatePicker-module_rdp-day_button__Tn-Zd{background-color:var(--rdp-range_start-date-background-color);color:var(--rdp-range_start-color)}.DatePicker-module_rdp-range_middle__o8QiM{background-color:var(--rdp-range_middle-background-color);border-radius:0}.DatePicker-module_rdp-range_middle__o8QiM:focus-visible{border-radius:var(--focus-border-radius)}.DatePicker-module_rdp-range_middle__o8QiM .DatePicker-module_rdp-day_button__Tn-Zd{border-color:#0000;color:var(--rdp-range_middle-color)}.DatePicker-module_rdp-range_end__FUram{background:var(--rdp-range_end-background);color:var(--rdp-range_end-color)}.DatePicker-module_rdp-range_end__FUram .DatePicker-module_rdp-day_button__Tn-Zd{background-color:var(--rdp-range_end-date-background-color);color:var(--rdp-range_start-color)}.DatePicker-module_rdp-range_start__7XHt-.DatePicker-module_rdp-range_end__FUram{background:revert}.DatePicker-module_rdp-focusable__5xqek{cursor:pointer}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkRhdGVQaWNrZXIubW9kdWxlLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBb0JBOzs7Ozs7Ozs7Ozs7OztFQWNFO0FBQ0Y7Ozs7Ozs7Ozs7Ozs7O0VBY0U7QUFDRjs7Ozs7Ozs7Ozs7Ozs7RUFjRSxDQUNGLGtDQU9FLGtCQUFzQixDQUN0QixRQUFTLENBTFQsVUFBVyxDQUVYLFdBQVksQ0FDWixlQUFnQixDQUZoQixTQUFVLENBSFYsaUJBQWtCLENBQ2xCLFNBT0YsQ0FFQSxpQ0FDRSxZQUNGLENBRUEsbUNBQ0Usd0RBQ0YsQ0FDQSx1Q0FDRSxtQ0FDRSx1QkFDRixDQUNGLENBRUEsb0NBQ0UseURBQ0YsQ0FDQSx1Q0FDRSxvQ0FDRSx1QkFDRixDQUNGLENBRUEsNkNBQ0UsR0FDRSwyQkFDRixDQUNBLEdBQ0UsdUJBQ0YsQ0FDRixDQUNBLDhDQUNFLEdBQ0UsdUJBQ0YsQ0FDQSxHQUNFLDJCQUNGLENBQ0YsQ0FDQSxtQ0FDRSxxQkFBc0IsQ0FDdEIsb0JBQXFCLENBQ3JCLDBCQUEyQixDQUMzQiwwQkFBMkIsQ0FDM0IseUJBQTBCLENBQzFCLHFCQUFzQixDQUN0QixxQ0FBc0MsQ0FDdEMsK0JBQWdDLENBQ2hDLDhCQUErQixDQUMvQix3QkFBeUIsQ0FDekIsMERBQTJELENBQzNELDZCQUErQixDQUMvQiw0QkFBOEIsQ0FDOUIsaURBQWtELENBQ2xELDREQUE2RCxDQUM3RCwrQ0FBZ0QsQ0FDaEQsMEJBQTRCLENBQzVCLDBEQUEyRCxDQUMzRCwyREFBNEQsQ0FDNUQsZ0VBQXVFLENBQ3ZFLDhDQUErQyxDQUMvQyw4QkFBK0IsQ0FDL0IsNENBQTZDLENBQzdDLGtDQUFtQyxDQUNuQyxpQ0FBa0MsQ0FDbEMsK0JBQWdDLENBQ2hDLDhCQUNGLENBRUEsNENBQ0UsK0JBQ0YsQ0FFQSxtQ0FFRSxxQkFBc0IsQ0FTdEIsb0JBQXFCLENBUnJCLDhCQUErQixDQUMvQiw4QkFBK0IsQ0FDL0IsaUJBQWtCLENBQ2xCLG1CQUFvQixDQUVwQixlQUFnQixDQUVo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RkFFRSwyREFBNEQsQ0FENUQsa0NBRUYsQ0FFQSxpRkFDRSxpQkFDRixDQUVBLHdDQUNFLGNBQ0YiLCJmaWxlIjoiRGF0ZVBpY2tlci5tb2R1bGUuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAyMiBPbmVXZWxjb21lIEIuVi5cbiAqXG4gKiAgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogICAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqICAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qXG4gIFRob3NlIHN0eWxlcyB3ZXJlIG9yaWdpbmFsbHkgdGFrZW4gZnJvbSBodHRwczovL2dpdGh1Yi5jb20vZ3BibC9yZWFjdC1kYXktcGlja2VyL2Jsb2IvbWFpbi9zcmMvc3R5bGUuY3NzLlxuICBTb21lIHdoZXJlIHVwZGF0ZWQgYXMgcGVyIGRlc2lnbiwgdG8gbWF0Y2ggdGhlIHNpbmdsZSBzZWxlY3QgbW9kZS4gVGhlIHJlc3QgaXMga2VwdCBpbnRhY3QgaW4gdGhlIGZpbGUgdG8gc2ltcGxpZnkgdGhlXG4gIHN0eWxpbmcgb2YgdGhlIHVwY29taW5nIGZlYXR1cmVzLlxuICovXG4vKiFcbiAqIENvcHlyaWdodCAyMDIyIE9uZVdlbGNvbWUgQi5WLlxuICpcbiAqICAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiAgICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiAgICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiAgICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiAgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyohXG4gKiBDb3B5cmlnaHQgMjAyMiBPbmVXZWxjb21lIEIuVi5cbiAqXG4gKiAgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogICAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqICAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qIVxuICogQ29weXJpZ2h0IDIwMjIgT25lV2VsY29tZSBCLlYuXG4gKlxuICogICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqICAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqICAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiAgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiAgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqICAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4uc3Itb25seSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgYm9yZGVyOiAwO1xufVxuXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnNsaWRlLWluIHtcbiAgYW5pbWF0aW9uOiBzbGlkZS1pbiAwLjVzIGZvcndhcmRzO1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLnNsaWRlLWluIHtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDAuMW1zO1xuICB9XG59XG5cbi5zbGlkZS1vdXQge1xuICBhbmltYXRpb246IHNsaWRlLW91dCAwLjVzIGZvcndhcmRzO1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLnNsaWRlLW91dCB7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjFtcztcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlLWluIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDB2aCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgfVxufVxuQGtleWZyYW1lcyBzbGlkZS1vdXQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwdmgpO1xuICB9XG59XG4ucmRwLXJvb3Qge1xuICAtLXJkcC1kYXktaGVpZ2h0OiAycmVtO1xuICAtLXJkcC1kYXktd2lkdGg6IDJyZW07XG4gIC0tcmRwLWRpc2FibGVkLW9wYWNpdHk6IDAuNTtcbiAgLS1yZHAtb3V0c2lkZS1vcGFjaXR5OiAwLjc1O1xuICAtLXJkcC1kcm9wZG93bi1nYXA6IDAuNXJlbTtcbiAgLS1yZHAtbW9udGhzLWdhcDogMnJlbTtcbiAgLS1yZHAtbmF2X2J1dHRvbi1kaXNhYmxlZC1vcGFjaXR5OiAwLjU7XG4gIC0tcmRwLW5hdl9idXR0b24taGVpZ2h0OiAwLjc1cmVtO1xuICAtLXJkcC1uYXZfYnV0dG9uLXdpZHRoOiAwLjc1cmVtO1xuICAtLXJkcC1uYXYtaGVpZ2h0OiAyLjc1cmVtO1xuICAtLXJkcC1yYW5nZV9taWRkbGUtYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeTUwKTtcbiAgLS1yZHAtcmFuZ2VfbWlkZGxlLWNvbG9yOiBibGFjaztcbiAgLS1yZHAtcmFuZ2Vfc3RhcnQtY29sb3I6IHdoaXRlO1xuICAtLXJkcC1yYW5nZV9zdGFydC1iYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgLS1yZHAtcmFuZ2Vfc3RhcnQtZGF0ZS1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgLS1yZHAtcmFuZ2VfZW5kLWJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAtLXJkcC1yYW5nZV9lbmQtY29sb3I6IHdoaXRlO1xuICAtLXJkcC1yYW5nZV9lbmQtZGF0ZS1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgLS1yZHAtd2Vla19udW1iZXItYm9yZGVyLXJhZGl1czogdmFyKC0tYnV0dG9uLWJvcmRlci1yYWRpdXMpO1xuICAtLXJkcC13ZWVrX251bWJlci1ib3JkZXI6IHZhcigtLWJ1dHRvbi1ib3JkZXItcmFkaXVzKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgLS1yZHAtd2Vla19udW1iZXItaGVpZ2h0OiB2YXIoLS1yZHAtZGF5LWhlaWdodCk7XG4gIC0tcmRwLXdlZWtfbnVtYmVyLW9wYWNpdHk6IDAuNzU7XG4gIC0tcmRwLXdlZWtfbnVtYmVyLXdpZHRoOiB2YXIoLS1yZHAtZGF5LXdpZHRoKTtcbiAgLS1yZHAtd2Vla251bWJlci10ZXh0LWFsaWduOiBjZW50ZXI7XG4gIC0tcmRwLXdlZWtkYXktcGFkZGluZzogMC41cmVtIDByZW07XG4gIC0tcmRwLXdlZWtkYXktdGV4dC1hbGlnbjogY2VudGVyO1xuICAtLXJkcC1ncmFkaWVudC1kaXJlY3Rpb246IDkwZGVnO1xufVxuXG4ucmRwLXJvb3RbZGlyPXJ0bF0ge1xuICAtLXJkcC1ncmFkaWVudC1kaXJlY3Rpb246IC05MGRlZztcbn1cblxuLnJkcC1yb290IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zdWIpO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICBjb2xvcjogdmFyKC0tZGVmYXVsdCk7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbn1cblxuLnJkcC1yb290ICoge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4ucmRwLWRheSB7XG4gIHdpZHRoOiB2YXIoLS1yZHAtZGF5LXdpZHRoKTtcbiAgaGVpZ2h0OiB2YXIoLS1yZHAtZGF5LWhlaWdodCk7XG4gIGJvcmRlcjogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAwO1xufVxuXG4ucmRwLWRheV9idXR0b24ge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogdmFyKC0tcmRwLWRheS13aWR0aCk7XG4gIGhlaWdodDogdmFyKC0tcmRwLWRheS1oZWlnaHQpO1xuICBib3JkZXI6IHZhcigtLWJ1dHRvbi1ib3JkZXItcmFkaXVzKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnV0dG9uLWJvcmRlci1yYWRpdXMpO1xufVxuLnJkcC1kYXlfYnV0dG9uOmZvY3VzLXZpc2libGUge1xuICBvdXRsaW5lOiAwLjEyNXJlbSBzb2xpZCB2YXIoLS1jb2xvci1mb2N1cyk7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1mb2N1cy1ib3JkZXItcmFkaXVzKTtcbn1cblxuLnJkcC1kYXlfYnV0dG9uOmRpc2FibGVkIHtcbiAgY3Vyc29yOiByZXZlcnQ7XG59XG5cbi5yZHAtY2FwdGlvbl9sYWJlbCB7XG4gIHotaW5kZXg6IDE7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJvcmRlcjogMDtcbn1cblxuLnJkcC1idXR0b25fbmV4dCxcbi5yZHAtYnV0dG9uX3ByZXZpb3VzIHtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogdmFyKC0tcmRwLW5hdl9idXR0b24td2lkdGgpO1xuICBoZWlnaHQ6IHZhcigtLXJkcC1uYXZfYnV0dG9uLWhlaWdodCk7XG59XG4ucmRwLWJ1dHRvbl9uZXh0OmZvY3VzLXZpc2libGUsXG4ucmRwLWJ1dHRvbl9wcmV2aW91czpmb2N1cy12aXNpYmxlIHtcbiAgb3V0bGluZTogMC4xMjVyZW0gc29saWQgdmFyKC0tY29sb3ItZm9jdXMpO1xuICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1mb2N1cy1ib3JkZXItcmFkaXVzKTtcbn1cblxuLnJkcC1idXR0b25fcHJldmlvdXMge1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbn1cblxuLnJkcC1idXR0b25fbmV4dDpkaXNhYmxlZCxcbi5yZHAtYnV0dG9uX3ByZXZpb3VzOmRpc2FibGVkIHtcbiAgY3Vyc29yOiByZXZlcnQ7XG4gIG9wYWNpdHk6IHZhcigtLXJkcC1uYXZfYnV0dG9uLWRpc2FibGVkLW9wYWNpdHkpO1xufVxuXG4ucmRwLWNoZXZyb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZpbGw6IHZhcigtLWNvbG9yLWJsdWUtZ3JleTUwMCk7XG59XG5cbi5yZHAtcm9vdFtkaXI9cnRsXSAucmRwLW5hdiAucmRwLWNoZXZyb24ge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xufVxuXG4ucmRwLXJvb3RbZGlyPXJ0bF0gLnJkcC1uYXYgLnJkcC1jaGV2cm9uIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlO1xufVxuXG4ucmRwLWRyb3Bkb3ducyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tcmRwLWRyb3Bkb3duLWdhcCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1ibHVlLWdyZXk1MDApO1xuICBmb250LXdlaWdodDogNzAwO1xufVxuXG4ucmRwLWRyb3Bkb3duIHtcbiAgei1pbmRleDogMjtcbiAgLyogUmVzZXQgKi9cbiAgb3BhY2l0eTogMDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldC1ibG9jay1zdGFydDogMDtcbiAgaW5zZXQtYmxvY2stZW5kOiAwO1xuICBpbnNldC1pbmxpbmUtc3RhcnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGN1cnNvcjogaW5oZXJpdDtcbiAgYm9yZGVyOiBub25lO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuLnJkcC1kcm9wZG93bl9yb290IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnJkcC15ZWFyc19kcm9wZG93bjpmb2N1cy12aXNpYmxlICsgLnJkcC1jYXB0aW9uX2xhYmVsIC5yZHAtY2hldnJvbiB7XG4gIG91dGxpbmU6IDAuMTI1cmVtIHNvbGlkIHZhcigtLWNvbG9yLWZvY3VzKTtcbiAgb3V0bGluZS1vZmZzZXQ6IDA7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWZvY3VzLWJvcmRlci1yYWRpdXMpO1xufVxuXG4ucmRwLXllYXJzX2Ryb3Bkb3duICsgLnJkcC1jYXB0aW9uX2xhYmVsIC5yZHAtY2hldnJvbiB7XG4gIG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xuICB3aWR0aDogMC44NzVyZW07XG59XG5cbi5yZHAtZHJvcGRvd25fcm9vdFtkYXRhLWRpc2FibGVkPXRydWVdIC5yZHAtY2hldnJvbiB7XG4gIG9wYWNpdHk6IHZhcigtLXJkcC1kaXNhYmxlZC1vcGFjaXR5KTtcbn1cblxuLnJkcC1tb250aF9jYXB0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICBoZWlnaHQ6IHZhcigtLXJkcC1uYXYtaGVpZ2h0KTtcbn1cblxuLnJkcC1tb250aHMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZ2FwOiB2YXIoLS1yZHAtbW9udGhzLWdhcCk7XG4gIG1heC13aWR0aDogZml0LWNvbnRlbnQ7XG59XG5cbi5yZHAtbW9udGhfZ3JpZCB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG59XG5cbi5yZHAtbmF2IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldC1ibG9jay1zdGFydDogMDtcbiAgaW5zZXQtaW5saW5lLWVuZDogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgaGVpZ2h0OiB2YXIoLS1yZHAtbmF2LWhlaWdodCk7XG59XG5cbi5yZHAtd2Vla2RheSB7XG4gIHBhZGRpbmc6IHZhcigtLXJkcC13ZWVrZGF5LXBhZGRpbmcpO1xuICB0ZXh0LWFsaWduOiB2YXIoLS1yZHAtd2Vla2RheS10ZXh0LWFsaWduKTtcbiAgZm9udC1zaXplOiAwLjYyNXJlbTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWJsdWUtZ3JleTQwMCk7XG4gIGhlaWdodDogdmFyKC0tcmRwLWRheS1oZWlnaHQpO1xuICB3aWR0aDogdmFyKC0tcmRwLWRheS13aWR0aCk7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi5yZHAtd2Vla19udW1iZXIge1xuICBvcGFjaXR5OiB2YXIoLS1yZHAtd2Vla19udW1iZXItb3BhY2l0eSk7XG4gIGhlaWdodDogdmFyKC0tcmRwLXdlZWtfbnVtYmVyLWhlaWdodCk7XG4gIHdpZHRoOiB2YXIoLS1yZHAtd2Vla19udW1iZXItd2lkdGgpO1xuICBib3JkZXI6IHZhcigtLXJkcC13ZWVrX251bWJlci1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yZHAtd2Vla19udW1iZXItYm9yZGVyLXJhZGl1cyk7XG4gIHRleHQtYWxpZ246IHZhcigtLXJkcC13ZWVrbnVtYmVyLXRleHQtYWxpZ24pO1xufVxuXG4ucmRwLXRvZGF5Om5vdCgucmRwLW91dHNpZGUpIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuXG4ucmRwLXNlbGVjdGVkIHtcbiAgY29sb3I6IHdoaXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnV0dG9uLWJvcmRlci1yYWRpdXMpO1xufVxuXG4ucmRwLXNlbGVjdGVkLnJkcC1vdXRzaWRlLnJkcC1yYW5nZV9taWRkbGUgLnJkcC1kYXlfYnV0dG9uIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWJsdWUtZ3JleTQwMCk7XG59XG5cbi5yZHAtc2VsZWN0ZWQgLnJkcC1kYXlfYnV0dG9uIHtcbiAgYm9yZGVyOiB2YXIoLS1idXR0b24tYm9yZGVyLXJhZGl1cykgc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG5cbi5yZHAtb3V0c2lkZSB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1ibHVlLWdyZXk0MDApO1xufVxuXG4ucmRwLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogdmFyKC0tcmRwLWRpc2FibGVkLW9wYWNpdHkpO1xufVxuXG4ucmRwLWhpZGRlbiB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgY29sb3I6IHZhcigtLXJkcC1yYW5nZV9zdGFydC1jb2xvcik7XG59XG5cbi5yZHAtcmFuZ2Vfc3RhcnQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1yZHAtcmFuZ2Vfc3RhcnQtYmFja2dyb3VuZCk7XG59XG5cbi5yZHAtcmFuZ2Vfc3RhcnQgLnJkcC1kYXlfYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcmRwLXJhbmdlX3N0YXJ0LWRhdGUtYmFja2dyb3VuZC1jb2xvcik7XG4gIGNvbG9yOiB2YXIoLS1yZHAtcmFuZ2Vfc3RhcnQtY29sb3IpO1xufVxuXG4ucmRwLXJhbmdlX21pZGRsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXJkcC1yYW5nZV9taWRkbGUtYmFja2dyb3VuZC1jb2xvcik7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4ucmRwLXJhbmdlX21pZGRsZTpmb2N1cy12aXNpYmxlIHtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tZm9jdXMtYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5yZHAtcmFuZ2VfbWlkZGxlIC5yZHAtZGF5X2J1dHRvbiB7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiB2YXIoLS1yZHAtcmFuZ2VfbWlkZGxlLWNvbG9yKTtcbn1cblxuLnJkcC1yYW5nZV9lbmQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1yZHAtcmFuZ2VfZW5kLWJhY2tncm91bmQpO1xuICBjb2xvcjogdmFyKC0tcmRwLXJhbmdlX2VuZC1jb2xvcik7XG59XG5cbi5yZHAtcmFuZ2VfZW5kIC5yZHAtZGF5X2J1dHRvbiB7XG4gIGNvbG9yOiB2YXIoLS1yZHAtcmFuZ2Vfc3RhcnQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1yZHAtcmFuZ2VfZW5kLWRhdGUtYmFja2dyb3VuZC1jb2xvcik7XG59XG5cbi5yZHAtcmFuZ2Vfc3RhcnQucmRwLXJhbmdlX2VuZCB7XG4gIGJhY2tncm91bmQ6IHJldmVydDtcbn1cblxuLnJkcC1mb2N1c2FibGUge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59Il19 */'),exports.default={"sr-only":"DatePicker-module_sr-only__KnLIH",hidden:"DatePicker-module_hidden__yV2zd","slide-in":"DatePicker-module_slide-in__uNWGO","slide-out":"DatePicker-module_slide-out__gWqox","rdp-root":"DatePicker-module_rdp-root__w85jJ","rdp-day":"DatePicker-module_rdp-day__xXo-K","rdp-day_button":"DatePicker-module_rdp-day_button__Tn-Zd","rdp-caption_label":"DatePicker-module_rdp-caption_label__hpWX2","rdp-button_next":"DatePicker-module_rdp-button_next__AOdy3","rdp-button_previous":"DatePicker-module_rdp-button_previous__JZVzI","rdp-chevron":"DatePicker-module_rdp-chevron__q6PAe","rdp-nav":"DatePicker-module_rdp-nav__y0rb-","rdp-dropdowns":"DatePicker-module_rdp-dropdowns__fFv9Q","rdp-dropdown":"DatePicker-module_rdp-dropdown__lazMc","rdp-dropdown_root":"DatePicker-module_rdp-dropdown_root__CaXoe","rdp-years_dropdown":"DatePicker-module_rdp-years_dropdown__x8JpD","rdp-month_caption":"DatePicker-module_rdp-month_caption__lHfv9","rdp-months":"DatePicker-module_rdp-months__rRd5i","rdp-month_grid":"DatePicker-module_rdp-month_grid__L60F6","rdp-weekday":"DatePicker-module_rdp-weekday__jnnj2","rdp-week_number":"DatePicker-module_rdp-week_number__2SnHY","rdp-today":"DatePicker-module_rdp-today__JKQcK","rdp-outside":"DatePicker-module_rdp-outside__kVSG4","rdp-selected":"DatePicker-module_rdp-selected__7MpXH","rdp-range_middle":"DatePicker-module_rdp-range_middle__o8QiM","rdp-disabled":"DatePicker-module_rdp-disabled__P7qzQ","rdp-hidden":"DatePicker-module_rdp-hidden__tjsIG","rdp-range_start":"DatePicker-module_rdp-range_start__7XHt-","rdp-range_end":"DatePicker-module_rdp-range_end__FUram","rdp-focusable":"DatePicker-module_rdp-focusable__5xqek"};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});require("../node_modules/style-inject/dist/style-inject.es.cjs.js").default('/*!\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 */.DatePicker-module_sr-only__KnLIH{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.DatePicker-module_hidden__yV2zd{display:none}.DatePicker-module_slide-in__uNWGO{animation:DatePicker-module_slide-in__uNWGO .5s forwards}@media (prefers-reduced-motion:reduce){.DatePicker-module_slide-in__uNWGO{animation-duration:.1ms}}.DatePicker-module_slide-out__gWqox{animation:DatePicker-module_slide-out__gWqox .5s forwards}@media (prefers-reduced-motion:reduce){.DatePicker-module_slide-out__gWqox{animation-duration:.1ms}}@keyframes DatePicker-module_slide-in__uNWGO{0%{transform:translateY(100vh)}to{transform:translateY(0)}}@keyframes DatePicker-module_slide-out__gWqox{0%{transform:translateY(0)}to{transform:translateY(100vh)}}.DatePicker-module_rdp-root__w85jJ{--rdp-day-height:2rem;--rdp-day-width:2rem;--rdp-disabled-opacity:0.5;--rdp-outside-opacity:0.75;--rdp-dropdown-gap:0.5rem;--rdp-months-gap:2rem;--rdp-nav_button-disabled-opacity:0.5;--rdp-nav_button-height:0.75rem;--rdp-nav_button-width:0.75rem;--rdp-nav-height:2.75rem;--rdp-range_middle-background-color:var(--color-blue-grey100);--rdp-range_middle-color:#000;--rdp-range_start-color:var(--color-blue-grey25);--rdp-range_start-background:var(--color-blue-grey500);--rdp-range_start-date-background-color:var(--color-blue-grey500);--rdp-range_end-background:var(--color-blue-grey500);--rdp-range_end-color:var(--color-blue-grey25);--rdp-range_end-date-background-color:var(--color-blue-grey500);--rdp-week_number-border-radius:var(--button-border-radius);--rdp-week_number-border:var(--button-border-radius) solid #0000;--rdp-week_number-height:var(--rdp-day-height);--rdp-week_number-opacity:0.75;--rdp-week_number-width:var(--rdp-day-width);--rdp-weeknumber-text-align:center;--rdp-weekday-padding:0.5rem 0rem;--rdp-weekday-text-align:center;--rdp-gradient-direction:90deg}.DatePicker-module_rdp-root__w85jJ[dir=rtl]{--rdp-gradient-direction:-90deg}.DatePicker-module_rdp-root__w85jJ{box-sizing:border-box;color:var(--default);font-family:var(--font-family);font-size:var(--font-size-sub);font-style:normal;font-variant:normal;font-weight:400;letter-spacing:0;line-height:1rem;margin:0 0 1rem;position:relative;text-transform:none}.DatePicker-module_rdp-root__w85jJ *{box-sizing:border-box}.DatePicker-module_rdp-day__xXo-K{border:none;height:var(--rdp-day-height);padding:0;text-align:center;width:var(--rdp-day-width)}.DatePicker-module_rdp-day_button__Tn-Zd{align-items:center;background:none;border:var(--button-border-radius) solid #0000;border-radius:var(--button-border-radius);color:inherit;cursor:pointer;display:flex;font:inherit;height:var(--rdp-day-height);justify-content:center;margin:0;padding:0;width:var(--rdp-day-width)}.DatePicker-module_rdp-day_button__Tn-Zd:focus-visible{border-radius:var(--focus-border-radius);outline:.125rem solid var(--color-focus);outline-offset:-2px}.DatePicker-module_rdp-day_button__Tn-Zd:disabled{cursor:revert}.DatePicker-module_rdp-caption_label__hpWX2{align-items:center;border:0;display:inline-flex;position:relative;white-space:nowrap;z-index:1}.DatePicker-module_rdp-button_next__AOdy3,.DatePicker-module_rdp-button_previous__JZVzI{align-items:center;appearance:none;background:none;border:none;color:inherit;cursor:pointer;display:inline-flex;font:inherit;height:var(--rdp-nav_button-height);justify-content:center;margin:0;padding:0;position:relative;width:var(--rdp-nav_button-width)}.DatePicker-module_rdp-button_next__AOdy3:focus-visible,.DatePicker-module_rdp-button_previous__JZVzI:focus-visible{border-radius:var(--focus-border-radius);outline:.125rem solid var(--color-focus);outline-offset:2px}.DatePicker-module_rdp-button_previous__JZVzI{margin-right:.5rem}.DatePicker-module_rdp-button_next__AOdy3:disabled,.DatePicker-module_rdp-button_previous__JZVzI:disabled{cursor:revert;opacity:var(--rdp-nav_button-disabled-opacity)}.DatePicker-module_rdp-chevron__q6PAe{fill:var(--color-blue-grey500);display:inline-block}.DatePicker-module_rdp-root__w85jJ[dir=rtl] .DatePicker-module_rdp-nav__y0rb- .DatePicker-module_rdp-chevron__q6PAe{transform:rotate(180deg);transform-origin:50%}.DatePicker-module_rdp-dropdowns__fFv9Q{align-items:center;color:var(--color-blue-grey500);display:inline-flex;font-weight:700;gap:var(--rdp-dropdown-gap);position:relative}.DatePicker-module_rdp-dropdown__lazMc{appearance:none;border:none;cursor:inherit;inset-block-end:0;inset-block-start:0;inset-inline-start:0;line-height:inherit;margin:0;opacity:0;padding:0;position:absolute;width:100%;z-index:2}.DatePicker-module_rdp-dropdown_root__CaXoe{align-items:center;display:inline-flex;position:relative}.DatePicker-module_rdp-years_dropdown__x8JpD:focus-visible+.DatePicker-module_rdp-caption_label__hpWX2 .DatePicker-module_rdp-chevron__q6PAe{border-radius:var(--focus-border-radius);outline:.125rem solid var(--color-focus);outline-offset:0}.DatePicker-module_rdp-years_dropdown__x8JpD+.DatePicker-module_rdp-caption_label__hpWX2 .DatePicker-module_rdp-chevron__q6PAe{margin-left:.25rem;width:.875rem}.DatePicker-module_rdp-dropdown_root__CaXoe[data-disabled=true] .DatePicker-module_rdp-chevron__q6PAe{opacity:var(--rdp-disabled-opacity)}.DatePicker-module_rdp-month_caption__lHfv9{align-content:center;display:flex;height:var(--rdp-nav-height)}.DatePicker-module_rdp-months__rRd5i{display:flex;flex-wrap:wrap;gap:var(--rdp-months-gap);max-width:fit-content;position:relative}.DatePicker-module_rdp-month_grid__L60F6{border-collapse:collapse}.DatePicker-module_rdp-nav__y0rb-{align-items:center;display:flex;height:var(--rdp-nav-height);inset-block-start:0;inset-inline-end:0;position:absolute}.DatePicker-module_rdp-weekday__jnnj2{color:var(--color-blue-grey400);font-size:.625rem;font-weight:400;height:var(--rdp-day-height);padding:var(--rdp-weekday-padding);text-align:var(--rdp-weekday-text-align);width:var(--rdp-day-width)}.DatePicker-module_rdp-week_number__2SnHY{border:var(--rdp-week_number-border);border-radius:var(--rdp-week_number-border-radius);height:var(--rdp-week_number-height);opacity:var(--rdp-week_number-opacity);text-align:var(--rdp-weeknumber-text-align);width:var(--rdp-week_number-width)}.DatePicker-module_rdp-today__JKQcK:not(.DatePicker-module_rdp-outside__kVSG4){position:relative}.DatePicker-module_rdp-today__JKQcK:not(.DatePicker-module_rdp-outside__kVSG4):after{background-color:var(--color-blue-grey900);border-radius:.5rem;content:"";height:.25rem;left:calc(50% - .125rem);position:absolute;top:67%;width:.25rem}.DatePicker-module_rdp-today__JKQcK:not(.DatePicker-module_rdp-outside__kVSG4).DatePicker-module_rdp-range_end__FUram:after,.DatePicker-module_rdp-today__JKQcK:not(.DatePicker-module_rdp-outside__kVSG4).DatePicker-module_rdp-range_start__7XHt-:after{background-color:var(--color-blue-grey25)}.DatePicker-module_rdp-selected__7MpXH{background-color:var(--color-primary);border-radius:var(--button-border-radius);color:#fff}.DatePicker-module_rdp-selected__7MpXH.DatePicker-module_rdp-outside__kVSG4.DatePicker-module_rdp-range_middle__o8QiM .DatePicker-module_rdp-day_button__Tn-Zd{color:var(--color-blue-grey400)}.DatePicker-module_rdp-selected__7MpXH .DatePicker-module_rdp-day_button__Tn-Zd{border:var(--button-border-radius) solid var(--color-blue-grey500)}.DatePicker-module_rdp-outside__kVSG4{color:var(--color-blue-grey400)}.DatePicker-module_rdp-disabled__P7qzQ{opacity:var(--rdp-disabled-opacity)}.DatePicker-module_rdp-hidden__tjsIG{color:var(--rdp-range_start-color);visibility:hidden}.DatePicker-module_rdp-range_start__7XHt-{background:var(--rdp-range_start-background)}.DatePicker-module_rdp-range_start__7XHt- .DatePicker-module_rdp-day_button__Tn-Zd{background-color:var(--rdp-range_start-date-background-color);color:var(--rdp-range_start-color)}.DatePicker-module_rdp-range_middle__o8QiM{background-color:var(--rdp-range_middle-background-color);border-radius:0}.DatePicker-module_rdp-range_middle__o8QiM:focus-visible{border-radius:var(--focus-border-radius)}.DatePicker-module_rdp-range_middle__o8QiM .DatePicker-module_rdp-day_button__Tn-Zd{border-color:#0000;color:var(--rdp-range_middle-color)}.DatePicker-module_rdp-range_end__FUram{background:var(--rdp-range_end-background);color:var(--rdp-range_end-color)}.DatePicker-module_rdp-range_end__FUram .DatePicker-module_rdp-day_button__Tn-Zd{background-color:var(--rdp-range_end-date-background-color);color:var(--rdp-range_start-color)}.DatePicker-module_rdp-range_start__7XHt-.DatePicker-module_rdp-range_end__FUram{background:revert}.DatePicker-module_rdp-focusable__5xqek{cursor:pointer}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkRhdGVQaWNrZXIubW9kdWxlLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBb0JBOzs7Ozs7Ozs7Ozs7OztFQWNFO0FBQ0Y7Ozs7Ozs7Ozs7Ozs7O0VBY0U7QUFDRjs7Ozs7Ozs7Ozs7Ozs7RUFjRSxDQUNGLGtDQU9FLGtCQUFzQixDQUN0QixRQUFTLENBTFQsVUFBVyxDQUVYLFdBQVksQ0FDWixlQUFnQixDQUZoQixTQUFVLENBSFYsaUJBQWtCLENBQ2xCLFNBT0YsQ0FFQSxpQ0FDRSxZQUNGLENBRUEsbUNBQ0Usd0RBQ0YsQ0FDQSx1Q0FDRSxtQ0FDRSx1QkFDRixDQUNGLENBRUEsb0NBQ0UseURBQ0YsQ0FDQSx1Q0FDRSxvQ0FDRSx1QkFDRixDQUNGLENBRUEsNkNBQ0UsR0FDRSwyQkFDRixDQUNBLEdBQ0UsdUJBQ0YsQ0FDRixDQUNBLDhDQUNFLEdBQ0UsdUJBQ0YsQ0FDQSxHQUNFLDJCQUNGLENBQ0YsQ0FDQSxtQ0FDRSxxQkFBc0IsQ0FDdEIsb0JBQXFCLENBQ3JCLDBCQUEyQixDQUMzQiwwQkFBMkIsQ0FDM0IseUJBQTBCLENBQzFCLHFCQUFzQixDQUN0QixxQ0FBc0MsQ0FDdEMsK0JBQWdDLENBQ2hDLDhCQUErQixDQUMvQix3QkFBeUIsQ0FDekIsNkRBQThELENBQzlELDZCQUErQixDQUMvQixnREFBaUQsQ0FDakQsc0RBQXVELENBQ3ZELGlFQUFrRSxDQUNsRSxvREFBcUQsQ0FDckQsOENBQStDLENBQy9DLCtEQUFnRSxDQUNoRSwyREFBNEQsQ0FDNUQsZ0VBQXVFLENBQ3ZFLDhDQUErQyxDQUMvQyw4QkFBK0IsQ0FDL0IsNENBQTZDLENBQzdDLGtDQUFtQyxDQUNuQyxpQ0FBa0MsQ0FDbEMsK0JBQWdDLENBQ2hDLDhCQUNGLENBRUEsNENBQ0UsK0JBQ0YsQ0FFQSxtQ0FFRSxxQkFBc0IsQ0FTdEIsb0JBQXFCLENBUnJCLDhCQUErQixDQUMvQiw4QkFBK0IsQ0FDL0IsaUJBQWtCLENBQ2xCLG1CQUFvQixDQUVwQixlQUFnQixDQUVo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Q0YsQ0FFQSwyQ0FDRSx5REFBMEQsQ0FDMUQsZUFDRixDQUNBLHlEQUNFLHdDQUNGLENBRUEsb0ZBQ0Usa0JBQXlCLENBQ3pCLG1DQUNGLENBRUEsd0NBQ0UsMENBQTJDLENBQzNDLGdDQUNGLENBRUEsaUZBRUUsMkRBQTRELENBRDVELGtDQUVGLENBRUEsaUZBQ0UsaUJBQ0YsQ0FFQSx3Q0FDRSxjQUNGIiwiZmlsZSI6IkRhdGVQaWNrZXIubW9kdWxlLnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMjIgT25lV2VsY29tZSBCLlYuXG4gKlxuICogICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqICAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqICAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiAgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiAgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqICAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vKlxuICBUaG9zZSBzdHlsZXMgd2VyZSBvcmlnaW5hbGx5IHRha2VuIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL2dwYmwvcmVhY3QtZGF5LXBpY2tlci9ibG9iL21haW4vc3JjL3N0eWxlLmNzcy5cbiAgU29tZSB3aGVyZSB1cGRhdGVkIGFzIHBlciBkZXNpZ24sIHRvIG1hdGNoIHRoZSBzaW5nbGUgc2VsZWN0IG1vZGUuIFRoZSByZXN0IGlzIGtlcHQgaW50YWN0IGluIHRoZSBmaWxlIHRvIHNpbXBsaWZ5IHRoZVxuICBzdHlsaW5nIG9mIHRoZSB1cGNvbWluZyBmZWF0dXJlcy5cbiAqL1xuLyohXG4gKiBDb3B5cmlnaHQgMjAyMiBPbmVXZWxjb21lIEIuVi5cbiAqXG4gKiAgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogICAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqICAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qIVxuICogQ29weXJpZ2h0IDIwMjIgT25lV2VsY29tZSBCLlYuXG4gKlxuICogICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqICAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqICAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiAgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiAgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqICAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vKiFcbiAqIENvcHlyaWdodCAyMDIyIE9uZVdlbGNvbWUgQi5WLlxuICpcbiAqICAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiAgICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiAgICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiAgICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiAgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLnNyLW9ubHkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIGJvcmRlcjogMDtcbn1cblxuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5zbGlkZS1pbiB7XG4gIGFuaW1hdGlvbjogc2xpZGUtaW4gMC41cyBmb3J3YXJkcztcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5zbGlkZS1pbiB7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjFtcztcbiAgfVxufVxuXG4uc2xpZGUtb3V0IHtcbiAgYW5pbWF0aW9uOiBzbGlkZS1vdXQgMC41cyBmb3J3YXJkcztcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5zbGlkZS1vdXQge1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4xbXM7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZS1pbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwdmgpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgc2xpZGUtb3V0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMHZoKTtcbiAgfVxufVxuLnJkcC1yb290IHtcbiAgLS1yZHAtZGF5LWhlaWdodDogMnJlbTtcbiAgLS1yZHAtZGF5LXdpZHRoOiAycmVtO1xuICAtLXJkcC1kaXNhYmxlZC1vcGFjaXR5OiAwLjU7XG4gIC0tcmRwLW91dHNpZGUtb3BhY2l0eTogMC43NTtcbiAgLS1yZHAtZHJvcGRvd24tZ2FwOiAwLjVyZW07XG4gIC0tcmRwLW1vbnRocy1nYXA6IDJyZW07XG4gIC0tcmRwLW5hdl9idXR0b24tZGlzYWJsZWQtb3BhY2l0eTogMC41O1xuICAtLXJkcC1uYXZfYnV0dG9uLWhlaWdodDogMC43NXJlbTtcbiAgLS1yZHAtbmF2X2J1dHRvbi13aWR0aDogMC43NXJlbTtcbiAgLS1yZHAtbmF2LWhlaWdodDogMi43NXJlbTtcbiAgLS1yZHAtcmFuZ2VfbWlkZGxlLWJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJsdWUtZ3JleTEwMCk7XG4gIC0tcmRwLXJhbmdlX21pZGRsZS1jb2xvcjogYmxhY2s7XG4gIC0tcmRwLXJhbmdlX3N0YXJ0LWNvbG9yOiB2YXIoLS1jb2xvci1ibHVlLWdyZXkyNSk7XG4gIC0tcmRwLXJhbmdlX3N0YXJ0LWJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJsdWUtZ3JleTUwMCk7XG4gIC0tcmRwLXJhbmdlX3N0YXJ0LWRhdGUtYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmx1ZS1ncmV5NTAwKTtcbiAgLS1yZHAtcmFuZ2VfZW5kLWJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJsdWUtZ3JleTUwMCk7XG4gIC0tcmRwLXJhbmdlX2VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmx1ZS1ncmV5MjUpO1xuICAtLXJkcC1yYW5nZV9lbmQtZGF0ZS1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ibHVlLWdyZXk1MDApO1xuICAtLXJkcC13ZWVrX251bWJlci1ib3JkZXItcmFkaXVzOiB2YXIoLS1idXR0b24tYm9yZGVyLXJhZGl1cyk7XG4gIC0tcmRwLXdlZWtfbnVtYmVyLWJvcmRlcjogdmFyKC0tYnV0dG9uLWJvcmRlci1yYWRpdXMpIHNvbGlkIHRyYW5zcGFyZW50O1xuICAtLXJkcC13ZWVrX251bWJlci1oZWlnaHQ6IHZhcigtLXJkcC1kYXktaGVpZ2h0KTtcbiAgLS1yZHAtd2Vla19udW1iZXItb3BhY2l0eTogMC43NTtcbiAgLS1yZHAtd2Vla19udW1iZXItd2lkdGg6IHZhcigtLXJkcC1kYXktd2lkdGgpO1xuICAtLXJkcC13ZWVrbnVtYmVyLXRleHQtYWxpZ246IGNlbnRlcjtcbiAgLS1yZHAtd2Vla2RheS1wYWRkaW5nOiAwLjVyZW0gMHJlbTtcbiAgLS1yZHAtd2Vla2RheS10ZXh0LWFsaWduOiBjZW50ZXI7XG4gIC0tcmRwLWdyYWRpZW50LWRpcmVjdGlvbjogOTBkZWc7XG59XG5cbi5yZHAtcm9vdFtkaXI9cnRsXSB7XG4gIC0tcmRwLWdyYWRpZW50LWRpcmVjdGlvbjogLTkwZGVnO1xufVxuXG4ucmRwLXJvb3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseSk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXN1Yik7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIGNvbG9yOiB2YXIoLS1kZWZhdWx0KTtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xufVxuXG4ucmRwLXJvb3QgKiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5yZHAtZGF5IHtcbiAgd2lkdGg6IHZhcigtLXJkcC1kYXktd2lkdGgpO1xuICBoZWlnaHQ6IHZhcigtLXJkcC1kYXktaGVpZ2h0KTtcbiAgYm9yZGVyOiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5yZHAtZGF5X2J1dHRvbiB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiB2YXIoLS1yZHAtZGF5LXdpZHRoKTtcbiAgaGVpZ2h0OiB2YXIoLS1yZHAtZGF5LWhlaWdodCk7XG4gIGJvcmRlcjogdmFyKC0tYnV0dG9uLWJvcmRlci1yYWRpdXMpIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1idXR0b24tYm9yZGVyLXJhZGl1cyk7XG59XG4ucmRwLWRheV9idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gIG91dGxpbmU6IDAuMTI1cmVtIHNvbGlkIHZhcigtLWNvbG9yLWZvY3VzKTtcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWZvY3VzLWJvcmRlci1yYWRpdXMpO1xufVxuXG4ucmRwLWRheV9idXR0b246ZGlzYWJsZWQge1xuICBjdXJzb3I6IHJldmVydDtcbn1cblxuLnJkcC1jYXB0aW9uX2xhYmVsIHtcbiAgei1pbmRleDogMTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYm9yZGVyOiAwO1xufVxuXG4ucmRwLWJ1dHRvbl9uZXh0LFxuLnJkcC1idXR0b25fcHJldmlvdXMge1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIHdpZHRoOiB2YXIoLS1yZHAtbmF2X2J1dHRvbi13aWR0aCk7XG4gIGhlaWdodDogdmFyKC0tcmRwLW5hdl9idXR0b24taGVpZ2h0KTtcbn1cbi5yZHAtYnV0dG9uX25leHQ6Zm9jdXMtdmlzaWJsZSxcbi5yZHAtYnV0dG9uX3ByZXZpb3VzOmZvY3VzLXZpc2libGUge1xuICBvdXRsaW5lOiAwLjEyNXJlbSBzb2xpZCB2YXIoLS1jb2xvci1mb2N1cyk7XG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWZvY3VzLWJvcmRlci1yYWRpdXMpO1xufVxuXG4ucmRwLWJ1dHRvbl9wcmV2aW91cyB7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xufVxuXG4ucmRwLWJ1dHRvbl9uZXh0OmRpc2FibGVkLFxuLnJkcC1idXR0b25fcHJldmlvdXM6ZGlzYWJsZWQge1xuICBjdXJzb3I6IHJldmVydDtcbiAgb3BhY2l0eTogdmFyKC0tcmRwLW5hdl9idXR0b24tZGlzYWJsZWQtb3BhY2l0eSk7XG59XG5cbi5yZHAtY2hldnJvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZmlsbDogdmFyKC0tY29sb3ItYmx1ZS1ncmV5NTAwKTtcbn1cblxuLnJkcC1yb290W2Rpcj1ydGxdIC5yZHAtbmF2IC5yZHAtY2hldnJvbiB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG59XG5cbi5yZHAtcm9vdFtkaXI9cnRsXSAucmRwLW5hdiAucmRwLWNoZXZyb24ge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCU7XG59XG5cbi5yZHAtZHJvcGRvd25zIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1yZHAtZHJvcGRvd24tZ2FwKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWJsdWUtZ3JleTUwMCk7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5yZHAtZHJvcGRvd24ge1xuICB6LWluZGV4OiAyO1xuICAvKiBSZXNldCAqL1xuICBvcGFjaXR5OiAwO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0LWJsb2NrLXN0YXJ0OiAwO1xuICBpbnNldC1ibG9jay1lbmQ6IDA7XG4gIGluc2V0LWlubGluZS1zdGFydDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgY3Vyc29yOiBpbmhlcml0O1xuICBib3JkZXI6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG4ucmRwLWRyb3Bkb3duX3Jvb3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ucmRwLXllYXJzX2Ryb3Bkb3duOmZvY3VzLXZpc2libGUgKyAucmRwLWNhcHRpb25fbGFiZWwgLnJkcC1jaGV2cm9uIHtcbiAgb3V0bGluZTogMC4xMjVyZW0gc29saWQgdmFyKC0tY29sb3ItZm9jdXMpO1xuICBvdXRsaW5lLW9mZnNldDogMDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tZm9jdXMtYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5yZHAteWVhcnNfZHJvcGRvd24gKyAucmRwLWNhcHRpb25fbGFiZWwgLnJkcC1jaGV2cm9uIHtcbiAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07XG4gIHdpZHRoOiAwLjg3NXJlbTtcbn1cblxuLnJkcC1kcm9wZG93bl9yb290W2RhdGEtZGlzYWJsZWQ9dHJ1ZV0gLnJkcC1jaGV2cm9uIHtcbiAgb3BhY2l0eTogdmFyKC0tcmRwLWRpc2FibGVkLW9wYWNpdHkpO1xufVxuXG4ucmRwLW1vbnRoX2NhcHRpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIGhlaWdodDogdmFyKC0tcmRwLW5hdi1oZWlnaHQpO1xufVxuXG4ucmRwLW1vbnRocyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IHZhcigtLXJkcC1tb250aHMtZ2FwKTtcbiAgbWF4LXdpZHRoOiBmaXQtY29udGVudDtcbn1cblxuLnJkcC1tb250aF9ncmlkIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbn1cblxuLnJkcC1uYXYge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0LWJsb2NrLXN0YXJ0OiAwO1xuICBpbnNldC1pbmxpbmUtZW5kOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IHZhcigtLXJkcC1uYXYtaGVpZ2h0KTtcbn1cblxuLnJkcC13ZWVrZGF5IHtcbiAgcGFkZGluZzogdmFyKC0tcmRwLXdlZWtkYXktcGFkZGluZyk7XG4gIHRleHQtYWxpZ246IHZhcigtLXJkcC13ZWVrZGF5LXRleHQtYWxpZ24pO1xuICBmb250LXNpemU6IDAuNjI1cmVtO1xuICBjb2xvcjogdmFyKC0tY29sb3ItYmx1ZS1ncmV5NDAwKTtcbiAgaGVpZ2h0OiB2YXIoLS1yZHAtZGF5LWhlaWdodCk7XG4gIHdpZHRoOiB2YXIoLS1yZHAtZGF5LXdpZHRoKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLnJkcC13ZWVrX251bWJlciB7XG4gIG9wYWNpdHk6IHZhcigtLXJkcC13ZWVrX251bWJlci1vcGFjaXR5KTtcbiAgaGVpZ2h0OiB2YXIoLS1yZHAtd2Vla19udW1iZXItaGVpZ2h0KTtcbiAgd2lkdGg6IHZhcigtLXJkcC13ZWVrX251bWJlci13aWR0aCk7XG4gIGJvcmRlcjogdmFyKC0tcmRwLXdlZWtfbnVtYmVyLWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJkcC13ZWVrX251bWJlci1ib3JkZXItcmFkaXVzKTtcbiAgdGV4dC1hbGlnbjogdmFyKC0tcmRwLXdlZWtudW1iZXItdGV4dC1hbGlnbik7XG59XG5cbi5yZHAtdG9kYXk6bm90KC5yZHAtb3V0c2lkZSkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ucmRwLXRvZGF5Om5vdCgucmRwLW91dHNpZGUpOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA2NyU7XG4gIGxlZnQ6IGNhbGMoNTAlIC0gMC4xMjVyZW0pO1xuICB3aWR0aDogMC4yNXJlbTtcbiAgaGVpZ2h0OiAwLjI1cmVtO1xuICBib3JkZXItcmFkaXVzOiAwLjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJsdWUtZ3JleTkwMCk7XG59XG4ucmRwLXRvZGF5Om5vdCgucmRwLW91dHNpZGUpLnJkcC1yYW5nZV9lbmQ6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmx1ZS1ncmV5MjUpO1xufVxuLnJkcC10b2RheTpub3QoLnJkcC1vdXRzaWRlKS5yZHAtcmFuZ2Vfc3RhcnQ6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmx1ZS1ncmV5MjUpO1xufVxuXG4ucmRwLXNlbGVjdGVkIHtcbiAgY29sb3I6IHdoaXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnV0dG9uLWJvcmRlci1yYWRpdXMpO1xufVxuXG4ucmRwLXNlbGVjdGVkLnJkcC1vdXRzaWRlLnJkcC1yYW5nZV9taWRkbGUgLnJkcC1kYXlfYnV0dG9uIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWJsdWUtZ3JleTQwMCk7XG59XG5cbi5yZHAtc2VsZWN0ZWQgLnJkcC1kYXlfYnV0dG9uIHtcbiAgYm9yZGVyOiB2YXIoLS1idXR0b24tYm9yZGVyLXJhZGl1cykgc29saWQgdmFyKC0tY29sb3ItYmx1ZS1ncmV5NTAwKTtcbn1cblxuLnJkcC1vdXRzaWRlIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWJsdWUtZ3JleTQwMCk7XG59XG5cbi5yZHAtZGlzYWJsZWQge1xuICBvcGFjaXR5OiB2YXIoLS1yZHAtZGlzYWJsZWQtb3BhY2l0eSk7XG59XG5cbi5yZHAtaGlkZGVuIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBjb2xvcjogdmFyKC0tcmRwLXJhbmdlX3N0YXJ0LWNvbG9yKTtcbn1cblxuLnJkcC1yYW5nZV9zdGFydCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXJkcC1yYW5nZV9zdGFydC1iYWNrZ3JvdW5kKTtcbn1cblxuLnJkcC1yYW5nZV9zdGFydCAucmRwLWRheV9idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1yZHAtcmFuZ2Vfc3RhcnQtZGF0ZS1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgY29sb3I6IHZhcigtLXJkcC1yYW5nZV9zdGFydC1jb2xvcik7XG59XG5cbi5yZHAtcmFuZ2VfbWlkZGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcmRwLXJhbmdlX21pZGRsZS1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbi5yZHAtcmFuZ2VfbWlkZGxlOmZvY3VzLXZpc2libGUge1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1mb2N1cy1ib3JkZXItcmFkaXVzKTtcbn1cblxuLnJkcC1yYW5nZV9taWRkbGUgLnJkcC1kYXlfYnV0dG9uIHtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHZhcigtLXJkcC1yYW5nZV9taWRkbGUtY29sb3IpO1xufVxuXG4ucmRwLXJhbmdlX2VuZCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXJkcC1yYW5nZV9lbmQtYmFja2dyb3VuZCk7XG4gIGNvbG9yOiB2YXIoLS1yZHAtcmFuZ2VfZW5kLWNvbG9yKTtcbn1cblxuLnJkcC1yYW5nZV9lbmQgLnJkcC1kYXlfYnV0dG9uIHtcbiAgY29sb3I6IHZhcigtLXJkcC1yYW5nZV9zdGFydC1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXJkcC1yYW5nZV9lbmQtZGF0ZS1iYWNrZ3JvdW5kLWNvbG9yKTtcbn1cblxuLnJkcC1yYW5nZV9zdGFydC5yZHAtcmFuZ2VfZW5kIHtcbiAgYmFja2dyb3VuZDogcmV2ZXJ0O1xufVxuXG4ucmRwLWZvY3VzYWJsZSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn0iXX0= */'),exports.default={"sr-only":"DatePicker-module_sr-only__KnLIH",hidden:"DatePicker-module_hidden__yV2zd","slide-in":"DatePicker-module_slide-in__uNWGO","slide-out":"DatePicker-module_slide-out__gWqox","rdp-root":"DatePicker-module_rdp-root__w85jJ","rdp-day":"DatePicker-module_rdp-day__xXo-K","rdp-day_button":"DatePicker-module_rdp-day_button__Tn-Zd","rdp-caption_label":"DatePicker-module_rdp-caption_label__hpWX2","rdp-button_next":"DatePicker-module_rdp-button_next__AOdy3","rdp-button_previous":"DatePicker-module_rdp-button_previous__JZVzI","rdp-chevron":"DatePicker-module_rdp-chevron__q6PAe","rdp-nav":"DatePicker-module_rdp-nav__y0rb-","rdp-dropdowns":"DatePicker-module_rdp-dropdowns__fFv9Q","rdp-dropdown":"DatePicker-module_rdp-dropdown__lazMc","rdp-dropdown_root":"DatePicker-module_rdp-dropdown_root__CaXoe","rdp-years_dropdown":"DatePicker-module_rdp-years_dropdown__x8JpD","rdp-month_caption":"DatePicker-module_rdp-month_caption__lHfv9","rdp-months":"DatePicker-module_rdp-months__rRd5i","rdp-month_grid":"DatePicker-module_rdp-month_grid__L60F6","rdp-weekday":"DatePicker-module_rdp-weekday__jnnj2","rdp-week_number":"DatePicker-module_rdp-week_number__2SnHY","rdp-today":"DatePicker-module_rdp-today__JKQcK","rdp-outside":"DatePicker-module_rdp-outside__kVSG4","rdp-range_end":"DatePicker-module_rdp-range_end__FUram","rdp-range_start":"DatePicker-module_rdp-range_start__7XHt-","rdp-selected":"DatePicker-module_rdp-selected__7MpXH","rdp-range_middle":"DatePicker-module_rdp-range_middle__o8QiM","rdp-disabled":"DatePicker-module_rdp-disabled__P7qzQ","rdp-hidden":"DatePicker-module_rdp-hidden__tjsIG","rdp-focusable":"DatePicker-module_rdp-focusable__5xqek"};
2
2
  //# sourceMappingURL=DatePicker.module.scss.cjs.js.map
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("react"),r=require("./FormGroup.module.scss.cjs.js"),a=require("../FormHelperText/FormHelperText.cjs.js"),s=require("../../Icon/Icon.cjs.js");const l=e.forwardRef((({children:l,className:o,error:c,errorMessage:t,errorId:d,errorMessageIcon:n,errorMessageIconPosition:i="before",helperText:m,helperId:u,helperProps:f,disabled:p,...N},v)=>{const I=void 0!==(null==f?void 0:f.disabled)?null==f?void 0:f.disabled:p;return e.createElement("div",{...N,ref:v,className:`${r.default["form-group"]} ${null!=o?o:""}`},l,(m||t&&c)&&e.createElement("div",{className:`${r.default["default-helper"]} ${(null==f?void 0:f.className)?f.className:""}`},(m&&!c||m&&c&&!t)&&e.createElement(a.FormHelperText,{...f,className:"",id:u,disabled:I},(null==f?void 0:f.children)||m),c&&t&&e.createElement("span",{className:r.default["error-message"]},e.createElement("span",{id:d,className:r.default.message},n&&"before"===i&&e.createElement(s.Icon,{className:`${r.default["error-icon"]} ${r.default["error-icon-before"]}`,icon:n}),t,n&&"after"===i&&e.createElement(s.Icon,{className:`${r.default["error-icon"]} ${r.default["error-icon-after"]}`,icon:n})))))}));exports.FormGroup=l;
1
+ "use strict";var e=require("react"),r=require("./FormGroup.module.scss.cjs.js"),s=require("../FormHelperText/FormHelperText.cjs.js"),a=require("../../Icon/Icon.cjs.js");const l=e.forwardRef((({children:l,className:o,error:c,errorMessage:t,errorId:d,errorMessageIcon:n,errorMessageIconPosition:i="before",errorMessageProps:m,helperText:u,helperId:f,helperProps:p,disabled:N,...$},v)=>{const I=void 0!==(null==p?void 0:p.disabled)?null==p?void 0:p.disabled:N;return e.createElement("div",{...$,ref:v,className:`${r.default["form-group"]} ${null!=o?o:""}`},l,(u||t&&c)&&e.createElement("div",{className:`${r.default["default-helper"]} ${(null==p?void 0:p.className)?p.className:""}`},(u&&!c||u&&c&&!t)&&e.createElement(s.FormHelperText,{...p,className:"",id:f,disabled:I},(null==p?void 0:p.children)||u),c&&t&&e.createElement("span",{...m,className:`${r.default["error-message"]} ${(null==m?void 0:m.className)?m.className:""}`},e.createElement("span",{id:d,className:r.default.message},n&&"before"===i&&e.createElement(a.Icon,{className:`${r.default["error-icon"]} ${r.default["error-icon-before"]}`,icon:n}),t,n&&"after"===i&&e.createElement(a.Icon,{className:`${r.default["error-icon"]} ${r.default["error-icon-after"]}`,icon:n})))))}));exports.FormGroup=l;
2
2
  //# sourceMappingURL=FormGroup.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FormGroup.cjs.js","sources":["../../../../../../src/components/Form/FormGroup/FormGroup.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\n/** The empty className property on FormHelperText is on purpose! We want to basically \"filter\" out the className from helperProps because we're adding this to the surrounding div. This makes it so also the errormessage receives this styling. */\n\nimport React, { ForwardRefRenderFunction, ComponentPropsWithRef, ReactElement } from \"react\";\nimport classes from \"./FormGroup.module.scss\";\nimport { FormHelperText, Props as HelperProps } from \"../FormHelperText/FormHelperText\";\nimport { Icon, Icons } from \"../../Icon/Icon\";\n\nexport interface Props extends ComponentPropsWithRef<\"div\"> {\n children: ReactElement[] | ReactElement | string | number[] | number;\n error?: boolean;\n errorMessageIcon?: Icons;\n errorMessageIconPosition?: \"before\" | \"after\";\n errorMessage?: string;\n errorId?: string;\n helperText?: string;\n helperId?: string;\n helperProps?: HelperProps;\n disabled?: boolean;\n}\n\nconst FormGroupComponent: ForwardRefRenderFunction<HTMLDivElement, Props> = (\n {\n children,\n className,\n error,\n errorMessage,\n errorId,\n errorMessageIcon,\n errorMessageIconPosition = \"before\",\n helperText,\n helperId,\n helperProps,\n disabled,\n ...rest\n }: Props,\n ref\n) => {\n const disableHelperText = helperProps?.disabled !== undefined ? helperProps?.disabled : disabled;\n\n return (\n <div {...rest} ref={ref} className={`${classes[\"form-group\"]} ${className ?? \"\"}`}>\n {children}\n\n {(helperText || (errorMessage && error)) && (\n <div\n className={`${classes[\"default-helper\"]} ${\n helperProps?.className ? helperProps.className : \"\"\n }`}\n >\n {((helperText && !error) || (helperText && error && !errorMessage)) && (\n <FormHelperText\n {...helperProps}\n className={\"\"}\n id={helperId}\n disabled={disableHelperText}\n >\n {helperProps?.children || helperText}\n </FormHelperText>\n )}\n {error && errorMessage && (\n <span className={classes[\"error-message\"]}>\n <span id={errorId} className={classes.message}>\n {errorMessageIcon && errorMessageIconPosition === \"before\" && (\n <Icon\n className={`${classes[\"error-icon\"]} ${classes[\"error-icon-before\"]}`}\n icon={errorMessageIcon}\n />\n )}\n {errorMessage}\n {errorMessageIcon && errorMessageIconPosition === \"after\" && (\n <Icon\n className={`${classes[\"error-icon\"]} ${classes[\"error-icon-after\"]}`}\n icon={errorMessageIcon}\n />\n )}\n </span>\n </span>\n )}\n </div>\n )}\n </div>\n );\n};\n\nexport const FormGroup = React.forwardRef(FormGroupComponent);\n"],"names":["FormGroup","React","forwardRef","children","className","error","errorMessage","errorId","errorMessageIcon","errorMessageIconPosition","helperText","helperId","helperProps","disabled","rest","ref","disableHelperText","undefined","classes","default","createElement","FormHelperText","id","message","Icon","icon"],"mappings":"yKAoCA,MAgEaA,EAAYC,EAAMC,YAhE6C,EAExEC,WACAC,YACAC,QACAC,eACAC,UACAC,mBACAC,2BAA2B,SAC3BC,aACAC,WACAC,cACAC,cACGC,GAELC,KAEA,MAAMC,OAA8CC,KAA1BL,aAAW,EAAXA,EAAaC,UAAyBD,aAAA,EAAAA,EAAaC,SAAWA,EAExF,OACEZ,0BAASa,EAAMC,IAAKA,EAAKX,UAAW,GAAGc,EAAAA,QAAQ,iBAAiBd,QAAAA,EAAa,MAC1ED,GAECO,GAAeJ,GAAgBD,IAC/BJ,uBACEG,UAAW,GAAGc,EAAOC,QAAC,sBACpBP,aAAA,EAAAA,EAAaR,WAAYQ,EAAYR,UAAY,OAGhDM,IAAeL,GAAWK,GAAcL,IAAUC,IACnDL,EAAAmB,cAACC,EAAAA,eAAc,IACTT,EACJR,UAAW,GACXkB,GAAIX,EACJE,SAAUG,IAETJ,aAAA,EAAAA,EAAaT,WAAYO,GAG7BL,GAASC,GACRL,EAAAmB,cAAA,OAAA,CAAMhB,UAAWc,UAAQ,kBACvBjB,EAAMmB,cAAA,OAAA,CAAAE,GAAIf,EAASH,UAAWc,EAAOC,QAACI,SACnCf,GAAiD,WAA7BC,GACnBR,EAAAmB,cAACI,OAAI,CACHpB,UAAW,GAAGc,EAAAA,QAAQ,iBAAiBA,EAAAA,QAAQ,uBAC/CO,KAAMjB,IAGTF,EACAE,GAAiD,UAA7BC,GACnBR,EAAAmB,cAACI,EAAIA,KAAA,CACHpB,UAAW,GAAGc,EAAAA,QAAQ,iBAAiBA,UAAQ,sBAC/CO,KAAMjB,OAStB"}
1
+ {"version":3,"file":"FormGroup.cjs.js","sources":["../../../../../../src/components/Form/FormGroup/FormGroup.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\n/** The empty className property on FormHelperText is on purpose! We want to basically \"filter\" out the className from helperProps because we're adding this to the surrounding div. This makes it so also the errormessage receives this styling. */\n\nimport React, { ForwardRefRenderFunction, ComponentPropsWithRef, ReactElement } from \"react\";\nimport classes from \"./FormGroup.module.scss\";\nimport { FormHelperText, Props as HelperProps } from \"../FormHelperText/FormHelperText\";\nimport { Icon, Icons } from \"../../Icon/Icon\";\n\nexport interface Props extends ComponentPropsWithRef<\"div\"> {\n children: ReactElement[] | ReactElement | string | number[] | number;\n error?: boolean;\n errorMessageIcon?: Icons;\n errorMessageIconPosition?: \"before\" | \"after\";\n errorMessage?: string;\n errorId?: string;\n errorMessageProps?: ComponentPropsWithRef<\"span\">;\n helperText?: string;\n helperId?: string;\n helperProps?: HelperProps;\n disabled?: boolean;\n}\n\nconst FormGroupComponent: ForwardRefRenderFunction<HTMLDivElement, Props> = (\n {\n children,\n className,\n error,\n errorMessage,\n errorId,\n errorMessageIcon,\n errorMessageIconPosition = \"before\",\n errorMessageProps,\n helperText,\n helperId,\n helperProps,\n disabled,\n ...rest\n }: Props,\n ref\n) => {\n const disableHelperText = helperProps?.disabled !== undefined ? helperProps?.disabled : disabled;\n\n return (\n <div {...rest} ref={ref} className={`${classes[\"form-group\"]} ${className ?? \"\"}`}>\n {children}\n\n {(helperText || (errorMessage && error)) && (\n <div\n className={`${classes[\"default-helper\"]} ${\n helperProps?.className ? helperProps.className : \"\"\n }`}\n >\n {((helperText && !error) || (helperText && error && !errorMessage)) && (\n <FormHelperText\n {...helperProps}\n className={\"\"}\n id={helperId}\n disabled={disableHelperText}\n >\n {helperProps?.children || helperText}\n </FormHelperText>\n )}\n {error && errorMessage && (\n <span\n {...errorMessageProps}\n className={`${classes[\"error-message\"]} ${errorMessageProps?.className ? errorMessageProps.className : \"\"}`}\n >\n <span id={errorId} className={classes.message}>\n {errorMessageIcon && errorMessageIconPosition === \"before\" && (\n <Icon\n className={`${classes[\"error-icon\"]} ${classes[\"error-icon-before\"]}`}\n icon={errorMessageIcon}\n />\n )}\n {errorMessage}\n {errorMessageIcon && errorMessageIconPosition === \"after\" && (\n <Icon\n className={`${classes[\"error-icon\"]} ${classes[\"error-icon-after\"]}`}\n icon={errorMessageIcon}\n />\n )}\n </span>\n </span>\n )}\n </div>\n )}\n </div>\n );\n};\n\nexport const FormGroup = React.forwardRef(FormGroupComponent);\n"],"names":["FormGroup","React","forwardRef","children","className","error","errorMessage","errorId","errorMessageIcon","errorMessageIconPosition","errorMessageProps","helperText","helperId","helperProps","disabled","rest","ref","disableHelperText","undefined","classes","default","createElement","FormHelperText","id","message","Icon","icon"],"mappings":"yKAqCA,MAoEaA,EAAYC,EAAMC,YApE6C,EAExEC,WACAC,YACAC,QACAC,eACAC,UACAC,mBACAC,2BAA2B,SAC3BC,oBACAC,aACAC,WACAC,cACAC,cACGC,GAELC,KAEA,MAAMC,OAA8CC,KAA1BL,aAAW,EAAXA,EAAaC,UAAyBD,aAAA,EAAAA,EAAaC,SAAWA,EAExF,OACEb,0BAASc,EAAMC,IAAKA,EAAKZ,UAAW,GAAGe,EAAAA,QAAQ,iBAAiBf,QAAAA,EAAa,MAC1ED,GAECQ,GAAeL,GAAgBD,IAC/BJ,uBACEG,UAAW,GAAGe,EAAOC,QAAC,sBACpBP,aAAA,EAAAA,EAAaT,WAAYS,EAAYT,UAAY,OAGhDO,IAAeN,GAAWM,GAAcN,IAAUC,IACnDL,EAAAoB,cAACC,EAAAA,eAAc,IACTT,EACJT,UAAW,GACXmB,GAAIX,EACJE,SAAUG,IAETJ,aAAA,EAAAA,EAAaV,WAAYQ,GAG7BN,GAASC,GACRL,2BACMS,EACJN,UAAW,GAAGe,EAAOC,QAAC,qBAAoBV,aAAiB,EAAjBA,EAAmBN,WAAYM,EAAkBN,UAAY,MAEvGH,EAAMoB,cAAA,OAAA,CAAAE,GAAIhB,EAASH,UAAWe,EAAOC,QAACI,SACnChB,GAAiD,WAA7BC,GACnBR,EAAAoB,cAACI,OAAI,CACHrB,UAAW,GAAGe,EAAAA,QAAQ,iBAAiBA,EAAAA,QAAQ,uBAC/CO,KAAMlB,IAGTF,EACAE,GAAiD,UAA7BC,GACnBR,EAAAoB,cAACI,EAAIA,KAAA,CACHrB,UAAW,GAAGe,EAAAA,QAAQ,iBAAiBA,UAAQ,sBAC/CO,KAAMlB,OAStB"}
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("react"),r=require("../FormHelperText/FormHelperText.cjs.js"),l=require("./FormSelectorWrapper.module.scss.cjs.js");const a=e.forwardRef((({children:a,className:t,nestedChildren:s,containerProps:d,helperProps:o,error:i,disabled:n,helperText:c,errorMessage:u,parentErrorId:m,errorId:p,identifier:f,...v},h)=>{var $,x;const E=null!==($=null==o?void 0:o.ref)&&void 0!==$?$:e.createRef();return e.createElement("div",{...v,ref:h,className:`${i?l.default.error:""} ${n?l.default.disabled:""} ${null!=t?t:""}`},e.createElement("div",{...d},a),(c||(null==o?void 0:o.children))&&e.createElement(r.FormHelperText,{...o,ref:E,id:`${f}`,className:`${l.default["helper-text"]} ${null!==(x=null==o?void 0:o.className)&&void 0!==x?x:""} ${i?l.default.error:""}`},i?e.createElement("span",{className:l.default["error-message"],id:p},u):(null==o?void 0:o.children)||c),s)}));exports.FormSelectorWrapper=a;
1
+ "use strict";var e=require("react"),r=require("../FormHelperText/FormHelperText.cjs.js"),l=require("./FormSelectorWrapper.module.scss.cjs.js");const a=e.forwardRef((({children:a,className:t,nestedChildren:s,containerProps:d,helperProps:o,error:i,disabled:n,helperText:c,errorMessage:u,parentErrorId:m,errorId:p,identifier:f,...v},h)=>{var $,x;const E=null!==($=null==o?void 0:o.ref)&&void 0!==$?$:e.createRef();return e.createElement("div",{...v,ref:h,className:`${i?l.default.error:""} ${n?l.default.disabled:""} ${null!=t?t:""}`},e.createElement("div",{...d},a),(u||c||(null==o?void 0:o.children))&&e.createElement(r.FormHelperText,{...o,ref:E,id:`${f}`,className:`${l.default["helper-text"]} ${null!==(x=null==o?void 0:o.className)&&void 0!==x?x:""} ${i?l.default.error:""}`},i&&u?e.createElement("span",{className:l.default["error-message"],id:p},u):(null==o?void 0:o.children)||c),s)}));exports.FormSelectorWrapper=a;
2
2
  //# sourceMappingURL=FormSelectorWrapper.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FormSelectorWrapper.cjs.js","sources":["../../../../../../src/components/Form/FormSelectorWrapper/FormSelectorWrapper.tsx"],"sourcesContent":["/*\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React, {\n ForwardRefRenderFunction,\n ComponentPropsWithRef,\n createRef,\n ReactNode\n} from \"react\";\nimport { KeyValuePair } from \"../../../interfaces\";\nimport { FormSelector } from \"../form.interfaces\";\nimport { FormHelperText, Props as FormHelperTextProps } from \"../FormHelperText/FormHelperText\";\nimport classes from \"./FormSelectorWrapper.module.scss\";\n\nexport interface Props extends ComponentPropsWithRef<\"div\">, FormSelector {\n children?: ReactNode;\n nestedChildren?: ReactNode;\n containerProps?: ComponentPropsWithRef<\"div\"> & KeyValuePair;\n helperProps?: FormHelperTextProps;\n disabled?: boolean;\n errorId?: string;\n identifier?: string;\n}\n\nconst FormSelectorWrapperComponent: ForwardRefRenderFunction<HTMLDivElement, Props> = (\n {\n children,\n className,\n nestedChildren,\n containerProps,\n helperProps,\n error,\n disabled,\n helperText,\n errorMessage,\n parentErrorId,\n errorId,\n identifier,\n ...rest\n }: Props,\n ref\n) => {\n const helperRef = helperProps?.ref ?? createRef();\n\n return (\n <div\n {...rest}\n ref={ref}\n className={`${error ? classes[\"error\"] : \"\"} ${disabled ? classes[\"disabled\"] : \"\"} ${\n className ?? \"\"\n }`}\n >\n <div {...containerProps}>{children}</div>\n {(helperText || helperProps?.children) && (\n <FormHelperText\n {...helperProps}\n ref={helperRef}\n id={`${identifier}`}\n className={`${classes[\"helper-text\"]} ${helperProps?.className ?? \"\"} ${\n error ? classes[\"error\"] : \"\"\n }`}\n >\n {error ? (\n <span className={classes[\"error-message\"]} id={errorId}>\n {errorMessage}\n </span>\n ) : (\n helperProps?.children || helperText\n )}\n </FormHelperText>\n )}\n {nestedChildren}\n </div>\n );\n};\n\nexport const FormSelectorWrapper = React.forwardRef(FormSelectorWrapperComponent);\n"],"names":["FormSelectorWrapper","React","forwardRef","children","className","nestedChildren","containerProps","helperProps","error","disabled","helperText","errorMessage","parentErrorId","errorId","identifier","rest","ref","helperRef","_a","createRef","classes","default","createElement","FormHelperText","id","_b"],"mappings":"+IAqCA,MAoDaA,EAAsBC,EAAMC,YApD6C,EAElFC,WACAC,YACAC,iBACAC,iBACAC,cACAC,QACAC,WACAC,aACAC,eACAC,gBACAC,UACAC,gBACGC,GAELC,aAEA,MAAMC,EAAgC,QAApBC,EAAAX,aAAA,EAAAA,EAAaS,WAAO,IAAAE,EAAAA,EAAAC,EAAAA,YAEtC,OACElB,0BACMc,EACJC,IAAKA,EACLZ,UAAW,GAAGI,EAAQY,EAAOC,QAAQ,MAAI,MAAMZ,EAAWW,EAAOC,QAAW,SAAI,MAC9EjB,QAAAA,EAAa,MAGfH,EAASqB,cAAA,MAAA,IAAAhB,GAAiBH,IACxBO,IAAcH,aAAA,EAAAA,EAAaJ,YAC3BF,gBAACsB,EAAAA,eAAc,IACThB,EACJS,IAAKC,EACLO,GAAI,GAAGV,IACPV,UAAW,GAAGgB,EAAAA,QAAQ,kBAA4C,QAA1BK,EAAAlB,aAAW,EAAXA,EAAaH,iBAAa,IAAAqB,EAAAA,EAAA,MAChEjB,EAAQY,EAAAA,QAAe,MAAI,MAG5BZ,EACCP,wBAAMG,UAAWgB,EAAOC,QAAC,iBAAkBG,GAAIX,GAC5CF,IAGHJ,eAAAA,EAAaJ,WAAYO,GAI9BL,EAEH"}
1
+ {"version":3,"file":"FormSelectorWrapper.cjs.js","sources":["../../../../../../src/components/Form/FormSelectorWrapper/FormSelectorWrapper.tsx"],"sourcesContent":["/*\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React, {\n ForwardRefRenderFunction,\n ComponentPropsWithRef,\n createRef,\n ReactNode\n} from \"react\";\nimport { KeyValuePair } from \"../../../interfaces\";\nimport { FormSelector } from \"../form.interfaces\";\nimport { FormHelperText, Props as FormHelperTextProps } from \"../FormHelperText/FormHelperText\";\nimport classes from \"./FormSelectorWrapper.module.scss\";\n\nexport interface Props extends ComponentPropsWithRef<\"div\">, FormSelector {\n children?: ReactNode;\n nestedChildren?: ReactNode;\n containerProps?: ComponentPropsWithRef<\"div\"> & KeyValuePair;\n helperProps?: FormHelperTextProps;\n disabled?: boolean;\n errorId?: string;\n identifier?: string;\n}\n\nconst FormSelectorWrapperComponent: ForwardRefRenderFunction<HTMLDivElement, Props> = (\n {\n children,\n className,\n nestedChildren,\n containerProps,\n helperProps,\n error,\n disabled,\n helperText,\n errorMessage,\n parentErrorId,\n errorId,\n identifier,\n ...rest\n }: Props,\n ref\n) => {\n const helperRef = helperProps?.ref ?? createRef();\n\n return (\n <div\n {...rest}\n ref={ref}\n className={`${error ? classes[\"error\"] : \"\"} ${disabled ? classes[\"disabled\"] : \"\"} ${\n className ?? \"\"\n }`}\n >\n <div {...containerProps}>{children}</div>\n {(errorMessage || helperText || helperProps?.children) && (\n <FormHelperText\n {...helperProps}\n ref={helperRef}\n id={`${identifier}`}\n className={`${classes[\"helper-text\"]} ${helperProps?.className ?? \"\"} ${\n error ? classes[\"error\"] : \"\"\n }`}\n >\n {error && errorMessage ? (\n <span className={classes[\"error-message\"]} id={errorId}>\n {errorMessage}\n </span>\n ) : (\n helperProps?.children || helperText\n )}\n </FormHelperText>\n )}\n {nestedChildren}\n </div>\n );\n};\n\nexport const FormSelectorWrapper = React.forwardRef(FormSelectorWrapperComponent);\n"],"names":["FormSelectorWrapper","React","forwardRef","children","className","nestedChildren","containerProps","helperProps","error","disabled","helperText","errorMessage","parentErrorId","errorId","identifier","rest","ref","helperRef","_a","createRef","classes","default","createElement","FormHelperText","id","_b"],"mappings":"+IAqCA,MAoDaA,EAAsBC,EAAMC,YApD6C,EAElFC,WACAC,YACAC,iBACAC,iBACAC,cACAC,QACAC,WACAC,aACAC,eACAC,gBACAC,UACAC,gBACGC,GAELC,aAEA,MAAMC,EAAgC,QAApBC,EAAAX,aAAA,EAAAA,EAAaS,WAAO,IAAAE,EAAAA,EAAAC,EAAAA,YAEtC,OACElB,0BACMc,EACJC,IAAKA,EACLZ,UAAW,GAAGI,EAAQY,EAAOC,QAAQ,MAAI,MAAMZ,EAAWW,EAAOC,QAAW,SAAI,MAC9EjB,QAAAA,EAAa,MAGfH,EAASqB,cAAA,MAAA,IAAAhB,GAAiBH,IACxBQ,GAAgBD,IAAcH,aAAA,EAAAA,EAAaJ,YAC3CF,EAACqB,cAAAC,EAAAA,mBACKhB,EACJS,IAAKC,EACLO,GAAI,GAAGV,IACPV,UAAW,GAAGgB,EAAOC,QAAC,kBAA4C,QAA1BI,EAAAlB,aAAW,EAAXA,EAAaH,iBAAa,IAAAqB,EAAAA,EAAA,MAChEjB,EAAQY,EAAAA,QAAe,MAAI,MAG5BZ,GAASG,EACRV,EAAMqB,cAAA,OAAA,CAAAlB,UAAWgB,EAAAA,QAAQ,iBAAkBI,GAAIX,GAC5CF,IAGHJ,aAAW,EAAXA,EAAaJ,WAAYO,GAI9BL,EAEH"}
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("./MultiSelect.module.scss.cjs.js"),t=require("react"),s=require("../../../src/hooks/useBodyClick.cjs.js"),r=require("../../../src/hooks/useDetermineStatusIcon.cjs.js"),a=require("../../../src/readyclasses.module.scss.cjs.js"),l=require("../../../src/util/helper.cjs.js"),n=require("../../../Icon/Icon.cjs.js"),c=require("../Select.interfaces.cjs.js"),i=require("../useAddNewBtn.cjs.js"),o=require("../useSelectPositionList.cjs.js"),u=require("./SelectButton.cjs.js"),d=require("./SelectedOptions.cjs.js"),p=require("./useArrowNavigation.cjs.js"),h=require("./useSearch.cjs.js"),f=require("../../../withReadOnly.cjs.js");const m=(e,t)=>`${e}_option${t}`,v=e=>`${e}_listbox`,b=f.withReadOnly(t.forwardRef((({id:f,children:b,name:j,disabled:S=!1,labeledBy:w,placeholder:y,describedBy:C,selectButtonProps:E={},className:g,error:N=!1,success:x=!1,value:I,clearLabel:R="Clear selection",noResultsLabel:B="No results found",onChange:q,addNew:P,search:k={enabled:!0,renderThreshold:0,searchPlaceholder:"Search item"},isReadOnlyView:A,...O},L)=>{const $=t.useRef(null!=f?f:l.generateID(20)),[D,F]=t.useState(!1),[H,M]=t.useState([]),V=t.useRef(null),_=t.useRef(null),[K,T]=t.useState(0),[U,z]=t.useState(!1),[G,J]=t.useState(!1),[Q,W]=t.useState(t.Children.count(b)-H.length),{filter:X,renderSearch:Y,searchInputRef:Z,resetSearchState:ee,searchVisible:te}=h.useSearch({selectId:$.current,expanded:D,search:k,searchInputClassName:e.default["select-search"],optionsCount:Q,focusedSelectItem:K,setFocusedSelectItem:T,describedBy:C,getOptionId:m,getListboxId:v}),{addBtnRef:se,addNewBtnOptionsContainerClassName:re,renderAddNew:ae}=i.useAddNewBtn({id:m($.current,Q),addNew:P,filter:X,focusedSelectItem:K,optionsCount:Q,searchInputRef:Z,shouldClick:U,onClickCallback:()=>{z(!1),ee()}}),le=L||t.createRef(),ne=t.useRef(null),ce=!!O["data-readonlyview"]||A,{onArrowNavigation:ie}=p.useArrowNavigation({expanded:D,setExpanded:F,setFocusedSelectItem:T,childrenCount:Q,setShouldClick:z,addBtnRef:se,searchInputRef:Z,customSelectButtonRef:ne,onClose:ee,isReadOnlyView:ce}),{listPosition:oe,opacity:ue,optionsListMaxHeight:de,setListPosition:pe,setOpacity:he}=o.useSelectPositionList({expanded:D,optionListReference:_,containerReference:V,addBtnRef:se}),fe=r.useDetermineStatusIcon({success:x,error:N});t.useEffect((()=>{D&&Z.current&&(J(!0),Z.current.focus()),!D&&ne.current&&G&&(J(!1),ne.current.focus())}),[D,ne.current,G,Z.current]),t.useEffect((()=>{var e;(e=>{const s=t.Children.map(b,(e=>e)),r=e.map((e=>{const t=s.find((t=>t.props.value===e));return{value:e,label:null==t?void 0:t.props.children,fixed:null==t?void 0:t.props.fixed}}));M(r)})(I),e=I,le.current&&[...le.current.options].forEach((t=>{e.includes(t.value)?t.selected=!0:t.selected=!1}))}),[I]),s.useBodyClick((e=>!e.target.closest(".custom-select")&&D),(()=>{F(!1),pe(c.Position.Below),he(0)}),D);const me=[];D&&me.push(e.default.expanded),N&&me.push(e.default.error),S&&me.push(e.default.disabled),g&&me.push(g),x&&me.push(e.default.success);const ve=()=>{O["data-readonlyview"]||A||(F((e=>!e)),z(!1))},be=t.createElement("div",{className:`list-wrapper-container ${e.default["list-wrapper-container"]}`},t.createElement("div",{ref:_,className:`list-wrapper ${e.default["list-wrapper"]}`,style:{display:D?"block":"none",opacity:ue,maxHeight:de.wrapper,pointerEvents:D?"auto":"none",top:oe===c.Position.Below?"4px":"initial",bottom:oe===c.Position.Above?"4px":"initial"}},t.createElement("ul",{id:v($.current),className:re,role:"listbox","aria-multiselectable":"true",style:{maxHeight:de.list}},(()=>{const s=e=>e.filter((e=>"object"==typeof e&&"props"in e&&!H.find((t=>t.value===e.props.value))));let r;if(""!==X){r=a(s(t.Children.toArray(b).filter((e=>null!==e.props.children.toLowerCase().match(l.escapeRegExp(X.toLowerCase()))))))}else r=a(s(t.Children.toArray(b)));return Q!==r.length&&W(r.length),0===r.length?t.createElement("li",{className:e.default["no-results"]},B):r;function a(e){return t.Children.map(e,((e,s)=>t.cloneElement(e,{onFocusChange:e=>{T(e)},onOptionSelect:e=>{(e=>{if(le.current&&e){const t=e.getAttribute("data-value"),s=[...le.current.options],r=s.filter((e=>e.selected)).map((e=>e.value));s.forEach((e=>{(e.value===t||r.includes(e.value))&&(e.selected=!0)})),le.current.dispatchEvent(new Event("change",{bubbles:!0}))}F(!1),ee()})(e.current),F(!1),z(!1)},isSearching:!1,selectOpened:D,childIndex:s,hasFocus:K===s,shouldClick:U,id:m($.current,s)})))}})()),ae()));return t.createElement(t.Fragment,null,t.createElement("select",{...l.filterProps(O,/^data-/,!1),tabIndex:-1,multiple:!0,"aria-hidden":"true",ref:le,name:j,onChange:e=>{null==q||q(e)},className:a.default["sr-only"]},t.createElement("option",{value:""}),t.Children.map(b,(e=>t.createElement("option",{value:e.props.value})))),t.createElement("div",{...l.filterProps(O,/^data-/),id:$.current,ref:V,onKeyDown:ie,className:`custom-select ${e.default.select} ${me.join(" ")}`},oe===c.Position.Above?be:void 0,t.createElement("div",{className:`${e.default["custom-select"]} ${me.join(" ")} `,style:{display:"flex"}},t.createElement("div",{className:e.default["display-container"],"data-display":!0},t.createElement(u.SelectButton,{...E,onClick:ve,name:j,ref:ne,disabled:S,"aria-disabled":S,"aria-invalid":N,"aria-expanded":D,"aria-haspopup":"listbox","aria-labelledby":w,"aria-describedby":C}),0===(null==I?void 0:I.length)&&y&&t.createElement("span",{className:e.default.placeholder},y),(null==I?void 0:I.length)>0&&t.createElement(d.SelectedOptions,{disabled:S,display:H,onClick:ve,onRemove:e=>{if(le.current){[...le.current.options].find((t=>t.value===e)).selected=!1,le.current.dispatchEvent(new Event("change",{bubbles:!0}))}}}),te&&Y()),t.createElement("div",{className:e.default.status},fe||(D?t.createElement(n.Icon,{className:e.default["chevron-icon"],icon:n.Icons.ChevronUp}):t.createElement(n.Icon,{className:e.default["chevron-icon"],icon:n.Icons.ChevronDown})))),oe===c.Position.Below?be:void 0))})));exports.MultiSelect=b;
1
+ "use strict";var e=require("./MultiSelect.module.scss.cjs.js"),t=require("react"),s=require("../../../src/hooks/useClickOutside.cjs.js"),r=require("../../../src/hooks/useDetermineStatusIcon.cjs.js"),a=require("../../../src/readyclasses.module.scss.cjs.js"),l=require("../../../src/util/helper.cjs.js"),n=require("../../../Icon/Icon.cjs.js"),c=require("../Select.interfaces.cjs.js"),i=require("../useAddNewBtn.cjs.js"),o=require("../useSelectPositionList.cjs.js"),u=require("./SelectButton.cjs.js"),d=require("./SelectedOptions.cjs.js"),p=require("./useArrowNavigation.cjs.js"),h=require("./useSearch.cjs.js"),f=require("../../../withReadOnly.cjs.js");const m=(e,t)=>`${e}_option${t}`,v=e=>`${e}_listbox`,b=f.withReadOnly(t.forwardRef((({id:f,children:b,name:j,disabled:S=!1,labeledBy:w,placeholder:C,describedBy:E,selectButtonProps:y={},className:N,error:g=!1,success:R=!1,value:x,clearLabel:I="Clear selection",noResultsLabel:B="No results found",onChange:q,addNew:O,search:P={enabled:!0,renderThreshold:0,searchPlaceholder:"Search item"},isReadOnlyView:k,...A},L)=>{const $=t.useRef(null!=f?f:l.generateID(20)),[D,F]=t.useState(!1),[H,M]=t.useState([]),V=t.useRef(null),_=t.useRef(null),[K,T]=t.useState(0),[U,z]=t.useState(!1),[G,J]=t.useState(!1),[Q,W]=t.useState(t.Children.count(b)-H.length),{filter:X,renderSearch:Y,searchInputRef:Z,resetSearchState:ee,searchVisible:te}=h.useSearch({selectId:$.current,expanded:D,search:P,searchInputClassName:e.default["select-search"],optionsCount:Q,focusedSelectItem:K,setFocusedSelectItem:T,describedBy:E,getOptionId:m,getListboxId:v}),{addBtnRef:se,addNewBtnOptionsContainerClassName:re,renderAddNew:ae}=i.useAddNewBtn({id:m($.current,Q),addNew:O,filter:X,focusedSelectItem:K,optionsCount:Q,searchInputRef:Z,shouldClick:U,onClickCallback:()=>{z(!1),ee()}}),le=L||t.createRef(),ne=t.useRef(null),ce=!!A["data-readonlyview"]||k,{onArrowNavigation:ie}=p.useArrowNavigation({expanded:D,setExpanded:F,setFocusedSelectItem:T,childrenCount:Q,setShouldClick:z,addBtnRef:se,searchInputRef:Z,customSelectButtonRef:ne,onClose:ee,isReadOnlyView:ce}),{listPosition:oe,opacity:ue,optionsListMaxHeight:de,setListPosition:pe,setOpacity:he}=o.useSelectPositionList({expanded:D,optionListReference:_,containerReference:V,addBtnRef:se}),fe=r.useDetermineStatusIcon({success:R,error:g});t.useEffect((()=>{D&&Z.current&&(J(!0),Z.current.focus()),!D&&ne.current&&G&&(J(!1),ne.current.focus())}),[D,ne.current,G,Z.current]),t.useEffect((()=>{var e;(e=>{const s=t.Children.map(b,(e=>e)),r=e.map((e=>{const t=s.find((t=>t.props.value===e));return{value:e,label:null==t?void 0:t.props.children,fixed:null==t?void 0:t.props.fixed}}));M(r)})(x),e=x,le.current&&[...le.current.options].forEach((t=>{e.includes(t.value)?t.selected=!0:t.selected=!1}))}),[x]);const me=t.useRef(null);s.useClickOutside(me,(()=>{D&&(F(!1),pe(c.Position.Below),he(0))}),[D]);const ve=[];D&&ve.push(e.default.expanded),g&&ve.push(e.default.error),S&&ve.push(e.default.disabled),N&&ve.push(N),R&&ve.push(e.default.success);const be=()=>{A["data-readonlyview"]||k||(F((e=>!e)),z(!1))},je=t.createElement("div",{className:`list-wrapper-container ${e.default["list-wrapper-container"]}`},t.createElement("div",{ref:_,className:`list-wrapper ${e.default["list-wrapper"]}`,style:{display:D?"block":"none",opacity:ue,maxHeight:de.wrapper,pointerEvents:D?"auto":"none",top:oe===c.Position.Below?"4px":"initial",bottom:oe===c.Position.Above?"4px":"initial"}},t.createElement("ul",{id:v($.current),className:re,role:"listbox","aria-multiselectable":"true",style:{maxHeight:de.list}},(()=>{const s=e=>e.filter((e=>"object"==typeof e&&"props"in e&&!H.find((t=>t.value===e.props.value))));let r;if(""!==X){r=a(s(t.Children.toArray(b).filter((e=>null!==e.props.children.toLowerCase().match(l.escapeRegExp(X.toLowerCase()))))))}else r=a(s(t.Children.toArray(b)));return Q!==r.length&&W(r.length),0===r.length?t.createElement("li",{className:e.default["no-results"]},B):r;function a(e){return t.Children.map(e,((e,s)=>t.cloneElement(e,{onFocusChange:e=>{T(e)},onOptionSelect:e=>{(e=>{if(le.current&&e){const t=e.getAttribute("data-value"),s=[...le.current.options],r=s.filter((e=>e.selected)).map((e=>e.value));s.forEach((e=>{(e.value===t||r.includes(e.value))&&(e.selected=!0)})),le.current.dispatchEvent(new Event("change",{bubbles:!0}))}F(!1),ee()})(e.current),F(!1),z(!1)},isSearching:!1,selectOpened:D,childIndex:s,hasFocus:K===s,shouldClick:U,id:m($.current,s)})))}})()),ae()));return t.createElement("div",{ref:me},t.createElement("select",{...l.filterProps(A,/^data-/,!1),tabIndex:-1,multiple:!0,"aria-hidden":"true",ref:le,name:j,onChange:e=>{null==q||q(e)},className:a.default["sr-only"]},t.createElement("option",{value:""}),t.Children.map(b,(e=>t.createElement("option",{value:e.props.value})))),t.createElement("div",{...l.filterProps(A,/^data-/),id:$.current,ref:V,onKeyDown:ie,className:`custom-select ${e.default.select} ${ve.join(" ")}`},oe===c.Position.Above?je:void 0,t.createElement("div",{className:`${e.default["custom-select"]} ${ve.join(" ")} `,style:{display:"flex"}},t.createElement("div",{className:e.default["display-container"],"data-display":!0},t.createElement(u.SelectButton,{...y,onClick:be,name:j,ref:ne,disabled:S,"aria-disabled":S,"aria-invalid":g,"aria-expanded":D,"aria-haspopup":"listbox","aria-labelledby":w,"aria-describedby":E}),0===(null==x?void 0:x.length)&&C&&t.createElement("span",{className:e.default.placeholder},C),(null==x?void 0:x.length)>0&&t.createElement(d.SelectedOptions,{disabled:S,display:H,onClick:be,onRemove:e=>{if(le.current){[...le.current.options].find((t=>t.value===e)).selected=!1,le.current.dispatchEvent(new Event("change",{bubbles:!0}))}}}),te&&Y()),t.createElement("div",{className:e.default.status},fe||(D?t.createElement(n.Icon,{className:e.default["chevron-icon"],icon:n.Icons.ChevronUp}):t.createElement(n.Icon,{className:e.default["chevron-icon"],icon:n.Icons.ChevronDown})))),oe===c.Position.Below?je:void 0))})));exports.MultiSelect=b;
2
2
  //# sourceMappingURL=MultiSelect.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MultiSelect.cjs.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, 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 useBodyClick(\n (event: MouseEvent) => !(event.target as Element).closest(\".custom-select\") && expanded,\n () => {\n setExpanded(false);\n setListPosition(Position.Below);\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 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 <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 {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 </Fragment>\n );\n};\n\nexport const MultiSelect = withReadOnly(React.forwardRef(MultiSelectComponent));\n"],"names":["getOptionId","multiSelectId","optionIndex","getListboxId","MultiSelect","withReadOnly","React","forwardRef","id","children","name","disabled","labeledBy","placeholder","describedBy","selectButtonProps","className","error","success","value","clearLabel","noResultsLabel","onChange","addNew","search","enabled","renderThreshold","searchPlaceholder","isReadOnlyView","rest","ref","useRef","generateID","expanded","setExpanded","useState","display","setDisplay","containerReference","optionListReference","focusedSelectItem","setFocusedSelectItem","shouldClick","setShouldClick","shouldFocusButtonAfterClose","setShouldFocusButtonAfterClose","optionsVisibleCount","setOptionsVisibleCount","Children","count","length","filter","renderSearch","searchInputRef","resetSearchState","searchVisible","useSearch","selectId","current","searchInputClassName","classes","default","optionsCount","addBtnRef","addNewBtnOptionsContainerClassName","renderAddNew","useAddNewBtn","onClickCallback","nativeSelect","createRef","customSelectButtonRef","readOnlyView","onArrowNavigation","useArrowNavigation","childrenCount","onClose","listPosition","opacity","optionsListMaxHeight","setListPosition","setOpacity","useSelectPositionList","icon","useDetermineStatusIcon","useEffect","focus","vals","values","options","map","child","displayArray","option","find","props","label","fixed","syncDisplayValue","forEach","includes","selected","useBodyClick","event","target","closest","Position","Below","additionalClasses","push","onSelectButtonClick","optionsElement","createElement","style","maxHeight","wrapper","pointerEvents","top","bottom","Above","role","list","filterOutSelectedChildren","internalChildren","results","_internalRenderChildren","toArray","toLowerCase","match","escapeRegExp","index","cloneElement","onFocusChange","childIndex","onOptionSelect","optionRef","optionElement","getAttribute","lastSelectedOptionValues","dispatchEvent","Event","bubbles","onOptionChangeHandler","isSearching","selectOpened","hasFocus","renderOptions","Fragment","filterProps","tabIndex","multiple","readyclasses","onKeyDown","select","join","undefined","SelectButton","onClick","SelectedOptions","onRemove","Icon","Icons","ChevronUp","ChevronDown"],"mappings":"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"}
1
+ {"version":3,"file":"MultiSelect.cjs.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":["getOptionId","multiSelectId","optionIndex","getListboxId","MultiSelect","withReadOnly","React","forwardRef","id","children","name","disabled","labeledBy","placeholder","describedBy","selectButtonProps","className","error","success","value","clearLabel","noResultsLabel","onChange","addNew","search","enabled","renderThreshold","searchPlaceholder","isReadOnlyView","rest","ref","useRef","generateID","expanded","setExpanded","useState","display","setDisplay","containerReference","optionListReference","focusedSelectItem","setFocusedSelectItem","shouldClick","setShouldClick","shouldFocusButtonAfterClose","setShouldFocusButtonAfterClose","optionsVisibleCount","setOptionsVisibleCount","Children","count","length","filter","renderSearch","searchInputRef","resetSearchState","searchVisible","useSearch","selectId","current","searchInputClassName","classes","default","optionsCount","addBtnRef","addNewBtnOptionsContainerClassName","renderAddNew","useAddNewBtn","onClickCallback","nativeSelect","createRef","customSelectButtonRef","readOnlyView","onArrowNavigation","useArrowNavigation","childrenCount","onClose","listPosition","opacity","optionsListMaxHeight","setListPosition","setOpacity","useSelectPositionList","icon","useDetermineStatusIcon","useEffect","focus","vals","values","options","map","child","displayArray","option","find","props","label","fixed","syncDisplayValue","forEach","includes","selected","myElementRef","useClickOutside","Position","Below","additionalClasses","push","onSelectButtonClick","optionsElement","createElement","style","maxHeight","wrapper","pointerEvents","top","bottom","Above","role","list","filterOutSelectedChildren","internalChildren","results","_internalRenderChildren","toArray","toLowerCase","match","escapeRegExp","index","cloneElement","onFocusChange","childIndex","onOptionSelect","optionRef","optionElement","getAttribute","lastSelectedOptionValues","dispatchEvent","Event","bubbles","onOptionChangeHandler","isSearching","selectOpened","hasFocus","renderOptions","filterProps","tabIndex","multiple","event","readyclasses","onKeyDown","select","join","undefined","SelectButton","onClick","SelectedOptions","onRemove","Icon","Icons","ChevronUp","ChevronDown"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("./Select.module.scss.cjs.js"),t=require("react"),s=require("../../../src/hooks/useBodyClick.cjs.js"),a=require("../../../src/hooks/useDetermineStatusIcon.cjs.js"),r=require("../../../src/readyclasses.module.scss.cjs.js"),n=require("../../../src/util/helper.cjs.js"),l=require("../../../Icon/Icon.cjs.js"),c=require("../Select.interfaces.cjs.js"),i=require("../useSelectPositionList.cjs.js"),o=require("../useAddNewBtn.cjs.js"),u=require("./useSearch.cjs.js"),d=require("./useArrowNavigation.cjs.js");const p=require("../../../withReadOnly.cjs.js").withReadOnly(t.forwardRef((({children:p,name:h,disabled:m=!1,labeledBy:f,placeholder:v,describedBy:y,selectButtonProps:b,className:j,error:w=!1,success:S=!1,value:C,clearLabel:E="Clear selection",noResultsLabel:N="No results found",onChange:g,addNew:I,search:R,isReadOnlyView:x,...q},B)=>{const[A,k]=t.useState(!1),[L,O]=t.useState(""),P=t.useRef(null),F=t.useRef(null),[$,D]=t.useState(-1),[H,T]=t.useState(!1),[V,K]=t.useState(!1),M=t.Children.count(p),{filter:U,isSearching:z,renderSearch:G,searchInputRef:J,setIsSearching:Q,searchThreshold:W,searchVisible:X}=u.useSearch({expanded:A,search:R,searchInputClassName:e.default["select-search"],optionsCount:M,setFocusedSelectItem:D}),{addBtnRef:Y,addNewBtnOptionsContainerClassName:Z,renderAddNew:_}=o.useAddNewBtn({addNew:I,filter:U,focusedSelectItem:$,optionsCount:M,searchInputRef:J}),ee=B||t.createRef(),te=e=>{ee.current&&e&&(ee.current.value=e.getAttribute("data-value"),ee.current.dispatchEvent(new Event("change",{bubbles:!0}))),k(!1)},se=t.useRef(null),{onArrowNavigation:ae}=d.useArrowNavigation({expanded:A,setExpanded:k,isSearching:z,setIsSearching:Q,setFocusedSelectItem:D,onOptionChangeHandler:te,childrenCount:M,setShouldClick:T,searchInputRef:J,addBtnRef:Y,renderThreshold:W,isReadOnlyView:x||!!q["data-readonlyview"]}),{listPosition:re,opacity:ne,optionsListMaxHeight:le,setListPosition:ce,setOpacity:ie}=i.useSelectPositionList({expanded:A,optionListReference:F,containerReference:P,addBtnRef:Y}),oe=a.useDetermineStatusIcon({success:S,error:w});t.useEffect((()=>{A&&(D(0),K(!0)),!A&&se.current&&V&&(se.current.focus(),K(!1))}),[A,se.current,V]),t.useEffect((()=>{var e;e=C,t.Children.forEach(p,(t=>{t.props.value===e&&O(t.props.children)}))}),[C]),s.useBodyClick((e=>!e.target.closest(".custom-select")&&A),(()=>{k(!1),ce(c.Position.Below),ie(0)}),A);const ue=[];return A&&ue.push(e.default.expanded),w&&ue.push(e.default.error),m&&ue.push(e.default.disabled),j&&ue.push(j),S&&ue.push(e.default.success),t.createElement(t.Fragment,null,t.createElement("select",{...n.filterProps(q,/^data-/,!1),tabIndex:-1,"aria-hidden":"true",ref:ee,name:h,onChange:e=>{null==g||g(e)},className:r.default["sr-only"]},t.createElement("option",{value:""}),t.Children.map(p,(e=>t.createElement("option",{value:e.props.value})))),t.createElement("div",{...n.filterProps(q,/^data-/),ref:P,onKeyDown:ae,className:`custom-select ${e.default.select} ${ue.join(" ")}`},X&&G(),t.createElement("button",{...b,onClick:()=>{k(!x&&!q["data-readonlyview"]&&!A)},ref:se,type:"button",name:h,className:`${e.default["custom-select"]} ${ue.join(" ")} `,style:{display:A&&X?"none":"block"},disabled:m,"aria-disabled":m,"aria-invalid":w,"aria-expanded":A,"aria-haspopup":"listbox","aria-labelledby":f,"aria-describedby":y},t.createElement("div",{"data-display":!0,className:e.default.selected},!C&&v&&t.createElement("span",{className:e.default.placeholder},v),(null==C?void 0:C.length)>0&&t.createElement("span",{"data-display-inner":!0},L)),t.createElement("div",{className:e.default.status},oe||(A?t.createElement(l.Icon,{className:e.default["chevron-icon"],icon:l.Icons.ChevronUp}):t.createElement(l.Icon,{className:e.default["chevron-icon"],icon:l.Icons.ChevronDown})))),t.createElement("div",{className:"list-wrapper-container"},t.createElement("div",{ref:F,className:`list-wrapper ${e.default["list-wrapper"]}`,style:{display:A?"block":"none",opacity:ne,maxHeight:le.wrapper,pointerEvents:A?"auto":"none",bottom:re===c.Position.Above?"2.85rem":"initial",marginTop:"4px"}},t.createElement("ul",{className:Z,role:"listbox",style:{maxHeight:le.list}},(()=>{if(z||""!==U){const a=t.Children.toArray(p).filter((e=>null!==e.props.children.toLowerCase().match(U.toLowerCase())));return 0===s(a).length?t.createElement("li",{className:e.default["no-results"]},N):s(a)}return s(p);function s(e){return t.Children.map(e,((e,s)=>t.cloneElement(e,{onFocusChange:e=>{D(e)},onOptionSelect:e=>{te(e.current),T(!1)},isSelected:e.props.value===C,isSearching:z,selectOpened:A,childIndex:s,hasFocus:$===s,shouldClick:H,isAddBtnFocused:Y.current===document.activeElement})))}})()),_()))))})));exports.Select=p;
1
+ "use strict";var e=require("./Select.module.scss.cjs.js"),t=require("react"),s=require("../../../src/hooks/useClickOutside.cjs.js"),a=require("../../../src/hooks/useDetermineStatusIcon.cjs.js"),r=require("../../../src/readyclasses.module.scss.cjs.js"),n=require("../../../src/util/helper.cjs.js"),l=require("../../../Icon/Icon.cjs.js"),c=require("../Select.interfaces.cjs.js"),i=require("../useSelectPositionList.cjs.js"),o=require("../useAddNewBtn.cjs.js"),u=require("./useSearch.cjs.js"),d=require("./useArrowNavigation.cjs.js");const p=require("../../../withReadOnly.cjs.js").withReadOnly(t.forwardRef((({children:p,name:h,disabled:m=!1,labeledBy:f,placeholder:v,describedBy:b,selectButtonProps:j,className:w,error:S=!1,success:y=!1,value:C,clearLabel:E="Clear selection",noResultsLabel:N="No results found",onChange:g,addNew:I,search:R,isReadOnlyView:x,...q},B)=>{const[O,A]=t.useState(!1),[k,L]=t.useState(""),P=t.useRef(null),F=t.useRef(null),[$,D]=t.useState(-1),[H,T]=t.useState(!1),[V,K]=t.useState(!1),M=t.Children.count(p),{filter:U,isSearching:z,renderSearch:G,searchInputRef:J,setIsSearching:Q,searchThreshold:W,searchVisible:X}=u.useSearch({expanded:O,search:R,searchInputClassName:e.default["select-search"],optionsCount:M,setFocusedSelectItem:D}),{addBtnRef:Y,addNewBtnOptionsContainerClassName:Z,renderAddNew:_}=o.useAddNewBtn({addNew:I,filter:U,focusedSelectItem:$,optionsCount:M,searchInputRef:J}),ee=B||t.createRef(),te=e=>{ee.current&&e&&(ee.current.value=e.getAttribute("data-value"),ee.current.dispatchEvent(new Event("change",{bubbles:!0}))),A(!1)},se=t.useRef(null),{onArrowNavigation:ae}=d.useArrowNavigation({expanded:O,setExpanded:A,isSearching:z,setIsSearching:Q,setFocusedSelectItem:D,onOptionChangeHandler:te,childrenCount:M,setShouldClick:T,searchInputRef:J,addBtnRef:Y,renderThreshold:W,isReadOnlyView:x||!!q["data-readonlyview"]}),{listPosition:re,opacity:ne,optionsListMaxHeight:le,setListPosition:ce,setOpacity:ie}=i.useSelectPositionList({expanded:O,optionListReference:F,containerReference:P,addBtnRef:Y}),oe=a.useDetermineStatusIcon({success:y,error:S});t.useEffect((()=>{O&&(D(0),K(!0)),!O&&se.current&&V&&(se.current.focus(),K(!1))}),[O,se.current,V]),t.useEffect((()=>{var e;e=C,t.Children.forEach(p,(t=>{t.props.value===e&&L(t.props.children)}))}),[C]);const ue=t.useRef(null);s.useClickOutside(ue,(()=>{O&&(A(!1),ce(c.Position.Below),ie(0))}),[O]);const de=[];return O&&de.push(e.default.expanded),S&&de.push(e.default.error),m&&de.push(e.default.disabled),w&&de.push(w),y&&de.push(e.default.success),t.createElement("div",{ref:ue},t.createElement("select",{...n.filterProps(q,/^data-/,!1),tabIndex:-1,"aria-hidden":"true",ref:ee,name:h,onChange:e=>{null==g||g(e)},className:r.default["sr-only"]},t.createElement("option",{value:""}),t.Children.map(p,(e=>t.createElement("option",{value:e.props.value})))),t.createElement("div",{...n.filterProps(q,/^data-/),ref:P,onKeyDown:ae,className:`custom-select ${e.default.select} ${de.join(" ")}`},X&&G(),t.createElement("button",{...j,onClick:()=>{A(!x&&!q["data-readonlyview"]&&!O)},ref:se,type:"button",name:h,className:`${e.default["custom-select"]} ${de.join(" ")} `,style:{display:O&&X?"none":"block"},disabled:m,"aria-disabled":m,"aria-invalid":S,"aria-expanded":O,"aria-haspopup":"listbox","aria-labelledby":f,"aria-describedby":b},t.createElement("div",{"data-display":!0,className:e.default.selected},!C&&v&&t.createElement("span",{className:e.default.placeholder},v),(null==C?void 0:C.length)>0&&t.createElement("span",{"data-display-inner":!0},k)),t.createElement("div",{className:e.default.status},oe||(O?t.createElement(l.Icon,{className:e.default["chevron-icon"],icon:l.Icons.ChevronUp}):t.createElement(l.Icon,{className:e.default["chevron-icon"],icon:l.Icons.ChevronDown})))),t.createElement("div",{className:"list-wrapper-container"},t.createElement("div",{ref:F,className:`list-wrapper ${e.default["list-wrapper"]}`,style:{display:O?"block":"none",opacity:ne,maxHeight:le.wrapper,pointerEvents:O?"auto":"none",bottom:re===c.Position.Above?"2.85rem":"initial",marginTop:"4px"}},t.createElement("ul",{className:Z,role:"listbox",style:{maxHeight:le.list}},(()=>{if(z||""!==U){const a=t.Children.toArray(p).filter((e=>null!==e.props.children.toLowerCase().match(U.toLowerCase())));return 0===s(a).length?t.createElement("li",{className:e.default["no-results"]},N):s(a)}return s(p);function s(e){return t.Children.map(e,((e,s)=>t.cloneElement(e,{onFocusChange:e=>{D(e)},onOptionSelect:e=>{te(e.current),T(!1)},isSelected:e.props.value===C,isSearching:z,selectOpened:O,childIndex:s,hasFocus:$===s,shouldClick:H,isAddBtnFocused:Y.current===document.activeElement})))}})()),_()))))})));exports.Select=p;
2
2
  //# sourceMappingURL=Select.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Select.cjs.js","sources":["../../../../../../../src/components/Form/Select/SingleSelect/Select.tsx"],"sourcesContent":["/*\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport classes from \"./Select.module.scss\";\n\nimport React, {\n createRef,\n ForwardRefRenderFunction,\n Fragment,\n ReactElement,\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 { filterProps } from \"../../../../util/helper\";\nimport { Icon, Icons } from \"../../../Icon/Icon\";\nimport { Position, SingleSelectProps } from \"../Select.interfaces\";\nimport { useSelectPositionList } from \"../useSelectPositionList\";\nimport { useAddNewBtn } from \"../useAddNewBtn\";\nimport { useSearch } from \"./useSearch\";\nimport { useArrowNavigation } from \"./useArrowNavigation\";\nimport { withReadOnly } from \"../../../withReadOnly\";\n\nconst SelectComponent: ForwardRefRenderFunction<HTMLSelectElement, SingleSelectProps> = (\n {\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,\n isReadOnlyView,\n ...rest\n }: SingleSelectProps,\n ref\n) => {\n const [expanded, setExpanded] = useState(false);\n const [display, setDisplay] = useState(\"\");\n const containerReference = useRef<HTMLDivElement>(null);\n const optionListReference = useRef<HTMLDivElement>(null);\n const [focusedSelectItem, setFocusedSelectItem] = useState(-1);\n const [shouldClick, setShouldClick] = useState(false);\n /** We need this, because whenever we use the arrow keys to select the select item, and we focus the currently selected item it fires the \"click\" listener in Option component. Instead, we only want this to fire if we press \"enter\" or \"spacebar\" so we set this to true whenever that is the case, and back to false when it has been executed. */\n const [shouldFocusButtonAfterClose, setShouldFocusButtonAfterClose] = useState(false);\n const optionsCount = React.Children.count(children);\n const {\n filter,\n isSearching,\n renderSearch,\n searchInputRef,\n setIsSearching,\n searchThreshold,\n searchVisible\n } = useSearch({\n expanded,\n search,\n searchInputClassName: classes[\"select-search\"],\n optionsCount,\n setFocusedSelectItem\n });\n const { addBtnRef, addNewBtnOptionsContainerClassName, renderAddNew } = useAddNewBtn({\n addNew,\n filter,\n focusedSelectItem,\n optionsCount,\n searchInputRef\n });\n\n const nativeSelect = (ref as React.RefObject<HTMLSelectElement>) || createRef();\n\n const onOptionChangeHandler = (optionElement: HTMLElement | null) => {\n if (nativeSelect.current && optionElement) {\n nativeSelect.current.value = optionElement.getAttribute(\"data-value\")!;\n nativeSelect.current.dispatchEvent(new Event(\"change\", { bubbles: true }));\n }\n\n setExpanded(false);\n };\n\n const customSelectButtonRef = useRef<HTMLButtonElement>(null);\n const { onArrowNavigation } = useArrowNavigation({\n expanded,\n setExpanded,\n isSearching,\n setIsSearching,\n setFocusedSelectItem,\n onOptionChangeHandler,\n childrenCount: optionsCount,\n setShouldClick,\n searchInputRef,\n addBtnRef,\n renderThreshold: searchThreshold,\n isReadOnlyView: isReadOnlyView || !!rest[\"data-readonlyview\"]\n });\n\n const { listPosition, opacity, optionsListMaxHeight, setListPosition, setOpacity } =\n useSelectPositionList({ expanded, optionListReference, containerReference, addBtnRef });\n\n const syncDisplayValue = (val: string) => {\n React.Children.forEach(children, child => {\n if (child.props.value === val) {\n setDisplay(child.props.children);\n }\n });\n };\n\n /**\n * @description We have to modify the children (Option component) to have an additional props that allows us to keep track of which one is selected and focused at all times and if a filter is active.\n * The `children` prop can be either a single object (1 child) or an array of multiple children.\n */\n const renderOptions = () => {\n if (isSearching || filter !== \"\") {\n const filteredChildren = React.Children.toArray(children).filter(\n child =>\n (child as ReactElement).props.children.toLowerCase().match(filter.toLowerCase()) !== null\n );\n\n const internalChildren = _internalRenderChildren(filteredChildren as ReactElement[]);\n\n if (internalChildren.length === 0) {\n return <li className={classes[\"no-results\"]}>{noResultsLabel}</li>;\n }\n\n return _internalRenderChildren(filteredChildren as ReactElement[]);\n }\n\n return _internalRenderChildren(children);\n\n function _internalRenderChildren(internalChildren: ReactElement[]) {\n return React.Children.map(internalChildren, (child, index) => {\n return React.cloneElement(child, {\n onFocusChange: (childIndex: number) => {\n setFocusedSelectItem(childIndex);\n },\n onOptionSelect: (optionRef: React.RefObject<HTMLLIElement>) => {\n onOptionChangeHandler(optionRef.current);\n setShouldClick(false);\n },\n isSelected: child.props.value === value,\n isSearching: isSearching,\n selectOpened: expanded,\n childIndex: index,\n hasFocus: focusedSelectItem === index,\n shouldClick: shouldClick,\n isAddBtnFocused: addBtnRef.current === document.activeElement\n });\n });\n }\n };\n\n const 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) {\n setFocusedSelectItem(0);\n setShouldFocusButtonAfterClose(true);\n }\n\n if (!expanded && customSelectButtonRef.current && shouldFocusButtonAfterClose) {\n customSelectButtonRef.current.focus();\n setShouldFocusButtonAfterClose(false);\n }\n }, [expanded, customSelectButtonRef.current, shouldFocusButtonAfterClose]);\n\n useEffect(() => {\n syncDisplayValue(value);\n }, [value]);\n\n useBodyClick(\n (event: MouseEvent) => !(event.target as Element).closest(\".custom-select\") && expanded,\n () => {\n setExpanded(false);\n setListPosition(Position.Below);\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 /** The native select is purely for external form libraries. We use it to emit an onChange with native select event object so they know exactly what's happening. */\n return (\n <Fragment>\n <select\n {...filterProps(rest, /^data-/, false)}\n tabIndex={-1}\n aria-hidden=\"true\"\n ref={nativeSelect}\n name={name}\n onChange={nativeOnChangeHandler}\n className={readyclasses[\"sr-only\"]}\n >\n <option value=\"\"></option>\n {React.Children.map(children, child => (\n <option value={child.props.value}></option>\n ))}\n </select>\n <div\n {...filterProps(rest, /^data-/)}\n ref={containerReference}\n onKeyDown={onArrowNavigation}\n className={`custom-select ${classes.select} ${additionalClasses.join(\" \")}`}\n >\n {searchVisible && renderSearch()}\n <button\n {...selectButtonProps}\n onClick={() => {\n setExpanded(isReadOnlyView || rest[\"data-readonlyview\"] ? false : !expanded);\n }}\n ref={customSelectButtonRef}\n type=\"button\"\n name={name}\n className={`${classes[\"custom-select\"]} ${additionalClasses.join(\" \")} `}\n style={{ display: expanded && searchVisible ? \"none\" : \"block\" }}\n disabled={disabled}\n aria-disabled={disabled}\n aria-invalid={error}\n aria-expanded={expanded}\n aria-haspopup=\"listbox\"\n aria-labelledby={labeledBy}\n aria-describedby={describedBy}\n >\n <div data-display className={classes[\"selected\"]}>\n {!value && placeholder && <span className={classes[\"placeholder\"]}>{placeholder}</span>}\n {value?.length > 0 && <span data-display-inner>{display}</span>}\n </div>\n <div className={classes[\"status\"]}>{icon || renderChevronIcon()}</div>\n </button>\n <div className=\"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 bottom: listPosition === Position.Above ? \"2.85rem\" : \"initial\",\n marginTop: \"4px\"\n }}\n >\n <ul\n className={addNewBtnOptionsContainerClassName}\n role=\"listbox\"\n style={{ maxHeight: optionsListMaxHeight.list }}\n >\n {renderOptions()}\n </ul>\n {renderAddNew()}\n </div>\n </div>\n </div>\n </Fragment>\n );\n};\nexport const Select = withReadOnly(React.forwardRef(SelectComponent));\n"],"names":["Select","withReadOnly","React","forwardRef","children","name","disabled","labeledBy","placeholder","describedBy","selectButtonProps","className","error","success","value","clearLabel","noResultsLabel","onChange","addNew","search","isReadOnlyView","rest","ref","expanded","setExpanded","useState","display","setDisplay","containerReference","useRef","optionListReference","focusedSelectItem","setFocusedSelectItem","shouldClick","setShouldClick","shouldFocusButtonAfterClose","setShouldFocusButtonAfterClose","optionsCount","Children","count","filter","isSearching","renderSearch","searchInputRef","setIsSearching","searchThreshold","searchVisible","useSearch","searchInputClassName","classes","default","addBtnRef","addNewBtnOptionsContainerClassName","renderAddNew","useAddNewBtn","nativeSelect","createRef","onOptionChangeHandler","optionElement","current","getAttribute","dispatchEvent","Event","bubbles","customSelectButtonRef","onArrowNavigation","useArrowNavigation","childrenCount","renderThreshold","listPosition","opacity","optionsListMaxHeight","setListPosition","setOpacity","useSelectPositionList","icon","useDetermineStatusIcon","useEffect","focus","val","forEach","child","props","useBodyClick","event","target","closest","Position","Below","additionalClasses","push","Fragment","createElement","filterProps","tabIndex","readyclasses","map","onKeyDown","select","join","onClick","type","style","length","Icon","Icons","ChevronUp","ChevronDown","maxHeight","wrapper","pointerEvents","bottom","Above","marginTop","role","list","filteredChildren","toArray","toLowerCase","match","_internalRenderChildren","internalChildren","index","cloneElement","onFocusChange","childIndex","onOptionSelect","optionRef","isSelected","selectOpened","hasFocus","isAddBtnFocused","document","activeElement","renderOptions"],"mappings":"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"}
1
+ {"version":3,"file":"Select.cjs.js","sources":["../../../../../../../src/components/Form/Select/SingleSelect/Select.tsx"],"sourcesContent":["/*\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport classes from \"./Select.module.scss\";\n\nimport React, {\n createRef,\n ForwardRefRenderFunction,\n ReactElement,\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 { filterProps } from \"../../../../util/helper\";\nimport { Icon, Icons } from \"../../../Icon/Icon\";\nimport { Position, SingleSelectProps } from \"../Select.interfaces\";\nimport { useSelectPositionList } from \"../useSelectPositionList\";\nimport { useAddNewBtn } from \"../useAddNewBtn\";\nimport { useSearch } from \"./useSearch\";\nimport { useArrowNavigation } from \"./useArrowNavigation\";\nimport { withReadOnly } from \"../../../withReadOnly\";\n\nconst SelectComponent: ForwardRefRenderFunction<HTMLSelectElement, SingleSelectProps> = (\n {\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,\n isReadOnlyView,\n ...rest\n }: SingleSelectProps,\n ref\n) => {\n const [expanded, setExpanded] = useState(false);\n const [display, setDisplay] = useState(\"\");\n const containerReference = useRef<HTMLDivElement>(null);\n const optionListReference = useRef<HTMLDivElement>(null);\n const [focusedSelectItem, setFocusedSelectItem] = useState(-1);\n const [shouldClick, setShouldClick] = useState(false);\n /** We need this, because whenever we use the arrow keys to select the select item, and we focus the currently selected item it fires the \"click\" listener in Option component. Instead, we only want this to fire if we press \"enter\" or \"spacebar\" so we set this to true whenever that is the case, and back to false when it has been executed. */\n const [shouldFocusButtonAfterClose, setShouldFocusButtonAfterClose] = useState(false);\n const optionsCount = React.Children.count(children);\n const {\n filter,\n isSearching,\n renderSearch,\n searchInputRef,\n setIsSearching,\n searchThreshold,\n searchVisible\n } = useSearch({\n expanded,\n search,\n searchInputClassName: classes[\"select-search\"],\n optionsCount,\n setFocusedSelectItem\n });\n const { addBtnRef, addNewBtnOptionsContainerClassName, renderAddNew } = useAddNewBtn({\n addNew,\n filter,\n focusedSelectItem,\n optionsCount,\n searchInputRef\n });\n\n const nativeSelect = (ref as React.RefObject<HTMLSelectElement>) || createRef();\n\n const onOptionChangeHandler = (optionElement: HTMLElement | null) => {\n if (nativeSelect.current && optionElement) {\n nativeSelect.current.value = optionElement.getAttribute(\"data-value\")!;\n nativeSelect.current.dispatchEvent(new Event(\"change\", { bubbles: true }));\n }\n\n setExpanded(false);\n };\n\n const customSelectButtonRef = useRef<HTMLButtonElement>(null);\n const { onArrowNavigation } = useArrowNavigation({\n expanded,\n setExpanded,\n isSearching,\n setIsSearching,\n setFocusedSelectItem,\n onOptionChangeHandler,\n childrenCount: optionsCount,\n setShouldClick,\n searchInputRef,\n addBtnRef,\n renderThreshold: searchThreshold,\n isReadOnlyView: isReadOnlyView || !!rest[\"data-readonlyview\"]\n });\n\n const { listPosition, opacity, optionsListMaxHeight, setListPosition, setOpacity } =\n useSelectPositionList({ expanded, optionListReference, containerReference, addBtnRef });\n\n const syncDisplayValue = (val: string) => {\n React.Children.forEach(children, child => {\n if (child.props.value === val) {\n setDisplay(child.props.children);\n }\n });\n };\n\n /**\n * @description We have to modify the children (Option component) to have an additional props that allows us to keep track of which one is selected and focused at all times and if a filter is active.\n * The `children` prop can be either a single object (1 child) or an array of multiple children.\n */\n const renderOptions = () => {\n if (isSearching || filter !== \"\") {\n const filteredChildren = React.Children.toArray(children).filter(\n child =>\n (child as ReactElement).props.children.toLowerCase().match(filter.toLowerCase()) !== null\n );\n\n const internalChildren = _internalRenderChildren(filteredChildren as ReactElement[]);\n\n if (internalChildren.length === 0) {\n return <li className={classes[\"no-results\"]}>{noResultsLabel}</li>;\n }\n\n return _internalRenderChildren(filteredChildren as ReactElement[]);\n }\n\n return _internalRenderChildren(children);\n\n function _internalRenderChildren(internalChildren: ReactElement[]) {\n return React.Children.map(internalChildren, (child, index) => {\n return React.cloneElement(child, {\n onFocusChange: (childIndex: number) => {\n setFocusedSelectItem(childIndex);\n },\n onOptionSelect: (optionRef: React.RefObject<HTMLLIElement>) => {\n onOptionChangeHandler(optionRef.current);\n setShouldClick(false);\n },\n isSelected: child.props.value === value,\n isSearching: isSearching,\n selectOpened: expanded,\n childIndex: index,\n hasFocus: focusedSelectItem === index,\n shouldClick: shouldClick,\n isAddBtnFocused: addBtnRef.current === document.activeElement\n });\n });\n }\n };\n\n const 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) {\n setFocusedSelectItem(0);\n setShouldFocusButtonAfterClose(true);\n }\n\n if (!expanded && customSelectButtonRef.current && shouldFocusButtonAfterClose) {\n customSelectButtonRef.current.focus();\n setShouldFocusButtonAfterClose(false);\n }\n }, [expanded, customSelectButtonRef.current, shouldFocusButtonAfterClose]);\n\n useEffect(() => {\n syncDisplayValue(value);\n }, [value]);\n\n 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 /** 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 aria-hidden=\"true\"\n ref={nativeSelect}\n name={name}\n onChange={nativeOnChangeHandler}\n className={readyclasses[\"sr-only\"]}\n >\n <option value=\"\"></option>\n {React.Children.map(children, child => (\n <option value={child.props.value}></option>\n ))}\n </select>\n <div\n {...filterProps(rest, /^data-/)}\n ref={containerReference}\n onKeyDown={onArrowNavigation}\n className={`custom-select ${classes.select} ${additionalClasses.join(\" \")}`}\n >\n {searchVisible && renderSearch()}\n <button\n {...selectButtonProps}\n onClick={() => {\n setExpanded(isReadOnlyView || rest[\"data-readonlyview\"] ? false : !expanded);\n }}\n ref={customSelectButtonRef}\n type=\"button\"\n name={name}\n className={`${classes[\"custom-select\"]} ${additionalClasses.join(\" \")} `}\n style={{ display: expanded && searchVisible ? \"none\" : \"block\" }}\n disabled={disabled}\n aria-disabled={disabled}\n aria-invalid={error}\n aria-expanded={expanded}\n aria-haspopup=\"listbox\"\n aria-labelledby={labeledBy}\n aria-describedby={describedBy}\n >\n <div data-display className={classes[\"selected\"]}>\n {!value && placeholder && <span className={classes[\"placeholder\"]}>{placeholder}</span>}\n {value?.length > 0 && <span data-display-inner>{display}</span>}\n </div>\n <div className={classes[\"status\"]}>{icon || renderChevronIcon()}</div>\n </button>\n <div className=\"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 bottom: listPosition === Position.Above ? \"2.85rem\" : \"initial\",\n marginTop: \"4px\"\n }}\n >\n <ul\n className={addNewBtnOptionsContainerClassName}\n role=\"listbox\"\n style={{ maxHeight: optionsListMaxHeight.list }}\n >\n {renderOptions()}\n </ul>\n {renderAddNew()}\n </div>\n </div>\n </div>\n </div>\n );\n};\nexport const Select = withReadOnly(React.forwardRef(SelectComponent));\n"],"names":["Select","withReadOnly","React","forwardRef","children","name","disabled","labeledBy","placeholder","describedBy","selectButtonProps","className","error","success","value","clearLabel","noResultsLabel","onChange","addNew","search","isReadOnlyView","rest","ref","expanded","setExpanded","useState","display","setDisplay","containerReference","useRef","optionListReference","focusedSelectItem","setFocusedSelectItem","shouldClick","setShouldClick","shouldFocusButtonAfterClose","setShouldFocusButtonAfterClose","optionsCount","Children","count","filter","isSearching","renderSearch","searchInputRef","setIsSearching","searchThreshold","searchVisible","useSearch","searchInputClassName","classes","default","addBtnRef","addNewBtnOptionsContainerClassName","renderAddNew","useAddNewBtn","nativeSelect","createRef","onOptionChangeHandler","optionElement","current","getAttribute","dispatchEvent","Event","bubbles","customSelectButtonRef","onArrowNavigation","useArrowNavigation","childrenCount","renderThreshold","listPosition","opacity","optionsListMaxHeight","setListPosition","setOpacity","useSelectPositionList","icon","useDetermineStatusIcon","useEffect","focus","val","forEach","child","props","myElementRef","useClickOutside","Position","Below","additionalClasses","push","createElement","filterProps","tabIndex","event","readyclasses","map","onKeyDown","select","join","onClick","type","style","length","Icon","Icons","ChevronUp","ChevronDown","maxHeight","wrapper","pointerEvents","bottom","Above","marginTop","role","list","filteredChildren","toArray","toLowerCase","match","_internalRenderChildren","internalChildren","index","cloneElement","onFocusChange","childIndex","onOptionSelect","optionRef","isSelected","selectOpened","hasFocus","isAddBtnFocused","document","activeElement","renderOptions"],"mappings":"mhBAsCA,MAoQaA,0CAAqBC,aAACC,EAAMC,YApQ+C,EAEpFC,WACAC,OACAC,YAAW,EACXC,YACAC,cACAC,cACAC,oBACAC,YACAC,SAAQ,EACRC,WAAU,EACVC,QACAC,aAAa,kBACbC,iBAAiB,mBACjBC,WACAC,SACAC,SACAC,oBACGC,GAELC,KAEA,MAAOC,EAAUC,GAAeC,EAAQA,UAAC,IAClCC,EAASC,GAAcF,EAAQA,SAAC,IACjCG,EAAqBC,SAAuB,MAC5CC,EAAsBD,SAAuB,OAC5CE,EAAmBC,GAAwBP,EAAAA,UAAU,IACrDQ,EAAaC,GAAkBT,EAAQA,UAAC,IAExCU,EAA6BC,GAAkCX,EAAQA,UAAC,GACzEY,EAAenC,EAAMoC,SAASC,MAAMnC,IACpCoC,OACJA,EAAMC,YACNA,EAAWC,aACXA,EAAYC,eACZA,EAAcC,eACdA,EAAcC,gBACdA,EAAeC,cACfA,GACEC,YAAU,CACZxB,WACAJ,SACA6B,qBAAsBC,EAAOC,QAAC,iBAC9Bb,eACAL,0BAEImB,UAAEA,EAASC,mCAAEA,EAAkCC,aAAEA,GAAiBC,EAAAA,aAAa,CACnFpC,SACAsB,SACAT,oBACAM,eACAM,mBAGIY,GAAgBjC,GAA8CkC,EAAAA,YAE9DC,GAAyBC,IACzBH,GAAaI,SAAWD,IAC1BH,GAAaI,QAAQ7C,MAAQ4C,EAAcE,aAAa,cACxDL,GAAaI,QAAQE,cAAc,IAAIC,MAAM,SAAU,CAAEC,SAAS,MAGpEvC,GAAY,EAAM,EAGdwC,GAAwBnC,SAA0B,OAClDoC,kBAAEA,IAAsBC,qBAAmB,CAC/C3C,WACAC,cACAiB,cACAG,iBACAZ,uBACAyB,yBACAU,cAAe9B,EACfH,iBACAS,iBACAQ,YACAiB,gBAAiBvB,EACjBzB,eAAgBA,KAAoBC,EAAK,wBAGrCgD,aAAEA,GAAYC,QAAEA,GAAOC,qBAAEA,GAAoBC,gBAAEA,GAAeC,WAAEA,IACpEC,EAAqBA,sBAAC,CAAEnD,WAAUO,sBAAqBF,qBAAoBuB,cA8DvEwB,GAAOC,EAAsBA,uBAAC,CAAE/D,UAASD,UAM/CiE,EAAAA,WAAU,KACJtD,IACFS,EAAqB,GACrBI,GAA+B,KAG5Bb,GAAYyC,GAAsBL,SAAWxB,IAChD6B,GAAsBL,QAAQmB,QAC9B1C,GAA+B,GAChC,GACA,CAACb,EAAUyC,GAAsBL,QAASxB,IAE7C0C,EAAAA,WAAU,KA9Ee,IAACE,IA+EPjE,EA9EjBZ,EAAMoC,SAAS0C,QAAQ5E,GAAU6E,IAC3BA,EAAMC,MAAMpE,QAAUiE,GACxBpD,EAAWsD,EAAMC,MAAM9E,SACxB,GA2EoB,GACtB,CAACU,IAEJ,MAAMqE,GAAetD,SAAuB,MAE5CuD,EAAeA,gBAACD,IAAc,KACvB5D,IAGLC,GAAY,GACZgD,GAAgBa,EAAAA,SAASC,OACzBb,GAAW,GAAE,GACZ,CAAClD,IAEJ,MAAMgE,GAAoB,GAQ1B,OAPAhE,GAAYgE,GAAkBC,KAAKvC,EAAOC,QAAC3B,UAC3CX,GAAS2E,GAAkBC,KAAKvC,EAAOC,QAACtC,OACxCN,GAAYiF,GAAkBC,KAAKvC,EAAOC,QAAC5C,UAC3CK,GAAa4E,GAAkBC,KAAK7E,GACpCE,GAAW0E,GAAkBC,KAAKvC,EAAOC,QAACrC,SAIxCX,EAAAuF,cAAA,MAAA,CAAKnE,IAAK6D,IACRjF,EAAAuF,cAAA,SAAA,IACMC,EAAWA,YAACrE,EAAM,UAAU,GAChCsE,UAAW,gBACC,OACZrE,IAAKiC,GACLlD,KAAMA,EACNY,SA/CyB2E,IAC7B3E,SAAAA,EAAW2E,EAAM,EA+CbjF,UAAWkF,UAAa,YAExB3F,EAAQuF,cAAA,SAAA,CAAA3E,MAAM,KACbZ,EAAMoC,SAASwD,IAAI1F,GAAU6E,GAC5B/E,EAAQuF,cAAA,SAAA,CAAA3E,MAAOmE,EAAMC,MAAMpE,WAG/BZ,EAAAuF,cAAA,MAAA,IACMC,EAAAA,YAAYrE,EAAM,UACtBC,IAAKM,EACLmE,UAAW9B,GACXtD,UAAW,iBAAiBsC,EAAAA,QAAQ+C,UAAUT,GAAkBU,KAAK,QAEpEnD,GAAiBJ,IAClBxC,EAAAuF,cAAA,SAAA,IACM/E,EACJwF,QAAS,KACP1E,GAAYJ,IAAkBC,EAAK,uBAAgCE,EAAS,EAE9ED,IAAK0C,GACLmC,KAAK,SACL9F,KAAMA,EACNM,UAAW,GAAGsC,EAAOC,QAAC,oBAAoBqC,GAAkBU,KAAK,QACjEG,MAAO,CAAE1E,QAASH,GAAYuB,EAAgB,OAAS,SACvDxC,SAAUA,EACK,gBAAAA,EACD,eAAAM,EACC,gBAAAW,EACD,gBAAA,UACG,kBAAAhB,qBACCE,GAElBP,EAAAuF,cAAA,MAAA,CAAA,gBAAA,EAAkB9E,UAAWsC,UAAkB,WAC3CnC,GAASN,GAAeN,EAAMuF,cAAA,OAAA,CAAA9E,UAAWsC,EAAOC,QAAc,aAAI1C,IACnEM,aAAK,EAALA,EAAOuF,QAAS,GAAKnG,EAA0BuF,cAAA,OAAA,CAAA,sBAAA,GAAA/D,IAElDxB,EAAAuF,cAAA,MAAA,CAAK9E,UAAWsC,EAAAA,QAAgB,QAAI0B,KA7FnCpD,EACLrB,EAAAuF,cAACa,OAAK,CAAA3F,UAAWsC,EAAAA,QAAQ,gBAAiB0B,KAAM4B,EAAKA,MAACC,YAEtDtG,EAAAuF,cAACa,OAAK,CAAA3F,UAAWsC,EAAOC,QAAC,gBAAiByB,KAAM4B,EAAAA,MAAME,iBA4FpDvG,EAAKuF,cAAA,MAAA,CAAA9E,UAAU,0BACbT,EAAAuF,cAAA,MAAA,CACEnE,IAAKQ,EACLnB,UAAW,gBAAgBsC,EAAAA,QAAQ,kBACnCmD,MAAO,CACL1E,QAASH,EAAW,QAAU,OAC9B+C,QAASA,GACToC,UAAWnC,GAAqBoC,QAChCC,cAAerF,EAAW,OAAS,OACnCsF,OAAQxC,KAAiBgB,EAAAA,SAASyB,MAAQ,UAAY,UACtDC,UAAW,QAGb7G,EACEuF,cAAA,KAAA,CAAA9E,UAAWyC,EACX4D,KAAK,UACLZ,MAAO,CAAEM,UAAWnC,GAAqB0C,OAxJ/B,MACpB,GAAIxE,GAA0B,KAAXD,EAAe,CAChC,MAAM0E,EAAmBhH,EAAMoC,SAAS6E,QAAQ/G,GAAUoC,QACxDyC,GACuF,OAApFA,EAAuBC,MAAM9E,SAASgH,cAAcC,MAAM7E,EAAO4E,iBAKtE,OAAgC,IAFPE,EAAwBJ,GAE5Bb,OACZnG,EAAAuF,cAAA,KAAA,CAAI9E,UAAWsC,EAAAA,QAAQ,eAAgBjC,GAGzCsG,EAAwBJ,EAChC,CAED,OAAOI,EAAwBlH,GAE/B,SAASkH,EAAwBC,GAC/B,OAAOrH,EAAMoC,SAASwD,IAAIyB,GAAkB,CAACtC,EAAOuC,IAC3CtH,EAAMuH,aAAaxC,EAAO,CAC/ByC,cAAgBC,IACd3F,EAAqB2F,EAAW,EAElCC,eAAiBC,IACfpE,GAAsBoE,EAAUlE,SAChCzB,GAAe,EAAM,EAEvB4F,WAAY7C,EAAMC,MAAMpE,QAAUA,EAClC2B,YAAaA,EACbsF,aAAcxG,EACdoG,WAAYH,EACZQ,SAAUjG,IAAsByF,EAChCvF,YAAaA,EACbgG,gBAAiB9E,EAAUQ,UAAYuE,SAASC,iBAGrD,GAqHUC,IAEF/E,OAKT"}
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("react"),t=require("./Select.interfaces.cjs.js");exports.useSelectPositionList=({expanded:n,optionListReference:o,addBtnRef:i,containerReference:r})=>{const[c,s]=e.useState({wrapper:void 0,list:void 0}),[u,a]=e.useState(0),[l,p]=e.useState(t.Position.Below);e.useEffect((()=>{d()}),[n]);const d=()=>{if(!n||!o.current||!r.current)return;const e=r.current.getBoundingClientRect().bottom,i=window.innerHeight-r.current.getBoundingClientRect().top;let c=t.Position.Below;e>i&&(c=t.Position.Above),p(c),g(c)},g=e=>{var n;const c=null===(n=o.current)||void 0===n?void 0:n.getBoundingClientRect().height,u=i.current?i.current.getBoundingClientRect().height+parseInt(getComputedStyle(i.current).marginBottom):0,l=e===t.Position.Below?"top":"bottom";if(!r.current)return void console.error("The containerReference is empty for some reason in the SelectService.ts for the Select component in react-lib-components. We are trying to calculate the option list max height on expand");const p="top"===l?window.innerHeight-r.current.getBoundingClientRect().bottom-16:r.current.getBoundingClientRect().top-16;if(c&&p<c+u){return s({wrapper:`${p}px`,list:u>0?p-u+"px":"none"}),void a(100)}s({wrapper:void 0,list:void 0}),a(100)};return{optionsListMaxHeight:c,opacity:u,setOpacity:a,listPosition:l,setListPosition:p}};
1
+ "use strict";var e=require("react"),t=require("./Select.interfaces.cjs.js");exports.useSelectPositionList=({expanded:n,optionListReference:o,addBtnRef:i,containerReference:r})=>{const[c,s]=e.useState({wrapper:void 0,list:void 0}),[u,a]=e.useState(0),[l,p]=e.useState(t.Position.Below);e.useEffect((()=>{d()}),[n]);const d=()=>{var e;if(!n||!o.current||!r.current)return;const i=null===(e=o.current)||void 0===e?void 0:e.getBoundingClientRect().height,c=r.current.getBoundingClientRect(),s=c.top,u=window.innerHeight-c.bottom,a=i>u&&s>u?t.Position.Above:t.Position.Below;p(a),g(a)},g=e=>{var n;const c=null===(n=o.current)||void 0===n?void 0:n.getBoundingClientRect().height,u=i.current?i.current.getBoundingClientRect().height+parseInt(getComputedStyle(i.current).marginBottom):0,l=e===t.Position.Below?"top":"bottom";if(!r.current)return void console.error("The containerReference is empty for some reason in the SelectService.ts for the Select component in react-lib-components. We are trying to calculate the option list max height on expand");const p="top"===l?window.innerHeight-r.current.getBoundingClientRect().bottom-16:r.current.getBoundingClientRect().top-16;if(c&&p<c+u){return s({wrapper:`${p}px`,list:u>0?p-u+"px":"none"}),void a(100)}s({wrapper:void 0,list:void 0}),a(100)};return{optionsListMaxHeight:c,opacity:u,setOpacity:a,listPosition:l,setListPosition:p}};
2
2
  //# sourceMappingURL=useSelectPositionList.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useSelectPositionList.cjs.js","sources":["../../../../../../src/components/Form/Select/useSelectPositionList.ts"],"sourcesContent":["/*\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { useEffect, useState } from \"react\";\nimport { Position, UseSelectPositionListParams } from \"./Select.interfaces\";\n\n/** @scope .*/\nexport const useSelectPositionList = ({\n expanded,\n optionListReference,\n addBtnRef,\n containerReference\n}: UseSelectPositionListParams) => {\n const [optionsListMaxHeight, setOptionsListMaxHeight] = useState<{\n wrapper?: string;\n list?: string;\n }>({\n wrapper: undefined,\n list: undefined\n });\n const [opacity, setOpacity] = useState(0); // We set opacity because otherwise if we calculate the max height you see the list full height for a split second and then it shortens.\n const [listPosition, setListPosition] = useState<Position>(Position.Below);\n\n useEffect(() => {\n rePositionList();\n }, [expanded]);\n\n const rePositionList = () => {\n if (!expanded || !optionListReference.current || !containerReference.current) {\n return;\n }\n\n // Check whether there is more space above or below the select\n // Check space between the bottom of select and top of viewport\n const spaceOnTopOfSelect = containerReference.current.getBoundingClientRect().bottom;\n\n // Check space between the top of the select and bottom of viewport\n const spaceOnBottomOfSelect =\n window.innerHeight - containerReference.current.getBoundingClientRect().top;\n\n // Set position as if there's more space on the bottom\n let position = Position.Below;\n\n // Set the position of the select\n if (spaceOnTopOfSelect > spaceOnBottomOfSelect) {\n position = Position.Above;\n }\n\n setListPosition(position);\n\n // Calculate the potential max height of the options list\n calculateOptionListMaxHeight(position);\n };\n\n const calculateOptionListMaxHeight = (position: Position) => {\n // Calculate max height if there's more space below the select\n const listHeight = optionListReference.current?.getBoundingClientRect().height;\n const addNewButtonHeightWithMargin = addBtnRef.current\n ? addBtnRef.current.getBoundingClientRect().height +\n parseInt(getComputedStyle(addBtnRef.current).marginBottom)\n : 0;\n const transformOrigin = position === Position.Below ? \"top\" : \"bottom\";\n\n if (!containerReference.current) {\n console.error(\n \"The containerReference is empty for some reason in the SelectService.ts for the Select component in react-lib-components. We are trying to calculate the option list max height on expand\"\n );\n return;\n }\n\n const availableSpace =\n transformOrigin === \"top\"\n ? window.innerHeight - containerReference.current.getBoundingClientRect().bottom - 16\n : containerReference.current.getBoundingClientRect().top - 16;\n\n if (listHeight && availableSpace < listHeight + addNewButtonHeightWithMargin) {\n const maxHeightObject = {\n wrapper: `${availableSpace}px`,\n list:\n addNewButtonHeightWithMargin > 0\n ? `${availableSpace - addNewButtonHeightWithMargin}px`\n : \"none\"\n };\n setOptionsListMaxHeight(maxHeightObject);\n setOpacity(100);\n return;\n }\n\n setOptionsListMaxHeight({ wrapper: undefined, list: undefined });\n setOpacity(100);\n };\n\n return {\n optionsListMaxHeight,\n opacity,\n setOpacity,\n listPosition,\n setListPosition\n };\n};\n"],"names":["expanded","optionListReference","addBtnRef","containerReference","optionsListMaxHeight","setOptionsListMaxHeight","useState","wrapper","undefined","list","opacity","setOpacity","listPosition","setListPosition","Position","Below","useEffect","rePositionList","current","spaceOnTopOfSelect","getBoundingClientRect","bottom","spaceOnBottomOfSelect","window","innerHeight","top","position","Above","calculateOptionListMaxHeight","listHeight","_a","height","addNewButtonHeightWithMargin","parseInt","getComputedStyle","marginBottom","transformOrigin","console","error","availableSpace"],"mappings":"0GAoBqC,EACnCA,WACAC,sBACAC,YACAC,yBAEA,MAAOC,EAAsBC,GAA2BC,WAGrD,CACDC,aAASC,EACTC,UAAMD,KAEDE,EAASC,GAAcL,EAAQA,SAAC,IAChCM,EAAcC,GAAmBP,EAAAA,SAAmBQ,EAAAA,SAASC,OAEpEC,EAAAA,WAAU,KACRC,GAAgB,GACf,CAACjB,IAEJ,MAAMiB,EAAiB,KACrB,IAAKjB,IAAaC,EAAoBiB,UAAYf,EAAmBe,QACnE,OAKF,MAAMC,EAAqBhB,EAAmBe,QAAQE,wBAAwBC,OAGxEC,EACJC,OAAOC,YAAcrB,EAAmBe,QAAQE,wBAAwBK,IAG1E,IAAIC,EAAWZ,EAAQA,SAACC,MAGpBI,EAAqBG,IACvBI,EAAWZ,EAAQA,SAACa,OAGtBd,EAAgBa,GAGhBE,EAA6BF,EAAS,EAGlCE,EAAgCF,UAEpC,MAAMG,EAA0C,QAA7BC,EAAA7B,EAAoBiB,eAAS,IAAAY,OAAA,EAAAA,EAAAV,wBAAwBW,OAClEC,EAA+B9B,EAAUgB,QAC3ChB,EAAUgB,QAAQE,wBAAwBW,OAC1CE,SAASC,iBAAiBhC,EAAUgB,SAASiB,cAC7C,EACEC,EAAkBV,IAAaZ,EAAAA,SAASC,MAAQ,MAAQ,SAE9D,IAAKZ,EAAmBe,QAItB,YAHAmB,QAAQC,MACN,6LAKJ,MAAMC,EACgB,QAApBH,EACIb,OAAOC,YAAcrB,EAAmBe,QAAQE,wBAAwBC,OAAS,GACjFlB,EAAmBe,QAAQE,wBAAwBK,IAAM,GAE/D,GAAII,GAAcU,EAAiBV,EAAaG,EAA8B,CAU5E,OAFA3B,EAPwB,CACtBE,QAAS,GAAGgC,MACZ9B,KACEuB,EAA+B,EACxBO,EAAiBP,EAApB,KACA,cAGRrB,EAAW,IAEZ,CAEDN,EAAwB,CAAEE,aAASC,EAAWC,UAAMD,IACpDG,EAAW,IAAI,EAGjB,MAAO,CACLP,uBACAM,UACAC,aACAC,eACAC,kBACD"}
1
+ {"version":3,"file":"useSelectPositionList.cjs.js","sources":["../../../../../../src/components/Form/Select/useSelectPositionList.ts"],"sourcesContent":["/*\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { useEffect, useState } from \"react\";\nimport { Position, UseSelectPositionListParams } from \"./Select.interfaces\";\n\n/** @scope .*/\nexport const useSelectPositionList = ({\n expanded,\n optionListReference,\n addBtnRef,\n containerReference\n}: UseSelectPositionListParams) => {\n const [optionsListMaxHeight, setOptionsListMaxHeight] = useState<{\n wrapper?: string;\n list?: string;\n }>({\n wrapper: undefined,\n list: undefined\n });\n const [opacity, setOpacity] = useState(0); // We set opacity because otherwise if we calculate the max height you see the list full height for a split second and then it shortens.\n const [listPosition, setListPosition] = useState<Position>(Position.Below);\n\n useEffect(() => {\n rePositionList();\n }, [expanded]);\n\n const rePositionList = () => {\n if (!expanded || !optionListReference.current || !containerReference.current) {\n return;\n }\n\n const listHeight = optionListReference.current?.getBoundingClientRect().height;\n\n const viewportRelativeRect = containerReference.current.getBoundingClientRect();\n\n const spaceOnTopOfSelect = viewportRelativeRect.top;\n const spaceOnBottomOfSelect = window.innerHeight - viewportRelativeRect.bottom;\n\n const position =\n listHeight > spaceOnBottomOfSelect && spaceOnTopOfSelect > spaceOnBottomOfSelect\n ? Position.Above\n : Position.Below;\n\n setListPosition(position);\n\n // Calculate the potential max height of the options list\n calculateOptionListMaxHeight(position);\n };\n\n const calculateOptionListMaxHeight = (position: Position) => {\n // Calculate max height if there's more space below the select\n const listHeight = optionListReference.current?.getBoundingClientRect().height;\n const addNewButtonHeightWithMargin = addBtnRef.current\n ? addBtnRef.current.getBoundingClientRect().height +\n parseInt(getComputedStyle(addBtnRef.current).marginBottom)\n : 0;\n const transformOrigin = position === Position.Below ? \"top\" : \"bottom\";\n\n if (!containerReference.current) {\n console.error(\n \"The containerReference is empty for some reason in the SelectService.ts for the Select component in react-lib-components. We are trying to calculate the option list max height on expand\"\n );\n return;\n }\n\n const availableSpace =\n transformOrigin === \"top\"\n ? window.innerHeight - containerReference.current.getBoundingClientRect().bottom - 16\n : containerReference.current.getBoundingClientRect().top - 16;\n\n if (listHeight && availableSpace < listHeight + addNewButtonHeightWithMargin) {\n const maxHeightObject = {\n wrapper: `${availableSpace}px`,\n list:\n addNewButtonHeightWithMargin > 0\n ? `${availableSpace - addNewButtonHeightWithMargin}px`\n : \"none\"\n };\n setOptionsListMaxHeight(maxHeightObject);\n setOpacity(100);\n return;\n }\n\n setOptionsListMaxHeight({ wrapper: undefined, list: undefined });\n setOpacity(100);\n };\n\n return {\n optionsListMaxHeight,\n opacity,\n setOpacity,\n listPosition,\n setListPosition\n };\n};\n"],"names":["expanded","optionListReference","addBtnRef","containerReference","optionsListMaxHeight","setOptionsListMaxHeight","useState","wrapper","undefined","list","opacity","setOpacity","listPosition","setListPosition","Position","Below","useEffect","rePositionList","current","listHeight","_a","getBoundingClientRect","height","viewportRelativeRect","spaceOnTopOfSelect","top","spaceOnBottomOfSelect","window","innerHeight","bottom","position","Above","calculateOptionListMaxHeight","addNewButtonHeightWithMargin","parseInt","getComputedStyle","marginBottom","transformOrigin","console","error","availableSpace"],"mappings":"0GAoBqC,EACnCA,WACAC,sBACAC,YACAC,yBAEA,MAAOC,EAAsBC,GAA2BC,WAGrD,CACDC,aAASC,EACTC,UAAMD,KAEDE,EAASC,GAAcL,EAAQA,SAAC,IAChCM,EAAcC,GAAmBP,EAAAA,SAAmBQ,EAAAA,SAASC,OAEpEC,EAAAA,WAAU,KACRC,GAAgB,GACf,CAACjB,IAEJ,MAAMiB,EAAiB,WACrB,IAAKjB,IAAaC,EAAoBiB,UAAYf,EAAmBe,QACnE,OAGF,MAAMC,EAA0C,QAA7BC,EAAAnB,EAAoBiB,eAAS,IAAAE,OAAA,EAAAA,EAAAC,wBAAwBC,OAElEC,EAAuBpB,EAAmBe,QAAQG,wBAElDG,EAAqBD,EAAqBE,IAC1CC,EAAwBC,OAAOC,YAAcL,EAAqBM,OAElEC,EACJX,EAAaO,GAAyBF,EAAqBE,EACvDZ,EAAAA,SAASiB,MACTjB,EAAAA,SAASC,MAEfF,EAAgBiB,GAGhBE,EAA6BF,EAAS,EAGlCE,EAAgCF,UAEpC,MAAMX,EAA0C,QAA7BC,EAAAnB,EAAoBiB,eAAS,IAAAE,OAAA,EAAAA,EAAAC,wBAAwBC,OAClEW,EAA+B/B,EAAUgB,QAC3ChB,EAAUgB,QAAQG,wBAAwBC,OAC1CY,SAASC,iBAAiBjC,EAAUgB,SAASkB,cAC7C,EACEC,EAAkBP,IAAahB,EAAAA,SAASC,MAAQ,MAAQ,SAE9D,IAAKZ,EAAmBe,QAItB,YAHAoB,QAAQC,MACN,6LAKJ,MAAMC,EACgB,QAApBH,EACIV,OAAOC,YAAczB,EAAmBe,QAAQG,wBAAwBQ,OAAS,GACjF1B,EAAmBe,QAAQG,wBAAwBI,IAAM,GAE/D,GAAIN,GAAcqB,EAAiBrB,EAAac,EAA8B,CAU5E,OAFA5B,EAPwB,CACtBE,QAAS,GAAGiC,MACZ/B,KACEwB,EAA+B,EACxBO,EAAiBP,EAApB,KACA,cAGRtB,EAAW,IAEZ,CAEDN,EAAwB,CAAEE,aAASC,EAAWC,UAAMD,IACpDG,EAAW,IAAI,EAGjB,MAAO,CACLP,uBACAM,UACAC,aACAC,eACAC,kBACD"}
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("react"),r=require("../../Input/Input.cjs.js"),s=require("./InputWrapper.module.scss.cjs.js"),l=require("../Wrapper/Wrapper.cjs.js"),a=require("../../../src/hooks/useWrapper.cjs.js");const u=require("../../../withReadOnly.cjs.js").withReadOnly(e.forwardRef((({type:u,name:p,inputProps:n,helperText:o,helperProps:i,value:d,className:c,error:t,success:f,onChange:h,onBlur:m,onFocus:v,disabled:j,...b},w)=>{var I,N,y,x;const{errorId:P,hasFocus:W,setHasFocus:q,helperId:$,labelId:F}=a.useWrapper(),{prefix:R,suffix:O}=null!=n?n:{},g=e.useRef(null),B=[s.default["input-label"]];W&&B.push(s.default.focus);const C=[];(null===(I=null==n?void 0:n.wrapperProps)||void 0===I?void 0:I.className)&&C.push(null===(N=null==n?void 0:n.wrapperProps)||void 0===N?void 0:N.className),j&&C.push(s.default.disabled);const E=b["data-readonlyview"];return e.createElement(l.Wrapper,{...b,ref:w,name:p,className:`${s.default["input-wrapper"]} ${null!=c?c:""}`,labelProps:{id:F,className:B.join(" ")},errorId:P,error:t,helperId:$,helperText:o,helperProps:{...i,className:`${s.default["input-wrapper-helper"]} ${null!==(y=null==i?void 0:i.className)&&void 0!==y?y:""} `},disabled:j},e.createElement(r.Input,{...n,prefix:R,suffix:O,readOnlyView:E,wrapperProps:{className:C.join(" ")},ref:(null==n?void 0:n.ref)||g,"aria-labelledby":F,"aria-describedby":t?P:$,onChange:h,onFocus:e=>{null==v||v(e),q(!0)},onBlur:e=>{null==m||m(e),q(!1)},className:`\n ${null!==(x=null==n?void 0:n.className)&&void 0!==x?x:""}`,name:p,success:f,error:t,id:p,value:d,type:u}))})));exports.InputWrapper=u;
1
+ "use strict";var e=require("react"),r=require("../../Input/Input.cjs.js"),s=require("./InputWrapper.module.scss.cjs.js"),l=require("../Wrapper/Wrapper.cjs.js"),a=require("../../../src/hooks/useWrapper.cjs.js");const p=require("../../../withReadOnly.cjs.js").withReadOnly(e.forwardRef((({type:p,name:u,inputProps:o,helperText:n,helperProps:i,value:d,className:c,error:t,errorMessageProps:f,success:h,onChange:m,onBlur:v,onFocus:j,disabled:b,...w},I)=>{var N,P,y,x;const{errorId:W,hasFocus:q,setHasFocus:$,helperId:g,labelId:F}=a.useWrapper(),{prefix:R,suffix:O}=null!=o?o:{},B=e.useRef(null),C=[s.default["input-label"]];q&&C.push(s.default.focus);const E=[];(null===(N=null==o?void 0:o.wrapperProps)||void 0===N?void 0:N.className)&&E.push(null===(P=null==o?void 0:o.wrapperProps)||void 0===P?void 0:P.className),b&&E.push(s.default.disabled);const M=w["data-readonlyview"];return e.createElement(l.Wrapper,{...w,ref:I,name:u,className:`${s.default["input-wrapper"]} ${null!=c?c:""}`,labelProps:{id:F,className:C.join(" ")},errorId:W,error:t,errorMessageProps:f,helperId:g,helperText:n,helperProps:{...i,className:`${s.default["input-wrapper-helper"]} ${null!==(y=null==i?void 0:i.className)&&void 0!==y?y:""} `},disabled:b},e.createElement(r.Input,{...o,prefix:R,suffix:O,readOnlyView:M,wrapperProps:{className:E.join(" ")},ref:(null==o?void 0:o.ref)||B,"aria-labelledby":F,"aria-describedby":t?W:g,onChange:m,onFocus:e=>{null==j||j(e),$(!0)},onBlur:e=>{null==v||v(e),$(!1)},className:`\n ${null!==(x=null==o?void 0:o.className)&&void 0!==x?x:""}`,name:u,success:h,error:t,id:u,value:d,type:p}))})));exports.InputWrapper=p;
2
2
  //# sourceMappingURL=InputWrapper.cjs.js.map