@onewelcome/react-lib-components 6.5.0 → 6.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 (347) hide show
  1. package/dist/cjs/DataGrid/DataGrid.module.cjs.js +1 -1
  2. package/dist/cjs/DataGrid/DataGridBody/DataGridCell.cjs.js +1 -1
  3. package/dist/cjs/DataGrid/DataGridBody/DataGridCell.cjs.js.map +1 -1
  4. package/dist/cjs/DataGrid/DataGridBody/DataGridCell.module.cjs.js +1 -1
  5. package/dist/cjs/DataGrid/DataGridBody/DataGridRow.module.cjs.js +1 -1
  6. package/dist/cjs/DataGrid/DataGridHeader/DataGridHeader.cjs.js +1 -1
  7. package/dist/cjs/DataGrid/DataGridHeader/DataGridHeader.cjs.js.map +1 -1
  8. package/dist/cjs/DataGrid/DataGridHeader/DataGridHeader.module.cjs.js +1 -1
  9. package/dist/cjs/DataGrid/DataGridHeader/DataGridHeaderCell.module.cjs.js +1 -1
  10. package/dist/cjs/Form/FileUpload/FileItem/FileItem.cjs.js +1 -1
  11. package/dist/cjs/Form/FileUpload/FileItem/FileItem.cjs.js.map +1 -1
  12. package/dist/cjs/Form/FileUpload/FileItem/FileItem.module.cjs.js +1 -1
  13. package/dist/cjs/Form/FileUpload/FileUpload.cjs.js +1 -1
  14. package/dist/cjs/Form/FileUpload/FileUpload.cjs.js.map +1 -1
  15. package/dist/cjs/Form/FileUpload/FileUpload.module.cjs.js +1 -1
  16. package/dist/cjs/Form/Select/MultiSelect/MultiOption.cjs.js +1 -1
  17. package/dist/cjs/Form/Select/MultiSelect/MultiOption.cjs.js.map +1 -1
  18. package/dist/cjs/Form/Select/MultiSelect/MultiSelect.cjs.js +1 -1
  19. package/dist/cjs/Form/Select/MultiSelect/MultiSelect.cjs.js.map +1 -1
  20. package/dist/cjs/Form/Select/MultiSelect/MultiSelect.module.cjs.js +1 -1
  21. package/dist/cjs/Form/Select/MultiSelect/SelectButton.cjs.js +1 -1
  22. package/dist/cjs/Form/Select/MultiSelect/SelectButton.cjs.js.map +1 -1
  23. package/dist/cjs/Form/Select/MultiSelect/SelectButton.module.cjs.js +1 -1
  24. package/dist/cjs/Form/Select/MultiSelect/SelectedOptions.cjs.js +1 -1
  25. package/dist/cjs/Form/Select/MultiSelect/SelectedOptions.cjs.js.map +1 -1
  26. package/dist/cjs/Form/Select/MultiSelect/useArrowNavigation.cjs.js +2 -0
  27. package/dist/cjs/Form/Select/MultiSelect/useArrowNavigation.cjs.js.map +1 -0
  28. package/dist/cjs/Form/Select/MultiSelect/useSearch.cjs.js +2 -0
  29. package/dist/cjs/Form/Select/MultiSelect/useSearch.cjs.js.map +1 -0
  30. package/dist/cjs/Form/Select/SingleSelect/Option.cjs.js +1 -1
  31. package/dist/cjs/Form/Select/SingleSelect/Option.cjs.js.map +1 -1
  32. package/dist/cjs/Form/Select/SingleSelect/Select.cjs.js +1 -1
  33. package/dist/cjs/Form/Select/SingleSelect/Select.cjs.js.map +1 -1
  34. package/dist/cjs/Form/Select/SingleSelect/Select.module.cjs.js +1 -1
  35. package/dist/cjs/Form/Select/SingleSelect/useArrowNavigation.cjs.js +2 -0
  36. package/dist/cjs/Form/Select/SingleSelect/useArrowNavigation.cjs.js.map +1 -0
  37. package/dist/cjs/Form/Select/SingleSelect/useSearch.cjs.js +2 -0
  38. package/dist/cjs/Form/Select/SingleSelect/useSearch.cjs.js.map +1 -0
  39. package/dist/cjs/Form/Select/useAddNewBtn.cjs.js +1 -1
  40. package/dist/cjs/Form/Select/useAddNewBtn.cjs.js.map +1 -1
  41. package/dist/cjs/Form/Select/useAddNewBtn.module.cjs.js +1 -1
  42. package/dist/cjs/Form/Select/useSelectPositionList.cjs.js +2 -0
  43. package/dist/cjs/Form/Select/useSelectPositionList.cjs.js.map +1 -0
  44. package/dist/cjs/Icon/Icon.cjs.js +1 -1
  45. package/dist/cjs/Icon/Icon.cjs.js.map +1 -1
  46. package/dist/cjs/Icon/Icon.module.cjs.js +1 -1
  47. package/dist/cjs/Layout/ContentHeader/ContentHeader.cjs.js +2 -0
  48. package/dist/cjs/Layout/ContentHeader/ContentHeader.cjs.js.map +1 -0
  49. package/dist/cjs/Layout/ContentHeader/ContentHeader.module.cjs.js +2 -0
  50. package/dist/cjs/Layout/ContentHeader/ContentHeader.module.cjs.js.map +1 -0
  51. package/dist/cjs/Layout/FormPage/FormWithStepper/FormSection/FormSection.cjs.js +2 -0
  52. package/dist/cjs/Layout/FormPage/FormWithStepper/FormSection/FormSection.cjs.js.map +1 -0
  53. package/dist/cjs/Layout/FormPage/FormWithStepper/FormSection/FormSection.module.cjs.js +2 -0
  54. package/dist/cjs/Layout/FormPage/FormWithStepper/FormSection/FormSection.module.cjs.js.map +1 -0
  55. package/dist/cjs/Layout/FormPage/FormWithStepper/FormStepper/FormStepper.cjs.js +2 -0
  56. package/dist/cjs/Layout/FormPage/FormWithStepper/FormStepper/FormStepper.cjs.js.map +1 -0
  57. package/dist/cjs/Layout/FormPage/FormWithStepper/FormStepper/FormStepper.module.cjs.js +2 -0
  58. package/dist/cjs/Layout/FormPage/FormWithStepper/FormStepper/FormStepper.module.cjs.js.map +1 -0
  59. package/dist/cjs/Layout/FormPage/FormWithStepper/FormWithStepper.cjs.js +2 -0
  60. package/dist/cjs/Layout/FormPage/FormWithStepper/FormWithStepper.cjs.js.map +1 -0
  61. package/dist/cjs/Layout/FormPage/FormWithStepper/FormWithStepper.module.cjs.js +2 -0
  62. package/dist/cjs/Layout/FormPage/FormWithStepper/FormWithStepper.module.cjs.js.map +1 -0
  63. package/dist/cjs/Notifications/Alert/AlertContainer/AlertContainer.cjs.js +2 -0
  64. package/dist/cjs/Notifications/Alert/AlertContainer/AlertContainer.cjs.js.map +1 -0
  65. package/dist/cjs/Notifications/Alert/AlertContainer/AlertContainer.module.cjs.js +2 -0
  66. package/dist/cjs/Notifications/Alert/AlertContainer/AlertContainer.module.cjs.js.map +1 -0
  67. package/dist/cjs/Notifications/Alert/AlertContainer/useAlertContainerHeightAnimation.cjs.js +2 -0
  68. package/dist/cjs/Notifications/Alert/AlertContainer/useAlertContainerHeightAnimation.cjs.js.map +1 -0
  69. package/dist/cjs/Notifications/Alert/AlertItem/AlertItem.cjs.js +2 -0
  70. package/dist/cjs/Notifications/Alert/AlertItem/AlertItem.cjs.js.map +1 -0
  71. package/dist/cjs/Notifications/Alert/AlertItem/AlertItem.module.cjs.js +2 -0
  72. package/dist/cjs/Notifications/Alert/AlertItem/AlertItem.module.cjs.js.map +1 -0
  73. package/dist/cjs/Notifications/Alert/AlertProvider/AlertContext.cjs.js +2 -0
  74. package/dist/cjs/Notifications/Alert/AlertProvider/AlertContext.cjs.js.map +1 -0
  75. package/dist/cjs/Notifications/Alert/AlertProvider/AlertProvider.cjs.js +2 -0
  76. package/dist/cjs/Notifications/Alert/AlertProvider/AlertProvider.cjs.js.map +1 -0
  77. package/dist/cjs/Notifications/Alert/useAlert.cjs.js +2 -0
  78. package/dist/cjs/Notifications/Alert/useAlert.cjs.js.map +1 -0
  79. package/dist/cjs/Notifications/Snackbar/SnackbarContainer/SnackbarContainer.cjs.js.map +1 -1
  80. package/dist/cjs/Notifications/Snackbar/SnackbarItem/SnackbarItem.cjs.js.map +1 -1
  81. package/dist/cjs/Notifications/Snackbar/SnackbarProvider/SnackbarProvider.cjs.js.map +1 -1
  82. package/dist/cjs/Notifications/Snackbar/SnackbarProvider/SnackbarStateProvider.cjs.js.map +1 -1
  83. package/dist/cjs/Notifications/Snackbar/interfaces.cjs.js.map +1 -1
  84. package/dist/cjs/Notifications/Snackbar/useSnackbar.cjs.js.map +1 -1
  85. package/dist/cjs/Pagination/Pagination.cjs.js +1 -1
  86. package/dist/cjs/Pagination/Pagination.cjs.js.map +1 -1
  87. package/dist/cjs/Pagination/Pagination.module.cjs.js +1 -1
  88. package/dist/cjs/_BaseStyling_/BaseStyling.cjs.js +1 -1
  89. package/dist/cjs/_BaseStyling_/BaseStyling.cjs.js.map +1 -1
  90. package/dist/cjs/src/components/Form/FileUpload/FileItem/FileItem.d.ts +10 -0
  91. package/dist/cjs/src/components/Form/FileUpload/FileUpload.d.ts +3 -0
  92. package/dist/cjs/src/components/Form/Select/MultiSelect/MultiSelect.test.d.ts +63 -1
  93. package/dist/cjs/src/components/Form/Select/MultiSelect/MultiSelectKeyboardNavigation.test.d.ts +1 -0
  94. package/dist/cjs/src/components/Form/Select/MultiSelect/SelectedOptions.d.ts +2 -1
  95. package/dist/cjs/src/components/Form/Select/MultiSelect/useArrowNavigation.d.ts +16 -0
  96. package/dist/cjs/src/components/Form/Select/MultiSelect/useSearch.d.ts +34 -0
  97. package/dist/cjs/src/components/Form/Select/Select.interfaces.d.ts +1 -0
  98. package/dist/cjs/src/components/Form/Select/SingleSelect/Option.d.ts +1 -0
  99. package/dist/cjs/src/components/Form/Select/SingleSelect/useArrowNavigation.d.ts +5 -0
  100. package/dist/cjs/src/components/Form/Select/{useSearch.d.ts → SingleSelect/useSearch.d.ts} +2 -1
  101. package/dist/cjs/src/components/Form/Select/useAddNewBtn.d.ts +10 -3
  102. package/dist/cjs/src/components/Form/Select/useSelectPositionList.d.ts +12 -0
  103. package/dist/cjs/src/components/Icon/Icon.d.ts +5 -1
  104. package/dist/cjs/src/components/Layout/ContentHeader/ContentHeader.d.ts +10 -0
  105. package/dist/cjs/src/components/Layout/ContentHeader/ContentHeader.test.d.ts +1 -0
  106. package/dist/cjs/src/components/Layout/FormPage/FormWithStepper/FormSection/FormSection.d.ts +7 -0
  107. package/dist/cjs/src/components/Layout/FormPage/FormWithStepper/FormSection/FormSection.test.d.ts +1 -0
  108. package/dist/cjs/src/components/Layout/FormPage/FormWithStepper/FormStepper/FormStepper.d.ts +10 -0
  109. package/dist/cjs/src/components/Layout/FormPage/FormWithStepper/FormStepper/FormStepper.test.d.ts +1 -0
  110. package/dist/cjs/src/components/Layout/FormPage/FormWithStepper/FormWithStepper.d.ts +6 -0
  111. package/dist/cjs/src/components/Layout/FormPage/FormWithStepper/FormWithStepper.test.d.ts +1 -0
  112. package/dist/cjs/src/components/Notifications/Alert/AlertContainer/AlertContainer.d.ts +12 -0
  113. package/dist/cjs/src/components/Notifications/Alert/AlertContainer/AlertContainer.test.d.ts +1 -0
  114. package/dist/cjs/src/components/Notifications/Alert/AlertContainer/useAlertContainerHeightAnimation.d.ts +4 -0
  115. package/dist/cjs/src/components/Notifications/Alert/AlertItem/AlertItem.d.ts +22 -0
  116. package/dist/cjs/src/components/Notifications/Alert/AlertItem/AlertItem.test.d.ts +1 -0
  117. package/dist/cjs/src/components/Notifications/Alert/AlertProvider/AlertContext.d.ts +13 -0
  118. package/dist/cjs/src/components/Notifications/Alert/AlertProvider/AlertProvider.d.ts +22 -0
  119. package/dist/cjs/src/components/Notifications/Alert/AlertProvider/AlertProvider.test.d.ts +1 -0
  120. package/dist/cjs/src/components/Notifications/Alert/useAlert.d.ts +7 -0
  121. package/dist/cjs/src/components/Notifications/Alert/useAlert.test.d.ts +1 -0
  122. package/dist/cjs/src/components/Notifications/Snackbar/SnackbarContainer/SnackbarContainer.d.ts +9 -0
  123. package/dist/cjs/src/components/Notifications/Snackbar/SnackbarItem/SnackbarItem.d.ts +6 -0
  124. package/dist/cjs/src/components/Notifications/Snackbar/SnackbarProvider/SnackbarProvider.d.ts +9 -0
  125. package/dist/cjs/src/components/Notifications/Snackbar/SnackbarProvider/SnackbarStateProvider.d.ts +9 -0
  126. package/dist/cjs/src/components/Notifications/Snackbar/interfaces.d.ts +18 -0
  127. package/dist/cjs/src/components/Notifications/Snackbar/useSnackbar.d.ts +3 -0
  128. package/dist/cjs/src/components/_BaseStyling_/BaseStyling.d.ts +40 -0
  129. package/dist/cjs/src/components/admin/layout/MicrofrontendContainer/MicrofrontendContainer.d.ts +8 -0
  130. package/dist/cjs/src/index.cjs.js +1 -1
  131. package/dist/cjs/src/index.d.ts +15 -0
  132. package/dist/cjs/src/util/helper.cjs.js +1 -1
  133. package/dist/cjs/src/util/helper.cjs.js.map +1 -1
  134. package/dist/cjs/src/util/helper.d.ts +1 -0
  135. package/dist/esm/DataGrid/DataGrid.module.esm.js +1 -1
  136. package/dist/esm/DataGrid/DataGridBody/DataGridCell.esm.js +1 -1
  137. package/dist/esm/DataGrid/DataGridBody/DataGridCell.esm.js.map +1 -1
  138. package/dist/esm/DataGrid/DataGridBody/DataGridCell.module.esm.js +1 -1
  139. package/dist/esm/DataGrid/DataGridBody/DataGridRow.module.esm.js +1 -1
  140. package/dist/esm/DataGrid/DataGridHeader/DataGridHeader.esm.js +1 -1
  141. package/dist/esm/DataGrid/DataGridHeader/DataGridHeader.esm.js.map +1 -1
  142. package/dist/esm/DataGrid/DataGridHeader/DataGridHeader.module.esm.js +1 -1
  143. package/dist/esm/DataGrid/DataGridHeader/DataGridHeaderCell.module.esm.js +1 -1
  144. package/dist/esm/Form/FileUpload/FileItem/FileItem.esm.js +1 -1
  145. package/dist/esm/Form/FileUpload/FileItem/FileItem.esm.js.map +1 -1
  146. package/dist/esm/Form/FileUpload/FileItem/FileItem.module.esm.js +1 -1
  147. package/dist/esm/Form/FileUpload/FileUpload.esm.js +1 -1
  148. package/dist/esm/Form/FileUpload/FileUpload.esm.js.map +1 -1
  149. package/dist/esm/Form/FileUpload/FileUpload.module.esm.js +1 -1
  150. package/dist/esm/Form/Select/MultiSelect/MultiOption.esm.js +1 -1
  151. package/dist/esm/Form/Select/MultiSelect/MultiOption.esm.js.map +1 -1
  152. package/dist/esm/Form/Select/MultiSelect/MultiSelect.esm.js +1 -1
  153. package/dist/esm/Form/Select/MultiSelect/MultiSelect.esm.js.map +1 -1
  154. package/dist/esm/Form/Select/MultiSelect/MultiSelect.module.esm.js +1 -1
  155. package/dist/esm/Form/Select/MultiSelect/SelectButton.esm.js +1 -1
  156. package/dist/esm/Form/Select/MultiSelect/SelectButton.esm.js.map +1 -1
  157. package/dist/esm/Form/Select/MultiSelect/SelectButton.module.esm.js +1 -1
  158. package/dist/esm/Form/Select/MultiSelect/SelectedOptions.esm.js +1 -1
  159. package/dist/esm/Form/Select/MultiSelect/SelectedOptions.esm.js.map +1 -1
  160. package/dist/esm/Form/Select/MultiSelect/useArrowNavigation.esm.js +2 -0
  161. package/dist/esm/Form/Select/MultiSelect/useArrowNavigation.esm.js.map +1 -0
  162. package/dist/esm/Form/Select/MultiSelect/useSearch.esm.js +2 -0
  163. package/dist/esm/Form/Select/MultiSelect/useSearch.esm.js.map +1 -0
  164. package/dist/esm/Form/Select/SingleSelect/Option.esm.js +1 -1
  165. package/dist/esm/Form/Select/SingleSelect/Option.esm.js.map +1 -1
  166. package/dist/esm/Form/Select/SingleSelect/Select.esm.js +1 -1
  167. package/dist/esm/Form/Select/SingleSelect/Select.esm.js.map +1 -1
  168. package/dist/esm/Form/Select/SingleSelect/Select.module.esm.js +1 -1
  169. package/dist/esm/Form/Select/SingleSelect/useArrowNavigation.esm.js +2 -0
  170. package/dist/esm/Form/Select/SingleSelect/useArrowNavigation.esm.js.map +1 -0
  171. package/dist/esm/Form/Select/SingleSelect/useSearch.esm.js +2 -0
  172. package/dist/esm/Form/Select/SingleSelect/useSearch.esm.js.map +1 -0
  173. package/dist/esm/Form/Select/useAddNewBtn.esm.js +1 -1
  174. package/dist/esm/Form/Select/useAddNewBtn.esm.js.map +1 -1
  175. package/dist/esm/Form/Select/useAddNewBtn.module.esm.js +1 -1
  176. package/dist/esm/Form/Select/useSelectPositionList.esm.js +2 -0
  177. package/dist/esm/Form/Select/useSelectPositionList.esm.js.map +1 -0
  178. package/dist/esm/Icon/Icon.esm.js +1 -1
  179. package/dist/esm/Icon/Icon.esm.js.map +1 -1
  180. package/dist/esm/Icon/Icon.module.esm.js +1 -1
  181. package/dist/esm/Layout/ContentHeader/ContentHeader.esm.js +2 -0
  182. package/dist/esm/Layout/ContentHeader/ContentHeader.esm.js.map +1 -0
  183. package/dist/esm/Layout/ContentHeader/ContentHeader.module.esm.js +2 -0
  184. package/dist/esm/Layout/ContentHeader/ContentHeader.module.esm.js.map +1 -0
  185. package/dist/esm/Layout/FormPage/FormWithStepper/FormSection/FormSection.esm.js +2 -0
  186. package/dist/esm/Layout/FormPage/FormWithStepper/FormSection/FormSection.esm.js.map +1 -0
  187. package/dist/esm/Layout/FormPage/FormWithStepper/FormSection/FormSection.module.esm.js +2 -0
  188. package/dist/esm/Layout/FormPage/FormWithStepper/FormSection/FormSection.module.esm.js.map +1 -0
  189. package/dist/esm/Layout/FormPage/FormWithStepper/FormStepper/FormStepper.esm.js +2 -0
  190. package/dist/esm/Layout/FormPage/FormWithStepper/FormStepper/FormStepper.esm.js.map +1 -0
  191. package/dist/esm/Layout/FormPage/FormWithStepper/FormStepper/FormStepper.module.esm.js +2 -0
  192. package/dist/esm/Layout/FormPage/FormWithStepper/FormStepper/FormStepper.module.esm.js.map +1 -0
  193. package/dist/esm/Layout/FormPage/FormWithStepper/FormWithStepper.esm.js +2 -0
  194. package/dist/esm/Layout/FormPage/FormWithStepper/FormWithStepper.esm.js.map +1 -0
  195. package/dist/esm/Layout/FormPage/FormWithStepper/FormWithStepper.module.esm.js +2 -0
  196. package/dist/esm/Layout/FormPage/FormWithStepper/FormWithStepper.module.esm.js.map +1 -0
  197. package/dist/esm/Notifications/Alert/AlertContainer/AlertContainer.esm.js +2 -0
  198. package/dist/esm/Notifications/Alert/AlertContainer/AlertContainer.esm.js.map +1 -0
  199. package/dist/esm/Notifications/Alert/AlertContainer/AlertContainer.module.esm.js +2 -0
  200. package/dist/esm/Notifications/Alert/AlertContainer/AlertContainer.module.esm.js.map +1 -0
  201. package/dist/esm/Notifications/Alert/AlertContainer/useAlertContainerHeightAnimation.esm.js +2 -0
  202. package/dist/esm/Notifications/Alert/AlertContainer/useAlertContainerHeightAnimation.esm.js.map +1 -0
  203. package/dist/esm/Notifications/Alert/AlertItem/AlertItem.esm.js +2 -0
  204. package/dist/esm/Notifications/Alert/AlertItem/AlertItem.esm.js.map +1 -0
  205. package/dist/esm/Notifications/Alert/AlertItem/AlertItem.module.esm.js +2 -0
  206. package/dist/esm/Notifications/Alert/AlertItem/AlertItem.module.esm.js.map +1 -0
  207. package/dist/esm/Notifications/Alert/AlertProvider/AlertContext.esm.js +2 -0
  208. package/dist/esm/Notifications/Alert/AlertProvider/AlertContext.esm.js.map +1 -0
  209. package/dist/esm/Notifications/Alert/AlertProvider/AlertProvider.esm.js +2 -0
  210. package/dist/esm/Notifications/Alert/AlertProvider/AlertProvider.esm.js.map +1 -0
  211. package/dist/esm/Notifications/Alert/useAlert.esm.js +2 -0
  212. package/dist/esm/Notifications/Alert/useAlert.esm.js.map +1 -0
  213. package/dist/esm/Notifications/Snackbar/SnackbarContainer/SnackbarContainer.esm.js.map +1 -1
  214. package/dist/esm/Notifications/Snackbar/SnackbarItem/SnackbarItem.esm.js.map +1 -1
  215. package/dist/esm/Notifications/Snackbar/SnackbarProvider/SnackbarProvider.esm.js.map +1 -1
  216. package/dist/esm/Notifications/Snackbar/SnackbarProvider/SnackbarStateProvider.esm.js.map +1 -1
  217. package/dist/esm/Notifications/Snackbar/interfaces.esm.js.map +1 -1
  218. package/dist/esm/Notifications/Snackbar/useSnackbar.esm.js.map +1 -1
  219. package/dist/esm/Pagination/Pagination.esm.js +1 -1
  220. package/dist/esm/Pagination/Pagination.esm.js.map +1 -1
  221. package/dist/esm/Pagination/Pagination.module.esm.js +1 -1
  222. package/dist/esm/_BaseStyling_/BaseStyling.esm.js +1 -1
  223. package/dist/esm/_BaseStyling_/BaseStyling.esm.js.map +1 -1
  224. package/dist/esm/src/components/Form/FileUpload/FileItem/FileItem.d.ts +10 -0
  225. package/dist/esm/src/components/Form/FileUpload/FileUpload.d.ts +3 -0
  226. package/dist/esm/src/components/Form/Select/MultiSelect/MultiSelect.test.d.ts +63 -1
  227. package/dist/esm/src/components/Form/Select/MultiSelect/MultiSelectKeyboardNavigation.test.d.ts +1 -0
  228. package/dist/esm/src/components/Form/Select/MultiSelect/SelectedOptions.d.ts +2 -1
  229. package/dist/esm/src/components/Form/Select/MultiSelect/useArrowNavigation.d.ts +16 -0
  230. package/dist/esm/src/components/Form/Select/MultiSelect/useSearch.d.ts +34 -0
  231. package/dist/esm/src/components/Form/Select/Select.interfaces.d.ts +1 -0
  232. package/dist/esm/src/components/Form/Select/SingleSelect/Option.d.ts +1 -0
  233. package/dist/esm/src/components/Form/Select/SingleSelect/useArrowNavigation.d.ts +5 -0
  234. package/dist/esm/src/components/Form/Select/{useSearch.d.ts → SingleSelect/useSearch.d.ts} +2 -1
  235. package/dist/esm/src/components/Form/Select/useAddNewBtn.d.ts +10 -3
  236. package/dist/esm/src/components/Form/Select/useSelectPositionList.d.ts +12 -0
  237. package/dist/esm/src/components/Icon/Icon.d.ts +5 -1
  238. package/dist/esm/src/components/Layout/ContentHeader/ContentHeader.d.ts +10 -0
  239. package/dist/esm/src/components/Layout/ContentHeader/ContentHeader.test.d.ts +1 -0
  240. package/dist/esm/src/components/Layout/FormPage/FormWithStepper/FormSection/FormSection.d.ts +7 -0
  241. package/dist/esm/src/components/Layout/FormPage/FormWithStepper/FormSection/FormSection.test.d.ts +1 -0
  242. package/dist/esm/src/components/Layout/FormPage/FormWithStepper/FormStepper/FormStepper.d.ts +10 -0
  243. package/dist/esm/src/components/Layout/FormPage/FormWithStepper/FormStepper/FormStepper.test.d.ts +1 -0
  244. package/dist/esm/src/components/Layout/FormPage/FormWithStepper/FormWithStepper.d.ts +6 -0
  245. package/dist/esm/src/components/Layout/FormPage/FormWithStepper/FormWithStepper.test.d.ts +1 -0
  246. package/dist/esm/src/components/Notifications/Alert/AlertContainer/AlertContainer.d.ts +12 -0
  247. package/dist/esm/src/components/Notifications/Alert/AlertContainer/AlertContainer.test.d.ts +1 -0
  248. package/dist/esm/src/components/Notifications/Alert/AlertContainer/useAlertContainerHeightAnimation.d.ts +4 -0
  249. package/dist/esm/src/components/Notifications/Alert/AlertItem/AlertItem.d.ts +22 -0
  250. package/dist/esm/src/components/Notifications/Alert/AlertItem/AlertItem.test.d.ts +1 -0
  251. package/dist/esm/src/components/Notifications/Alert/AlertProvider/AlertContext.d.ts +13 -0
  252. package/dist/esm/src/components/Notifications/Alert/AlertProvider/AlertProvider.d.ts +22 -0
  253. package/dist/esm/src/components/Notifications/Alert/AlertProvider/AlertProvider.test.d.ts +1 -0
  254. package/dist/esm/src/components/Notifications/Alert/useAlert.d.ts +7 -0
  255. package/dist/esm/src/components/Notifications/Alert/useAlert.test.d.ts +1 -0
  256. package/dist/esm/src/components/Notifications/Snackbar/SnackbarContainer/SnackbarContainer.d.ts +9 -0
  257. package/dist/esm/src/components/Notifications/Snackbar/SnackbarItem/SnackbarItem.d.ts +6 -0
  258. package/dist/esm/src/components/Notifications/Snackbar/SnackbarProvider/SnackbarProvider.d.ts +9 -0
  259. package/dist/esm/src/components/Notifications/Snackbar/SnackbarProvider/SnackbarStateProvider.d.ts +9 -0
  260. package/dist/esm/src/components/Notifications/Snackbar/interfaces.d.ts +18 -0
  261. package/dist/esm/src/components/Notifications/Snackbar/useSnackbar.d.ts +3 -0
  262. package/dist/esm/src/components/_BaseStyling_/BaseStyling.d.ts +40 -0
  263. package/dist/esm/src/components/admin/layout/MicrofrontendContainer/MicrofrontendContainer.d.ts +8 -0
  264. package/dist/esm/src/index.d.ts +15 -0
  265. package/dist/esm/src/index.esm.js +1 -1
  266. package/dist/esm/src/util/helper.d.ts +1 -0
  267. package/dist/esm/src/util/helper.esm.js +1 -1
  268. package/dist/esm/src/util/helper.esm.js.map +1 -1
  269. package/package.json +6 -6
  270. package/src/components/DataGrid/DataGrid.module.scss +2 -2
  271. package/src/components/DataGrid/DataGridBody/DataGridCell.module.scss +7 -2
  272. package/src/components/DataGrid/DataGridBody/DataGridCell.tsx +1 -1
  273. package/src/components/DataGrid/DataGridBody/DataGridRow.module.scss +10 -0
  274. package/src/components/DataGrid/DataGridBody/__snapshots__/DataGridBody.test.tsx.snap +16 -16
  275. package/src/components/DataGrid/DataGridHeader/DataGridHeader.module.scss +0 -10
  276. package/src/components/DataGrid/DataGridHeader/DataGridHeader.tsx +1 -1
  277. package/src/components/DataGrid/DataGridHeader/DataGridHeaderCell.module.scss +3 -3
  278. package/src/components/Form/FileUpload/FileItem/FileItem.module.scss +114 -3
  279. package/src/components/Form/FileUpload/FileItem/FileItem.tsx +154 -47
  280. package/src/components/Form/FileUpload/FileUpload.module.scss +73 -16
  281. package/src/components/Form/FileUpload/FileUpload.tsx +82 -53
  282. package/src/components/Form/FormSection/FormSection.module.scss +12 -0
  283. package/src/components/Form/Select/MultiSelect/MultiOption.tsx +36 -3
  284. package/src/components/Form/Select/MultiSelect/MultiSelect.module.scss +29 -19
  285. package/src/components/Form/Select/MultiSelect/MultiSelect.tsx +85 -62
  286. package/src/components/Form/Select/MultiSelect/SelectButton.module.scss +1 -1
  287. package/src/components/Form/Select/MultiSelect/SelectButton.tsx +1 -1
  288. package/src/components/Form/Select/MultiSelect/SelectedOptions.tsx +5 -4
  289. package/src/components/Form/Select/MultiSelect/useArrowNavigation.ts +128 -0
  290. package/src/components/Form/Select/MultiSelect/useSearch.tsx +126 -0
  291. package/src/components/Form/Select/Select.interfaces.ts +1 -0
  292. package/src/components/Form/Select/SingleSelect/Option.tsx +15 -4
  293. package/src/components/Form/Select/SingleSelect/Select.module.scss +13 -2
  294. package/src/components/Form/Select/SingleSelect/Select.tsx +7 -3
  295. package/src/components/Form/Select/{SelectService.ts → SingleSelect/useArrowNavigation.ts} +1 -101
  296. package/src/components/Form/Select/{useSearch.tsx → SingleSelect/useSearch.tsx} +3 -2
  297. package/src/components/Form/Select/useAddNewBtn.module.scss +18 -4
  298. package/src/components/Form/Select/useAddNewBtn.tsx +42 -8
  299. package/src/components/Form/Select/useSelectPositionList.ts +113 -0
  300. package/src/components/Icon/Icon.module.scss +16 -1
  301. package/src/components/Icon/Icon.tsx +5 -1
  302. package/src/components/Layout/ContentHeader/ContentHeader.module.scss +44 -0
  303. package/src/components/Layout/ContentHeader/ContentHeader.tsx +70 -0
  304. package/src/components/Layout/FormPage/FormWithStepper/FormSection/FormSection.module.scss +12 -0
  305. package/src/components/Layout/FormPage/FormWithStepper/FormSection/FormSection.tsx +53 -0
  306. package/src/components/Layout/FormPage/FormWithStepper/FormStepper/FormStepper.module.scss +25 -0
  307. package/src/components/Layout/FormPage/FormWithStepper/FormStepper/FormStepper.tsx +54 -0
  308. package/src/components/Layout/FormPage/FormWithStepper/FormWithStepper.module.scss +39 -0
  309. package/src/components/Layout/FormPage/FormWithStepper/FormWithStepper.tsx +34 -0
  310. package/src/components/Notifications/Alert/AlertContainer/AlertContainer.module.scss +56 -0
  311. package/src/components/Notifications/Alert/AlertContainer/AlertContainer.tsx +52 -0
  312. package/src/components/Notifications/Alert/AlertContainer/useAlertContainerHeightAnimation.ts +47 -0
  313. package/src/components/Notifications/Alert/AlertItem/AlertItem.module.scss +277 -0
  314. package/src/components/Notifications/Alert/AlertItem/AlertItem.tsx +214 -0
  315. package/src/components/Notifications/Alert/AlertProvider/AlertContext.ts +42 -0
  316. package/src/components/Notifications/Alert/AlertProvider/AlertProvider.tsx +173 -0
  317. package/src/components/Notifications/Alert/useAlert.ts +30 -0
  318. package/src/components/Notifications/Snackbar/SnackbarContainer/SnackbarContainer.tsx +9 -0
  319. package/src/components/Notifications/Snackbar/SnackbarItem/SnackbarItem.tsx +6 -0
  320. package/src/components/Notifications/Snackbar/SnackbarProvider/SnackbarProvider.tsx +9 -0
  321. package/src/components/Notifications/Snackbar/SnackbarProvider/SnackbarStateProvider.tsx +9 -0
  322. package/src/components/Notifications/Snackbar/interfaces.ts +18 -0
  323. package/src/components/Notifications/Snackbar/useSnackbar.ts +3 -0
  324. package/src/components/Pagination/Pagination.module.scss +4 -6
  325. package/src/components/Pagination/Pagination.tsx +3 -1
  326. package/src/components/_BaseStyling_/BaseStyling.tsx +78 -1
  327. package/src/components/admin/layout/MicrofrontendContainer/MicrofrontendContainer.module.scss +25 -0
  328. package/src/components/admin/layout/MicrofrontendContainer/MicrofrontendContainer.tsx +47 -0
  329. package/src/font/icomoon.eot +0 -0
  330. package/src/font/icomoon.svg +3 -0
  331. package/src/font/icomoon.ttf +0 -0
  332. package/src/font/icomoon.woff +0 -0
  333. package/src/font/selection.json +1 -1
  334. package/src/index.ts +21 -0
  335. package/src/mixins.module.scss +7 -0
  336. package/src/util/helper.tsx +2 -0
  337. package/src/variables.scss +1 -0
  338. package/dist/cjs/Form/Select/SelectService.cjs.js +0 -2
  339. package/dist/cjs/Form/Select/SelectService.cjs.js.map +0 -1
  340. package/dist/cjs/Form/Select/useSearch.cjs.js +0 -2
  341. package/dist/cjs/Form/Select/useSearch.cjs.js.map +0 -1
  342. package/dist/cjs/src/components/Form/Select/SelectService.d.ts +0 -17
  343. package/dist/esm/Form/Select/SelectService.esm.js +0 -2
  344. package/dist/esm/Form/Select/SelectService.esm.js.map +0 -1
  345. package/dist/esm/Form/Select/useSearch.esm.js +0 -2
  346. package/dist/esm/Form/Select/useSearch.esm.js.map +0 -1
  347. package/dist/esm/src/components/Form/Select/SelectService.d.ts +0 -17
@@ -24,25 +24,27 @@
24
24
  .file-dropzone {
25
25
  border-radius: var(--input-border-radius);
26
26
  background-color: var(--input-background-color);
27
- padding: 1.25rem;
27
+ padding: 0.25rem 1.25rem;
28
28
  position: relative;
29
- @include transition(all, 0.2s, ease-in-out);
30
- &.drag-active {
31
- @include outline(
32
- var(--color-blue-grey500),
33
- var(--drag-border-style),
34
- var(--input-border-width),
35
- var(--input-border-radius),
36
- var(--drag-background-color)
37
- );
38
- @include outlineStates;
29
+
30
+ .file-upload-title {
31
+ margin: 0 0 0.25rem 0;
32
+ font-size: 0.875rem;
33
+ font-weight: 400;
39
34
  }
35
+
36
+ @include transition(all, 0.2s, ease-in-out);
40
37
  &.error {
41
38
  span[data-icon-status],
42
39
  .file-upload-title {
43
40
  color: var(--error);
44
41
  }
42
+
43
+ .file-select {
44
+ border-color: var(--error);
45
+ }
45
46
  }
47
+
46
48
  &.success {
47
49
  span[data-icon-status] {
48
50
  color: var(--success);
@@ -54,11 +56,58 @@
54
56
  background-color: var(--disabled);
55
57
  color: var(--greyed-out);
56
58
  }
59
+
57
60
  span[data-icon-status] {
58
61
  font-size: 1.25rem;
59
62
  position: absolute;
60
- top: 2.74rem;
61
- right: 1.375rem;
63
+ top: auto;
64
+ right: 2rem;
65
+ }
66
+
67
+ .file-upload-title-mandatory {
68
+ color: var(--color-red500);
69
+ }
70
+ }
71
+
72
+ .upload-button-wrapper {
73
+ background: var(--color-blue-grey25);
74
+ padding: 4px;
75
+
76
+ &.drag-active {
77
+ .outline {
78
+ pointer-events: none;
79
+ position: absolute;
80
+ margin: 0;
81
+ padding: 0;
82
+ inset: 0;
83
+ border: var(--file-upload-border-width) var(--drag-drop-border-style)
84
+ var(--color-blue-grey500);
85
+ border-radius: var(--input-border-radius);
86
+ background-color: var(--color-primary-light);
87
+
88
+ @include transition(all, 0.2s, ease-in-out);
89
+ &::before {
90
+ content: "Drop here";
91
+ text-align: center;
92
+ display: block;
93
+ color: var(--color-primary);
94
+ padding-top: 2rem;
95
+ }
96
+ }
97
+
98
+ &:hover .outline {
99
+ background-color: var(--color-primary-light);
100
+ }
101
+
102
+ & .file-select {
103
+ position: relative;
104
+ }
105
+
106
+ .error {
107
+ .outline {
108
+ border-color: var(--error);
109
+ }
110
+ }
62
111
  }
63
112
  }
64
113
 
@@ -73,12 +122,18 @@
73
122
  .file-select {
74
123
  display: flex;
75
124
  align-items: center;
76
- flex-direction: column;
125
+ flex-direction: row;
126
+ justify-content: center;
127
+ border: var(--file-upload-border-width) var(--drag-drop-border-style) var(--color-blue-grey100);
128
+ padding: 1.25rem;
129
+
77
130
  [class*="file"] {
78
131
  font-size: 1.25rem;
132
+ margin-left: 0.5rem;
79
133
  }
134
+
80
135
  [class*="typography"] {
81
- margin-bottom: 0.625rem;
136
+ margin-bottom: 0;
82
137
  }
83
138
  }
84
139
 
@@ -94,6 +149,7 @@
94
149
  bottom: 0;
95
150
  opacity: 0;
96
151
  cursor: pointer;
152
+
97
153
  &:focus {
98
154
  outline: none;
99
155
  }
@@ -106,7 +162,8 @@
106
162
  .file-list {
107
163
  list-style: none;
108
164
  padding: 0;
109
- margin: 0.75rem 0;
165
+ margin: 0.25rem 0;
166
+
110
167
  li:not(:last-child) {
111
168
  margin-bottom: 0.5rem;
112
169
  }
@@ -27,7 +27,6 @@ import { FILE_ACTION, FileItem, Props as FileConfig } from "./FileItem/FileItem"
27
27
  import { Props as InputProps } from "../Input/Input";
28
28
  import { Typography } from "../../Typography/Typography";
29
29
  import classes from "./FileUpload.module.scss";
30
- import { Icon, Icons } from "../../Icon/Icon";
31
30
  import { useDetermineStatusIcon } from "../../../hooks/useDetermineStatusIcon";
32
31
 
33
32
  type FileUploadType = Omit<InputProps, "onDrop" | "type" | "onChange" | "suffix" | "prefix">;
@@ -50,6 +49,9 @@ export interface Props extends FileUploadType {
50
49
  onDrop?: (e: FileType[]) => void;
51
50
  onChange?: (e: FileType[]) => void;
52
51
  onRequestedFileAction?: (action: FILE_ACTION, name: FileType["name"]) => void;
52
+ downloadFileLink?: string;
53
+ isRequired?: boolean;
54
+ invalidDropErrorMessage?: string;
53
55
  }
54
56
 
55
57
  const FileUploadComponent: ForwardRefRenderFunction<HTMLInputElement, Props> = (
@@ -65,8 +67,8 @@ const FileUploadComponent: ForwardRefRenderFunction<HTMLInputElement, Props> = (
65
67
  labeledBy,
66
68
  disabled = false,
67
69
  onChange,
68
- dragAndDropText = "Drop file here or",
69
- selectButtonText = "Select file",
70
+ dragAndDropText = "Drag and drop or",
71
+ selectButtonText = "Browse file",
70
72
  onDragOver,
71
73
  onDragLeave,
72
74
  wrapperProps,
@@ -75,19 +77,30 @@ const FileUploadComponent: ForwardRefRenderFunction<HTMLInputElement, Props> = (
75
77
  onRequestedFileAction,
76
78
  exceedingMaxSizeErrorText,
77
79
  fileList,
80
+ downloadFileLink,
81
+ isRequired = true,
82
+ invalidDropErrorMessage = "Invalid file format. Supported formats are: $accept.",
78
83
  ...rest
79
84
  }: Props,
80
85
  ref
81
86
  ) => {
82
87
  const labelRef = useRef(null);
83
88
  const [dragActive, setDragActive] = useState(false);
89
+ const [errorMsg, setErrorMsg] = useState("");
84
90
  const [inputError, setInputError] = useState(false);
85
91
  const icon = useDetermineStatusIcon({ success, error });
86
92
  let dropzoneClassNames = [classes["file-dropzone"]];
93
+ let dropzoneContainerClassNames = [classes["upload-button-wrapper"]];
87
94
  let subTextClass = [classes["file-selector-sub-text"]];
88
- dragActive && dropzoneClassNames.push(classes["drag-active"]);
89
- inputError ||
90
- (error && dropzoneClassNames.push(classes["error"]) && subTextClass.push(classes["error"]));
95
+ let errorTextClass = [classes["file-selector-sub-text"]];
96
+ dragActive && dropzoneContainerClassNames.push(classes["drag-active"]);
97
+ const hasError = inputError || error || errorMsg;
98
+ if (hasError) {
99
+ const errorClass = classes["error"];
100
+ dropzoneClassNames.push(errorClass);
101
+ subTextClass.push(errorClass);
102
+ errorTextClass.push(errorClass);
103
+ }
91
104
  disabled && dropzoneClassNames.push(classes["disabled"]);
92
105
  success && !error && dropzoneClassNames.push(classes["success"]);
93
106
 
@@ -177,10 +190,13 @@ const FileUploadComponent: ForwardRefRenderFunction<HTMLInputElement, Props> = (
177
190
  e.preventDefault();
178
191
  e.stopPropagation();
179
192
  if (e?.dataTransfer?.files && e.dataTransfer.files.length) {
180
- const extension = e?.dataTransfer?.files[0].name.split(".").pop();
193
+ const extension = e?.dataTransfer?.files[0]?.name.split(".").pop();
181
194
  if (extension && accept && !accept.includes(extension)) {
195
+ setErrorMsg(invalidDropErrorMessage.replace("$accept", accept));
182
196
  setDragActive(false);
183
197
  return;
198
+ } else {
199
+ setErrorMsg("");
184
200
  }
185
201
  const validatedFiles = getFileList(e.dataTransfer.files);
186
202
  onDrop?.(validatedFiles);
@@ -191,40 +207,62 @@ const FileUploadComponent: ForwardRefRenderFunction<HTMLInputElement, Props> = (
191
207
  return (
192
208
  <div className={classes["file-upload-wrapper"]} {...wrapperProps}>
193
209
  <div className={classes["dropzone-wrapper"]}>
194
- <div
195
- className={dropzoneClassNames.join(" ")}
196
- onDragOver={e => !disabled && handleOnDragOver(e)}
197
- onDragLeave={e => !disabled && handleOnDragLeave(e)}
198
- onDrop={e => !disabled && handleOnDrop(e)}
199
- >
210
+ <div className={dropzoneClassNames.join(" ")}>
200
211
  <Typography variant="body-bold" className={classes["file-upload-title"]} ref={labelRef}>
201
- {title}
212
+ {title}{" "}
213
+ {isRequired && <span className={classes["file-upload-title-mandatory"]}>*</span>}
202
214
  </Typography>
203
- <div className={classes["file-select"]}>
204
- <Icon className={"drop-file-icon"} icon={Icons.FileUpload} />
205
- <Typography variant="body" className={"drag-and-drop-text"}>
206
- {dragAndDropText}
207
- </Typography>
208
- <div className={classes["file-upload-btn"]}>
209
- <Button variant="outline" disabled={disabled}>
210
- {selectButtonText}
211
- <input
212
- className={classes["upload-input"]}
213
- {...rest}
214
- ref={ref}
215
- aria-labelledby={labeledBy}
216
- type="file"
217
- name={name}
218
- {...(multiple && { multiple: true })}
219
- disabled={disabled}
220
- accept={accept}
221
- onChange={onInputChange}
222
- spellCheck={rest.spellCheck ?? false}
223
- />
224
- </Button>
215
+
216
+ {fileList?.length > 0 && (
217
+ <ul className={classes["file-list"]}>
218
+ {fileList.map(({ name, status, progress, error }) => (
219
+ <li key={name} className={status} id={name}>
220
+ <FileItem
221
+ name={name}
222
+ key={`${name}_${status}`}
223
+ status={status}
224
+ progress={progress}
225
+ error={error}
226
+ downloadFileLink={downloadFileLink}
227
+ onRequestedFileAction={onRequestedFileAction}
228
+ />
229
+ </li>
230
+ ))}
231
+ </ul>
232
+ )}
233
+
234
+ <div
235
+ className={dropzoneContainerClassNames.join(" ")}
236
+ onDragOver={e => !disabled && handleOnDragOver(e)}
237
+ onDragLeave={e => !disabled && handleOnDragLeave(e)}
238
+ onDrop={e => !disabled && handleOnDrop(e)}
239
+ >
240
+ <div className={classes["file-select"]}>
241
+ <Typography variant="body" className={"drag-and-drop-text"}>
242
+ {dragAndDropText}
243
+ </Typography>
244
+
245
+ <div className={classes["file-upload-btn"]}>
246
+ <Button variant="outline" disabled={disabled}>
247
+ {selectButtonText}
248
+ <input
249
+ {...rest}
250
+ className={`${classes["upload-input"]} ${rest.className}`}
251
+ ref={ref}
252
+ aria-labelledby={labeledBy}
253
+ type="file"
254
+ name={name}
255
+ multiple={multiple}
256
+ disabled={disabled}
257
+ accept={accept}
258
+ onChange={onInputChange}
259
+ spellCheck={false}
260
+ />
261
+ </Button>
262
+ </div>
263
+ {!disabled && icon}
264
+ <span className={classes["outline"]}></span>
225
265
  </div>
226
- {!disabled && icon}
227
- <span className={classes["outline"]}></span>
228
266
  </div>
229
267
  </div>
230
268
  {subText && (
@@ -232,22 +270,13 @@ const FileUploadComponent: ForwardRefRenderFunction<HTMLInputElement, Props> = (
232
270
  {subText}
233
271
  </Typography>
234
272
  )}
273
+
274
+ {errorMsg && (
275
+ <Typography variant={"sub-text"} className={errorTextClass.join(" ")}>
276
+ {errorMsg}
277
+ </Typography>
278
+ )}
235
279
  </div>
236
- {fileList?.length > 0 && (
237
- <ul className={classes["file-list"]}>
238
- {fileList.map(({ name, status, progress, error }) => (
239
- <li key={name} className={status} id={name}>
240
- <FileItem
241
- name={name}
242
- status={status}
243
- progress={progress}
244
- error={error}
245
- onRequestedFileAction={onRequestedFileAction}
246
- />
247
- </li>
248
- ))}
249
- </ul>
250
- )}
251
280
  </div>
252
281
  );
253
282
  };
@@ -0,0 +1,12 @@
1
+ .section-wrapper {
2
+ padding-bottom: 4rem;
3
+ }
4
+
5
+ .section-header-wrapper {
6
+ margin-bottom: 1rem;
7
+ }
8
+
9
+ .section-header {
10
+ line-height: 2rem;
11
+ color: var(--color-primary500);
12
+ }
@@ -14,18 +14,51 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- import React, { ForwardRefRenderFunction } from "react";
17
+ import React, { ForwardRefRenderFunction, RefObject, createRef, useEffect } from "react";
18
18
  import { Props as SelectOptionProps, Option as SelectOption } from "../SingleSelect/Option";
19
19
 
20
+ import classes from "./MultiSelect.module.scss";
21
+
20
22
  export interface Props extends SelectOptionProps {
21
23
  fixed?: boolean;
22
24
  }
23
25
 
24
26
  const MultiOptionComponent: ForwardRefRenderFunction<HTMLLIElement, Props> = (
25
- { fixed: _fixed, ...rest }: Props,
27
+ { fixed: _fixed, hasFocus, className, ...rest }: Props,
26
28
  ref
27
29
  ) => {
28
- return <SelectOption ref={ref} {...rest} />;
30
+ let innerOptionRef = (ref as RefObject<HTMLLIElement>) || createRef<HTMLLIElement>();
31
+
32
+ const additionalClasses = [];
33
+ className && additionalClasses.push(className);
34
+ hasFocus && additionalClasses.push(classes["focus"]);
35
+
36
+ const scrollToSelectedElement = (element: HTMLLIElement) => {
37
+ const listbox = element.parentElement;
38
+ const listboxWrapper = element.parentElement?.parentElement;
39
+ const isListboxWrapperScrollable = !!listboxWrapper?.style.maxHeight;
40
+ if (isListboxWrapperScrollable) {
41
+ listboxWrapper?.scrollTo(0, element.offsetTop - (listboxWrapper?.offsetHeight ?? 1) / 2);
42
+ }
43
+ listbox?.scrollTo(0, element.offsetTop - (listbox?.offsetHeight ?? 1) / 2);
44
+ };
45
+
46
+ useEffect(() => {
47
+ if (innerOptionRef.current && hasFocus) {
48
+ scrollToSelectedElement(innerOptionRef.current);
49
+ }
50
+ }, [hasFocus, innerOptionRef]);
51
+
52
+ return (
53
+ <SelectOption
54
+ ref={innerOptionRef}
55
+ isSelected={hasFocus}
56
+ disableDefaultSelectedStyle
57
+ className={additionalClasses.join(" ")}
58
+ aria-disabled={false}
59
+ {...rest}
60
+ />
61
+ );
29
62
  };
30
63
 
31
64
  export const MultiOption = React.forwardRef(MultiOptionComponent);
@@ -90,6 +90,7 @@ $listItemHeight: 2.5rem;
90
90
  display: flex;
91
91
  align-items: center;
92
92
  padding: 0.1875rem 0;
93
+ gap: 0.375rem;
93
94
  }
94
95
  }
95
96
 
@@ -143,9 +144,21 @@ $listItemHeight: 2.5rem;
143
144
  opacity: 0.05;
144
145
  }
145
146
 
146
- &:focus {
147
- outline: var(--input-border-width-focus) solid var(--color-primary300);
148
- outline-offset: -var(--input-border-width-focus);
147
+ &:focus,
148
+ &.focus {
149
+ outline: none;
150
+
151
+ &::before {
152
+ @include mixins.focusVisibleOutline($outlineOffset: 0, $selectors: null);
153
+ content: "";
154
+ position: absolute;
155
+ top: 0;
156
+ left: 0.125rem;
157
+ height: 100%;
158
+ width: calc(100% - 0.25rem);
159
+ opacity: 1;
160
+ z-index: calc(variables.$popover-z-index + 1);
161
+ }
149
162
  }
150
163
 
151
164
  &:hover:after,
@@ -166,20 +179,6 @@ $listItemHeight: 2.5rem;
166
179
  }
167
180
  }
168
181
 
169
- .selected-option {
170
- &:before {
171
- content: "";
172
- position: absolute;
173
- top: 0;
174
- left: 0;
175
- height: 100%;
176
- border-top-right-radius: 0.125rem;
177
- border-bottom-right-radius: 0.125rem;
178
- border-left: 0.25rem solid var(--color-primary);
179
- }
180
- color: var(--color-primary);
181
- }
182
-
183
182
  .status {
184
183
  padding: 0.3125rem;
185
184
  display: flex;
@@ -210,11 +209,22 @@ $listItemHeight: 2.5rem;
210
209
  }
211
210
 
212
211
  .select-search {
213
- position: relative;
214
- width: 100%;
212
+ flex: 1;
215
213
  box-sizing: border-box;
216
214
  border-bottom-left-radius: 0;
217
215
  border-bottom-right-radius: 0;
216
+ border: 0;
217
+ background-color: transparent;
218
+ color: var(--default);
219
+ font-family: var(--font-family);
220
+ line-height: 1.3333;
221
+ margin: 0;
222
+ padding: 0;
223
+
224
+ &:focus-visible,
225
+ &:focus {
226
+ outline: none;
227
+ }
218
228
  }
219
229
 
220
230
  .disabled {