@hitachivantara/uikit-react-core 5.31.0 → 5.33.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 (740) hide show
  1. package/dist/cjs/components/Accordion/Accordion.cjs +4 -5
  2. package/dist/cjs/components/Accordion/Accordion.cjs.map +1 -1
  3. package/dist/cjs/components/ActionsGeneric/ActionsGeneric.cjs +5 -5
  4. package/dist/cjs/components/ActionsGeneric/ActionsGeneric.cjs.map +1 -1
  5. package/dist/cjs/components/AppSwitcher/Action/Action.cjs +2 -2
  6. package/dist/cjs/components/AppSwitcher/Action/Action.cjs.map +1 -1
  7. package/dist/cjs/components/AppSwitcher/AppSwitcher.cjs +2 -2
  8. package/dist/cjs/components/AppSwitcher/AppSwitcher.cjs.map +1 -1
  9. package/dist/cjs/components/Avatar/Avatar.cjs +1 -1
  10. package/dist/cjs/components/Avatar/Avatar.cjs.map +1 -1
  11. package/dist/cjs/components/Banner/BannerContent/BannerContent.cjs +1 -1
  12. package/dist/cjs/components/Banner/BannerContent/BannerContent.cjs.map +1 -1
  13. package/dist/cjs/components/BaseCheckBox/BaseCheckBox.cjs +3 -3
  14. package/dist/cjs/components/BaseCheckBox/BaseCheckBox.cjs.map +1 -1
  15. package/dist/cjs/components/BaseDropdown/BaseDropdown.cjs +15 -18
  16. package/dist/cjs/components/BaseDropdown/BaseDropdown.cjs.map +1 -1
  17. package/dist/cjs/components/BaseDropdown/BaseDropdown.styles.cjs +6 -6
  18. package/dist/cjs/components/BaseDropdown/BaseDropdown.styles.cjs.map +1 -1
  19. package/dist/cjs/components/BaseInput/BaseInput.cjs +1 -1
  20. package/dist/cjs/components/BaseInput/BaseInput.cjs.map +1 -1
  21. package/dist/cjs/components/BaseInput/validations.cjs +12 -13
  22. package/dist/cjs/components/BaseInput/validations.cjs.map +1 -1
  23. package/dist/cjs/components/BaseRadio/BaseRadio.cjs +3 -3
  24. package/dist/cjs/components/BaseRadio/BaseRadio.cjs.map +1 -1
  25. package/dist/cjs/components/BaseSwitch/BaseSwitch.cjs +3 -3
  26. package/dist/cjs/components/BaseSwitch/BaseSwitch.cjs.map +1 -1
  27. package/dist/cjs/components/Box/Box.cjs +1 -1
  28. package/dist/cjs/components/Box/Box.cjs.map +1 -1
  29. package/dist/cjs/components/BreadCrumb/BreadCrumb.cjs +2 -5
  30. package/dist/cjs/components/BreadCrumb/BreadCrumb.cjs.map +1 -1
  31. package/dist/cjs/components/BreadCrumb/Page/Page.cjs +11 -9
  32. package/dist/cjs/components/BreadCrumb/Page/Page.cjs.map +1 -1
  33. package/dist/cjs/components/BreadCrumb/Page/Page.styles.cjs +3 -3
  34. package/dist/cjs/components/BreadCrumb/Page/Page.styles.cjs.map +1 -1
  35. package/dist/cjs/components/BreadCrumb/utils.cjs +1 -1
  36. package/dist/cjs/components/BreadCrumb/utils.cjs.map +1 -1
  37. package/dist/cjs/components/BulkActions/BulkActions.cjs +4 -4
  38. package/dist/cjs/components/BulkActions/BulkActions.cjs.map +1 -1
  39. package/dist/cjs/components/BulkActions/BulkActions.styles.cjs.map +1 -1
  40. package/dist/cjs/components/Button/Button.cjs +1 -1
  41. package/dist/cjs/components/Button/Button.cjs.map +1 -1
  42. package/dist/cjs/components/Calendar/Calendar.cjs +3 -3
  43. package/dist/cjs/components/Calendar/Calendar.cjs.map +1 -1
  44. package/dist/cjs/components/Calendar/Calendar.styles.cjs +1 -1
  45. package/dist/cjs/components/Calendar/Calendar.styles.cjs.map +1 -1
  46. package/dist/cjs/components/Calendar/CalendarHeader/CalendarHeader.cjs +6 -9
  47. package/dist/cjs/components/Calendar/CalendarHeader/CalendarHeader.cjs.map +1 -1
  48. package/dist/cjs/components/Calendar/CalendarHeader/CalendarHeader.styles.cjs +1 -1
  49. package/dist/cjs/components/Calendar/CalendarHeader/CalendarHeader.styles.cjs.map +1 -1
  50. package/dist/cjs/components/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.cjs +4 -4
  51. package/dist/cjs/components/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.cjs.map +1 -1
  52. package/dist/cjs/components/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.styles.cjs +1 -1
  53. package/dist/cjs/components/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.styles.cjs.map +1 -1
  54. package/dist/cjs/components/Calendar/CalendarNavigation/MonthSelector/MonthSelector.cjs +2 -2
  55. package/dist/cjs/components/Calendar/CalendarNavigation/MonthSelector/MonthSelector.cjs.map +1 -1
  56. package/dist/cjs/components/Calendar/CalendarNavigation/Navigation/Navigation.cjs +8 -28
  57. package/dist/cjs/components/Calendar/CalendarNavigation/Navigation/Navigation.cjs.map +1 -1
  58. package/dist/cjs/components/Calendar/CalendarNavigation/Navigation/Navigation.styles.cjs +9 -39
  59. package/dist/cjs/components/Calendar/CalendarNavigation/Navigation/Navigation.styles.cjs.map +1 -1
  60. package/dist/cjs/components/Calendar/SingleCalendar/CalendarCell.cjs +3 -6
  61. package/dist/cjs/components/Calendar/SingleCalendar/CalendarCell.cjs.map +1 -1
  62. package/dist/cjs/components/Calendar/SingleCalendar/SingleCalendar.cjs +15 -19
  63. package/dist/cjs/components/Calendar/SingleCalendar/SingleCalendar.cjs.map +1 -1
  64. package/dist/cjs/components/Calendar/SingleCalendar/SingleCalendar.styles.cjs +9 -1
  65. package/dist/cjs/components/Calendar/SingleCalendar/SingleCalendar.styles.cjs.map +1 -1
  66. package/dist/cjs/components/Calendar/utils.cjs +8 -13
  67. package/dist/cjs/components/Calendar/utils.cjs.map +1 -1
  68. package/dist/cjs/components/Card/Card.cjs.map +1 -1
  69. package/dist/cjs/components/Card/Header/Header.cjs.map +1 -1
  70. package/dist/cjs/components/Card/Media/Media.cjs.map +1 -1
  71. package/dist/cjs/components/Carousel/Carousel.cjs +10 -11
  72. package/dist/cjs/components/Carousel/Carousel.cjs.map +1 -1
  73. package/dist/cjs/components/Carousel/CarouselControls.cjs +1 -1
  74. package/dist/cjs/components/Carousel/CarouselControls.cjs.map +1 -1
  75. package/dist/cjs/components/Carousel/CarouselThumbnails.cjs +1 -1
  76. package/dist/cjs/components/Carousel/CarouselThumbnails.cjs.map +1 -1
  77. package/dist/cjs/components/CheckBox/CheckBox.cjs +3 -3
  78. package/dist/cjs/components/CheckBox/CheckBox.cjs.map +1 -1
  79. package/dist/cjs/components/CheckBoxGroup/CheckBoxGroup.cjs +11 -17
  80. package/dist/cjs/components/CheckBoxGroup/CheckBoxGroup.cjs.map +1 -1
  81. package/dist/cjs/components/ColorPicker/ColorPicker.cjs +10 -10
  82. package/dist/cjs/components/ColorPicker/ColorPicker.cjs.map +1 -1
  83. package/dist/cjs/components/ColorPicker/Fields/Fields.cjs +16 -16
  84. package/dist/cjs/components/ColorPicker/Fields/Fields.cjs.map +1 -1
  85. package/dist/cjs/components/ColorPicker/Picker/Picker.cjs +3 -3
  86. package/dist/cjs/components/ColorPicker/Picker/Picker.cjs.map +1 -1
  87. package/dist/cjs/components/ColorPicker/PresetColors/PresetColors.cjs.map +1 -1
  88. package/dist/cjs/components/ColorPicker/SavedColors/SavedColors.cjs.map +1 -1
  89. package/dist/cjs/components/Controls/Controls.cjs +7 -13
  90. package/dist/cjs/components/Controls/Controls.cjs.map +1 -1
  91. package/dist/cjs/components/Controls/LeftControl/LeftControl.cjs +2 -2
  92. package/dist/cjs/components/Controls/LeftControl/LeftControl.cjs.map +1 -1
  93. package/dist/cjs/components/Controls/RightControl/RightControl.cjs +3 -3
  94. package/dist/cjs/components/Controls/RightControl/RightControl.cjs.map +1 -1
  95. package/dist/cjs/components/DatePicker/DatePicker.cjs +10 -11
  96. package/dist/cjs/components/DatePicker/DatePicker.cjs.map +1 -1
  97. package/dist/cjs/components/DatePicker/utils.cjs +1 -1
  98. package/dist/cjs/components/DatePicker/utils.cjs.map +1 -1
  99. package/dist/cjs/components/Dialog/Actions/Actions.cjs.map +1 -1
  100. package/dist/cjs/components/Dialog/Content/Content.cjs.map +1 -1
  101. package/dist/cjs/components/Dialog/Dialog.cjs +5 -5
  102. package/dist/cjs/components/Dialog/Dialog.cjs.map +1 -1
  103. package/dist/cjs/components/Dialog/Title/Title.cjs.map +1 -1
  104. package/dist/cjs/components/DotPagination/DotPagination.cjs +4 -4
  105. package/dist/cjs/components/DotPagination/DotPagination.cjs.map +1 -1
  106. package/dist/cjs/components/Drawer/Drawer.cjs +1 -1
  107. package/dist/cjs/components/Drawer/Drawer.cjs.map +1 -1
  108. package/dist/cjs/components/DropDownMenu/DropDownMenu.cjs +5 -6
  109. package/dist/cjs/components/DropDownMenu/DropDownMenu.cjs.map +1 -1
  110. package/dist/cjs/components/Dropdown/Dropdown.cjs +10 -12
  111. package/dist/cjs/components/Dropdown/Dropdown.cjs.map +1 -1
  112. package/dist/cjs/components/Dropdown/List/List.cjs +10 -13
  113. package/dist/cjs/components/Dropdown/List/List.cjs.map +1 -1
  114. package/dist/cjs/components/FileUploader/DropZone/DropZone.cjs +13 -14
  115. package/dist/cjs/components/FileUploader/DropZone/DropZone.cjs.map +1 -1
  116. package/dist/cjs/components/FileUploader/DropZone/DropZone.styles.cjs +1 -1
  117. package/dist/cjs/components/FileUploader/DropZone/DropZone.styles.cjs.map +1 -1
  118. package/dist/cjs/components/FileUploader/File/File.cjs +6 -6
  119. package/dist/cjs/components/FileUploader/File/File.cjs.map +1 -1
  120. package/dist/cjs/components/FileUploader/File/File.styles.cjs +1 -1
  121. package/dist/cjs/components/FileUploader/File/File.styles.cjs.map +1 -1
  122. package/dist/cjs/components/FileUploader/FileList/FileList.cjs +1 -1
  123. package/dist/cjs/components/FileUploader/FileList/FileList.cjs.map +1 -1
  124. package/dist/cjs/components/FileUploader/FileList/FileList.styles.cjs +1 -1
  125. package/dist/cjs/components/FileUploader/FileList/FileList.styles.cjs.map +1 -1
  126. package/dist/cjs/components/FileUploader/FileUploader.cjs +1 -1
  127. package/dist/cjs/components/FileUploader/FileUploader.cjs.map +1 -1
  128. package/dist/cjs/components/FileUploader/Preview/Preview.cjs +1 -1
  129. package/dist/cjs/components/FileUploader/Preview/Preview.cjs.map +1 -1
  130. package/dist/cjs/components/FileUploader/Preview/Preview.styles.cjs +1 -1
  131. package/dist/cjs/components/FileUploader/Preview/Preview.styles.cjs.map +1 -1
  132. package/dist/cjs/components/FilterGroup/Counter/Counter.cjs +2 -4
  133. package/dist/cjs/components/FilterGroup/Counter/Counter.cjs.map +1 -1
  134. package/dist/cjs/components/FilterGroup/FilterContent/FilterContent.cjs +10 -11
  135. package/dist/cjs/components/FilterGroup/FilterContent/FilterContent.cjs.map +1 -1
  136. package/dist/cjs/components/FilterGroup/FilterGroupContext.cjs +1 -1
  137. package/dist/cjs/components/FilterGroup/FilterGroupContext.cjs.map +1 -1
  138. package/dist/cjs/components/FilterGroup/RightPanel/RightPanel.cjs +14 -26
  139. package/dist/cjs/components/FilterGroup/RightPanel/RightPanel.cjs.map +1 -1
  140. package/dist/cjs/components/Focus/Focus.cjs +8 -13
  141. package/dist/cjs/components/Focus/Focus.cjs.map +1 -1
  142. package/dist/cjs/components/Focus/utils.cjs +1 -1
  143. package/dist/cjs/components/Focus/utils.cjs.map +1 -1
  144. package/dist/cjs/components/Footer/Footer.cjs.map +1 -1
  145. package/dist/cjs/components/Footer/Footer.styles.cjs.map +1 -1
  146. package/dist/cjs/components/Forms/Adornment/Adornment.cjs +1 -2
  147. package/dist/cjs/components/Forms/Adornment/Adornment.cjs.map +1 -1
  148. package/dist/cjs/components/Forms/FormElement/utils/FormUtils.cjs +17 -20
  149. package/dist/cjs/components/Forms/FormElement/utils/FormUtils.cjs.map +1 -1
  150. package/dist/cjs/components/Forms/Label/Label.cjs +1 -2
  151. package/dist/cjs/components/Forms/Label/Label.cjs.map +1 -1
  152. package/dist/cjs/components/Forms/Suggestions/Suggestions.cjs +2 -2
  153. package/dist/cjs/components/Forms/Suggestions/Suggestions.cjs.map +1 -1
  154. package/dist/cjs/components/Forms/WarningText/WarningText.cjs +3 -6
  155. package/dist/cjs/components/Forms/WarningText/WarningText.cjs.map +1 -1
  156. package/dist/cjs/components/Forms/WarningText/WarningText.styles.cjs +6 -7
  157. package/dist/cjs/components/Forms/WarningText/WarningText.styles.cjs.map +1 -1
  158. package/dist/cjs/components/GlobalActions/GlobalActions.cjs +1 -1
  159. package/dist/cjs/components/GlobalActions/GlobalActions.cjs.map +1 -1
  160. package/dist/cjs/components/GlobalActions/GlobalActions.styles.cjs.map +1 -1
  161. package/dist/cjs/components/Grid/Grid.cjs +1 -1
  162. package/dist/cjs/components/Grid/Grid.cjs.map +1 -1
  163. package/dist/cjs/components/Header/Actions/Actions.styles.cjs +1 -2
  164. package/dist/cjs/components/Header/Actions/Actions.styles.cjs.map +1 -1
  165. package/dist/cjs/components/Header/Navigation/MenuBar/Bar.cjs +1 -1
  166. package/dist/cjs/components/Header/Navigation/MenuBar/Bar.cjs.map +1 -1
  167. package/dist/cjs/components/Header/Navigation/MenuBar/MenuBar.cjs.map +1 -1
  168. package/dist/cjs/components/Header/Navigation/MenuItem/MenuItem.cjs +14 -15
  169. package/dist/cjs/components/Header/Navigation/MenuItem/MenuItem.cjs.map +1 -1
  170. package/dist/cjs/components/Header/Navigation/Navigation.cjs +1 -1
  171. package/dist/cjs/components/Header/Navigation/Navigation.cjs.map +1 -1
  172. package/dist/cjs/components/Header/Navigation/useSelectionPath.cjs +1 -1
  173. package/dist/cjs/components/Header/Navigation/useSelectionPath.cjs.map +1 -1
  174. package/dist/cjs/components/InlineEditor/InlineEditor.cjs +8 -7
  175. package/dist/cjs/components/InlineEditor/InlineEditor.cjs.map +1 -1
  176. package/dist/cjs/components/InlineEditor/InlineEditor.styles.cjs +2 -2
  177. package/dist/cjs/components/InlineEditor/InlineEditor.styles.cjs.map +1 -1
  178. package/dist/cjs/components/Input/Input.cjs +24 -29
  179. package/dist/cjs/components/Input/Input.cjs.map +1 -1
  180. package/dist/cjs/components/Kpi/Kpi.cjs +4 -4
  181. package/dist/cjs/components/Kpi/Kpi.cjs.map +1 -1
  182. package/dist/cjs/components/Link/Link.cjs +1 -1
  183. package/dist/cjs/components/Link/Link.cjs.map +1 -1
  184. package/dist/cjs/components/List/List.cjs +5 -6
  185. package/dist/cjs/components/List/List.cjs.map +1 -1
  186. package/dist/cjs/components/List/utils.cjs +6 -6
  187. package/dist/cjs/components/List/utils.cjs.map +1 -1
  188. package/dist/cjs/components/ListContainer/ListItem/ListItem.cjs +4 -4
  189. package/dist/cjs/components/ListContainer/ListItem/ListItem.cjs.map +1 -1
  190. package/dist/cjs/components/Login/Login.styles.cjs +1 -1
  191. package/dist/cjs/components/Login/Login.styles.cjs.map +1 -1
  192. package/dist/cjs/components/MultiButton/MultiButton.cjs +1 -1
  193. package/dist/cjs/components/MultiButton/MultiButton.cjs.map +1 -1
  194. package/dist/cjs/components/MultiButton/MultiButton.styles.cjs.map +1 -1
  195. package/dist/cjs/components/OverflowTooltip/OverflowTooltip.cjs +3 -4
  196. package/dist/cjs/components/OverflowTooltip/OverflowTooltip.cjs.map +1 -1
  197. package/dist/cjs/components/Pagination/Pagination.cjs +18 -16
  198. package/dist/cjs/components/Pagination/Pagination.cjs.map +1 -1
  199. package/dist/cjs/components/Pagination/Pagination.styles.cjs +27 -8
  200. package/dist/cjs/components/Pagination/Pagination.styles.cjs.map +1 -1
  201. package/dist/cjs/components/Pagination/Select.cjs +1 -1
  202. package/dist/cjs/components/Pagination/Select.cjs.map +1 -1
  203. package/dist/cjs/components/Panel/Panel.cjs.map +1 -1
  204. package/dist/cjs/components/ProgressBar/ProgressBar.cjs +1 -1
  205. package/dist/cjs/components/ProgressBar/ProgressBar.cjs.map +1 -1
  206. package/dist/cjs/components/QueryBuilder/ConfirmationDialog/ConfirmationDialog.cjs +2 -2
  207. package/dist/cjs/components/QueryBuilder/ConfirmationDialog/ConfirmationDialog.cjs.map +1 -1
  208. package/dist/cjs/components/QueryBuilder/Context.cjs.map +1 -1
  209. package/dist/cjs/components/QueryBuilder/QueryBuilder.cjs +3 -3
  210. package/dist/cjs/components/QueryBuilder/QueryBuilder.cjs.map +1 -1
  211. package/dist/cjs/components/QueryBuilder/Rule/Attribute/Attribute.cjs +4 -6
  212. package/dist/cjs/components/QueryBuilder/Rule/Attribute/Attribute.cjs.map +1 -1
  213. package/dist/cjs/components/QueryBuilder/Rule/Rule.cjs +1 -1
  214. package/dist/cjs/components/QueryBuilder/Rule/Rule.cjs.map +1 -1
  215. package/dist/cjs/components/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.cjs +18 -23
  216. package/dist/cjs/components/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.cjs.map +1 -1
  217. package/dist/cjs/components/QueryBuilder/Rule/Value/NumericValue/NumericValue.cjs +31 -35
  218. package/dist/cjs/components/QueryBuilder/Rule/Value/NumericValue/NumericValue.cjs.map +1 -1
  219. package/dist/cjs/components/QueryBuilder/RuleGroup/RuleGroup.cjs +10 -12
  220. package/dist/cjs/components/QueryBuilder/RuleGroup/RuleGroup.cjs.map +1 -1
  221. package/dist/cjs/components/QueryBuilder/utils/index.cjs +1 -1
  222. package/dist/cjs/components/QueryBuilder/utils/index.cjs.map +1 -1
  223. package/dist/cjs/components/Radio/Radio.cjs +3 -3
  224. package/dist/cjs/components/Radio/Radio.cjs.map +1 -1
  225. package/dist/cjs/components/RadioGroup/RadioGroup.cjs +11 -16
  226. package/dist/cjs/components/RadioGroup/RadioGroup.cjs.map +1 -1
  227. package/dist/cjs/components/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.cjs.map +1 -1
  228. package/dist/cjs/components/ScrollTo/Horizontal/ScrollToHorizontal.cjs +7 -7
  229. package/dist/cjs/components/ScrollTo/Horizontal/ScrollToHorizontal.cjs.map +1 -1
  230. package/dist/cjs/components/ScrollTo/Vertical/ScrollToVertical.cjs +4 -4
  231. package/dist/cjs/components/ScrollTo/Vertical/ScrollToVertical.cjs.map +1 -1
  232. package/dist/cjs/components/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.cjs +1 -1
  233. package/dist/cjs/components/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.cjs.map +1 -1
  234. package/dist/cjs/components/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.styles.cjs +1 -1
  235. package/dist/cjs/components/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.styles.cjs.map +1 -1
  236. package/dist/cjs/components/ScrollTo/useScrollTo.cjs +3 -3
  237. package/dist/cjs/components/ScrollTo/useScrollTo.cjs.map +1 -1
  238. package/dist/cjs/components/ScrollTo/utils.cjs +4 -7
  239. package/dist/cjs/components/ScrollTo/utils.cjs.map +1 -1
  240. package/dist/cjs/components/Section/Section.cjs +50 -0
  241. package/dist/cjs/components/Section/Section.cjs.map +1 -0
  242. package/dist/cjs/components/Section/Section.styles.cjs +40 -0
  243. package/dist/cjs/components/Section/Section.styles.cjs.map +1 -0
  244. package/dist/cjs/components/SelectionList/SelectionList.cjs +9 -15
  245. package/dist/cjs/components/SelectionList/SelectionList.cjs.map +1 -1
  246. package/dist/cjs/components/Slider/Slider.cjs +9 -10
  247. package/dist/cjs/components/Slider/Slider.cjs.map +1 -1
  248. package/dist/cjs/components/Slider/Slider.styles.cjs.map +1 -1
  249. package/dist/cjs/components/Slider/SliderInput/SliderInput.cjs +2 -2
  250. package/dist/cjs/components/Slider/SliderInput/SliderInput.cjs.map +1 -1
  251. package/dist/cjs/components/Slider/utils.cjs +2 -2
  252. package/dist/cjs/components/Slider/utils.cjs.map +1 -1
  253. package/dist/cjs/components/Snackbar/Snackbar.cjs.map +1 -1
  254. package/dist/cjs/components/Snackbar/SnackbarContent/SnackbarContent.cjs +2 -2
  255. package/dist/cjs/components/Snackbar/SnackbarContent/SnackbarContent.cjs.map +1 -1
  256. package/dist/cjs/components/Stack/Stack.cjs.map +1 -1
  257. package/dist/cjs/components/Switch/Switch.cjs +1 -1
  258. package/dist/cjs/components/Switch/Switch.cjs.map +1 -1
  259. package/dist/cjs/components/Tab/Tab.cjs.map +1 -1
  260. package/dist/cjs/components/Tab/Tab.styles.cjs +1 -1
  261. package/dist/cjs/components/Tab/Tab.styles.cjs.map +1 -1
  262. package/dist/cjs/components/Table/TableBody/TableBody.cjs +1 -2
  263. package/dist/cjs/components/Table/TableBody/TableBody.cjs.map +1 -1
  264. package/dist/cjs/components/Table/TableCell/TableCell.cjs +3 -4
  265. package/dist/cjs/components/Table/TableCell/TableCell.cjs.map +1 -1
  266. package/dist/cjs/components/Table/TableHead/TableHead.cjs +1 -2
  267. package/dist/cjs/components/Table/TableHead/TableHead.cjs.map +1 -1
  268. package/dist/cjs/components/Table/TableHeader/TableHeader.cjs +3 -4
  269. package/dist/cjs/components/Table/TableHeader/TableHeader.cjs.map +1 -1
  270. package/dist/cjs/components/Table/TableRow/TableRow.cjs +2 -3
  271. package/dist/cjs/components/Table/TableRow/TableRow.cjs.map +1 -1
  272. package/dist/cjs/components/Table/hooks/useHeaderGroups.cjs +1 -2
  273. package/dist/cjs/components/Table/hooks/useHeaderGroups.cjs.map +1 -1
  274. package/dist/cjs/components/Table/hooks/useResizeColumns.cjs +1 -2
  275. package/dist/cjs/components/Table/hooks/useResizeColumns.cjs.map +1 -1
  276. package/dist/cjs/components/Table/hooks/useRowExpand.cjs +2 -5
  277. package/dist/cjs/components/Table/hooks/useRowExpand.cjs.map +1 -1
  278. package/dist/cjs/components/Table/hooks/useRowSelection.cjs +2 -4
  279. package/dist/cjs/components/Table/hooks/useRowSelection.cjs.map +1 -1
  280. package/dist/cjs/components/Table/hooks/useSticky.cjs +5 -7
  281. package/dist/cjs/components/Table/hooks/useSticky.cjs.map +1 -1
  282. package/dist/cjs/components/Table/hooks/useTable.cjs.map +1 -1
  283. package/dist/cjs/components/Table/hooks/useTableStyles.cjs.map +1 -1
  284. package/dist/cjs/components/Table/renderers/DropdownColumnCell/DropdownColumnCell.cjs +1 -1
  285. package/dist/cjs/components/Table/renderers/DropdownColumnCell/DropdownColumnCell.cjs.map +1 -1
  286. package/dist/cjs/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.cjs +1 -1
  287. package/dist/cjs/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.cjs.map +1 -1
  288. package/dist/cjs/components/Table/renderers/renderers.cjs +6 -7
  289. package/dist/cjs/components/Table/renderers/renderers.cjs.map +1 -1
  290. package/dist/cjs/components/Table/utils/fallbacks.cjs +1 -1
  291. package/dist/cjs/components/Table/utils/fallbacks.cjs.map +1 -1
  292. package/dist/cjs/components/Tabs/Tabs.cjs.map +1 -1
  293. package/dist/cjs/components/Tabs/Tabs.styles.cjs.map +1 -1
  294. package/dist/cjs/components/Tag/Tag.cjs +2 -2
  295. package/dist/cjs/components/Tag/Tag.cjs.map +1 -1
  296. package/dist/cjs/components/Tag/Tag.styles.cjs.map +1 -1
  297. package/dist/cjs/components/TagsInput/TagsInput.cjs +16 -26
  298. package/dist/cjs/components/TagsInput/TagsInput.cjs.map +1 -1
  299. package/dist/cjs/components/TextArea/TextArea.cjs +5 -9
  300. package/dist/cjs/components/TextArea/TextArea.cjs.map +1 -1
  301. package/dist/cjs/components/TimePicker/Placeholder.cjs +1 -1
  302. package/dist/cjs/components/TimePicker/Placeholder.cjs.map +1 -1
  303. package/dist/cjs/components/TimePicker/TimePicker.cjs +3 -4
  304. package/dist/cjs/components/TimePicker/TimePicker.cjs.map +1 -1
  305. package/dist/cjs/components/ToggleButton/ToggleButton.cjs +1 -1
  306. package/dist/cjs/components/ToggleButton/ToggleButton.cjs.map +1 -1
  307. package/dist/cjs/components/Tooltip/Tooltip.cjs +1 -1
  308. package/dist/cjs/components/Tooltip/Tooltip.cjs.map +1 -1
  309. package/dist/cjs/components/Tooltip/Tooltip.styles.cjs.map +1 -1
  310. package/dist/cjs/components/Typography/Typography.cjs +1 -1
  311. package/dist/cjs/components/Typography/Typography.cjs.map +1 -1
  312. package/dist/cjs/components/VerticalNavigation/Actions/Action.cjs.map +1 -1
  313. package/dist/cjs/components/VerticalNavigation/Actions/Action.styles.cjs.map +1 -1
  314. package/dist/cjs/components/VerticalNavigation/Actions/Actions.cjs.map +1 -1
  315. package/dist/cjs/components/VerticalNavigation/Actions/Actions.styles.cjs +1 -1
  316. package/dist/cjs/components/VerticalNavigation/Actions/Actions.styles.cjs.map +1 -1
  317. package/dist/cjs/components/VerticalNavigation/Header/Header.cjs +1 -1
  318. package/dist/cjs/components/VerticalNavigation/Header/Header.cjs.map +1 -1
  319. package/dist/cjs/components/VerticalNavigation/Navigation/Navigation.cjs +10 -10
  320. package/dist/cjs/components/VerticalNavigation/Navigation/Navigation.cjs.map +1 -1
  321. package/dist/cjs/components/VerticalNavigation/Navigation/Navigation.styles.cjs +1 -1
  322. package/dist/cjs/components/VerticalNavigation/Navigation/Navigation.styles.cjs.map +1 -1
  323. package/dist/cjs/components/VerticalNavigation/NavigationPopup/NavigationPopup.styles.cjs +2 -2
  324. package/dist/cjs/components/VerticalNavigation/NavigationPopup/NavigationPopup.styles.cjs.map +1 -1
  325. package/dist/cjs/components/VerticalNavigation/NavigationPopup/NavigationPopupContainer.cjs +1 -1
  326. package/dist/cjs/components/VerticalNavigation/NavigationPopup/NavigationPopupContainer.cjs.map +1 -1
  327. package/dist/cjs/components/VerticalNavigation/NavigationSlider/NavigationSlider.cjs +2 -2
  328. package/dist/cjs/components/VerticalNavigation/NavigationSlider/NavigationSlider.cjs.map +1 -1
  329. package/dist/cjs/components/VerticalNavigation/NavigationSlider/NavigationSlider.styles.cjs.map +1 -1
  330. package/dist/cjs/components/VerticalNavigation/NavigationSlider/utils/NavigationSlider.utils.cjs +2 -4
  331. package/dist/cjs/components/VerticalNavigation/NavigationSlider/utils/NavigationSlider.utils.cjs.map +1 -1
  332. package/dist/cjs/components/VerticalNavigation/TreeView/IconWrapper/IconWrapper.cjs +1 -1
  333. package/dist/cjs/components/VerticalNavigation/TreeView/IconWrapper/IconWrapper.cjs.map +1 -1
  334. package/dist/cjs/components/VerticalNavigation/TreeView/TreeView.cjs +5 -16
  335. package/dist/cjs/components/VerticalNavigation/TreeView/TreeView.cjs.map +1 -1
  336. package/dist/cjs/components/VerticalNavigation/TreeView/TreeView.styles.cjs +1 -1
  337. package/dist/cjs/components/VerticalNavigation/TreeView/TreeView.styles.cjs.map +1 -1
  338. package/dist/cjs/components/VerticalNavigation/TreeView/TreeViewItem.cjs +7 -8
  339. package/dist/cjs/components/VerticalNavigation/TreeView/TreeViewItem.cjs.map +1 -1
  340. package/dist/cjs/components/VerticalNavigation/TreeView/descendants.cjs.map +1 -1
  341. package/dist/cjs/components/VerticalNavigation/VerticalNavigation.cjs +2 -2
  342. package/dist/cjs/components/VerticalNavigation/VerticalNavigation.cjs.map +1 -1
  343. package/dist/cjs/components/VerticalNavigation/VerticalNavigation.styles.cjs +1 -1
  344. package/dist/cjs/components/VerticalNavigation/VerticalNavigation.styles.cjs.map +1 -1
  345. package/dist/cjs/hocs/withTooltip.cjs +1 -1
  346. package/dist/cjs/hocs/withTooltip.cjs.map +1 -1
  347. package/dist/cjs/hooks/useClickOutside.cjs +2 -2
  348. package/dist/cjs/hooks/useClickOutside.cjs.map +1 -1
  349. package/dist/cjs/hooks/useComputation.cjs +1 -1
  350. package/dist/cjs/hooks/useComputation.cjs.map +1 -1
  351. package/dist/cjs/hooks/useCss.cjs.map +1 -1
  352. package/dist/cjs/hooks/useDefaultProps.cjs +4 -5
  353. package/dist/cjs/hooks/useDefaultProps.cjs.map +1 -1
  354. package/dist/cjs/hooks/useTheme.cjs +1 -2
  355. package/dist/cjs/hooks/useTheme.cjs.map +1 -1
  356. package/dist/cjs/index.cjs +4 -0
  357. package/dist/cjs/index.cjs.map +1 -1
  358. package/dist/cjs/utils/classes.cjs +2 -2
  359. package/dist/cjs/utils/classes.cjs.map +1 -1
  360. package/dist/cjs/utils/keyboardUtils.cjs +1 -1
  361. package/dist/cjs/utils/keyboardUtils.cjs.map +1 -1
  362. package/dist/cjs/utils/setId.cjs +1 -3
  363. package/dist/cjs/utils/setId.cjs.map +1 -1
  364. package/dist/cjs/utils/theme.cjs +2 -4
  365. package/dist/cjs/utils/theme.cjs.map +1 -1
  366. package/dist/esm/components/Accordion/Accordion.js +4 -5
  367. package/dist/esm/components/Accordion/Accordion.js.map +1 -1
  368. package/dist/esm/components/ActionsGeneric/ActionsGeneric.js +5 -5
  369. package/dist/esm/components/ActionsGeneric/ActionsGeneric.js.map +1 -1
  370. package/dist/esm/components/AppSwitcher/Action/Action.js +2 -2
  371. package/dist/esm/components/AppSwitcher/Action/Action.js.map +1 -1
  372. package/dist/esm/components/AppSwitcher/AppSwitcher.js +2 -2
  373. package/dist/esm/components/AppSwitcher/AppSwitcher.js.map +1 -1
  374. package/dist/esm/components/Avatar/Avatar.js +1 -1
  375. package/dist/esm/components/Avatar/Avatar.js.map +1 -1
  376. package/dist/esm/components/Banner/BannerContent/BannerContent.js +1 -1
  377. package/dist/esm/components/Banner/BannerContent/BannerContent.js.map +1 -1
  378. package/dist/esm/components/BaseCheckBox/BaseCheckBox.js +3 -3
  379. package/dist/esm/components/BaseCheckBox/BaseCheckBox.js.map +1 -1
  380. package/dist/esm/components/BaseDropdown/BaseDropdown.js +15 -18
  381. package/dist/esm/components/BaseDropdown/BaseDropdown.js.map +1 -1
  382. package/dist/esm/components/BaseDropdown/BaseDropdown.styles.js +6 -6
  383. package/dist/esm/components/BaseDropdown/BaseDropdown.styles.js.map +1 -1
  384. package/dist/esm/components/BaseInput/BaseInput.js +1 -1
  385. package/dist/esm/components/BaseInput/BaseInput.js.map +1 -1
  386. package/dist/esm/components/BaseInput/validations.js +12 -13
  387. package/dist/esm/components/BaseInput/validations.js.map +1 -1
  388. package/dist/esm/components/BaseRadio/BaseRadio.js +3 -3
  389. package/dist/esm/components/BaseRadio/BaseRadio.js.map +1 -1
  390. package/dist/esm/components/BaseSwitch/BaseSwitch.js +3 -3
  391. package/dist/esm/components/BaseSwitch/BaseSwitch.js.map +1 -1
  392. package/dist/esm/components/Box/Box.js +1 -1
  393. package/dist/esm/components/Box/Box.js.map +1 -1
  394. package/dist/esm/components/BreadCrumb/BreadCrumb.js +3 -4
  395. package/dist/esm/components/BreadCrumb/BreadCrumb.js.map +1 -1
  396. package/dist/esm/components/BreadCrumb/Page/Page.js +11 -9
  397. package/dist/esm/components/BreadCrumb/Page/Page.js.map +1 -1
  398. package/dist/esm/components/BreadCrumb/Page/Page.styles.js +3 -3
  399. package/dist/esm/components/BreadCrumb/Page/Page.styles.js.map +1 -1
  400. package/dist/esm/components/BreadCrumb/utils.js +1 -1
  401. package/dist/esm/components/BreadCrumb/utils.js.map +1 -1
  402. package/dist/esm/components/BulkActions/BulkActions.js +4 -4
  403. package/dist/esm/components/BulkActions/BulkActions.js.map +1 -1
  404. package/dist/esm/components/BulkActions/BulkActions.styles.js.map +1 -1
  405. package/dist/esm/components/Button/Button.js +1 -1
  406. package/dist/esm/components/Button/Button.js.map +1 -1
  407. package/dist/esm/components/Calendar/Calendar.js +3 -3
  408. package/dist/esm/components/Calendar/Calendar.js.map +1 -1
  409. package/dist/esm/components/Calendar/Calendar.styles.js +1 -1
  410. package/dist/esm/components/Calendar/Calendar.styles.js.map +1 -1
  411. package/dist/esm/components/Calendar/CalendarHeader/CalendarHeader.js +6 -8
  412. package/dist/esm/components/Calendar/CalendarHeader/CalendarHeader.js.map +1 -1
  413. package/dist/esm/components/Calendar/CalendarHeader/CalendarHeader.styles.js +1 -1
  414. package/dist/esm/components/Calendar/CalendarHeader/CalendarHeader.styles.js.map +1 -1
  415. package/dist/esm/components/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.js +4 -4
  416. package/dist/esm/components/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.js.map +1 -1
  417. package/dist/esm/components/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.styles.js +1 -1
  418. package/dist/esm/components/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.styles.js.map +1 -1
  419. package/dist/esm/components/Calendar/CalendarNavigation/MonthSelector/MonthSelector.js +2 -2
  420. package/dist/esm/components/Calendar/CalendarNavigation/MonthSelector/MonthSelector.js.map +1 -1
  421. package/dist/esm/components/Calendar/CalendarNavigation/Navigation/Navigation.js +8 -28
  422. package/dist/esm/components/Calendar/CalendarNavigation/Navigation/Navigation.js.map +1 -1
  423. package/dist/esm/components/Calendar/CalendarNavigation/Navigation/Navigation.styles.js +9 -39
  424. package/dist/esm/components/Calendar/CalendarNavigation/Navigation/Navigation.styles.js.map +1 -1
  425. package/dist/esm/components/Calendar/SingleCalendar/CalendarCell.js +3 -6
  426. package/dist/esm/components/Calendar/SingleCalendar/CalendarCell.js.map +1 -1
  427. package/dist/esm/components/Calendar/SingleCalendar/SingleCalendar.js +15 -17
  428. package/dist/esm/components/Calendar/SingleCalendar/SingleCalendar.js.map +1 -1
  429. package/dist/esm/components/Calendar/SingleCalendar/SingleCalendar.styles.js +9 -1
  430. package/dist/esm/components/Calendar/SingleCalendar/SingleCalendar.styles.js.map +1 -1
  431. package/dist/esm/components/Calendar/utils.js +8 -12
  432. package/dist/esm/components/Calendar/utils.js.map +1 -1
  433. package/dist/esm/components/Card/Card.js.map +1 -1
  434. package/dist/esm/components/Card/Header/Header.js.map +1 -1
  435. package/dist/esm/components/Card/Media/Media.js.map +1 -1
  436. package/dist/esm/components/Carousel/Carousel.js +10 -11
  437. package/dist/esm/components/Carousel/Carousel.js.map +1 -1
  438. package/dist/esm/components/Carousel/CarouselControls.js +1 -1
  439. package/dist/esm/components/Carousel/CarouselControls.js.map +1 -1
  440. package/dist/esm/components/Carousel/CarouselThumbnails.js +1 -1
  441. package/dist/esm/components/Carousel/CarouselThumbnails.js.map +1 -1
  442. package/dist/esm/components/CheckBox/CheckBox.js +3 -3
  443. package/dist/esm/components/CheckBox/CheckBox.js.map +1 -1
  444. package/dist/esm/components/CheckBoxGroup/CheckBoxGroup.js +11 -17
  445. package/dist/esm/components/CheckBoxGroup/CheckBoxGroup.js.map +1 -1
  446. package/dist/esm/components/ColorPicker/ColorPicker.js +10 -10
  447. package/dist/esm/components/ColorPicker/ColorPicker.js.map +1 -1
  448. package/dist/esm/components/ColorPicker/Fields/Fields.js +16 -16
  449. package/dist/esm/components/ColorPicker/Fields/Fields.js.map +1 -1
  450. package/dist/esm/components/ColorPicker/Picker/Picker.js +3 -3
  451. package/dist/esm/components/ColorPicker/Picker/Picker.js.map +1 -1
  452. package/dist/esm/components/ColorPicker/PresetColors/PresetColors.js.map +1 -1
  453. package/dist/esm/components/ColorPicker/SavedColors/SavedColors.js.map +1 -1
  454. package/dist/esm/components/Controls/Controls.js +7 -13
  455. package/dist/esm/components/Controls/Controls.js.map +1 -1
  456. package/dist/esm/components/Controls/LeftControl/LeftControl.js +2 -2
  457. package/dist/esm/components/Controls/LeftControl/LeftControl.js.map +1 -1
  458. package/dist/esm/components/Controls/RightControl/RightControl.js +3 -3
  459. package/dist/esm/components/Controls/RightControl/RightControl.js.map +1 -1
  460. package/dist/esm/components/DatePicker/DatePicker.js +10 -11
  461. package/dist/esm/components/DatePicker/DatePicker.js.map +1 -1
  462. package/dist/esm/components/DatePicker/utils.js +1 -1
  463. package/dist/esm/components/DatePicker/utils.js.map +1 -1
  464. package/dist/esm/components/Dialog/Actions/Actions.js.map +1 -1
  465. package/dist/esm/components/Dialog/Content/Content.js.map +1 -1
  466. package/dist/esm/components/Dialog/Dialog.js +5 -5
  467. package/dist/esm/components/Dialog/Dialog.js.map +1 -1
  468. package/dist/esm/components/Dialog/Title/Title.js.map +1 -1
  469. package/dist/esm/components/DotPagination/DotPagination.js +4 -4
  470. package/dist/esm/components/DotPagination/DotPagination.js.map +1 -1
  471. package/dist/esm/components/Drawer/Drawer.js +1 -1
  472. package/dist/esm/components/Drawer/Drawer.js.map +1 -1
  473. package/dist/esm/components/DropDownMenu/DropDownMenu.js +5 -6
  474. package/dist/esm/components/DropDownMenu/DropDownMenu.js.map +1 -1
  475. package/dist/esm/components/Dropdown/Dropdown.js +10 -12
  476. package/dist/esm/components/Dropdown/Dropdown.js.map +1 -1
  477. package/dist/esm/components/Dropdown/List/List.js +10 -11
  478. package/dist/esm/components/Dropdown/List/List.js.map +1 -1
  479. package/dist/esm/components/FileUploader/DropZone/DropZone.js +13 -14
  480. package/dist/esm/components/FileUploader/DropZone/DropZone.js.map +1 -1
  481. package/dist/esm/components/FileUploader/DropZone/DropZone.styles.js +1 -1
  482. package/dist/esm/components/FileUploader/DropZone/DropZone.styles.js.map +1 -1
  483. package/dist/esm/components/FileUploader/File/File.js +6 -6
  484. package/dist/esm/components/FileUploader/File/File.js.map +1 -1
  485. package/dist/esm/components/FileUploader/File/File.styles.js +1 -1
  486. package/dist/esm/components/FileUploader/File/File.styles.js.map +1 -1
  487. package/dist/esm/components/FileUploader/FileList/FileList.js +1 -1
  488. package/dist/esm/components/FileUploader/FileList/FileList.js.map +1 -1
  489. package/dist/esm/components/FileUploader/FileList/FileList.styles.js +1 -1
  490. package/dist/esm/components/FileUploader/FileList/FileList.styles.js.map +1 -1
  491. package/dist/esm/components/FileUploader/FileUploader.js +1 -1
  492. package/dist/esm/components/FileUploader/FileUploader.js.map +1 -1
  493. package/dist/esm/components/FileUploader/Preview/Preview.js +1 -1
  494. package/dist/esm/components/FileUploader/Preview/Preview.js.map +1 -1
  495. package/dist/esm/components/FileUploader/Preview/Preview.styles.js +1 -1
  496. package/dist/esm/components/FileUploader/Preview/Preview.styles.js.map +1 -1
  497. package/dist/esm/components/FilterGroup/Counter/Counter.js +2 -4
  498. package/dist/esm/components/FilterGroup/Counter/Counter.js.map +1 -1
  499. package/dist/esm/components/FilterGroup/FilterContent/FilterContent.js +10 -11
  500. package/dist/esm/components/FilterGroup/FilterContent/FilterContent.js.map +1 -1
  501. package/dist/esm/components/FilterGroup/FilterGroupContext.js +1 -1
  502. package/dist/esm/components/FilterGroup/FilterGroupContext.js.map +1 -1
  503. package/dist/esm/components/FilterGroup/RightPanel/RightPanel.js +14 -26
  504. package/dist/esm/components/FilterGroup/RightPanel/RightPanel.js.map +1 -1
  505. package/dist/esm/components/Focus/Focus.js +8 -12
  506. package/dist/esm/components/Focus/Focus.js.map +1 -1
  507. package/dist/esm/components/Focus/utils.js +1 -1
  508. package/dist/esm/components/Focus/utils.js.map +1 -1
  509. package/dist/esm/components/Footer/Footer.js.map +1 -1
  510. package/dist/esm/components/Footer/Footer.styles.js.map +1 -1
  511. package/dist/esm/components/Forms/Adornment/Adornment.js +1 -2
  512. package/dist/esm/components/Forms/Adornment/Adornment.js.map +1 -1
  513. package/dist/esm/components/Forms/FormElement/utils/FormUtils.js +17 -20
  514. package/dist/esm/components/Forms/FormElement/utils/FormUtils.js.map +1 -1
  515. package/dist/esm/components/Forms/Label/Label.js +1 -2
  516. package/dist/esm/components/Forms/Label/Label.js.map +1 -1
  517. package/dist/esm/components/Forms/Suggestions/Suggestions.js +2 -2
  518. package/dist/esm/components/Forms/Suggestions/Suggestions.js.map +1 -1
  519. package/dist/esm/components/Forms/WarningText/WarningText.js +3 -4
  520. package/dist/esm/components/Forms/WarningText/WarningText.js.map +1 -1
  521. package/dist/esm/components/Forms/WarningText/WarningText.styles.js +6 -7
  522. package/dist/esm/components/Forms/WarningText/WarningText.styles.js.map +1 -1
  523. package/dist/esm/components/GlobalActions/GlobalActions.js +1 -1
  524. package/dist/esm/components/GlobalActions/GlobalActions.js.map +1 -1
  525. package/dist/esm/components/GlobalActions/GlobalActions.styles.js.map +1 -1
  526. package/dist/esm/components/Grid/Grid.js +1 -1
  527. package/dist/esm/components/Grid/Grid.js.map +1 -1
  528. package/dist/esm/components/Header/Actions/Actions.styles.js +1 -2
  529. package/dist/esm/components/Header/Actions/Actions.styles.js.map +1 -1
  530. package/dist/esm/components/Header/Navigation/MenuBar/Bar.js +1 -1
  531. package/dist/esm/components/Header/Navigation/MenuBar/Bar.js.map +1 -1
  532. package/dist/esm/components/Header/Navigation/MenuBar/MenuBar.js.map +1 -1
  533. package/dist/esm/components/Header/Navigation/MenuItem/MenuItem.js +14 -15
  534. package/dist/esm/components/Header/Navigation/MenuItem/MenuItem.js.map +1 -1
  535. package/dist/esm/components/Header/Navigation/Navigation.js +1 -1
  536. package/dist/esm/components/Header/Navigation/Navigation.js.map +1 -1
  537. package/dist/esm/components/Header/Navigation/useSelectionPath.js +1 -1
  538. package/dist/esm/components/Header/Navigation/useSelectionPath.js.map +1 -1
  539. package/dist/esm/components/InlineEditor/InlineEditor.js +8 -7
  540. package/dist/esm/components/InlineEditor/InlineEditor.js.map +1 -1
  541. package/dist/esm/components/InlineEditor/InlineEditor.styles.js +2 -2
  542. package/dist/esm/components/InlineEditor/InlineEditor.styles.js.map +1 -1
  543. package/dist/esm/components/Input/Input.js +24 -29
  544. package/dist/esm/components/Input/Input.js.map +1 -1
  545. package/dist/esm/components/Kpi/Kpi.js +4 -4
  546. package/dist/esm/components/Kpi/Kpi.js.map +1 -1
  547. package/dist/esm/components/Link/Link.js +1 -1
  548. package/dist/esm/components/Link/Link.js.map +1 -1
  549. package/dist/esm/components/List/List.js +5 -6
  550. package/dist/esm/components/List/List.js.map +1 -1
  551. package/dist/esm/components/List/utils.js +6 -6
  552. package/dist/esm/components/List/utils.js.map +1 -1
  553. package/dist/esm/components/ListContainer/ListItem/ListItem.js +4 -4
  554. package/dist/esm/components/ListContainer/ListItem/ListItem.js.map +1 -1
  555. package/dist/esm/components/Login/Login.styles.js +1 -1
  556. package/dist/esm/components/Login/Login.styles.js.map +1 -1
  557. package/dist/esm/components/MultiButton/MultiButton.js +1 -1
  558. package/dist/esm/components/MultiButton/MultiButton.js.map +1 -1
  559. package/dist/esm/components/MultiButton/MultiButton.styles.js.map +1 -1
  560. package/dist/esm/components/OverflowTooltip/OverflowTooltip.js +3 -4
  561. package/dist/esm/components/OverflowTooltip/OverflowTooltip.js.map +1 -1
  562. package/dist/esm/components/Pagination/Pagination.js +18 -16
  563. package/dist/esm/components/Pagination/Pagination.js.map +1 -1
  564. package/dist/esm/components/Pagination/Pagination.styles.js +29 -10
  565. package/dist/esm/components/Pagination/Pagination.styles.js.map +1 -1
  566. package/dist/esm/components/Pagination/Select.js +1 -1
  567. package/dist/esm/components/Pagination/Select.js.map +1 -1
  568. package/dist/esm/components/Panel/Panel.js.map +1 -1
  569. package/dist/esm/components/ProgressBar/ProgressBar.js +1 -1
  570. package/dist/esm/components/ProgressBar/ProgressBar.js.map +1 -1
  571. package/dist/esm/components/QueryBuilder/ConfirmationDialog/ConfirmationDialog.js +2 -2
  572. package/dist/esm/components/QueryBuilder/ConfirmationDialog/ConfirmationDialog.js.map +1 -1
  573. package/dist/esm/components/QueryBuilder/Context.js.map +1 -1
  574. package/dist/esm/components/QueryBuilder/QueryBuilder.js +3 -3
  575. package/dist/esm/components/QueryBuilder/QueryBuilder.js.map +1 -1
  576. package/dist/esm/components/QueryBuilder/Rule/Attribute/Attribute.js +4 -6
  577. package/dist/esm/components/QueryBuilder/Rule/Attribute/Attribute.js.map +1 -1
  578. package/dist/esm/components/QueryBuilder/Rule/Rule.js +1 -1
  579. package/dist/esm/components/QueryBuilder/Rule/Rule.js.map +1 -1
  580. package/dist/esm/components/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.js +18 -23
  581. package/dist/esm/components/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.js.map +1 -1
  582. package/dist/esm/components/QueryBuilder/Rule/Value/NumericValue/NumericValue.js +31 -35
  583. package/dist/esm/components/QueryBuilder/Rule/Value/NumericValue/NumericValue.js.map +1 -1
  584. package/dist/esm/components/QueryBuilder/RuleGroup/RuleGroup.js +10 -12
  585. package/dist/esm/components/QueryBuilder/RuleGroup/RuleGroup.js.map +1 -1
  586. package/dist/esm/components/QueryBuilder/utils/index.js +1 -1
  587. package/dist/esm/components/QueryBuilder/utils/index.js.map +1 -1
  588. package/dist/esm/components/Radio/Radio.js +3 -3
  589. package/dist/esm/components/Radio/Radio.js.map +1 -1
  590. package/dist/esm/components/RadioGroup/RadioGroup.js +11 -16
  591. package/dist/esm/components/RadioGroup/RadioGroup.js.map +1 -1
  592. package/dist/esm/components/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.js.map +1 -1
  593. package/dist/esm/components/ScrollTo/Horizontal/ScrollToHorizontal.js +7 -7
  594. package/dist/esm/components/ScrollTo/Horizontal/ScrollToHorizontal.js.map +1 -1
  595. package/dist/esm/components/ScrollTo/Vertical/ScrollToVertical.js +4 -4
  596. package/dist/esm/components/ScrollTo/Vertical/ScrollToVertical.js.map +1 -1
  597. package/dist/esm/components/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.js +1 -1
  598. package/dist/esm/components/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.js.map +1 -1
  599. package/dist/esm/components/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.styles.js +1 -1
  600. package/dist/esm/components/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.styles.js.map +1 -1
  601. package/dist/esm/components/ScrollTo/useScrollTo.js +3 -3
  602. package/dist/esm/components/ScrollTo/useScrollTo.js.map +1 -1
  603. package/dist/esm/components/ScrollTo/utils.js +4 -7
  604. package/dist/esm/components/ScrollTo/utils.js.map +1 -1
  605. package/dist/esm/components/Section/Section.js +51 -0
  606. package/dist/esm/components/Section/Section.js.map +1 -0
  607. package/dist/esm/components/Section/Section.styles.js +40 -0
  608. package/dist/esm/components/Section/Section.styles.js.map +1 -0
  609. package/dist/esm/components/SelectionList/SelectionList.js +9 -15
  610. package/dist/esm/components/SelectionList/SelectionList.js.map +1 -1
  611. package/dist/esm/components/Slider/Slider.js +9 -10
  612. package/dist/esm/components/Slider/Slider.js.map +1 -1
  613. package/dist/esm/components/Slider/Slider.styles.js.map +1 -1
  614. package/dist/esm/components/Slider/SliderInput/SliderInput.js +2 -2
  615. package/dist/esm/components/Slider/SliderInput/SliderInput.js.map +1 -1
  616. package/dist/esm/components/Slider/utils.js +2 -2
  617. package/dist/esm/components/Slider/utils.js.map +1 -1
  618. package/dist/esm/components/Snackbar/Snackbar.js.map +1 -1
  619. package/dist/esm/components/Snackbar/SnackbarContent/SnackbarContent.js +2 -2
  620. package/dist/esm/components/Snackbar/SnackbarContent/SnackbarContent.js.map +1 -1
  621. package/dist/esm/components/Stack/Stack.js.map +1 -1
  622. package/dist/esm/components/Switch/Switch.js +1 -1
  623. package/dist/esm/components/Switch/Switch.js.map +1 -1
  624. package/dist/esm/components/Tab/Tab.js.map +1 -1
  625. package/dist/esm/components/Tab/Tab.styles.js +1 -1
  626. package/dist/esm/components/Tab/Tab.styles.js.map +1 -1
  627. package/dist/esm/components/Table/TableBody/TableBody.js +1 -2
  628. package/dist/esm/components/Table/TableBody/TableBody.js.map +1 -1
  629. package/dist/esm/components/Table/TableCell/TableCell.js +3 -4
  630. package/dist/esm/components/Table/TableCell/TableCell.js.map +1 -1
  631. package/dist/esm/components/Table/TableHead/TableHead.js +1 -2
  632. package/dist/esm/components/Table/TableHead/TableHead.js.map +1 -1
  633. package/dist/esm/components/Table/TableHeader/TableHeader.js +3 -4
  634. package/dist/esm/components/Table/TableHeader/TableHeader.js.map +1 -1
  635. package/dist/esm/components/Table/TableRow/TableRow.js +2 -3
  636. package/dist/esm/components/Table/TableRow/TableRow.js.map +1 -1
  637. package/dist/esm/components/Table/hooks/useHeaderGroups.js +1 -2
  638. package/dist/esm/components/Table/hooks/useHeaderGroups.js.map +1 -1
  639. package/dist/esm/components/Table/hooks/useResizeColumns.js +1 -2
  640. package/dist/esm/components/Table/hooks/useResizeColumns.js.map +1 -1
  641. package/dist/esm/components/Table/hooks/useRowExpand.js +2 -5
  642. package/dist/esm/components/Table/hooks/useRowExpand.js.map +1 -1
  643. package/dist/esm/components/Table/hooks/useRowSelection.js +2 -4
  644. package/dist/esm/components/Table/hooks/useRowSelection.js.map +1 -1
  645. package/dist/esm/components/Table/hooks/useSticky.js +5 -7
  646. package/dist/esm/components/Table/hooks/useSticky.js.map +1 -1
  647. package/dist/esm/components/Table/hooks/useTable.js.map +1 -1
  648. package/dist/esm/components/Table/hooks/useTableStyles.js.map +1 -1
  649. package/dist/esm/components/Table/renderers/DropdownColumnCell/DropdownColumnCell.js +1 -1
  650. package/dist/esm/components/Table/renderers/DropdownColumnCell/DropdownColumnCell.js.map +1 -1
  651. package/dist/esm/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.js +1 -1
  652. package/dist/esm/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.js.map +1 -1
  653. package/dist/esm/components/Table/renderers/renderers.js +6 -7
  654. package/dist/esm/components/Table/renderers/renderers.js.map +1 -1
  655. package/dist/esm/components/Table/utils/fallbacks.js +1 -1
  656. package/dist/esm/components/Table/utils/fallbacks.js.map +1 -1
  657. package/dist/esm/components/Tabs/Tabs.js.map +1 -1
  658. package/dist/esm/components/Tabs/Tabs.styles.js.map +1 -1
  659. package/dist/esm/components/Tag/Tag.js +2 -2
  660. package/dist/esm/components/Tag/Tag.js.map +1 -1
  661. package/dist/esm/components/Tag/Tag.styles.js.map +1 -1
  662. package/dist/esm/components/TagsInput/TagsInput.js +16 -24
  663. package/dist/esm/components/TagsInput/TagsInput.js.map +1 -1
  664. package/dist/esm/components/TextArea/TextArea.js +5 -7
  665. package/dist/esm/components/TextArea/TextArea.js.map +1 -1
  666. package/dist/esm/components/TimePicker/Placeholder.js +1 -1
  667. package/dist/esm/components/TimePicker/Placeholder.js.map +1 -1
  668. package/dist/esm/components/TimePicker/TimePicker.js +3 -4
  669. package/dist/esm/components/TimePicker/TimePicker.js.map +1 -1
  670. package/dist/esm/components/ToggleButton/ToggleButton.js +1 -1
  671. package/dist/esm/components/ToggleButton/ToggleButton.js.map +1 -1
  672. package/dist/esm/components/Tooltip/Tooltip.js +1 -1
  673. package/dist/esm/components/Tooltip/Tooltip.js.map +1 -1
  674. package/dist/esm/components/Tooltip/Tooltip.styles.js.map +1 -1
  675. package/dist/esm/components/Typography/Typography.js +1 -1
  676. package/dist/esm/components/Typography/Typography.js.map +1 -1
  677. package/dist/esm/components/VerticalNavigation/Actions/Action.js.map +1 -1
  678. package/dist/esm/components/VerticalNavigation/Actions/Action.styles.js.map +1 -1
  679. package/dist/esm/components/VerticalNavigation/Actions/Actions.js.map +1 -1
  680. package/dist/esm/components/VerticalNavigation/Actions/Actions.styles.js +1 -1
  681. package/dist/esm/components/VerticalNavigation/Actions/Actions.styles.js.map +1 -1
  682. package/dist/esm/components/VerticalNavigation/Header/Header.js +1 -1
  683. package/dist/esm/components/VerticalNavigation/Header/Header.js.map +1 -1
  684. package/dist/esm/components/VerticalNavigation/Navigation/Navigation.js +10 -10
  685. package/dist/esm/components/VerticalNavigation/Navigation/Navigation.js.map +1 -1
  686. package/dist/esm/components/VerticalNavigation/Navigation/Navigation.styles.js +1 -1
  687. package/dist/esm/components/VerticalNavigation/Navigation/Navigation.styles.js.map +1 -1
  688. package/dist/esm/components/VerticalNavigation/NavigationPopup/NavigationPopup.styles.js +2 -2
  689. package/dist/esm/components/VerticalNavigation/NavigationPopup/NavigationPopup.styles.js.map +1 -1
  690. package/dist/esm/components/VerticalNavigation/NavigationPopup/NavigationPopupContainer.js +1 -1
  691. package/dist/esm/components/VerticalNavigation/NavigationPopup/NavigationPopupContainer.js.map +1 -1
  692. package/dist/esm/components/VerticalNavigation/NavigationSlider/NavigationSlider.js +2 -2
  693. package/dist/esm/components/VerticalNavigation/NavigationSlider/NavigationSlider.js.map +1 -1
  694. package/dist/esm/components/VerticalNavigation/NavigationSlider/NavigationSlider.styles.js.map +1 -1
  695. package/dist/esm/components/VerticalNavigation/NavigationSlider/utils/NavigationSlider.utils.js +2 -4
  696. package/dist/esm/components/VerticalNavigation/NavigationSlider/utils/NavigationSlider.utils.js.map +1 -1
  697. package/dist/esm/components/VerticalNavigation/TreeView/IconWrapper/IconWrapper.js +1 -1
  698. package/dist/esm/components/VerticalNavigation/TreeView/IconWrapper/IconWrapper.js.map +1 -1
  699. package/dist/esm/components/VerticalNavigation/TreeView/TreeView.js +5 -16
  700. package/dist/esm/components/VerticalNavigation/TreeView/TreeView.js.map +1 -1
  701. package/dist/esm/components/VerticalNavigation/TreeView/TreeView.styles.js +1 -1
  702. package/dist/esm/components/VerticalNavigation/TreeView/TreeView.styles.js.map +1 -1
  703. package/dist/esm/components/VerticalNavigation/TreeView/TreeViewItem.js +7 -8
  704. package/dist/esm/components/VerticalNavigation/TreeView/TreeViewItem.js.map +1 -1
  705. package/dist/esm/components/VerticalNavigation/TreeView/descendants.js.map +1 -1
  706. package/dist/esm/components/VerticalNavigation/VerticalNavigation.js +2 -2
  707. package/dist/esm/components/VerticalNavigation/VerticalNavigation.js.map +1 -1
  708. package/dist/esm/components/VerticalNavigation/VerticalNavigation.styles.js +1 -1
  709. package/dist/esm/components/VerticalNavigation/VerticalNavigation.styles.js.map +1 -1
  710. package/dist/esm/hocs/withTooltip.js +1 -1
  711. package/dist/esm/hocs/withTooltip.js.map +1 -1
  712. package/dist/esm/hooks/useClickOutside.js +2 -2
  713. package/dist/esm/hooks/useClickOutside.js.map +1 -1
  714. package/dist/esm/hooks/useComputation.js +1 -1
  715. package/dist/esm/hooks/useComputation.js.map +1 -1
  716. package/dist/esm/hooks/useCss.js.map +1 -1
  717. package/dist/esm/hooks/useDefaultProps.js +4 -5
  718. package/dist/esm/hooks/useDefaultProps.js.map +1 -1
  719. package/dist/esm/hooks/useTheme.js +1 -2
  720. package/dist/esm/hooks/useTheme.js.map +1 -1
  721. package/dist/esm/index.js +4 -0
  722. package/dist/esm/index.js.map +1 -1
  723. package/dist/esm/utils/classes.js +2 -2
  724. package/dist/esm/utils/classes.js.map +1 -1
  725. package/dist/esm/utils/keyboardUtils.js +1 -1
  726. package/dist/esm/utils/keyboardUtils.js.map +1 -1
  727. package/dist/esm/utils/setId.js +1 -2
  728. package/dist/esm/utils/setId.js.map +1 -1
  729. package/dist/esm/utils/theme.js +2 -4
  730. package/dist/esm/utils/theme.js.map +1 -1
  731. package/dist/types/index.d.ts +59 -4
  732. package/package.json +5 -5
  733. package/dist/cjs/components/Calendar/CalendarWeekLabels/CalendarWeekLabels.cjs +0 -24
  734. package/dist/cjs/components/Calendar/CalendarWeekLabels/CalendarWeekLabels.cjs.map +0 -1
  735. package/dist/cjs/components/Calendar/CalendarWeekLabels/CalendarWeekLabels.styles.cjs +0 -19
  736. package/dist/cjs/components/Calendar/CalendarWeekLabels/CalendarWeekLabels.styles.cjs.map +0 -1
  737. package/dist/esm/components/Calendar/CalendarWeekLabels/CalendarWeekLabels.js +0 -25
  738. package/dist/esm/components/Calendar/CalendarWeekLabels/CalendarWeekLabels.js.map +0 -1
  739. package/dist/esm/components/Calendar/CalendarWeekLabels/CalendarWeekLabels.styles.js +0 -19
  740. package/dist/esm/components/Calendar/CalendarWeekLabels/CalendarWeekLabels.styles.js.map +0 -1
@@ -18,7 +18,6 @@ import { staticClasses } from "./BaseDropdown.styles.js";
18
18
  import BaseDropdownContext from "./BaseDropdownContext/BaseDropdownContext.js";
19
19
  import { HvTypography } from "../Typography/Typography.js";
20
20
  const HvBaseDropdown = forwardRef((props, ref) => {
21
- var _a;
22
21
  const {
23
22
  id: idProp,
24
23
  className,
@@ -58,7 +57,7 @@ const HvBaseDropdown = forwardRef((props, ref) => {
58
57
  const [referenceElement, setReferenceElement] = useState(null);
59
58
  const [popperElement, setPopperElement] = useState(null);
60
59
  const [popperMaxSize, setPopperMaxSize] = useState({});
61
- const handleDropdownHeaderRefProp = useForkRef(dropdownHeaderRefProp, dropdownHeaderProps == null ? void 0 : dropdownHeaderProps.ref);
60
+ const handleDropdownHeaderRefProp = useForkRef(dropdownHeaderRefProp, dropdownHeaderProps?.ref);
62
61
  const handleDropdownHeaderRef = useForkRef(setReferenceElement, handleDropdownHeaderRefProp);
63
62
  const ariaRole = role || (component == null ? "combobox" : void 0);
64
63
  const ariaExpanded = ariaExpandedProp ?? (ariaRole ? !!isOpen : void 0);
@@ -76,13 +75,13 @@ const HvBaseDropdown = forwardRef((props, ref) => {
76
75
  "aria-labelledby": ariaLabelledByProp
77
76
  };
78
77
  const placement = `bottom-${placementProp === "right" ? "start" : "end"}`;
79
- const extensionWidth = referenceElement ? referenceElement == null ? void 0 : referenceElement.offsetWidth : "inherit";
78
+ const extensionWidth = referenceElement ? referenceElement?.offsetWidth : "inherit";
80
79
  const {
81
80
  modifiers: popperPropsModifiers = [],
82
81
  ...otherPopperProps
83
82
  } = popperProps;
84
83
  const onFirstUpdate = useCallback(() => {
85
- onContainerCreation == null ? void 0 : onContainerCreation(popperElement);
84
+ onContainerCreation?.(popperElement);
86
85
  }, [onContainerCreation, popperElement]);
87
86
  const widthCalculator = useCallback(({
88
87
  state
@@ -101,7 +100,7 @@ const HvBaseDropdown = forwardRef((props, ref) => {
101
100
  width,
102
101
  height
103
102
  } = state.modifiersData.maxSize;
104
- if (width !== (popperMaxSize == null ? void 0 : popperMaxSize.width) || height !== (popperMaxSize == null ? void 0 : popperMaxSize.height)) {
103
+ if (width !== popperMaxSize?.width || height !== popperMaxSize?.height) {
105
104
  setPopperMaxSize({
106
105
  width,
107
106
  height
@@ -118,10 +117,9 @@ const HvBaseDropdown = forwardRef((props, ref) => {
118
117
  name,
119
118
  options
120
119
  }) => {
121
- var _a2, _b;
122
120
  const overflow = detectOverflow(state, options);
123
- const x = ((_a2 = state.modifiersData.preventOverflow) == null ? void 0 : _a2.x) || 0;
124
- const y = ((_b = state.modifiersData.preventOverflow) == null ? void 0 : _b.y) || 0;
121
+ const x = state.modifiersData.preventOverflow?.x || 0;
122
+ const y = state.modifiersData.preventOverflow?.y || 0;
125
123
  const popperWidth = state.rects.popper.width;
126
124
  const popperHeight = state.rects.popper.height;
127
125
  const basePlacement = state.placement.split("-")[0];
@@ -161,25 +159,25 @@ const HvBaseDropdown = forwardRef((props, ref) => {
161
159
  onFirstUpdate,
162
160
  ...otherPopperProps
163
161
  });
164
- const popperPlacement = ((_a = attributes.popper) == null ? void 0 : _a["data-popper-placement"]) ?? "bottom";
162
+ const popperPlacement = attributes.popper?.["data-popper-placement"] ?? "bottom";
165
163
  const handleToggle = useCallback((event) => {
166
164
  if (event && !isKey(event, "Tab")) {
167
165
  event.preventDefault();
168
166
  }
169
- const notControlKey = !!(event == null ? void 0 : event.code) && !isOneOfKeys(event, ["Tab", "Enter", "Esc", "ArrowDown", "Space"]);
167
+ const notControlKey = !!event?.code && !isOneOfKeys(event, ["Tab", "Enter", "Esc", "ArrowDown", "Space"]);
170
168
  const ignoredCombinations = isKey(event, "Esc") && !isOpen || isKey(event, "ArrowDown") && isOpen || isKey(event, "Tab") && !isOpen;
171
169
  if (disabled || notControlKey || ignoredCombinations)
172
170
  return;
173
171
  const newOpen = !isOpen;
174
172
  setIsOpen(() => {
175
173
  if (!newOpen) {
176
- referenceElement == null ? void 0 : referenceElement.focus({
174
+ referenceElement?.focus({
177
175
  preventScroll: true
178
176
  });
179
177
  }
180
178
  return newOpen;
181
179
  });
182
- onToggle == null ? void 0 : onToggle(event, newOpen);
180
+ onToggle?.(event, newOpen);
183
181
  }, [isOpen, disabled, setIsOpen, onToggle, referenceElement]);
184
182
  const ExpanderComponent = isOpen ? DropUpXS : DropDownXS;
185
183
  const defaultHeaderElement = /* @__PURE__ */ jsxs(
@@ -215,24 +213,23 @@ const HvBaseDropdown = forwardRef((props, ref) => {
215
213
  }) : defaultHeaderElement;
216
214
  const containerComponent = (() => {
217
215
  const handleContainerKeyDown = (event) => {
218
- var _a2;
219
216
  if (isKey(event, "Esc")) {
220
217
  handleToggle(event);
221
218
  }
222
219
  if (isKey(event, "Tab") && !event.shiftKey) {
223
220
  const focusList = getFirstAndLastFocus(popperElement);
224
- if (document.activeElement === (focusList == null ? void 0 : focusList.last)) {
221
+ if (document.activeElement === focusList?.last) {
225
222
  event.preventDefault();
226
- (_a2 = focusList == null ? void 0 : focusList.first) == null ? void 0 : _a2.focus();
223
+ focusList?.first?.focus();
227
224
  }
228
225
  }
229
226
  };
230
227
  const handleOutside = (event) => {
231
- const isButtonClick = referenceElement == null ? void 0 : referenceElement.contains(event.target);
228
+ const isButtonClick = referenceElement?.contains(event.target);
232
229
  if (!isButtonClick) {
233
- onClickOutside == null ? void 0 : onClickOutside(event);
230
+ onClickOutside?.(event);
234
231
  setIsOpen(false);
235
- onToggle == null ? void 0 : onToggle(event, false);
232
+ onToggle?.(event, false);
236
233
  }
237
234
  };
238
235
  const container = /* @__PURE__ */ jsx("div", { ref: setPopperElement, className: classes.container, style: popperStyles.popper, ...attributes.popper, children: /* @__PURE__ */ jsx(ClickAwayListener, { onClickAway: handleOutside, children: /* @__PURE__ */ jsxs("div", { onKeyDown: handleContainerKeyDown, children: [
@@ -1 +1 @@
1
- {"version":3,"file":"BaseDropdown.js","sources":["../../../../src/components/BaseDropdown/BaseDropdown.tsx"],"sourcesContent":["import React, {\n useMemo,\n useState,\n useCallback,\n KeyboardEventHandler,\n AriaAttributes,\n forwardRef,\n} from \"react\";\n\nimport { createPortal } from \"react-dom\";\n\nimport {\n ClickAwayListener,\n ClickAwayListenerProps,\n PopperPlacementType,\n PopperProps,\n} from \"@mui/material\";\n\nimport { DropDownXS, DropUpXS } from \"@hitachivantara/uikit-react-icons\";\n\nimport { usePopper } from \"react-popper\";\nimport { detectOverflow, ModifierArguments, Options } from \"@popperjs/core\";\n\nimport { HvTypography } from \"@core/components/Typography\";\nimport { useUniqueId } from \"@core/hooks/useUniqueId\";\nimport { useTheme } from \"@core/hooks/useTheme\";\nimport { useForkRef } from \"@core/hooks/useForkRef\";\nimport { useControlled } from \"@core/hooks/useControlled\";\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\nimport { isKey, isOneOfKeys } from \"@core/utils/keyboardUtils\";\nimport { setId } from \"@core/utils/setId\";\nimport { getFirstAndLastFocus } from \"@core/utils/focusableElementFinder\";\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { ExtractNames } from \"@core/utils/classes\";\n\nimport { staticClasses, useClasses } from \"./BaseDropdown.styles\";\nimport BaseDropdownContext from \"./BaseDropdownContext\";\n\nexport { staticClasses as baseDropdownClasses };\n\nexport type HvBaseDropdownClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvBaseDropdownProps\n extends HvBaseProps<HTMLDivElement, \"placeholder\"> {\n /**\n * The role of the element that triggers the popup.\n *\n * Defaults to \"combobox\" if `component` and the default\n * \"textbox\" header is used, undefined otherwise.\n */\n role?: string;\n /**\n * Header placeholder.\n */\n placeholder?: React.ReactNode;\n /**\n * If `true` the dropdown is disabled unable to be interacted, if `false` it is enabled.\n */\n disabled?: boolean;\n /**\n * If `true` the dropdown will be in read only mode, unable to be interacted.\n */\n readOnly?: boolean;\n /**\n * Indicates that user input is required on the form element.\n */\n required?: boolean;\n /**\n * Disable the portal behavior.\n * The children stay within it's parent DOM hierarchy.\n */\n disablePortal?: boolean;\n /**\n * If `true` the dropdown width depends size of content if `false` the width depends on the header size.\n * Defaults to `false`.\n */\n variableWidth?: boolean;\n /**\n * If `true` the dropdown starts opened if `false` it starts closed.\n */\n expanded?: boolean;\n /**\n * When uncontrolled, defines the initial expanded state.\n */\n defaultExpanded?: boolean;\n /**\n * An object containing props to be wired to the popper component.\n */\n popperProps?: Partial<PopperProps>;\n /**\n * Placement of the dropdown.\n */\n placement?: \"left\" | \"right\";\n /**\n * Replacement for the header component.\n */\n component?: React.ReactNode;\n /**\n * Adornment to replace the default arrows.\n */\n adornment?: React.ReactNode;\n /**\n * When dropdown changes the expanded state.\n */\n onToggle?: (event: Event, open: boolean) => void;\n /**\n * When user click outside the open container.\n */\n onClickOutside?: (event: Event) => void;\n /**\n * Callback called when the dropdown is opened and ready,\n * commonly used to set focus to the content.\n */\n onContainerCreation?: (container: HTMLElement | null) => void;\n /**\n * Attributes applied to the dropdown header element.\n */\n dropdownHeaderProps?: React.DetailedHTMLProps<\n React.HTMLAttributes<HTMLDivElement>,\n HTMLDivElement\n >;\n /**\n * Pass a ref to the dropdown header element.\n */\n dropdownHeaderRef?: React.Ref<HTMLDivElement>;\n /**\n * A Jss Object used to override or extend the component styles applied.\n */\n classes?: HvBaseDropdownClasses;\n /** @ignore */\n ref?: React.Ref<HTMLDivElement>;\n}\n\nexport const HvBaseDropdown = forwardRef<HTMLDivElement, HvBaseDropdownProps>(\n (props, ref) => {\n const {\n id: idProp,\n className,\n classes: classesProp,\n children,\n role,\n placeholder,\n component,\n adornment,\n expanded,\n dropdownHeaderProps,\n defaultExpanded,\n disabled,\n readOnly,\n required,\n disablePortal,\n variableWidth,\n placement: placementProp = \"right\",\n \"aria-expanded\": ariaExpandedProp,\n \"aria-label\": ariaLabelProp,\n \"aria-labelledby\": ariaLabelledByProp,\n popperProps = {},\n dropdownHeaderRef: dropdownHeaderRefProp,\n onToggle,\n onClickOutside,\n onContainerCreation,\n ...others\n } = useDefaultProps(\"HvBaseDropdown\", props);\n const { classes, cx } = useClasses(classesProp);\n\n const { rootId } = useTheme();\n\n const [isOpen, setIsOpen] = useControlled(\n expanded,\n Boolean(defaultExpanded)\n );\n\n const [referenceElement, setReferenceElement] =\n useState<HTMLElement | null>(null);\n const [popperElement, setPopperElement] = useState<HTMLElement | null>(\n null\n );\n const [popperMaxSize, setPopperMaxSize] = useState<{\n width?: number;\n height?: number;\n }>({});\n\n const handleDropdownHeaderRefProp = useForkRef(\n dropdownHeaderRefProp,\n dropdownHeaderProps?.ref\n );\n const handleDropdownHeaderRef = useForkRef(\n setReferenceElement,\n handleDropdownHeaderRefProp\n );\n\n const ariaRole = role || (component == null ? \"combobox\" : undefined);\n\n const ariaExpanded = ariaExpandedProp ?? (ariaRole ? !!isOpen : undefined);\n\n const id = useUniqueId(idProp, \"hvbasedropdown\");\n const containerId = setId(id, \"children-container\");\n\n const headerControlArias = {\n \"aria-required\": required ?? undefined,\n \"aria-readonly\": readOnly ?? undefined,\n\n \"aria-expanded\": ariaExpanded,\n \"aria-owns\": isOpen ? containerId : undefined,\n \"aria-controls\": isOpen ? containerId : undefined,\n } satisfies AriaAttributes;\n\n const headerAriaLabels = {\n \"aria-label\": ariaLabelProp,\n \"aria-labelledby\": ariaLabelledByProp,\n } satisfies AriaAttributes;\n\n const placement: PopperPlacementType = `bottom-${\n placementProp === \"right\" ? \"start\" : \"end\"\n }`;\n\n const extensionWidth = referenceElement\n ? referenceElement?.offsetWidth\n : \"inherit\";\n\n const { modifiers: popperPropsModifiers = [], ...otherPopperProps } =\n popperProps;\n\n const onFirstUpdate = useCallback(() => {\n onContainerCreation?.(popperElement);\n }, [onContainerCreation, popperElement]);\n\n const widthCalculator = useCallback(\n ({ state }: ModifierArguments<Options>) => {\n state.styles.popper.width = `${state.rects.reference.width}px`;\n },\n []\n );\n\n const widthCalculatorEffect = useCallback(\n ({ state }: ModifierArguments<Options>) => {\n state.elements.popper.style.width = `${\n (state.elements.reference as any).offsetWidth\n }px`;\n },\n []\n );\n\n const applyMaxSizeCalculator = useCallback(\n ({ state }: ModifierArguments<Options>) => {\n // The `maxSize` modifier provides this data\n const { width, height } = state.modifiersData.maxSize;\n if (\n width !== popperMaxSize?.width ||\n height !== popperMaxSize?.height\n ) {\n setPopperMaxSize({ width, height });\n }\n\n state.styles.popper = {\n ...state.styles.popper,\n maxWidth: `${width}px`,\n maxHeight: `${height}px`,\n };\n },\n [popperMaxSize]\n );\n\n const maxSizeCalculator = useCallback(\n ({ state, name, options }: ModifierArguments<Options>) => {\n const overflow = detectOverflow(state, options);\n\n const x = state.modifiersData.preventOverflow?.x || 0;\n const y = state.modifiersData.preventOverflow?.y || 0;\n\n const popperWidth = state.rects.popper.width;\n const popperHeight = state.rects.popper.height;\n\n const basePlacement = state.placement.split(\"-\")[0];\n\n const widthProp = basePlacement === \"left\" ? \"left\" : \"right\";\n const heightProp = basePlacement === \"top\" ? \"top\" : \"bottom\";\n\n state.modifiersData[name] = {\n width: popperWidth - overflow[widthProp] - x,\n height: popperHeight - overflow[heightProp] - y,\n };\n },\n []\n );\n\n const modifiers = useMemo<PopperProps[\"modifiers\"]>(\n () => [\n {\n name: \"variableWidth\",\n enabled: !variableWidth,\n phase: \"beforeWrite\",\n requires: [\"computeStyles\"],\n fn: widthCalculator,\n effect: widthCalculatorEffect,\n },\n {\n name: \"maxSize\",\n enabled: true,\n phase: \"main\",\n requiresIfExists: [\"offset\", \"preventOverflow\", \"flip\"],\n fn: maxSizeCalculator,\n },\n {\n name: \"applyMaxSize\",\n enabled: true,\n phase: \"beforeWrite\",\n requires: [\"maxSize\"],\n fn: applyMaxSizeCalculator,\n },\n ...popperPropsModifiers,\n ],\n [\n maxSizeCalculator,\n applyMaxSizeCalculator,\n popperPropsModifiers,\n variableWidth,\n widthCalculator,\n widthCalculatorEffect,\n ]\n );\n\n const { styles: popperStyles, attributes } = usePopper(\n referenceElement,\n popperElement,\n {\n placement,\n modifiers,\n onFirstUpdate,\n ...otherPopperProps,\n }\n );\n\n const popperPlacement =\n attributes.popper?.[\"data-popper-placement\"] ?? \"bottom\";\n\n const handleToggle = useCallback(\n (event) => {\n if (event && !isKey(event, \"Tab\")) {\n event.preventDefault();\n }\n\n const notControlKey =\n !!event?.code &&\n !isOneOfKeys(event, [\"Tab\", \"Enter\", \"Esc\", \"ArrowDown\", \"Space\"]);\n\n const ignoredCombinations =\n (isKey(event, \"Esc\") && !isOpen) ||\n (isKey(event, \"ArrowDown\") && isOpen) ||\n (isKey(event, \"Tab\") && !isOpen);\n\n if (disabled || notControlKey || ignoredCombinations) return;\n\n const newOpen = !isOpen;\n\n /* If about to close focus on the header component. */\n setIsOpen(() => {\n if (!newOpen) {\n // Focus-ring won't be visible even if using the keyboard:\n // https://github.com/WICG/focus-visible/issues/88\n referenceElement?.focus({ preventScroll: true });\n }\n\n return newOpen;\n });\n\n onToggle?.(event, newOpen);\n },\n [isOpen, disabled, setIsOpen, onToggle, referenceElement]\n );\n\n const ExpanderComponent = isOpen ? DropUpXS : DropDownXS;\n\n const defaultHeaderElement = (\n <div\n id={setId(id, \"header\")}\n className={cx(classes.header, {\n [classes.headerDisabled]: disabled,\n [classes.headerReadOnly]: readOnly,\n [classes.headerOpen]: isOpen,\n [classes.headerOpenUp]: isOpen && popperPlacement.includes(\"top\"),\n [classes.headerOpenDown]:\n isOpen && popperPlacement.includes(\"bottom\"),\n })}\n // TODO: review \"textbox\" role\n role={ariaRole === \"combobox\" ? \"textbox\" : undefined}\n {...headerAriaLabels}\n style={disabled || readOnly ? { pointerEvents: \"none\" } : undefined}\n // Removes the element from the navigation sequence for keyboard focus if disabled\n tabIndex={disabled ? -1 : 0}\n ref={handleDropdownHeaderRef}\n {...dropdownHeaderProps}\n >\n <div className={classes.selection}>\n {placeholder && typeof placeholder === \"string\" ? (\n <HvTypography\n className={cx(classes.placeholder, {\n [classes.selectionDisabled]: disabled,\n })}\n variant=\"body\"\n >\n {placeholder}\n </HvTypography>\n ) : (\n placeholder\n )}\n </div>\n <div className={classes.arrowContainer}>\n {adornment || (\n <ExpanderComponent\n iconSize=\"XS\"\n color={disabled ? \"secondary_60\" : undefined}\n className={classes.arrow}\n />\n )}\n </div>\n </div>\n );\n\n const headerElement =\n component && React.isValidElement(component)\n ? React.cloneElement(component as React.ReactElement, {\n ref: handleDropdownHeaderRef,\n ...headerControlArias,\n })\n : defaultHeaderElement;\n\n const containerComponent = (() => {\n /**\n * Handle keyboard inside children container.\n */\n const handleContainerKeyDown: KeyboardEventHandler = (event) => {\n if (isKey(event, \"Esc\")) {\n handleToggle(event);\n }\n if (isKey(event, \"Tab\") && !event.shiftKey) {\n const focusList = getFirstAndLastFocus(popperElement);\n if (document.activeElement === focusList?.last) {\n event.preventDefault();\n focusList?.first?.focus();\n }\n }\n };\n\n const handleOutside: ClickAwayListenerProps[\"onClickAway\"] = (event) => {\n const isButtonClick = referenceElement?.contains(event.target as any);\n if (!isButtonClick) {\n onClickOutside?.(event);\n setIsOpen(false);\n onToggle?.(event, false);\n }\n };\n\n const container = (\n <div\n ref={setPopperElement}\n className={classes.container}\n style={popperStyles.popper}\n {...attributes.popper}\n >\n <ClickAwayListener onClickAway={handleOutside}>\n {/* eslint-disable-next-line jsx-a11y/no-static-element-interactions */}\n <div onKeyDown={handleContainerKeyDown}>\n {popperPlacement.includes(\"bottom\") && (\n <div\n style={{ width: extensionWidth }}\n className={cx(classes.inputExtensionOpen, {\n [classes.inputExtensionLeftPosition]:\n popperPlacement.includes(\"end\"),\n })}\n />\n )}\n <BaseDropdownContext.Provider value={popperMaxSize}>\n <div\n id={containerId}\n className={cx(classes.panel, {\n [classes.panelOpenedUp]: popperPlacement.includes(\"top\"),\n [classes.panelOpenedDown]:\n popperPlacement.includes(\"bottom\"),\n })}\n >\n {children}\n </div>\n </BaseDropdownContext.Provider>\n {popperPlacement.includes(\"top\") && (\n <div\n style={{ width: extensionWidth }}\n className={cx(\n classes.inputExtensionOpen,\n classes.inputExtensionOpenShadow,\n {\n [classes.inputExtensionFloatRight]:\n popperPlacement.includes(\"end\"),\n [classes.inputExtensionFloatLeft]:\n popperPlacement.includes(\"start\"),\n }\n )}\n />\n )}\n </div>\n </ClickAwayListener>\n </div>\n );\n\n if (disablePortal) return container;\n\n return createPortal(\n container,\n document.getElementById(rootId || \"\") || document.body\n );\n })();\n\n return (\n <div className={classes.root}>\n <div\n ref={ref}\n id={id}\n className={cx(\n classes.anchor,\n { [classes.rootDisabled]: disabled },\n className\n )}\n {...(!readOnly && {\n onKeyDown: handleToggle,\n onClick: handleToggle,\n })}\n {...(ariaRole && {\n role: ariaRole,\n ...headerAriaLabels,\n ...headerControlArias,\n })}\n // Removes the element from the navigation sequence for keyboard focus\n tabIndex={-1}\n {...others}\n >\n {headerElement}\n </div>\n {isOpen && containerComponent}\n </div>\n );\n }\n);\n"],"names":["HvBaseDropdown","forwardRef","props","ref","id","idProp","className","classes","classesProp","children","role","placeholder","component","adornment","expanded","dropdownHeaderProps","defaultExpanded","disabled","readOnly","required","disablePortal","variableWidth","placement","placementProp","ariaExpandedProp","ariaLabelProp","ariaLabelledByProp","popperProps","dropdownHeaderRef","dropdownHeaderRefProp","onToggle","onClickOutside","onContainerCreation","others","useDefaultProps","cx","useClasses","rootId","useTheme","isOpen","setIsOpen","useControlled","Boolean","referenceElement","setReferenceElement","useState","popperElement","setPopperElement","popperMaxSize","setPopperMaxSize","handleDropdownHeaderRefProp","useForkRef","handleDropdownHeaderRef","ariaRole","undefined","ariaExpanded","useUniqueId","containerId","setId","headerControlArias","headerAriaLabels","extensionWidth","offsetWidth","modifiers","popperPropsModifiers","otherPopperProps","onFirstUpdate","useCallback","widthCalculator","state","styles","popper","width","rects","reference","widthCalculatorEffect","elements","style","applyMaxSizeCalculator","height","modifiersData","maxSize","maxWidth","maxHeight","maxSizeCalculator","name","options","overflow","detectOverflow","x","preventOverflow","y","popperWidth","popperHeight","basePlacement","split","widthProp","heightProp","useMemo","enabled","phase","requires","fn","effect","requiresIfExists","popperStyles","attributes","usePopper","popperPlacement","handleToggle","event","isKey","preventDefault","notControlKey","code","isOneOfKeys","ignoredCombinations","newOpen","focus","preventScroll","ExpanderComponent","DropUpXS","DropDownXS","defaultHeaderElement","header","headerDisabled","headerReadOnly","headerOpen","headerOpenUp","includes","headerOpenDown","pointerEvents","selection","selectionDisabled","arrowContainer","arrow","headerElement","React","isValidElement","cloneElement","containerComponent","handleContainerKeyDown","shiftKey","focusList","getFirstAndLastFocus","document","activeElement","last","first","handleOutside","isButtonClick","contains","target","container","inputExtensionOpen","inputExtensionLeftPosition","panel","panelOpenedUp","panelOpenedDown","inputExtensionOpenShadow","inputExtensionFloatRight","inputExtensionFloatLeft","createPortal","getElementById","body","root","anchor","rootDisabled","onKeyDown","onClick"],"mappings":"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"}
1
+ {"version":3,"file":"BaseDropdown.js","sources":["../../../../src/components/BaseDropdown/BaseDropdown.tsx"],"sourcesContent":["import React, {\n useMemo,\n useState,\n useCallback,\n KeyboardEventHandler,\n AriaAttributes,\n forwardRef,\n} from \"react\";\n\nimport { createPortal } from \"react-dom\";\n\nimport {\n ClickAwayListener,\n ClickAwayListenerProps,\n PopperPlacementType,\n PopperProps,\n} from \"@mui/material\";\n\nimport { DropDownXS, DropUpXS } from \"@hitachivantara/uikit-react-icons\";\n\nimport { usePopper } from \"react-popper\";\nimport { detectOverflow, ModifierArguments, Options } from \"@popperjs/core\";\n\nimport { HvTypography } from \"@core/components/Typography\";\nimport { useUniqueId } from \"@core/hooks/useUniqueId\";\nimport { useTheme } from \"@core/hooks/useTheme\";\nimport { useForkRef } from \"@core/hooks/useForkRef\";\nimport { useControlled } from \"@core/hooks/useControlled\";\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\nimport { isKey, isOneOfKeys } from \"@core/utils/keyboardUtils\";\nimport { setId } from \"@core/utils/setId\";\nimport { getFirstAndLastFocus } from \"@core/utils/focusableElementFinder\";\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { ExtractNames } from \"@core/utils/classes\";\n\nimport { staticClasses, useClasses } from \"./BaseDropdown.styles\";\nimport BaseDropdownContext from \"./BaseDropdownContext\";\n\nexport { staticClasses as baseDropdownClasses };\n\nexport type HvBaseDropdownClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvBaseDropdownProps\n extends HvBaseProps<HTMLDivElement, \"placeholder\"> {\n /**\n * The role of the element that triggers the popup.\n *\n * Defaults to \"combobox\" if `component` and the default\n * \"textbox\" header is used, undefined otherwise.\n */\n role?: string;\n /**\n * Header placeholder.\n */\n placeholder?: React.ReactNode;\n /**\n * If `true` the dropdown is disabled unable to be interacted, if `false` it is enabled.\n */\n disabled?: boolean;\n /**\n * If `true` the dropdown will be in read only mode, unable to be interacted.\n */\n readOnly?: boolean;\n /**\n * Indicates that user input is required on the form element.\n */\n required?: boolean;\n /**\n * Disable the portal behavior.\n * The children stay within it's parent DOM hierarchy.\n */\n disablePortal?: boolean;\n /**\n * If `true` the dropdown width depends size of content if `false` the width depends on the header size.\n * Defaults to `false`.\n */\n variableWidth?: boolean;\n /**\n * If `true` the dropdown starts opened if `false` it starts closed.\n */\n expanded?: boolean;\n /**\n * When uncontrolled, defines the initial expanded state.\n */\n defaultExpanded?: boolean;\n /**\n * An object containing props to be wired to the popper component.\n */\n popperProps?: Partial<PopperProps>;\n /**\n * Placement of the dropdown.\n */\n placement?: \"left\" | \"right\";\n /**\n * Replacement for the header component.\n */\n component?: React.ReactNode;\n /**\n * Adornment to replace the default arrows.\n */\n adornment?: React.ReactNode;\n /**\n * When dropdown changes the expanded state.\n */\n onToggle?: (event: Event, open: boolean) => void;\n /**\n * When user click outside the open container.\n */\n onClickOutside?: (event: Event) => void;\n /**\n * Callback called when the dropdown is opened and ready,\n * commonly used to set focus to the content.\n */\n onContainerCreation?: (container: HTMLElement | null) => void;\n /**\n * Attributes applied to the dropdown header element.\n */\n dropdownHeaderProps?: React.DetailedHTMLProps<\n React.HTMLAttributes<HTMLDivElement>,\n HTMLDivElement\n >;\n /**\n * Pass a ref to the dropdown header element.\n */\n dropdownHeaderRef?: React.Ref<HTMLDivElement>;\n /**\n * A Jss Object used to override or extend the component styles applied.\n */\n classes?: HvBaseDropdownClasses;\n /** @ignore */\n ref?: React.Ref<HTMLDivElement>;\n}\n\nexport const HvBaseDropdown = forwardRef<HTMLDivElement, HvBaseDropdownProps>(\n (props, ref) => {\n const {\n id: idProp,\n className,\n classes: classesProp,\n children,\n role,\n placeholder,\n component,\n adornment,\n expanded,\n dropdownHeaderProps,\n defaultExpanded,\n disabled,\n readOnly,\n required,\n disablePortal,\n variableWidth,\n placement: placementProp = \"right\",\n \"aria-expanded\": ariaExpandedProp,\n \"aria-label\": ariaLabelProp,\n \"aria-labelledby\": ariaLabelledByProp,\n popperProps = {},\n dropdownHeaderRef: dropdownHeaderRefProp,\n onToggle,\n onClickOutside,\n onContainerCreation,\n ...others\n } = useDefaultProps(\"HvBaseDropdown\", props);\n const { classes, cx } = useClasses(classesProp);\n\n const { rootId } = useTheme();\n\n const [isOpen, setIsOpen] = useControlled(\n expanded,\n Boolean(defaultExpanded)\n );\n\n const [referenceElement, setReferenceElement] =\n useState<HTMLElement | null>(null);\n const [popperElement, setPopperElement] = useState<HTMLElement | null>(\n null\n );\n const [popperMaxSize, setPopperMaxSize] = useState<{\n width?: number;\n height?: number;\n }>({});\n\n const handleDropdownHeaderRefProp = useForkRef(\n dropdownHeaderRefProp,\n dropdownHeaderProps?.ref\n );\n const handleDropdownHeaderRef = useForkRef(\n setReferenceElement,\n handleDropdownHeaderRefProp\n );\n\n const ariaRole = role || (component == null ? \"combobox\" : undefined);\n\n const ariaExpanded = ariaExpandedProp ?? (ariaRole ? !!isOpen : undefined);\n\n const id = useUniqueId(idProp, \"hvbasedropdown\");\n const containerId = setId(id, \"children-container\");\n\n const headerControlArias = {\n \"aria-required\": required ?? undefined,\n \"aria-readonly\": readOnly ?? undefined,\n\n \"aria-expanded\": ariaExpanded,\n \"aria-owns\": isOpen ? containerId : undefined,\n \"aria-controls\": isOpen ? containerId : undefined,\n } satisfies AriaAttributes;\n\n const headerAriaLabels = {\n \"aria-label\": ariaLabelProp,\n \"aria-labelledby\": ariaLabelledByProp,\n } satisfies AriaAttributes;\n\n const placement: PopperPlacementType = `bottom-${\n placementProp === \"right\" ? \"start\" : \"end\"\n }`;\n\n const extensionWidth = referenceElement\n ? referenceElement?.offsetWidth\n : \"inherit\";\n\n const { modifiers: popperPropsModifiers = [], ...otherPopperProps } =\n popperProps;\n\n const onFirstUpdate = useCallback(() => {\n onContainerCreation?.(popperElement);\n }, [onContainerCreation, popperElement]);\n\n const widthCalculator = useCallback(\n ({ state }: ModifierArguments<Options>) => {\n state.styles.popper.width = `${state.rects.reference.width}px`;\n },\n []\n );\n\n const widthCalculatorEffect = useCallback(\n ({ state }: ModifierArguments<Options>) => {\n state.elements.popper.style.width = `${\n (state.elements.reference as any).offsetWidth\n }px`;\n },\n []\n );\n\n const applyMaxSizeCalculator = useCallback(\n ({ state }: ModifierArguments<Options>) => {\n // The `maxSize` modifier provides this data\n const { width, height } = state.modifiersData.maxSize;\n if (\n width !== popperMaxSize?.width ||\n height !== popperMaxSize?.height\n ) {\n setPopperMaxSize({ width, height });\n }\n\n state.styles.popper = {\n ...state.styles.popper,\n maxWidth: `${width}px`,\n maxHeight: `${height}px`,\n };\n },\n [popperMaxSize]\n );\n\n const maxSizeCalculator = useCallback(\n ({ state, name, options }: ModifierArguments<Options>) => {\n const overflow = detectOverflow(state, options);\n\n const x = state.modifiersData.preventOverflow?.x || 0;\n const y = state.modifiersData.preventOverflow?.y || 0;\n\n const popperWidth = state.rects.popper.width;\n const popperHeight = state.rects.popper.height;\n\n const basePlacement = state.placement.split(\"-\")[0];\n\n const widthProp = basePlacement === \"left\" ? \"left\" : \"right\";\n const heightProp = basePlacement === \"top\" ? \"top\" : \"bottom\";\n\n state.modifiersData[name] = {\n width: popperWidth - overflow[widthProp] - x,\n height: popperHeight - overflow[heightProp] - y,\n };\n },\n []\n );\n\n const modifiers = useMemo<PopperProps[\"modifiers\"]>(\n () => [\n {\n name: \"variableWidth\",\n enabled: !variableWidth,\n phase: \"beforeWrite\",\n requires: [\"computeStyles\"],\n fn: widthCalculator,\n effect: widthCalculatorEffect,\n },\n {\n name: \"maxSize\",\n enabled: true,\n phase: \"main\",\n requiresIfExists: [\"offset\", \"preventOverflow\", \"flip\"],\n fn: maxSizeCalculator,\n },\n {\n name: \"applyMaxSize\",\n enabled: true,\n phase: \"beforeWrite\",\n requires: [\"maxSize\"],\n fn: applyMaxSizeCalculator,\n },\n ...popperPropsModifiers,\n ],\n [\n maxSizeCalculator,\n applyMaxSizeCalculator,\n popperPropsModifiers,\n variableWidth,\n widthCalculator,\n widthCalculatorEffect,\n ]\n );\n\n const { styles: popperStyles, attributes } = usePopper(\n referenceElement,\n popperElement,\n {\n placement,\n modifiers,\n onFirstUpdate,\n ...otherPopperProps,\n }\n );\n\n const popperPlacement =\n attributes.popper?.[\"data-popper-placement\"] ?? \"bottom\";\n\n const handleToggle = useCallback(\n (event) => {\n if (event && !isKey(event, \"Tab\")) {\n event.preventDefault();\n }\n\n const notControlKey =\n !!event?.code &&\n !isOneOfKeys(event, [\"Tab\", \"Enter\", \"Esc\", \"ArrowDown\", \"Space\"]);\n\n const ignoredCombinations =\n (isKey(event, \"Esc\") && !isOpen) ||\n (isKey(event, \"ArrowDown\") && isOpen) ||\n (isKey(event, \"Tab\") && !isOpen);\n\n if (disabled || notControlKey || ignoredCombinations) return;\n\n const newOpen = !isOpen;\n\n /* If about to close focus on the header component. */\n setIsOpen(() => {\n if (!newOpen) {\n // Focus-ring won't be visible even if using the keyboard:\n // https://github.com/WICG/focus-visible/issues/88\n referenceElement?.focus({ preventScroll: true });\n }\n\n return newOpen;\n });\n\n onToggle?.(event, newOpen);\n },\n [isOpen, disabled, setIsOpen, onToggle, referenceElement]\n );\n\n const ExpanderComponent = isOpen ? DropUpXS : DropDownXS;\n\n const defaultHeaderElement = (\n <div\n id={setId(id, \"header\")}\n className={cx(classes.header, {\n [classes.headerDisabled]: disabled,\n [classes.headerReadOnly]: readOnly,\n [classes.headerOpen]: isOpen,\n [classes.headerOpenUp]: isOpen && popperPlacement.includes(\"top\"),\n [classes.headerOpenDown]:\n isOpen && popperPlacement.includes(\"bottom\"),\n })}\n // TODO: review \"textbox\" role\n role={ariaRole === \"combobox\" ? \"textbox\" : undefined}\n {...headerAriaLabels}\n style={disabled || readOnly ? { pointerEvents: \"none\" } : undefined}\n // Removes the element from the navigation sequence for keyboard focus if disabled\n tabIndex={disabled ? -1 : 0}\n ref={handleDropdownHeaderRef}\n {...dropdownHeaderProps}\n >\n <div className={classes.selection}>\n {placeholder && typeof placeholder === \"string\" ? (\n <HvTypography\n className={cx(classes.placeholder, {\n [classes.selectionDisabled]: disabled,\n })}\n variant=\"body\"\n >\n {placeholder}\n </HvTypography>\n ) : (\n placeholder\n )}\n </div>\n <div className={classes.arrowContainer}>\n {adornment || (\n <ExpanderComponent\n iconSize=\"XS\"\n color={disabled ? \"secondary_60\" : undefined}\n className={classes.arrow}\n />\n )}\n </div>\n </div>\n );\n\n const headerElement =\n component && React.isValidElement(component)\n ? React.cloneElement(component as React.ReactElement, {\n ref: handleDropdownHeaderRef,\n ...headerControlArias,\n })\n : defaultHeaderElement;\n\n const containerComponent = (() => {\n /**\n * Handle keyboard inside children container.\n */\n const handleContainerKeyDown: KeyboardEventHandler = (event) => {\n if (isKey(event, \"Esc\")) {\n handleToggle(event);\n }\n if (isKey(event, \"Tab\") && !event.shiftKey) {\n const focusList = getFirstAndLastFocus(popperElement);\n if (document.activeElement === focusList?.last) {\n event.preventDefault();\n focusList?.first?.focus();\n }\n }\n };\n\n const handleOutside: ClickAwayListenerProps[\"onClickAway\"] = (event) => {\n const isButtonClick = referenceElement?.contains(event.target as any);\n if (!isButtonClick) {\n onClickOutside?.(event);\n setIsOpen(false);\n onToggle?.(event, false);\n }\n };\n\n const container = (\n <div\n ref={setPopperElement}\n className={classes.container}\n style={popperStyles.popper}\n {...attributes.popper}\n >\n <ClickAwayListener onClickAway={handleOutside}>\n {/* eslint-disable-next-line jsx-a11y/no-static-element-interactions */}\n <div onKeyDown={handleContainerKeyDown}>\n {popperPlacement.includes(\"bottom\") && (\n <div\n style={{ width: extensionWidth }}\n className={cx(classes.inputExtensionOpen, {\n [classes.inputExtensionLeftPosition]:\n popperPlacement.includes(\"end\"),\n })}\n />\n )}\n <BaseDropdownContext.Provider value={popperMaxSize}>\n <div\n id={containerId}\n className={cx(classes.panel, {\n [classes.panelOpenedUp]: popperPlacement.includes(\"top\"),\n [classes.panelOpenedDown]:\n popperPlacement.includes(\"bottom\"),\n })}\n >\n {children}\n </div>\n </BaseDropdownContext.Provider>\n {popperPlacement.includes(\"top\") && (\n <div\n style={{ width: extensionWidth }}\n className={cx(\n classes.inputExtensionOpen,\n classes.inputExtensionOpenShadow,\n {\n [classes.inputExtensionFloatRight]:\n popperPlacement.includes(\"end\"),\n [classes.inputExtensionFloatLeft]:\n popperPlacement.includes(\"start\"),\n }\n )}\n />\n )}\n </div>\n </ClickAwayListener>\n </div>\n );\n\n if (disablePortal) return container;\n\n return createPortal(\n container,\n document.getElementById(rootId || \"\") || document.body\n );\n })();\n\n return (\n <div className={classes.root}>\n <div\n ref={ref}\n id={id}\n className={cx(\n classes.anchor,\n { [classes.rootDisabled]: disabled },\n className\n )}\n {...(!readOnly && {\n onKeyDown: handleToggle,\n onClick: handleToggle,\n })}\n {...(ariaRole && {\n role: ariaRole,\n ...headerAriaLabels,\n ...headerControlArias,\n })}\n // Removes the element from the navigation sequence for keyboard focus\n tabIndex={-1}\n {...others}\n >\n {headerElement}\n </div>\n {isOpen && containerComponent}\n </div>\n );\n }\n);\n"],"names":["HvBaseDropdown","forwardRef","props","ref","id","idProp","className","classes","classesProp","children","role","placeholder","component","adornment","expanded","dropdownHeaderProps","defaultExpanded","disabled","readOnly","required","disablePortal","variableWidth","placement","placementProp","ariaExpandedProp","ariaLabelProp","ariaLabelledByProp","popperProps","dropdownHeaderRef","dropdownHeaderRefProp","onToggle","onClickOutside","onContainerCreation","others","useDefaultProps","cx","useClasses","rootId","useTheme","isOpen","setIsOpen","useControlled","Boolean","referenceElement","setReferenceElement","useState","popperElement","setPopperElement","popperMaxSize","setPopperMaxSize","handleDropdownHeaderRefProp","useForkRef","handleDropdownHeaderRef","ariaRole","undefined","ariaExpanded","useUniqueId","containerId","setId","headerControlArias","headerAriaLabels","extensionWidth","offsetWidth","modifiers","popperPropsModifiers","otherPopperProps","onFirstUpdate","useCallback","widthCalculator","state","styles","popper","width","rects","reference","widthCalculatorEffect","elements","style","applyMaxSizeCalculator","height","modifiersData","maxSize","maxWidth","maxHeight","maxSizeCalculator","name","options","overflow","detectOverflow","x","preventOverflow","y","popperWidth","popperHeight","basePlacement","split","widthProp","heightProp","useMemo","enabled","phase","requires","fn","effect","requiresIfExists","popperStyles","attributes","usePopper","popperPlacement","handleToggle","event","isKey","preventDefault","notControlKey","code","isOneOfKeys","ignoredCombinations","newOpen","focus","preventScroll","ExpanderComponent","DropUpXS","DropDownXS","defaultHeaderElement","header","headerDisabled","headerReadOnly","headerOpen","headerOpenUp","includes","headerOpenDown","pointerEvents","selection","selectionDisabled","arrowContainer","arrow","headerElement","React","isValidElement","cloneElement","containerComponent","handleContainerKeyDown","shiftKey","focusList","getFirstAndLastFocus","document","activeElement","last","first","handleOutside","isButtonClick","contains","target","container","inputExtensionOpen","inputExtensionLeftPosition","panel","panelOpenedUp","panelOpenedDown","inputExtensionOpenShadow","inputExtensionFloatRight","inputExtensionFloatLeft","createPortal","getElementById","body","root","anchor","rootDisabled","onKeyDown","onClick"],"mappings":"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"}
@@ -29,7 +29,7 @@ const {
29
29
  position: "relative",
30
30
  background: theme.colors.atmo1,
31
31
  boxSizing: "border-box",
32
- border: `1px solid ${theme.colors.secondary_80}`,
32
+ border: `1px solid ${theme.colors.secondary}`,
33
33
  borderRadius: theme.radii.base,
34
34
  "&:hover": {
35
35
  border: `1px solid ${theme.colors.primary}`
@@ -43,9 +43,9 @@ const {
43
43
  }
44
44
  },
45
45
  headerOpen: {
46
- border: `1px solid ${theme.colors.secondary_80}`,
46
+ border: `1px solid ${theme.colors.secondary}`,
47
47
  "&:hover": {
48
- border: `1px solid ${theme.colors.secondary_80}`
48
+ border: `1px solid ${theme.colors.secondary}`
49
49
  }
50
50
  },
51
51
  headerOpenUp: {
@@ -102,7 +102,7 @@ const {
102
102
  panel: {
103
103
  position: "relative",
104
104
  backgroundColor: theme.colors.atmo1,
105
- border: `1px solid ${theme.colors.secondary_80}`
105
+ border: `1px solid ${theme.colors.secondary}`
106
106
  },
107
107
  panelOpenedUp: {
108
108
  top: 1,
@@ -117,8 +117,8 @@ const {
117
117
  backgroundColor: theme.colors.atmo1,
118
118
  borderTop: "none",
119
119
  borderBottom: "none",
120
- borderRight: `1px solid ${theme.colors.secondary_80}`,
121
- borderLeft: `1px solid ${theme.colors.secondary_80}`
120
+ borderRight: `1px solid ${theme.colors.secondary}`,
121
+ borderLeft: `1px solid ${theme.colors.secondary}`
122
122
  },
123
123
  inputExtensionLeftPosition: {
124
124
  marginLeft: "auto"
@@ -1 +1 @@
1
- {"version":3,"file":"BaseDropdown.styles.js","sources":["../../../../src/components/BaseDropdown/BaseDropdown.styles.tsx"],"sourcesContent":["import { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { outlineStyles } from \"@core/utils/focusUtils\";\nimport { createClasses } from \"@core/utils/classes\";\n\nexport const { useClasses, staticClasses } = createClasses(\"HvBaseDropdown\", {\n root: { width: \"100%\", position: \"relative\" },\n rootDisabled: {\n cursor: \"not-allowed\",\n \"&:focus\": {\n outline: \"none\",\n },\n },\n anchor: { display: \"inline-block\", width: \"100%\" },\n container: { zIndex: theme.zIndices.popover, width: \"auto\" },\n header: {\n cursor: \"pointer\",\n userSelect: \"none\",\n position: \"relative\",\n background: theme.colors.atmo1,\n boxSizing: \"border-box\",\n border: `1px solid ${theme.colors.secondary_80}`,\n borderRadius: theme.radii.base,\n \"&:hover\": {\n border: `1px solid ${theme.colors.primary}`,\n },\n \"&:focus\": {\n outline: \"none\",\n },\n \"&:focus-visible\": {\n ...outlineStyles,\n border: `1px solid ${theme.colors.primary}`,\n },\n },\n headerOpen: {\n border: `1px solid ${theme.colors.secondary_80}`,\n\n \"&:hover\": {\n border: `1px solid ${theme.colors.secondary_80}`,\n },\n },\n headerOpenUp: {\n borderRadius: `0px 0px ${theme.radii.base} ${theme.radii.base}`,\n },\n headerOpenDown: {\n borderRadius: `${theme.radii.base} ${theme.radii.base} 0px 0px`,\n },\n headerDisabled: {\n cursor: \"not-allowed\",\n pointerEvents: \"none\",\n border: `1px solid ${theme.colors.secondary_60}`,\n background: theme.colors.atmo2,\n \"&:hover\": {\n border: `1px solid ${theme.colors.secondary_60}`,\n },\n },\n headerReadOnly: {\n cursor: \"not-allowed\",\n pointerEvents: \"none\",\n border: `1px solid ${theme.colors.secondary_60}`,\n background: theme.colors.atmo2,\n userSelect: \"text\",\n \"&:focus-visible\": {\n outline: \"none\",\n border: `1px solid ${theme.colors.secondary_60}`,\n },\n },\n arrowContainer: {\n position: \"absolute\",\n pointerEvents: \"none\",\n top: -1,\n right: -1,\n },\n arrow: {},\n selection: {\n display: \"flex\",\n alignItems: \"center\",\n height: \"30px\",\n boxSizing: \"border-box\",\n paddingLeft: theme.space.xs,\n },\n placeholder: {\n display: \"block\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n ...theme.typography.body,\n color: theme.colors.secondary_80,\n },\n selectionDisabled: { color: theme.colors.secondary_60 },\n panel: {\n position: \"relative\",\n\n backgroundColor: theme.colors.atmo1,\n border: `1px solid ${theme.colors.secondary_80}`,\n },\n panelOpenedUp: {\n top: 1,\n borderRadius: `${theme.radii.base} ${theme.radii.base} 0 0`,\n },\n panelOpenedDown: {\n top: -1,\n borderRadius: `0 0 ${theme.radii.base} ${theme.radii.base}`,\n },\n inputExtensionOpen: {\n height: \"0px\",\n backgroundColor: theme.colors.atmo1,\n borderTop: \"none\",\n borderBottom: \"none\",\n borderRight: `1px solid ${theme.colors.secondary_80}`,\n borderLeft: `1px solid ${theme.colors.secondary_80}`,\n },\n inputExtensionLeftPosition: { marginLeft: \"auto\" },\n inputExtensionOpenShadow: {\n boxShadow: `0px 8px 0px ${theme.colors.atmo1}, 0px 0px 9px 0px rgba(65,65,65,.12)`,\n },\n inputExtensionFloatRight: { float: \"right\" },\n inputExtensionFloatLeft: { float: \"left\" },\n});\n"],"names":["useClasses","staticClasses","createClasses","root","width","position","rootDisabled","cursor","outline","anchor","display","container","zIndex","theme","zIndices","popover","header","userSelect","background","colors","atmo1","boxSizing","border","secondary_80","borderRadius","radii","base","primary","outlineStyles","headerOpen","headerOpenUp","headerOpenDown","headerDisabled","pointerEvents","secondary_60","atmo2","headerReadOnly","arrowContainer","top","right","arrow","selection","alignItems","height","paddingLeft","space","xs","placeholder","overflow","textOverflow","whiteSpace","typography","body","color","selectionDisabled","panel","backgroundColor","panelOpenedUp","panelOpenedDown","inputExtensionOpen","borderTop","borderBottom","borderRight","borderLeft","inputExtensionLeftPosition","marginLeft","inputExtensionOpenShadow","boxShadow","inputExtensionFloatRight","float","inputExtensionFloatLeft"],"mappings":"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"}
1
+ {"version":3,"file":"BaseDropdown.styles.js","sources":["../../../../src/components/BaseDropdown/BaseDropdown.styles.tsx"],"sourcesContent":["import { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { outlineStyles } from \"@core/utils/focusUtils\";\nimport { createClasses } from \"@core/utils/classes\";\n\nexport const { useClasses, staticClasses } = createClasses(\"HvBaseDropdown\", {\n root: { width: \"100%\", position: \"relative\" },\n rootDisabled: {\n cursor: \"not-allowed\",\n \"&:focus\": {\n outline: \"none\",\n },\n },\n anchor: { display: \"inline-block\", width: \"100%\" },\n container: { zIndex: theme.zIndices.popover, width: \"auto\" },\n header: {\n cursor: \"pointer\",\n userSelect: \"none\",\n position: \"relative\",\n background: theme.colors.atmo1,\n boxSizing: \"border-box\",\n border: `1px solid ${theme.colors.secondary}`,\n borderRadius: theme.radii.base,\n \"&:hover\": {\n border: `1px solid ${theme.colors.primary}`,\n },\n \"&:focus\": {\n outline: \"none\",\n },\n \"&:focus-visible\": {\n ...outlineStyles,\n border: `1px solid ${theme.colors.primary}`,\n },\n },\n headerOpen: {\n border: `1px solid ${theme.colors.secondary}`,\n\n \"&:hover\": {\n border: `1px solid ${theme.colors.secondary}`,\n },\n },\n headerOpenUp: {\n borderRadius: `0px 0px ${theme.radii.base} ${theme.radii.base}`,\n },\n headerOpenDown: {\n borderRadius: `${theme.radii.base} ${theme.radii.base} 0px 0px`,\n },\n headerDisabled: {\n cursor: \"not-allowed\",\n pointerEvents: \"none\",\n border: `1px solid ${theme.colors.secondary_60}`,\n background: theme.colors.atmo2,\n \"&:hover\": {\n border: `1px solid ${theme.colors.secondary_60}`,\n },\n },\n headerReadOnly: {\n cursor: \"not-allowed\",\n pointerEvents: \"none\",\n border: `1px solid ${theme.colors.secondary_60}`,\n background: theme.colors.atmo2,\n userSelect: \"text\",\n \"&:focus-visible\": {\n outline: \"none\",\n border: `1px solid ${theme.colors.secondary_60}`,\n },\n },\n arrowContainer: {\n position: \"absolute\",\n pointerEvents: \"none\",\n top: -1,\n right: -1,\n },\n arrow: {},\n selection: {\n display: \"flex\",\n alignItems: \"center\",\n height: \"30px\",\n boxSizing: \"border-box\",\n paddingLeft: theme.space.xs,\n },\n placeholder: {\n display: \"block\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n ...theme.typography.body,\n color: theme.colors.secondary_80,\n },\n selectionDisabled: { color: theme.colors.secondary_60 },\n panel: {\n position: \"relative\",\n\n backgroundColor: theme.colors.atmo1,\n border: `1px solid ${theme.colors.secondary}`,\n },\n panelOpenedUp: {\n top: 1,\n borderRadius: `${theme.radii.base} ${theme.radii.base} 0 0`,\n },\n panelOpenedDown: {\n top: -1,\n borderRadius: `0 0 ${theme.radii.base} ${theme.radii.base}`,\n },\n inputExtensionOpen: {\n height: \"0px\",\n backgroundColor: theme.colors.atmo1,\n borderTop: \"none\",\n borderBottom: \"none\",\n borderRight: `1px solid ${theme.colors.secondary}`,\n borderLeft: `1px solid ${theme.colors.secondary}`,\n },\n inputExtensionLeftPosition: { marginLeft: \"auto\" },\n inputExtensionOpenShadow: {\n boxShadow: `0px 8px 0px ${theme.colors.atmo1}, 0px 0px 9px 0px rgba(65,65,65,.12)`,\n },\n inputExtensionFloatRight: { float: \"right\" },\n inputExtensionFloatLeft: { float: \"left\" },\n});\n"],"names":["useClasses","staticClasses","createClasses","root","width","position","rootDisabled","cursor","outline","anchor","display","container","zIndex","theme","zIndices","popover","header","userSelect","background","colors","atmo1","boxSizing","border","secondary","borderRadius","radii","base","primary","outlineStyles","headerOpen","headerOpenUp","headerOpenDown","headerDisabled","pointerEvents","secondary_60","atmo2","headerReadOnly","arrowContainer","top","right","arrow","selection","alignItems","height","paddingLeft","space","xs","placeholder","overflow","textOverflow","whiteSpace","typography","body","color","secondary_80","selectionDisabled","panel","backgroundColor","panelOpenedUp","panelOpenedDown","inputExtensionOpen","borderTop","borderBottom","borderRight","borderLeft","inputExtensionLeftPosition","marginLeft","inputExtensionOpenShadow","boxShadow","inputExtensionFloatRight","float","inputExtensionFloatLeft"],"mappings":";;;AAKa,MAAA;AAAA,EAAEA;AAAAA,EAAYC;AAAc,IAAIC,cAAc,kBAAkB;AAAA,EAC3EC,MAAM;AAAA,IAAEC,OAAO;AAAA,IAAQC,UAAU;AAAA,EAAW;AAAA,EAC5CC,cAAc;AAAA,IACZC,QAAQ;AAAA,IACR,WAAW;AAAA,MACTC,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EACAC,QAAQ;AAAA,IAAEC,SAAS;AAAA,IAAgBN,OAAO;AAAA,EAAO;AAAA,EACjDO,WAAW;AAAA,IAAEC,QAAQC,MAAMC,SAASC;AAAAA,IAASX,OAAO;AAAA,EAAO;AAAA,EAC3DY,QAAQ;AAAA,IACNT,QAAQ;AAAA,IACRU,YAAY;AAAA,IACZZ,UAAU;AAAA,IACVa,YAAYL,MAAMM,OAAOC;AAAAA,IACzBC,WAAW;AAAA,IACXC,QAAS,aAAYT,MAAMM,OAAOI,SAAU;AAAA,IAC5CC,cAAcX,MAAMY,MAAMC;AAAAA,IAC1B,WAAW;AAAA,MACTJ,QAAS,aAAYT,MAAMM,OAAOQ,OAAQ;AAAA,IAC5C;AAAA,IACA,WAAW;AAAA,MACTnB,SAAS;AAAA,IACX;AAAA,IACA,mBAAmB;AAAA,MACjB,GAAGoB;AAAAA,MACHN,QAAS,aAAYT,MAAMM,OAAOQ,OAAQ;AAAA,IAC5C;AAAA,EACF;AAAA,EACAE,YAAY;AAAA,IACVP,QAAS,aAAYT,MAAMM,OAAOI,SAAU;AAAA,IAE5C,WAAW;AAAA,MACTD,QAAS,aAAYT,MAAMM,OAAOI,SAAU;AAAA,IAC9C;AAAA,EACF;AAAA,EACAO,cAAc;AAAA,IACZN,cAAe,WAAUX,MAAMY,MAAMC,IAAK,IAAGb,MAAMY,MAAMC,IAAK;AAAA,EAChE;AAAA,EACAK,gBAAgB;AAAA,IACdP,cAAe,GAAEX,MAAMY,MAAMC,IAAK,IAAGb,MAAMY,MAAMC,IAAK;AAAA,EACxD;AAAA,EACAM,gBAAgB;AAAA,IACdzB,QAAQ;AAAA,IACR0B,eAAe;AAAA,IACfX,QAAS,aAAYT,MAAMM,OAAOe,YAAa;AAAA,IAC/ChB,YAAYL,MAAMM,OAAOgB;AAAAA,IACzB,WAAW;AAAA,MACTb,QAAS,aAAYT,MAAMM,OAAOe,YAAa;AAAA,IACjD;AAAA,EACF;AAAA,EACAE,gBAAgB;AAAA,IACd7B,QAAQ;AAAA,IACR0B,eAAe;AAAA,IACfX,QAAS,aAAYT,MAAMM,OAAOe,YAAa;AAAA,IAC/ChB,YAAYL,MAAMM,OAAOgB;AAAAA,IACzBlB,YAAY;AAAA,IACZ,mBAAmB;AAAA,MACjBT,SAAS;AAAA,MACTc,QAAS,aAAYT,MAAMM,OAAOe,YAAa;AAAA,IACjD;AAAA,EACF;AAAA,EACAG,gBAAgB;AAAA,IACdhC,UAAU;AAAA,IACV4B,eAAe;AAAA,IACfK,KAAK;AAAA,IACLC,OAAO;AAAA,EACT;AAAA,EACAC,OAAO,CAAC;AAAA,EACRC,WAAW;AAAA,IACT/B,SAAS;AAAA,IACTgC,YAAY;AAAA,IACZC,QAAQ;AAAA,IACRtB,WAAW;AAAA,IACXuB,aAAa/B,MAAMgC,MAAMC;AAAAA,EAC3B;AAAA,EACAC,aAAa;AAAA,IACXrC,SAAS;AAAA,IACTsC,UAAU;AAAA,IACVC,cAAc;AAAA,IACdC,YAAY;AAAA,IACZ,GAAGrC,MAAMsC,WAAWC;AAAAA,IACpBC,OAAOxC,MAAMM,OAAOmC;AAAAA,EACtB;AAAA,EACAC,mBAAmB;AAAA,IAAEF,OAAOxC,MAAMM,OAAOe;AAAAA,EAAa;AAAA,EACtDsB,OAAO;AAAA,IACLnD,UAAU;AAAA,IAEVoD,iBAAiB5C,MAAMM,OAAOC;AAAAA,IAC9BE,QAAS,aAAYT,MAAMM,OAAOI,SAAU;AAAA,EAC9C;AAAA,EACAmC,eAAe;AAAA,IACbpB,KAAK;AAAA,IACLd,cAAe,GAAEX,MAAMY,MAAMC,IAAK,IAAGb,MAAMY,MAAMC,IAAK;AAAA,EACxD;AAAA,EACAiC,iBAAiB;AAAA,IACfrB,KAAK;AAAA,IACLd,cAAe,OAAMX,MAAMY,MAAMC,IAAK,IAAGb,MAAMY,MAAMC,IAAK;AAAA,EAC5D;AAAA,EACAkC,oBAAoB;AAAA,IAClBjB,QAAQ;AAAA,IACRc,iBAAiB5C,MAAMM,OAAOC;AAAAA,IAC9ByC,WAAW;AAAA,IACXC,cAAc;AAAA,IACdC,aAAc,aAAYlD,MAAMM,OAAOI,SAAU;AAAA,IACjDyC,YAAa,aAAYnD,MAAMM,OAAOI,SAAU;AAAA,EAClD;AAAA,EACA0C,4BAA4B;AAAA,IAAEC,YAAY;AAAA,EAAO;AAAA,EACjDC,0BAA0B;AAAA,IACxBC,WAAY,eAAcvD,MAAMM,OAAOC,KAAM;AAAA,EAC/C;AAAA,EACAiD,0BAA0B;AAAA,IAAEC,OAAO;AAAA,EAAQ;AAAA,EAC3CC,yBAAyB;AAAA,IAAED,OAAO;AAAA,EAAO;AAC3C,CAAC;"}
@@ -62,7 +62,7 @@ const HvBaseInput = (props) => {
62
62
  const formElementDescriptorsContext = useContext(HvFormElementDescriptorsContext);
63
63
  const ariaProps = buildAriaPropsFromContext(inputProps, formElementDescriptorsContext, localInvalid, id);
64
64
  const onChangeHandler = (event) => {
65
- onChange == null ? void 0 : onChange(event, event.target.value);
65
+ onChange?.(event, event.target.value);
66
66
  };
67
67
  return /* @__PURE__ */ jsxs(Fragment, { children: [
68
68
  /* @__PURE__ */ jsx(Global, { styles: baseInputStyles }),
@@ -1 +1 @@
1
- {"version":3,"file":"BaseInput.js","sources":["../../../../src/components/BaseInput/BaseInput.tsx"],"sourcesContent":["import { useContext } from \"react\";\n\nimport {\n InputBaseComponentProps as MuiInputBaseComponentProps,\n InputProps as MuiInputProps,\n Input as MuiInput,\n InputBaseProps,\n} from \"@mui/material\";\n\nimport { css as emotionCss, Global } from \"@emotion/react\";\n\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { ExtractNames } from \"@core/utils/classes\";\nimport {\n HvFormElementContext,\n HvFormElementDescriptorsContext,\n buildFormElementPropsFromContext,\n buildAriaPropsFromContext,\n} from \"@core/components/Forms\";\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\n\nimport { staticClasses, useClasses } from \"./BaseInput.styles\";\n\nexport { staticClasses as baseInputClasses };\n\nexport type HvBaseInputClasses = ExtractNames<typeof useClasses>;\n\n// Global styles for the base input.\nconst baseInputStyles = emotionCss({\n \"input:-webkit-autofill\": {\n WebkitBoxShadow: `0 0 0px 1000px ${theme.colors.atmo1} inset`,\n WebkitTextFillColor: theme.colors.secondary,\n },\n\n // Clears number input up/down arrows in Chrome and Firefox\n \"input::-webkit-outer-spin-button,input::-webkit-inner-spin-button\": {\n WebkitAppearance: \"none\",\n margin: 0,\n },\n \"input[type=number]\": {\n MozAppearance: \"textfield\",\n },\n\n // Clears time input clock in Chrome\n \"input::-webkit-calendar-picker-indicator\": {\n display: \"none\",\n },\n\n // Clears search input clear button in Chrome\n \"input::-webkit-search-decoration,input::-webkit-search-cancel-button,input::-webkit-search-results-button,input::-webkit-search-results-decoration\":\n {\n display: \"none\",\n },\n});\n\nexport interface HvBaseInputProps\n extends Omit<MuiInputProps, \"onChange\" | \"classes\">,\n HvBaseProps<\n HTMLDivElement,\n | \"onChange\"\n | \"color\"\n | \"onBlur\"\n | \"onFocus\"\n | \"onInvalid\"\n | \"onKeyDown\"\n | \"onKeyUp\"\n > {\n /** The input name. */\n name?: string;\n /** The value of the input, when controlled. */\n value?: string;\n /** The initial value of the input, when uncontrolled. */\n defaultValue?: string;\n /** If `true` the input is disabled. */\n disabled?: boolean;\n /** Indicates that the input is not editable. */\n readOnly?: boolean;\n /** If true, the input element will be required. */\n required?: boolean;\n /** The function that will be executed onChange, allows modification of the input,\n * it receives the value. If a new value should be presented it must returned it. */\n onChange?: (\n event: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>,\n value: string\n ) => void;\n /** The input type. */\n type?: string;\n /** Label inside the input used to help user. */\n placeholder?: string;\n /** If true, a textarea element will be rendered. */\n multiline?: boolean;\n /** If true and multiline is also true the textarea element will be resizable. */\n resizable?: boolean;\n /** Denotes if the input is in an invalid state. */\n invalid?: boolean;\n /** Attributes applied to the input element. */\n inputProps?: MuiInputBaseComponentProps;\n /** Allows passing a ref to the underlying input */\n inputRef?: InputBaseProps[\"inputRef\"];\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvBaseInputClasses;\n}\n\n/**\n * An Input component that only posses the most basic functionalities.\n * It should be used alongside the other form elements to construct a proper accessible form.\n */\nexport const HvBaseInput = (props: HvBaseInputProps) => {\n const {\n classes: classesProp,\n className = \"\",\n id,\n name,\n value,\n defaultValue,\n required,\n readOnly,\n disabled,\n onChange,\n type = \"text\",\n placeholder,\n multiline = false,\n resizable = false,\n invalid = false,\n inputRef,\n inputProps = {},\n ...others\n } = useDefaultProps(\"HvBaseInput\", props);\n const { classes, cx } = useClasses(classesProp);\n const formElementContext = useContext(HvFormElementContext);\n const formElementProps = buildFormElementPropsFromContext(\n name,\n disabled,\n readOnly,\n required,\n formElementContext\n );\n\n const localInvalid = invalid || formElementProps.status === \"invalid\";\n\n const formElementDescriptorsContext = useContext(\n HvFormElementDescriptorsContext\n );\n const ariaProps = buildAriaPropsFromContext(\n inputProps,\n formElementDescriptorsContext,\n localInvalid,\n id\n );\n\n const onChangeHandler: MuiInputProps[\"onChange\"] = (event) => {\n onChange?.(event, event.target.value);\n };\n\n return (\n <>\n <Global styles={baseInputStyles} />\n <div\n className={cx(classes.root, className, {\n [classes.disabled]: formElementProps.disabled,\n [classes.invalid]: localInvalid,\n [classes.resizable]: multiline && resizable,\n [classes.readOnly]: formElementProps.readOnly,\n })}\n >\n <MuiInput\n id={id}\n name={formElementProps.name}\n value={value}\n defaultValue={defaultValue}\n type={type}\n placeholder={placeholder}\n readOnly={!!formElementProps.readOnly}\n disabled={formElementProps.disabled}\n onChange={onChangeHandler}\n className={cx({\n [classes.inputRootInvalid]: localInvalid,\n [classes.inputRootReadOnly]: formElementProps.readOnly,\n })}\n classes={{\n root: classes.inputRoot,\n focused: classes.inputRootFocused,\n disabled: classes.inputRootDisabled,\n multiline: classes.inputRootMultiline,\n input: cx(classes.input, {\n [classes.inputResizable]: !formElementProps.disabled && resizable,\n [classes.inputDisabled]: formElementProps.disabled,\n [classes.inputReadOnly]: formElementProps.readOnly,\n }),\n }}\n inputProps={{\n // Avoid the required attribute at the root node\n required: formElementProps.required,\n ...inputProps,\n ...ariaProps,\n }}\n inputRef={inputRef}\n multiline={multiline}\n rows={10}\n {...others}\n />\n {!multiline && (\n <div role=\"presentation\" className={classes.inputBorderContainer} />\n )}\n </div>\n </>\n );\n};\n"],"names":["baseInputStyles","emotionCss","WebkitBoxShadow","theme","colors","atmo1","WebkitTextFillColor","secondary","WebkitAppearance","margin","MozAppearance","display","process","env","NODE_ENV","HvBaseInput","props","classes","classesProp","className","id","name","value","defaultValue","required","readOnly","disabled","onChange","type","placeholder","multiline","resizable","invalid","inputRef","inputProps","others","useDefaultProps","cx","useClasses","formElementContext","useContext","HvFormElementContext","formElementProps","buildFormElementPropsFromContext","localInvalid","status","formElementDescriptorsContext","HvFormElementDescriptorsContext","ariaProps","buildAriaPropsFromContext","onChangeHandler","event","target","root","MuiInput","inputRootInvalid","inputRootReadOnly","inputRoot","focused","inputRootFocused","inputRootDisabled","inputRootMultiline","input","inputResizable","inputDisabled","inputReadOnly","inputBorderContainer"],"mappings":"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"}
1
+ {"version":3,"file":"BaseInput.js","sources":["../../../../src/components/BaseInput/BaseInput.tsx"],"sourcesContent":["import { useContext } from \"react\";\n\nimport {\n InputBaseComponentProps as MuiInputBaseComponentProps,\n InputProps as MuiInputProps,\n Input as MuiInput,\n InputBaseProps,\n} from \"@mui/material\";\n\nimport { css as emotionCss, Global } from \"@emotion/react\";\n\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { ExtractNames } from \"@core/utils/classes\";\nimport {\n HvFormElementContext,\n HvFormElementDescriptorsContext,\n buildFormElementPropsFromContext,\n buildAriaPropsFromContext,\n} from \"@core/components/Forms\";\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\n\nimport { staticClasses, useClasses } from \"./BaseInput.styles\";\n\nexport { staticClasses as baseInputClasses };\n\nexport type HvBaseInputClasses = ExtractNames<typeof useClasses>;\n\n// Global styles for the base input.\nconst baseInputStyles = emotionCss({\n \"input:-webkit-autofill\": {\n WebkitBoxShadow: `0 0 0px 1000px ${theme.colors.atmo1} inset`,\n WebkitTextFillColor: theme.colors.secondary,\n },\n\n // Clears number input up/down arrows in Chrome and Firefox\n \"input::-webkit-outer-spin-button,input::-webkit-inner-spin-button\": {\n WebkitAppearance: \"none\",\n margin: 0,\n },\n \"input[type=number]\": {\n MozAppearance: \"textfield\",\n },\n\n // Clears time input clock in Chrome\n \"input::-webkit-calendar-picker-indicator\": {\n display: \"none\",\n },\n\n // Clears search input clear button in Chrome\n \"input::-webkit-search-decoration,input::-webkit-search-cancel-button,input::-webkit-search-results-button,input::-webkit-search-results-decoration\":\n {\n display: \"none\",\n },\n});\n\nexport interface HvBaseInputProps\n extends Omit<MuiInputProps, \"onChange\" | \"classes\">,\n HvBaseProps<\n HTMLDivElement,\n | \"onChange\"\n | \"color\"\n | \"onBlur\"\n | \"onFocus\"\n | \"onInvalid\"\n | \"onKeyDown\"\n | \"onKeyUp\"\n > {\n /** The input name. */\n name?: string;\n /** The value of the input, when controlled. */\n value?: string;\n /** The initial value of the input, when uncontrolled. */\n defaultValue?: string;\n /** If `true` the input is disabled. */\n disabled?: boolean;\n /** Indicates that the input is not editable. */\n readOnly?: boolean;\n /** If true, the input element will be required. */\n required?: boolean;\n /** The function that will be executed onChange, allows modification of the input,\n * it receives the value. If a new value should be presented it must returned it. */\n onChange?: (\n event: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>,\n value: string\n ) => void;\n /** The input type. */\n type?: string;\n /** Label inside the input used to help user. */\n placeholder?: string;\n /** If true, a textarea element will be rendered. */\n multiline?: boolean;\n /** If true and multiline is also true the textarea element will be resizable. */\n resizable?: boolean;\n /** Denotes if the input is in an invalid state. */\n invalid?: boolean;\n /** Attributes applied to the input element. */\n inputProps?: MuiInputBaseComponentProps;\n /** Allows passing a ref to the underlying input */\n inputRef?: InputBaseProps[\"inputRef\"];\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvBaseInputClasses;\n}\n\n/**\n * An Input component that only posses the most basic functionalities.\n * It should be used alongside the other form elements to construct a proper accessible form.\n */\nexport const HvBaseInput = (props: HvBaseInputProps) => {\n const {\n classes: classesProp,\n className = \"\",\n id,\n name,\n value,\n defaultValue,\n required,\n readOnly,\n disabled,\n onChange,\n type = \"text\",\n placeholder,\n multiline = false,\n resizable = false,\n invalid = false,\n inputRef,\n inputProps = {},\n ...others\n } = useDefaultProps(\"HvBaseInput\", props);\n const { classes, cx } = useClasses(classesProp);\n const formElementContext = useContext(HvFormElementContext);\n const formElementProps = buildFormElementPropsFromContext(\n name,\n disabled,\n readOnly,\n required,\n formElementContext\n );\n\n const localInvalid = invalid || formElementProps.status === \"invalid\";\n\n const formElementDescriptorsContext = useContext(\n HvFormElementDescriptorsContext\n );\n const ariaProps = buildAriaPropsFromContext(\n inputProps,\n formElementDescriptorsContext,\n localInvalid,\n id\n );\n\n const onChangeHandler: MuiInputProps[\"onChange\"] = (event) => {\n onChange?.(event, event.target.value);\n };\n\n return (\n <>\n <Global styles={baseInputStyles} />\n <div\n className={cx(classes.root, className, {\n [classes.disabled]: formElementProps.disabled,\n [classes.invalid]: localInvalid,\n [classes.resizable]: multiline && resizable,\n [classes.readOnly]: formElementProps.readOnly,\n })}\n >\n <MuiInput\n id={id}\n name={formElementProps.name}\n value={value}\n defaultValue={defaultValue}\n type={type}\n placeholder={placeholder}\n readOnly={!!formElementProps.readOnly}\n disabled={formElementProps.disabled}\n onChange={onChangeHandler}\n className={cx({\n [classes.inputRootInvalid]: localInvalid,\n [classes.inputRootReadOnly]: formElementProps.readOnly,\n })}\n classes={{\n root: classes.inputRoot,\n focused: classes.inputRootFocused,\n disabled: classes.inputRootDisabled,\n multiline: classes.inputRootMultiline,\n input: cx(classes.input, {\n [classes.inputResizable]: !formElementProps.disabled && resizable,\n [classes.inputDisabled]: formElementProps.disabled,\n [classes.inputReadOnly]: formElementProps.readOnly,\n }),\n }}\n inputProps={{\n // Avoid the required attribute at the root node\n required: formElementProps.required,\n ...inputProps,\n ...ariaProps,\n }}\n inputRef={inputRef}\n multiline={multiline}\n rows={10}\n {...others}\n />\n {!multiline && (\n <div role=\"presentation\" className={classes.inputBorderContainer} />\n )}\n </div>\n </>\n );\n};\n"],"names":["baseInputStyles","emotionCss","WebkitBoxShadow","theme","colors","atmo1","WebkitTextFillColor","secondary","WebkitAppearance","margin","MozAppearance","display","process","env","NODE_ENV","HvBaseInput","props","classes","classesProp","className","id","name","value","defaultValue","required","readOnly","disabled","onChange","type","placeholder","multiline","resizable","invalid","inputRef","inputProps","others","useDefaultProps","cx","useClasses","formElementContext","useContext","HvFormElementContext","formElementProps","buildFormElementPropsFromContext","localInvalid","status","formElementDescriptorsContext","HvFormElementDescriptorsContext","ariaProps","buildAriaPropsFromContext","onChangeHandler","event","target","root","MuiInput","inputRootInvalid","inputRootReadOnly","inputRoot","focused","inputRootFocused","inputRootDisabled","inputRootMultiline","input","inputResizable","inputDisabled","inputReadOnly","inputBorderContainer"],"mappings":"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"}
@@ -22,7 +22,7 @@ const computeValidationType = (type) => {
22
22
  return validationTypes.none;
23
23
  }
24
24
  };
25
- const hasBuiltInValidations = (required, validationType, minCharQuantity, maxCharQuantity, validation, inputProps) => required || validationType !== validationTypes.none || minCharQuantity != null || maxCharQuantity != null || validation != null || (inputProps == null ? void 0 : inputProps.required) != null || (inputProps == null ? void 0 : inputProps.minLength) != null || (inputProps == null ? void 0 : inputProps.maxLength) != null || (inputProps == null ? void 0 : inputProps.min) != null || (inputProps == null ? void 0 : inputProps.max) != null || (inputProps == null ? void 0 : inputProps.type) != null && (inputProps == null ? void 0 : inputProps.type) !== "text" && (inputProps == null ? void 0 : inputProps.type) !== "password" || (inputProps == null ? void 0 : inputProps.pattern) != null;
25
+ const hasBuiltInValidations = (required, validationType, minCharQuantity, maxCharQuantity, validation, inputProps) => required || validationType !== validationTypes.none || minCharQuantity != null || maxCharQuantity != null || validation != null || inputProps?.required != null || inputProps?.minLength != null || inputProps?.maxLength != null || inputProps?.min != null || inputProps?.max != null || inputProps?.type != null && inputProps?.type !== "text" && inputProps?.type !== "password" || inputProps?.pattern != null;
26
26
  const computeValidationState = (inputValidity, isEmptyValue) => {
27
27
  if (inputValidity.valid && isEmptyValue) {
28
28
  return validationState.standBy;
@@ -48,19 +48,18 @@ const computeValidationMessage = (inputValidity, errorMessages) => {
48
48
  return errorMessages.error;
49
49
  };
50
50
  const validateInput = (input, value, required, minCharQuantity, maxCharQuantity, validationType, validation) => {
51
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k;
52
51
  const inputValidity = {
53
- valid: ((_a = input == null ? void 0 : input.validity) == null ? void 0 : _a.valid) ?? true,
54
- badInput: (_b = input == null ? void 0 : input.validity) == null ? void 0 : _b.badInput,
55
- customError: (_c = input == null ? void 0 : input.validity) == null ? void 0 : _c.customError,
56
- patternMismatch: (_d = input == null ? void 0 : input.validity) == null ? void 0 : _d.patternMismatch,
57
- rangeOverflow: (_e = input == null ? void 0 : input.validity) == null ? void 0 : _e.rangeOverflow,
58
- rangeUnderflow: (_f = input == null ? void 0 : input.validity) == null ? void 0 : _f.rangeUnderflow,
59
- stepMismatch: (_g = input == null ? void 0 : input.validity) == null ? void 0 : _g.stepMismatch,
60
- tooLong: (_h = input == null ? void 0 : input.validity) == null ? void 0 : _h.tooLong,
61
- tooShort: (_i = input == null ? void 0 : input.validity) == null ? void 0 : _i.tooShort,
62
- typeMismatch: (_j = input == null ? void 0 : input.validity) == null ? void 0 : _j.typeMismatch,
63
- valueMissing: (_k = input == null ? void 0 : input.validity) == null ? void 0 : _k.valueMissing
52
+ valid: input?.validity?.valid ?? true,
53
+ badInput: input?.validity?.badInput,
54
+ customError: input?.validity?.customError,
55
+ patternMismatch: input?.validity?.patternMismatch,
56
+ rangeOverflow: input?.validity?.rangeOverflow,
57
+ rangeUnderflow: input?.validity?.rangeUnderflow,
58
+ stepMismatch: input?.validity?.stepMismatch,
59
+ tooLong: input?.validity?.tooLong,
60
+ tooShort: input?.validity?.tooShort,
61
+ typeMismatch: input?.validity?.typeMismatch,
62
+ valueMissing: input?.validity?.valueMissing
64
63
  };
65
64
  if (!value) {
66
65
  if (required) {
@@ -1 +1 @@
1
- {"version":3,"file":"validations.js","sources":["../../../../src/components/BaseInput/validations.ts"],"sourcesContent":["import { HTMLInputTypeAttribute } from \"react\";\n\nimport { InputBaseComponentProps } from \"@mui/material\";\n\nimport validationStates from \"@core/components/Forms/FormElement/validationStates\";\n\n/** Checks if the value is a number. */\nconst isNumeric = (num: string) =>\n // to prevent Number( <spaces> ) = 0\n num.trim().length > 0 && !Number.isNaN(Number(num));\n\n/** Checks if the value is an email */\nconst isEmail = (email: string) => {\n const regexp =\n /^[^\\\\s]+[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?[.])+[a-z0-9](?:[a-z0-9-]*[a-z0-9])$/i;\n return regexp.test(email);\n};\n\nexport const validationTypes = Object.freeze({\n none: \"none\",\n number: \"number\",\n email: \"email\",\n});\n\n/** Returns the input's validation type based in the type of the input. */\nexport const computeValidationType = (type: HTMLInputTypeAttribute) => {\n switch (type) {\n case \"number\":\n return validationTypes.number;\n case \"email\":\n return validationTypes.email;\n\n default:\n return validationTypes.none;\n }\n};\n\n/**\n * Checks whether any integrated validation, native or not, is active.\n */\nexport const hasBuiltInValidations = (\n required: boolean,\n validationType: HTMLInputTypeAttribute,\n minCharQuantity: number | null | undefined,\n maxCharQuantity: number | null | undefined,\n validation?: (value: string) => boolean,\n inputProps?: InputBaseComponentProps\n) =>\n required ||\n validationType !== validationTypes.none ||\n minCharQuantity != null ||\n maxCharQuantity != null ||\n validation != null ||\n inputProps?.required != null ||\n inputProps?.minLength != null ||\n inputProps?.maxLength != null ||\n inputProps?.min != null ||\n inputProps?.max != null ||\n (inputProps?.type != null &&\n inputProps?.type !== \"text\" &&\n inputProps?.type !== \"password\") ||\n inputProps?.pattern != null;\n\n/** Returns the form element's validation state based in the validity state of the input. */\nexport const computeValidationState = (\n inputValidity: HvInputValidity,\n isEmptyValue: boolean\n) => {\n // to keep 2.x behaviour,\n // consider that if the value is empty (and not required) we're returning to the standBy state.\n // might not make sense, as it makes impossible to say if the user explicitly cleared the input.\n if (inputValidity.valid && isEmptyValue) {\n return validationStates.standBy;\n }\n\n return inputValidity.valid\n ? validationStates.valid\n : validationStates.invalid;\n};\n\n/**\n * Returns a error message based in the validity state of the input.\n *\n * Only one error message is returned even if multiple validations fail.\n * Also, only required, minCharQuantity, maxCharQuantity and validationType have specific error messages.\n *\n * For further customization both status and statusMessage should be controlled and\n * set using the onBlur callback that receives both the value and the input validity object.\n */\nexport const computeValidationMessage = (\n inputValidity: HvInputValidity,\n /** The available localized error messages. */\n errorMessages: Record<string, string>\n) => {\n if (inputValidity.valid) {\n return \"\";\n }\n\n if (inputValidity.valueMissing) {\n return errorMessages.requiredError;\n }\n if (inputValidity.tooLong) {\n return errorMessages.maxCharError;\n }\n if (inputValidity.tooShort) {\n return errorMessages.minCharError;\n }\n if (inputValidity.typeMismatch) {\n return errorMessages.typeMismatchError;\n }\n\n return errorMessages.error;\n};\n\n/**\n * Returns a object describing the validity state of the input.\n *\n * It implements the native browser's ValidityState interface:\n * https://developer.mozilla.org/en-US/docs/Web/API/ValidityState\n */\nexport const validateInput = (\n input: HTMLInputElement | HTMLTextAreaElement | null,\n value: string,\n required: boolean,\n minCharQuantity: any,\n maxCharQuantity: any,\n validationType: string,\n validation?: (value: string) => boolean\n): HvInputValidity => {\n // bootstrap validity object using browser's built-in validation\n const inputValidity: HvInputValidity = {\n valid: input?.validity?.valid ?? true,\n badInput: input?.validity?.badInput,\n customError: input?.validity?.customError,\n patternMismatch: input?.validity?.patternMismatch,\n rangeOverflow: input?.validity?.rangeOverflow,\n rangeUnderflow: input?.validity?.rangeUnderflow,\n stepMismatch: input?.validity?.stepMismatch,\n tooLong: input?.validity?.tooLong,\n tooShort: input?.validity?.tooShort,\n typeMismatch: input?.validity?.typeMismatch,\n valueMissing: input?.validity?.valueMissing,\n };\n\n if (!value) {\n if (required) {\n // this is redundant because we're setting the required property in the native input\n inputValidity.valueMissing = true;\n inputValidity.valid = false;\n }\n } else {\n // we're not setting minlength and maxlength in the native input\n // to avoid different browser's behaviours and keep the user experience consistent\n if (minCharQuantity !== null && value.length < minCharQuantity) {\n inputValidity.tooShort = true;\n inputValidity.valid = false;\n }\n\n if (maxCharQuantity !== null && value.length > maxCharQuantity) {\n inputValidity.tooLong = true;\n inputValidity.valid = false;\n }\n\n // the validationType is used instead of type\n // for the same reason stated above\n switch (validationType) {\n case validationTypes.number:\n if (!isNumeric(value)) {\n inputValidity.typeMismatch = true;\n inputValidity.valid = false;\n }\n break;\n\n case validationTypes.email:\n if (!isEmail(value)) {\n inputValidity.typeMismatch = true;\n inputValidity.valid = false;\n }\n break;\n\n default:\n }\n\n if (validation != null && !validation(value)) {\n inputValidity.customError = true;\n inputValidity.valid = false;\n }\n }\n\n return inputValidity;\n};\n\nexport type HvInputValidity = {\n valid?: boolean;\n badInput?: boolean;\n customError?: boolean;\n patternMismatch?: boolean;\n rangeOverflow?: boolean;\n rangeUnderflow?: boolean;\n stepMismatch?: boolean;\n tooLong?: boolean;\n tooShort?: boolean;\n typeMismatch?: boolean;\n valueMissing?: boolean;\n};\n\nexport const DEFAULT_ERROR_MESSAGES = {\n error: \"Invalid value\",\n requiredError: \"The value is required\",\n minCharError: \"The value is too short\",\n maxCharError: \"The value is too long\",\n typeMismatchError: \"Invalid value\",\n};\n"],"names":["isNumeric","num","trim","length","Number","isNaN","isEmail","email","regexp","test","validationTypes","Object","freeze","none","number","computeValidationType","type","hasBuiltInValidations","required","validationType","minCharQuantity","maxCharQuantity","validation","inputProps","minLength","maxLength","min","max","pattern","computeValidationState","inputValidity","isEmptyValue","valid","validationStates","standBy","invalid","computeValidationMessage","errorMessages","valueMissing","requiredError","tooLong","maxCharError","tooShort","minCharError","typeMismatch","typeMismatchError","error","validateInput","input","value","validity","badInput","customError","patternMismatch","rangeOverflow","rangeUnderflow","stepMismatch","DEFAULT_ERROR_MESSAGES"],"mappings":"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"}
1
+ {"version":3,"file":"validations.js","sources":["../../../../src/components/BaseInput/validations.ts"],"sourcesContent":["import { HTMLInputTypeAttribute } from \"react\";\n\nimport { InputBaseComponentProps } from \"@mui/material\";\n\nimport validationStates from \"@core/components/Forms/FormElement/validationStates\";\n\n/** Checks if the value is a number. */\nconst isNumeric = (num: string) =>\n // to prevent Number( <spaces> ) = 0\n num.trim().length > 0 && !Number.isNaN(Number(num));\n\n/** Checks if the value is an email */\nconst isEmail = (email: string) => {\n const regexp =\n /^[^\\\\s]+[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?[.])+[a-z0-9](?:[a-z0-9-]*[a-z0-9])$/i;\n return regexp.test(email);\n};\n\nexport const validationTypes = Object.freeze({\n none: \"none\",\n number: \"number\",\n email: \"email\",\n});\n\n/** Returns the input's validation type based in the type of the input. */\nexport const computeValidationType = (type: HTMLInputTypeAttribute) => {\n switch (type) {\n case \"number\":\n return validationTypes.number;\n case \"email\":\n return validationTypes.email;\n\n default:\n return validationTypes.none;\n }\n};\n\n/**\n * Checks whether any integrated validation, native or not, is active.\n */\nexport const hasBuiltInValidations = (\n required: boolean,\n validationType: HTMLInputTypeAttribute,\n minCharQuantity: number | null | undefined,\n maxCharQuantity: number | null | undefined,\n validation?: (value: string) => boolean,\n inputProps?: InputBaseComponentProps\n) =>\n required ||\n validationType !== validationTypes.none ||\n minCharQuantity != null ||\n maxCharQuantity != null ||\n validation != null ||\n inputProps?.required != null ||\n inputProps?.minLength != null ||\n inputProps?.maxLength != null ||\n inputProps?.min != null ||\n inputProps?.max != null ||\n (inputProps?.type != null &&\n inputProps?.type !== \"text\" &&\n inputProps?.type !== \"password\") ||\n inputProps?.pattern != null;\n\n/** Returns the form element's validation state based in the validity state of the input. */\nexport const computeValidationState = (\n inputValidity: HvInputValidity,\n isEmptyValue: boolean\n) => {\n // to keep 2.x behaviour,\n // consider that if the value is empty (and not required) we're returning to the standBy state.\n // might not make sense, as it makes impossible to say if the user explicitly cleared the input.\n if (inputValidity.valid && isEmptyValue) {\n return validationStates.standBy;\n }\n\n return inputValidity.valid\n ? validationStates.valid\n : validationStates.invalid;\n};\n\n/**\n * Returns a error message based in the validity state of the input.\n *\n * Only one error message is returned even if multiple validations fail.\n * Also, only required, minCharQuantity, maxCharQuantity and validationType have specific error messages.\n *\n * For further customization both status and statusMessage should be controlled and\n * set using the onBlur callback that receives both the value and the input validity object.\n */\nexport const computeValidationMessage = (\n inputValidity: HvInputValidity,\n /** The available localized error messages. */\n errorMessages: Record<string, string>\n) => {\n if (inputValidity.valid) {\n return \"\";\n }\n\n if (inputValidity.valueMissing) {\n return errorMessages.requiredError;\n }\n if (inputValidity.tooLong) {\n return errorMessages.maxCharError;\n }\n if (inputValidity.tooShort) {\n return errorMessages.minCharError;\n }\n if (inputValidity.typeMismatch) {\n return errorMessages.typeMismatchError;\n }\n\n return errorMessages.error;\n};\n\n/**\n * Returns a object describing the validity state of the input.\n *\n * It implements the native browser's ValidityState interface:\n * https://developer.mozilla.org/en-US/docs/Web/API/ValidityState\n */\nexport const validateInput = (\n input: HTMLInputElement | HTMLTextAreaElement | null,\n value: string,\n required: boolean,\n minCharQuantity: any,\n maxCharQuantity: any,\n validationType: string,\n validation?: (value: string) => boolean\n): HvInputValidity => {\n // bootstrap validity object using browser's built-in validation\n const inputValidity: HvInputValidity = {\n valid: input?.validity?.valid ?? true,\n badInput: input?.validity?.badInput,\n customError: input?.validity?.customError,\n patternMismatch: input?.validity?.patternMismatch,\n rangeOverflow: input?.validity?.rangeOverflow,\n rangeUnderflow: input?.validity?.rangeUnderflow,\n stepMismatch: input?.validity?.stepMismatch,\n tooLong: input?.validity?.tooLong,\n tooShort: input?.validity?.tooShort,\n typeMismatch: input?.validity?.typeMismatch,\n valueMissing: input?.validity?.valueMissing,\n };\n\n if (!value) {\n if (required) {\n // this is redundant because we're setting the required property in the native input\n inputValidity.valueMissing = true;\n inputValidity.valid = false;\n }\n } else {\n // we're not setting minlength and maxlength in the native input\n // to avoid different browser's behaviours and keep the user experience consistent\n if (minCharQuantity !== null && value.length < minCharQuantity) {\n inputValidity.tooShort = true;\n inputValidity.valid = false;\n }\n\n if (maxCharQuantity !== null && value.length > maxCharQuantity) {\n inputValidity.tooLong = true;\n inputValidity.valid = false;\n }\n\n // the validationType is used instead of type\n // for the same reason stated above\n switch (validationType) {\n case validationTypes.number:\n if (!isNumeric(value)) {\n inputValidity.typeMismatch = true;\n inputValidity.valid = false;\n }\n break;\n\n case validationTypes.email:\n if (!isEmail(value)) {\n inputValidity.typeMismatch = true;\n inputValidity.valid = false;\n }\n break;\n\n default:\n }\n\n if (validation != null && !validation(value)) {\n inputValidity.customError = true;\n inputValidity.valid = false;\n }\n }\n\n return inputValidity;\n};\n\nexport type HvInputValidity = {\n valid?: boolean;\n badInput?: boolean;\n customError?: boolean;\n patternMismatch?: boolean;\n rangeOverflow?: boolean;\n rangeUnderflow?: boolean;\n stepMismatch?: boolean;\n tooLong?: boolean;\n tooShort?: boolean;\n typeMismatch?: boolean;\n valueMissing?: boolean;\n};\n\nexport const DEFAULT_ERROR_MESSAGES = {\n error: \"Invalid value\",\n requiredError: \"The value is required\",\n minCharError: \"The value is too short\",\n maxCharError: \"The value is too long\",\n typeMismatchError: \"Invalid value\",\n};\n"],"names":["isNumeric","num","trim","length","Number","isNaN","isEmail","email","regexp","test","validationTypes","Object","freeze","none","number","computeValidationType","type","hasBuiltInValidations","required","validationType","minCharQuantity","maxCharQuantity","validation","inputProps","minLength","maxLength","min","max","pattern","computeValidationState","inputValidity","isEmptyValue","valid","validationStates","standBy","invalid","computeValidationMessage","errorMessages","valueMissing","requiredError","tooLong","maxCharError","tooShort","minCharError","typeMismatch","typeMismatchError","error","validateInput","input","value","validity","badInput","customError","patternMismatch","rangeOverflow","rangeUnderflow","stepMismatch","DEFAULT_ERROR_MESSAGES"],"mappings":"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"}
@@ -43,11 +43,11 @@ const HvBaseRadio = forwardRef((props, ref) => {
43
43
  const [focusVisible, setFocusVisible] = useState(false);
44
44
  const onFocusVisibleCallback = useCallback((evt) => {
45
45
  setFocusVisible(true);
46
- onFocusVisible == null ? void 0 : onFocusVisible(evt);
46
+ onFocusVisible?.(evt);
47
47
  }, [onFocusVisible]);
48
48
  const onBlurCallback = useCallback((evt) => {
49
49
  setFocusVisible(false);
50
- onBlur == null ? void 0 : onBlur(evt);
50
+ onBlur?.(evt);
51
51
  }, [onBlur]);
52
52
  const icons = getSelectorIcons({
53
53
  disabled,
@@ -57,7 +57,7 @@ const HvBaseRadio = forwardRef((props, ref) => {
57
57
  if (readOnly) {
58
58
  return;
59
59
  }
60
- onChange == null ? void 0 : onChange(evt, evt.target.checked, value);
60
+ onChange?.(evt, evt.target.checked, value);
61
61
  }, [onChange, readOnly, value]);
62
62
  return /* @__PURE__ */ jsx(MuiRadio, { ref, id, name, className: cx(classes.root, {
63
63
  [classes.disabled]: disabled,
@@ -1 +1 @@
1
- {"version":3,"file":"BaseRadio.js","sources":["../../../../src/components/BaseRadio/BaseRadio.tsx"],"sourcesContent":["import React, { useState, useCallback, forwardRef } from \"react\";\n\nimport MuiRadio, { RadioProps as MuiRadioProps } from \"@mui/material/Radio\";\n\nimport {\n RadioButtonUnselected,\n RadioButtonSelected,\n} from \"@hitachivantara/uikit-react-icons\";\n\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { ExtractNames } from \"@core/utils/classes\";\n\nimport { staticClasses, useClasses } from \"./BaseRadio.styles\";\n\nexport { staticClasses as baseRadioClasses };\n\nexport type HvBaseRadioClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvBaseRadioProps\n extends Omit<MuiRadioProps, \"onChange\" | \"classes\">,\n HvBaseProps<HTMLButtonElement, \"onChange\" | \"color\"> {\n /**\n * Class names to be applied.\n */\n className?: string;\n /**\n * A Jss Object used to override or extend the styles applied to the radio button.\n */\n classes?: HvBaseRadioClasses;\n /**\n * Id to be applied to the root node.\n */\n id?: string;\n /**\n * The input name.\n */\n name?: string;\n /**\n * The value of the input.\n *\n * The default value is \"on\".\n */\n value?: any;\n /**\n * Indicates that user input is required.\n */\n required?: boolean;\n /**\n * Indicates that the input is not editable.\n */\n readOnly?: boolean;\n /**\n * Indicates that the input is disabled.\n */\n disabled?: boolean;\n /**\n * If `true` the radio button is selected, if set to `false` the radio button is not selected.\n *\n * When defined the radio button state becomes controlled.\n */\n checked?: boolean;\n /**\n * When uncontrolled, defines the initial checked state.\n */\n defaultChecked?: boolean;\n /**\n * The callback fired when the radio button is pressed.\n */\n onChange?: (\n event: React.ChangeEvent<HTMLInputElement>,\n checked: boolean,\n value: any\n ) => void;\n /**\n * Whether the selector should use semantic colors.\n */\n semantic?: boolean;\n /**\n * Properties passed on to the input element.\n */\n inputProps?: React.InputHTMLAttributes<HTMLInputElement>;\n /**\n * Callback fired when the component is focused with a keyboard.\n * We trigger a `onFocus` callback too.\n */\n onFocusVisible?: (event: React.FocusEvent<any>) => void;\n /**\n * @ignore\n */\n onBlur?: (event: React.FocusEvent<any>) => void;\n}\n\nexport const getSelectorIcons = (\n options: { disabled: boolean; semantic: boolean },\n classes: HvBaseRadioClasses\n) => {\n const { disabled, semantic } = options;\n const color =\n (disabled && [\"atmo3\", \"secondary_60\"]) ||\n (semantic && [\"base_light\", \"base_dark\"]) ||\n undefined;\n const checkedColor =\n (disabled && [\"atmo3\", \"secondary_60\"]) ||\n (semantic && [\"base_dark\", \"base_light\"]) ||\n undefined;\n\n return {\n radio: <RadioButtonUnselected color={color} className={classes.icon} />,\n radioChecked: (\n <RadioButtonSelected color={checkedColor} className={classes.icon} />\n ),\n };\n};\n\n/**\n * A Radio Button is a mechanism that allows user to select one or more options.\n *\n * The Base Radio Button is a building block of the Radio Button form element. Don't\n * use unless implementing a custom use case not covered by the Radio Button form element.\n */\nexport const HvBaseRadio = forwardRef<HTMLButtonElement, HvBaseRadioProps>(\n (props, ref) => {\n const {\n classes: classesProp,\n className,\n id,\n name,\n value = \"on\",\n required = false,\n readOnly = false,\n disabled = false,\n checked,\n defaultChecked,\n onChange,\n semantic = false,\n inputProps,\n onFocusVisible,\n onBlur,\n ...others\n } = useDefaultProps(\"HvBaseRadio\", props);\n\n const { classes, cx } = useClasses(classesProp);\n\n const [focusVisible, setFocusVisible] = useState(false);\n\n const onFocusVisibleCallback = useCallback(\n (evt: React.FocusEvent<any>) => {\n setFocusVisible(true);\n onFocusVisible?.(evt);\n },\n [onFocusVisible]\n );\n\n const onBlurCallback = useCallback(\n (evt: React.FocusEvent<any>) => {\n setFocusVisible(false);\n onBlur?.(evt);\n },\n [onBlur]\n );\n\n const icons = getSelectorIcons({ disabled, semantic }, classes);\n\n const onLocalChange = useCallback(\n (evt: React.ChangeEvent<HTMLInputElement>) => {\n if (readOnly) {\n return;\n }\n\n onChange?.(evt, evt.target.checked, value);\n },\n [onChange, readOnly, value]\n );\n\n return (\n <MuiRadio\n ref={ref}\n id={id}\n name={name}\n className={cx(\n classes.root,\n {\n [classes.disabled]: disabled,\n [classes.focusVisible]: focusVisible,\n },\n className\n )}\n icon={icons.radio}\n checkedIcon={icons.radioChecked}\n color=\"default\"\n disabled={disabled}\n required={required}\n readOnly={readOnly}\n disableRipple\n onChange={onLocalChange}\n value={value}\n checked={checked}\n defaultChecked={defaultChecked}\n inputProps={inputProps}\n onFocusVisible={onFocusVisibleCallback}\n onBlur={onBlurCallback}\n {...others}\n />\n );\n }\n);\n"],"names":["getSelectorIcons","options","classes","disabled","semantic","color","undefined","checkedColor","radio","icon","radioChecked","HvBaseRadio","forwardRef","props","ref","classesProp","className","id","name","value","required","readOnly","checked","defaultChecked","onChange","inputProps","onFocusVisible","onBlur","others","useDefaultProps","cx","useClasses","focusVisible","setFocusVisible","useState","onFocusVisibleCallback","useCallback","evt","onBlurCallback","icons","onLocalChange","target","root"],"mappings":";;;;;;;AA6FaA,MAAAA,mBAAmBA,CAC9BC,SACAC,YACG;AACG,QAAA;AAAA,IAAEC;AAAAA,IAAUC;AAAAA,EAAaH,IAAAA;AACzBI,QAAAA,QACHF,YAAY,CAAC,SAAS,cAAc,KACpCC,YAAY,CAAC,cAAc,WAAW,KACvCE;AACIC,QAAAA,eACHJ,YAAY,CAAC,SAAS,cAAc,KACpCC,YAAY,CAAC,aAAa,YAAY,KACvCE;AAEK,SAAA;AAAA,IACLE,OAAQ,oBAAA,uBAAA,EAAsB,OAAc,WAAWN,QAAQO,MAAQ;AAAA,IACvEC,cACG,oBAAA,qBAAA,EAAoB,OAAOH,cAAc,WAAWL,QAAQO,MAAK;AAAA,EAAA;AAGxE;AAQO,MAAME,cAAcC,WACzB,CAACC,OAAOC,QAAQ;AACR,QAAA;AAAA,IACJZ,SAASa;AAAAA,IACTC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC,QAAQ;AAAA,IACRC,WAAW;AAAA,IACXC,WAAW;AAAA,IACXlB,WAAW;AAAA,IACXmB;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACApB,WAAW;AAAA,IACXqB;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACA,GAAGC;AAAAA,EAAAA,IACDC,gBAAgB,eAAehB,KAAK;AAElC,QAAA;AAAA,IAAEX;AAAAA,IAAS4B;AAAAA,EAAAA,IAAOC,WAAWhB,WAAW;AAE9C,QAAM,CAACiB,cAAcC,eAAe,IAAIC,SAAS,KAAK;AAEhDC,QAAAA,yBAAyBC,YAC7B,CAACC,QAA+B;AAC9BJ,oBAAgB,IAAI;AACpBP,qDAAiBW;AAAAA,EAAG,GAEtB,CAACX,cAAc,CACjB;AAEMY,QAAAA,iBAAiBF,YACrB,CAACC,QAA+B;AAC9BJ,oBAAgB,KAAK;AACrBN,qCAASU;AAAAA,EAAG,GAEd,CAACV,MAAM,CACT;AAEA,QAAMY,QAAQvC,iBAAiB;AAAA,IAAEG;AAAAA,IAAUC;AAAAA,KAAYF,OAAO;AAExDsC,QAAAA,gBAAgBJ,YACpB,CAACC,QAA6C;AAC5C,QAAIhB,UAAU;AACZ;AAAA,IACF;AAEAG,yCAAWa,KAAKA,IAAII,OAAOnB,SAASH;AAAAA,EAEtC,GAAA,CAACK,UAAUH,UAAUF,KAAK,CAC5B;AAGE,SAAA,oBAAC,YACC,KACA,IACA,MACA,WAAWW,GACT5B,QAAQwC,MACR;AAAA,IACE,CAACxC,QAAQC,QAAQ,GAAGA;AAAAA,IACpB,CAACD,QAAQ8B,YAAY,GAAGA;AAAAA,EAC1B,GACAhB,SACF,GACA,MAAMuB,MAAM/B,OACZ,aAAa+B,MAAM7B,cACnB,OAAM,WACN,UACA,UACA,UACA,eAAa,MACb,UAAU8B,eACV,OACA,SACA,gBACA,YACA,gBAAgBL,wBAChB,QAAQG,gBACJV,GAAAA,OACJ,CAAA;AAEN,CACF;"}
1
+ {"version":3,"file":"BaseRadio.js","sources":["../../../../src/components/BaseRadio/BaseRadio.tsx"],"sourcesContent":["import React, { useState, useCallback, forwardRef } from \"react\";\n\nimport MuiRadio, { RadioProps as MuiRadioProps } from \"@mui/material/Radio\";\n\nimport {\n RadioButtonUnselected,\n RadioButtonSelected,\n} from \"@hitachivantara/uikit-react-icons\";\n\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { ExtractNames } from \"@core/utils/classes\";\n\nimport { staticClasses, useClasses } from \"./BaseRadio.styles\";\n\nexport { staticClasses as baseRadioClasses };\n\nexport type HvBaseRadioClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvBaseRadioProps\n extends Omit<MuiRadioProps, \"onChange\" | \"classes\">,\n HvBaseProps<HTMLButtonElement, \"onChange\" | \"color\"> {\n /**\n * Class names to be applied.\n */\n className?: string;\n /**\n * A Jss Object used to override or extend the styles applied to the radio button.\n */\n classes?: HvBaseRadioClasses;\n /**\n * Id to be applied to the root node.\n */\n id?: string;\n /**\n * The input name.\n */\n name?: string;\n /**\n * The value of the input.\n *\n * The default value is \"on\".\n */\n value?: any;\n /**\n * Indicates that user input is required.\n */\n required?: boolean;\n /**\n * Indicates that the input is not editable.\n */\n readOnly?: boolean;\n /**\n * Indicates that the input is disabled.\n */\n disabled?: boolean;\n /**\n * If `true` the radio button is selected, if set to `false` the radio button is not selected.\n *\n * When defined the radio button state becomes controlled.\n */\n checked?: boolean;\n /**\n * When uncontrolled, defines the initial checked state.\n */\n defaultChecked?: boolean;\n /**\n * The callback fired when the radio button is pressed.\n */\n onChange?: (\n event: React.ChangeEvent<HTMLInputElement>,\n checked: boolean,\n value: any\n ) => void;\n /**\n * Whether the selector should use semantic colors.\n */\n semantic?: boolean;\n /**\n * Properties passed on to the input element.\n */\n inputProps?: React.InputHTMLAttributes<HTMLInputElement>;\n /**\n * Callback fired when the component is focused with a keyboard.\n * We trigger a `onFocus` callback too.\n */\n onFocusVisible?: (event: React.FocusEvent<any>) => void;\n /**\n * @ignore\n */\n onBlur?: (event: React.FocusEvent<any>) => void;\n}\n\nexport const getSelectorIcons = (\n options: { disabled: boolean; semantic: boolean },\n classes: HvBaseRadioClasses\n) => {\n const { disabled, semantic } = options;\n const color =\n (disabled && [\"atmo3\", \"secondary_60\"]) ||\n (semantic && [\"base_light\", \"base_dark\"]) ||\n undefined;\n const checkedColor =\n (disabled && [\"atmo3\", \"secondary_60\"]) ||\n (semantic && [\"base_dark\", \"base_light\"]) ||\n undefined;\n\n return {\n radio: <RadioButtonUnselected color={color} className={classes.icon} />,\n radioChecked: (\n <RadioButtonSelected color={checkedColor} className={classes.icon} />\n ),\n };\n};\n\n/**\n * A Radio Button is a mechanism that allows user to select one or more options.\n *\n * The Base Radio Button is a building block of the Radio Button form element. Don't\n * use unless implementing a custom use case not covered by the Radio Button form element.\n */\nexport const HvBaseRadio = forwardRef<HTMLButtonElement, HvBaseRadioProps>(\n (props, ref) => {\n const {\n classes: classesProp,\n className,\n id,\n name,\n value = \"on\",\n required = false,\n readOnly = false,\n disabled = false,\n checked,\n defaultChecked,\n onChange,\n semantic = false,\n inputProps,\n onFocusVisible,\n onBlur,\n ...others\n } = useDefaultProps(\"HvBaseRadio\", props);\n\n const { classes, cx } = useClasses(classesProp);\n\n const [focusVisible, setFocusVisible] = useState(false);\n\n const onFocusVisibleCallback = useCallback(\n (evt: React.FocusEvent<any>) => {\n setFocusVisible(true);\n onFocusVisible?.(evt);\n },\n [onFocusVisible]\n );\n\n const onBlurCallback = useCallback(\n (evt: React.FocusEvent<any>) => {\n setFocusVisible(false);\n onBlur?.(evt);\n },\n [onBlur]\n );\n\n const icons = getSelectorIcons({ disabled, semantic }, classes);\n\n const onLocalChange = useCallback(\n (evt: React.ChangeEvent<HTMLInputElement>) => {\n if (readOnly) {\n return;\n }\n\n onChange?.(evt, evt.target.checked, value);\n },\n [onChange, readOnly, value]\n );\n\n return (\n <MuiRadio\n ref={ref}\n id={id}\n name={name}\n className={cx(\n classes.root,\n {\n [classes.disabled]: disabled,\n [classes.focusVisible]: focusVisible,\n },\n className\n )}\n icon={icons.radio}\n checkedIcon={icons.radioChecked}\n color=\"default\"\n disabled={disabled}\n required={required}\n readOnly={readOnly}\n disableRipple\n onChange={onLocalChange}\n value={value}\n checked={checked}\n defaultChecked={defaultChecked}\n inputProps={inputProps}\n onFocusVisible={onFocusVisibleCallback}\n onBlur={onBlurCallback}\n {...others}\n />\n );\n }\n);\n"],"names":["getSelectorIcons","options","classes","disabled","semantic","color","undefined","checkedColor","radio","icon","radioChecked","HvBaseRadio","forwardRef","props","ref","classesProp","className","id","name","value","required","readOnly","checked","defaultChecked","onChange","inputProps","onFocusVisible","onBlur","others","useDefaultProps","cx","useClasses","focusVisible","setFocusVisible","useState","onFocusVisibleCallback","useCallback","evt","onBlurCallback","icons","onLocalChange","target","root"],"mappings":";;;;;;;AA6FaA,MAAAA,mBAAmBA,CAC9BC,SACAC,YACG;AACG,QAAA;AAAA,IAAEC;AAAAA,IAAUC;AAAAA,EAAaH,IAAAA;AACzBI,QAAAA,QACHF,YAAY,CAAC,SAAS,cAAc,KACpCC,YAAY,CAAC,cAAc,WAAW,KACvCE;AACIC,QAAAA,eACHJ,YAAY,CAAC,SAAS,cAAc,KACpCC,YAAY,CAAC,aAAa,YAAY,KACvCE;AAEK,SAAA;AAAA,IACLE,OAAQ,oBAAA,uBAAA,EAAsB,OAAc,WAAWN,QAAQO,MAAQ;AAAA,IACvEC,cACG,oBAAA,qBAAA,EAAoB,OAAOH,cAAc,WAAWL,QAAQO,MAAK;AAAA,EAAA;AAGxE;AAQO,MAAME,cAAcC,WACzB,CAACC,OAAOC,QAAQ;AACR,QAAA;AAAA,IACJZ,SAASa;AAAAA,IACTC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC,QAAQ;AAAA,IACRC,WAAW;AAAA,IACXC,WAAW;AAAA,IACXlB,WAAW;AAAA,IACXmB;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACApB,WAAW;AAAA,IACXqB;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACA,GAAGC;AAAAA,EAAAA,IACDC,gBAAgB,eAAehB,KAAK;AAElC,QAAA;AAAA,IAAEX;AAAAA,IAAS4B;AAAAA,EAAAA,IAAOC,WAAWhB,WAAW;AAE9C,QAAM,CAACiB,cAAcC,eAAe,IAAIC,SAAS,KAAK;AAEhDC,QAAAA,yBAAyBC,YAC7B,CAACC,QAA+B;AAC9BJ,oBAAgB,IAAI;AACpBP,qBAAiBW,GAAG;AAAA,EAAA,GAEtB,CAACX,cAAc,CACjB;AAEMY,QAAAA,iBAAiBF,YACrB,CAACC,QAA+B;AAC9BJ,oBAAgB,KAAK;AACrBN,aAASU,GAAG;AAAA,EAAA,GAEd,CAACV,MAAM,CACT;AAEA,QAAMY,QAAQvC,iBAAiB;AAAA,IAAEG;AAAAA,IAAUC;AAAAA,KAAYF,OAAO;AAExDsC,QAAAA,gBAAgBJ,YACpB,CAACC,QAA6C;AAC5C,QAAIhB,UAAU;AACZ;AAAA,IACF;AAEAG,eAAWa,KAAKA,IAAII,OAAOnB,SAASH,KAAK;AAAA,EAE3C,GAAA,CAACK,UAAUH,UAAUF,KAAK,CAC5B;AAGE,SAAA,oBAAC,YACC,KACA,IACA,MACA,WAAWW,GACT5B,QAAQwC,MACR;AAAA,IACE,CAACxC,QAAQC,QAAQ,GAAGA;AAAAA,IACpB,CAACD,QAAQ8B,YAAY,GAAGA;AAAAA,EAC1B,GACAhB,SACF,GACA,MAAMuB,MAAM/B,OACZ,aAAa+B,MAAM7B,cACnB,OAAM,WACN,UACA,UACA,UACA,eAAa,MACb,UAAU8B,eACV,OACA,SACA,gBACA,YACA,gBAAgBL,wBAChB,QAAQG,gBACJV,GAAAA,OACJ,CAAA;AAEN,CACF;"}
@@ -29,17 +29,17 @@ const HvBaseSwitch = forwardRef((props, ref) => {
29
29
  const [focusVisible, setFocusVisible] = useState(false);
30
30
  const onFocusVisibleCallback = useCallback((evt) => {
31
31
  setFocusVisible(true);
32
- onFocusVisible == null ? void 0 : onFocusVisible(evt);
32
+ onFocusVisible?.(evt);
33
33
  }, [onFocusVisible]);
34
34
  const onBlurCallback = useCallback((evt) => {
35
35
  setFocusVisible(false);
36
- onBlur == null ? void 0 : onBlur(evt);
36
+ onBlur?.(evt);
37
37
  }, [onBlur]);
38
38
  const onLocalChange = useCallback((evt) => {
39
39
  if (readOnly) {
40
40
  return;
41
41
  }
42
- onChange == null ? void 0 : onChange(evt, evt.target.checked, value);
42
+ onChange?.(evt, evt.target.checked, value);
43
43
  }, [onChange, readOnly, value]);
44
44
  return /* @__PURE__ */ jsx(MuiSwitch, { ref, id, name, className: cx(classes.root, {
45
45
  [classes.disabled]: disabled,