@hitachivantara/uikit-react-core 5.0.0-next.8 → 5.0.0-next.9

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 (553) hide show
  1. package/dist/cjs/components/Accordion/Accordion.cjs +10 -37
  2. package/dist/cjs/components/Accordion/Accordion.cjs.map +1 -1
  3. package/dist/cjs/components/ActionBar/ActionBar.cjs +2 -7
  4. package/dist/cjs/components/ActionBar/ActionBar.cjs.map +1 -1
  5. package/dist/cjs/components/ActionsGeneric/ActionsGeneric.cjs +11 -39
  6. package/dist/cjs/components/ActionsGeneric/ActionsGeneric.cjs.map +1 -1
  7. package/dist/cjs/components/ActionsGeneric/ActionsGeneric.styles.cjs +2 -4
  8. package/dist/cjs/components/ActionsGeneric/ActionsGeneric.styles.cjs.map +1 -1
  9. package/dist/cjs/components/AppSwitcher/Action/Action.cjs +12 -54
  10. package/dist/cjs/components/AppSwitcher/Action/Action.cjs.map +1 -1
  11. package/dist/cjs/components/AppSwitcher/Action/Action.styles.cjs +2 -4
  12. package/dist/cjs/components/AppSwitcher/Action/Action.styles.cjs.map +1 -1
  13. package/dist/cjs/components/AppSwitcher/AppSwitcher.cjs +15 -37
  14. package/dist/cjs/components/AppSwitcher/AppSwitcher.cjs.map +1 -1
  15. package/dist/cjs/components/AppSwitcher/TitleWithTooltip.cjs +2 -16
  16. package/dist/cjs/components/AppSwitcher/TitleWithTooltip.cjs.map +1 -1
  17. package/dist/cjs/components/Avatar/Avatar.cjs +9 -38
  18. package/dist/cjs/components/Avatar/Avatar.cjs.map +1 -1
  19. package/dist/cjs/components/Badge/Badge.cjs +6 -23
  20. package/dist/cjs/components/Badge/Badge.cjs.map +1 -1
  21. package/dist/cjs/components/Banner/Banner.cjs +7 -33
  22. package/dist/cjs/components/Banner/Banner.cjs.map +1 -1
  23. package/dist/cjs/components/Banner/BannerContent/ActionContainer/ActionContainer.cjs +5 -27
  24. package/dist/cjs/components/Banner/BannerContent/ActionContainer/ActionContainer.cjs.map +1 -1
  25. package/dist/cjs/components/Banner/BannerContent/ActionContainer/ActionContainer.styles.cjs +2 -4
  26. package/dist/cjs/components/Banner/BannerContent/ActionContainer/ActionContainer.styles.cjs.map +1 -1
  27. package/dist/cjs/components/Banner/BannerContent/BannerContent.cjs +12 -34
  28. package/dist/cjs/components/Banner/BannerContent/BannerContent.cjs.map +1 -1
  29. package/dist/cjs/components/Banner/BannerContent/MessageContainer/MessageContainer.cjs +6 -20
  30. package/dist/cjs/components/Banner/BannerContent/MessageContainer/MessageContainer.cjs.map +1 -1
  31. package/dist/cjs/components/Banner/BannerContent/MessageContainer/MessageContainer.styles.cjs +2 -4
  32. package/dist/cjs/components/Banner/BannerContent/MessageContainer/MessageContainer.styles.cjs.map +1 -1
  33. package/dist/cjs/components/BaseCheckBox/BaseCheckBox.cjs +5 -36
  34. package/dist/cjs/components/BaseCheckBox/BaseCheckBox.cjs.map +1 -1
  35. package/dist/cjs/components/BaseDropdown/BaseDropdown.cjs +57 -93
  36. package/dist/cjs/components/BaseDropdown/BaseDropdown.cjs.map +1 -1
  37. package/dist/cjs/components/BaseInput/BaseInput.cjs +18 -47
  38. package/dist/cjs/components/BaseInput/BaseInput.cjs.map +1 -1
  39. package/dist/cjs/components/BaseRadio/BaseRadio.cjs +4 -30
  40. package/dist/cjs/components/BaseRadio/BaseRadio.cjs.map +1 -1
  41. package/dist/cjs/components/BaseSwitch/BaseSwitch.cjs +9 -30
  42. package/dist/cjs/components/BaseSwitch/BaseSwitch.cjs.map +1 -1
  43. package/dist/cjs/components/Box/Box.cjs +2 -7
  44. package/dist/cjs/components/Box/Box.cjs.map +1 -1
  45. package/dist/cjs/components/BreadCrumb/BreadCrumb.cjs +14 -35
  46. package/dist/cjs/components/BreadCrumb/BreadCrumb.cjs.map +1 -1
  47. package/dist/cjs/components/BreadCrumb/BreadCrumb.styles.cjs +2 -4
  48. package/dist/cjs/components/BreadCrumb/BreadCrumb.styles.cjs.map +1 -1
  49. package/dist/cjs/components/BreadCrumb/Page/Page.cjs +4 -19
  50. package/dist/cjs/components/BreadCrumb/Page/Page.cjs.map +1 -1
  51. package/dist/cjs/components/BreadCrumb/Page/Page.styles.cjs +3 -7
  52. package/dist/cjs/components/BreadCrumb/Page/Page.styles.cjs.map +1 -1
  53. package/dist/cjs/components/BreadCrumb/PathElement/PathElement.cjs +5 -8
  54. package/dist/cjs/components/BreadCrumb/PathElement/PathElement.cjs.map +1 -1
  55. package/dist/cjs/components/BreadCrumb/utils.cjs +2 -10
  56. package/dist/cjs/components/BreadCrumb/utils.cjs.map +1 -1
  57. package/dist/cjs/components/BulkActions/BulkActions.cjs +20 -54
  58. package/dist/cjs/components/BulkActions/BulkActions.cjs.map +1 -1
  59. package/dist/cjs/components/Button/Button.cjs +5 -25
  60. package/dist/cjs/components/Button/Button.cjs.map +1 -1
  61. package/dist/cjs/components/Card/Card.cjs +13 -20
  62. package/dist/cjs/components/Card/Card.cjs.map +1 -1
  63. package/dist/cjs/components/Card/Content/Content.cjs +2 -8
  64. package/dist/cjs/components/Card/Content/Content.cjs.map +1 -1
  65. package/dist/cjs/components/Card/Header/Header.cjs +14 -22
  66. package/dist/cjs/components/Card/Header/Header.cjs.map +1 -1
  67. package/dist/cjs/components/Card/Media/Media.cjs +5 -14
  68. package/dist/cjs/components/Card/Media/Media.cjs.map +1 -1
  69. package/dist/cjs/components/CheckBox/CheckBox.cjs +16 -55
  70. package/dist/cjs/components/CheckBox/CheckBox.cjs.map +1 -1
  71. package/dist/cjs/components/CheckBoxGroup/CheckBoxGroup.cjs +17 -56
  72. package/dist/cjs/components/CheckBoxGroup/CheckBoxGroup.cjs.map +1 -1
  73. package/dist/cjs/components/Container/Container.cjs +11 -19
  74. package/dist/cjs/components/Container/Container.cjs.map +1 -1
  75. package/dist/cjs/components/Controls/Controls.cjs +15 -32
  76. package/dist/cjs/components/Controls/Controls.cjs.map +1 -1
  77. package/dist/cjs/components/Controls/LeftControl/LeftControl.cjs +5 -13
  78. package/dist/cjs/components/Controls/LeftControl/LeftControl.cjs.map +1 -1
  79. package/dist/cjs/components/Controls/RightControl/RightControl.cjs +2 -14
  80. package/dist/cjs/components/Controls/RightControl/RightControl.cjs.map +1 -1
  81. package/dist/cjs/components/Controls/RightControl/RightControl.styles.cjs +2 -4
  82. package/dist/cjs/components/Controls/RightControl/RightControl.styles.cjs.map +1 -1
  83. package/dist/cjs/components/Dialog/Actions/Actions.cjs +5 -11
  84. package/dist/cjs/components/Dialog/Actions/Actions.cjs.map +1 -1
  85. package/dist/cjs/components/Dialog/Content/Content.cjs +2 -7
  86. package/dist/cjs/components/Dialog/Content/Content.cjs.map +1 -1
  87. package/dist/cjs/components/Dialog/Dialog.cjs +35 -68
  88. package/dist/cjs/components/Dialog/Dialog.cjs.map +1 -1
  89. package/dist/cjs/components/Dialog/Title/Title.cjs +8 -17
  90. package/dist/cjs/components/Dialog/Title/Title.cjs.map +1 -1
  91. package/dist/cjs/components/DotPagination/DotPagination.cjs +9 -29
  92. package/dist/cjs/components/DotPagination/DotPagination.cjs.map +1 -1
  93. package/dist/cjs/components/DotPagination/DotPagination.styles.cjs +3 -7
  94. package/dist/cjs/components/DotPagination/DotPagination.styles.cjs.map +1 -1
  95. package/dist/cjs/components/DropDownMenu/DropDownMenu.cjs +23 -63
  96. package/dist/cjs/components/DropDownMenu/DropDownMenu.cjs.map +1 -1
  97. package/dist/cjs/components/DropDownMenu/DropDownMenu.styles.cjs +2 -4
  98. package/dist/cjs/components/DropDownMenu/DropDownMenu.styles.cjs.map +1 -1
  99. package/dist/cjs/components/Dropdown/Dropdown.cjs +21 -97
  100. package/dist/cjs/components/Dropdown/Dropdown.cjs.map +1 -1
  101. package/dist/cjs/components/Dropdown/Dropdown.styles.cjs +2 -4
  102. package/dist/cjs/components/Dropdown/Dropdown.styles.cjs.map +1 -1
  103. package/dist/cjs/components/Dropdown/List/List.cjs +27 -83
  104. package/dist/cjs/components/Dropdown/List/List.cjs.map +1 -1
  105. package/dist/cjs/components/Dropdown/List/List.styles.cjs +2 -4
  106. package/dist/cjs/components/Dropdown/List/List.styles.cjs.map +1 -1
  107. package/dist/cjs/components/EmptyState/EmptyState.cjs +10 -24
  108. package/dist/cjs/components/EmptyState/EmptyState.cjs.map +1 -1
  109. package/dist/cjs/components/FileUploader/DropZone/DropZone.cjs +52 -101
  110. package/dist/cjs/components/FileUploader/DropZone/DropZone.cjs.map +1 -1
  111. package/dist/cjs/components/FileUploader/File/File.cjs +21 -57
  112. package/dist/cjs/components/FileUploader/File/File.cjs.map +1 -1
  113. package/dist/cjs/components/FileUploader/FileList/FileList.cjs +4 -14
  114. package/dist/cjs/components/FileUploader/FileList/FileList.cjs.map +1 -1
  115. package/dist/cjs/components/FileUploader/FileUploader.cjs +4 -21
  116. package/dist/cjs/components/FileUploader/FileUploader.cjs.map +1 -1
  117. package/dist/cjs/components/FileUploader/Preview/Preview.cjs +8 -14
  118. package/dist/cjs/components/FileUploader/Preview/Preview.cjs.map +1 -1
  119. package/dist/cjs/components/Focus/Focus.cjs +10 -15
  120. package/dist/cjs/components/Focus/Focus.cjs.map +1 -1
  121. package/dist/cjs/components/Footer/Footer.cjs +9 -23
  122. package/dist/cjs/components/Footer/Footer.cjs.map +1 -1
  123. package/dist/cjs/components/Forms/Adornment/Adornment.cjs +2 -29
  124. package/dist/cjs/components/Forms/Adornment/Adornment.cjs.map +1 -1
  125. package/dist/cjs/components/Forms/CharCounter/CharCounter.cjs +5 -27
  126. package/dist/cjs/components/Forms/CharCounter/CharCounter.cjs.map +1 -1
  127. package/dist/cjs/components/Forms/FormElement/FormElement.cjs +2 -16
  128. package/dist/cjs/components/Forms/FormElement/FormElement.cjs.map +1 -1
  129. package/dist/cjs/components/Forms/InfoMessage/InfoMessage.cjs +2 -11
  130. package/dist/cjs/components/Forms/InfoMessage/InfoMessage.cjs.map +1 -1
  131. package/dist/cjs/components/Forms/Label/Label.cjs +8 -17
  132. package/dist/cjs/components/Forms/Label/Label.cjs.map +1 -1
  133. package/dist/cjs/components/Forms/Suggestions/Suggestions.cjs +5 -26
  134. package/dist/cjs/components/Forms/Suggestions/Suggestions.cjs.map +1 -1
  135. package/dist/cjs/components/Forms/WarningText/WarningText.cjs +6 -20
  136. package/dist/cjs/components/Forms/WarningText/WarningText.cjs.map +1 -1
  137. package/dist/cjs/components/GlobalActions/GlobalActions.cjs +7 -25
  138. package/dist/cjs/components/GlobalActions/GlobalActions.cjs.map +1 -1
  139. package/dist/cjs/components/Grid/Grid.cjs +5 -9
  140. package/dist/cjs/components/Grid/Grid.cjs.map +1 -1
  141. package/dist/cjs/components/Header/Actions/Actions.cjs +2 -6
  142. package/dist/cjs/components/Header/Actions/Actions.cjs.map +1 -1
  143. package/dist/cjs/components/Header/Brand/Brand.cjs +6 -11
  144. package/dist/cjs/components/Header/Brand/Brand.cjs.map +1 -1
  145. package/dist/cjs/components/Header/Header.cjs +2 -10
  146. package/dist/cjs/components/Header/Header.cjs.map +1 -1
  147. package/dist/cjs/components/Header/Navigation/MenuBar/MenuBar.cjs +3 -17
  148. package/dist/cjs/components/Header/Navigation/MenuBar/MenuBar.cjs.map +1 -1
  149. package/dist/cjs/components/Header/Navigation/MenuBar/MenuBar.styles.cjs +3 -7
  150. package/dist/cjs/components/Header/Navigation/MenuBar/MenuBar.styles.cjs.map +1 -1
  151. package/dist/cjs/components/Header/Navigation/MenuItem/MenuItem.cjs +6 -24
  152. package/dist/cjs/components/Header/Navigation/MenuItem/MenuItem.cjs.map +1 -1
  153. package/dist/cjs/components/Header/Navigation/Navigation.cjs +2 -15
  154. package/dist/cjs/components/Header/Navigation/Navigation.cjs.map +1 -1
  155. package/dist/cjs/components/Header/Navigation/utils/FocusContext.cjs +2 -5
  156. package/dist/cjs/components/Header/Navigation/utils/FocusContext.cjs.map +1 -1
  157. package/dist/cjs/components/Input/Input.cjs +42 -112
  158. package/dist/cjs/components/Input/Input.cjs.map +1 -1
  159. package/dist/cjs/components/Input/Input.styles.cjs +2 -4
  160. package/dist/cjs/components/Input/Input.styles.cjs.map +1 -1
  161. package/dist/cjs/components/Kpi/Kpi.cjs +16 -47
  162. package/dist/cjs/components/Kpi/Kpi.cjs.map +1 -1
  163. package/dist/cjs/components/Link/Link.cjs +2 -14
  164. package/dist/cjs/components/Link/Link.cjs.map +1 -1
  165. package/dist/cjs/components/List/List.cjs +32 -104
  166. package/dist/cjs/components/List/List.cjs.map +1 -1
  167. package/dist/cjs/components/List/List.styles.cjs +5 -13
  168. package/dist/cjs/components/List/List.styles.cjs.map +1 -1
  169. package/dist/cjs/components/ListContainer/ListContainer.cjs +2 -11
  170. package/dist/cjs/components/ListContainer/ListContainer.cjs.map +1 -1
  171. package/dist/cjs/components/ListContainer/ListItem/ListItem.cjs +12 -32
  172. package/dist/cjs/components/ListContainer/ListItem/ListItem.cjs.map +1 -1
  173. package/dist/cjs/components/Loading/Loading.cjs +5 -18
  174. package/dist/cjs/components/Loading/Loading.cjs.map +1 -1
  175. package/dist/cjs/components/Login/Login.cjs +4 -13
  176. package/dist/cjs/components/Login/Login.cjs.map +1 -1
  177. package/dist/cjs/components/MultiButton/MultiButton.cjs +14 -19
  178. package/dist/cjs/components/MultiButton/MultiButton.cjs.map +1 -1
  179. package/dist/cjs/components/MultiButton/MultiButton.styles.cjs +2 -5
  180. package/dist/cjs/components/MultiButton/MultiButton.styles.cjs.map +1 -1
  181. package/dist/cjs/components/OverflowTooltip/OverflowTooltip.cjs +3 -20
  182. package/dist/cjs/components/OverflowTooltip/OverflowTooltip.cjs.map +1 -1
  183. package/dist/cjs/components/OverflowTooltip/OverflowTooltip.styles.cjs +2 -4
  184. package/dist/cjs/components/OverflowTooltip/OverflowTooltip.styles.cjs.map +1 -1
  185. package/dist/cjs/components/Pagination/ButtonIconTooltip.cjs +1 -13
  186. package/dist/cjs/components/Pagination/ButtonIconTooltip.cjs.map +1 -1
  187. package/dist/cjs/components/Pagination/Pagination.cjs +27 -127
  188. package/dist/cjs/components/Pagination/Pagination.cjs.map +1 -1
  189. package/dist/cjs/components/Pagination/Select.cjs +8 -32
  190. package/dist/cjs/components/Pagination/Select.cjs.map +1 -1
  191. package/dist/cjs/components/Panel/Panel.cjs +2 -7
  192. package/dist/cjs/components/Panel/Panel.cjs.map +1 -1
  193. package/dist/cjs/components/ProgressBar/ProgressBar.cjs +9 -30
  194. package/dist/cjs/components/ProgressBar/ProgressBar.cjs.map +1 -1
  195. package/dist/cjs/components/Radio/Radio.cjs +16 -51
  196. package/dist/cjs/components/Radio/Radio.cjs.map +1 -1
  197. package/dist/cjs/components/RadioGroup/RadioGroup.cjs +7 -36
  198. package/dist/cjs/components/RadioGroup/RadioGroup.cjs.map +1 -1
  199. package/dist/cjs/components/SelectionList/SelectionList.cjs +7 -41
  200. package/dist/cjs/components/SelectionList/SelectionList.cjs.map +1 -1
  201. package/dist/cjs/components/SelectionList/SelectionList.styles.cjs +4 -10
  202. package/dist/cjs/components/SelectionList/SelectionList.styles.cjs.map +1 -1
  203. package/dist/cjs/components/SimpleGrid/SimpleGrid.cjs +2 -8
  204. package/dist/cjs/components/SimpleGrid/SimpleGrid.cjs.map +1 -1
  205. package/dist/cjs/components/Snackbar/Snackbar.cjs +14 -48
  206. package/dist/cjs/components/Snackbar/Snackbar.cjs.map +1 -1
  207. package/dist/cjs/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.cjs +9 -32
  208. package/dist/cjs/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.cjs.map +1 -1
  209. package/dist/cjs/components/Snackbar/SnackbarProvider/SnackbarProvider.cjs +4 -27
  210. package/dist/cjs/components/Snackbar/SnackbarProvider/SnackbarProvider.cjs.map +1 -1
  211. package/dist/cjs/components/Stack/Stack.cjs +8 -29
  212. package/dist/cjs/components/Stack/Stack.cjs.map +1 -1
  213. package/dist/cjs/components/Switch/Switch.cjs +13 -46
  214. package/dist/cjs/components/Switch/Switch.cjs.map +1 -1
  215. package/dist/cjs/components/Tab/Tab.cjs +17 -14
  216. package/dist/cjs/components/Tab/Tab.cjs.map +1 -1
  217. package/dist/cjs/components/Table/Table.cjs +2 -13
  218. package/dist/cjs/components/Table/Table.cjs.map +1 -1
  219. package/dist/cjs/components/Table/TableBody/TableBody.cjs +6 -25
  220. package/dist/cjs/components/Table/TableBody/TableBody.cjs.map +1 -1
  221. package/dist/cjs/components/Table/TableCell/TableCell.cjs +2 -23
  222. package/dist/cjs/components/Table/TableCell/TableCell.cjs.map +1 -1
  223. package/dist/cjs/components/Table/TableContainer/TableContainer.cjs +2 -6
  224. package/dist/cjs/components/Table/TableContainer/TableContainer.cjs.map +1 -1
  225. package/dist/cjs/components/Table/TableHead/TableHead.cjs +2 -11
  226. package/dist/cjs/components/Table/TableHead/TableHead.cjs.map +1 -1
  227. package/dist/cjs/components/Table/TableHeader/TableHeader.cjs +6 -49
  228. package/dist/cjs/components/Table/TableHeader/TableHeader.cjs.map +1 -1
  229. package/dist/cjs/components/Table/TableHeader/TableHeader.styles.cjs +8 -14
  230. package/dist/cjs/components/Table/TableHeader/TableHeader.styles.cjs.map +1 -1
  231. package/dist/cjs/components/Table/TableRow/TableRow.cjs +2 -15
  232. package/dist/cjs/components/Table/TableRow/TableRow.cjs.map +1 -1
  233. package/dist/cjs/components/Table/hooks/useRowExpand.cjs +5 -15
  234. package/dist/cjs/components/Table/hooks/useRowExpand.cjs.map +1 -1
  235. package/dist/cjs/components/Table/hooks/useRowSelection.cjs +2 -8
  236. package/dist/cjs/components/Table/hooks/useRowSelection.cjs.map +1 -1
  237. package/dist/cjs/components/Table/renderers/DateColumnCell/DateColumnCell.cjs +2 -4
  238. package/dist/cjs/components/Table/renderers/DateColumnCell/DateColumnCell.cjs.map +1 -1
  239. package/dist/cjs/components/Table/renderers/DropdownColumnCell/DropdownColumnCell.cjs +3 -10
  240. package/dist/cjs/components/Table/renderers/DropdownColumnCell/DropdownColumnCell.cjs.map +1 -1
  241. package/dist/cjs/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.cjs +2 -10
  242. package/dist/cjs/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.cjs.map +1 -1
  243. package/dist/cjs/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.cjs +6 -17
  244. package/dist/cjs/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.cjs.map +1 -1
  245. package/dist/cjs/components/Table/renderers/renderers.cjs +19 -60
  246. package/dist/cjs/components/Table/renderers/renderers.cjs.map +1 -1
  247. package/dist/cjs/components/Tabs/Tabs.cjs +9 -13
  248. package/dist/cjs/components/Tabs/Tabs.cjs.map +1 -1
  249. package/dist/cjs/components/Tag/Tag.cjs +25 -55
  250. package/dist/cjs/components/Tag/Tag.cjs.map +1 -1
  251. package/dist/cjs/components/TagsInput/TagsInput.cjs +45 -129
  252. package/dist/cjs/components/TagsInput/TagsInput.cjs.map +1 -1
  253. package/dist/cjs/components/TagsInput/TagsInput.styles.cjs +11 -31
  254. package/dist/cjs/components/TagsInput/TagsInput.styles.cjs.map +1 -1
  255. package/dist/cjs/components/TextArea/TextArea.cjs +22 -69
  256. package/dist/cjs/components/TextArea/TextArea.cjs.map +1 -1
  257. package/dist/cjs/components/TextArea/TextArea.styles.cjs +5 -13
  258. package/dist/cjs/components/TextArea/TextArea.styles.cjs.map +1 -1
  259. package/dist/cjs/components/ToggleButton/ToggleButton.cjs +2 -10
  260. package/dist/cjs/components/ToggleButton/ToggleButton.cjs.map +1 -1
  261. package/dist/cjs/components/Tooltip/Tooltip.cjs +8 -21
  262. package/dist/cjs/components/Tooltip/Tooltip.cjs.map +1 -1
  263. package/dist/cjs/components/Typography/Typography.cjs +2 -11
  264. package/dist/cjs/components/Typography/Typography.cjs.map +1 -1
  265. package/dist/cjs/hocs/withId.cjs +2 -5
  266. package/dist/cjs/hocs/withId.cjs.map +1 -1
  267. package/dist/cjs/hocs/withTooltip.cjs +5 -24
  268. package/dist/cjs/hocs/withTooltip.cjs.map +1 -1
  269. package/dist/cjs/providers/Provider.cjs +5 -10
  270. package/dist/cjs/providers/Provider.cjs.map +1 -1
  271. package/dist/cjs/providers/ThemeProvider.cjs +2 -8
  272. package/dist/cjs/providers/ThemeProvider.cjs.map +1 -1
  273. package/dist/cjs/utils/iconVariant.cjs +5 -16
  274. package/dist/cjs/utils/iconVariant.cjs.map +1 -1
  275. package/dist/esm/components/Accordion/Accordion.js +10 -37
  276. package/dist/esm/components/Accordion/Accordion.js.map +1 -1
  277. package/dist/esm/components/ActionBar/ActionBar.js +2 -7
  278. package/dist/esm/components/ActionBar/ActionBar.js.map +1 -1
  279. package/dist/esm/components/ActionsGeneric/ActionsGeneric.js +11 -39
  280. package/dist/esm/components/ActionsGeneric/ActionsGeneric.js.map +1 -1
  281. package/dist/esm/components/ActionsGeneric/ActionsGeneric.styles.js +2 -4
  282. package/dist/esm/components/ActionsGeneric/ActionsGeneric.styles.js.map +1 -1
  283. package/dist/esm/components/AppSwitcher/Action/Action.js +12 -54
  284. package/dist/esm/components/AppSwitcher/Action/Action.js.map +1 -1
  285. package/dist/esm/components/AppSwitcher/Action/Action.styles.js +2 -4
  286. package/dist/esm/components/AppSwitcher/Action/Action.styles.js.map +1 -1
  287. package/dist/esm/components/AppSwitcher/AppSwitcher.js +15 -37
  288. package/dist/esm/components/AppSwitcher/AppSwitcher.js.map +1 -1
  289. package/dist/esm/components/AppSwitcher/TitleWithTooltip.js +2 -16
  290. package/dist/esm/components/AppSwitcher/TitleWithTooltip.js.map +1 -1
  291. package/dist/esm/components/Avatar/Avatar.js +9 -38
  292. package/dist/esm/components/Avatar/Avatar.js.map +1 -1
  293. package/dist/esm/components/Badge/Badge.js +6 -23
  294. package/dist/esm/components/Badge/Badge.js.map +1 -1
  295. package/dist/esm/components/Banner/Banner.js +7 -33
  296. package/dist/esm/components/Banner/Banner.js.map +1 -1
  297. package/dist/esm/components/Banner/BannerContent/ActionContainer/ActionContainer.js +5 -27
  298. package/dist/esm/components/Banner/BannerContent/ActionContainer/ActionContainer.js.map +1 -1
  299. package/dist/esm/components/Banner/BannerContent/ActionContainer/ActionContainer.styles.js +2 -4
  300. package/dist/esm/components/Banner/BannerContent/ActionContainer/ActionContainer.styles.js.map +1 -1
  301. package/dist/esm/components/Banner/BannerContent/BannerContent.js +12 -34
  302. package/dist/esm/components/Banner/BannerContent/BannerContent.js.map +1 -1
  303. package/dist/esm/components/Banner/BannerContent/MessageContainer/MessageContainer.js +6 -20
  304. package/dist/esm/components/Banner/BannerContent/MessageContainer/MessageContainer.js.map +1 -1
  305. package/dist/esm/components/Banner/BannerContent/MessageContainer/MessageContainer.styles.js +2 -4
  306. package/dist/esm/components/Banner/BannerContent/MessageContainer/MessageContainer.styles.js.map +1 -1
  307. package/dist/esm/components/BaseCheckBox/BaseCheckBox.js +5 -36
  308. package/dist/esm/components/BaseCheckBox/BaseCheckBox.js.map +1 -1
  309. package/dist/esm/components/BaseDropdown/BaseDropdown.js +57 -93
  310. package/dist/esm/components/BaseDropdown/BaseDropdown.js.map +1 -1
  311. package/dist/esm/components/BaseInput/BaseInput.js +18 -47
  312. package/dist/esm/components/BaseInput/BaseInput.js.map +1 -1
  313. package/dist/esm/components/BaseRadio/BaseRadio.js +4 -30
  314. package/dist/esm/components/BaseRadio/BaseRadio.js.map +1 -1
  315. package/dist/esm/components/BaseSwitch/BaseSwitch.js +9 -30
  316. package/dist/esm/components/BaseSwitch/BaseSwitch.js.map +1 -1
  317. package/dist/esm/components/Box/Box.js +2 -7
  318. package/dist/esm/components/Box/Box.js.map +1 -1
  319. package/dist/esm/components/BreadCrumb/BreadCrumb.js +14 -35
  320. package/dist/esm/components/BreadCrumb/BreadCrumb.js.map +1 -1
  321. package/dist/esm/components/BreadCrumb/BreadCrumb.styles.js +2 -4
  322. package/dist/esm/components/BreadCrumb/BreadCrumb.styles.js.map +1 -1
  323. package/dist/esm/components/BreadCrumb/Page/Page.js +4 -19
  324. package/dist/esm/components/BreadCrumb/Page/Page.js.map +1 -1
  325. package/dist/esm/components/BreadCrumb/Page/Page.styles.js +3 -7
  326. package/dist/esm/components/BreadCrumb/Page/Page.styles.js.map +1 -1
  327. package/dist/esm/components/BreadCrumb/PathElement/PathElement.js +5 -8
  328. package/dist/esm/components/BreadCrumb/PathElement/PathElement.js.map +1 -1
  329. package/dist/esm/components/BreadCrumb/utils.js +2 -10
  330. package/dist/esm/components/BreadCrumb/utils.js.map +1 -1
  331. package/dist/esm/components/BulkActions/BulkActions.js +20 -54
  332. package/dist/esm/components/BulkActions/BulkActions.js.map +1 -1
  333. package/dist/esm/components/Button/Button.js +5 -25
  334. package/dist/esm/components/Button/Button.js.map +1 -1
  335. package/dist/esm/components/Card/Card.js +13 -20
  336. package/dist/esm/components/Card/Card.js.map +1 -1
  337. package/dist/esm/components/Card/Content/Content.js +2 -8
  338. package/dist/esm/components/Card/Content/Content.js.map +1 -1
  339. package/dist/esm/components/Card/Header/Header.js +14 -22
  340. package/dist/esm/components/Card/Header/Header.js.map +1 -1
  341. package/dist/esm/components/Card/Media/Media.js +5 -14
  342. package/dist/esm/components/Card/Media/Media.js.map +1 -1
  343. package/dist/esm/components/CheckBox/CheckBox.js +16 -55
  344. package/dist/esm/components/CheckBox/CheckBox.js.map +1 -1
  345. package/dist/esm/components/CheckBoxGroup/CheckBoxGroup.js +17 -56
  346. package/dist/esm/components/CheckBoxGroup/CheckBoxGroup.js.map +1 -1
  347. package/dist/esm/components/Container/Container.js +11 -19
  348. package/dist/esm/components/Container/Container.js.map +1 -1
  349. package/dist/esm/components/Controls/Controls.js +15 -32
  350. package/dist/esm/components/Controls/Controls.js.map +1 -1
  351. package/dist/esm/components/Controls/LeftControl/LeftControl.js +5 -13
  352. package/dist/esm/components/Controls/LeftControl/LeftControl.js.map +1 -1
  353. package/dist/esm/components/Controls/RightControl/RightControl.js +2 -14
  354. package/dist/esm/components/Controls/RightControl/RightControl.js.map +1 -1
  355. package/dist/esm/components/Controls/RightControl/RightControl.styles.js +2 -4
  356. package/dist/esm/components/Controls/RightControl/RightControl.styles.js.map +1 -1
  357. package/dist/esm/components/Dialog/Actions/Actions.js +5 -11
  358. package/dist/esm/components/Dialog/Actions/Actions.js.map +1 -1
  359. package/dist/esm/components/Dialog/Content/Content.js +2 -7
  360. package/dist/esm/components/Dialog/Content/Content.js.map +1 -1
  361. package/dist/esm/components/Dialog/Dialog.js +35 -68
  362. package/dist/esm/components/Dialog/Dialog.js.map +1 -1
  363. package/dist/esm/components/Dialog/Title/Title.js +8 -17
  364. package/dist/esm/components/Dialog/Title/Title.js.map +1 -1
  365. package/dist/esm/components/DotPagination/DotPagination.js +9 -29
  366. package/dist/esm/components/DotPagination/DotPagination.js.map +1 -1
  367. package/dist/esm/components/DotPagination/DotPagination.styles.js +3 -7
  368. package/dist/esm/components/DotPagination/DotPagination.styles.js.map +1 -1
  369. package/dist/esm/components/DropDownMenu/DropDownMenu.js +23 -63
  370. package/dist/esm/components/DropDownMenu/DropDownMenu.js.map +1 -1
  371. package/dist/esm/components/DropDownMenu/DropDownMenu.styles.js +2 -4
  372. package/dist/esm/components/DropDownMenu/DropDownMenu.styles.js.map +1 -1
  373. package/dist/esm/components/Dropdown/Dropdown.js +21 -97
  374. package/dist/esm/components/Dropdown/Dropdown.js.map +1 -1
  375. package/dist/esm/components/Dropdown/Dropdown.styles.js +2 -4
  376. package/dist/esm/components/Dropdown/Dropdown.styles.js.map +1 -1
  377. package/dist/esm/components/Dropdown/List/List.js +27 -83
  378. package/dist/esm/components/Dropdown/List/List.js.map +1 -1
  379. package/dist/esm/components/Dropdown/List/List.styles.js +2 -4
  380. package/dist/esm/components/Dropdown/List/List.styles.js.map +1 -1
  381. package/dist/esm/components/EmptyState/EmptyState.js +10 -24
  382. package/dist/esm/components/EmptyState/EmptyState.js.map +1 -1
  383. package/dist/esm/components/FileUploader/DropZone/DropZone.js +52 -101
  384. package/dist/esm/components/FileUploader/DropZone/DropZone.js.map +1 -1
  385. package/dist/esm/components/FileUploader/File/File.js +21 -57
  386. package/dist/esm/components/FileUploader/File/File.js.map +1 -1
  387. package/dist/esm/components/FileUploader/FileList/FileList.js +4 -14
  388. package/dist/esm/components/FileUploader/FileList/FileList.js.map +1 -1
  389. package/dist/esm/components/FileUploader/FileUploader.js +4 -21
  390. package/dist/esm/components/FileUploader/FileUploader.js.map +1 -1
  391. package/dist/esm/components/FileUploader/Preview/Preview.js +8 -14
  392. package/dist/esm/components/FileUploader/Preview/Preview.js.map +1 -1
  393. package/dist/esm/components/Focus/Focus.js +10 -15
  394. package/dist/esm/components/Focus/Focus.js.map +1 -1
  395. package/dist/esm/components/Footer/Footer.js +9 -23
  396. package/dist/esm/components/Footer/Footer.js.map +1 -1
  397. package/dist/esm/components/Forms/Adornment/Adornment.js +2 -29
  398. package/dist/esm/components/Forms/Adornment/Adornment.js.map +1 -1
  399. package/dist/esm/components/Forms/CharCounter/CharCounter.js +5 -27
  400. package/dist/esm/components/Forms/CharCounter/CharCounter.js.map +1 -1
  401. package/dist/esm/components/Forms/FormElement/FormElement.js +2 -16
  402. package/dist/esm/components/Forms/FormElement/FormElement.js.map +1 -1
  403. package/dist/esm/components/Forms/InfoMessage/InfoMessage.js +2 -11
  404. package/dist/esm/components/Forms/InfoMessage/InfoMessage.js.map +1 -1
  405. package/dist/esm/components/Forms/Label/Label.js +8 -17
  406. package/dist/esm/components/Forms/Label/Label.js.map +1 -1
  407. package/dist/esm/components/Forms/Suggestions/Suggestions.js +5 -26
  408. package/dist/esm/components/Forms/Suggestions/Suggestions.js.map +1 -1
  409. package/dist/esm/components/Forms/WarningText/WarningText.js +6 -20
  410. package/dist/esm/components/Forms/WarningText/WarningText.js.map +1 -1
  411. package/dist/esm/components/GlobalActions/GlobalActions.js +7 -25
  412. package/dist/esm/components/GlobalActions/GlobalActions.js.map +1 -1
  413. package/dist/esm/components/Grid/Grid.js +5 -9
  414. package/dist/esm/components/Grid/Grid.js.map +1 -1
  415. package/dist/esm/components/Header/Actions/Actions.js +2 -6
  416. package/dist/esm/components/Header/Actions/Actions.js.map +1 -1
  417. package/dist/esm/components/Header/Brand/Brand.js +6 -11
  418. package/dist/esm/components/Header/Brand/Brand.js.map +1 -1
  419. package/dist/esm/components/Header/Header.js +2 -10
  420. package/dist/esm/components/Header/Header.js.map +1 -1
  421. package/dist/esm/components/Header/Navigation/MenuBar/MenuBar.js +3 -17
  422. package/dist/esm/components/Header/Navigation/MenuBar/MenuBar.js.map +1 -1
  423. package/dist/esm/components/Header/Navigation/MenuBar/MenuBar.styles.js +3 -7
  424. package/dist/esm/components/Header/Navigation/MenuBar/MenuBar.styles.js.map +1 -1
  425. package/dist/esm/components/Header/Navigation/MenuItem/MenuItem.js +6 -24
  426. package/dist/esm/components/Header/Navigation/MenuItem/MenuItem.js.map +1 -1
  427. package/dist/esm/components/Header/Navigation/Navigation.js +2 -15
  428. package/dist/esm/components/Header/Navigation/Navigation.js.map +1 -1
  429. package/dist/esm/components/Header/Navigation/utils/FocusContext.js +2 -5
  430. package/dist/esm/components/Header/Navigation/utils/FocusContext.js.map +1 -1
  431. package/dist/esm/components/Input/Input.js +42 -112
  432. package/dist/esm/components/Input/Input.js.map +1 -1
  433. package/dist/esm/components/Input/Input.styles.js +2 -4
  434. package/dist/esm/components/Input/Input.styles.js.map +1 -1
  435. package/dist/esm/components/Kpi/Kpi.js +16 -47
  436. package/dist/esm/components/Kpi/Kpi.js.map +1 -1
  437. package/dist/esm/components/Link/Link.js +2 -14
  438. package/dist/esm/components/Link/Link.js.map +1 -1
  439. package/dist/esm/components/List/List.js +32 -104
  440. package/dist/esm/components/List/List.js.map +1 -1
  441. package/dist/esm/components/List/List.styles.js +5 -13
  442. package/dist/esm/components/List/List.styles.js.map +1 -1
  443. package/dist/esm/components/ListContainer/ListContainer.js +2 -11
  444. package/dist/esm/components/ListContainer/ListContainer.js.map +1 -1
  445. package/dist/esm/components/ListContainer/ListItem/ListItem.js +12 -32
  446. package/dist/esm/components/ListContainer/ListItem/ListItem.js.map +1 -1
  447. package/dist/esm/components/Loading/Loading.js +5 -18
  448. package/dist/esm/components/Loading/Loading.js.map +1 -1
  449. package/dist/esm/components/Login/Login.js +4 -13
  450. package/dist/esm/components/Login/Login.js.map +1 -1
  451. package/dist/esm/components/MultiButton/MultiButton.js +14 -19
  452. package/dist/esm/components/MultiButton/MultiButton.js.map +1 -1
  453. package/dist/esm/components/MultiButton/MultiButton.styles.js +2 -5
  454. package/dist/esm/components/MultiButton/MultiButton.styles.js.map +1 -1
  455. package/dist/esm/components/OverflowTooltip/OverflowTooltip.js +3 -20
  456. package/dist/esm/components/OverflowTooltip/OverflowTooltip.js.map +1 -1
  457. package/dist/esm/components/OverflowTooltip/OverflowTooltip.styles.js +2 -4
  458. package/dist/esm/components/OverflowTooltip/OverflowTooltip.styles.js.map +1 -1
  459. package/dist/esm/components/Pagination/ButtonIconTooltip.js +1 -13
  460. package/dist/esm/components/Pagination/ButtonIconTooltip.js.map +1 -1
  461. package/dist/esm/components/Pagination/Pagination.js +27 -127
  462. package/dist/esm/components/Pagination/Pagination.js.map +1 -1
  463. package/dist/esm/components/Pagination/Select.js +8 -32
  464. package/dist/esm/components/Pagination/Select.js.map +1 -1
  465. package/dist/esm/components/Panel/Panel.js +2 -7
  466. package/dist/esm/components/Panel/Panel.js.map +1 -1
  467. package/dist/esm/components/ProgressBar/ProgressBar.js +9 -30
  468. package/dist/esm/components/ProgressBar/ProgressBar.js.map +1 -1
  469. package/dist/esm/components/Radio/Radio.js +16 -51
  470. package/dist/esm/components/Radio/Radio.js.map +1 -1
  471. package/dist/esm/components/RadioGroup/RadioGroup.js +7 -36
  472. package/dist/esm/components/RadioGroup/RadioGroup.js.map +1 -1
  473. package/dist/esm/components/SelectionList/SelectionList.js +7 -41
  474. package/dist/esm/components/SelectionList/SelectionList.js.map +1 -1
  475. package/dist/esm/components/SelectionList/SelectionList.styles.js +4 -10
  476. package/dist/esm/components/SelectionList/SelectionList.styles.js.map +1 -1
  477. package/dist/esm/components/SimpleGrid/SimpleGrid.js +2 -8
  478. package/dist/esm/components/SimpleGrid/SimpleGrid.js.map +1 -1
  479. package/dist/esm/components/Snackbar/Snackbar.js +14 -48
  480. package/dist/esm/components/Snackbar/Snackbar.js.map +1 -1
  481. package/dist/esm/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.js +9 -32
  482. package/dist/esm/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.js.map +1 -1
  483. package/dist/esm/components/Snackbar/SnackbarProvider/SnackbarProvider.js +4 -27
  484. package/dist/esm/components/Snackbar/SnackbarProvider/SnackbarProvider.js.map +1 -1
  485. package/dist/esm/components/Stack/Stack.js +8 -29
  486. package/dist/esm/components/Stack/Stack.js.map +1 -1
  487. package/dist/esm/components/Switch/Switch.js +13 -46
  488. package/dist/esm/components/Switch/Switch.js.map +1 -1
  489. package/dist/esm/components/Tab/Tab.js +17 -14
  490. package/dist/esm/components/Tab/Tab.js.map +1 -1
  491. package/dist/esm/components/Table/Table.js +2 -13
  492. package/dist/esm/components/Table/Table.js.map +1 -1
  493. package/dist/esm/components/Table/TableBody/TableBody.js +6 -25
  494. package/dist/esm/components/Table/TableBody/TableBody.js.map +1 -1
  495. package/dist/esm/components/Table/TableCell/TableCell.js +2 -23
  496. package/dist/esm/components/Table/TableCell/TableCell.js.map +1 -1
  497. package/dist/esm/components/Table/TableContainer/TableContainer.js +2 -6
  498. package/dist/esm/components/Table/TableContainer/TableContainer.js.map +1 -1
  499. package/dist/esm/components/Table/TableHead/TableHead.js +2 -11
  500. package/dist/esm/components/Table/TableHead/TableHead.js.map +1 -1
  501. package/dist/esm/components/Table/TableHeader/TableHeader.js +6 -49
  502. package/dist/esm/components/Table/TableHeader/TableHeader.js.map +1 -1
  503. package/dist/esm/components/Table/TableHeader/TableHeader.styles.js +8 -14
  504. package/dist/esm/components/Table/TableHeader/TableHeader.styles.js.map +1 -1
  505. package/dist/esm/components/Table/TableRow/TableRow.js +2 -15
  506. package/dist/esm/components/Table/TableRow/TableRow.js.map +1 -1
  507. package/dist/esm/components/Table/hooks/useRowExpand.js +5 -15
  508. package/dist/esm/components/Table/hooks/useRowExpand.js.map +1 -1
  509. package/dist/esm/components/Table/hooks/useRowSelection.js +2 -8
  510. package/dist/esm/components/Table/hooks/useRowSelection.js.map +1 -1
  511. package/dist/esm/components/Table/renderers/DateColumnCell/DateColumnCell.js +2 -4
  512. package/dist/esm/components/Table/renderers/DateColumnCell/DateColumnCell.js.map +1 -1
  513. package/dist/esm/components/Table/renderers/DropdownColumnCell/DropdownColumnCell.js +3 -10
  514. package/dist/esm/components/Table/renderers/DropdownColumnCell/DropdownColumnCell.js.map +1 -1
  515. package/dist/esm/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.js +2 -10
  516. package/dist/esm/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.js.map +1 -1
  517. package/dist/esm/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.js +6 -17
  518. package/dist/esm/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.js.map +1 -1
  519. package/dist/esm/components/Table/renderers/renderers.js +19 -60
  520. package/dist/esm/components/Table/renderers/renderers.js.map +1 -1
  521. package/dist/esm/components/Tabs/Tabs.js +9 -13
  522. package/dist/esm/components/Tabs/Tabs.js.map +1 -1
  523. package/dist/esm/components/Tag/Tag.js +25 -55
  524. package/dist/esm/components/Tag/Tag.js.map +1 -1
  525. package/dist/esm/components/TagsInput/TagsInput.js +45 -129
  526. package/dist/esm/components/TagsInput/TagsInput.js.map +1 -1
  527. package/dist/esm/components/TagsInput/TagsInput.styles.js +11 -31
  528. package/dist/esm/components/TagsInput/TagsInput.styles.js.map +1 -1
  529. package/dist/esm/components/TextArea/TextArea.js +22 -69
  530. package/dist/esm/components/TextArea/TextArea.js.map +1 -1
  531. package/dist/esm/components/TextArea/TextArea.styles.js +5 -13
  532. package/dist/esm/components/TextArea/TextArea.styles.js.map +1 -1
  533. package/dist/esm/components/ToggleButton/ToggleButton.js +2 -10
  534. package/dist/esm/components/ToggleButton/ToggleButton.js.map +1 -1
  535. package/dist/esm/components/Tooltip/Tooltip.js +8 -21
  536. package/dist/esm/components/Tooltip/Tooltip.js.map +1 -1
  537. package/dist/esm/components/Typography/Typography.js +2 -11
  538. package/dist/esm/components/Typography/Typography.js.map +1 -1
  539. package/dist/esm/hocs/withId.js +2 -5
  540. package/dist/esm/hocs/withId.js.map +1 -1
  541. package/dist/esm/hocs/withTooltip.js +5 -24
  542. package/dist/esm/hocs/withTooltip.js.map +1 -1
  543. package/dist/esm/providers/Provider.js +5 -10
  544. package/dist/esm/providers/Provider.js.map +1 -1
  545. package/dist/esm/providers/ThemeProvider.js +2 -8
  546. package/dist/esm/providers/ThemeProvider.js.map +1 -1
  547. package/dist/esm/utils/iconVariant.js +5 -16
  548. package/dist/esm/utils/iconVariant.js.map +1 -1
  549. package/dist/types/components/Card/Card.d.ts +1 -1
  550. package/dist/types/components/Card/Card.d.ts.map +1 -1
  551. package/dist/types/components/Header/Navigation/MenuBar/MenuBar.styles.d.ts.map +1 -1
  552. package/dist/types/components/Table/hooks/index.d.ts.map +1 -1
  553. package/package.json +7 -8
@@ -1 +1 @@
1
- {"version":3,"file":"BaseDropdown.cjs","sources":["../../../../src/components/BaseDropdown/BaseDropdown.tsx"],"sourcesContent":["import React, { useMemo, useState, useCallback, useContext } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport clsx from \"clsx\";\nimport BaseDropdownContext from \"./BaseDropdownContext\";\nimport {\n ClickAwayListener,\n PopperPlacementType,\n PopperProps,\n} from \"@mui/material\";\nimport { useControlled, useForkRef, useUniqueId } from \"hooks\";\nimport { isKeypress, keyboardCodes, setId } from \"utils\";\nimport { getFirstAndLastFocus } from \"utils/focusableElementFinder\";\nimport { HvBaseProps } from \"../../types\";\nimport {\n StyledAnchor,\n StyledContainer,\n StyledDropDownXS,\n StyledDropUpXS,\n StyledExtension,\n StyledHeaderRoot,\n StyledPanel,\n StyledPlaceholder,\n StyledRoot,\n StyledSelection,\n} from \"./BaseDropdown.styles\";\nimport { usePopper } from \"react-popper\";\nimport { detectOverflow, ModifierArguments, Options } from \"@popperjs/core\";\nimport { HvThemeContext } from \"providers\";\nimport baseDropdownClasses, {\n HvBaseDropdownClasses,\n} from \"./baseDropdownClasses\";\n\nconst { Tab, Enter, Esc, Space, ArrowDown } = keyboardCodes;\n\nexport type HvBaseDropdownProps = HvBaseProps<\n HTMLDivElement,\n { placeholder }\n> & {\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 * 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 = ({\n id,\n className,\n classes,\n children,\n role,\n placeholder,\n component,\n adornment,\n expanded,\n dropdownHeaderProps,\n defaultExpanded = false,\n disabled = false,\n readOnly = false,\n disablePortal = false,\n variableWidth = false,\n placement = \"right\",\n popperProps = {},\n dropdownHeaderRef: dropdownHeaderRefProp,\n onToggle,\n onClickOutside,\n onContainerCreation,\n ...others\n}: HvBaseDropdownProps) => {\n const { rootId } = useContext(HvThemeContext);\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 elementId = useUniqueId(id, \"hvbasedropdown\");\n\n const bottom: PopperPlacementType =\n placement && `bottom-${placement === \"right\" ? \"start\" : \"end\"}`;\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: any = 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: bottom,\n modifiers,\n onFirstUpdate,\n ...otherPopperProps,\n }\n );\n\n let popperPlacement = \"bottom\";\n if (attributes.popper) {\n popperPlacement = attributes.popper[\"data-popper-placement\"];\n }\n\n const handleToggle = useCallback(\n (event) => {\n if (event && !isKeypress(event, Tab)) {\n event.preventDefault();\n }\n\n // We are checking specifically for false because if \"isKeypress\" returns true or undefined it should continue\n const notControlKey = [Tab, Enter, Esc, ArrowDown, Space].every(\n (key) => isKeypress(event, key) === false\n );\n\n const ignoredCombinations =\n (isKeypress(event, Esc) && !isOpen) ||\n (isKeypress(event, ArrowDown) && isOpen) ||\n (isKeypress(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 });\n }\n\n return (\n <StyledHeaderRoot\n id={setId(id, \"header\")}\n className={clsx(\n baseDropdownClasses.header,\n classes?.header,\n disabled &&\n clsx(baseDropdownClasses.headerDisabled, classes?.headerDisabled),\n readOnly &&\n clsx(baseDropdownClasses.headerReadOnly, classes?.headerReadOnly),\n isOpen && clsx(baseDropdownClasses.headerOpen, classes?.headerOpen),\n isOpen &&\n popperPlacement.includes(\"top\") &&\n clsx(baseDropdownClasses.headerOpenUp, classes?.headerOpenUp),\n isOpen &&\n popperPlacement.includes(\"bottom\") &&\n clsx(baseDropdownClasses.headerOpenDown, classes?.headerOpenDown)\n )}\n $disabled={disabled}\n $readOnly={readOnly}\n $opened={isOpen}\n $openedUp={isOpen && popperPlacement.includes(\"top\")}\n $openedDown={isOpen && popperPlacement.includes(\"bottom\")}\n role={ariaRole === \"combobox\" ? \"textbox\" : undefined}\n style={disabled || readOnly ? { pointerEvents: \"none\" } : undefined}\n aria-controls={\n isOpen ? setId(elementId, \"children-container\") : undefined\n }\n aria-label={others[\"aria-label\"] ?? undefined}\n aria-labelledby={others[\"aria-labelledby\"] ?? 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 <StyledSelection\n className={clsx(baseDropdownClasses.selection, classes?.selection)}\n >\n {placeholder && typeof placeholder === \"string\" ? (\n <StyledPlaceholder\n className={clsx(\n baseDropdownClasses.placeholder,\n classes?.placeholder,\n disabled &&\n clsx(\n baseDropdownClasses.selectionDisabled,\n classes?.selectionDisabled\n )\n )}\n $disabled={disabled}\n variant=\"body\"\n >\n {placeholder}\n </StyledPlaceholder>\n ) : (\n placeholder\n )}\n </StyledSelection>\n {adornment ||\n (isOpen ? (\n <StyledDropUpXS\n iconSize=\"XS\"\n className={clsx(baseDropdownClasses.arrow, classes?.arrow)}\n />\n ) : (\n <StyledDropDownXS\n iconSize=\"XS\"\n className={clsx(baseDropdownClasses.arrow, classes?.arrow)}\n $disabled={disabled}\n />\n ))}\n </StyledHeaderRoot>\n );\n })();\n\n const containerComponent = (() => {\n /**\n * Handle keyboard inside children container.\n */\n const handleContainerKeyDown = (event) => {\n if (isKeypress(event, Esc)) {\n handleToggle(event);\n }\n if (isKeypress(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 = (event) => {\n const isButtonClick = referenceElement?.contains(event.target);\n if (!isButtonClick) {\n onClickOutside?.(event);\n setIsOpen(false);\n onToggle?.(event, false);\n }\n };\n\n const container = (\n <StyledContainer\n role=\"tooltip\"\n ref={setPopperElement}\n className={clsx(baseDropdownClasses.container, classes?.container)}\n style={popperStyles.popper}\n {...attributes.popper}\n >\n <ClickAwayListener onClickAway={handleOutside}>\n <div onKeyDown={handleContainerKeyDown}>\n {popperPlacement.includes(\"bottom\") && (\n <StyledExtension\n style={{ width: extensionWidth }}\n className={clsx(\n baseDropdownClasses.inputExtensionOpen,\n classes?.inputExtensionOpen,\n popperPlacement.includes(\"end\") &&\n clsx(\n baseDropdownClasses.inputExtensionLeftPosition,\n classes?.inputExtensionLeftPosition\n )\n )}\n $leftPosition={popperPlacement.includes(\"end\")}\n $openShadow={false}\n $floatLeft={false}\n $floatRight={false}\n />\n )}\n <BaseDropdownContext.Provider value={popperMaxSize}>\n <StyledPanel\n id={setId(elementId, \"children-container\")}\n className={clsx(baseDropdownClasses.panel, classes?.panel)}\n >\n {children}\n </StyledPanel>\n </BaseDropdownContext.Provider>\n {popperPlacement.includes(\"top\") && (\n <StyledExtension\n style={{ width: extensionWidth }}\n className={clsx(\n baseDropdownClasses.inputExtensionOpen,\n classes?.inputExtensionOpen,\n baseDropdownClasses.inputExtensionOpenShadow,\n classes?.inputExtensionOpenShadow,\n popperPlacement.includes(\"end\") &&\n clsx(\n baseDropdownClasses.inputExtensionFloatRight,\n classes?.inputExtensionFloatRight\n ),\n popperPlacement.includes(\"start\") &&\n clsx(\n baseDropdownClasses.inputExtensionFloatLeft,\n classes?.inputExtensionFloatLeft\n )\n )}\n $leftPosition={false}\n $openShadow={true}\n $floatLeft={popperPlacement.includes(\"start\")}\n $floatRight={popperPlacement.includes(\"end\")}\n />\n )}\n </div>\n </ClickAwayListener>\n </StyledContainer>\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 <StyledRoot className={clsx(baseDropdownClasses.root, classes?.root)}>\n <StyledAnchor\n id={id}\n role={ariaRole}\n aria-expanded={!!isOpen}\n aria-owns={isOpen ? setId(elementId, \"children-container\") : undefined}\n className={clsx(\n className,\n baseDropdownClasses.anchor,\n classes?.anchor,\n disabled &&\n clsx(baseDropdownClasses.rootDisabled, classes?.rootDisabled)\n )}\n $disabled={disabled}\n {...(!readOnly && {\n onKeyDown: handleToggle,\n onClick: handleToggle,\n })}\n // Removes the element from the navigation sequence for keyboard focus\n tabIndex={-1}\n {...others}\n >\n {headerComponent}\n </StyledAnchor>\n {isOpen && containerComponent}\n </StyledRoot>\n );\n};\n"],"names":["Tab","Enter","Esc","Space","ArrowDown","keyboardCodes","HvBaseDropdown","id","className","classes","children","role","placeholder","component","adornment","expanded","dropdownHeaderProps","defaultExpanded","disabled","readOnly","disablePortal","variableWidth","placement","popperProps","dropdownHeaderRef","dropdownHeaderRefProp","onToggle","onClickOutside","onContainerCreation","others","rootId","useContext","HvThemeContext","isOpen","setIsOpen","useControlled","Boolean","referenceElement","setReferenceElement","useState","popperElement","setPopperElement","popperMaxSize","setPopperMaxSize","handleDropdownHeaderRefProp","useForkRef","ref","handleDropdownHeaderRef","ariaRole","undefined","elementId","useUniqueId","bottom","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","isKeypress","preventDefault","notControlKey","every","key","ignoredCombinations","newOpen","focusHeader","focus","preventScroll","headerComponent","React","cloneElement","StyledHeaderRoot","setId","clsx","baseDropdownClasses","header","headerDisabled","headerReadOnly","headerOpen","includes","headerOpenUp","headerOpenDown","$disabled","$readOnly","$opened","$openedUp","$openedDown","pointerEvents","tabIndex","_jsx","StyledSelection","selection","StyledPlaceholder","selectionDisabled","variant","StyledDropUpXS","iconSize","arrow","StyledDropDownXS","containerComponent","handleContainerKeyDown","shiftKey","focusList","getFirstAndLastFocus","document","activeElement","last","first","handleOutside","isButtonClick","contains","target","container","StyledContainer","ClickAwayListener","onClickAway","onKeyDown","StyledExtension","inputExtensionOpen","inputExtensionLeftPosition","$leftPosition","$openShadow","$floatLeft","$floatRight","BaseDropdownContext","Provider","value","StyledPanel","panel","inputExtensionOpenShadow","inputExtensionFloatRight","inputExtensionFloatLeft","createPortal","getElementById","body","StyledRoot","root","StyledAnchor","anchor","rootDisabled","onClick"],"mappings":"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"}
1
+ {"version":3,"file":"BaseDropdown.cjs","sources":["../../../../src/components/BaseDropdown/BaseDropdown.tsx"],"sourcesContent":["import React, { useMemo, useState, useCallback, useContext } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport clsx from \"clsx\";\nimport BaseDropdownContext from \"./BaseDropdownContext\";\nimport {\n ClickAwayListener,\n PopperPlacementType,\n PopperProps,\n} from \"@mui/material\";\nimport { useControlled, useForkRef, useUniqueId } from \"hooks\";\nimport { isKeypress, keyboardCodes, setId } from \"utils\";\nimport { getFirstAndLastFocus } from \"utils/focusableElementFinder\";\nimport { HvBaseProps } from \"../../types\";\nimport {\n StyledAnchor,\n StyledContainer,\n StyledDropDownXS,\n StyledDropUpXS,\n StyledExtension,\n StyledHeaderRoot,\n StyledPanel,\n StyledPlaceholder,\n StyledRoot,\n StyledSelection,\n} from \"./BaseDropdown.styles\";\nimport { usePopper } from \"react-popper\";\nimport { detectOverflow, ModifierArguments, Options } from \"@popperjs/core\";\nimport { HvThemeContext } from \"providers\";\nimport baseDropdownClasses, {\n HvBaseDropdownClasses,\n} from \"./baseDropdownClasses\";\n\nconst { Tab, Enter, Esc, Space, ArrowDown } = keyboardCodes;\n\nexport type HvBaseDropdownProps = HvBaseProps<\n HTMLDivElement,\n { placeholder }\n> & {\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 * 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 = ({\n id,\n className,\n classes,\n children,\n role,\n placeholder,\n component,\n adornment,\n expanded,\n dropdownHeaderProps,\n defaultExpanded = false,\n disabled = false,\n readOnly = false,\n disablePortal = false,\n variableWidth = false,\n placement = \"right\",\n popperProps = {},\n dropdownHeaderRef: dropdownHeaderRefProp,\n onToggle,\n onClickOutside,\n onContainerCreation,\n ...others\n}: HvBaseDropdownProps) => {\n const { rootId } = useContext(HvThemeContext);\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 elementId = useUniqueId(id, \"hvbasedropdown\");\n\n const bottom: PopperPlacementType =\n placement && `bottom-${placement === \"right\" ? \"start\" : \"end\"}`;\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: any = 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: bottom,\n modifiers,\n onFirstUpdate,\n ...otherPopperProps,\n }\n );\n\n let popperPlacement = \"bottom\";\n if (attributes.popper) {\n popperPlacement = attributes.popper[\"data-popper-placement\"];\n }\n\n const handleToggle = useCallback(\n (event) => {\n if (event && !isKeypress(event, Tab)) {\n event.preventDefault();\n }\n\n // We are checking specifically for false because if \"isKeypress\" returns true or undefined it should continue\n const notControlKey = [Tab, Enter, Esc, ArrowDown, Space].every(\n (key) => isKeypress(event, key) === false\n );\n\n const ignoredCombinations =\n (isKeypress(event, Esc) && !isOpen) ||\n (isKeypress(event, ArrowDown) && isOpen) ||\n (isKeypress(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 });\n }\n\n return (\n <StyledHeaderRoot\n id={setId(id, \"header\")}\n className={clsx(\n baseDropdownClasses.header,\n classes?.header,\n disabled &&\n clsx(baseDropdownClasses.headerDisabled, classes?.headerDisabled),\n readOnly &&\n clsx(baseDropdownClasses.headerReadOnly, classes?.headerReadOnly),\n isOpen && clsx(baseDropdownClasses.headerOpen, classes?.headerOpen),\n isOpen &&\n popperPlacement.includes(\"top\") &&\n clsx(baseDropdownClasses.headerOpenUp, classes?.headerOpenUp),\n isOpen &&\n popperPlacement.includes(\"bottom\") &&\n clsx(baseDropdownClasses.headerOpenDown, classes?.headerOpenDown)\n )}\n $disabled={disabled}\n $readOnly={readOnly}\n $opened={isOpen}\n $openedUp={isOpen && popperPlacement.includes(\"top\")}\n $openedDown={isOpen && popperPlacement.includes(\"bottom\")}\n role={ariaRole === \"combobox\" ? \"textbox\" : undefined}\n style={disabled || readOnly ? { pointerEvents: \"none\" } : undefined}\n aria-controls={\n isOpen ? setId(elementId, \"children-container\") : undefined\n }\n aria-label={others[\"aria-label\"] ?? undefined}\n aria-labelledby={others[\"aria-labelledby\"] ?? 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 <StyledSelection\n className={clsx(baseDropdownClasses.selection, classes?.selection)}\n >\n {placeholder && typeof placeholder === \"string\" ? (\n <StyledPlaceholder\n className={clsx(\n baseDropdownClasses.placeholder,\n classes?.placeholder,\n disabled &&\n clsx(\n baseDropdownClasses.selectionDisabled,\n classes?.selectionDisabled\n )\n )}\n $disabled={disabled}\n variant=\"body\"\n >\n {placeholder}\n </StyledPlaceholder>\n ) : (\n placeholder\n )}\n </StyledSelection>\n {adornment ||\n (isOpen ? (\n <StyledDropUpXS\n iconSize=\"XS\"\n className={clsx(baseDropdownClasses.arrow, classes?.arrow)}\n />\n ) : (\n <StyledDropDownXS\n iconSize=\"XS\"\n className={clsx(baseDropdownClasses.arrow, classes?.arrow)}\n $disabled={disabled}\n />\n ))}\n </StyledHeaderRoot>\n );\n })();\n\n const containerComponent = (() => {\n /**\n * Handle keyboard inside children container.\n */\n const handleContainerKeyDown = (event) => {\n if (isKeypress(event, Esc)) {\n handleToggle(event);\n }\n if (isKeypress(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 = (event) => {\n const isButtonClick = referenceElement?.contains(event.target);\n if (!isButtonClick) {\n onClickOutside?.(event);\n setIsOpen(false);\n onToggle?.(event, false);\n }\n };\n\n const container = (\n <StyledContainer\n role=\"tooltip\"\n ref={setPopperElement}\n className={clsx(baseDropdownClasses.container, classes?.container)}\n style={popperStyles.popper}\n {...attributes.popper}\n >\n <ClickAwayListener onClickAway={handleOutside}>\n <div onKeyDown={handleContainerKeyDown}>\n {popperPlacement.includes(\"bottom\") && (\n <StyledExtension\n style={{ width: extensionWidth }}\n className={clsx(\n baseDropdownClasses.inputExtensionOpen,\n classes?.inputExtensionOpen,\n popperPlacement.includes(\"end\") &&\n clsx(\n baseDropdownClasses.inputExtensionLeftPosition,\n classes?.inputExtensionLeftPosition\n )\n )}\n $leftPosition={popperPlacement.includes(\"end\")}\n $openShadow={false}\n $floatLeft={false}\n $floatRight={false}\n />\n )}\n <BaseDropdownContext.Provider value={popperMaxSize}>\n <StyledPanel\n id={setId(elementId, \"children-container\")}\n className={clsx(baseDropdownClasses.panel, classes?.panel)}\n >\n {children}\n </StyledPanel>\n </BaseDropdownContext.Provider>\n {popperPlacement.includes(\"top\") && (\n <StyledExtension\n style={{ width: extensionWidth }}\n className={clsx(\n baseDropdownClasses.inputExtensionOpen,\n classes?.inputExtensionOpen,\n baseDropdownClasses.inputExtensionOpenShadow,\n classes?.inputExtensionOpenShadow,\n popperPlacement.includes(\"end\") &&\n clsx(\n baseDropdownClasses.inputExtensionFloatRight,\n classes?.inputExtensionFloatRight\n ),\n popperPlacement.includes(\"start\") &&\n clsx(\n baseDropdownClasses.inputExtensionFloatLeft,\n classes?.inputExtensionFloatLeft\n )\n )}\n $leftPosition={false}\n $openShadow={true}\n $floatLeft={popperPlacement.includes(\"start\")}\n $floatRight={popperPlacement.includes(\"end\")}\n />\n )}\n </div>\n </ClickAwayListener>\n </StyledContainer>\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 <StyledRoot className={clsx(baseDropdownClasses.root, classes?.root)}>\n <StyledAnchor\n id={id}\n role={ariaRole}\n aria-expanded={!!isOpen}\n aria-owns={isOpen ? setId(elementId, \"children-container\") : undefined}\n className={clsx(\n className,\n baseDropdownClasses.anchor,\n classes?.anchor,\n disabled &&\n clsx(baseDropdownClasses.rootDisabled, classes?.rootDisabled)\n )}\n $disabled={disabled}\n {...(!readOnly && {\n onKeyDown: handleToggle,\n onClick: handleToggle,\n })}\n // Removes the element from the navigation sequence for keyboard focus\n tabIndex={-1}\n {...others}\n >\n {headerComponent}\n </StyledAnchor>\n {isOpen && containerComponent}\n </StyledRoot>\n );\n};\n"],"names":["Tab","Enter","Esc","Space","ArrowDown","keyboardCodes","HvBaseDropdown","id","className","classes","children","role","placeholder","component","adornment","expanded","dropdownHeaderProps","defaultExpanded","disabled","readOnly","disablePortal","variableWidth","placement","popperProps","dropdownHeaderRef","dropdownHeaderRefProp","onToggle","onClickOutside","onContainerCreation","others","rootId","useContext","HvThemeContext","isOpen","setIsOpen","useControlled","Boolean","referenceElement","setReferenceElement","useState","popperElement","setPopperElement","popperMaxSize","setPopperMaxSize","handleDropdownHeaderRefProp","useForkRef","ref","handleDropdownHeaderRef","ariaRole","undefined","elementId","useUniqueId","bottom","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","isKeypress","preventDefault","notControlKey","every","key","ignoredCombinations","newOpen","focusHeader","focus","preventScroll","headerComponent","React","cloneElement","jsxs","StyledHeaderRoot","setId","clsx","baseDropdownClasses","header","headerDisabled","headerReadOnly","headerOpen","includes","headerOpenUp","headerOpenDown","pointerEvents","jsx","StyledSelection","selection","StyledPlaceholder","selectionDisabled","StyledDropUpXS","arrow","StyledDropDownXS","containerComponent","handleContainerKeyDown","shiftKey","focusList","getFirstAndLastFocus","document","activeElement","last","first","handleOutside","isButtonClick","contains","target","container","StyledContainer","ClickAwayListener","StyledExtension","inputExtensionOpen","inputExtensionLeftPosition","BaseDropdownContext","StyledPanel","panel","inputExtensionOpenShadow","inputExtensionFloatRight","inputExtensionFloatLeft","createPortal","getElementById","body","StyledRoot","root","StyledAnchor","anchor","rootDisabled","onKeyDown","onClick"],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const jsxRuntime = require("@emotion/react/jsx-runtime");
3
4
  const React = require("react");
4
5
  const BaseInput_styles = require("./BaseInput.styles.cjs");
5
6
  const clsx = require("clsx");
6
7
  const baseInputClasses = require("./baseInputClasses.cjs");
7
8
  const react = require("@emotion/react");
8
9
  const uikitStyles = require("@hitachivantara/uikit-styles");
9
- const jsxRuntime = require("@emotion/react/jsx-runtime");
10
10
  const FormUtils = require("../Forms/FormElement/utils/FormUtils.cjs");
11
11
  const FormElementContext = require("../Forms/FormElement/context/FormElementContext.cjs");
12
12
  const FormElementDescriptorsContext = require("../Forms/FormElement/context/FormElementDescriptorsContext.cjs");
@@ -41,52 +41,23 @@ const HvBaseInput = ({
41
41
  const onChangeHandler = (event) => {
42
42
  onChange == null ? void 0 : onChange(event, event.target.value);
43
43
  };
44
- return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, {
45
- children: [/* @__PURE__ */ jsxRuntime.jsx(react.Global, {
46
- styles: baseInputStyles
47
- }), /* @__PURE__ */ jsxRuntime.jsxs(BaseInput_styles.StyledRoot, {
48
- className: clsx__default.default(baseInputClasses.default.root, classes == null ? void 0 : classes.root, className, formElementProps.disabled && clsx__default.default(baseInputClasses.default.disabled, classes == null ? void 0 : classes.disabled), localInvalid && clsx__default.default(baseInputClasses.default.invalid, classes == null ? void 0 : classes.invalid), multiline && resizable && clsx__default.default(baseInputClasses.default.resizable, classes == null ? void 0 : classes.resizable), readOnly && clsx__default.default(baseInputClasses.default.readOnly, classes == null ? void 0 : classes.readOnly)),
49
- $disabled: formElementProps.disabled,
50
- $invalid: localInvalid,
51
- $resizable: multiline && resizable,
52
- $readOnly: !!readOnly,
53
- children: [/* @__PURE__ */ jsxRuntime.jsx(BaseInput_styles.StyledInput, {
54
- id,
55
- name: formElementProps.name,
56
- value,
57
- defaultValue,
58
- type,
59
- placeholder,
60
- readOnly: !!formElementProps.readOnly,
61
- disabled: formElementProps.disabled,
62
- onChange: onChangeHandler,
63
- className: clsx__default.default(localInvalid && clsx__default.default(baseInputClasses.default.inputRootInvalid, classes == null ? void 0 : classes.inputRootInvalid), readOnly && clsx__default.default(baseInputClasses.default.inputRootReadOnly, classes == null ? void 0 : classes.inputRootReadOnly)),
64
- classes: {
65
- root: clsx__default.default(baseInputClasses.default.inputRoot, classes == null ? void 0 : classes.inputRoot),
66
- focused: clsx__default.default(baseInputClasses.default.inputRootFocused, classes == null ? void 0 : classes.inputRootFocused),
67
- disabled: clsx__default.default(baseInputClasses.default.inputRootDisabled, classes == null ? void 0 : classes.inputRootDisabled),
68
- multiline: clsx__default.default(baseInputClasses.default.inputRootMultiline, classes == null ? void 0 : classes.inputRootMultiline),
69
- input: clsx__default.default(baseInputClasses.default.input, classes == null ? void 0 : classes.input, !formElementProps.disabled && resizable && clsx__default.default(baseInputClasses.default.inputResizable, classes == null ? void 0 : classes.inputResizable), disabled && clsx__default.default(baseInputClasses.default.inputDisabled, classes == null ? void 0 : classes.inputDisabled), readOnly && clsx__default.default(baseInputClasses.default.inputReadOnly, classes == null ? void 0 : classes.readOnly))
70
- },
71
- inputProps: {
72
- required: formElementProps.required,
73
- ...inputProps,
74
- ...ariaProps
75
- },
76
- inputRef,
77
- multiline,
78
- rows: 10,
79
- $resizable: !formElementProps.disabled && resizable,
80
- $disabled: !!disabled,
81
- $readOnly: !!readOnly,
82
- $invalid: localInvalid,
83
- ...others
84
- }), !multiline && /* @__PURE__ */ jsxRuntime.jsx(BaseInput_styles.StyledInputBorderContainer, {
85
- role: "presentation",
86
- className: clsx__default.default(baseInputClasses.default.inputBorderContainer, classes == null ? void 0 : classes.inputBorderContainer)
87
- })]
88
- })]
89
- });
44
+ return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
45
+ /* @__PURE__ */ jsxRuntime.jsx(react.Global, { styles: baseInputStyles }),
46
+ /* @__PURE__ */ jsxRuntime.jsxs(BaseInput_styles.StyledRoot, { className: clsx__default.default(baseInputClasses.default.root, classes == null ? void 0 : classes.root, className, formElementProps.disabled && clsx__default.default(baseInputClasses.default.disabled, classes == null ? void 0 : classes.disabled), localInvalid && clsx__default.default(baseInputClasses.default.invalid, classes == null ? void 0 : classes.invalid), multiline && resizable && clsx__default.default(baseInputClasses.default.resizable, classes == null ? void 0 : classes.resizable), readOnly && clsx__default.default(baseInputClasses.default.readOnly, classes == null ? void 0 : classes.readOnly)), $disabled: formElementProps.disabled, $invalid: localInvalid, $resizable: multiline && resizable, $readOnly: !!readOnly, children: [
47
+ /* @__PURE__ */ jsxRuntime.jsx(BaseInput_styles.StyledInput, { id, name: formElementProps.name, value, defaultValue, type, placeholder, readOnly: !!formElementProps.readOnly, disabled: formElementProps.disabled, onChange: onChangeHandler, className: clsx__default.default(localInvalid && clsx__default.default(baseInputClasses.default.inputRootInvalid, classes == null ? void 0 : classes.inputRootInvalid), readOnly && clsx__default.default(baseInputClasses.default.inputRootReadOnly, classes == null ? void 0 : classes.inputRootReadOnly)), classes: {
48
+ root: clsx__default.default(baseInputClasses.default.inputRoot, classes == null ? void 0 : classes.inputRoot),
49
+ focused: clsx__default.default(baseInputClasses.default.inputRootFocused, classes == null ? void 0 : classes.inputRootFocused),
50
+ disabled: clsx__default.default(baseInputClasses.default.inputRootDisabled, classes == null ? void 0 : classes.inputRootDisabled),
51
+ multiline: clsx__default.default(baseInputClasses.default.inputRootMultiline, classes == null ? void 0 : classes.inputRootMultiline),
52
+ input: clsx__default.default(baseInputClasses.default.input, classes == null ? void 0 : classes.input, !formElementProps.disabled && resizable && clsx__default.default(baseInputClasses.default.inputResizable, classes == null ? void 0 : classes.inputResizable), disabled && clsx__default.default(baseInputClasses.default.inputDisabled, classes == null ? void 0 : classes.inputDisabled), readOnly && clsx__default.default(baseInputClasses.default.inputReadOnly, classes == null ? void 0 : classes.readOnly))
53
+ }, inputProps: {
54
+ required: formElementProps.required,
55
+ ...inputProps,
56
+ ...ariaProps
57
+ }, inputRef, multiline, rows: 10, $resizable: !formElementProps.disabled && resizable, $disabled: !!disabled, $readOnly: !!readOnly, $invalid: localInvalid, ...others }),
58
+ !multiline && /* @__PURE__ */ jsxRuntime.jsx(BaseInput_styles.StyledInputBorderContainer, { role: "presentation", className: clsx__default.default(baseInputClasses.default.inputBorderContainer, classes == null ? void 0 : classes.inputBorderContainer) })
59
+ ] })
60
+ ] });
90
61
  };
91
62
  exports.HvBaseInput = HvBaseInput;
92
63
  //# sourceMappingURL=BaseInput.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseInput.cjs","sources":["../../../../src/components/BaseInput/BaseInput.tsx"],"sourcesContent":["import { RefObject, useContext } from \"react\";\nimport {\n InputBaseComponentProps as MuiInputBaseComponentProps,\n InputProps as MuiInputProps,\n} from \"@mui/material\";\nimport { HvBaseProps } from \"../../types\";\nimport {\n StyledRoot,\n StyledInputBorderContainer,\n StyledInput,\n} from \"./BaseInput.styles\";\nimport {\n HvFormElementContext,\n HvFormElementDescriptorsContext,\n buildFormElementPropsFromContext,\n buildAriaPropsFromContext,\n} from \"../Forms/FormElement\";\nimport clsx from \"clsx\";\nimport baseInputClasses, { HvBaseInputClasses } from \"./baseInputClasses\";\nimport { css, Global } from \"@emotion/react\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\n// Global styles for the base input.\nconst baseInputStyles = css`\n \"input:-webkit-autofill\": {\n \"-webkit-box-shadow\": 0 0 0px 1000px ${theme.colors.atmo1} inset,\n \"-webkit-text-fill-color\": ${theme.colors.acce1},\n },\n\n /* Clears input's clear and reveal buttons from IE */\n \"input[type=search]::-ms-clear\": {\n display: \"none\",\n width: 0,\n height: 0,\n },\n \"input[type=search]::-ms-reveal\": {\n display: \"none\",\n width: 0,\n height: 0,\n },\n\n /* Clears input's clear button from Chrome */\n \"input[type=search]::-webkit-search-decoration\": { display: \"none\" },\n \"input[type=search]::-webkit-search-cancel-button\": { display: \"none\" },\n \"input[type=search]::-webkit-search-results-button\": {\n display: \"none\",\n },\n \"input[type=search]::-webkit-search-results-decoration\": {\n display: \"none\",\n },\n}`;\n\nexport type HvBaseInputProps = Omit<MuiInputProps, \"onChange\" | \"classes\"> &\n HvBaseProps<HTMLDivElement, { onChange }> & {\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?: RefObject<HTMLElement>;\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 = ({\n classes,\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}: HvBaseInputProps) => {\n const formElementContext = useContext(HvFormElementContext);\n const formElementProps = buildFormElementPropsFromContext(\n name,\n disabled,\n readOnly,\n required,\n status,\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 = (\n event: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>\n ) => {\n onChange?.(event, event.target.value);\n };\n\n return (\n <>\n <Global styles={baseInputStyles} />\n <StyledRoot\n className={clsx(\n baseInputClasses.root,\n classes?.root,\n className,\n formElementProps.disabled &&\n clsx(baseInputClasses.disabled, classes?.disabled),\n localInvalid && clsx(baseInputClasses.invalid, classes?.invalid),\n multiline &&\n resizable &&\n clsx(baseInputClasses.resizable, classes?.resizable),\n readOnly && clsx(baseInputClasses.readOnly, classes?.readOnly)\n )}\n $disabled={formElementProps.disabled}\n $invalid={localInvalid}\n $resizable={multiline && resizable}\n $readOnly={!!readOnly}\n >\n <StyledInput\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={clsx(\n localInvalid &&\n clsx(\n baseInputClasses.inputRootInvalid,\n classes?.inputRootInvalid\n ),\n readOnly &&\n clsx(\n baseInputClasses.inputRootReadOnly,\n classes?.inputRootReadOnly\n )\n )}\n classes={{\n root: clsx(baseInputClasses.inputRoot, classes?.inputRoot),\n focused: clsx(\n baseInputClasses.inputRootFocused,\n classes?.inputRootFocused\n ),\n disabled: clsx(\n baseInputClasses.inputRootDisabled,\n classes?.inputRootDisabled\n ),\n multiline: clsx(\n baseInputClasses.inputRootMultiline,\n classes?.inputRootMultiline\n ),\n input: clsx(\n baseInputClasses.input,\n classes?.input,\n !formElementProps.disabled &&\n resizable &&\n clsx(baseInputClasses.inputResizable, classes?.inputResizable),\n disabled &&\n clsx(baseInputClasses.inputDisabled, classes?.inputDisabled),\n readOnly &&\n clsx(baseInputClasses.inputReadOnly, classes?.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 $resizable={!formElementProps.disabled && resizable}\n $disabled={!!disabled}\n $readOnly={!!readOnly}\n $invalid={localInvalid}\n {...others}\n />\n {!multiline && (\n <StyledInputBorderContainer\n role=\"presentation\"\n className={clsx(\n baseInputClasses.inputBorderContainer,\n classes?.inputBorderContainer\n )}\n />\n )}\n </StyledRoot>\n </>\n );\n};\n"],"names":["baseInputStyles","theme","colors","atmo1","acce1","process","env","NODE_ENV","HvBaseInput","classes","className","id","name","value","defaultValue","required","readOnly","disabled","onChange","type","placeholder","multiline","resizable","invalid","inputRef","inputProps","others","formElementContext","useContext","HvFormElementContext","formElementProps","buildFormElementPropsFromContext","status","localInvalid","formElementDescriptorsContext","HvFormElementDescriptorsContext","ariaProps","buildAriaPropsFromContext","onChangeHandler","event","target","_Fragment","children","_jsx","Global","styles","_jsxs","StyledRoot","clsx","baseInputClasses","root","$disabled","$invalid","$resizable","$readOnly","StyledInput","inputRootInvalid","inputRootReadOnly","inputRoot","focused","inputRootFocused","inputRootDisabled","inputRootMultiline","input","inputResizable","inputDisabled","inputReadOnly","rows","StyledInputBorderContainer","role","inputBorderContainer"],"mappings":"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"}
1
+ {"version":3,"file":"BaseInput.cjs","sources":["../../../../src/components/BaseInput/BaseInput.tsx"],"sourcesContent":["import { RefObject, useContext } from \"react\";\nimport {\n InputBaseComponentProps as MuiInputBaseComponentProps,\n InputProps as MuiInputProps,\n} from \"@mui/material\";\nimport { HvBaseProps } from \"../../types\";\nimport {\n StyledRoot,\n StyledInputBorderContainer,\n StyledInput,\n} from \"./BaseInput.styles\";\nimport {\n HvFormElementContext,\n HvFormElementDescriptorsContext,\n buildFormElementPropsFromContext,\n buildAriaPropsFromContext,\n} from \"../Forms/FormElement\";\nimport clsx from \"clsx\";\nimport baseInputClasses, { HvBaseInputClasses } from \"./baseInputClasses\";\nimport { css, Global } from \"@emotion/react\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\n// Global styles for the base input.\nconst baseInputStyles = css`\n \"input:-webkit-autofill\": {\n \"-webkit-box-shadow\": 0 0 0px 1000px ${theme.colors.atmo1} inset,\n \"-webkit-text-fill-color\": ${theme.colors.acce1},\n },\n\n /* Clears input's clear and reveal buttons from IE */\n \"input[type=search]::-ms-clear\": {\n display: \"none\",\n width: 0,\n height: 0,\n },\n \"input[type=search]::-ms-reveal\": {\n display: \"none\",\n width: 0,\n height: 0,\n },\n\n /* Clears input's clear button from Chrome */\n \"input[type=search]::-webkit-search-decoration\": { display: \"none\" },\n \"input[type=search]::-webkit-search-cancel-button\": { display: \"none\" },\n \"input[type=search]::-webkit-search-results-button\": {\n display: \"none\",\n },\n \"input[type=search]::-webkit-search-results-decoration\": {\n display: \"none\",\n },\n}`;\n\nexport type HvBaseInputProps = Omit<MuiInputProps, \"onChange\" | \"classes\"> &\n HvBaseProps<HTMLDivElement, { onChange }> & {\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?: RefObject<HTMLElement>;\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 = ({\n classes,\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}: HvBaseInputProps) => {\n const formElementContext = useContext(HvFormElementContext);\n const formElementProps = buildFormElementPropsFromContext(\n name,\n disabled,\n readOnly,\n required,\n status,\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 = (\n event: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>\n ) => {\n onChange?.(event, event.target.value);\n };\n\n return (\n <>\n <Global styles={baseInputStyles} />\n <StyledRoot\n className={clsx(\n baseInputClasses.root,\n classes?.root,\n className,\n formElementProps.disabled &&\n clsx(baseInputClasses.disabled, classes?.disabled),\n localInvalid && clsx(baseInputClasses.invalid, classes?.invalid),\n multiline &&\n resizable &&\n clsx(baseInputClasses.resizable, classes?.resizable),\n readOnly && clsx(baseInputClasses.readOnly, classes?.readOnly)\n )}\n $disabled={formElementProps.disabled}\n $invalid={localInvalid}\n $resizable={multiline && resizable}\n $readOnly={!!readOnly}\n >\n <StyledInput\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={clsx(\n localInvalid &&\n clsx(\n baseInputClasses.inputRootInvalid,\n classes?.inputRootInvalid\n ),\n readOnly &&\n clsx(\n baseInputClasses.inputRootReadOnly,\n classes?.inputRootReadOnly\n )\n )}\n classes={{\n root: clsx(baseInputClasses.inputRoot, classes?.inputRoot),\n focused: clsx(\n baseInputClasses.inputRootFocused,\n classes?.inputRootFocused\n ),\n disabled: clsx(\n baseInputClasses.inputRootDisabled,\n classes?.inputRootDisabled\n ),\n multiline: clsx(\n baseInputClasses.inputRootMultiline,\n classes?.inputRootMultiline\n ),\n input: clsx(\n baseInputClasses.input,\n classes?.input,\n !formElementProps.disabled &&\n resizable &&\n clsx(baseInputClasses.inputResizable, classes?.inputResizable),\n disabled &&\n clsx(baseInputClasses.inputDisabled, classes?.inputDisabled),\n readOnly &&\n clsx(baseInputClasses.inputReadOnly, classes?.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 $resizable={!formElementProps.disabled && resizable}\n $disabled={!!disabled}\n $readOnly={!!readOnly}\n $invalid={localInvalid}\n {...others}\n />\n {!multiline && (\n <StyledInputBorderContainer\n role=\"presentation\"\n className={clsx(\n baseInputClasses.inputBorderContainer,\n classes?.inputBorderContainer\n )}\n />\n )}\n </StyledRoot>\n </>\n );\n};\n"],"names":["baseInputStyles","theme","colors","atmo1","acce1","process","env","NODE_ENV","HvBaseInput","classes","className","id","name","value","defaultValue","required","readOnly","disabled","onChange","type","placeholder","multiline","resizable","invalid","inputRef","inputProps","others","formElementContext","useContext","HvFormElementContext","formElementProps","buildFormElementPropsFromContext","status","localInvalid","formElementDescriptorsContext","HvFormElementDescriptorsContext","ariaProps","buildAriaPropsFromContext","onChangeHandler","event","target","jsxs","Fragment","jsx","Global","StyledRoot","clsx","baseInputClasses","root","StyledInput","inputRootInvalid","inputRootReadOnly","inputRoot","focused","inputRootFocused","inputRootDisabled","inputRootMultiline","input","inputResizable","inputDisabled","inputReadOnly","StyledInputBorderContainer","inputBorderContainer"],"mappings":";;;;;;;;;;;;;;AAuBA,MAAMA,4CAEqCC,kEAAAA,YAAAA,MAAMC,OAAOC,OACvBF,qCAAAA,YAAMC,MAAAA,OAAOE,OAAKC,2aAAAA,QAAAC,IAAAC,aAAAF,eAAAA,KAAAA,4BAAAA,QAAAC,IAAAC,aAwBjD,eAAA,KAAA,68UAAA;AA4CK,MAAMC,cAAcA,CAAC;AAAA,EAC1BC;AAAAA,EACAC,YAAY;AAAA,EACZC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC,OAAO;AAAA,EACPC;AAAAA,EACAC,YAAY;AAAA,EACZC,YAAY;AAAA,EACZC,UAAU;AAAA,EACVC;AAAAA,EACAC,aAAa,CAAC;AAAA,KACXC;AACa,MAAM;AAChBC,QAAAA,qBAAqBC,iBAAWC,mBAAAA,oBAAoB;AAC1D,QAAMC,mBAAmBC,UACvBnB,iCAAAA,MACAK,UACAD,UACAD,UACAiB,QACAL,kBAAkB;AAGdM,QAAAA,eAAeV,WAAWO,iBAAiBE,WAAW;AAEtDE,QAAAA,gCAAgCN,iBACpCO,8BAAAA,+BAA+B;AAEjC,QAAMC,YAAYC,UAAAA,0BAChBZ,YACAS,+BACAD,cACAtB,EAAE;AAGE2B,QAAAA,kBAAkBA,CACtBC,UACG;AACQA,yCAAAA,OAAOA,MAAMC,OAAO3B;AAAAA,EAAK;AAGtC,SAEI4B,2BAAA,KAAAC,qBAAA,EAAA,UAAA;AAAA,IAACC,2BAAAA,IAAAC,MAAA,QAAA,EAAO,QAAQ5C,gBAAgB,CAAA;AAAA,IAChCyC,2BAAAA,KAACI,+BACC,WAAWC,sBACTC,iBAAAA,QAAiBC,MACjBvC,mCAASuC,MACTtC,WACAoB,iBAAiBb,YACf6B,sBAAKC,iBAAAA,QAAiB9B,UAAUR,mCAASQ,QAAQ,GACnDgB,gBAAgBa,sBAAKC,iBAAAA,QAAiBxB,SAASd,mCAASc,OAAO,GAC/DF,aACEC,aACAwB,cAAAA,QAAKC,iBAAAA,QAAiBzB,WAAWb,mCAASa,SAAS,GACrDN,YAAY8B,cAAAA,QAAKC,iBAAAA,QAAiB/B,UAAUP,mCAASO,QAAQ,CAAC,GAEhE,WAAWc,iBAAiBb,UAC5B,UAAUgB,cACV,YAAYZ,aAAaC,WACzB,WAAW,CAAC,CAACN,UAEb,UAAA;AAAA,MAAA2B,2BAAA,IAACM,gCACC,IACA,MAAMnB,iBAAiBlB,MACvB,OACA,cACA,MACA,aACA,UAAU,CAAC,CAACkB,iBAAiBd,UAC7B,UAAUc,iBAAiBb,UAC3B,UAAUqB,iBACV,WAAWQ,sBACTb,gBACEa,cAAAA,QACEC,iBAAiBG,QAAAA,kBACjBzC,mCAASyC,gBAAgB,GAE7BlC,YACE8B,cAAAA,QACEC,yBAAiBI,mBACjB1C,mCAAS0C,iBAAiB,CAC3B,GAEL,SAAS;AAAA,QACPH,MAAMF,cAAAA,QAAKC,iBAAAA,QAAiBK,WAAW3C,mCAAS2C,SAAS;AAAA,QACzDC,SAASP,cAAAA,QACPC,iBAAAA,QAAiBO,kBACjB7C,mCAAS6C,gBAAgB;AAAA,QAE3BrC,UAAU6B,cAAAA,QACRC,iBAAAA,QAAiBQ,mBACjB9C,mCAAS8C,iBAAiB;AAAA,QAE5BlC,WAAWyB,cAAAA,QACTC,iBAAAA,QAAiBS,oBACjB/C,mCAAS+C,kBAAkB;AAAA,QAE7BC,OAAOX,cAAAA,QACLC,iBAAAA,QAAiBU,OACjBhD,mCAASgD,OACT,CAAC3B,iBAAiBb,YAChBK,aACAwB,cAAKC,QAAAA,iBAAAA,QAAiBW,gBAAgBjD,mCAASiD,cAAc,GAC/DzC,YACE6B,cAAAA,QAAKC,iBAAiBY,QAAAA,eAAelD,mCAASkD,aAAa,GAC7D3C,YACE8B,cAAKC,QAAAA,iBAAAA,QAAiBa,eAAenD,mCAASO,QAAQ,CAAC;AAAA,SAG7D,YAAY;AAAA,QAEVD,UAAUe,iBAAiBf;AAAAA,QAC3B,GAAGU;AAAAA,QACH,GAAGW;AAAAA,MAAAA,GAEL,UACA,WACA,MAAM,IACN,YAAY,CAACN,iBAAiBb,YAAYK,WAC1C,WAAW,CAAC,CAACL,UACb,WAAW,CAAC,CAACD,UACb,UAAUiB,cACNP,GAAAA,QAAO;AAAA,MAEZ,CAACL,aACCsB,2BAAA,IAAAkB,6CAAA,EACC,MAAK,gBACL,WAAWf,cAAAA,QACTC,iBAAAA,QAAiBe,sBACjBrD,mCAASqD,oBAAoB,EAGlC,CAAA;AAAA,IAAA,GACH;AAAA,EACF,EAAA,CAAA;AAEJ;;"}
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const jsxRuntime = require("@emotion/react/jsx-runtime");
3
4
  const React = require("react");
4
5
  const clsx = require("clsx");
5
6
  const uikitReactIcons = require("@hitachivantara/uikit-react-icons");
6
7
  const BaseRadio_styles = require("./BaseRadio.styles.cjs");
7
8
  const baseRadioClasses = require("./baseRadioClasses.cjs");
8
- const jsxRuntime = require("@emotion/react/jsx-runtime");
9
9
  const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
10
10
  const clsx__default = /* @__PURE__ */ _interopDefault(clsx);
11
11
  const getSelectorIcons = (options, classes) => {
@@ -16,14 +16,8 @@ const getSelectorIcons = (options, classes) => {
16
16
  const color = disabled && ["atmo3", "atmo5"] || semantic && ["base1", "base2"] || void 0;
17
17
  const checkedColor = disabled && ["atmo3", "atmo5"] || semantic && ["base2", "base1"] || void 0;
18
18
  return {
19
- radio: /* @__PURE__ */ jsxRuntime.jsx(uikitReactIcons.RadioButtonUnselected, {
20
- color,
21
- className: clsx__default.default(baseRadioClasses.default.icon, classes == null ? void 0 : classes.icon)
22
- }),
23
- radioChecked: /* @__PURE__ */ jsxRuntime.jsx(uikitReactIcons.RadioButtonSelected, {
24
- color: checkedColor,
25
- className: clsx__default.default(baseRadioClasses.default.icon, classes == null ? void 0 : classes.icon)
26
- })
19
+ radio: /* @__PURE__ */ jsxRuntime.jsx(uikitReactIcons.RadioButtonUnselected, { color, className: clsx__default.default(baseRadioClasses.default.icon, classes == null ? void 0 : classes.icon) }),
20
+ radioChecked: /* @__PURE__ */ jsxRuntime.jsx(uikitReactIcons.RadioButtonSelected, { color: checkedColor, className: clsx__default.default(baseRadioClasses.default.icon, classes == null ? void 0 : classes.icon) })
27
21
  };
28
22
  };
29
23
  const HvBaseRadio = (props) => {
@@ -64,27 +58,7 @@ const HvBaseRadio = (props) => {
64
58
  }
65
59
  onChange == null ? void 0 : onChange(evt, evt.target.checked, value);
66
60
  }, [onChange, readOnly, value]);
67
- return /* @__PURE__ */ jsxRuntime.jsx(BaseRadio_styles.StyledRadio, {
68
- id,
69
- name,
70
- className: clsx__default.default(className, baseRadioClasses.default.root, classes == null ? void 0 : classes.root, disabled && clsx__default.default(baseRadioClasses.default.disabled, classes == null ? void 0 : classes.disabled), focusVisible && clsx__default.default(baseRadioClasses.default.focusVisible, classes == null ? void 0 : classes.focusVisible)),
71
- $focusVisible: focusVisible,
72
- icon: icons.radio,
73
- checkedIcon: icons.radioChecked,
74
- color: "default",
75
- disabled,
76
- required,
77
- readOnly,
78
- disableRipple: true,
79
- onChange: onLocalChange,
80
- value,
81
- checked,
82
- defaultChecked,
83
- inputProps,
84
- onFocusVisible: onFocusVisibleCallback,
85
- onBlur: onBlurCallback,
86
- ...others
87
- });
61
+ return /* @__PURE__ */ jsxRuntime.jsx(BaseRadio_styles.StyledRadio, { id, name, className: clsx__default.default(className, baseRadioClasses.default.root, classes == null ? void 0 : classes.root, disabled && clsx__default.default(baseRadioClasses.default.disabled, classes == null ? void 0 : classes.disabled), focusVisible && clsx__default.default(baseRadioClasses.default.focusVisible, classes == null ? void 0 : classes.focusVisible)), $focusVisible: focusVisible, icon: icons.radio, checkedIcon: icons.radioChecked, color: "default", disabled, required, readOnly, disableRipple: true, onChange: onLocalChange, value, checked, defaultChecked, inputProps, onFocusVisible: onFocusVisibleCallback, onBlur: onBlurCallback, ...others });
88
62
  };
89
63
  exports.HvBaseRadio = HvBaseRadio;
90
64
  exports.getSelectorIcons = getSelectorIcons;
@@ -1 +1 @@
1
- {"version":3,"file":"BaseRadio.cjs","sources":["../../../../src/components/BaseRadio/BaseRadio.tsx"],"sourcesContent":["import React, { useState, useCallback } from \"react\";\nimport clsx from \"clsx\";\nimport { RadioProps as MuiRadioProps } from \"@mui/material\";\nimport {\n RadioButtonUnselected,\n RadioButtonSelected,\n} from \"@hitachivantara/uikit-react-icons\";\nimport { HvBaseProps } from \"../../types\";\nimport { StyledRadio } from \"./BaseRadio.styles\";\nimport baseRadioClasses, { HvBaseRadioClasses } from \"./baseRadioClasses\";\n\nexport type HvBaseRadioProps = Omit<MuiRadioProps, \"onChange\" | \"classes\"> &\n HvBaseProps<HTMLInputElement, { onChange }> & {\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\", \"atmo5\"]) ||\n (semantic && [\"base1\", \"base2\"]) ||\n undefined;\n const checkedColor =\n (disabled && [\"atmo3\", \"atmo5\"]) ||\n (semantic && [\"base2\", \"base1\"]) ||\n undefined;\n\n return {\n radio: (\n <RadioButtonUnselected\n color={color}\n className={clsx(baseRadioClasses.icon, classes?.icon)}\n />\n ),\n radioChecked: (\n <RadioButtonSelected\n color={checkedColor}\n className={clsx(baseRadioClasses.icon, classes?.icon)}\n />\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,\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 } = props;\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 <StyledRadio\n id={id}\n name={name}\n className={clsx(\n className,\n baseRadioClasses.root,\n classes?.root,\n disabled && clsx(baseRadioClasses.disabled, classes?.disabled),\n focusVisible &&\n clsx(baseRadioClasses.focusVisible, classes?.focusVisible)\n )}\n $focusVisible={focusVisible}\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","clsx","baseRadioClasses","icon","radioChecked","RadioButtonSelected","HvBaseRadio","props","id","name","value","required","readOnly","checked","defaultChecked","onChange","inputProps","onFocusVisible","onBlur","others","focusVisible","setFocusVisible","useState","onFocusVisibleCallback","useCallback","evt","onBlurCallback","icons","onLocalChange","target","StyledRadio","root","$focusVisible","checkedIcon","disableRipple"],"mappings":";;;;;;;;;;AAoFaA,MAAAA,mBAAmBA,CAC9BC,SACAC,YACG;AACG,QAAA;AAAA,IAAEC;AAAAA,IAAUC;AAAAA,EAAaH,IAAAA;AACzBI,QAAAA,QACHF,YAAY,CAAC,SAAS,OAAO,KAC7BC,YAAY,CAAC,SAAS,OAAO,KAC9BE;AACIC,QAAAA,eACHJ,YAAY,CAAC,SAAS,OAAO,KAC7BC,YAAY,CAAC,SAAS,OAAO,KAC9BE;AAEK,SAAA;AAAA,IACLE,sCACGC,uCAAqB;AAAA,MACpBJ;AAAAA,MACAK,WAAWC,cAAAA,QAAKC,iBAAAA,QAAiBC,MAAMX,mCAASW,IAAI;AAAA,IAAA,CAEvD;AAAA,IACDC,6CACGC,qCAAmB;AAAA,MAClBV,OAAOE;AAAAA,MACPG,WAAWC,cAAAA,QAAKC,iBAAAA,QAAiBC,MAAMX,mCAASW,IAAI;AAAA,IAAA,CAAE;AAAA,EAAA;AAI9D;AAQaG,MAAAA,cAAcA,CAACC,UAA4B;AAChD,QAAA;AAAA,IACJf;AAAAA,IACAQ;AAAAA,IACAQ;AAAAA,IACAC;AAAAA,IACAC,QAAQ;AAAA,IACRC,WAAW;AAAA,IACXC,WAAW;AAAA,IACXnB,WAAW;AAAA,IACXoB;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACArB,WAAW;AAAA,IACXsB;AAAAA,IACAC;AAAAA,IACAC;AAAAA,OACGC;AAAAA,EACDZ,IAAAA;AAEJ,QAAM,CAACa,cAAcC,eAAe,IAAIC,eAAS,KAAK;AAEhDC,QAAAA,yBAAyBC,kBAC7B,CAACC,QAA+B;AAC9BJ,oBAAgB,IAAI;AACpBJ,qDAAiBQ;AAAAA,EAAG,GAEtB,CAACR,cAAc,CAAC;AAGZS,QAAAA,iBAAiBF,kBACrB,CAACC,QAA+B;AAC9BJ,oBAAgB,KAAK;AACrBH,qCAASO;AAAAA,EAAG,GAEd,CAACP,MAAM,CAAC;AAGV,QAAMS,QAAQrC,iBAAiB;AAAA,IAAEG;AAAAA,IAAUC;AAAAA,KAAYF,OAAO;AAExDoC,QAAAA,gBAAgBJ,kBACpB,CAACC,QAA6C;AAC5C,QAAIb,UAAU;AACZ;AAAA,IACF;AAEAG,yCAAWU,KAAKA,IAAII,OAAOhB,SAASH;AAAAA,EAEtC,GAAA,CAACK,UAAUH,UAAUF,KAAK,CAAC;AAG7B,wCACGoB,iBAAAA,aAAW;AAAA,IACVtB;AAAAA,IACAC;AAAAA,IACAT,WAAWC,cAAAA,QACTD,WACAE,iBAAAA,QAAiB6B,MACjBvC,mCAASuC,MACTtC,YAAYQ,sBAAKC,iBAAAA,QAAiBT,UAAUD,mCAASC,QAAQ,GAC7D2B,gBACEnB,cAAAA,QAAKC,iBAAAA,QAAiBkB,cAAc5B,mCAAS4B,YAAY,CAAC;AAAA,IAE9DY,eAAeZ;AAAAA,IACfjB,MAAMwB,MAAM7B;AAAAA,IACZmC,aAAaN,MAAMvB;AAAAA,IACnBT,OAAM;AAAA,IACNF;AAAAA,IACAkB;AAAAA,IACAC;AAAAA,IACAsB,eAAa;AAAA,IACbnB,UAAUa;AAAAA,IACVlB;AAAAA,IACAG;AAAAA,IACAC;AAAAA,IACAE;AAAAA,IACAC,gBAAgBM;AAAAA,IAChBL,QAAQQ;AAAAA,IAAe,GACnBP;AAAAA,EAAAA,CACJ;AAEN;;;"}
1
+ {"version":3,"file":"BaseRadio.cjs","sources":["../../../../src/components/BaseRadio/BaseRadio.tsx"],"sourcesContent":["import React, { useState, useCallback } from \"react\";\nimport clsx from \"clsx\";\nimport { RadioProps as MuiRadioProps } from \"@mui/material\";\nimport {\n RadioButtonUnselected,\n RadioButtonSelected,\n} from \"@hitachivantara/uikit-react-icons\";\nimport { HvBaseProps } from \"../../types\";\nimport { StyledRadio } from \"./BaseRadio.styles\";\nimport baseRadioClasses, { HvBaseRadioClasses } from \"./baseRadioClasses\";\n\nexport type HvBaseRadioProps = Omit<MuiRadioProps, \"onChange\" | \"classes\"> &\n HvBaseProps<HTMLInputElement, { onChange }> & {\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\", \"atmo5\"]) ||\n (semantic && [\"base1\", \"base2\"]) ||\n undefined;\n const checkedColor =\n (disabled && [\"atmo3\", \"atmo5\"]) ||\n (semantic && [\"base2\", \"base1\"]) ||\n undefined;\n\n return {\n radio: (\n <RadioButtonUnselected\n color={color}\n className={clsx(baseRadioClasses.icon, classes?.icon)}\n />\n ),\n radioChecked: (\n <RadioButtonSelected\n color={checkedColor}\n className={clsx(baseRadioClasses.icon, classes?.icon)}\n />\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,\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 } = props;\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 <StyledRadio\n id={id}\n name={name}\n className={clsx(\n className,\n baseRadioClasses.root,\n classes?.root,\n disabled && clsx(baseRadioClasses.disabled, classes?.disabled),\n focusVisible &&\n clsx(baseRadioClasses.focusVisible, classes?.focusVisible)\n )}\n $focusVisible={focusVisible}\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","jsx","RadioButtonUnselected","clsx","baseRadioClasses","icon","radioChecked","RadioButtonSelected","HvBaseRadio","props","className","id","name","value","required","readOnly","checked","defaultChecked","onChange","inputProps","onFocusVisible","onBlur","others","focusVisible","setFocusVisible","useState","onFocusVisibleCallback","useCallback","evt","onBlurCallback","icons","onLocalChange","target","StyledRadio","root"],"mappings":";;;;;;;;;;AAoFaA,MAAAA,mBAAmBA,CAC9BC,SACAC,YACG;AACG,QAAA;AAAA,IAAEC;AAAAA,IAAUC;AAAAA,EAAaH,IAAAA;AACzBI,QAAAA,QACHF,YAAY,CAAC,SAAS,OAAO,KAC7BC,YAAY,CAAC,SAAS,OAAO,KAC9BE;AACIC,QAAAA,eACHJ,YAAY,CAAC,SAAS,OAAO,KAC7BC,YAAY,CAAC,SAAS,OAAO,KAC9BE;AAEK,SAAA;AAAA,IACLE,OACGC,2BAAA,IAAAC,uCAAA,EACC,OACA,WAAWC,sBAAKC,iBAAAA,QAAiBC,MAAMX,mCAASW,IAAI,EAEvD,CAAA;AAAA,IACDC,cACGL,2BAAAA,IAAAM,gBAAAA,qBAAA,EACC,OAAOR,cACP,WAAWI,cAAAA,QAAKC,iBAAiBC,QAAAA,MAAMX,mCAASW,IAAI,EAAE,CAAA;AAAA,EAAA;AAI9D;AAQaG,MAAAA,cAAcA,CAACC,UAA4B;AAChD,QAAA;AAAA,IACJf;AAAAA,IACAgB;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC,QAAQ;AAAA,IACRC,WAAW;AAAA,IACXC,WAAW;AAAA,IACXpB,WAAW;AAAA,IACXqB;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAtB,WAAW;AAAA,IACXuB;AAAAA,IACAC;AAAAA,IACAC;AAAAA,OACGC;AAAAA,EACDb,IAAAA;AAEJ,QAAM,CAACc,cAAcC,eAAe,IAAIC,eAAS,KAAK;AAEhDC,QAAAA,yBAAyBC,kBAC7B,CAACC,QAA+B;AAC9BJ,oBAAgB,IAAI;AACpBJ,qDAAiBQ;AAAAA,EAAG,GAEtB,CAACR,cAAc,CAAC;AAGZS,QAAAA,iBAAiBF,kBACrB,CAACC,QAA+B;AAC9BJ,oBAAgB,KAAK;AACrBH,qCAASO;AAAAA,EAAG,GAEd,CAACP,MAAM,CAAC;AAGV,QAAMS,QAAQtC,iBAAiB;AAAA,IAAEG;AAAAA,IAAUC;AAAAA,KAAYF,OAAO;AAExDqC,QAAAA,gBAAgBJ,kBACpB,CAACC,QAA6C;AAC5C,QAAIb,UAAU;AACZ;AAAA,IACF;AAEAG,yCAAWU,KAAKA,IAAII,OAAOhB,SAASH;AAAAA,EAEtC,GAAA,CAACK,UAAUH,UAAUF,KAAK,CAAC;AAI3B,SAAAZ,+BAACgC,iBAAAA,aACC,EAAA,IACA,MACA,WAAW9B,sBACTO,WACAN,iBAAAA,QAAiB8B,MACjBxC,mCAASwC,MACTvC,YAAYQ,sBAAKC,yBAAiBT,UAAUD,mCAASC,QAAQ,GAC7D4B,gBACEpB,sBAAKC,iBAAiBmB,QAAAA,cAAc7B,mCAAS6B,YAAY,CAAC,GAE9D,eAAeA,cACf,MAAMO,MAAM9B,OACZ,aAAa8B,MAAMxB,cACnB,OAAM,WACN,UACA,UACA,UACA,eAAa,MACb,UAAUyB,eACV,OACA,SACA,gBACA,YACA,gBAAgBL,wBAChB,QAAQG,gBACJP,GAAAA,OACJ,CAAA;AAEN;;;"}
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const jsxRuntime = require("@emotion/react/jsx-runtime");
3
4
  const React = require("react");
4
5
  const clsx = require("clsx");
5
6
  const BaseSwitch_styles = require("./BaseSwitch.styles.cjs");
6
7
  const baseSwitchClasses = require("./baseSwitchClasses.cjs");
7
- const jsxRuntime = require("@emotion/react/jsx-runtime");
8
8
  const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
9
9
  const clsx__default = /* @__PURE__ */ _interopDefault(clsx);
10
10
  const HvBaseSwitch = (props) => {
@@ -40,35 +40,14 @@ const HvBaseSwitch = (props) => {
40
40
  }
41
41
  onChange == null ? void 0 : onChange(evt, evt.target.checked, value);
42
42
  }, [onChange, readOnly, value]);
43
- return /* @__PURE__ */ jsxRuntime.jsx(BaseSwitch_styles.StyledSwitch, {
44
- id,
45
- name,
46
- className: clsx__default.default(className, baseSwitchClasses.default.root, classes == null ? void 0 : classes.root, disabled && clsx__default.default(baseSwitchClasses.default.disabled, classes == null ? void 0 : classes.disabled), readOnly && clsx__default.default(baseSwitchClasses.default.readOnly, classes == null ? void 0 : classes.readOnly), focusVisible && clsx__default.default(baseSwitchClasses.default.focusVisible, classes == null ? void 0 : classes.focusVisible)),
47
- $focusVisible: focusVisible,
48
- $readOnly: readOnly,
49
- $disabled: disabled,
50
- color: "default",
51
- disabled,
52
- required,
53
- readOnly,
54
- disableRipple: true,
55
- onChange: onLocalChange,
56
- value,
57
- checked,
58
- defaultChecked,
59
- classes: {
60
- root: clsx__default.default(baseSwitchClasses.default.switch, classes == null ? void 0 : classes.switch),
61
- switchBase: clsx__default.default(baseSwitchClasses.default.switchBase, classes == null ? void 0 : classes.switchBase),
62
- checked: clsx__default.default(baseSwitchClasses.default.checked, classes == null ? void 0 : classes.checked),
63
- track: clsx__default.default(baseSwitchClasses.default.track, classes == null ? void 0 : classes.track),
64
- thumb: clsx__default.default(baseSwitchClasses.default.thumb, classes == null ? void 0 : classes.thumb),
65
- disabled: clsx__default.default(baseSwitchClasses.default.disabled, classes == null ? void 0 : classes.disabled)
66
- },
67
- inputProps,
68
- onFocusVisible: onFocusVisibleCallback,
69
- onBlur: onBlurCallback,
70
- ...others
71
- });
43
+ return /* @__PURE__ */ jsxRuntime.jsx(BaseSwitch_styles.StyledSwitch, { id, name, className: clsx__default.default(className, baseSwitchClasses.default.root, classes == null ? void 0 : classes.root, disabled && clsx__default.default(baseSwitchClasses.default.disabled, classes == null ? void 0 : classes.disabled), readOnly && clsx__default.default(baseSwitchClasses.default.readOnly, classes == null ? void 0 : classes.readOnly), focusVisible && clsx__default.default(baseSwitchClasses.default.focusVisible, classes == null ? void 0 : classes.focusVisible)), $focusVisible: focusVisible, $readOnly: readOnly, $disabled: disabled, color: "default", disabled, required, readOnly, disableRipple: true, onChange: onLocalChange, value, checked, defaultChecked, classes: {
44
+ root: clsx__default.default(baseSwitchClasses.default.switch, classes == null ? void 0 : classes.switch),
45
+ switchBase: clsx__default.default(baseSwitchClasses.default.switchBase, classes == null ? void 0 : classes.switchBase),
46
+ checked: clsx__default.default(baseSwitchClasses.default.checked, classes == null ? void 0 : classes.checked),
47
+ track: clsx__default.default(baseSwitchClasses.default.track, classes == null ? void 0 : classes.track),
48
+ thumb: clsx__default.default(baseSwitchClasses.default.thumb, classes == null ? void 0 : classes.thumb),
49
+ disabled: clsx__default.default(baseSwitchClasses.default.disabled, classes == null ? void 0 : classes.disabled)
50
+ }, inputProps, onFocusVisible: onFocusVisibleCallback, onBlur: onBlurCallback, ...others });
72
51
  };
73
52
  exports.HvBaseSwitch = HvBaseSwitch;
74
53
  //# sourceMappingURL=BaseSwitch.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseSwitch.cjs","sources":["../../../../src/components/BaseSwitch/BaseSwitch.tsx"],"sourcesContent":["import React, { useState, useCallback } from \"react\";\nimport clsx from \"clsx\";\nimport { SwitchProps as MuiSwitchProps } from \"@mui/material\";\nimport { StyledSwitch } from \"./BaseSwitch.styles\";\nimport { HvBaseProps } from \"../../types\";\nimport baseSwitchClasses, { HvBaseSwitchClasses } from \"./baseSwitchClasses\";\n\nexport type HvBaseSwitchProps = Omit<MuiSwitchProps, \"onChange\" | \"classes\"> &\n HvBaseProps<HTMLInputElement, { onChange }> & {\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 switch.\n */\n classes?: HvBaseSwitchClasses;\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 * Is up to the application's logic when to consider the submission of this value.\n * Generally it should be used only when the switch is neither unchecked nor indeterminate.\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 switch is selected, if set to `false` the switch is not selected.\n *\n * When defined the switch 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 switch is pressed.\n */\n onChange?: (event: React.ChangeEvent, checked: boolean, value: any) => void;\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\n/**\n * A Switch is <b>binary</b> and work as a digital on/off button.\n *\n * The Base Switch is a building block of the Switch form element. Don't use unless\n * implementing a custom use case not covered by the Switch form element.\n */\nexport const HvBaseSwitch = (props: HvBaseSwitchProps) => {\n const {\n classes,\n className,\n\n id,\n name,\n value = \"on\",\n\n required = false,\n readOnly = false,\n disabled = false,\n\n checked,\n defaultChecked,\n\n onChange,\n\n inputProps,\n\n onFocusVisible,\n onBlur,\n\n ...others\n } = props;\n\n const [focusVisible, setFocusVisible] = useState(false);\n\n const onFocusVisibleCallback = useCallback(\n (evt: React.FocusEvent<any, Element>) => {\n setFocusVisible(true);\n onFocusVisible?.(evt);\n },\n [onFocusVisible]\n );\n\n const onBlurCallback = useCallback(\n (evt: React.FocusEvent<any, Element>) => {\n setFocusVisible(false);\n onBlur?.(evt);\n },\n [onBlur]\n );\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 <StyledSwitch\n id={id}\n name={name}\n className={clsx(\n className,\n baseSwitchClasses.root,\n classes?.root,\n disabled && clsx(baseSwitchClasses.disabled, classes?.disabled),\n readOnly && clsx(baseSwitchClasses.readOnly, classes?.readOnly),\n focusVisible &&\n clsx(baseSwitchClasses.focusVisible, classes?.focusVisible)\n )}\n $focusVisible={focusVisible}\n $readOnly={readOnly}\n $disabled={disabled}\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 classes={{\n root: clsx(baseSwitchClasses.switch, classes?.switch),\n switchBase: clsx(baseSwitchClasses.switchBase, classes?.switchBase),\n checked: clsx(baseSwitchClasses.checked, classes?.checked),\n track: clsx(baseSwitchClasses.track, classes?.track),\n thumb: clsx(baseSwitchClasses.thumb, classes?.thumb),\n disabled: clsx(baseSwitchClasses.disabled, classes?.disabled),\n }}\n inputProps={inputProps}\n onFocusVisible={onFocusVisibleCallback}\n onBlur={onBlurCallback}\n {...others}\n />\n );\n};\n"],"names":["HvBaseSwitch","props","classes","className","id","name","value","required","readOnly","disabled","checked","defaultChecked","onChange","inputProps","onFocusVisible","onBlur","others","focusVisible","setFocusVisible","useState","onFocusVisibleCallback","useCallback","evt","onBlurCallback","onLocalChange","target","StyledSwitch","clsx","baseSwitchClasses","root","$focusVisible","$readOnly","$disabled","color","disableRipple","switch","switchBase","track","thumb"],"mappings":";;;;;;;;;AAiFaA,MAAAA,eAAeA,CAACC,UAA6B;AAClD,QAAA;AAAA,IACJC;AAAAA,IACAC;AAAAA,IAEAC;AAAAA,IACAC;AAAAA,IACAC,QAAQ;AAAA,IAERC,WAAW;AAAA,IACXC,WAAW;AAAA,IACXC,WAAW;AAAA,IAEXC;AAAAA,IACAC;AAAAA,IAEAC;AAAAA,IAEAC;AAAAA,IAEAC;AAAAA,IACAC;AAAAA,OAEGC;AAAAA,EACDf,IAAAA;AAEJ,QAAM,CAACgB,cAAcC,eAAe,IAAIC,eAAS,KAAK;AAEhDC,QAAAA,yBAAyBC,kBAC7B,CAACC,QAAwC;AACvCJ,oBAAgB,IAAI;AACpBJ,qDAAiBQ;AAAAA,EAAG,GAEtB,CAACR,cAAc,CAAC;AAGZS,QAAAA,iBAAiBF,kBACrB,CAACC,QAAwC;AACvCJ,oBAAgB,KAAK;AACrBH,qCAASO;AAAAA,EAAG,GAEd,CAACP,MAAM,CAAC;AAGJS,QAAAA,gBAAgBH,kBACpB,CAACC,QAA6C;AAC5C,QAAId,UAAU;AACZ;AAAA,IACF;AAEAI,yCAAWU,KAAKA,IAAIG,OAAOf,SAASJ;AAAAA,EAEtC,GAAA,CAACM,UAAUJ,UAAUF,KAAK,CAAC;AAG7B,wCACGoB,kBAAAA,cAAY;AAAA,IACXtB;AAAAA,IACAC;AAAAA,IACAF,WAAWwB,cAAAA,QACTxB,WACAyB,kBAAkBC,QAAAA,MAClB3B,mCAAS2B,MACTpB,YAAYkB,cAAAA,QAAKC,kBAAAA,QAAkBnB,UAAUP,mCAASO,QAAQ,GAC9DD,YAAYmB,cAAKC,QAAAA,kBAAAA,QAAkBpB,UAAUN,mCAASM,QAAQ,GAC9DS,gBACEU,cAAAA,QAAKC,kBAAAA,QAAkBX,cAAcf,mCAASe,YAAY,CAAC;AAAA,IAE/Da,eAAeb;AAAAA,IACfc,WAAWvB;AAAAA,IACXwB,WAAWvB;AAAAA,IACXwB,OAAM;AAAA,IACNxB;AAAAA,IACAF;AAAAA,IACAC;AAAAA,IACA0B,eAAa;AAAA,IACbtB,UAAUY;AAAAA,IACVlB;AAAAA,IACAI;AAAAA,IACAC;AAAAA,IACAT,SAAS;AAAA,MACP2B,MAAMF,cAAAA,QAAKC,kBAAAA,QAAkBO,QAAQjC,mCAASiC,MAAM;AAAA,MACpDC,YAAYT,cAAAA,QAAKC,kBAAAA,QAAkBQ,YAAYlC,mCAASkC,UAAU;AAAA,MAClE1B,SAASiB,cAAAA,QAAKC,kBAAAA,QAAkBlB,SAASR,mCAASQ,OAAO;AAAA,MACzD2B,OAAOV,cAAAA,QAAKC,kBAAAA,QAAkBS,OAAOnC,mCAASmC,KAAK;AAAA,MACnDC,OAAOX,cAAAA,QAAKC,kBAAAA,QAAkBU,OAAOpC,mCAASoC,KAAK;AAAA,MACnD7B,UAAUkB,cAAAA,QAAKC,kBAAAA,QAAkBnB,UAAUP,mCAASO,QAAQ;AAAA,IAC9D;AAAA,IACAI;AAAAA,IACAC,gBAAgBM;AAAAA,IAChBL,QAAQQ;AAAAA,IAAe,GACnBP;AAAAA,EAAAA,CACJ;AAEN;;"}
1
+ {"version":3,"file":"BaseSwitch.cjs","sources":["../../../../src/components/BaseSwitch/BaseSwitch.tsx"],"sourcesContent":["import React, { useState, useCallback } from \"react\";\nimport clsx from \"clsx\";\nimport { SwitchProps as MuiSwitchProps } from \"@mui/material\";\nimport { StyledSwitch } from \"./BaseSwitch.styles\";\nimport { HvBaseProps } from \"../../types\";\nimport baseSwitchClasses, { HvBaseSwitchClasses } from \"./baseSwitchClasses\";\n\nexport type HvBaseSwitchProps = Omit<MuiSwitchProps, \"onChange\" | \"classes\"> &\n HvBaseProps<HTMLInputElement, { onChange }> & {\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 switch.\n */\n classes?: HvBaseSwitchClasses;\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 * Is up to the application's logic when to consider the submission of this value.\n * Generally it should be used only when the switch is neither unchecked nor indeterminate.\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 switch is selected, if set to `false` the switch is not selected.\n *\n * When defined the switch 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 switch is pressed.\n */\n onChange?: (event: React.ChangeEvent, checked: boolean, value: any) => void;\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\n/**\n * A Switch is <b>binary</b> and work as a digital on/off button.\n *\n * The Base Switch is a building block of the Switch form element. Don't use unless\n * implementing a custom use case not covered by the Switch form element.\n */\nexport const HvBaseSwitch = (props: HvBaseSwitchProps) => {\n const {\n classes,\n className,\n\n id,\n name,\n value = \"on\",\n\n required = false,\n readOnly = false,\n disabled = false,\n\n checked,\n defaultChecked,\n\n onChange,\n\n inputProps,\n\n onFocusVisible,\n onBlur,\n\n ...others\n } = props;\n\n const [focusVisible, setFocusVisible] = useState(false);\n\n const onFocusVisibleCallback = useCallback(\n (evt: React.FocusEvent<any, Element>) => {\n setFocusVisible(true);\n onFocusVisible?.(evt);\n },\n [onFocusVisible]\n );\n\n const onBlurCallback = useCallback(\n (evt: React.FocusEvent<any, Element>) => {\n setFocusVisible(false);\n onBlur?.(evt);\n },\n [onBlur]\n );\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 <StyledSwitch\n id={id}\n name={name}\n className={clsx(\n className,\n baseSwitchClasses.root,\n classes?.root,\n disabled && clsx(baseSwitchClasses.disabled, classes?.disabled),\n readOnly && clsx(baseSwitchClasses.readOnly, classes?.readOnly),\n focusVisible &&\n clsx(baseSwitchClasses.focusVisible, classes?.focusVisible)\n )}\n $focusVisible={focusVisible}\n $readOnly={readOnly}\n $disabled={disabled}\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 classes={{\n root: clsx(baseSwitchClasses.switch, classes?.switch),\n switchBase: clsx(baseSwitchClasses.switchBase, classes?.switchBase),\n checked: clsx(baseSwitchClasses.checked, classes?.checked),\n track: clsx(baseSwitchClasses.track, classes?.track),\n thumb: clsx(baseSwitchClasses.thumb, classes?.thumb),\n disabled: clsx(baseSwitchClasses.disabled, classes?.disabled),\n }}\n inputProps={inputProps}\n onFocusVisible={onFocusVisibleCallback}\n onBlur={onBlurCallback}\n {...others}\n />\n );\n};\n"],"names":["HvBaseSwitch","props","classes","className","id","name","value","required","readOnly","disabled","checked","defaultChecked","onChange","inputProps","onFocusVisible","onBlur","others","focusVisible","setFocusVisible","useState","onFocusVisibleCallback","useCallback","evt","onBlurCallback","onLocalChange","target","jsx","StyledSwitch","clsx","baseSwitchClasses","root","switch","switchBase","track","thumb"],"mappings":";;;;;;;;;AAiFaA,MAAAA,eAAeA,CAACC,UAA6B;AAClD,QAAA;AAAA,IACJC;AAAAA,IACAC;AAAAA,IAEAC;AAAAA,IACAC;AAAAA,IACAC,QAAQ;AAAA,IAERC,WAAW;AAAA,IACXC,WAAW;AAAA,IACXC,WAAW;AAAA,IAEXC;AAAAA,IACAC;AAAAA,IAEAC;AAAAA,IAEAC;AAAAA,IAEAC;AAAAA,IACAC;AAAAA,OAEGC;AAAAA,EACDf,IAAAA;AAEJ,QAAM,CAACgB,cAAcC,eAAe,IAAIC,eAAS,KAAK;AAEhDC,QAAAA,yBAAyBC,kBAC7B,CAACC,QAAwC;AACvCJ,oBAAgB,IAAI;AACpBJ,qDAAiBQ;AAAAA,EAAG,GAEtB,CAACR,cAAc,CAAC;AAGZS,QAAAA,iBAAiBF,kBACrB,CAACC,QAAwC;AACvCJ,oBAAgB,KAAK;AACrBH,qCAASO;AAAAA,EAAG,GAEd,CAACP,MAAM,CAAC;AAGJS,QAAAA,gBAAgBH,kBACpB,CAACC,QAA6C;AAC5C,QAAId,UAAU;AACZ;AAAA,IACF;AAEAI,yCAAWU,KAAKA,IAAIG,OAAOf,SAASJ;AAAAA,EAEtC,GAAA,CAACM,UAAUJ,UAAUF,KAAK,CAAC;AAI3B,SAAAoB,+BAACC,kBAAAA,gBACC,IACA,MACA,WAAWC,cACTzB,QAAAA,WACA0B,kBAAAA,QAAkBC,MAClB5B,mCAAS4B,MACTrB,YAAYmB,cAAAA,QAAKC,kBAAAA,QAAkBpB,UAAUP,mCAASO,QAAQ,GAC9DD,YAAYoB,cAAAA,QAAKC,kBAAAA,QAAkBrB,UAAUN,mCAASM,QAAQ,GAC9DS,gBACEW,cAAAA,QAAKC,kBAAAA,QAAkBZ,cAAcf,mCAASe,YAAY,CAAC,GAE/D,eAAeA,cACf,WAAWT,UACX,WAAWC,UACX,OAAM,WACN,UACA,UACA,UACA,eAAa,MACb,UAAUe,eACV,OACA,SACA,gBACA,SAAS;AAAA,IACPM,MAAMF,cAAAA,QAAKC,kBAAAA,QAAkBE,QAAQ7B,mCAAS6B,MAAM;AAAA,IACpDC,YAAYJ,cAAAA,QAAKC,kBAAAA,QAAkBG,YAAY9B,mCAAS8B,UAAU;AAAA,IAClEtB,SAASkB,cAAAA,QAAKC,kBAAAA,QAAkBnB,SAASR,mCAASQ,OAAO;AAAA,IACzDuB,OAAOL,cAAAA,QAAKC,kBAAAA,QAAkBI,OAAO/B,mCAAS+B,KAAK;AAAA,IACnDC,OAAON,cAAAA,QAAKC,kBAAAA,QAAkBK,OAAOhC,mCAASgC,KAAK;AAAA,IACnDzB,UAAUmB,cAAAA,QAAKC,kBAAAA,QAAkBpB,UAAUP,mCAASO,QAAQ;AAAA,EAAA,GAE9D,YACA,gBAAgBW,wBAChB,QAAQG,gBACR,GAAIP,OACJ,CAAA;AAEN;;"}
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const jsxRuntime = require("@emotion/react/jsx-runtime");
3
4
  const uikitStyles = require("@hitachivantara/uikit-styles");
4
5
  const React = require("react");
5
- const jsxRuntime = require("@emotion/react/jsx-runtime");
6
6
  const useSx = (sx) => {
7
7
  return typeof sx === "function" ? sx(uikitStyles.theme) : sx;
8
8
  };
@@ -14,12 +14,7 @@ const HvBox = React.forwardRef(({
14
14
  ...restProps
15
15
  }, ref) => {
16
16
  const Component = as || "div";
17
- return /* @__PURE__ */ jsxRuntime.jsx(Component, {
18
- style: sx ? useSx(sx) : style,
19
- ref,
20
- ...restProps,
21
- children
22
- });
17
+ return /* @__PURE__ */ jsxRuntime.jsx(Component, { style: sx ? useSx(sx) : style, ref, ...restProps, children });
23
18
  });
24
19
  exports.HvBox = HvBox;
25
20
  //# sourceMappingURL=Box.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Box.cjs","sources":["../../../../src/components/Box/Box.tsx"],"sourcesContent":["import { theme } from \"@hitachivantara/uikit-styles\";\nimport { forwardRef } from \"react\";\n\nimport { PolymorphicComponentRef, PolymorphicRef } from \"../../types\";\n\ntype SxProps = React.CSSProperties | ((theme) => React.CSSProperties);\n\ntype HvBaseProps<C extends React.ElementType> = PolymorphicComponentRef<\n C,\n { style?: React.CSSProperties; sx?: SxProps }\n>;\n\nexport type HvBoxProps = <C extends React.ElementType = \"div\">(\n props: HvBaseProps<C>\n) => React.ReactElement | null;\n\nconst useSx = (sx: SxProps) => {\n return typeof sx === \"function\" ? sx(theme) : sx;\n};\n\nexport const HvBox: HvBoxProps = forwardRef(\n <C extends React.ElementType = \"div\">(\n { style, as, sx, children, ...restProps }: HvBaseProps<C>,\n ref?: PolymorphicRef<C>\n ) => {\n const Component = as || \"div\";\n\n return (\n <Component style={sx ? useSx(sx) : style} ref={ref} {...restProps}>\n {children}\n </Component>\n );\n }\n);\n"],"names":["useSx","sx","theme","HvBox","forwardRef","style","as","children","restProps","ref","Component"],"mappings":";;;;;AAgBA,MAAMA,QAAQA,CAACC,OAAgB;AAC7B,SAAO,OAAOA,OAAO,aAAaA,GAAGC,YAAK,KAAA,IAAID;AAChD;AAEaE,MAAAA,QAAoBC,iBAC/B,CACE;AAAA,EAAEC;AAAAA,EAAOC;AAAAA,EAAIL;AAAAA,EAAIM;AAAAA,KAAaC;AAA0B,GACxDC,QACG;AACH,QAAMC,YAAYJ,MAAM;AAExB,wCACGI,WAAS;AAAA,IAACL,OAAOJ,KAAKD,MAAMC,EAAE,IAAII;AAAAA,IAAOI;AAAAA,IAAS,GAAKD;AAAAA,IAASD;AAAAA,EAAAA,CAErD;AAEhB,CAAC;;"}
1
+ {"version":3,"file":"Box.cjs","sources":["../../../../src/components/Box/Box.tsx"],"sourcesContent":["import { theme } from \"@hitachivantara/uikit-styles\";\nimport { forwardRef } from \"react\";\n\nimport { PolymorphicComponentRef, PolymorphicRef } from \"../../types\";\n\ntype SxProps = React.CSSProperties | ((theme) => React.CSSProperties);\n\ntype HvBaseProps<C extends React.ElementType> = PolymorphicComponentRef<\n C,\n { style?: React.CSSProperties; sx?: SxProps }\n>;\n\nexport type HvBoxProps = <C extends React.ElementType = \"div\">(\n props: HvBaseProps<C>\n) => React.ReactElement | null;\n\nconst useSx = (sx: SxProps) => {\n return typeof sx === \"function\" ? sx(theme) : sx;\n};\n\nexport const HvBox: HvBoxProps = forwardRef(\n <C extends React.ElementType = \"div\">(\n { style, as, sx, children, ...restProps }: HvBaseProps<C>,\n ref?: PolymorphicRef<C>\n ) => {\n const Component = as || \"div\";\n\n return (\n <Component style={sx ? useSx(sx) : style} ref={ref} {...restProps}>\n {children}\n </Component>\n );\n }\n);\n"],"names":["useSx","sx","theme","HvBox","forwardRef","style","as","children","restProps","ref","Component","jsx"],"mappings":";;;;;AAgBA,MAAMA,QAAQA,CAACC,OAAgB;AAC7B,SAAO,OAAOA,OAAO,aAAaA,GAAGC,YAAK,KAAA,IAAID;AAChD;AAEaE,MAAAA,QAAoBC,iBAC/B,CACE;AAAA,EAAEC;AAAAA,EAAOC;AAAAA,EAAIL;AAAAA,EAAIM;AAAAA,KAAaC;AAA0B,GACxDC,QACG;AACH,QAAMC,YAAYJ,MAAM;AAGtB,SAAAK,2BAAA,IAAC,WAAU,EAAA,OAAOV,KAAKD,MAAMC,EAAE,IAAII,OAAO,KAAcG,GAAAA,WACrDD,SACH,CAAA;AAEJ,CAAC;;"}