@hitachivantara/uikit-react-core 5.27.6 → 5.27.7

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 (716) hide show
  1. package/dist/cjs/components/Accordion/Accordion.cjs +14 -42
  2. package/dist/cjs/components/Accordion/Accordion.cjs.map +1 -1
  3. package/dist/cjs/components/ActionBar/ActionBar.cjs +2 -6
  4. package/dist/cjs/components/ActionBar/ActionBar.cjs.map +1 -1
  5. package/dist/cjs/components/ActionsGeneric/ActionsGeneric.cjs +17 -42
  6. package/dist/cjs/components/ActionsGeneric/ActionsGeneric.cjs.map +1 -1
  7. package/dist/cjs/components/AppSwitcher/Action/Action.cjs +15 -62
  8. package/dist/cjs/components/AppSwitcher/Action/Action.cjs.map +1 -1
  9. package/dist/cjs/components/AppSwitcher/AppSwitcher.cjs +18 -40
  10. package/dist/cjs/components/AppSwitcher/AppSwitcher.cjs.map +1 -1
  11. package/dist/cjs/components/AppSwitcher/TitleWithTooltip.cjs +2 -15
  12. package/dist/cjs/components/AppSwitcher/TitleWithTooltip.cjs.map +1 -1
  13. package/dist/cjs/components/Avatar/Avatar.cjs +13 -30
  14. package/dist/cjs/components/Avatar/Avatar.cjs.map +1 -1
  15. package/dist/cjs/components/Badge/Badge.cjs +12 -22
  16. package/dist/cjs/components/Badge/Badge.cjs.map +1 -1
  17. package/dist/cjs/components/Banner/Banner.cjs +11 -36
  18. package/dist/cjs/components/Banner/Banner.cjs.map +1 -1
  19. package/dist/cjs/components/Banner/BannerContent/ActionContainer/ActionContainer.cjs +5 -26
  20. package/dist/cjs/components/Banner/BannerContent/ActionContainer/ActionContainer.cjs.map +1 -1
  21. package/dist/cjs/components/Banner/BannerContent/BannerContent.cjs +12 -33
  22. package/dist/cjs/components/Banner/BannerContent/BannerContent.cjs.map +1 -1
  23. package/dist/cjs/components/Banner/BannerContent/MessageContainer/MessageContainer.cjs +6 -20
  24. package/dist/cjs/components/Banner/BannerContent/MessageContainer/MessageContainer.cjs.map +1 -1
  25. package/dist/cjs/components/BaseCheckBox/BaseCheckBox.cjs +8 -38
  26. package/dist/cjs/components/BaseCheckBox/BaseCheckBox.cjs.map +1 -1
  27. package/dist/cjs/components/BaseDropdown/BaseDropdown.cjs +68 -95
  28. package/dist/cjs/components/BaseDropdown/BaseDropdown.cjs.map +1 -1
  29. package/dist/cjs/components/BaseInput/BaseInput.cjs +31 -52
  30. package/dist/cjs/components/BaseInput/BaseInput.cjs.map +1 -1
  31. package/dist/cjs/components/BaseRadio/BaseRadio.cjs +7 -32
  32. package/dist/cjs/components/BaseRadio/BaseRadio.cjs.map +1 -1
  33. package/dist/cjs/components/BaseSwitch/BaseSwitch.cjs +13 -31
  34. package/dist/cjs/components/BaseSwitch/BaseSwitch.cjs.map +1 -1
  35. package/dist/cjs/components/Box/Box.cjs +2 -7
  36. package/dist/cjs/components/Box/Box.cjs.map +1 -1
  37. package/dist/cjs/components/BreadCrumb/BreadCrumb.cjs +12 -33
  38. package/dist/cjs/components/BreadCrumb/BreadCrumb.cjs.map +1 -1
  39. package/dist/cjs/components/BreadCrumb/Page/Page.cjs +2 -13
  40. package/dist/cjs/components/BreadCrumb/Page/Page.cjs.map +1 -1
  41. package/dist/cjs/components/BreadCrumb/PathElement/PathElement.cjs +5 -8
  42. package/dist/cjs/components/BreadCrumb/PathElement/PathElement.cjs.map +1 -1
  43. package/dist/cjs/components/BreadCrumb/utils.cjs +2 -11
  44. package/dist/cjs/components/BreadCrumb/utils.cjs.map +1 -1
  45. package/dist/cjs/components/BulkActions/BulkActions.cjs +34 -69
  46. package/dist/cjs/components/BulkActions/BulkActions.cjs.map +1 -1
  47. package/dist/cjs/components/Button/Button.cjs +15 -24
  48. package/dist/cjs/components/Button/Button.cjs.map +1 -1
  49. package/dist/cjs/components/Calendar/Calendar.cjs +12 -54
  50. package/dist/cjs/components/Calendar/Calendar.cjs.map +1 -1
  51. package/dist/cjs/components/Calendar/CalendarHeader/CalendarHeader.cjs +16 -44
  52. package/dist/cjs/components/Calendar/CalendarHeader/CalendarHeader.cjs.map +1 -1
  53. package/dist/cjs/components/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.cjs +15 -31
  54. package/dist/cjs/components/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.cjs.map +1 -1
  55. package/dist/cjs/components/Calendar/CalendarNavigation/MonthSelector/MonthSelector.cjs +10 -24
  56. package/dist/cjs/components/Calendar/CalendarNavigation/MonthSelector/MonthSelector.cjs.map +1 -1
  57. package/dist/cjs/components/Calendar/CalendarNavigation/Navigation/Navigation.cjs +24 -35
  58. package/dist/cjs/components/Calendar/CalendarNavigation/Navigation/Navigation.cjs.map +1 -1
  59. package/dist/cjs/components/Calendar/CalendarWeekLabels/CalendarWeekLabels.cjs +8 -10
  60. package/dist/cjs/components/Calendar/CalendarWeekLabels/CalendarWeekLabels.cjs.map +1 -1
  61. package/dist/cjs/components/Calendar/SingleCalendar/CalendarCell.cjs +15 -33
  62. package/dist/cjs/components/Calendar/SingleCalendar/CalendarCell.cjs.map +1 -1
  63. package/dist/cjs/components/Calendar/SingleCalendar/SingleCalendar.cjs +13 -54
  64. package/dist/cjs/components/Calendar/SingleCalendar/SingleCalendar.cjs.map +1 -1
  65. package/dist/cjs/components/Card/Card.cjs +16 -22
  66. package/dist/cjs/components/Card/Card.cjs.map +1 -1
  67. package/dist/cjs/components/Card/Content/Content.cjs +2 -8
  68. package/dist/cjs/components/Card/Content/Content.cjs.map +1 -1
  69. package/dist/cjs/components/Card/Header/Header.cjs +15 -23
  70. package/dist/cjs/components/Card/Header/Header.cjs.map +1 -1
  71. package/dist/cjs/components/Card/Media/Media.cjs +5 -14
  72. package/dist/cjs/components/Card/Media/Media.cjs.map +1 -1
  73. package/dist/cjs/components/Carousel/Carousel.cjs +37 -94
  74. package/dist/cjs/components/Carousel/Carousel.cjs.map +1 -1
  75. package/dist/cjs/components/Carousel/CarouselControls.cjs +11 -33
  76. package/dist/cjs/components/Carousel/CarouselControls.cjs.map +1 -1
  77. package/dist/cjs/components/Carousel/CarouselSlide/CarouselSlide.cjs +4 -12
  78. package/dist/cjs/components/Carousel/CarouselSlide/CarouselSlide.cjs.map +1 -1
  79. package/dist/cjs/components/Carousel/CarouselThumbnails.cjs +6 -23
  80. package/dist/cjs/components/Carousel/CarouselThumbnails.cjs.map +1 -1
  81. package/dist/cjs/components/CheckBox/CheckBox.cjs +23 -57
  82. package/dist/cjs/components/CheckBox/CheckBox.cjs.map +1 -1
  83. package/dist/cjs/components/CheckBoxGroup/CheckBoxGroup.cjs +21 -55
  84. package/dist/cjs/components/CheckBoxGroup/CheckBoxGroup.cjs.map +1 -1
  85. package/dist/cjs/components/ColorPicker/ColorPicker.cjs +28 -87
  86. package/dist/cjs/components/ColorPicker/ColorPicker.cjs.map +1 -1
  87. package/dist/cjs/components/ColorPicker/Fields/Fields.cjs +7 -37
  88. package/dist/cjs/components/ColorPicker/Fields/Fields.cjs.map +1 -1
  89. package/dist/cjs/components/ColorPicker/Picker/Picker.cjs +11 -38
  90. package/dist/cjs/components/ColorPicker/Picker/Picker.cjs.map +1 -1
  91. package/dist/cjs/components/ColorPicker/PresetColors/PresetColors.cjs +7 -21
  92. package/dist/cjs/components/ColorPicker/PresetColors/PresetColors.cjs.map +1 -1
  93. package/dist/cjs/components/ColorPicker/SavedColors/SavedColors.cjs +10 -39
  94. package/dist/cjs/components/ColorPicker/SavedColors/SavedColors.cjs.map +1 -1
  95. package/dist/cjs/components/Container/Container.cjs +13 -21
  96. package/dist/cjs/components/Container/Container.cjs.map +1 -1
  97. package/dist/cjs/components/Controls/Controls.cjs +15 -32
  98. package/dist/cjs/components/Controls/Controls.cjs.map +1 -1
  99. package/dist/cjs/components/Controls/LeftControl/LeftControl.cjs +5 -13
  100. package/dist/cjs/components/Controls/LeftControl/LeftControl.cjs.map +1 -1
  101. package/dist/cjs/components/Controls/RightControl/RightControl.cjs +5 -14
  102. package/dist/cjs/components/Controls/RightControl/RightControl.cjs.map +1 -1
  103. package/dist/cjs/components/DatePicker/DatePicker.cjs +40 -119
  104. package/dist/cjs/components/DatePicker/DatePicker.cjs.map +1 -1
  105. package/dist/cjs/components/Dialog/Actions/Actions.cjs +7 -12
  106. package/dist/cjs/components/Dialog/Actions/Actions.cjs.map +1 -1
  107. package/dist/cjs/components/Dialog/Content/Content.cjs +4 -8
  108. package/dist/cjs/components/Dialog/Content/Content.cjs.map +1 -1
  109. package/dist/cjs/components/Dialog/Dialog.cjs +29 -54
  110. package/dist/cjs/components/Dialog/Dialog.cjs.map +1 -1
  111. package/dist/cjs/components/Dialog/Title/Title.cjs +14 -21
  112. package/dist/cjs/components/Dialog/Title/Title.cjs.map +1 -1
  113. package/dist/cjs/components/DotPagination/DotPagination.cjs +9 -29
  114. package/dist/cjs/components/DotPagination/DotPagination.cjs.map +1 -1
  115. package/dist/cjs/components/Drawer/Drawer.cjs +16 -32
  116. package/dist/cjs/components/Drawer/Drawer.cjs.map +1 -1
  117. package/dist/cjs/components/DropDownMenu/DropDownMenu.cjs +16 -55
  118. package/dist/cjs/components/DropDownMenu/DropDownMenu.cjs.map +1 -1
  119. package/dist/cjs/components/Dropdown/Dropdown.cjs +36 -108
  120. package/dist/cjs/components/Dropdown/Dropdown.cjs.map +1 -1
  121. package/dist/cjs/components/Dropdown/List/List.cjs +40 -91
  122. package/dist/cjs/components/Dropdown/List/List.cjs.map +1 -1
  123. package/dist/cjs/components/EmptyState/EmptyState.cjs +20 -30
  124. package/dist/cjs/components/EmptyState/EmptyState.cjs.map +1 -1
  125. package/dist/cjs/components/FileUploader/DropZone/DropZone.cjs +53 -93
  126. package/dist/cjs/components/FileUploader/DropZone/DropZone.cjs.map +1 -1
  127. package/dist/cjs/components/FileUploader/File/File.cjs +21 -53
  128. package/dist/cjs/components/FileUploader/File/File.cjs.map +1 -1
  129. package/dist/cjs/components/FileUploader/FileList/FileList.cjs +4 -14
  130. package/dist/cjs/components/FileUploader/FileList/FileList.cjs.map +1 -1
  131. package/dist/cjs/components/FileUploader/FileUploader.cjs +5 -22
  132. package/dist/cjs/components/FileUploader/FileUploader.cjs.map +1 -1
  133. package/dist/cjs/components/FileUploader/Preview/Preview.cjs +11 -20
  134. package/dist/cjs/components/FileUploader/Preview/Preview.cjs.map +1 -1
  135. package/dist/cjs/components/FilterGroup/Counter/Counter.cjs +5 -8
  136. package/dist/cjs/components/FilterGroup/Counter/Counter.cjs.map +1 -1
  137. package/dist/cjs/components/FilterGroup/FilterContent/FilterContent.cjs +30 -84
  138. package/dist/cjs/components/FilterGroup/FilterContent/FilterContent.cjs.map +1 -1
  139. package/dist/cjs/components/FilterGroup/FilterGroup.cjs +11 -50
  140. package/dist/cjs/components/FilterGroup/FilterGroup.cjs.map +1 -1
  141. package/dist/cjs/components/FilterGroup/FilterGroupContext.cjs +2 -5
  142. package/dist/cjs/components/FilterGroup/FilterGroupContext.cjs.map +1 -1
  143. package/dist/cjs/components/FilterGroup/LeftPanel/LeftPanel.cjs +5 -23
  144. package/dist/cjs/components/FilterGroup/LeftPanel/LeftPanel.cjs.map +1 -1
  145. package/dist/cjs/components/FilterGroup/RightPanel/RightPanel.cjs +16 -51
  146. package/dist/cjs/components/FilterGroup/RightPanel/RightPanel.cjs.map +1 -1
  147. package/dist/cjs/components/Focus/Focus.cjs +19 -25
  148. package/dist/cjs/components/Focus/Focus.cjs.map +1 -1
  149. package/dist/cjs/components/Footer/Footer.cjs +11 -20
  150. package/dist/cjs/components/Footer/Footer.cjs.map +1 -1
  151. package/dist/cjs/components/Forms/Adornment/Adornment.cjs +6 -31
  152. package/dist/cjs/components/Forms/Adornment/Adornment.cjs.map +1 -1
  153. package/dist/cjs/components/Forms/CharCounter/CharCounter.cjs +14 -30
  154. package/dist/cjs/components/Forms/CharCounter/CharCounter.cjs.map +1 -1
  155. package/dist/cjs/components/Forms/FormElement/FormElement.cjs +2 -16
  156. package/dist/cjs/components/Forms/FormElement/FormElement.cjs.map +1 -1
  157. package/dist/cjs/components/Forms/InfoMessage/InfoMessage.cjs +5 -12
  158. package/dist/cjs/components/Forms/InfoMessage/InfoMessage.cjs.map +1 -1
  159. package/dist/cjs/components/Forms/Label/Label.cjs +11 -18
  160. package/dist/cjs/components/Forms/Label/Label.cjs.map +1 -1
  161. package/dist/cjs/components/Forms/Suggestions/Suggestions.cjs +5 -26
  162. package/dist/cjs/components/Forms/Suggestions/Suggestions.cjs.map +1 -1
  163. package/dist/cjs/components/Forms/WarningText/WarningText.cjs +12 -23
  164. package/dist/cjs/components/Forms/WarningText/WarningText.cjs.map +1 -1
  165. package/dist/cjs/components/GlobalActions/GlobalActions.cjs +13 -27
  166. package/dist/cjs/components/GlobalActions/GlobalActions.cjs.map +1 -1
  167. package/dist/cjs/components/Grid/Grid.cjs +2 -7
  168. package/dist/cjs/components/Grid/Grid.cjs.map +1 -1
  169. package/dist/cjs/components/Header/Actions/Actions.cjs +2 -6
  170. package/dist/cjs/components/Header/Actions/Actions.cjs.map +1 -1
  171. package/dist/cjs/components/Header/Brand/Brand.cjs +8 -14
  172. package/dist/cjs/components/Header/Brand/Brand.cjs.map +1 -1
  173. package/dist/cjs/components/Header/Header.cjs +9 -16
  174. package/dist/cjs/components/Header/Header.cjs.map +1 -1
  175. package/dist/cjs/components/Header/Navigation/MenuBar/Bar.cjs +6 -14
  176. package/dist/cjs/components/Header/Navigation/MenuBar/Bar.cjs.map +1 -1
  177. package/dist/cjs/components/Header/Navigation/MenuBar/MenuBar.cjs +2 -13
  178. package/dist/cjs/components/Header/Navigation/MenuBar/MenuBar.cjs.map +1 -1
  179. package/dist/cjs/components/Header/Navigation/MenuItem/MenuItem.cjs +12 -42
  180. package/dist/cjs/components/Header/Navigation/MenuItem/MenuItem.cjs.map +1 -1
  181. package/dist/cjs/components/Header/Navigation/Navigation.cjs +2 -17
  182. package/dist/cjs/components/Header/Navigation/Navigation.cjs.map +1 -1
  183. package/dist/cjs/components/Header/Navigation/utils/FocusContext.cjs +2 -5
  184. package/dist/cjs/components/Header/Navigation/utils/FocusContext.cjs.map +1 -1
  185. package/dist/cjs/components/InlineEditor/InlineEditor.cjs +17 -47
  186. package/dist/cjs/components/InlineEditor/InlineEditor.cjs.map +1 -1
  187. package/dist/cjs/components/Input/Input.cjs +45 -116
  188. package/dist/cjs/components/Input/Input.cjs.map +1 -1
  189. package/dist/cjs/components/Kpi/Kpi.cjs +16 -47
  190. package/dist/cjs/components/Kpi/Kpi.cjs.map +1 -1
  191. package/dist/cjs/components/Link/Link.cjs +2 -8
  192. package/dist/cjs/components/Link/Link.cjs.map +1 -1
  193. package/dist/cjs/components/List/List.cjs +46 -108
  194. package/dist/cjs/components/List/List.cjs.map +1 -1
  195. package/dist/cjs/components/ListContainer/ListContainer.cjs +2 -11
  196. package/dist/cjs/components/ListContainer/ListContainer.cjs.map +1 -1
  197. package/dist/cjs/components/ListContainer/ListItem/ListItem.cjs +33 -34
  198. package/dist/cjs/components/ListContainer/ListItem/ListItem.cjs.map +1 -1
  199. package/dist/cjs/components/Loading/Loading.cjs +7 -19
  200. package/dist/cjs/components/Loading/Loading.cjs.map +1 -1
  201. package/dist/cjs/components/Login/Login.cjs +4 -13
  202. package/dist/cjs/components/Login/Login.cjs.map +1 -1
  203. package/dist/cjs/components/MultiButton/MultiButton.cjs +16 -20
  204. package/dist/cjs/components/MultiButton/MultiButton.cjs.map +1 -1
  205. package/dist/cjs/components/OverflowTooltip/OverflowTooltip.cjs +19 -24
  206. package/dist/cjs/components/OverflowTooltip/OverflowTooltip.cjs.map +1 -1
  207. package/dist/cjs/components/Pagination/ButtonIconTooltip.cjs +1 -12
  208. package/dist/cjs/components/Pagination/ButtonIconTooltip.cjs.map +1 -1
  209. package/dist/cjs/components/Pagination/Pagination.cjs +28 -123
  210. package/dist/cjs/components/Pagination/Pagination.cjs.map +1 -1
  211. package/dist/cjs/components/Pagination/Select.cjs +7 -26
  212. package/dist/cjs/components/Pagination/Select.cjs.map +1 -1
  213. package/dist/cjs/components/Panel/Panel.cjs +2 -7
  214. package/dist/cjs/components/Panel/Panel.cjs.map +1 -1
  215. package/dist/cjs/components/ProgressBar/ProgressBar.cjs +12 -32
  216. package/dist/cjs/components/ProgressBar/ProgressBar.cjs.map +1 -1
  217. package/dist/cjs/components/QueryBuilder/ConfirmationDialog/ConfirmationDialog.cjs +11 -28
  218. package/dist/cjs/components/QueryBuilder/ConfirmationDialog/ConfirmationDialog.cjs.map +1 -1
  219. package/dist/cjs/components/QueryBuilder/QueryBuilder.cjs +5 -20
  220. package/dist/cjs/components/QueryBuilder/QueryBuilder.cjs.map +1 -1
  221. package/dist/cjs/components/QueryBuilder/Rule/Attribute/Attribute.cjs +31 -43
  222. package/dist/cjs/components/QueryBuilder/Rule/Attribute/Attribute.cjs.map +1 -1
  223. package/dist/cjs/components/QueryBuilder/Rule/Operator/Operator.cjs +20 -32
  224. package/dist/cjs/components/QueryBuilder/Rule/Operator/Operator.cjs.map +1 -1
  225. package/dist/cjs/components/QueryBuilder/Rule/Rule.cjs +17 -57
  226. package/dist/cjs/components/QueryBuilder/Rule/Rule.cjs.map +1 -1
  227. package/dist/cjs/components/QueryBuilder/Rule/Value/BooleanValue/BooleanValue.cjs +18 -29
  228. package/dist/cjs/components/QueryBuilder/Rule/Value/BooleanValue/BooleanValue.cjs.map +1 -1
  229. package/dist/cjs/components/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.cjs +24 -79
  230. package/dist/cjs/components/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.cjs.map +1 -1
  231. package/dist/cjs/components/QueryBuilder/Rule/Value/NumericValue/NumericValue.cjs +35 -89
  232. package/dist/cjs/components/QueryBuilder/Rule/Value/NumericValue/NumericValue.cjs.map +1 -1
  233. package/dist/cjs/components/QueryBuilder/Rule/Value/TextValue/TextValue.cjs +16 -29
  234. package/dist/cjs/components/QueryBuilder/Rule/Value/TextValue/TextValue.cjs.map +1 -1
  235. package/dist/cjs/components/QueryBuilder/Rule/Value/Value.cjs +5 -22
  236. package/dist/cjs/components/QueryBuilder/Rule/Value/Value.cjs.map +1 -1
  237. package/dist/cjs/components/QueryBuilder/RuleGroup/RuleGroup.cjs +75 -153
  238. package/dist/cjs/components/QueryBuilder/RuleGroup/RuleGroup.cjs.map +1 -1
  239. package/dist/cjs/components/Radio/Radio.cjs +22 -52
  240. package/dist/cjs/components/Radio/Radio.cjs.map +1 -1
  241. package/dist/cjs/components/RadioGroup/RadioGroup.cjs +11 -37
  242. package/dist/cjs/components/RadioGroup/RadioGroup.cjs.map +1 -1
  243. package/dist/cjs/components/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.cjs +4 -24
  244. package/dist/cjs/components/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.cjs.map +1 -1
  245. package/dist/cjs/components/ScrollTo/Horizontal/ScrollToHorizontal.cjs +25 -45
  246. package/dist/cjs/components/ScrollTo/Horizontal/ScrollToHorizontal.cjs.map +1 -1
  247. package/dist/cjs/components/ScrollTo/Vertical/ScrollToVertical.cjs +18 -31
  248. package/dist/cjs/components/ScrollTo/Vertical/ScrollToVertical.cjs.map +1 -1
  249. package/dist/cjs/components/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.cjs +3 -29
  250. package/dist/cjs/components/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.cjs.map +1 -1
  251. package/dist/cjs/components/ScrollTo/withTooltip.cjs +2 -6
  252. package/dist/cjs/components/ScrollTo/withTooltip.cjs.map +1 -1
  253. package/dist/cjs/components/SelectionList/SelectionList.cjs +11 -43
  254. package/dist/cjs/components/SelectionList/SelectionList.cjs.map +1 -1
  255. package/dist/cjs/components/SimpleGrid/SimpleGrid.cjs +2 -6
  256. package/dist/cjs/components/SimpleGrid/SimpleGrid.cjs.map +1 -1
  257. package/dist/cjs/components/Slider/Slider.cjs +26 -116
  258. package/dist/cjs/components/Slider/Slider.cjs.map +1 -1
  259. package/dist/cjs/components/Slider/SliderInput/SliderInput.cjs +9 -29
  260. package/dist/cjs/components/Slider/SliderInput/SliderInput.cjs.map +1 -1
  261. package/dist/cjs/components/Snackbar/Snackbar.cjs +6 -40
  262. package/dist/cjs/components/Snackbar/Snackbar.cjs.map +1 -1
  263. package/dist/cjs/components/Snackbar/SnackbarContent/SnackbarContent.cjs +9 -31
  264. package/dist/cjs/components/Snackbar/SnackbarContent/SnackbarContent.cjs.map +1 -1
  265. package/dist/cjs/components/Snackbar/SnackbarContent/SnackbarContent.styles.cjs +1 -1
  266. package/dist/cjs/components/Snackbar/SnackbarProvider/SnackbarProvider.cjs +4 -27
  267. package/dist/cjs/components/Snackbar/SnackbarProvider/SnackbarProvider.cjs.map +1 -1
  268. package/dist/cjs/components/Stack/Stack.cjs +8 -27
  269. package/dist/cjs/components/Stack/Stack.cjs.map +1 -1
  270. package/dist/cjs/components/Switch/Switch.cjs +15 -47
  271. package/dist/cjs/components/Switch/Switch.cjs.map +1 -1
  272. package/dist/cjs/components/Tab/Tab.cjs +17 -14
  273. package/dist/cjs/components/Tab/Tab.cjs.map +1 -1
  274. package/dist/cjs/components/Table/Table.cjs +6 -14
  275. package/dist/cjs/components/Table/Table.cjs.map +1 -1
  276. package/dist/cjs/components/Table/TableBody/TableBody.cjs +6 -24
  277. package/dist/cjs/components/Table/TableBody/TableBody.cjs.map +1 -1
  278. package/dist/cjs/components/Table/TableCell/TableCell.cjs +23 -30
  279. package/dist/cjs/components/Table/TableCell/TableCell.cjs.map +1 -1
  280. package/dist/cjs/components/Table/TableContainer/TableContainer.cjs +2 -6
  281. package/dist/cjs/components/Table/TableContainer/TableContainer.cjs.map +1 -1
  282. package/dist/cjs/components/Table/TableHead/TableHead.cjs +4 -12
  283. package/dist/cjs/components/Table/TableHead/TableHead.cjs.map +1 -1
  284. package/dist/cjs/components/Table/TableHeader/TableHeader.cjs +29 -55
  285. package/dist/cjs/components/Table/TableHeader/TableHeader.cjs.map +1 -1
  286. package/dist/cjs/components/Table/TableRow/TableRow.cjs +21 -26
  287. package/dist/cjs/components/Table/TableRow/TableRow.cjs.map +1 -1
  288. package/dist/cjs/components/Table/hooks/useRowExpand.cjs +5 -14
  289. package/dist/cjs/components/Table/hooks/useRowExpand.cjs.map +1 -1
  290. package/dist/cjs/components/Table/hooks/useRowSelection.cjs +2 -8
  291. package/dist/cjs/components/Table/hooks/useRowSelection.cjs.map +1 -1
  292. package/dist/cjs/components/Table/renderers/DateColumnCell/DateColumnCell.cjs +2 -4
  293. package/dist/cjs/components/Table/renderers/DateColumnCell/DateColumnCell.cjs.map +1 -1
  294. package/dist/cjs/components/Table/renderers/DropdownColumnCell/DropdownColumnCell.cjs +3 -10
  295. package/dist/cjs/components/Table/renderers/DropdownColumnCell/DropdownColumnCell.cjs.map +1 -1
  296. package/dist/cjs/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.cjs +7 -20
  297. package/dist/cjs/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.cjs.map +1 -1
  298. package/dist/cjs/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.cjs +9 -22
  299. package/dist/cjs/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.cjs.map +1 -1
  300. package/dist/cjs/components/Table/renderers/renderers.cjs +28 -78
  301. package/dist/cjs/components/Table/renderers/renderers.cjs.map +1 -1
  302. package/dist/cjs/components/Tabs/Tabs.cjs +9 -13
  303. package/dist/cjs/components/Tabs/Tabs.cjs.map +1 -1
  304. package/dist/cjs/components/Tag/Tag.cjs +28 -52
  305. package/dist/cjs/components/Tag/Tag.cjs.map +1 -1
  306. package/dist/cjs/components/TagsInput/TagsInput.cjs +66 -139
  307. package/dist/cjs/components/TagsInput/TagsInput.cjs.map +1 -1
  308. package/dist/cjs/components/TextArea/TextArea.cjs +26 -71
  309. package/dist/cjs/components/TextArea/TextArea.cjs.map +1 -1
  310. package/dist/cjs/components/TimeAgo/TimeAgo.cjs +3 -10
  311. package/dist/cjs/components/TimeAgo/TimeAgo.cjs.map +1 -1
  312. package/dist/cjs/components/TimePicker/Placeholder.cjs +15 -31
  313. package/dist/cjs/components/TimePicker/Placeholder.cjs.map +1 -1
  314. package/dist/cjs/components/TimePicker/TimePicker.cjs +31 -91
  315. package/dist/cjs/components/TimePicker/TimePicker.cjs.map +1 -1
  316. package/dist/cjs/components/TimePicker/Unit/Unit.cjs +22 -42
  317. package/dist/cjs/components/TimePicker/Unit/Unit.cjs.map +1 -1
  318. package/dist/cjs/components/ToggleButton/ToggleButton.cjs +2 -9
  319. package/dist/cjs/components/ToggleButton/ToggleButton.cjs.map +1 -1
  320. package/dist/cjs/components/Tooltip/Tooltip.cjs +8 -21
  321. package/dist/cjs/components/Tooltip/Tooltip.cjs.map +1 -1
  322. package/dist/cjs/components/Typography/Typography.cjs +6 -10
  323. package/dist/cjs/components/Typography/Typography.cjs.map +1 -1
  324. package/dist/cjs/components/VerticalNavigation/Actions/Action.cjs +10 -18
  325. package/dist/cjs/components/VerticalNavigation/Actions/Action.cjs.map +1 -1
  326. package/dist/cjs/components/VerticalNavigation/Actions/Actions.cjs +4 -9
  327. package/dist/cjs/components/VerticalNavigation/Actions/Actions.cjs.map +1 -1
  328. package/dist/cjs/components/VerticalNavigation/Header/Header.cjs +10 -28
  329. package/dist/cjs/components/VerticalNavigation/Header/Header.cjs.map +1 -1
  330. package/dist/cjs/components/VerticalNavigation/Navigation/Navigation.cjs +8 -56
  331. package/dist/cjs/components/VerticalNavigation/Navigation/Navigation.cjs.map +1 -1
  332. package/dist/cjs/components/VerticalNavigation/NavigationPopup/NavigationPopupContainer.cjs +2 -18
  333. package/dist/cjs/components/VerticalNavigation/NavigationPopup/NavigationPopupContainer.cjs.map +1 -1
  334. package/dist/cjs/components/VerticalNavigation/NavigationSlider/NavigationSlider.cjs +10 -32
  335. package/dist/cjs/components/VerticalNavigation/NavigationSlider/NavigationSlider.cjs.map +1 -1
  336. package/dist/cjs/components/VerticalNavigation/TreeView/IconWrapper/IconWrapper.cjs +7 -19
  337. package/dist/cjs/components/VerticalNavigation/TreeView/IconWrapper/IconWrapper.cjs.map +1 -1
  338. package/dist/cjs/components/VerticalNavigation/TreeView/TooltipWrapper/TooltipWrapper.cjs +1 -7
  339. package/dist/cjs/components/VerticalNavigation/TreeView/TooltipWrapper/TooltipWrapper.cjs.map +1 -1
  340. package/dist/cjs/components/VerticalNavigation/TreeView/TreeView.cjs +11 -26
  341. package/dist/cjs/components/VerticalNavigation/TreeView/TreeView.cjs.map +1 -1
  342. package/dist/cjs/components/VerticalNavigation/TreeView/TreeViewItem.cjs +46 -80
  343. package/dist/cjs/components/VerticalNavigation/TreeView/TreeViewItem.cjs.map +1 -1
  344. package/dist/cjs/components/VerticalNavigation/TreeView/descendants.cjs +2 -5
  345. package/dist/cjs/components/VerticalNavigation/TreeView/descendants.cjs.map +1 -1
  346. package/dist/cjs/components/VerticalNavigation/VerticalNavigation.cjs +6 -14
  347. package/dist/cjs/components/VerticalNavigation/VerticalNavigation.cjs.map +1 -1
  348. package/dist/cjs/hocs/withTooltip.cjs +5 -24
  349. package/dist/cjs/hocs/withTooltip.cjs.map +1 -1
  350. package/dist/cjs/hooks/useEmotionCache.cjs +1 -1
  351. package/dist/cjs/hooks/useTheme.cjs +1 -1
  352. package/dist/cjs/providers/Provider.cjs +18 -33
  353. package/dist/cjs/providers/Provider.cjs.map +1 -1
  354. package/dist/cjs/providers/ThemeProvider.cjs +2 -11
  355. package/dist/cjs/providers/ThemeProvider.cjs.map +1 -1
  356. package/dist/cjs/utils/iconVariant.cjs +5 -16
  357. package/dist/cjs/utils/iconVariant.cjs.map +1 -1
  358. package/dist/esm/components/Accordion/Accordion.js +14 -42
  359. package/dist/esm/components/Accordion/Accordion.js.map +1 -1
  360. package/dist/esm/components/ActionBar/ActionBar.js +2 -6
  361. package/dist/esm/components/ActionBar/ActionBar.js.map +1 -1
  362. package/dist/esm/components/ActionsGeneric/ActionsGeneric.js +17 -42
  363. package/dist/esm/components/ActionsGeneric/ActionsGeneric.js.map +1 -1
  364. package/dist/esm/components/AppSwitcher/Action/Action.js +15 -62
  365. package/dist/esm/components/AppSwitcher/Action/Action.js.map +1 -1
  366. package/dist/esm/components/AppSwitcher/AppSwitcher.js +18 -40
  367. package/dist/esm/components/AppSwitcher/AppSwitcher.js.map +1 -1
  368. package/dist/esm/components/AppSwitcher/TitleWithTooltip.js +2 -15
  369. package/dist/esm/components/AppSwitcher/TitleWithTooltip.js.map +1 -1
  370. package/dist/esm/components/Avatar/Avatar.js +13 -30
  371. package/dist/esm/components/Avatar/Avatar.js.map +1 -1
  372. package/dist/esm/components/Badge/Badge.js +12 -22
  373. package/dist/esm/components/Badge/Badge.js.map +1 -1
  374. package/dist/esm/components/Banner/Banner.js +11 -36
  375. package/dist/esm/components/Banner/Banner.js.map +1 -1
  376. package/dist/esm/components/Banner/BannerContent/ActionContainer/ActionContainer.js +5 -26
  377. package/dist/esm/components/Banner/BannerContent/ActionContainer/ActionContainer.js.map +1 -1
  378. package/dist/esm/components/Banner/BannerContent/BannerContent.js +12 -33
  379. package/dist/esm/components/Banner/BannerContent/BannerContent.js.map +1 -1
  380. package/dist/esm/components/Banner/BannerContent/MessageContainer/MessageContainer.js +6 -20
  381. package/dist/esm/components/Banner/BannerContent/MessageContainer/MessageContainer.js.map +1 -1
  382. package/dist/esm/components/BaseCheckBox/BaseCheckBox.js +8 -38
  383. package/dist/esm/components/BaseCheckBox/BaseCheckBox.js.map +1 -1
  384. package/dist/esm/components/BaseDropdown/BaseDropdown.js +68 -95
  385. package/dist/esm/components/BaseDropdown/BaseDropdown.js.map +1 -1
  386. package/dist/esm/components/BaseInput/BaseInput.js +31 -52
  387. package/dist/esm/components/BaseInput/BaseInput.js.map +1 -1
  388. package/dist/esm/components/BaseRadio/BaseRadio.js +7 -32
  389. package/dist/esm/components/BaseRadio/BaseRadio.js.map +1 -1
  390. package/dist/esm/components/BaseSwitch/BaseSwitch.js +13 -31
  391. package/dist/esm/components/BaseSwitch/BaseSwitch.js.map +1 -1
  392. package/dist/esm/components/Box/Box.js +2 -7
  393. package/dist/esm/components/Box/Box.js.map +1 -1
  394. package/dist/esm/components/BreadCrumb/BreadCrumb.js +12 -33
  395. package/dist/esm/components/BreadCrumb/BreadCrumb.js.map +1 -1
  396. package/dist/esm/components/BreadCrumb/Page/Page.js +2 -13
  397. package/dist/esm/components/BreadCrumb/Page/Page.js.map +1 -1
  398. package/dist/esm/components/BreadCrumb/PathElement/PathElement.js +5 -8
  399. package/dist/esm/components/BreadCrumb/PathElement/PathElement.js.map +1 -1
  400. package/dist/esm/components/BreadCrumb/utils.js +2 -11
  401. package/dist/esm/components/BreadCrumb/utils.js.map +1 -1
  402. package/dist/esm/components/BulkActions/BulkActions.js +34 -69
  403. package/dist/esm/components/BulkActions/BulkActions.js.map +1 -1
  404. package/dist/esm/components/Button/Button.js +15 -24
  405. package/dist/esm/components/Button/Button.js.map +1 -1
  406. package/dist/esm/components/Calendar/Calendar.js +12 -54
  407. package/dist/esm/components/Calendar/Calendar.js.map +1 -1
  408. package/dist/esm/components/Calendar/CalendarHeader/CalendarHeader.js +16 -44
  409. package/dist/esm/components/Calendar/CalendarHeader/CalendarHeader.js.map +1 -1
  410. package/dist/esm/components/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.js +15 -31
  411. package/dist/esm/components/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.js.map +1 -1
  412. package/dist/esm/components/Calendar/CalendarNavigation/MonthSelector/MonthSelector.js +10 -24
  413. package/dist/esm/components/Calendar/CalendarNavigation/MonthSelector/MonthSelector.js.map +1 -1
  414. package/dist/esm/components/Calendar/CalendarNavigation/Navigation/Navigation.js +24 -35
  415. package/dist/esm/components/Calendar/CalendarNavigation/Navigation/Navigation.js.map +1 -1
  416. package/dist/esm/components/Calendar/CalendarWeekLabels/CalendarWeekLabels.js +8 -10
  417. package/dist/esm/components/Calendar/CalendarWeekLabels/CalendarWeekLabels.js.map +1 -1
  418. package/dist/esm/components/Calendar/SingleCalendar/CalendarCell.js +15 -33
  419. package/dist/esm/components/Calendar/SingleCalendar/CalendarCell.js.map +1 -1
  420. package/dist/esm/components/Calendar/SingleCalendar/SingleCalendar.js +13 -54
  421. package/dist/esm/components/Calendar/SingleCalendar/SingleCalendar.js.map +1 -1
  422. package/dist/esm/components/Card/Card.js +16 -22
  423. package/dist/esm/components/Card/Card.js.map +1 -1
  424. package/dist/esm/components/Card/Content/Content.js +2 -8
  425. package/dist/esm/components/Card/Content/Content.js.map +1 -1
  426. package/dist/esm/components/Card/Header/Header.js +15 -23
  427. package/dist/esm/components/Card/Header/Header.js.map +1 -1
  428. package/dist/esm/components/Card/Media/Media.js +5 -14
  429. package/dist/esm/components/Card/Media/Media.js.map +1 -1
  430. package/dist/esm/components/Carousel/Carousel.js +37 -94
  431. package/dist/esm/components/Carousel/Carousel.js.map +1 -1
  432. package/dist/esm/components/Carousel/CarouselControls.js +11 -33
  433. package/dist/esm/components/Carousel/CarouselControls.js.map +1 -1
  434. package/dist/esm/components/Carousel/CarouselSlide/CarouselSlide.js +4 -12
  435. package/dist/esm/components/Carousel/CarouselSlide/CarouselSlide.js.map +1 -1
  436. package/dist/esm/components/Carousel/CarouselThumbnails.js +6 -23
  437. package/dist/esm/components/Carousel/CarouselThumbnails.js.map +1 -1
  438. package/dist/esm/components/CheckBox/CheckBox.js +23 -57
  439. package/dist/esm/components/CheckBox/CheckBox.js.map +1 -1
  440. package/dist/esm/components/CheckBoxGroup/CheckBoxGroup.js +21 -55
  441. package/dist/esm/components/CheckBoxGroup/CheckBoxGroup.js.map +1 -1
  442. package/dist/esm/components/ColorPicker/ColorPicker.js +28 -87
  443. package/dist/esm/components/ColorPicker/ColorPicker.js.map +1 -1
  444. package/dist/esm/components/ColorPicker/Fields/Fields.js +7 -37
  445. package/dist/esm/components/ColorPicker/Fields/Fields.js.map +1 -1
  446. package/dist/esm/components/ColorPicker/Picker/Picker.js +11 -38
  447. package/dist/esm/components/ColorPicker/Picker/Picker.js.map +1 -1
  448. package/dist/esm/components/ColorPicker/PresetColors/PresetColors.js +7 -21
  449. package/dist/esm/components/ColorPicker/PresetColors/PresetColors.js.map +1 -1
  450. package/dist/esm/components/ColorPicker/SavedColors/SavedColors.js +10 -39
  451. package/dist/esm/components/ColorPicker/SavedColors/SavedColors.js.map +1 -1
  452. package/dist/esm/components/Container/Container.js +13 -21
  453. package/dist/esm/components/Container/Container.js.map +1 -1
  454. package/dist/esm/components/Controls/Controls.js +15 -32
  455. package/dist/esm/components/Controls/Controls.js.map +1 -1
  456. package/dist/esm/components/Controls/LeftControl/LeftControl.js +5 -13
  457. package/dist/esm/components/Controls/LeftControl/LeftControl.js.map +1 -1
  458. package/dist/esm/components/Controls/RightControl/RightControl.js +5 -14
  459. package/dist/esm/components/Controls/RightControl/RightControl.js.map +1 -1
  460. package/dist/esm/components/DatePicker/DatePicker.js +40 -119
  461. package/dist/esm/components/DatePicker/DatePicker.js.map +1 -1
  462. package/dist/esm/components/Dialog/Actions/Actions.js +7 -12
  463. package/dist/esm/components/Dialog/Actions/Actions.js.map +1 -1
  464. package/dist/esm/components/Dialog/Content/Content.js +4 -8
  465. package/dist/esm/components/Dialog/Content/Content.js.map +1 -1
  466. package/dist/esm/components/Dialog/Dialog.js +29 -54
  467. package/dist/esm/components/Dialog/Dialog.js.map +1 -1
  468. package/dist/esm/components/Dialog/Title/Title.js +14 -21
  469. package/dist/esm/components/Dialog/Title/Title.js.map +1 -1
  470. package/dist/esm/components/DotPagination/DotPagination.js +9 -29
  471. package/dist/esm/components/DotPagination/DotPagination.js.map +1 -1
  472. package/dist/esm/components/Drawer/Drawer.js +16 -32
  473. package/dist/esm/components/Drawer/Drawer.js.map +1 -1
  474. package/dist/esm/components/DropDownMenu/DropDownMenu.js +16 -55
  475. package/dist/esm/components/DropDownMenu/DropDownMenu.js.map +1 -1
  476. package/dist/esm/components/Dropdown/Dropdown.js +36 -108
  477. package/dist/esm/components/Dropdown/Dropdown.js.map +1 -1
  478. package/dist/esm/components/Dropdown/List/List.js +40 -91
  479. package/dist/esm/components/Dropdown/List/List.js.map +1 -1
  480. package/dist/esm/components/EmptyState/EmptyState.js +20 -30
  481. package/dist/esm/components/EmptyState/EmptyState.js.map +1 -1
  482. package/dist/esm/components/FileUploader/DropZone/DropZone.js +53 -93
  483. package/dist/esm/components/FileUploader/DropZone/DropZone.js.map +1 -1
  484. package/dist/esm/components/FileUploader/File/File.js +21 -53
  485. package/dist/esm/components/FileUploader/File/File.js.map +1 -1
  486. package/dist/esm/components/FileUploader/FileList/FileList.js +4 -14
  487. package/dist/esm/components/FileUploader/FileList/FileList.js.map +1 -1
  488. package/dist/esm/components/FileUploader/FileUploader.js +5 -22
  489. package/dist/esm/components/FileUploader/FileUploader.js.map +1 -1
  490. package/dist/esm/components/FileUploader/Preview/Preview.js +11 -20
  491. package/dist/esm/components/FileUploader/Preview/Preview.js.map +1 -1
  492. package/dist/esm/components/FilterGroup/Counter/Counter.js +5 -8
  493. package/dist/esm/components/FilterGroup/Counter/Counter.js.map +1 -1
  494. package/dist/esm/components/FilterGroup/FilterContent/FilterContent.js +30 -84
  495. package/dist/esm/components/FilterGroup/FilterContent/FilterContent.js.map +1 -1
  496. package/dist/esm/components/FilterGroup/FilterGroup.js +11 -50
  497. package/dist/esm/components/FilterGroup/FilterGroup.js.map +1 -1
  498. package/dist/esm/components/FilterGroup/FilterGroupContext.js +2 -5
  499. package/dist/esm/components/FilterGroup/FilterGroupContext.js.map +1 -1
  500. package/dist/esm/components/FilterGroup/LeftPanel/LeftPanel.js +5 -23
  501. package/dist/esm/components/FilterGroup/LeftPanel/LeftPanel.js.map +1 -1
  502. package/dist/esm/components/FilterGroup/RightPanel/RightPanel.js +16 -51
  503. package/dist/esm/components/FilterGroup/RightPanel/RightPanel.js.map +1 -1
  504. package/dist/esm/components/Focus/Focus.js +19 -25
  505. package/dist/esm/components/Focus/Focus.js.map +1 -1
  506. package/dist/esm/components/Footer/Footer.js +11 -20
  507. package/dist/esm/components/Footer/Footer.js.map +1 -1
  508. package/dist/esm/components/Forms/Adornment/Adornment.js +6 -31
  509. package/dist/esm/components/Forms/Adornment/Adornment.js.map +1 -1
  510. package/dist/esm/components/Forms/CharCounter/CharCounter.js +14 -30
  511. package/dist/esm/components/Forms/CharCounter/CharCounter.js.map +1 -1
  512. package/dist/esm/components/Forms/FormElement/FormElement.js +2 -16
  513. package/dist/esm/components/Forms/FormElement/FormElement.js.map +1 -1
  514. package/dist/esm/components/Forms/InfoMessage/InfoMessage.js +5 -12
  515. package/dist/esm/components/Forms/InfoMessage/InfoMessage.js.map +1 -1
  516. package/dist/esm/components/Forms/Label/Label.js +11 -18
  517. package/dist/esm/components/Forms/Label/Label.js.map +1 -1
  518. package/dist/esm/components/Forms/Suggestions/Suggestions.js +5 -26
  519. package/dist/esm/components/Forms/Suggestions/Suggestions.js.map +1 -1
  520. package/dist/esm/components/Forms/WarningText/WarningText.js +12 -23
  521. package/dist/esm/components/Forms/WarningText/WarningText.js.map +1 -1
  522. package/dist/esm/components/GlobalActions/GlobalActions.js +13 -27
  523. package/dist/esm/components/GlobalActions/GlobalActions.js.map +1 -1
  524. package/dist/esm/components/Grid/Grid.js +2 -7
  525. package/dist/esm/components/Grid/Grid.js.map +1 -1
  526. package/dist/esm/components/Header/Actions/Actions.js +2 -6
  527. package/dist/esm/components/Header/Actions/Actions.js.map +1 -1
  528. package/dist/esm/components/Header/Brand/Brand.js +8 -14
  529. package/dist/esm/components/Header/Brand/Brand.js.map +1 -1
  530. package/dist/esm/components/Header/Header.js +9 -16
  531. package/dist/esm/components/Header/Header.js.map +1 -1
  532. package/dist/esm/components/Header/Navigation/MenuBar/Bar.js +6 -14
  533. package/dist/esm/components/Header/Navigation/MenuBar/Bar.js.map +1 -1
  534. package/dist/esm/components/Header/Navigation/MenuBar/MenuBar.js +2 -13
  535. package/dist/esm/components/Header/Navigation/MenuBar/MenuBar.js.map +1 -1
  536. package/dist/esm/components/Header/Navigation/MenuItem/MenuItem.js +12 -42
  537. package/dist/esm/components/Header/Navigation/MenuItem/MenuItem.js.map +1 -1
  538. package/dist/esm/components/Header/Navigation/Navigation.js +2 -17
  539. package/dist/esm/components/Header/Navigation/Navigation.js.map +1 -1
  540. package/dist/esm/components/Header/Navigation/utils/FocusContext.js +2 -5
  541. package/dist/esm/components/Header/Navigation/utils/FocusContext.js.map +1 -1
  542. package/dist/esm/components/InlineEditor/InlineEditor.js +17 -47
  543. package/dist/esm/components/InlineEditor/InlineEditor.js.map +1 -1
  544. package/dist/esm/components/Input/Input.js +45 -116
  545. package/dist/esm/components/Input/Input.js.map +1 -1
  546. package/dist/esm/components/Kpi/Kpi.js +16 -47
  547. package/dist/esm/components/Kpi/Kpi.js.map +1 -1
  548. package/dist/esm/components/Link/Link.js +2 -8
  549. package/dist/esm/components/Link/Link.js.map +1 -1
  550. package/dist/esm/components/List/List.js +46 -108
  551. package/dist/esm/components/List/List.js.map +1 -1
  552. package/dist/esm/components/ListContainer/ListContainer.js +2 -11
  553. package/dist/esm/components/ListContainer/ListContainer.js.map +1 -1
  554. package/dist/esm/components/ListContainer/ListItem/ListItem.js +33 -34
  555. package/dist/esm/components/ListContainer/ListItem/ListItem.js.map +1 -1
  556. package/dist/esm/components/Loading/Loading.js +7 -19
  557. package/dist/esm/components/Loading/Loading.js.map +1 -1
  558. package/dist/esm/components/Login/Login.js +4 -13
  559. package/dist/esm/components/Login/Login.js.map +1 -1
  560. package/dist/esm/components/MultiButton/MultiButton.js +16 -20
  561. package/dist/esm/components/MultiButton/MultiButton.js.map +1 -1
  562. package/dist/esm/components/OverflowTooltip/OverflowTooltip.js +19 -24
  563. package/dist/esm/components/OverflowTooltip/OverflowTooltip.js.map +1 -1
  564. package/dist/esm/components/Pagination/ButtonIconTooltip.js +1 -12
  565. package/dist/esm/components/Pagination/ButtonIconTooltip.js.map +1 -1
  566. package/dist/esm/components/Pagination/Pagination.js +28 -123
  567. package/dist/esm/components/Pagination/Pagination.js.map +1 -1
  568. package/dist/esm/components/Pagination/Select.js +7 -26
  569. package/dist/esm/components/Pagination/Select.js.map +1 -1
  570. package/dist/esm/components/Panel/Panel.js +2 -7
  571. package/dist/esm/components/Panel/Panel.js.map +1 -1
  572. package/dist/esm/components/ProgressBar/ProgressBar.js +12 -32
  573. package/dist/esm/components/ProgressBar/ProgressBar.js.map +1 -1
  574. package/dist/esm/components/QueryBuilder/ConfirmationDialog/ConfirmationDialog.js +11 -28
  575. package/dist/esm/components/QueryBuilder/ConfirmationDialog/ConfirmationDialog.js.map +1 -1
  576. package/dist/esm/components/QueryBuilder/QueryBuilder.js +5 -20
  577. package/dist/esm/components/QueryBuilder/QueryBuilder.js.map +1 -1
  578. package/dist/esm/components/QueryBuilder/Rule/Attribute/Attribute.js +31 -43
  579. package/dist/esm/components/QueryBuilder/Rule/Attribute/Attribute.js.map +1 -1
  580. package/dist/esm/components/QueryBuilder/Rule/Operator/Operator.js +20 -32
  581. package/dist/esm/components/QueryBuilder/Rule/Operator/Operator.js.map +1 -1
  582. package/dist/esm/components/QueryBuilder/Rule/Rule.js +17 -57
  583. package/dist/esm/components/QueryBuilder/Rule/Rule.js.map +1 -1
  584. package/dist/esm/components/QueryBuilder/Rule/Value/BooleanValue/BooleanValue.js +18 -29
  585. package/dist/esm/components/QueryBuilder/Rule/Value/BooleanValue/BooleanValue.js.map +1 -1
  586. package/dist/esm/components/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.js +24 -79
  587. package/dist/esm/components/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.js.map +1 -1
  588. package/dist/esm/components/QueryBuilder/Rule/Value/NumericValue/NumericValue.js +35 -89
  589. package/dist/esm/components/QueryBuilder/Rule/Value/NumericValue/NumericValue.js.map +1 -1
  590. package/dist/esm/components/QueryBuilder/Rule/Value/TextValue/TextValue.js +16 -29
  591. package/dist/esm/components/QueryBuilder/Rule/Value/TextValue/TextValue.js.map +1 -1
  592. package/dist/esm/components/QueryBuilder/Rule/Value/Value.js +5 -22
  593. package/dist/esm/components/QueryBuilder/Rule/Value/Value.js.map +1 -1
  594. package/dist/esm/components/QueryBuilder/RuleGroup/RuleGroup.js +75 -153
  595. package/dist/esm/components/QueryBuilder/RuleGroup/RuleGroup.js.map +1 -1
  596. package/dist/esm/components/Radio/Radio.js +22 -52
  597. package/dist/esm/components/Radio/Radio.js.map +1 -1
  598. package/dist/esm/components/RadioGroup/RadioGroup.js +11 -37
  599. package/dist/esm/components/RadioGroup/RadioGroup.js.map +1 -1
  600. package/dist/esm/components/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.js +4 -24
  601. package/dist/esm/components/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.js.map +1 -1
  602. package/dist/esm/components/ScrollTo/Horizontal/ScrollToHorizontal.js +25 -45
  603. package/dist/esm/components/ScrollTo/Horizontal/ScrollToHorizontal.js.map +1 -1
  604. package/dist/esm/components/ScrollTo/Vertical/ScrollToVertical.js +18 -31
  605. package/dist/esm/components/ScrollTo/Vertical/ScrollToVertical.js.map +1 -1
  606. package/dist/esm/components/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.js +3 -29
  607. package/dist/esm/components/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.js.map +1 -1
  608. package/dist/esm/components/ScrollTo/withTooltip.js +2 -6
  609. package/dist/esm/components/ScrollTo/withTooltip.js.map +1 -1
  610. package/dist/esm/components/SelectionList/SelectionList.js +11 -43
  611. package/dist/esm/components/SelectionList/SelectionList.js.map +1 -1
  612. package/dist/esm/components/SimpleGrid/SimpleGrid.js +2 -6
  613. package/dist/esm/components/SimpleGrid/SimpleGrid.js.map +1 -1
  614. package/dist/esm/components/Slider/Slider.js +26 -116
  615. package/dist/esm/components/Slider/Slider.js.map +1 -1
  616. package/dist/esm/components/Slider/SliderInput/SliderInput.js +9 -29
  617. package/dist/esm/components/Slider/SliderInput/SliderInput.js.map +1 -1
  618. package/dist/esm/components/Snackbar/Snackbar.js +6 -40
  619. package/dist/esm/components/Snackbar/Snackbar.js.map +1 -1
  620. package/dist/esm/components/Snackbar/SnackbarContent/SnackbarContent.js +9 -31
  621. package/dist/esm/components/Snackbar/SnackbarContent/SnackbarContent.js.map +1 -1
  622. package/dist/esm/components/Snackbar/SnackbarContent/SnackbarContent.styles.js +1 -1
  623. package/dist/esm/components/Snackbar/SnackbarProvider/SnackbarProvider.js +4 -27
  624. package/dist/esm/components/Snackbar/SnackbarProvider/SnackbarProvider.js.map +1 -1
  625. package/dist/esm/components/Stack/Stack.js +8 -27
  626. package/dist/esm/components/Stack/Stack.js.map +1 -1
  627. package/dist/esm/components/Switch/Switch.js +15 -47
  628. package/dist/esm/components/Switch/Switch.js.map +1 -1
  629. package/dist/esm/components/Tab/Tab.js +17 -14
  630. package/dist/esm/components/Tab/Tab.js.map +1 -1
  631. package/dist/esm/components/Table/Table.js +6 -14
  632. package/dist/esm/components/Table/Table.js.map +1 -1
  633. package/dist/esm/components/Table/TableBody/TableBody.js +6 -24
  634. package/dist/esm/components/Table/TableBody/TableBody.js.map +1 -1
  635. package/dist/esm/components/Table/TableCell/TableCell.js +23 -30
  636. package/dist/esm/components/Table/TableCell/TableCell.js.map +1 -1
  637. package/dist/esm/components/Table/TableContainer/TableContainer.js +2 -6
  638. package/dist/esm/components/Table/TableContainer/TableContainer.js.map +1 -1
  639. package/dist/esm/components/Table/TableHead/TableHead.js +4 -12
  640. package/dist/esm/components/Table/TableHead/TableHead.js.map +1 -1
  641. package/dist/esm/components/Table/TableHeader/TableHeader.js +29 -55
  642. package/dist/esm/components/Table/TableHeader/TableHeader.js.map +1 -1
  643. package/dist/esm/components/Table/TableRow/TableRow.js +21 -26
  644. package/dist/esm/components/Table/TableRow/TableRow.js.map +1 -1
  645. package/dist/esm/components/Table/hooks/useRowExpand.js +5 -14
  646. package/dist/esm/components/Table/hooks/useRowExpand.js.map +1 -1
  647. package/dist/esm/components/Table/hooks/useRowSelection.js +2 -8
  648. package/dist/esm/components/Table/hooks/useRowSelection.js.map +1 -1
  649. package/dist/esm/components/Table/renderers/DateColumnCell/DateColumnCell.js +2 -4
  650. package/dist/esm/components/Table/renderers/DateColumnCell/DateColumnCell.js.map +1 -1
  651. package/dist/esm/components/Table/renderers/DropdownColumnCell/DropdownColumnCell.js +3 -10
  652. package/dist/esm/components/Table/renderers/DropdownColumnCell/DropdownColumnCell.js.map +1 -1
  653. package/dist/esm/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.js +7 -20
  654. package/dist/esm/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.js.map +1 -1
  655. package/dist/esm/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.js +9 -22
  656. package/dist/esm/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.js.map +1 -1
  657. package/dist/esm/components/Table/renderers/renderers.js +28 -78
  658. package/dist/esm/components/Table/renderers/renderers.js.map +1 -1
  659. package/dist/esm/components/Tabs/Tabs.js +9 -13
  660. package/dist/esm/components/Tabs/Tabs.js.map +1 -1
  661. package/dist/esm/components/Tag/Tag.js +28 -52
  662. package/dist/esm/components/Tag/Tag.js.map +1 -1
  663. package/dist/esm/components/TagsInput/TagsInput.js +66 -139
  664. package/dist/esm/components/TagsInput/TagsInput.js.map +1 -1
  665. package/dist/esm/components/TextArea/TextArea.js +26 -71
  666. package/dist/esm/components/TextArea/TextArea.js.map +1 -1
  667. package/dist/esm/components/TimeAgo/TimeAgo.js +3 -10
  668. package/dist/esm/components/TimeAgo/TimeAgo.js.map +1 -1
  669. package/dist/esm/components/TimePicker/Placeholder.js +15 -31
  670. package/dist/esm/components/TimePicker/Placeholder.js.map +1 -1
  671. package/dist/esm/components/TimePicker/TimePicker.js +31 -91
  672. package/dist/esm/components/TimePicker/TimePicker.js.map +1 -1
  673. package/dist/esm/components/TimePicker/Unit/Unit.js +22 -42
  674. package/dist/esm/components/TimePicker/Unit/Unit.js.map +1 -1
  675. package/dist/esm/components/ToggleButton/ToggleButton.js +2 -9
  676. package/dist/esm/components/ToggleButton/ToggleButton.js.map +1 -1
  677. package/dist/esm/components/Tooltip/Tooltip.js +8 -21
  678. package/dist/esm/components/Tooltip/Tooltip.js.map +1 -1
  679. package/dist/esm/components/Typography/Typography.js +6 -10
  680. package/dist/esm/components/Typography/Typography.js.map +1 -1
  681. package/dist/esm/components/VerticalNavigation/Actions/Action.js +10 -18
  682. package/dist/esm/components/VerticalNavigation/Actions/Action.js.map +1 -1
  683. package/dist/esm/components/VerticalNavigation/Actions/Actions.js +4 -9
  684. package/dist/esm/components/VerticalNavigation/Actions/Actions.js.map +1 -1
  685. package/dist/esm/components/VerticalNavigation/Header/Header.js +10 -28
  686. package/dist/esm/components/VerticalNavigation/Header/Header.js.map +1 -1
  687. package/dist/esm/components/VerticalNavigation/Navigation/Navigation.js +8 -56
  688. package/dist/esm/components/VerticalNavigation/Navigation/Navigation.js.map +1 -1
  689. package/dist/esm/components/VerticalNavigation/NavigationPopup/NavigationPopupContainer.js +2 -18
  690. package/dist/esm/components/VerticalNavigation/NavigationPopup/NavigationPopupContainer.js.map +1 -1
  691. package/dist/esm/components/VerticalNavigation/NavigationSlider/NavigationSlider.js +10 -32
  692. package/dist/esm/components/VerticalNavigation/NavigationSlider/NavigationSlider.js.map +1 -1
  693. package/dist/esm/components/VerticalNavigation/TreeView/IconWrapper/IconWrapper.js +7 -19
  694. package/dist/esm/components/VerticalNavigation/TreeView/IconWrapper/IconWrapper.js.map +1 -1
  695. package/dist/esm/components/VerticalNavigation/TreeView/TooltipWrapper/TooltipWrapper.js +1 -7
  696. package/dist/esm/components/VerticalNavigation/TreeView/TooltipWrapper/TooltipWrapper.js.map +1 -1
  697. package/dist/esm/components/VerticalNavigation/TreeView/TreeView.js +11 -26
  698. package/dist/esm/components/VerticalNavigation/TreeView/TreeView.js.map +1 -1
  699. package/dist/esm/components/VerticalNavigation/TreeView/TreeViewItem.js +46 -80
  700. package/dist/esm/components/VerticalNavigation/TreeView/TreeViewItem.js.map +1 -1
  701. package/dist/esm/components/VerticalNavigation/TreeView/descendants.js +2 -5
  702. package/dist/esm/components/VerticalNavigation/TreeView/descendants.js.map +1 -1
  703. package/dist/esm/components/VerticalNavigation/VerticalNavigation.js +6 -14
  704. package/dist/esm/components/VerticalNavigation/VerticalNavigation.js.map +1 -1
  705. package/dist/esm/hocs/withTooltip.js +5 -24
  706. package/dist/esm/hocs/withTooltip.js.map +1 -1
  707. package/dist/esm/hooks/useEmotionCache.js +1 -1
  708. package/dist/esm/hooks/useTheme.js +1 -1
  709. package/dist/esm/providers/Provider.js +18 -33
  710. package/dist/esm/providers/Provider.js.map +1 -1
  711. package/dist/esm/providers/ThemeProvider.js +2 -11
  712. package/dist/esm/providers/ThemeProvider.js.map +1 -1
  713. package/dist/esm/utils/iconVariant.js +5 -16
  714. package/dist/esm/utils/iconVariant.js.map +1 -1
  715. package/dist/types/index.d.ts +1 -1
  716. package/package.json +3 -3
@@ -1,3 +1,4 @@
1
+ import { jsxs, jsx } from "@emotion/react/jsx-runtime";
1
2
  import React__default, { useState, useCallback, useMemo } from "react";
2
3
  import { createPortal } from "react-dom";
3
4
  import { ClickAwayListener } from "@mui/material";
@@ -15,7 +16,6 @@ import { setId } from "../../utils/setId.js";
15
16
  import { getFirstAndLastFocus } from "../../utils/focusableElementFinder.js";
16
17
  import { useClasses } from "./BaseDropdown.styles.js";
17
18
  import { staticClasses } from "./BaseDropdown.styles.js";
18
- import { jsxs, jsx } from "@emotion/react/jsx-runtime";
19
19
  import BaseDropdownContext from "./BaseDropdownContext/BaseDropdownContext.js";
20
20
  import { HvTypography } from "../Typography/Typography.js";
21
21
  const HvBaseDropdown = (props) => {
@@ -192,41 +192,33 @@ const HvBaseDropdown = (props) => {
192
192
  });
193
193
  }
194
194
  const ExpanderComponent = isOpen ? DropUpXS : DropDownXS;
195
- return /* @__PURE__ */ jsxs("div", {
196
- id: setId(id, "header"),
197
- className: cx(classes.header, {
198
- [classes.headerDisabled]: disabled,
199
- [classes.headerReadOnly]: readOnly,
200
- [classes.headerOpen]: isOpen,
201
- [classes.headerOpenUp]: isOpen && popperPlacement.includes("top"),
202
- [classes.headerOpenDown]: isOpen && popperPlacement.includes("bottom")
203
- }),
204
- role: ariaRole === "combobox" ? "textbox" : void 0,
205
- ...headerAriaLabels,
206
- style: disabled || readOnly ? {
207
- pointerEvents: "none"
208
- } : void 0,
209
- tabIndex: disabled ? -1 : 0,
210
- ref: handleDropdownHeaderRef,
211
- ...dropdownHeaderProps,
212
- children: [/* @__PURE__ */ jsx("div", {
213
- className: classes.selection,
214
- children: placeholder && typeof placeholder === "string" ? /* @__PURE__ */ jsx(HvTypography, {
215
- className: cx(classes.placeholder, {
195
+ return /* @__PURE__ */ jsxs(
196
+ "div",
197
+ {
198
+ id: setId(id, "header"),
199
+ className: cx(classes.header, {
200
+ [classes.headerDisabled]: disabled,
201
+ [classes.headerReadOnly]: readOnly,
202
+ [classes.headerOpen]: isOpen,
203
+ [classes.headerOpenUp]: isOpen && popperPlacement.includes("top"),
204
+ [classes.headerOpenDown]: isOpen && popperPlacement.includes("bottom")
205
+ }),
206
+ role: ariaRole === "combobox" ? "textbox" : void 0,
207
+ ...headerAriaLabels,
208
+ style: disabled || readOnly ? {
209
+ pointerEvents: "none"
210
+ } : void 0,
211
+ tabIndex: disabled ? -1 : 0,
212
+ ref: handleDropdownHeaderRef,
213
+ ...dropdownHeaderProps,
214
+ children: [
215
+ /* @__PURE__ */ jsx("div", { className: classes.selection, children: placeholder && typeof placeholder === "string" ? /* @__PURE__ */ jsx(HvTypography, { className: cx(classes.placeholder, {
216
216
  [classes.selectionDisabled]: disabled
217
- }),
218
- variant: "body",
219
- children: placeholder
220
- }) : placeholder
221
- }), /* @__PURE__ */ jsx("div", {
222
- className: classes.arrowContainer,
223
- children: adornment || /* @__PURE__ */ jsx(ExpanderComponent, {
224
- iconSize: "XS",
225
- color: disabled ? theme.colors.secondary_60 : void 0,
226
- className: classes.arrow
227
- })
228
- })]
229
- });
217
+ }), variant: "body", children: placeholder }) : placeholder }),
218
+ /* @__PURE__ */ jsx("div", { className: classes.arrowContainer, children: adornment || /* @__PURE__ */ jsx(ExpanderComponent, { iconSize: "XS", color: disabled ? theme.colors.secondary_60 : void 0, className: classes.arrow }) })
219
+ ]
220
+ }
221
+ );
230
222
  })();
231
223
  const containerComponent = (() => {
232
224
  const handleContainerKeyDown = (event) => {
@@ -250,70 +242,51 @@ const HvBaseDropdown = (props) => {
250
242
  onToggle == null ? void 0 : onToggle(event, false);
251
243
  }
252
244
  };
253
- const container = /* @__PURE__ */ jsx("div", {
254
- ref: setPopperElement,
255
- className: classes.container,
256
- style: popperStyles.popper,
257
- ...attributes.popper,
258
- children: /* @__PURE__ */ jsx(ClickAwayListener, {
259
- onClickAway: handleOutside,
260
- children: /* @__PURE__ */ jsxs("div", {
261
- onKeyDown: handleContainerKeyDown,
262
- children: [popperPlacement.includes("bottom") && /* @__PURE__ */ jsx("div", {
263
- style: {
264
- width: extensionWidth
265
- },
266
- className: cx(classes.inputExtensionOpen, {
267
- [classes.inputExtensionLeftPosition]: popperPlacement.includes("end")
268
- })
269
- }), /* @__PURE__ */ jsx(BaseDropdownContext.Provider, {
270
- value: popperMaxSize,
271
- children: /* @__PURE__ */ jsx("div", {
272
- id: containerId,
273
- className: cx(classes.panel, {
274
- [classes.panelOpenedUp]: popperPlacement.includes("top"),
275
- [classes.panelOpenedDown]: popperPlacement.includes("bottom")
276
- }),
277
- children
278
- })
279
- }), popperPlacement.includes("top") && /* @__PURE__ */ jsx("div", {
280
- style: {
281
- width: extensionWidth
282
- },
283
- className: cx(classes.inputExtensionOpen, classes.inputExtensionOpenShadow, {
284
- [classes.inputExtensionFloatRight]: popperPlacement.includes("end"),
285
- [classes.inputExtensionFloatLeft]: popperPlacement.includes("start")
286
- })
287
- })]
288
- })
289
- })
290
- });
245
+ 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: [
246
+ popperPlacement.includes("bottom") && /* @__PURE__ */ jsx("div", { style: {
247
+ width: extensionWidth
248
+ }, className: cx(classes.inputExtensionOpen, {
249
+ [classes.inputExtensionLeftPosition]: popperPlacement.includes("end")
250
+ }) }),
251
+ /* @__PURE__ */ jsx(BaseDropdownContext.Provider, { value: popperMaxSize, children: /* @__PURE__ */ jsx("div", { id: containerId, className: cx(classes.panel, {
252
+ [classes.panelOpenedUp]: popperPlacement.includes("top"),
253
+ [classes.panelOpenedDown]: popperPlacement.includes("bottom")
254
+ }), children }) }),
255
+ popperPlacement.includes("top") && /* @__PURE__ */ jsx("div", { style: {
256
+ width: extensionWidth
257
+ }, className: cx(classes.inputExtensionOpen, classes.inputExtensionOpenShadow, {
258
+ [classes.inputExtensionFloatRight]: popperPlacement.includes("end"),
259
+ [classes.inputExtensionFloatLeft]: popperPlacement.includes("start")
260
+ }) })
261
+ ] }) }) });
291
262
  if (disablePortal)
292
263
  return container;
293
264
  return createPortal(container, document.getElementById(rootId || "") || document.body);
294
265
  })();
295
- return /* @__PURE__ */ jsxs("div", {
296
- className: classes.root,
297
- children: [/* @__PURE__ */ jsx("div", {
298
- id,
299
- className: cx(classes.anchor, {
300
- [classes.rootDisabled]: disabled
301
- }, className),
302
- ...!readOnly && {
303
- onKeyDown: handleToggle,
304
- onClick: handleToggle
305
- },
306
- ...ariaRole && {
307
- role: ariaRole,
308
- ...headerAriaLabels,
309
- ...headerControlArias
310
- },
311
- // Removes the element from the navigation sequence for keyboard focus
312
- tabIndex: -1,
313
- ...others,
314
- children: headerComponent
315
- }), isOpen && containerComponent]
316
- });
266
+ return /* @__PURE__ */ jsxs("div", { className: classes.root, children: [
267
+ /* @__PURE__ */ jsx(
268
+ "div",
269
+ {
270
+ id,
271
+ className: cx(classes.anchor, {
272
+ [classes.rootDisabled]: disabled
273
+ }, className),
274
+ ...!readOnly && {
275
+ onKeyDown: handleToggle,
276
+ onClick: handleToggle
277
+ },
278
+ ...ariaRole && {
279
+ role: ariaRole,
280
+ ...headerAriaLabels,
281
+ ...headerControlArias
282
+ },
283
+ tabIndex: -1,
284
+ ...others,
285
+ children: headerComponent
286
+ }
287
+ ),
288
+ isOpen && containerComponent
289
+ ] });
317
290
  };
318
291
  export {
319
292
  HvBaseDropdown,
@@ -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} from \"react\";\n\nimport { createPortal } from \"react-dom\";\n\nimport {\n ClickAwayListener,\n ClickAwayListenerProps,\n PopperPlacementType,\n PopperProps,\n} from \"@mui/material\";\n\nimport { theme } from \"@hitachivantara/uikit-styles\";\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?: string | 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<any>;\n /**\n * A Jss Object used to override or extend the component styles applied.\n */\n classes?: HvBaseDropdownClasses;\n}\n\nexport const HvBaseDropdown = (props: HvBaseDropdownProps) => {\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(expanded, Boolean(defaultExpanded));\n\n const [referenceElement, setReferenceElement] = useState<HTMLElement | null>(\n null\n );\n const [popperElement, setPopperElement] = useState<HTMLElement | null>(null);\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 if (onContainerCreation) 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 (width !== popperMaxSize?.width || height !== popperMaxSize?.height) {\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: PopperProps[\"modifiers\"] = useMemo(\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 const focusHeader = () => {\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 setIsOpen(focusHeader());\n\n onToggle?.(event, newOpen);\n },\n [isOpen, disabled, setIsOpen, onToggle, referenceElement]\n );\n\n const headerComponent = (() => {\n if (component) {\n return React.cloneElement(component as React.ReactElement, {\n ref: handleDropdownHeaderRef,\n ...headerControlArias,\n });\n }\n\n const ExpanderComponent = isOpen ? DropUpXS : DropDownXS;\n\n return (\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 ? theme.colors.secondary_60 : undefined}\n className={classes.arrow}\n />\n )}\n </div>\n </div>\n );\n })();\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]: 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 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 {headerComponent}\n </div>\n {isOpen && containerComponent}\n </div>\n );\n};\n"],"names":["HvBaseDropdown","props","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","ref","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","focusHeader","focus","preventScroll","headerComponent","React","cloneElement","ExpanderComponent","DropUpXS","DropDownXS","header","headerDisabled","headerReadOnly","headerOpen","headerOpenUp","includes","headerOpenDown","pointerEvents","tabIndex","_jsx","selection","HvTypography","selectionDisabled","variant","arrowContainer","iconSize","color","theme","colors","secondary_60","arrow","containerComponent","handleContainerKeyDown","shiftKey","focusList","getFirstAndLastFocus","document","activeElement","last","first","handleOutside","isButtonClick","contains","target","container","ClickAwayListener","onClickAway","onKeyDown","inputExtensionOpen","inputExtensionLeftPosition","BaseDropdownContext","Provider","value","panel","panelOpenedUp","panelOpenedDown","inputExtensionOpenShadow","inputExtensionFloatRight","inputExtensionFloatLeft","createPortal","getElementById","body","root","anchor","rootDisabled","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} from \"react\";\n\nimport { createPortal } from \"react-dom\";\n\nimport {\n ClickAwayListener,\n ClickAwayListenerProps,\n PopperPlacementType,\n PopperProps,\n} from \"@mui/material\";\n\nimport { theme } from \"@hitachivantara/uikit-styles\";\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?: string | 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<any>;\n /**\n * A Jss Object used to override or extend the component styles applied.\n */\n classes?: HvBaseDropdownClasses;\n}\n\nexport const HvBaseDropdown = (props: HvBaseDropdownProps) => {\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(expanded, Boolean(defaultExpanded));\n\n const [referenceElement, setReferenceElement] = useState<HTMLElement | null>(\n null\n );\n const [popperElement, setPopperElement] = useState<HTMLElement | null>(null);\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 if (onContainerCreation) 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 (width !== popperMaxSize?.width || height !== popperMaxSize?.height) {\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: PopperProps[\"modifiers\"] = useMemo(\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 const focusHeader = () => {\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 setIsOpen(focusHeader());\n\n onToggle?.(event, newOpen);\n },\n [isOpen, disabled, setIsOpen, onToggle, referenceElement]\n );\n\n const headerComponent = (() => {\n if (component) {\n return React.cloneElement(component as React.ReactElement, {\n ref: handleDropdownHeaderRef,\n ...headerControlArias,\n });\n }\n\n const ExpanderComponent = isOpen ? DropUpXS : DropDownXS;\n\n return (\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 ? theme.colors.secondary_60 : undefined}\n className={classes.arrow}\n />\n )}\n </div>\n </div>\n );\n })();\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]: 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 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 {headerComponent}\n </div>\n {isOpen && containerComponent}\n </div>\n );\n};\n"],"names":["HvBaseDropdown","props","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","ref","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","focusHeader","focus","preventScroll","headerComponent","React","cloneElement","ExpanderComponent","DropUpXS","DropDownXS","header","headerDisabled","headerReadOnly","headerOpen","headerOpenUp","includes","headerOpenDown","pointerEvents","selection","selectionDisabled","arrowContainer","theme","colors","secondary_60","arrow","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,3 +1,4 @@
1
+ import { jsxs, Fragment, jsx } from "@emotion/react/jsx-runtime";
1
2
  import { useContext } from "react";
2
3
  import { Input } from "@mui/material";
3
4
  import { css, Global } from "@emotion/react";
@@ -5,7 +6,6 @@ import { theme } from "@hitachivantara/uikit-styles";
5
6
  import { useDefaultProps } from "../../hooks/useDefaultProps.js";
6
7
  import { useClasses } from "./BaseInput.styles.js";
7
8
  import { staticClasses } from "./BaseInput.styles.js";
8
- import { jsxs, Fragment, jsx } from "@emotion/react/jsx-runtime";
9
9
  import { buildFormElementPropsFromContext, buildAriaPropsFromContext } from "../Forms/FormElement/utils/FormUtils.js";
10
10
  import { HvFormElementContext } from "../Forms/FormElement/context/FormElementContext.js";
11
11
  import { HvFormElementDescriptorsContext } from "../Forms/FormElement/context/FormElementDescriptorsContext.js";
@@ -64,57 +64,36 @@ const HvBaseInput = (props) => {
64
64
  const onChangeHandler = (event) => {
65
65
  onChange == null ? void 0 : onChange(event, event.target.value);
66
66
  };
67
- return /* @__PURE__ */ jsxs(Fragment, {
68
- children: [/* @__PURE__ */ jsx(Global, {
69
- styles: baseInputStyles
70
- }), /* @__PURE__ */ jsxs("div", {
71
- className: cx(classes.root, className, {
72
- [classes.disabled]: formElementProps.disabled,
73
- [classes.invalid]: localInvalid,
74
- [classes.resizable]: multiline && resizable,
75
- [classes.readOnly]: formElementProps.readOnly
76
- }),
77
- children: [/* @__PURE__ */ jsx(Input, {
78
- id,
79
- name: formElementProps.name,
80
- value,
81
- defaultValue,
82
- type,
83
- placeholder,
84
- readOnly: !!formElementProps.readOnly,
85
- disabled: formElementProps.disabled,
86
- onChange: onChangeHandler,
87
- className: cx({
88
- [classes.inputRootInvalid]: localInvalid,
89
- [classes.inputRootReadOnly]: formElementProps.readOnly
90
- }),
91
- classes: {
92
- root: classes.inputRoot,
93
- focused: classes.inputRootFocused,
94
- disabled: classes.inputRootDisabled,
95
- multiline: classes.inputRootMultiline,
96
- input: cx(classes.input, {
97
- [classes.inputResizable]: !formElementProps.disabled && resizable,
98
- [classes.inputDisabled]: formElementProps.disabled,
99
- [classes.inputReadOnly]: formElementProps.readOnly
100
- })
101
- },
102
- inputProps: {
103
- // Avoid the required attribute at the root node
104
- required: formElementProps.required,
105
- ...inputProps,
106
- ...ariaProps
107
- },
108
- inputRef,
109
- multiline,
110
- rows: 10,
111
- ...others
112
- }), !multiline && /* @__PURE__ */ jsx("div", {
113
- role: "presentation",
114
- className: classes.inputBorderContainer
115
- })]
116
- })]
117
- });
67
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
68
+ /* @__PURE__ */ jsx(Global, { styles: baseInputStyles }),
69
+ /* @__PURE__ */ jsxs("div", { className: cx(classes.root, className, {
70
+ [classes.disabled]: formElementProps.disabled,
71
+ [classes.invalid]: localInvalid,
72
+ [classes.resizable]: multiline && resizable,
73
+ [classes.readOnly]: formElementProps.readOnly
74
+ }), children: [
75
+ /* @__PURE__ */ jsx(Input, { id, name: formElementProps.name, value, defaultValue, type, placeholder, readOnly: !!formElementProps.readOnly, disabled: formElementProps.disabled, onChange: onChangeHandler, className: cx({
76
+ [classes.inputRootInvalid]: localInvalid,
77
+ [classes.inputRootReadOnly]: formElementProps.readOnly
78
+ }), classes: {
79
+ root: classes.inputRoot,
80
+ focused: classes.inputRootFocused,
81
+ disabled: classes.inputRootDisabled,
82
+ multiline: classes.inputRootMultiline,
83
+ input: cx(classes.input, {
84
+ [classes.inputResizable]: !formElementProps.disabled && resizable,
85
+ [classes.inputDisabled]: formElementProps.disabled,
86
+ [classes.inputReadOnly]: formElementProps.readOnly
87
+ })
88
+ }, inputProps: {
89
+ // Avoid the required attribute at the root node
90
+ required: formElementProps.required,
91
+ ...inputProps,
92
+ ...ariaProps
93
+ }, inputRef, multiline, rows: 10, ...others }),
94
+ !multiline && /* @__PURE__ */ jsx("div", { role: "presentation", className: classes.inputBorderContainer })
95
+ ] })
96
+ ] });
118
97
  };
119
98
  export {
120
99
  HvBaseInput,
@@ -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","_Fragment","children","_jsx","Global","styles","_jsxs","root","MuiInput","inputRootInvalid","inputRootReadOnly","inputRoot","focused","inputRootFocused","inputRootDisabled","inputRootMultiline","input","inputResizable","inputDisabled","inputReadOnly","rows","role","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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"}
@@ -1,10 +1,10 @@
1
+ import { jsx } from "@emotion/react/jsx-runtime";
1
2
  import { useState, useCallback } from "react";
2
3
  import MuiRadio from "@mui/material/Radio";
3
4
  import { RadioButtonUnselected, RadioButtonSelected } from "@hitachivantara/uikit-react-icons";
4
5
  import { useDefaultProps } from "../../hooks/useDefaultProps.js";
5
6
  import { useClasses } from "./BaseRadio.styles.js";
6
7
  import { staticClasses } from "./BaseRadio.styles.js";
7
- import { jsx } from "@emotion/react/jsx-runtime";
8
8
  const getSelectorIcons = (options, classes) => {
9
9
  const {
10
10
  disabled,
@@ -13,14 +13,8 @@ const getSelectorIcons = (options, classes) => {
13
13
  const color = disabled && ["atmo3", "secondary_60"] || semantic && ["base_light", "base_dark"] || void 0;
14
14
  const checkedColor = disabled && ["atmo3", "secondary_60"] || semantic && ["base_dark", "base_light"] || void 0;
15
15
  return {
16
- radio: /* @__PURE__ */ jsx(RadioButtonUnselected, {
17
- color,
18
- className: classes.icon
19
- }),
20
- radioChecked: /* @__PURE__ */ jsx(RadioButtonSelected, {
21
- color: checkedColor,
22
- className: classes.icon
23
- })
16
+ radio: /* @__PURE__ */ jsx(RadioButtonUnselected, { color, className: classes.icon }),
17
+ radioChecked: /* @__PURE__ */ jsx(RadioButtonSelected, { color: checkedColor, className: classes.icon })
24
18
  };
25
19
  };
26
20
  const HvBaseRadio = (props) => {
@@ -65,29 +59,10 @@ const HvBaseRadio = (props) => {
65
59
  }
66
60
  onChange == null ? void 0 : onChange(evt, evt.target.checked, value);
67
61
  }, [onChange, readOnly, value]);
68
- return /* @__PURE__ */ jsx(MuiRadio, {
69
- id,
70
- name,
71
- className: cx(classes.root, {
72
- [classes.disabled]: disabled,
73
- [classes.focusVisible]: focusVisible
74
- }, className),
75
- icon: icons.radio,
76
- checkedIcon: icons.radioChecked,
77
- color: "default",
78
- disabled,
79
- required,
80
- readOnly,
81
- disableRipple: true,
82
- onChange: onLocalChange,
83
- value,
84
- checked,
85
- defaultChecked,
86
- inputProps,
87
- onFocusVisible: onFocusVisibleCallback,
88
- onBlur: onBlurCallback,
89
- ...others
90
- });
62
+ return /* @__PURE__ */ jsx(MuiRadio, { id, name, className: cx(classes.root, {
63
+ [classes.disabled]: disabled,
64
+ [classes.focusVisible]: focusVisible
65
+ }, className), icon: icons.radio, checkedIcon: icons.radioChecked, color: "default", disabled, required, readOnly, disableRipple: true, onChange: onLocalChange, value, checked, defaultChecked, inputProps, onFocusVisible: onFocusVisibleCallback, onBlur: onBlurCallback, ...others });
91
66
  };
92
67
  export {
93
68
  HvBaseRadio,
@@ -1 +1 @@
1
- {"version":3,"file":"BaseRadio.js","sources":["../../../../src/components/BaseRadio/BaseRadio.tsx"],"sourcesContent":["import React, { useState, useCallback } 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 = (props: HvBaseRadioProps) => {\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 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"],"names":["getSelectorIcons","options","classes","disabled","semantic","color","undefined","checkedColor","radio","RadioButtonUnselected","className","icon","radioChecked","RadioButtonSelected","HvBaseRadio","props","classesProp","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","MuiRadio","root","checkedIcon","disableRipple"],"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,2BAAQC,uBAAqB;AAAA,MAACJ;AAAAA,MAAcK,WAAWR,QAAQS;AAAAA,IAAAA,CAAO;AAAA,IACtEC,kCACGC,qBAAmB;AAAA,MAACR,OAAOE;AAAAA,MAAcG,WAAWR,QAAQS;AAAAA,IAAAA,CAAO;AAAA,EAAA;AAG1E;AAQaG,MAAAA,cAAcA,CAACC,UAA4B;AAChD,QAAA;AAAA,IACJb,SAASc;AAAAA,IACTN;AAAAA,IACAO;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,eAAed,KAAK;AAElC,QAAA;AAAA,IAAEb;AAAAA,IAAS4B;AAAAA,EAAAA,IAAOC,WAAWf,WAAW;AAE9C,QAAM,CAACgB,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;AAEA,6BACGuB,UAAQ;AAAA,IACPzB;AAAAA,IACAC;AAAAA,IACAR,WAAWoB,GACT5B,QAAQyC,MACR;AAAA,MACE,CAACzC,QAAQC,QAAQ,GAAGA;AAAAA,MACpB,CAACD,QAAQ8B,YAAY,GAAGA;AAAAA,OAE1BtB,SACF;AAAA,IACAC,MAAM4B,MAAM/B;AAAAA,IACZoC,aAAaL,MAAM3B;AAAAA,IACnBP,OAAM;AAAA,IACNF;AAAAA,IACAiB;AAAAA,IACAC;AAAAA,IACAwB,eAAa;AAAA,IACbrB,UAAUgB;AAAAA,IACVrB;AAAAA,IACAG;AAAAA,IACAC;AAAAA,IACAE;AAAAA,IACAC,gBAAgBS;AAAAA,IAChBR,QAAQW;AAAAA,IAAe,GACnBV;AAAAA,EAAAA,CACL;AAEL;"}
1
+ {"version":3,"file":"BaseRadio.js","sources":["../../../../src/components/BaseRadio/BaseRadio.tsx"],"sourcesContent":["import React, { useState, useCallback } 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 = (props: HvBaseRadioProps) => {\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 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"],"names":["getSelectorIcons","options","classes","disabled","semantic","color","undefined","checkedColor","radio","icon","radioChecked","HvBaseRadio","props","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;AAQaE,MAAAA,cAAcA,CAACC,UAA4B;AAChD,QAAA;AAAA,IACJV,SAASW;AAAAA,IACTC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC,QAAQ;AAAA,IACRC,WAAW;AAAA,IACXC,WAAW;AAAA,IACXhB,WAAW;AAAA,IACXiB;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAlB,WAAW;AAAA,IACXmB;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACA,GAAGC;AAAAA,EAAAA,IACDC,gBAAgB,eAAef,KAAK;AAElC,QAAA;AAAA,IAAEV;AAAAA,IAAS0B;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,QAAQrC,iBAAiB;AAAA,IAAEG;AAAAA,IAAUC;AAAAA,KAAYF,OAAO;AAExDoC,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;AAEA,6BACG,UACC,EAAA,IACA,MACA,WAAWW,GACT1B,QAAQsC,MACR;AAAA,IACE,CAACtC,QAAQC,QAAQ,GAAGA;AAAAA,IACpB,CAACD,QAAQ4B,YAAY,GAAGA;AAAAA,EAC1B,GACAhB,SACF,GACA,MAAMuB,MAAM7B,OACZ,aAAa6B,MAAM3B,cACnB,OAAM,WACN,UACA,UACA,UACA,eAAa,MACb,UAAU4B,eACV,OACA,SACA,gBACA,YACA,gBAAgBL,wBAChB,QAAQG,gBACJV,GAAAA,OACJ,CAAA;AAEN;"}