@hitachivantara/uikit-react-core 5.22.0 → 5.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (446) hide show
  1. package/dist/cjs/components/Accordion/Accordion.cjs +17 -15
  2. package/dist/cjs/components/Accordion/Accordion.cjs.map +1 -1
  3. package/dist/cjs/components/ActionBar/ActionBar.cjs +2 -1
  4. package/dist/cjs/components/ActionBar/ActionBar.cjs.map +1 -1
  5. package/dist/cjs/components/ActionsGeneric/ActionsGeneric.cjs +13 -11
  6. package/dist/cjs/components/ActionsGeneric/ActionsGeneric.cjs.map +1 -1
  7. package/dist/cjs/components/AppSwitcher/AppSwitcher.cjs +16 -14
  8. package/dist/cjs/components/AppSwitcher/AppSwitcher.cjs.map +1 -1
  9. package/dist/cjs/components/Avatar/Avatar.cjs +41 -35
  10. package/dist/cjs/components/Avatar/Avatar.cjs.map +1 -1
  11. package/dist/cjs/components/Avatar/Avatar.styles.cjs +92 -134
  12. package/dist/cjs/components/Avatar/Avatar.styles.cjs.map +1 -1
  13. package/dist/cjs/components/Badge/Badge.cjs +20 -16
  14. package/dist/cjs/components/Badge/Badge.cjs.map +1 -1
  15. package/dist/cjs/components/Badge/Badge.styles.cjs +23 -69
  16. package/dist/cjs/components/Badge/Badge.styles.cjs.map +1 -1
  17. package/dist/cjs/components/Banner/Banner.cjs +22 -20
  18. package/dist/cjs/components/Banner/Banner.cjs.map +1 -1
  19. package/dist/cjs/components/Banner/BannerContent/BannerContent.cjs +1 -1
  20. package/dist/cjs/components/Banner/BannerContent/BannerContent.cjs.map +1 -1
  21. package/dist/cjs/components/BaseCheckBox/BaseCheckBox.cjs +21 -19
  22. package/dist/cjs/components/BaseCheckBox/BaseCheckBox.cjs.map +1 -1
  23. package/dist/cjs/components/BaseDropdown/BaseDropdown.cjs +26 -24
  24. package/dist/cjs/components/BaseDropdown/BaseDropdown.cjs.map +1 -1
  25. package/dist/cjs/components/BaseInput/BaseInput.cjs +23 -21
  26. package/dist/cjs/components/BaseInput/BaseInput.cjs.map +1 -1
  27. package/dist/cjs/components/BaseRadio/BaseRadio.cjs +2 -1
  28. package/dist/cjs/components/BaseRadio/BaseRadio.cjs.map +1 -1
  29. package/dist/cjs/components/BaseSwitch/BaseSwitch.cjs +2 -1
  30. package/dist/cjs/components/BaseSwitch/BaseSwitch.cjs.map +1 -1
  31. package/dist/cjs/components/Box/Box.cjs +9 -8
  32. package/dist/cjs/components/Box/Box.cjs.map +1 -1
  33. package/dist/cjs/components/BreadCrumb/BreadCrumb.cjs +14 -12
  34. package/dist/cjs/components/BreadCrumb/BreadCrumb.cjs.map +1 -1
  35. package/dist/cjs/components/BulkActions/BulkActions.cjs +22 -20
  36. package/dist/cjs/components/BulkActions/BulkActions.cjs.map +1 -1
  37. package/dist/cjs/components/Button/Button.cjs +4 -3
  38. package/dist/cjs/components/Button/Button.cjs.map +1 -1
  39. package/dist/cjs/components/Calendar/Calendar.cjs +20 -18
  40. package/dist/cjs/components/Calendar/Calendar.cjs.map +1 -1
  41. package/dist/cjs/components/Card/Card.cjs +13 -11
  42. package/dist/cjs/components/Card/Card.cjs.map +1 -1
  43. package/dist/cjs/components/Carousel/Carousel.cjs +2 -2
  44. package/dist/cjs/components/Carousel/Carousel.cjs.map +1 -1
  45. package/dist/cjs/components/Carousel/CarouselControls.cjs +2 -3
  46. package/dist/cjs/components/Carousel/CarouselControls.cjs.map +1 -1
  47. package/dist/cjs/components/Carousel/CarouselSlide/CarouselSlide.cjs +1 -1
  48. package/dist/cjs/components/Carousel/CarouselSlide/CarouselSlide.cjs.map +1 -1
  49. package/dist/cjs/components/CheckBox/CheckBox.cjs +29 -27
  50. package/dist/cjs/components/CheckBox/CheckBox.cjs.map +1 -1
  51. package/dist/cjs/components/CheckBoxGroup/CheckBoxGroup.cjs +28 -26
  52. package/dist/cjs/components/CheckBoxGroup/CheckBoxGroup.cjs.map +1 -1
  53. package/dist/cjs/components/ColorPicker/ColorPicker.cjs +34 -32
  54. package/dist/cjs/components/ColorPicker/ColorPicker.cjs.map +1 -1
  55. package/dist/cjs/components/Container/Container.cjs +9 -7
  56. package/dist/cjs/components/Container/Container.cjs.map +1 -1
  57. package/dist/cjs/components/Controls/Controls.cjs +14 -12
  58. package/dist/cjs/components/Controls/Controls.cjs.map +1 -1
  59. package/dist/cjs/components/DatePicker/DatePicker.cjs +39 -37
  60. package/dist/cjs/components/DatePicker/DatePicker.cjs.map +1 -1
  61. package/dist/cjs/components/Dialog/Actions/Actions.cjs +9 -7
  62. package/dist/cjs/components/Dialog/Actions/Actions.cjs.map +1 -1
  63. package/dist/cjs/components/Dialog/Content/Content.cjs +8 -6
  64. package/dist/cjs/components/Dialog/Content/Content.cjs.map +1 -1
  65. package/dist/cjs/components/Dialog/Dialog.cjs +16 -14
  66. package/dist/cjs/components/Dialog/Dialog.cjs.map +1 -1
  67. package/dist/cjs/components/Dialog/Title/Title.cjs +11 -9
  68. package/dist/cjs/components/Dialog/Title/Title.cjs.map +1 -1
  69. package/dist/cjs/components/DotPagination/DotPagination.cjs +14 -12
  70. package/dist/cjs/components/DotPagination/DotPagination.cjs.map +1 -1
  71. package/dist/cjs/components/Drawer/Drawer.cjs +13 -11
  72. package/dist/cjs/components/Drawer/Drawer.cjs.map +1 -1
  73. package/dist/cjs/components/DropDownMenu/DropDownMenu.cjs +20 -17
  74. package/dist/cjs/components/DropDownMenu/DropDownMenu.cjs.map +1 -1
  75. package/dist/cjs/components/Dropdown/Dropdown.cjs +2 -1
  76. package/dist/cjs/components/Dropdown/Dropdown.cjs.map +1 -1
  77. package/dist/cjs/components/EmptyState/EmptyState.cjs +2 -1
  78. package/dist/cjs/components/EmptyState/EmptyState.cjs.map +1 -1
  79. package/dist/cjs/components/FileUploader/File/File.cjs +0 -1
  80. package/dist/cjs/components/FileUploader/File/File.cjs.map +1 -1
  81. package/dist/cjs/components/FileUploader/FileUploader.cjs +17 -15
  82. package/dist/cjs/components/FileUploader/FileUploader.cjs.map +1 -1
  83. package/dist/cjs/components/FileUploader/Preview/Preview.cjs +0 -1
  84. package/dist/cjs/components/FileUploader/Preview/Preview.cjs.map +1 -1
  85. package/dist/cjs/components/FilterGroup/FilterGroup.cjs +30 -28
  86. package/dist/cjs/components/FilterGroup/FilterGroup.cjs.map +1 -1
  87. package/dist/cjs/components/FilterGroup/FilterGroupContext.cjs +8 -6
  88. package/dist/cjs/components/FilterGroup/FilterGroupContext.cjs.map +1 -1
  89. package/dist/cjs/components/Footer/Footer.cjs +2 -1
  90. package/dist/cjs/components/Footer/Footer.cjs.map +1 -1
  91. package/dist/cjs/components/Forms/CharCounter/CharCounter.cjs +13 -11
  92. package/dist/cjs/components/Forms/CharCounter/CharCounter.cjs.map +1 -1
  93. package/dist/cjs/components/Forms/FormElement/FormElement.cjs +15 -13
  94. package/dist/cjs/components/Forms/FormElement/FormElement.cjs.map +1 -1
  95. package/dist/cjs/components/Forms/InfoMessage/InfoMessage.cjs +11 -9
  96. package/dist/cjs/components/Forms/InfoMessage/InfoMessage.cjs.map +1 -1
  97. package/dist/cjs/components/Forms/Label/Label.cjs +13 -11
  98. package/dist/cjs/components/Forms/Label/Label.cjs.map +1 -1
  99. package/dist/cjs/components/Forms/WarningText/WarningText.cjs +16 -14
  100. package/dist/cjs/components/Forms/WarningText/WarningText.cjs.map +1 -1
  101. package/dist/cjs/components/GlobalActions/GlobalActions.cjs +13 -11
  102. package/dist/cjs/components/GlobalActions/GlobalActions.cjs.map +1 -1
  103. package/dist/cjs/components/Grid/Grid.cjs +10 -8
  104. package/dist/cjs/components/Grid/Grid.cjs.map +1 -1
  105. package/dist/cjs/components/Header/Actions/Actions.cjs +8 -6
  106. package/dist/cjs/components/Header/Actions/Actions.cjs.map +1 -1
  107. package/dist/cjs/components/Header/Brand/Brand.cjs +9 -7
  108. package/dist/cjs/components/Header/Brand/Brand.cjs.map +1 -1
  109. package/dist/cjs/components/Header/Header.cjs +2 -1
  110. package/dist/cjs/components/Header/Header.cjs.map +1 -1
  111. package/dist/cjs/components/Header/Navigation/Navigation.cjs +11 -9
  112. package/dist/cjs/components/Header/Navigation/Navigation.cjs.map +1 -1
  113. package/dist/cjs/components/InlineEditor/InlineEditor.cjs +18 -16
  114. package/dist/cjs/components/InlineEditor/InlineEditor.cjs.map +1 -1
  115. package/dist/cjs/components/Input/Input.cjs +2 -1
  116. package/dist/cjs/components/Input/Input.cjs.map +1 -1
  117. package/dist/cjs/components/Kpi/Kpi.cjs +13 -11
  118. package/dist/cjs/components/Kpi/Kpi.cjs.map +1 -1
  119. package/dist/cjs/components/Link/Link.cjs +11 -9
  120. package/dist/cjs/components/Link/Link.cjs.map +1 -1
  121. package/dist/cjs/components/List/List.cjs +21 -19
  122. package/dist/cjs/components/List/List.cjs.map +1 -1
  123. package/dist/cjs/components/ListContainer/ListContainer.cjs +12 -10
  124. package/dist/cjs/components/ListContainer/ListContainer.cjs.map +1 -1
  125. package/dist/cjs/components/ListContainer/ListItem/ListItem.cjs +20 -18
  126. package/dist/cjs/components/ListContainer/ListItem/ListItem.cjs.map +1 -1
  127. package/dist/cjs/components/Loading/Loading.cjs +2 -1
  128. package/dist/cjs/components/Loading/Loading.cjs.map +1 -1
  129. package/dist/cjs/components/Login/Login.cjs +10 -8
  130. package/dist/cjs/components/Login/Login.cjs.map +1 -1
  131. package/dist/cjs/components/MultiButton/MultiButton.cjs +11 -9
  132. package/dist/cjs/components/MultiButton/MultiButton.cjs.map +1 -1
  133. package/dist/cjs/components/OverflowTooltip/OverflowTooltip.cjs +12 -10
  134. package/dist/cjs/components/OverflowTooltip/OverflowTooltip.cjs.map +1 -1
  135. package/dist/cjs/components/Pagination/ButtonIconTooltip.cjs +0 -1
  136. package/dist/cjs/components/Pagination/ButtonIconTooltip.cjs.map +1 -1
  137. package/dist/cjs/components/Pagination/Pagination.cjs +22 -20
  138. package/dist/cjs/components/Pagination/Pagination.cjs.map +1 -1
  139. package/dist/cjs/components/Pagination/Select.cjs +1 -1
  140. package/dist/cjs/components/Pagination/Select.cjs.map +1 -1
  141. package/dist/cjs/components/Panel/Panel.cjs +9 -7
  142. package/dist/cjs/components/Panel/Panel.cjs.map +1 -1
  143. package/dist/cjs/components/ProgressBar/ProgressBar.cjs +2 -1
  144. package/dist/cjs/components/ProgressBar/ProgressBar.cjs.map +1 -1
  145. package/dist/cjs/components/QueryBuilder/QueryBuilder.cjs +13 -11
  146. package/dist/cjs/components/QueryBuilder/QueryBuilder.cjs.map +1 -1
  147. package/dist/cjs/components/QueryBuilder/Rule/Rule.cjs +0 -1
  148. package/dist/cjs/components/QueryBuilder/Rule/Rule.cjs.map +1 -1
  149. package/dist/cjs/components/QueryBuilder/RuleGroup/RuleGroup.cjs +1 -2
  150. package/dist/cjs/components/QueryBuilder/RuleGroup/RuleGroup.cjs.map +1 -1
  151. package/dist/cjs/components/Radio/Radio.cjs +2 -1
  152. package/dist/cjs/components/Radio/Radio.cjs.map +1 -1
  153. package/dist/cjs/components/RadioGroup/RadioGroup.cjs +25 -23
  154. package/dist/cjs/components/RadioGroup/RadioGroup.cjs.map +1 -1
  155. package/dist/cjs/components/ScrollTo/Horizontal/ScrollToHorizontal.cjs +18 -16
  156. package/dist/cjs/components/ScrollTo/Horizontal/ScrollToHorizontal.cjs.map +1 -1
  157. package/dist/cjs/components/ScrollTo/Vertical/ScrollToVertical.cjs +19 -17
  158. package/dist/cjs/components/ScrollTo/Vertical/ScrollToVertical.cjs.map +1 -1
  159. package/dist/cjs/components/SelectionList/SelectionList.cjs +27 -25
  160. package/dist/cjs/components/SelectionList/SelectionList.cjs.map +1 -1
  161. package/dist/cjs/components/SimpleGrid/SimpleGrid.cjs +9 -7
  162. package/dist/cjs/components/SimpleGrid/SimpleGrid.cjs.map +1 -1
  163. package/dist/cjs/components/Slider/Slider.cjs +37 -35
  164. package/dist/cjs/components/Slider/Slider.cjs.map +1 -1
  165. package/dist/cjs/components/Snackbar/Snackbar.cjs +1 -1
  166. package/dist/cjs/components/Snackbar/Snackbar.cjs.map +1 -1
  167. package/dist/cjs/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.cjs +1 -1
  168. package/dist/cjs/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.cjs.map +1 -1
  169. package/dist/cjs/components/Snackbar/SnackbarProvider/SnackbarProvider.cjs +2 -2
  170. package/dist/cjs/components/Snackbar/SnackbarProvider/SnackbarProvider.cjs.map +1 -1
  171. package/dist/cjs/components/Stack/Stack.cjs +13 -11
  172. package/dist/cjs/components/Stack/Stack.cjs.map +1 -1
  173. package/dist/cjs/components/Switch/Switch.cjs +2 -1
  174. package/dist/cjs/components/Switch/Switch.cjs.map +1 -1
  175. package/dist/cjs/components/Tab/Tab.cjs +8 -6
  176. package/dist/cjs/components/Tab/Tab.cjs.map +1 -1
  177. package/dist/cjs/components/Table/Table.cjs +12 -10
  178. package/dist/cjs/components/Table/Table.cjs.map +1 -1
  179. package/dist/cjs/components/Table/TableHeader/TableHeader.cjs +2 -3
  180. package/dist/cjs/components/Table/TableHeader/TableHeader.cjs.map +1 -1
  181. package/dist/cjs/components/Table/hooks/useRowExpand.cjs +0 -1
  182. package/dist/cjs/components/Table/hooks/useRowExpand.cjs.map +1 -1
  183. package/dist/cjs/components/Table/renderers/renderers.cjs +0 -1
  184. package/dist/cjs/components/Table/renderers/renderers.cjs.map +1 -1
  185. package/dist/cjs/components/Tabs/Tabs.cjs +6 -4
  186. package/dist/cjs/components/Tabs/Tabs.cjs.map +1 -1
  187. package/dist/cjs/components/Tag/Tag.cjs +18 -16
  188. package/dist/cjs/components/Tag/Tag.cjs.map +1 -1
  189. package/dist/cjs/components/TagsInput/TagsInput.cjs +39 -37
  190. package/dist/cjs/components/TagsInput/TagsInput.cjs.map +1 -1
  191. package/dist/cjs/components/TextArea/TextArea.cjs +2 -1
  192. package/dist/cjs/components/TextArea/TextArea.cjs.map +1 -1
  193. package/dist/cjs/components/TimeAgo/TimeAgo.cjs +14 -12
  194. package/dist/cjs/components/TimeAgo/TimeAgo.cjs.map +1 -1
  195. package/dist/cjs/components/TimePicker/TimePicker.cjs +3 -2
  196. package/dist/cjs/components/TimePicker/TimePicker.cjs.map +1 -1
  197. package/dist/cjs/components/ToggleButton/ToggleButton.cjs +2 -2
  198. package/dist/cjs/components/ToggleButton/ToggleButton.cjs.map +1 -1
  199. package/dist/cjs/components/Tooltip/Tooltip.cjs +2 -1
  200. package/dist/cjs/components/Tooltip/Tooltip.cjs.map +1 -1
  201. package/dist/cjs/components/Typography/Typography.cjs +2 -1
  202. package/dist/cjs/components/Typography/Typography.cjs.map +1 -1
  203. package/dist/cjs/components/VerticalNavigation/Header/Header.cjs +0 -2
  204. package/dist/cjs/components/VerticalNavigation/Header/Header.cjs.map +1 -1
  205. package/dist/cjs/components/VerticalNavigation/NavigationSlider/NavigationSlider.cjs +0 -1
  206. package/dist/cjs/components/VerticalNavigation/NavigationSlider/NavigationSlider.cjs.map +1 -1
  207. package/dist/cjs/components/VerticalNavigation/TreeView/TreeViewItem.cjs +1 -0
  208. package/dist/cjs/components/VerticalNavigation/TreeView/TreeViewItem.cjs.map +1 -1
  209. package/dist/cjs/components/VerticalNavigation/TreeView/TreeViewItem.styles.cjs +10 -6
  210. package/dist/cjs/components/VerticalNavigation/TreeView/TreeViewItem.styles.cjs.map +1 -1
  211. package/dist/cjs/components/VerticalNavigation/VerticalNavigation.cjs +12 -10
  212. package/dist/cjs/components/VerticalNavigation/VerticalNavigation.cjs.map +1 -1
  213. package/dist/cjs/hooks/useDefaultProps.cjs +41 -0
  214. package/dist/cjs/hooks/useDefaultProps.cjs.map +1 -0
  215. package/dist/cjs/index.cjs +9 -4
  216. package/dist/cjs/index.cjs.map +1 -1
  217. package/dist/cjs/utils/classes.cjs +1 -1
  218. package/dist/cjs/utils/classes.cjs.map +1 -1
  219. package/dist/esm/components/Accordion/Accordion.js +17 -15
  220. package/dist/esm/components/Accordion/Accordion.js.map +1 -1
  221. package/dist/esm/components/ActionBar/ActionBar.js +2 -1
  222. package/dist/esm/components/ActionBar/ActionBar.js.map +1 -1
  223. package/dist/esm/components/ActionsGeneric/ActionsGeneric.js +13 -11
  224. package/dist/esm/components/ActionsGeneric/ActionsGeneric.js.map +1 -1
  225. package/dist/esm/components/AppSwitcher/AppSwitcher.js +16 -14
  226. package/dist/esm/components/AppSwitcher/AppSwitcher.js.map +1 -1
  227. package/dist/esm/components/Avatar/Avatar.js +42 -37
  228. package/dist/esm/components/Avatar/Avatar.js.map +1 -1
  229. package/dist/esm/components/Avatar/Avatar.styles.js +92 -132
  230. package/dist/esm/components/Avatar/Avatar.styles.js.map +1 -1
  231. package/dist/esm/components/Badge/Badge.js +23 -18
  232. package/dist/esm/components/Badge/Badge.js.map +1 -1
  233. package/dist/esm/components/Badge/Badge.styles.js +23 -67
  234. package/dist/esm/components/Badge/Badge.styles.js.map +1 -1
  235. package/dist/esm/components/Banner/Banner.js +22 -20
  236. package/dist/esm/components/Banner/Banner.js.map +1 -1
  237. package/dist/esm/components/Banner/BannerContent/BannerContent.js +1 -1
  238. package/dist/esm/components/Banner/BannerContent/BannerContent.js.map +1 -1
  239. package/dist/esm/components/BaseCheckBox/BaseCheckBox.js +21 -19
  240. package/dist/esm/components/BaseCheckBox/BaseCheckBox.js.map +1 -1
  241. package/dist/esm/components/BaseDropdown/BaseDropdown.js +26 -24
  242. package/dist/esm/components/BaseDropdown/BaseDropdown.js.map +1 -1
  243. package/dist/esm/components/BaseInput/BaseInput.js +23 -21
  244. package/dist/esm/components/BaseInput/BaseInput.js.map +1 -1
  245. package/dist/esm/components/BaseRadio/BaseRadio.js +2 -1
  246. package/dist/esm/components/BaseRadio/BaseRadio.js.map +1 -1
  247. package/dist/esm/components/BaseSwitch/BaseSwitch.js +2 -1
  248. package/dist/esm/components/BaseSwitch/BaseSwitch.js.map +1 -1
  249. package/dist/esm/components/Box/Box.js +9 -8
  250. package/dist/esm/components/Box/Box.js.map +1 -1
  251. package/dist/esm/components/BreadCrumb/BreadCrumb.js +14 -12
  252. package/dist/esm/components/BreadCrumb/BreadCrumb.js.map +1 -1
  253. package/dist/esm/components/BulkActions/BulkActions.js +22 -20
  254. package/dist/esm/components/BulkActions/BulkActions.js.map +1 -1
  255. package/dist/esm/components/Button/Button.js +4 -3
  256. package/dist/esm/components/Button/Button.js.map +1 -1
  257. package/dist/esm/components/Calendar/Calendar.js +20 -18
  258. package/dist/esm/components/Calendar/Calendar.js.map +1 -1
  259. package/dist/esm/components/Card/Card.js +13 -11
  260. package/dist/esm/components/Card/Card.js.map +1 -1
  261. package/dist/esm/components/Carousel/Carousel.js +2 -2
  262. package/dist/esm/components/Carousel/Carousel.js.map +1 -1
  263. package/dist/esm/components/Carousel/CarouselControls.js +2 -3
  264. package/dist/esm/components/Carousel/CarouselControls.js.map +1 -1
  265. package/dist/esm/components/Carousel/CarouselSlide/CarouselSlide.js +1 -1
  266. package/dist/esm/components/Carousel/CarouselSlide/CarouselSlide.js.map +1 -1
  267. package/dist/esm/components/CheckBox/CheckBox.js +29 -27
  268. package/dist/esm/components/CheckBox/CheckBox.js.map +1 -1
  269. package/dist/esm/components/CheckBoxGroup/CheckBoxGroup.js +28 -26
  270. package/dist/esm/components/CheckBoxGroup/CheckBoxGroup.js.map +1 -1
  271. package/dist/esm/components/ColorPicker/ColorPicker.js +34 -32
  272. package/dist/esm/components/ColorPicker/ColorPicker.js.map +1 -1
  273. package/dist/esm/components/Container/Container.js +9 -7
  274. package/dist/esm/components/Container/Container.js.map +1 -1
  275. package/dist/esm/components/Controls/Controls.js +14 -12
  276. package/dist/esm/components/Controls/Controls.js.map +1 -1
  277. package/dist/esm/components/DatePicker/DatePicker.js +39 -37
  278. package/dist/esm/components/DatePicker/DatePicker.js.map +1 -1
  279. package/dist/esm/components/Dialog/Actions/Actions.js +9 -7
  280. package/dist/esm/components/Dialog/Actions/Actions.js.map +1 -1
  281. package/dist/esm/components/Dialog/Content/Content.js +8 -6
  282. package/dist/esm/components/Dialog/Content/Content.js.map +1 -1
  283. package/dist/esm/components/Dialog/Dialog.js +16 -14
  284. package/dist/esm/components/Dialog/Dialog.js.map +1 -1
  285. package/dist/esm/components/Dialog/Title/Title.js +11 -9
  286. package/dist/esm/components/Dialog/Title/Title.js.map +1 -1
  287. package/dist/esm/components/DotPagination/DotPagination.js +14 -12
  288. package/dist/esm/components/DotPagination/DotPagination.js.map +1 -1
  289. package/dist/esm/components/Drawer/Drawer.js +13 -11
  290. package/dist/esm/components/Drawer/Drawer.js.map +1 -1
  291. package/dist/esm/components/DropDownMenu/DropDownMenu.js +20 -17
  292. package/dist/esm/components/DropDownMenu/DropDownMenu.js.map +1 -1
  293. package/dist/esm/components/Dropdown/Dropdown.js +2 -1
  294. package/dist/esm/components/Dropdown/Dropdown.js.map +1 -1
  295. package/dist/esm/components/EmptyState/EmptyState.js +2 -1
  296. package/dist/esm/components/EmptyState/EmptyState.js.map +1 -1
  297. package/dist/esm/components/FileUploader/File/File.js +0 -1
  298. package/dist/esm/components/FileUploader/File/File.js.map +1 -1
  299. package/dist/esm/components/FileUploader/FileUploader.js +17 -15
  300. package/dist/esm/components/FileUploader/FileUploader.js.map +1 -1
  301. package/dist/esm/components/FileUploader/Preview/Preview.js +0 -1
  302. package/dist/esm/components/FileUploader/Preview/Preview.js.map +1 -1
  303. package/dist/esm/components/FilterGroup/FilterGroup.js +30 -28
  304. package/dist/esm/components/FilterGroup/FilterGroup.js.map +1 -1
  305. package/dist/esm/components/FilterGroup/FilterGroupContext.js +8 -6
  306. package/dist/esm/components/FilterGroup/FilterGroupContext.js.map +1 -1
  307. package/dist/esm/components/Footer/Footer.js +2 -1
  308. package/dist/esm/components/Footer/Footer.js.map +1 -1
  309. package/dist/esm/components/Forms/CharCounter/CharCounter.js +13 -11
  310. package/dist/esm/components/Forms/CharCounter/CharCounter.js.map +1 -1
  311. package/dist/esm/components/Forms/FormElement/FormElement.js +15 -13
  312. package/dist/esm/components/Forms/FormElement/FormElement.js.map +1 -1
  313. package/dist/esm/components/Forms/InfoMessage/InfoMessage.js +11 -9
  314. package/dist/esm/components/Forms/InfoMessage/InfoMessage.js.map +1 -1
  315. package/dist/esm/components/Forms/Label/Label.js +13 -11
  316. package/dist/esm/components/Forms/Label/Label.js.map +1 -1
  317. package/dist/esm/components/Forms/WarningText/WarningText.js +16 -14
  318. package/dist/esm/components/Forms/WarningText/WarningText.js.map +1 -1
  319. package/dist/esm/components/GlobalActions/GlobalActions.js +13 -11
  320. package/dist/esm/components/GlobalActions/GlobalActions.js.map +1 -1
  321. package/dist/esm/components/Grid/Grid.js +10 -8
  322. package/dist/esm/components/Grid/Grid.js.map +1 -1
  323. package/dist/esm/components/Header/Actions/Actions.js +8 -6
  324. package/dist/esm/components/Header/Actions/Actions.js.map +1 -1
  325. package/dist/esm/components/Header/Brand/Brand.js +9 -7
  326. package/dist/esm/components/Header/Brand/Brand.js.map +1 -1
  327. package/dist/esm/components/Header/Header.js +2 -1
  328. package/dist/esm/components/Header/Header.js.map +1 -1
  329. package/dist/esm/components/Header/Navigation/Navigation.js +11 -9
  330. package/dist/esm/components/Header/Navigation/Navigation.js.map +1 -1
  331. package/dist/esm/components/InlineEditor/InlineEditor.js +18 -16
  332. package/dist/esm/components/InlineEditor/InlineEditor.js.map +1 -1
  333. package/dist/esm/components/Input/Input.js +2 -1
  334. package/dist/esm/components/Input/Input.js.map +1 -1
  335. package/dist/esm/components/Kpi/Kpi.js +13 -11
  336. package/dist/esm/components/Kpi/Kpi.js.map +1 -1
  337. package/dist/esm/components/Link/Link.js +11 -9
  338. package/dist/esm/components/Link/Link.js.map +1 -1
  339. package/dist/esm/components/List/List.js +21 -19
  340. package/dist/esm/components/List/List.js.map +1 -1
  341. package/dist/esm/components/ListContainer/ListContainer.js +12 -10
  342. package/dist/esm/components/ListContainer/ListContainer.js.map +1 -1
  343. package/dist/esm/components/ListContainer/ListItem/ListItem.js +20 -18
  344. package/dist/esm/components/ListContainer/ListItem/ListItem.js.map +1 -1
  345. package/dist/esm/components/Loading/Loading.js +2 -1
  346. package/dist/esm/components/Loading/Loading.js.map +1 -1
  347. package/dist/esm/components/Login/Login.js +10 -8
  348. package/dist/esm/components/Login/Login.js.map +1 -1
  349. package/dist/esm/components/MultiButton/MultiButton.js +11 -9
  350. package/dist/esm/components/MultiButton/MultiButton.js.map +1 -1
  351. package/dist/esm/components/OverflowTooltip/OverflowTooltip.js +12 -10
  352. package/dist/esm/components/OverflowTooltip/OverflowTooltip.js.map +1 -1
  353. package/dist/esm/components/Pagination/ButtonIconTooltip.js +0 -1
  354. package/dist/esm/components/Pagination/ButtonIconTooltip.js.map +1 -1
  355. package/dist/esm/components/Pagination/Pagination.js +22 -20
  356. package/dist/esm/components/Pagination/Pagination.js.map +1 -1
  357. package/dist/esm/components/Pagination/Select.js +1 -1
  358. package/dist/esm/components/Pagination/Select.js.map +1 -1
  359. package/dist/esm/components/Panel/Panel.js +9 -7
  360. package/dist/esm/components/Panel/Panel.js.map +1 -1
  361. package/dist/esm/components/ProgressBar/ProgressBar.js +2 -1
  362. package/dist/esm/components/ProgressBar/ProgressBar.js.map +1 -1
  363. package/dist/esm/components/QueryBuilder/QueryBuilder.js +13 -11
  364. package/dist/esm/components/QueryBuilder/QueryBuilder.js.map +1 -1
  365. package/dist/esm/components/QueryBuilder/Rule/Rule.js +0 -1
  366. package/dist/esm/components/QueryBuilder/Rule/Rule.js.map +1 -1
  367. package/dist/esm/components/QueryBuilder/RuleGroup/RuleGroup.js +1 -2
  368. package/dist/esm/components/QueryBuilder/RuleGroup/RuleGroup.js.map +1 -1
  369. package/dist/esm/components/Radio/Radio.js +2 -1
  370. package/dist/esm/components/Radio/Radio.js.map +1 -1
  371. package/dist/esm/components/RadioGroup/RadioGroup.js +25 -23
  372. package/dist/esm/components/RadioGroup/RadioGroup.js.map +1 -1
  373. package/dist/esm/components/ScrollTo/Horizontal/ScrollToHorizontal.js +18 -16
  374. package/dist/esm/components/ScrollTo/Horizontal/ScrollToHorizontal.js.map +1 -1
  375. package/dist/esm/components/ScrollTo/Vertical/ScrollToVertical.js +19 -17
  376. package/dist/esm/components/ScrollTo/Vertical/ScrollToVertical.js.map +1 -1
  377. package/dist/esm/components/SelectionList/SelectionList.js +27 -25
  378. package/dist/esm/components/SelectionList/SelectionList.js.map +1 -1
  379. package/dist/esm/components/SimpleGrid/SimpleGrid.js +9 -7
  380. package/dist/esm/components/SimpleGrid/SimpleGrid.js.map +1 -1
  381. package/dist/esm/components/Slider/Slider.js +37 -35
  382. package/dist/esm/components/Slider/Slider.js.map +1 -1
  383. package/dist/esm/components/Snackbar/Snackbar.js +1 -1
  384. package/dist/esm/components/Snackbar/Snackbar.js.map +1 -1
  385. package/dist/esm/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.js +1 -1
  386. package/dist/esm/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.js.map +1 -1
  387. package/dist/esm/components/Snackbar/SnackbarProvider/SnackbarProvider.js +2 -2
  388. package/dist/esm/components/Snackbar/SnackbarProvider/SnackbarProvider.js.map +1 -1
  389. package/dist/esm/components/Stack/Stack.js +13 -11
  390. package/dist/esm/components/Stack/Stack.js.map +1 -1
  391. package/dist/esm/components/Switch/Switch.js +2 -1
  392. package/dist/esm/components/Switch/Switch.js.map +1 -1
  393. package/dist/esm/components/Tab/Tab.js +8 -6
  394. package/dist/esm/components/Tab/Tab.js.map +1 -1
  395. package/dist/esm/components/Table/Table.js +12 -10
  396. package/dist/esm/components/Table/Table.js.map +1 -1
  397. package/dist/esm/components/Table/TableHeader/TableHeader.js +2 -3
  398. package/dist/esm/components/Table/TableHeader/TableHeader.js.map +1 -1
  399. package/dist/esm/components/Table/hooks/useRowExpand.js +0 -1
  400. package/dist/esm/components/Table/hooks/useRowExpand.js.map +1 -1
  401. package/dist/esm/components/Table/renderers/renderers.js +0 -1
  402. package/dist/esm/components/Table/renderers/renderers.js.map +1 -1
  403. package/dist/esm/components/Tabs/Tabs.js +6 -4
  404. package/dist/esm/components/Tabs/Tabs.js.map +1 -1
  405. package/dist/esm/components/Tag/Tag.js +18 -16
  406. package/dist/esm/components/Tag/Tag.js.map +1 -1
  407. package/dist/esm/components/TagsInput/TagsInput.js +39 -37
  408. package/dist/esm/components/TagsInput/TagsInput.js.map +1 -1
  409. package/dist/esm/components/TextArea/TextArea.js +2 -1
  410. package/dist/esm/components/TextArea/TextArea.js.map +1 -1
  411. package/dist/esm/components/TimeAgo/TimeAgo.js +14 -12
  412. package/dist/esm/components/TimeAgo/TimeAgo.js.map +1 -1
  413. package/dist/esm/components/TimePicker/TimePicker.js +3 -2
  414. package/dist/esm/components/TimePicker/TimePicker.js.map +1 -1
  415. package/dist/esm/components/ToggleButton/ToggleButton.js +2 -2
  416. package/dist/esm/components/ToggleButton/ToggleButton.js.map +1 -1
  417. package/dist/esm/components/Tooltip/Tooltip.js +2 -1
  418. package/dist/esm/components/Tooltip/Tooltip.js.map +1 -1
  419. package/dist/esm/components/Typography/Typography.js +2 -1
  420. package/dist/esm/components/Typography/Typography.js.map +1 -1
  421. package/dist/esm/components/VerticalNavigation/Header/Header.js +0 -2
  422. package/dist/esm/components/VerticalNavigation/Header/Header.js.map +1 -1
  423. package/dist/esm/components/VerticalNavigation/NavigationSlider/NavigationSlider.js +0 -1
  424. package/dist/esm/components/VerticalNavigation/NavigationSlider/NavigationSlider.js.map +1 -1
  425. package/dist/esm/components/VerticalNavigation/TreeView/TreeViewItem.js +1 -0
  426. package/dist/esm/components/VerticalNavigation/TreeView/TreeViewItem.js.map +1 -1
  427. package/dist/esm/components/VerticalNavigation/TreeView/TreeViewItem.styles.js +10 -6
  428. package/dist/esm/components/VerticalNavigation/TreeView/TreeViewItem.styles.js.map +1 -1
  429. package/dist/esm/components/VerticalNavigation/VerticalNavigation.js +12 -10
  430. package/dist/esm/components/VerticalNavigation/VerticalNavigation.js.map +1 -1
  431. package/dist/esm/hooks/useDefaultProps.js +41 -0
  432. package/dist/esm/hooks/useDefaultProps.js.map +1 -0
  433. package/dist/esm/index.js +213 -208
  434. package/dist/esm/index.js.map +1 -1
  435. package/dist/esm/utils/classes.js +1 -1
  436. package/dist/esm/utils/classes.js.map +1 -1
  437. package/dist/types/index.d.ts +279 -244
  438. package/package.json +5 -5
  439. package/dist/cjs/components/Avatar/avatarClasses.cjs +0 -8
  440. package/dist/cjs/components/Avatar/avatarClasses.cjs.map +0 -1
  441. package/dist/cjs/components/Badge/badgeClasses.cjs +0 -8
  442. package/dist/cjs/components/Badge/badgeClasses.cjs.map +0 -1
  443. package/dist/esm/components/Avatar/avatarClasses.js +0 -8
  444. package/dist/esm/components/Avatar/avatarClasses.js.map +0 -1
  445. package/dist/esm/components/Badge/badgeClasses.js +0 -8
  446. package/dist/esm/components/Badge/badgeClasses.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"BaseInput.cjs","sources":["../../../../src/components/BaseInput/BaseInput.tsx"],"sourcesContent":["import { useContext } from \"react\";\n\nimport {\n InputBaseComponentProps as MuiInputBaseComponentProps,\n InputProps as MuiInputProps,\n Input as MuiInput,\n InputBaseProps,\n} from \"@mui/material\";\n\nimport { css as emotionCss, Global } from \"@emotion/react\";\n\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { ExtractNames } from \"@core/utils/classes\";\nimport {\n HvFormElementContext,\n HvFormElementDescriptorsContext,\n buildFormElementPropsFromContext,\n buildAriaPropsFromContext,\n} from \"@core/components/Forms\";\n\nimport { staticClasses, useClasses } from \"./BaseInput.styles\";\n\nexport { staticClasses as baseInputClasses };\n\nexport type HvBaseInputClasses = ExtractNames<typeof useClasses>;\n\n// Global styles for the base input.\nconst baseInputStyles = emotionCss({\n \"input:-webkit-autofill\": {\n WebkitBoxShadow: `0 0 0px 1000px ${theme.colors.atmo1} inset`,\n WebkitTextFillColor: theme.colors.secondary,\n },\n\n // Clears number input up/down arrows in Chrome and Firefox\n \"input::-webkit-outer-spin-button,input::-webkit-inner-spin-button\": {\n WebkitAppearance: \"none\",\n margin: 0,\n },\n \"input[type=number]\": {\n MozAppearance: \"textfield\",\n },\n\n // Clears time input clock in Chrome\n \"input::-webkit-calendar-picker-indicator\": {\n display: \"none\",\n },\n\n // Clears search input clear button in Chrome\n \"input::-webkit-search-decoration,input::-webkit-search-cancel-button,input::-webkit-search-results-button,input::-webkit-search-results-decoration\":\n {\n display: \"none\",\n },\n});\n\nexport interface HvBaseInputProps\n extends Omit<MuiInputProps, \"onChange\" | \"classes\">,\n HvBaseProps<\n HTMLDivElement,\n | \"onChange\"\n | \"color\"\n | \"onBlur\"\n | \"onFocus\"\n | \"onInvalid\"\n | \"onKeyDown\"\n | \"onKeyUp\"\n > {\n /** The input name. */\n name?: string;\n /** The value of the input, when controlled. */\n value?: string;\n /** The initial value of the input, when uncontrolled. */\n defaultValue?: string;\n /** If `true` the input is disabled. */\n disabled?: boolean;\n /** Indicates that the input is not editable. */\n readOnly?: boolean;\n /** If true, the input element will be required. */\n required?: boolean;\n /** The function that will be executed onChange, allows modification of the input,\n * it receives the value. If a new value should be presented it must returned it. */\n onChange?: (\n event: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>,\n value: string\n ) => void;\n /** The input type. */\n type?: string;\n /** Label inside the input used to help user. */\n placeholder?: string;\n /** If true, a textarea element will be rendered. */\n multiline?: boolean;\n /** If true and multiline is also true the textarea element will be resizable. */\n resizable?: boolean;\n /** Denotes if the input is in an invalid state. */\n invalid?: boolean;\n /** Attributes applied to the input element. */\n inputProps?: MuiInputBaseComponentProps;\n /** Allows passing a ref to the underlying input */\n inputRef?: InputBaseProps[\"inputRef\"];\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvBaseInputClasses;\n}\n\n/**\n * An Input component that only posses the most basic functionalities.\n * It should be used alongside the other form elements to construct a proper accessible form.\n */\nexport const HvBaseInput = ({\n classes: classesProp,\n className = \"\",\n id,\n name,\n value,\n defaultValue,\n required,\n readOnly,\n disabled,\n onChange,\n type = \"text\",\n placeholder,\n multiline = false,\n resizable = false,\n invalid = false,\n inputRef,\n inputProps = {},\n ...others\n}: HvBaseInputProps) => {\n const { classes, cx } = useClasses(classesProp);\n const formElementContext = useContext(HvFormElementContext);\n const formElementProps = buildFormElementPropsFromContext(\n name,\n disabled,\n readOnly,\n required,\n formElementContext\n );\n\n const localInvalid = invalid || formElementProps.status === \"invalid\";\n\n const formElementDescriptorsContext = useContext(\n HvFormElementDescriptorsContext\n );\n const ariaProps = buildAriaPropsFromContext(\n inputProps,\n formElementDescriptorsContext,\n localInvalid,\n id\n );\n\n const onChangeHandler: MuiInputProps[\"onChange\"] = (event) => {\n onChange?.(event, event.target.value);\n };\n\n return (\n <>\n <Global styles={baseInputStyles} />\n <div\n className={cx(classes.root, className, {\n [classes.disabled]: formElementProps.disabled,\n [classes.invalid]: localInvalid,\n [classes.resizable]: multiline && resizable,\n [classes.readOnly]: formElementProps.readOnly,\n })}\n >\n <MuiInput\n id={id}\n name={formElementProps.name}\n value={value}\n defaultValue={defaultValue}\n type={type}\n placeholder={placeholder}\n readOnly={!!formElementProps.readOnly}\n disabled={formElementProps.disabled}\n onChange={onChangeHandler}\n className={cx({\n [classes.inputRootInvalid]: localInvalid,\n [classes.inputRootReadOnly]: formElementProps.readOnly,\n })}\n classes={{\n root: classes.inputRoot,\n focused: classes.inputRootFocused,\n disabled: classes.inputRootDisabled,\n multiline: classes.inputRootMultiline,\n input: cx(classes.input, {\n [classes.inputResizable]: !formElementProps.disabled && resizable,\n [classes.inputDisabled]: formElementProps.disabled,\n [classes.inputReadOnly]: formElementProps.readOnly,\n }),\n }}\n inputProps={{\n // Avoid the required attribute at the root node\n required: formElementProps.required,\n ...inputProps,\n ...ariaProps,\n }}\n inputRef={inputRef}\n multiline={multiline}\n rows={10}\n {...others}\n />\n {!multiline && (\n <div role=\"presentation\" className={classes.inputBorderContainer} />\n )}\n </div>\n </>\n );\n};\n"],"names":["baseInputStyles","emotionCss","WebkitBoxShadow","theme","colors","atmo1","WebkitTextFillColor","secondary","WebkitAppearance","margin","MozAppearance","display","process","env","NODE_ENV","HvBaseInput","classes","classesProp","className","id","name","value","defaultValue","required","readOnly","disabled","onChange","type","placeholder","multiline","resizable","invalid","inputRef","inputProps","others","cx","useClasses","formElementContext","useContext","HvFormElementContext","formElementProps","buildFormElementPropsFromContext","localInvalid","status","formElementDescriptorsContext","HvFormElementDescriptorsContext","ariaProps","buildAriaPropsFromContext","onChangeHandler","event","target","_Fragment","children","_jsx","Global","styles","_jsxs","root","MuiInput","inputRootInvalid","inputRootReadOnly","inputRoot","focused","inputRootFocused","inputRootDisabled","inputRootMultiline","input","inputResizable","inputDisabled","inputReadOnly","rows","role","inputBorderContainer"],"mappings":"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"}
1
+ {"version":3,"file":"BaseInput.cjs","sources":["../../../../src/components/BaseInput/BaseInput.tsx"],"sourcesContent":["import { useContext } from \"react\";\n\nimport {\n InputBaseComponentProps as MuiInputBaseComponentProps,\n InputProps as MuiInputProps,\n Input as MuiInput,\n InputBaseProps,\n} from \"@mui/material\";\n\nimport { css as emotionCss, Global } from \"@emotion/react\";\n\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { ExtractNames } from \"@core/utils/classes\";\nimport {\n HvFormElementContext,\n HvFormElementDescriptorsContext,\n buildFormElementPropsFromContext,\n buildAriaPropsFromContext,\n} from \"@core/components/Forms\";\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\n\nimport { staticClasses, useClasses } from \"./BaseInput.styles\";\n\nexport { staticClasses as baseInputClasses };\n\nexport type HvBaseInputClasses = ExtractNames<typeof useClasses>;\n\n// Global styles for the base input.\nconst baseInputStyles = emotionCss({\n \"input:-webkit-autofill\": {\n WebkitBoxShadow: `0 0 0px 1000px ${theme.colors.atmo1} inset`,\n WebkitTextFillColor: theme.colors.secondary,\n },\n\n // Clears number input up/down arrows in Chrome and Firefox\n \"input::-webkit-outer-spin-button,input::-webkit-inner-spin-button\": {\n WebkitAppearance: \"none\",\n margin: 0,\n },\n \"input[type=number]\": {\n MozAppearance: \"textfield\",\n },\n\n // Clears time input clock in Chrome\n \"input::-webkit-calendar-picker-indicator\": {\n display: \"none\",\n },\n\n // Clears search input clear button in Chrome\n \"input::-webkit-search-decoration,input::-webkit-search-cancel-button,input::-webkit-search-results-button,input::-webkit-search-results-decoration\":\n {\n display: \"none\",\n },\n});\n\nexport interface HvBaseInputProps\n extends Omit<MuiInputProps, \"onChange\" | \"classes\">,\n HvBaseProps<\n HTMLDivElement,\n | \"onChange\"\n | \"color\"\n | \"onBlur\"\n | \"onFocus\"\n | \"onInvalid\"\n | \"onKeyDown\"\n | \"onKeyUp\"\n > {\n /** The input name. */\n name?: string;\n /** The value of the input, when controlled. */\n value?: string;\n /** The initial value of the input, when uncontrolled. */\n defaultValue?: string;\n /** If `true` the input is disabled. */\n disabled?: boolean;\n /** Indicates that the input is not editable. */\n readOnly?: boolean;\n /** If true, the input element will be required. */\n required?: boolean;\n /** The function that will be executed onChange, allows modification of the input,\n * it receives the value. If a new value should be presented it must returned it. */\n onChange?: (\n event: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>,\n value: string\n ) => void;\n /** The input type. */\n type?: string;\n /** Label inside the input used to help user. */\n placeholder?: string;\n /** If true, a textarea element will be rendered. */\n multiline?: boolean;\n /** If true and multiline is also true the textarea element will be resizable. */\n resizable?: boolean;\n /** Denotes if the input is in an invalid state. */\n invalid?: boolean;\n /** Attributes applied to the input element. */\n inputProps?: MuiInputBaseComponentProps;\n /** Allows passing a ref to the underlying input */\n inputRef?: InputBaseProps[\"inputRef\"];\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvBaseInputClasses;\n}\n\n/**\n * An Input component that only posses the most basic functionalities.\n * It should be used alongside the other form elements to construct a proper accessible form.\n */\nexport const HvBaseInput = (props: HvBaseInputProps) => {\n const {\n classes: classesProp,\n className = \"\",\n id,\n name,\n value,\n defaultValue,\n required,\n readOnly,\n disabled,\n onChange,\n type = \"text\",\n placeholder,\n multiline = false,\n resizable = false,\n invalid = false,\n inputRef,\n inputProps = {},\n ...others\n } = useDefaultProps(\"HvBaseInput\", props);\n const { classes, cx } = useClasses(classesProp);\n const formElementContext = useContext(HvFormElementContext);\n const formElementProps = buildFormElementPropsFromContext(\n name,\n disabled,\n readOnly,\n required,\n formElementContext\n );\n\n const localInvalid = invalid || formElementProps.status === \"invalid\";\n\n const formElementDescriptorsContext = useContext(\n HvFormElementDescriptorsContext\n );\n const ariaProps = buildAriaPropsFromContext(\n inputProps,\n formElementDescriptorsContext,\n localInvalid,\n id\n );\n\n const onChangeHandler: MuiInputProps[\"onChange\"] = (event) => {\n onChange?.(event, event.target.value);\n };\n\n return (\n <>\n <Global styles={baseInputStyles} />\n <div\n className={cx(classes.root, className, {\n [classes.disabled]: formElementProps.disabled,\n [classes.invalid]: localInvalid,\n [classes.resizable]: multiline && resizable,\n [classes.readOnly]: formElementProps.readOnly,\n })}\n >\n <MuiInput\n id={id}\n name={formElementProps.name}\n value={value}\n defaultValue={defaultValue}\n type={type}\n placeholder={placeholder}\n readOnly={!!formElementProps.readOnly}\n disabled={formElementProps.disabled}\n onChange={onChangeHandler}\n className={cx({\n [classes.inputRootInvalid]: localInvalid,\n [classes.inputRootReadOnly]: formElementProps.readOnly,\n })}\n classes={{\n root: classes.inputRoot,\n focused: classes.inputRootFocused,\n disabled: classes.inputRootDisabled,\n multiline: classes.inputRootMultiline,\n input: cx(classes.input, {\n [classes.inputResizable]: !formElementProps.disabled && resizable,\n [classes.inputDisabled]: formElementProps.disabled,\n [classes.inputReadOnly]: formElementProps.readOnly,\n }),\n }}\n inputProps={{\n // Avoid the required attribute at the root node\n required: formElementProps.required,\n ...inputProps,\n ...ariaProps,\n }}\n inputRef={inputRef}\n multiline={multiline}\n rows={10}\n {...others}\n />\n {!multiline && (\n <div role=\"presentation\" className={classes.inputBorderContainer} />\n )}\n </div>\n </>\n );\n};\n"],"names":["baseInputStyles","emotionCss","WebkitBoxShadow","theme","colors","atmo1","WebkitTextFillColor","secondary","WebkitAppearance","margin","MozAppearance","display","process","env","NODE_ENV","HvBaseInput","props","classes","classesProp","className","id","name","value","defaultValue","required","readOnly","disabled","onChange","type","placeholder","multiline","resizable","invalid","inputRef","inputProps","others","useDefaultProps","cx","useClasses","formElementContext","useContext","HvFormElementContext","formElementProps","buildFormElementPropsFromContext","localInvalid","status","formElementDescriptorsContext","HvFormElementDescriptorsContext","ariaProps","buildAriaPropsFromContext","onChangeHandler","event","target","_Fragment","children","_jsx","Global","styles","_jsxs","root","MuiInput","inputRootInvalid","inputRootReadOnly","inputRoot","focused","inputRootFocused","inputRootDisabled","inputRootMultiline","input","inputResizable","inputDisabled","inputReadOnly","rows","role","inputBorderContainer"],"mappings":";;;;;;;;;;;;AA8BA,MAAMA,kBAA6BC,sBAAAA,IAAA;AAAA,EACjC,0BAA0B;AAAA,IACxBC,iBAAkB,kBAAiBC,YAAAA,MAAMC,OAAOC;AAAAA,IAChDC,qBAAqBH,YAAAA,MAAMC,OAAOG;AAAAA,EACpC;AAAA;AAAA,EAGA,qEAAqE;AAAA,IACnEC,kBAAkB;AAAA,IAClBC,QAAQ;AAAA,EACV;AAAA,EACA,sBAAsB;AAAA,IACpBC,eAAe;AAAA,EACjB;AAAA;AAAA,EAGA,4CAA4C;AAAA,IAC1CC,SAAS;AAAA,EACX;AAAA;AAAA,EAGA,sJACE;AAAA,IACEA,SAAS;AAAA,EACX;AACJ,GAACC,QAAAC,IAAAC,aAAAF,eAAAA,KAAAA,2BAAAA,QAAAC,IAAAC,aAAC,eAAA,KAAA,qkSAAA;AAsDWC,MAAAA,cAAcA,CAACC,UAA4B;AAChD,QAAA;AAAA,IACJC,SAASC;AAAAA,IACTC,YAAY;AAAA,IACZC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC,OAAO;AAAA,IACPC;AAAAA,IACAC,YAAY;AAAA,IACZC,YAAY;AAAA,IACZC,UAAU;AAAA,IACVC;AAAAA,IACAC,aAAa,CAAC;AAAA,IACd,GAAGC;AAAAA,EAAAA,IACDC,gBAAgB,gBAAA,eAAepB,KAAK;AAClC,QAAA;AAAA,IAAEC;AAAAA,IAASoB;AAAAA,EAAAA,IAAOC,iBAAAA,WAAWpB,WAAW;AACxCqB,QAAAA,qBAAqBC,iBAAWC,mBAAAA,oBAAoB;AAC1D,QAAMC,mBAAmBC,UAAAA,iCACvBtB,MACAK,UACAD,UACAD,UACAe,kBACF;AAEMK,QAAAA,eAAeZ,WAAWU,iBAAiBG,WAAW;AAEtDC,QAAAA,gCAAgCN,iBACpCO,8BAAAA,+BACF;AACA,QAAMC,YAAYC,UAAAA,0BAChBf,YACAY,+BACAF,cACAxB,EACF;AAEA,QAAM8B,kBAA8CC,CAAU,UAAA;AACjDA,yCAAAA,OAAOA,MAAMC,OAAO9B;AAAAA,EAAK;AAGtC,yCACE+B,WAAAA,UAAA;AAAA,IAAAC,UAAA,CACEC,2BAAAA,IAACC,cAAM;AAAA,MAACC,QAAQzD;AAAAA,IAAAA,CAAkB,GAClC0D,2BAAAA,KAAA,OAAA;AAAA,MACEvC,WAAWkB,GAAGpB,QAAQ0C,MAAMxC,WAAW;AAAA,QACrC,CAACF,QAAQS,QAAQ,GAAGgB,iBAAiBhB;AAAAA,QACrC,CAACT,QAAQe,OAAO,GAAGY;AAAAA,QACnB,CAAC3B,QAAQc,SAAS,GAAGD,aAAaC;AAAAA,QAClC,CAACd,QAAQQ,QAAQ,GAAGiB,iBAAiBjB;AAAAA,MAAAA,CACtC;AAAA,MAAE6B,UAAA,CAEHC,2BAAAA,IAACK,gBAAQ;AAAA,QACPxC;AAAAA,QACAC,MAAMqB,iBAAiBrB;AAAAA,QACvBC;AAAAA,QACAC;AAAAA,QACAK;AAAAA,QACAC;AAAAA,QACAJ,UAAU,CAAC,CAACiB,iBAAiBjB;AAAAA,QAC7BC,UAAUgB,iBAAiBhB;AAAAA,QAC3BC,UAAUuB;AAAAA,QACV/B,WAAWkB,GAAG;AAAA,UACZ,CAACpB,QAAQ4C,gBAAgB,GAAGjB;AAAAA,UAC5B,CAAC3B,QAAQ6C,iBAAiB,GAAGpB,iBAAiBjB;AAAAA,QAAAA,CAC/C;AAAA,QACDR,SAAS;AAAA,UACP0C,MAAM1C,QAAQ8C;AAAAA,UACdC,SAAS/C,QAAQgD;AAAAA,UACjBvC,UAAUT,QAAQiD;AAAAA,UAClBpC,WAAWb,QAAQkD;AAAAA,UACnBC,OAAO/B,GAAGpB,QAAQmD,OAAO;AAAA,YACvB,CAACnD,QAAQoD,cAAc,GAAG,CAAC3B,iBAAiBhB,YAAYK;AAAAA,YACxD,CAACd,QAAQqD,aAAa,GAAG5B,iBAAiBhB;AAAAA,YAC1C,CAACT,QAAQsD,aAAa,GAAG7B,iBAAiBjB;AAAAA,UAAAA,CAC3C;AAAA,QACH;AAAA,QACAS,YAAY;AAAA;AAAA,UAEVV,UAAUkB,iBAAiBlB;AAAAA,UAC3B,GAAGU;AAAAA,UACH,GAAGc;AAAAA,QACL;AAAA,QACAf;AAAAA,QACAH;AAAAA,QACA0C,MAAM;AAAA,QAAG,GACLrC;AAAAA,MACL,CAAA,GACA,CAACL,4CACA,OAAA;AAAA,QAAK2C,MAAK;AAAA,QAAetD,WAAWF,QAAQyD;AAAAA,MAAAA,CAAuB,CACpE;AAAA,IAAA,CACE,CAAC;AAAA,EAAA,CACN;AAEN;;;"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const React = require("react");
4
4
  const clsx = require("clsx");
5
5
  const uikitReactIcons = require("@hitachivantara/uikit-react-icons");
6
+ const useDefaultProps = require("../../hooks/useDefaultProps.cjs");
6
7
  const BaseRadio_styles = require("./BaseRadio.styles.cjs");
7
8
  const baseRadioClasses = require("./baseRadioClasses.cjs");
8
9
  const jsxRuntime = require("@emotion/react/jsx-runtime");
@@ -42,7 +43,7 @@ const HvBaseRadio = (props) => {
42
43
  onFocusVisible,
43
44
  onBlur,
44
45
  ...others
45
- } = props;
46
+ } = useDefaultProps.useDefaultProps("HvBaseRadio", props);
46
47
  const [focusVisible, setFocusVisible] = React.useState(false);
47
48
  const onFocusVisibleCallback = React.useCallback((evt) => {
48
49
  setFocusVisible(true);
@@ -1 +1 @@
1
- {"version":3,"file":"BaseRadio.cjs","sources":["../../../../src/components/BaseRadio/BaseRadio.tsx"],"sourcesContent":["import React, { useState, useCallback } from \"react\";\n\nimport { clsx } from \"clsx\";\n\nimport { RadioProps as MuiRadioProps } from \"@mui/material\";\n\nimport {\n RadioButtonUnselected,\n RadioButtonSelected,\n} from \"@hitachivantara/uikit-react-icons\";\n\nimport { HvBaseProps } from \"@core/types/generic\";\n\nimport { StyledRadio } from \"./BaseRadio.styles\";\nimport baseRadioClasses, { HvBaseRadioClasses } from \"./baseRadioClasses\";\n\nexport interface HvBaseRadioProps\n extends Omit<MuiRadioProps, \"onChange\" | \"classes\">,\n HvBaseProps<HTMLButtonElement, \"onChange\" | \"color\"> {\n /**\n * Class names to be applied.\n */\n className?: string;\n /**\n * A Jss Object used to override or extend the styles applied to the radio button.\n */\n classes?: HvBaseRadioClasses;\n /**\n * Id to be applied to the root node.\n */\n id?: string;\n /**\n * The input name.\n */\n name?: string;\n /**\n * The value of the input.\n *\n * The default value is \"on\".\n */\n value?: any;\n /**\n * Indicates that user input is required.\n */\n required?: boolean;\n /**\n * Indicates that the input is not editable.\n */\n readOnly?: boolean;\n /**\n * Indicates that the input is disabled.\n */\n disabled?: boolean;\n /**\n * If `true` the radio button is selected, if set to `false` the radio button is not selected.\n *\n * When defined the radio button state becomes controlled.\n */\n checked?: boolean;\n /**\n * When uncontrolled, defines the initial checked state.\n */\n defaultChecked?: boolean;\n /**\n * The callback fired when the radio button is pressed.\n */\n onChange?: (\n event: React.ChangeEvent<HTMLInputElement>,\n checked: boolean,\n value: any\n ) => void;\n /**\n * Whether the selector should use semantic colors.\n */\n semantic?: boolean;\n /**\n * Properties passed on to the input element.\n */\n inputProps?: React.InputHTMLAttributes<HTMLInputElement>;\n /**\n * Callback fired when the component is focused with a keyboard.\n * We trigger a `onFocus` callback too.\n */\n onFocusVisible?: (event: React.FocusEvent<any>) => void;\n /**\n * @ignore\n */\n onBlur?: (event: React.FocusEvent<any>) => void;\n}\n\nexport const getSelectorIcons = (\n options: { disabled: boolean; semantic: boolean },\n classes?: HvBaseRadioClasses\n) => {\n const { disabled, semantic } = options;\n const color =\n (disabled && [\"atmo3\", \"secondary_60\"]) ||\n (semantic && [\"base_light\", \"base_dark\"]) ||\n undefined;\n const checkedColor =\n (disabled && [\"atmo3\", \"secondary_60\"]) ||\n (semantic && [\"base_dark\", \"base_light\"]) ||\n undefined;\n\n return {\n radio: (\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":";;;;;;;;AA0FaA,MAAAA,mBAAmBA,CAC9BC,SACAC,YACG;AACG,QAAA;AAAA,IAAEC;AAAAA,IAAUC;AAAAA,EAAaH,IAAAA;AACzBI,QAAAA,QACHF,YAAY,CAAC,SAAS,cAAc,KACpCC,YAAY,CAAC,cAAc,WAAW,KACvCE;AACIC,QAAAA,eACHJ,YAAY,CAAC,SAAS,cAAc,KACpCC,YAAY,CAAC,aAAa,YAAY,KACvCE;AAEK,SAAA;AAAA,IACLE,sCACGC,uCAAqB;AAAA,MACpBJ;AAAAA,MACAK,WAAWC,KAAAA,KAAKC,iBAAAA,QAAiBC,MAAMX,mCAASW,IAAI;AAAA,IAAA,CACrD;AAAA,IAEHC,6CACGC,qCAAmB;AAAA,MAClBV,OAAOE;AAAAA,MACPG,WAAWC,KAAAA,KAAKC,iBAAAA,QAAiBC,MAAMX,mCAASW,IAAI;AAAA,IAAA,CACrD;AAAA,EAAA;AAGP;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,IACA,GAAGC;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,CACjB;AAEMS,QAAAA,iBAAiBF,kBACrB,CAACC,QAA+B;AAC9BJ,oBAAgB,KAAK;AACrBH,qCAASO;AAAAA,EAAG,GAEd,CAACP,MAAM,CACT;AAEA,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,CAC5B;AAEA,wCACGoB,iBAAAA,aAAW;AAAA,IACVtB;AAAAA,IACAC;AAAAA,IACAT,WAAWC,KAAAA,KACTD,WACAE,iBAAAA,QAAiB6B,MACjBvC,mCAASuC,MACTtC,YAAYQ,UAAKC,iBAAAA,QAAiBT,UAAUD,mCAASC,QAAQ,GAC7D2B,gBACEnB,KAAAA,KAAKC,iBAAAA,QAAiBkB,cAAc5B,mCAAS4B,YAAY,CAC7D;AAAA,IACAY,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,CACL;AAEL;;;"}
1
+ {"version":3,"file":"BaseRadio.cjs","sources":["../../../../src/components/BaseRadio/BaseRadio.tsx"],"sourcesContent":["import React, { useState, useCallback } from \"react\";\n\nimport { clsx } from \"clsx\";\n\nimport { RadioProps as MuiRadioProps } from \"@mui/material\";\n\nimport {\n RadioButtonUnselected,\n RadioButtonSelected,\n} from \"@hitachivantara/uikit-react-icons\";\n\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\nimport { HvBaseProps } from \"@core/types/generic\";\n\nimport { StyledRadio } from \"./BaseRadio.styles\";\nimport baseRadioClasses, { HvBaseRadioClasses } from \"./baseRadioClasses\";\n\nexport interface HvBaseRadioProps\n extends Omit<MuiRadioProps, \"onChange\" | \"classes\">,\n HvBaseProps<HTMLButtonElement, \"onChange\" | \"color\"> {\n /**\n * Class names to be applied.\n */\n className?: string;\n /**\n * A Jss Object used to override or extend the styles applied to the radio button.\n */\n classes?: HvBaseRadioClasses;\n /**\n * Id to be applied to the root node.\n */\n id?: string;\n /**\n * The input name.\n */\n name?: string;\n /**\n * The value of the input.\n *\n * The default value is \"on\".\n */\n value?: any;\n /**\n * Indicates that user input is required.\n */\n required?: boolean;\n /**\n * Indicates that the input is not editable.\n */\n readOnly?: boolean;\n /**\n * Indicates that the input is disabled.\n */\n disabled?: boolean;\n /**\n * If `true` the radio button is selected, if set to `false` the radio button is not selected.\n *\n * When defined the radio button state becomes controlled.\n */\n checked?: boolean;\n /**\n * When uncontrolled, defines the initial checked state.\n */\n defaultChecked?: boolean;\n /**\n * The callback fired when the radio button is pressed.\n */\n onChange?: (\n event: React.ChangeEvent<HTMLInputElement>,\n checked: boolean,\n value: any\n ) => void;\n /**\n * Whether the selector should use semantic colors.\n */\n semantic?: boolean;\n /**\n * Properties passed on to the input element.\n */\n inputProps?: React.InputHTMLAttributes<HTMLInputElement>;\n /**\n * Callback fired when the component is focused with a keyboard.\n * We trigger a `onFocus` callback too.\n */\n onFocusVisible?: (event: React.FocusEvent<any>) => void;\n /**\n * @ignore\n */\n onBlur?: (event: React.FocusEvent<any>) => void;\n}\n\nexport const getSelectorIcons = (\n options: { disabled: boolean; semantic: boolean },\n classes?: HvBaseRadioClasses\n) => {\n const { disabled, semantic } = options;\n const color =\n (disabled && [\"atmo3\", \"secondary_60\"]) ||\n (semantic && [\"base_light\", \"base_dark\"]) ||\n undefined;\n const checkedColor =\n (disabled && [\"atmo3\", \"secondary_60\"]) ||\n (semantic && [\"base_dark\", \"base_light\"]) ||\n undefined;\n\n return {\n radio: (\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 } = useDefaultProps(\"HvBaseRadio\", 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","useDefaultProps","focusVisible","setFocusVisible","useState","onFocusVisibleCallback","useCallback","evt","onBlurCallback","icons","onLocalChange","target","StyledRadio","root","$focusVisible","checkedIcon","disableRipple"],"mappings":";;;;;;;;;AA2FaA,MAAAA,mBAAmBA,CAC9BC,SACAC,YACG;AACG,QAAA;AAAA,IAAEC;AAAAA,IAAUC;AAAAA,EAAaH,IAAAA;AACzBI,QAAAA,QACHF,YAAY,CAAC,SAAS,cAAc,KACpCC,YAAY,CAAC,cAAc,WAAW,KACvCE;AACIC,QAAAA,eACHJ,YAAY,CAAC,SAAS,cAAc,KACpCC,YAAY,CAAC,aAAa,YAAY,KACvCE;AAEK,SAAA;AAAA,IACLE,sCACGC,uCAAqB;AAAA,MACpBJ;AAAAA,MACAK,WAAWC,KAAAA,KAAKC,iBAAAA,QAAiBC,MAAMX,mCAASW,IAAI;AAAA,IAAA,CACrD;AAAA,IAEHC,6CACGC,qCAAmB;AAAA,MAClBV,OAAOE;AAAAA,MACPG,WAAWC,KAAAA,KAAKC,iBAAAA,QAAiBC,MAAMX,mCAASW,IAAI;AAAA,IAAA,CACrD;AAAA,EAAA;AAGP;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,IACA,GAAGC;AAAAA,EAAAA,IACDC,gBAAgB,gBAAA,eAAeb,KAAK;AAExC,QAAM,CAACc,cAAcC,eAAe,IAAIC,eAAS,KAAK;AAEhDC,QAAAA,yBAAyBC,kBAC7B,CAACC,QAA+B;AAC9BJ,oBAAgB,IAAI;AACpBL,qDAAiBS;AAAAA,EAAG,GAEtB,CAACT,cAAc,CACjB;AAEMU,QAAAA,iBAAiBF,kBACrB,CAACC,QAA+B;AAC9BJ,oBAAgB,KAAK;AACrBJ,qCAASQ;AAAAA,EAAG,GAEd,CAACR,MAAM,CACT;AAEA,QAAMU,QAAQtC,iBAAiB;AAAA,IAAEG;AAAAA,IAAUC;AAAAA,KAAYF,OAAO;AAExDqC,QAAAA,gBAAgBJ,kBACpB,CAACC,QAA6C;AAC5C,QAAId,UAAU;AACZ;AAAA,IACF;AAEAG,yCAAWW,KAAKA,IAAII,OAAOjB,SAASH;AAAAA,EAEtC,GAAA,CAACK,UAAUH,UAAUF,KAAK,CAC5B;AAEA,wCACGqB,iBAAAA,aAAW;AAAA,IACVvB;AAAAA,IACAC;AAAAA,IACAT,WAAWC,KAAAA,KACTD,WACAE,iBAAAA,QAAiB8B,MACjBxC,mCAASwC,MACTvC,YAAYQ,UAAKC,iBAAAA,QAAiBT,UAAUD,mCAASC,QAAQ,GAC7D4B,gBACEpB,KAAAA,KAAKC,iBAAAA,QAAiBmB,cAAc7B,mCAAS6B,YAAY,CAC7D;AAAA,IACAY,eAAeZ;AAAAA,IACflB,MAAMyB,MAAM9B;AAAAA,IACZoC,aAAaN,MAAMxB;AAAAA,IACnBT,OAAM;AAAA,IACNF;AAAAA,IACAkB;AAAAA,IACAC;AAAAA,IACAuB,eAAa;AAAA,IACbpB,UAAUc;AAAAA,IACVnB;AAAAA,IACAG;AAAAA,IACAC;AAAAA,IACAE;AAAAA,IACAC,gBAAgBO;AAAAA,IAChBN,QAAQS;AAAAA,IAAe,GACnBR;AAAAA,EAAAA,CACL;AAEL;;;"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const React = require("react");
4
4
  const clsx = require("clsx");
5
+ const useDefaultProps = require("../../hooks/useDefaultProps.cjs");
5
6
  const BaseSwitch_styles = require("./BaseSwitch.styles.cjs");
6
7
  const baseSwitchClasses = require("./baseSwitchClasses.cjs");
7
8
  const jsxRuntime = require("@emotion/react/jsx-runtime");
@@ -22,7 +23,7 @@ const HvBaseSwitch = (props) => {
22
23
  onFocusVisible,
23
24
  onBlur,
24
25
  ...others
25
- } = props;
26
+ } = useDefaultProps.useDefaultProps("HvBaseSwitch", props);
26
27
  const [focusVisible, setFocusVisible] = React.useState(false);
27
28
  const onFocusVisibleCallback = React.useCallback((evt) => {
28
29
  setFocusVisible(true);
@@ -1 +1 @@
1
- {"version":3,"file":"BaseSwitch.cjs","sources":["../../../../src/components/BaseSwitch/BaseSwitch.tsx"],"sourcesContent":["import React, { useState, useCallback } from \"react\";\n\nimport { clsx } from \"clsx\";\n\nimport { SwitchProps as MuiSwitchProps } from \"@mui/material\";\n\nimport { HvBaseProps } from \"@core/types/generic\";\n\nimport { StyledSwitch } from \"./BaseSwitch.styles\";\nimport baseSwitchClasses, { HvBaseSwitchClasses } from \"./baseSwitchClasses\";\n\nexport interface HvBaseSwitchProps\n extends Omit<MuiSwitchProps, \"onChange\" | \"classes\">,\n HvBaseProps<HTMLButtonElement, \"onChange\" | \"color\"> {\n /**\n * Class names to be applied.\n */\n className?: string;\n /**\n * A Jss Object used to override or extend the styles applied to the 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":";;;;;;;AAsFaA,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,IAEA,GAAGC;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,CACjB;AAEMS,QAAAA,iBAAiBF,kBACrB,CAACC,QAAwC;AACvCJ,oBAAgB,KAAK;AACrBH,qCAASO;AAAAA,EAAG,GAEd,CAACP,MAAM,CACT;AAEMS,QAAAA,gBAAgBH,kBACpB,CAACC,QAA6C;AAC5C,QAAId,UAAU;AACZ;AAAA,IACF;AAEAI,yCAAWU,KAAKA,IAAIG,OAAOf,SAASJ;AAAAA,EAEtC,GAAA,CAACM,UAAUJ,UAAUF,KAAK,CAC5B;AAEA,wCACGoB,kBAAAA,cAAY;AAAA,IACXtB;AAAAA,IACAC;AAAAA,IACAF,WAAWwB,KAAAA,KACTxB,WACAyB,kBAAkBC,QAAAA,MAClB3B,mCAAS2B,MACTpB,YAAYkB,KAAAA,KAAKC,kBAAAA,QAAkBnB,UAAUP,mCAASO,QAAQ,GAC9DD,YAAYmB,KAAKC,KAAAA,kBAAAA,QAAkBpB,UAAUN,mCAASM,QAAQ,GAC9DS,gBACEU,KAAAA,KAAKC,kBAAAA,QAAkBX,cAAcf,mCAASe,YAAY,CAC9D;AAAA,IACAa,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,KAAAA,KAAKC,kBAAAA,QAAkBO,QAAQjC,mCAASiC,MAAM;AAAA,MACpDC,YAAYT,KAAAA,KAAKC,kBAAAA,QAAkBQ,YAAYlC,mCAASkC,UAAU;AAAA,MAClE1B,SAASiB,KAAAA,KAAKC,kBAAAA,QAAkBlB,SAASR,mCAASQ,OAAO;AAAA,MACzD2B,OAAOV,KAAAA,KAAKC,kBAAAA,QAAkBS,OAAOnC,mCAASmC,KAAK;AAAA,MACnDC,OAAOX,KAAAA,KAAKC,kBAAAA,QAAkBU,OAAOpC,mCAASoC,KAAK;AAAA,MACnD7B,UAAUkB,KAAAA,KAAKC,kBAAAA,QAAkBnB,UAAUP,mCAASO,QAAQ;AAAA,IAC9D;AAAA,IACAI;AAAAA,IACAC,gBAAgBM;AAAAA,IAChBL,QAAQQ;AAAAA,IAAe,GACnBP;AAAAA,EAAAA,CACL;AAEL;;"}
1
+ {"version":3,"file":"BaseSwitch.cjs","sources":["../../../../src/components/BaseSwitch/BaseSwitch.tsx"],"sourcesContent":["import React, { useState, useCallback } from \"react\";\n\nimport { clsx } from \"clsx\";\n\nimport { SwitchProps as MuiSwitchProps } from \"@mui/material\";\n\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\n\nimport { StyledSwitch } from \"./BaseSwitch.styles\";\nimport baseSwitchClasses, { HvBaseSwitchClasses } from \"./baseSwitchClasses\";\n\nexport interface HvBaseSwitchProps\n extends Omit<MuiSwitchProps, \"onChange\" | \"classes\">,\n HvBaseProps<HTMLButtonElement, \"onChange\" | \"color\"> {\n /**\n * Class names to be applied.\n */\n className?: string;\n /**\n * A Jss Object used to override or extend the styles applied to the 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 } = useDefaultProps(\"HvBaseSwitch\", 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","useDefaultProps","focusVisible","setFocusVisible","useState","onFocusVisibleCallback","useCallback","evt","onBlurCallback","onLocalChange","target","StyledSwitch","clsx","baseSwitchClasses","root","$focusVisible","$readOnly","$disabled","color","disableRipple","switch","switchBase","track","thumb"],"mappings":";;;;;;;;AAuFaA,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,IAEA,GAAGC;AAAAA,EAAAA,IACDC,gBAAgB,gBAAA,gBAAgBhB,KAAK;AAEzC,QAAM,CAACiB,cAAcC,eAAe,IAAIC,eAAS,KAAK;AAEhDC,QAAAA,yBAAyBC,kBAC7B,CAACC,QAAwC;AACvCJ,oBAAgB,IAAI;AACpBL,qDAAiBS;AAAAA,EAAG,GAEtB,CAACT,cAAc,CACjB;AAEMU,QAAAA,iBAAiBF,kBACrB,CAACC,QAAwC;AACvCJ,oBAAgB,KAAK;AACrBJ,qCAASQ;AAAAA,EAAG,GAEd,CAACR,MAAM,CACT;AAEMU,QAAAA,gBAAgBH,kBACpB,CAACC,QAA6C;AAC5C,QAAIf,UAAU;AACZ;AAAA,IACF;AAEAI,yCAAWW,KAAKA,IAAIG,OAAOhB,SAASJ;AAAAA,EAEtC,GAAA,CAACM,UAAUJ,UAAUF,KAAK,CAC5B;AAEA,wCACGqB,kBAAAA,cAAY;AAAA,IACXvB;AAAAA,IACAC;AAAAA,IACAF,WAAWyB,KAAAA,KACTzB,WACA0B,kBAAkBC,QAAAA,MAClB5B,mCAAS4B,MACTrB,YAAYmB,KAAAA,KAAKC,kBAAAA,QAAkBpB,UAAUP,mCAASO,QAAQ,GAC9DD,YAAYoB,KAAKC,KAAAA,kBAAAA,QAAkBrB,UAAUN,mCAASM,QAAQ,GAC9DU,gBACEU,KAAAA,KAAKC,kBAAAA,QAAkBX,cAAchB,mCAASgB,YAAY,CAC9D;AAAA,IACAa,eAAeb;AAAAA,IACfc,WAAWxB;AAAAA,IACXyB,WAAWxB;AAAAA,IACXyB,OAAM;AAAA,IACNzB;AAAAA,IACAF;AAAAA,IACAC;AAAAA,IACA2B,eAAa;AAAA,IACbvB,UAAUa;AAAAA,IACVnB;AAAAA,IACAI;AAAAA,IACAC;AAAAA,IACAT,SAAS;AAAA,MACP4B,MAAMF,KAAAA,KAAKC,kBAAAA,QAAkBO,QAAQlC,mCAASkC,MAAM;AAAA,MACpDC,YAAYT,KAAAA,KAAKC,kBAAAA,QAAkBQ,YAAYnC,mCAASmC,UAAU;AAAA,MAClE3B,SAASkB,KAAAA,KAAKC,kBAAAA,QAAkBnB,SAASR,mCAASQ,OAAO;AAAA,MACzD4B,OAAOV,KAAAA,KAAKC,kBAAAA,QAAkBS,OAAOpC,mCAASoC,KAAK;AAAA,MACnDC,OAAOX,KAAAA,KAAKC,kBAAAA,QAAkBU,OAAOrC,mCAASqC,KAAK;AAAA,MACnD9B,UAAUmB,KAAAA,KAAKC,kBAAAA,QAAkBpB,UAAUP,mCAASO,QAAQ;AAAA,IAC9D;AAAA,IACAI;AAAAA,IACAC,gBAAgBO;AAAAA,IAChBN,QAAQS;AAAAA,IAAe,GACnBR;AAAAA,EAAAA,CACL;AAEL;;"}
@@ -2,18 +2,19 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const uikitStyles = require("@hitachivantara/uikit-styles");
4
4
  const React = require("react");
5
+ const useDefaultProps = require("../../hooks/useDefaultProps.cjs");
5
6
  const jsxRuntime = require("@emotion/react/jsx-runtime");
6
7
  const sxFn = (sx) => {
7
8
  return typeof sx === "function" ? sx(uikitStyles.theme) : sx;
8
9
  };
9
- const HvBox = React.forwardRef(({
10
- style,
11
- component,
12
- sx,
13
- children,
14
- ...restProps
15
- }, ref) => {
16
- const Component = component || "div";
10
+ const HvBox = React.forwardRef((props, ref) => {
11
+ const {
12
+ style,
13
+ component: Component = "div",
14
+ sx,
15
+ children,
16
+ ...restProps
17
+ } = useDefaultProps.useDefaultProps("HvBox", props);
17
18
  return /* @__PURE__ */ jsxRuntime.jsx(Component, {
18
19
  style: sx ? sxFn(sx) : style,
19
20
  ref,
@@ -1 +1 @@
1
- {"version":3,"file":"Box.cjs","sources":["../../../../src/components/Box/Box.tsx"],"sourcesContent":["import { HvTheme, theme } from \"@hitachivantara/uikit-styles\";\n\nimport { forwardRef } from \"react\";\n\nimport { PolymorphicComponentRef, PolymorphicRef } from \"@core/types/generic\";\n\ntype SxProps = React.CSSProperties | ((theme: HvTheme) => React.CSSProperties);\n\ntype HvBoxBaseProps<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: HvBoxBaseProps<C>\n) => React.ReactElement | null;\n\nconst sxFn = (sx: SxProps) => {\n return typeof sx === \"function\" ? sx(theme) : sx;\n};\n\n/**\n * Customizable layout component that can be used to wrap other components.\n * It can be used to add styles to the wrapped components.\n * It can also be used to create a layout using the flexbox properties.\n */\nexport const HvBox: HvBoxProps = forwardRef(\n <C extends React.ElementType = \"div\">(\n { style, component, sx, children, ...restProps }: HvBoxBaseProps<C>,\n ref?: PolymorphicRef<C>\n ) => {\n const Component = component || \"div\";\n\n return (\n <Component style={sx ? sxFn(sx) : style} ref={ref} {...restProps}>\n {children}\n </Component>\n );\n }\n);\n"],"names":["sxFn","sx","theme","HvBox","forwardRef","style","component","children","restProps","ref","Component"],"mappings":";;;;;AAiBA,MAAMA,OAAOA,CAACC,OAAgB;AAC5B,SAAO,OAAOA,OAAO,aAAaA,GAAGC,YAAK,KAAA,IAAID;AAChD;AAOaE,MAAAA,QAAoBC,iBAC/B,CACE;AAAA,EAAEC;AAAAA,EAAOC;AAAAA,EAAWL;AAAAA,EAAIM;AAAAA,EAAU,GAAGC;AAA6B,GAClEC,QACG;AACH,QAAMC,YAAYJ,aAAa;AAE/B,wCACGI,WAAS;AAAA,IAACL,OAAOJ,KAAKD,KAAKC,EAAE,IAAII;AAAAA,IAAOI;AAAAA,IAAS,GAAKD;AAAAA,IAASD;AAAAA,EAAAA,CAErD;AAEf,CACF;;"}
1
+ {"version":3,"file":"Box.cjs","sources":["../../../../src/components/Box/Box.tsx"],"sourcesContent":["import { HvTheme, theme } from \"@hitachivantara/uikit-styles\";\n\nimport { forwardRef } from \"react\";\n\nimport { PolymorphicComponentRef, PolymorphicRef } from \"@core/types/generic\";\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\n\ntype SxProps = React.CSSProperties | ((theme: HvTheme) => React.CSSProperties);\n\ntype HvBoxBaseProps<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: HvBoxBaseProps<C>\n) => React.ReactElement | null;\n\nconst sxFn = (sx: SxProps) => {\n return typeof sx === \"function\" ? sx(theme) : sx;\n};\n\n/**\n * Customizable layout component that can be used to wrap other components.\n * It can be used to add styles to the wrapped components.\n * It can also be used to create a layout using the flexbox properties.\n */\nexport const HvBox: HvBoxProps = forwardRef(\n <C extends React.ElementType = \"div\">(\n props: HvBoxBaseProps<C>,\n ref?: PolymorphicRef<C>\n ) => {\n const {\n style,\n component: Component = \"div\",\n sx,\n children,\n ...restProps\n } = useDefaultProps(\"HvBox\", props);\n\n return (\n <Component style={sx ? sxFn(sx) : style} ref={ref} {...restProps}>\n {children}\n </Component>\n );\n }\n);\n"],"names":["sxFn","sx","theme","HvBox","forwardRef","props","ref","style","component","Component","children","restProps","useDefaultProps"],"mappings":";;;;;;AAkBA,MAAMA,OAAOA,CAACC,OAAgB;AAC5B,SAAO,OAAOA,OAAO,aAAaA,GAAGC,YAAK,KAAA,IAAID;AAChD;AAOO,MAAME,QAAoBC,MAAAA,WAC/B,CACEC,OACAC,QACG;AACG,QAAA;AAAA,IACJC;AAAAA,IACAC,WAAWC,YAAY;AAAA,IACvBR;AAAAA,IACAS;AAAAA,IACA,GAAGC;AAAAA,EAAAA,IACDC,gBAAgB,gBAAA,SAASP,KAAK;AAElC,wCACGI,WAAS;AAAA,IAACF,OAAON,KAAKD,KAAKC,EAAE,IAAIM;AAAAA,IAAOD;AAAAA,IAAS,GAAKK;AAAAA,IAASD;AAAAA,EAAAA,CAErD;AAEf,CACF;;"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const clsx = require("clsx");
4
+ const useDefaultProps = require("../../hooks/useDefaultProps.cjs");
4
5
  const isNil = require("lodash/isNil");
5
6
  const React = require("react");
6
7
  const breadCrumbClasses = require("./breadCrumbClasses.cjs");
@@ -11,18 +12,19 @@ const PathElement = require("./PathElement/PathElement.cjs");
11
12
  const Page = require("./Page/Page.cjs");
12
13
  const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
13
14
  const isNil__default = /* @__PURE__ */ _interopDefault(isNil);
14
- const HvBreadCrumb = ({
15
- classes,
16
- className,
17
- id,
18
- listRoute = [],
19
- maxVisible,
20
- url,
21
- onClick,
22
- component,
23
- dropDownMenuProps,
24
- ...others
25
- }) => {
15
+ const HvBreadCrumb = (props) => {
16
+ const {
17
+ classes,
18
+ className,
19
+ id,
20
+ listRoute = [],
21
+ maxVisible,
22
+ url,
23
+ onClick,
24
+ component,
25
+ dropDownMenuProps,
26
+ ...others
27
+ } = useDefaultProps.useDefaultProps("HvBreadCrumb", props);
26
28
  const maxVisibleElem = maxVisible && maxVisible < 2 ? 2 : maxVisible;
27
29
  let listPath = listRoute.slice();
28
30
  if (!isNil__default.default(url)) {
@@ -1 +1 @@
1
- {"version":3,"file":"BreadCrumb.cjs","sources":["../../../../src/components/BreadCrumb/BreadCrumb.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\n\nimport isNil from \"lodash/isNil\";\n\nimport { isValidElement, MouseEvent } from \"react\";\n\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { HvDropDownMenuProps } from \"@core/components/DropDownMenu\";\n\nimport breadCrumbClasses, { HvBreadCrumbClasses } from \"./breadCrumbClasses\";\nimport { HvPathElement } from \"./PathElement\";\nimport { HvPage } from \"./Page\";\nimport {\n StyledOrderedList,\n StyledRoot,\n StyledTypography,\n} from \"./BreadCrumb.styles\";\nimport { pathWithSubMenu, removeExtension } from \"./utils\";\nimport { HvBreadCrumbPathElement } from \"./types\";\n\nexport interface HvBreadCrumbProps\n extends HvBaseProps<HTMLDivElement, \"onClick\"> {\n /** List of breadcrumb. */\n listRoute?: HvBreadCrumbPathElement[];\n /** URL to build the breadcrumb. */\n url?: string;\n /** Number of pages visible. */\n maxVisible?: number;\n /** The component used for the link node. Either a string to use a DOM element or a component. */\n component?: React.ElementType;\n /** Function passed to the component. If defined the component prop is used as the link node. */\n onClick?: (event: MouseEvent<HTMLElement>, data: any) => void;\n /** Props passed down to the DropDownMenu sub-menu component. */\n dropDownMenuProps?: Partial<HvDropDownMenuProps>;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvBreadCrumbClasses;\n}\n\n/**\n * A breadcrumb is a graphical control element frequently used as a navigational aid.\n */\nexport const HvBreadCrumb = ({\n classes,\n className,\n id,\n listRoute = [],\n maxVisible,\n url,\n onClick,\n component,\n dropDownMenuProps,\n ...others\n}: HvBreadCrumbProps) => {\n const maxVisibleElem = maxVisible && maxVisible < 2 ? 2 : maxVisible;\n let listPath = listRoute.slice();\n\n // build the listPath object list\n if (!isNil(url)) {\n listPath = [];\n\n // get the domain\n const baseUrl = url.match(/^.*\\/\\/[^/]+/);\n\n // get url without domain\n const urlWithoutDomain = url.replace(/^.*\\/\\/[^/]+/, \"\");\n\n const pathNames = urlWithoutDomain.split(\"/\").filter((x) => x);\n\n pathNames.map((elem, index) =>\n listPath.push({\n label: decodeURI(elem),\n path: `${baseUrl}/${pathNames.slice(0, index + 1).join(\"/\")}`,\n })\n );\n }\n\n const breadcrumbPath =\n maxVisibleElem && listPath.length > maxVisibleElem\n ? pathWithSubMenu(\n id,\n listPath,\n maxVisibleElem,\n onClick,\n dropDownMenuProps\n )\n : listPath;\n\n return (\n <StyledRoot\n id={id}\n className={clsx(breadCrumbClasses.root, classes?.root, className)}\n {...others}\n >\n <StyledOrderedList\n className={clsx(breadCrumbClasses.orderedList, classes?.orderedList)}\n >\n {listPath.map((elem, index) => {\n const key = `key_${index}`;\n const isLast = index === breadcrumbPath.length - 1;\n\n return (\n <HvPathElement\n classes={{\n centerContainer: clsx(\n breadCrumbClasses.centerContainer,\n classes?.centerContainer\n ),\n separatorContainer: clsx(\n breadCrumbClasses.separatorContainer,\n classes?.separatorContainer\n ),\n }}\n key={key}\n last={isLast}\n >\n {(isValidElement(elem) && elem) ||\n (isLast && (\n <StyledTypography\n className={clsx(\n breadCrumbClasses.currentPage,\n classes?.currentPage\n )}\n variant=\"body\"\n >\n {removeExtension(elem.label)}\n </StyledTypography>\n )) || (\n <HvPage\n elem={elem}\n classes={{\n a: clsx(breadCrumbClasses.a, classes?.a),\n link: clsx(breadCrumbClasses.link, classes?.link),\n }}\n component={component}\n onClick={onClick}\n />\n )}\n </HvPathElement>\n );\n })}\n </StyledOrderedList>\n </StyledRoot>\n );\n};\n"],"names":["HvBreadCrumb","classes","className","id","listRoute","maxVisible","url","onClick","component","dropDownMenuProps","others","maxVisibleElem","listPath","slice","isNil","baseUrl","match","urlWithoutDomain","replace","pathNames","split","filter","x","map","elem","index","push","label","decodeURI","path","join","breadcrumbPath","length","pathWithSubMenu","StyledRoot","clsx","breadCrumbClasses","root","children","StyledOrderedList","orderedList","key","isLast","HvPathElement","centerContainer","separatorContainer","last","isValidElement","StyledTypography","currentPage","variant","removeExtension","_jsx","HvPage","a","link"],"mappings":";;;;;;;;;;;;;AAyCO,MAAMA,eAAeA,CAAC;AAAA,EAC3BC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC,YAAY,CAAE;AAAA,EACdC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACA,GAAGC;AACc,MAAM;AACvB,QAAMC,iBAAiBN,cAAcA,aAAa,IAAI,IAAIA;AACtDO,MAAAA,WAAWR,UAAUS;AAGrB,MAAA,CAACC,eAAAA,QAAMR,GAAG,GAAG;AACfM,eAAW,CAAA;AAGLG,UAAAA,UAAUT,IAAIU,MAAM,cAAc;AAGxC,UAAMC,mBAAmBX,IAAIY,QAAQ,gBAAgB,EAAE;AAEvD,UAAMC,YAAYF,iBAAiBG,MAAM,GAAG,EAAEC,OAAQC,OAAMA,CAAC;AAE7DH,cAAUI,IAAI,CAACC,MAAMC,UACnBb,SAASc,KAAK;AAAA,MACZC,OAAOC,UAAUJ,IAAI;AAAA,MACrBK,MAAO,GAAEd,WAAWI,UAAUN,MAAM,GAAGY,QAAQ,CAAC,EAAEK,KAAK,GAAG;AAAA,IAC3D,CAAA,CACH;AAAA,EACF;AAEMC,QAAAA,iBACJpB,kBAAkBC,SAASoB,SAASrB,iBAChCsB,MAAAA,gBACE9B,IACAS,UACAD,gBACAJ,SACAE,iBACF,IACAG;AAEN,wCACGsB,kBAAAA,YAAU;AAAA,IACT/B;AAAAA,IACAD,WAAWiC,KAAKC,KAAAA,kBAAAA,QAAkBC,MAAMpC,mCAASoC,MAAMnC,SAAS;AAAA,IAAE,GAC9DQ;AAAAA,IAAM4B,yCAETC,qCAAiB;AAAA,MAChBrC,WAAWiC,KAAAA,KAAKC,kBAAAA,QAAkBI,aAAavC,mCAASuC,WAAW;AAAA,MAAEF,UAEpE1B,SAASW,IAAI,CAACC,MAAMC,UAAU;AAC7B,cAAMgB,MAAO,OAAMhB;AACbiB,cAAAA,SAASjB,UAAUM,eAAeC,SAAS;AAEjD,8CACGW,YAAAA,eAAa;AAAA,UACZ1C,SAAS;AAAA,YACP2C,iBAAiBT,KAAAA,KACfC,kBAAAA,QAAkBQ,iBAClB3C,mCAAS2C,eACX;AAAA,YACAC,oBAAoBV,KAAAA,KAClBC,kBAAAA,QAAkBS,oBAClB5C,mCAAS4C,kBACX;AAAA,UACF;AAAA,UAEAC,MAAMJ;AAAAA,UAAOJ,UAEXS,MAAevB,eAAAA,IAAI,KAAKA,QACvBkB,yCACEM,oCAAgB;AAAA,YACf9C,WAAWiC,KAAAA,KACTC,kBAAAA,QAAkBa,aAClBhD,mCAASgD,WACX;AAAA,YACAC,SAAQ;AAAA,YAAMZ,UAEba,MAAAA,gBAAgB3B,KAAKG,KAAK;AAAA,UAAA,CACX,KAElByB,2BAAAA,IAACC,aAAM;AAAA,YACL7B;AAAAA,YACAvB,SAAS;AAAA,cACPqD,GAAGnB,KAAAA,KAAKC,kBAAAA,QAAkBkB,GAAGrD,mCAASqD,CAAC;AAAA,cACvCC,MAAMpB,KAAAA,KAAKC,kBAAAA,QAAkBmB,MAAMtD,mCAASsD,IAAI;AAAA,YAClD;AAAA,YACA/C;AAAAA,YACAD;AAAAA,UAAAA,CACD;AAAA,WAvBAkC,GAyBQ;AAAA,MAAA,CAElB;AAAA,IAAA,CACgB;AAAA,EAAA,CACT;AAEhB;;"}
1
+ {"version":3,"file":"BreadCrumb.cjs","sources":["../../../../src/components/BreadCrumb/BreadCrumb.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\n\nimport isNil from \"lodash/isNil\";\n\nimport { isValidElement, MouseEvent } from \"react\";\n\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { HvDropDownMenuProps } from \"@core/components/DropDownMenu\";\n\nimport breadCrumbClasses, { HvBreadCrumbClasses } from \"./breadCrumbClasses\";\nimport { HvPathElement } from \"./PathElement\";\nimport { HvPage } from \"./Page\";\nimport {\n StyledOrderedList,\n StyledRoot,\n StyledTypography,\n} from \"./BreadCrumb.styles\";\nimport { pathWithSubMenu, removeExtension } from \"./utils\";\nimport { HvBreadCrumbPathElement } from \"./types\";\n\nexport interface HvBreadCrumbProps\n extends HvBaseProps<HTMLDivElement, \"onClick\"> {\n /** List of breadcrumb. */\n listRoute?: HvBreadCrumbPathElement[];\n /** URL to build the breadcrumb. */\n url?: string;\n /** Number of pages visible. */\n maxVisible?: number;\n /** The component used for the link node. Either a string to use a DOM element or a component. */\n component?: React.ElementType;\n /** Function passed to the component. If defined the component prop is used as the link node. */\n onClick?: (event: MouseEvent<HTMLElement>, data: any) => void;\n /** Props passed down to the DropDownMenu sub-menu component. */\n dropDownMenuProps?: Partial<HvDropDownMenuProps>;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvBreadCrumbClasses;\n}\n\n/**\n * A breadcrumb is a graphical control element frequently used as a navigational aid.\n */\nexport const HvBreadCrumb = (props: HvBreadCrumbProps) => {\n const {\n classes,\n className,\n id,\n listRoute = [],\n maxVisible,\n url,\n onClick,\n component,\n dropDownMenuProps,\n ...others\n } = useDefaultProps(\"HvBreadCrumb\", props);\n\n const maxVisibleElem = maxVisible && maxVisible < 2 ? 2 : maxVisible;\n let listPath = listRoute.slice();\n\n // build the listPath object list\n if (!isNil(url)) {\n listPath = [];\n\n // get the domain\n const baseUrl = url.match(/^.*\\/\\/[^/]+/);\n\n // get url without domain\n const urlWithoutDomain = url.replace(/^.*\\/\\/[^/]+/, \"\");\n\n const pathNames = urlWithoutDomain.split(\"/\").filter((x) => x);\n\n pathNames.map((elem, index) =>\n listPath.push({\n label: decodeURI(elem),\n path: `${baseUrl}/${pathNames.slice(0, index + 1).join(\"/\")}`,\n })\n );\n }\n\n const breadcrumbPath =\n maxVisibleElem && listPath.length > maxVisibleElem\n ? pathWithSubMenu(\n id,\n listPath,\n maxVisibleElem,\n onClick,\n dropDownMenuProps\n )\n : listPath;\n\n return (\n <StyledRoot\n id={id}\n className={clsx(breadCrumbClasses.root, classes?.root, className)}\n {...others}\n >\n <StyledOrderedList\n className={clsx(breadCrumbClasses.orderedList, classes?.orderedList)}\n >\n {listPath.map((elem, index) => {\n const key = `key_${index}`;\n const isLast = index === breadcrumbPath.length - 1;\n\n return (\n <HvPathElement\n classes={{\n centerContainer: clsx(\n breadCrumbClasses.centerContainer,\n classes?.centerContainer\n ),\n separatorContainer: clsx(\n breadCrumbClasses.separatorContainer,\n classes?.separatorContainer\n ),\n }}\n key={key}\n last={isLast}\n >\n {(isValidElement(elem) && elem) ||\n (isLast && (\n <StyledTypography\n className={clsx(\n breadCrumbClasses.currentPage,\n classes?.currentPage\n )}\n variant=\"body\"\n >\n {removeExtension(elem.label)}\n </StyledTypography>\n )) || (\n <HvPage\n elem={elem}\n classes={{\n a: clsx(breadCrumbClasses.a, classes?.a),\n link: clsx(breadCrumbClasses.link, classes?.link),\n }}\n component={component}\n onClick={onClick}\n />\n )}\n </HvPathElement>\n );\n })}\n </StyledOrderedList>\n </StyledRoot>\n );\n};\n"],"names":["HvBreadCrumb","props","classes","className","id","listRoute","maxVisible","url","onClick","component","dropDownMenuProps","others","useDefaultProps","maxVisibleElem","listPath","slice","isNil","baseUrl","match","urlWithoutDomain","replace","pathNames","split","filter","x","map","elem","index","push","label","decodeURI","path","join","breadcrumbPath","length","pathWithSubMenu","StyledRoot","clsx","breadCrumbClasses","root","children","StyledOrderedList","orderedList","key","isLast","HvPathElement","centerContainer","separatorContainer","last","isValidElement","StyledTypography","currentPage","variant","removeExtension","_jsx","HvPage","a","link"],"mappings":";;;;;;;;;;;;;;AA0CaA,MAAAA,eAAeA,CAACC,UAA6B;AAClD,QAAA;AAAA,IACJC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC,YAAY,CAAE;AAAA,IACdC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACA,GAAGC;AAAAA,EAAAA,IACDC,gBAAgB,gBAAA,gBAAgBX,KAAK;AAEzC,QAAMY,iBAAiBP,cAAcA,aAAa,IAAI,IAAIA;AACtDQ,MAAAA,WAAWT,UAAUU;AAGrB,MAAA,CAACC,eAAAA,QAAMT,GAAG,GAAG;AACfO,eAAW,CAAA;AAGLG,UAAAA,UAAUV,IAAIW,MAAM,cAAc;AAGxC,UAAMC,mBAAmBZ,IAAIa,QAAQ,gBAAgB,EAAE;AAEvD,UAAMC,YAAYF,iBAAiBG,MAAM,GAAG,EAAEC,OAAQC,OAAMA,CAAC;AAE7DH,cAAUI,IAAI,CAACC,MAAMC,UACnBb,SAASc,KAAK;AAAA,MACZC,OAAOC,UAAUJ,IAAI;AAAA,MACrBK,MAAO,GAAEd,WAAWI,UAAUN,MAAM,GAAGY,QAAQ,CAAC,EAAEK,KAAK,GAAG;AAAA,IAC3D,CAAA,CACH;AAAA,EACF;AAEMC,QAAAA,iBACJpB,kBAAkBC,SAASoB,SAASrB,iBAChCsB,MAAAA,gBACE/B,IACAU,UACAD,gBACAL,SACAE,iBACF,IACAI;AAEN,wCACGsB,kBAAAA,YAAU;AAAA,IACThC;AAAAA,IACAD,WAAWkC,KAAKC,KAAAA,kBAAAA,QAAkBC,MAAMrC,mCAASqC,MAAMpC,SAAS;AAAA,IAAE,GAC9DQ;AAAAA,IAAM6B,yCAETC,qCAAiB;AAAA,MAChBtC,WAAWkC,KAAAA,KAAKC,kBAAAA,QAAkBI,aAAaxC,mCAASwC,WAAW;AAAA,MAAEF,UAEpE1B,SAASW,IAAI,CAACC,MAAMC,UAAU;AAC7B,cAAMgB,MAAO,OAAMhB;AACbiB,cAAAA,SAASjB,UAAUM,eAAeC,SAAS;AAEjD,8CACGW,YAAAA,eAAa;AAAA,UACZ3C,SAAS;AAAA,YACP4C,iBAAiBT,KAAAA,KACfC,kBAAAA,QAAkBQ,iBAClB5C,mCAAS4C,eACX;AAAA,YACAC,oBAAoBV,KAAAA,KAClBC,kBAAAA,QAAkBS,oBAClB7C,mCAAS6C,kBACX;AAAA,UACF;AAAA,UAEAC,MAAMJ;AAAAA,UAAOJ,UAEXS,MAAevB,eAAAA,IAAI,KAAKA,QACvBkB,yCACEM,oCAAgB;AAAA,YACf/C,WAAWkC,KAAAA,KACTC,kBAAAA,QAAkBa,aAClBjD,mCAASiD,WACX;AAAA,YACAC,SAAQ;AAAA,YAAMZ,UAEba,MAAAA,gBAAgB3B,KAAKG,KAAK;AAAA,UAAA,CACX,KAElByB,2BAAAA,IAACC,aAAM;AAAA,YACL7B;AAAAA,YACAxB,SAAS;AAAA,cACPsD,GAAGnB,KAAAA,KAAKC,kBAAAA,QAAkBkB,GAAGtD,mCAASsD,CAAC;AAAA,cACvCC,MAAMpB,KAAAA,KAAKC,kBAAAA,QAAkBmB,MAAMvD,mCAASuD,IAAI;AAAA,YAClD;AAAA,YACAhD;AAAAA,YACAD;AAAAA,UAAAA,CACD;AAAA,WAvBAmC,GAyBQ;AAAA,MAAA,CAElB;AAAA,IAAA,CACgB;AAAA,EAAA,CACT;AAEhB;;"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const clsx = require("clsx");
4
+ const useDefaultProps = require("../../hooks/useDefaultProps.cjs");
4
5
  const uikitStyles = require("@hitachivantara/uikit-styles");
5
6
  const setId = require("../../utils/setId.cjs");
6
7
  const useTheme = require("../../hooks/useTheme.cjs");
@@ -10,27 +11,28 @@ const jsxRuntime = require("@emotion/react/jsx-runtime");
10
11
  const Button = require("../Button/Button.cjs");
11
12
  const Typography = require("../Typography/Typography.cjs");
12
13
  const CheckBox = require("../CheckBox/CheckBox.cjs");
13
- const HvBulkActions = ({
14
- id,
15
- className,
16
- classes,
17
- selectAllPagesLabel,
18
- actionsDisabled,
19
- maxVisibleActions,
20
- checkboxProps,
21
- actions,
22
- numTotal = 0,
23
- numSelected = 0,
24
- selectAllLabel = "All",
25
- selectAllConjunctionLabel = "/",
26
- showSelectAllPages = false,
27
- semantic = true,
28
- actionsCallback,
29
- onSelectAll,
30
- onSelectAllPages,
31
- ...others
32
- }) => {
14
+ const HvBulkActions = (props) => {
33
15
  var _a;
16
+ const {
17
+ id,
18
+ className,
19
+ classes,
20
+ selectAllPagesLabel,
21
+ actionsDisabled,
22
+ maxVisibleActions,
23
+ checkboxProps,
24
+ actions,
25
+ numTotal = 0,
26
+ numSelected = 0,
27
+ selectAllLabel = "All",
28
+ selectAllConjunctionLabel = "/",
29
+ showSelectAllPages = false,
30
+ semantic = true,
31
+ actionsCallback,
32
+ onSelectAll,
33
+ onSelectAllPages,
34
+ ...others
35
+ } = useDefaultProps.useDefaultProps("HvBulkActions", props);
34
36
  const {
35
37
  activeTheme,
36
38
  selectedMode
@@ -1 +1 @@
1
- {"version":3,"file":"BulkActions.cjs","sources":["../../../../src/components/BulkActions/BulkActions.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\n\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { setId } from \"@core/utils/setId\";\nimport { useTheme } from \"@core/hooks/useTheme\";\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { HvButton, HvButtonProps } from \"@core/components/Button\";\nimport { HvCheckBox, HvCheckBoxProps } from \"@core/components/CheckBox\";\nimport {\n HvActionGeneric,\n HvActionsGenericProps,\n} from \"@core/components/ActionsGeneric\";\nimport { HvTypography } from \"@core/components/Typography\";\n\nimport {\n StyledGenericActions,\n StyledRoot,\n StyledSelectAllContainer,\n StyledDivider,\n} from \"./BulkActions.styles\";\nimport bulkActionsClasses, { HvBulkActionsClasses } from \"./bulkActionsClasses\";\n\nexport interface HvBulkActionsProps extends HvBaseProps {\n /**\n * Custom label for select all checkbox\n */\n selectAllLabel?: React.ReactNode;\n /**\n * Custom label for select all checkbox conjunction\n */\n selectAllConjunctionLabel?: string;\n /**\n * Custom label for select all pages button\n */\n selectAllPagesLabel?: React.ReactNode;\n /**\n * Whether select all pages element should be visible\n */\n showSelectAllPages?: boolean;\n /**\n * The total number of elements\n */\n numTotal?: number;\n /**\n * The number of elements currently selected\n */\n numSelected?: number;\n /**\n * Function called when the \"select all\" Checkbox is toggled.\n */\n onSelectAll?: HvCheckBoxProps[\"onChange\"];\n /**\n * Function called when the \"select all pages\" button is clicked toggled.\n */\n onSelectAllPages?: HvButtonProps[\"onClick\"];\n /**\n * Whether the bulk actions should use the semantic styles when there are selected elements.\n */\n semantic?: boolean;\n /**\n * The renderable content inside the right actions slot,\n * or an Array of actions `{ id, label, icon, disabled, ... }`\n */\n actions?: React.ReactNode | HvActionGeneric[];\n /**\n * Whether actions should be all disabled\n */\n actionsDisabled?: boolean;\n /**\n * The callback function ran when an action is triggered, receiving `action` as param\n */\n actionsCallback?: HvActionsGenericProps[\"actionsCallback\"];\n /**\n * The number of maximum visible actions before they're collapsed into a `DropDownMenu`.\n */\n maxVisibleActions?: number;\n /**\n * Properties to be passed onto the checkbox component, the values of the object are equivalent to the\n * HvCheckbox API.\n */\n checkboxProps?: HvCheckBoxProps;\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes?: HvBulkActionsClasses;\n}\n\n/**\n * Bulk Actions allow users to perform an action on a single or multiple items.\n * Also known as \"batch production\" of multiple items at once, one stage at a time.\n */\nexport const HvBulkActions = ({\n id,\n className,\n classes,\n selectAllPagesLabel,\n actionsDisabled,\n maxVisibleActions,\n checkboxProps,\n actions,\n numTotal = 0,\n numSelected = 0,\n selectAllLabel = \"All\",\n selectAllConjunctionLabel = \"/\",\n showSelectAllPages = false,\n semantic = true,\n actionsCallback,\n onSelectAll,\n onSelectAllPages,\n ...others\n}: HvBulkActionsProps) => {\n const { activeTheme, selectedMode } = useTheme();\n\n const anySelected = numSelected > 0;\n const isSemantic = semantic && anySelected;\n\n const selectAllLabelComponent = (\n <HvTypography\n component=\"span\"\n disabled={checkboxProps?.disabled}\n variant=\"body\"\n >\n {!anySelected ? (\n <>\n <HvTypography variant=\"label\">{selectAllLabel}</HvTypography>\n {` (${numTotal})`}\n </>\n ) : (\n <>\n <HvTypography variant=\"label\">{numSelected}</HvTypography>\n {` ${selectAllConjunctionLabel} ${numTotal}`}\n </>\n )}\n </HvTypography>\n );\n\n return (\n <StyledRoot\n id={id}\n className={clsx(\n className,\n classes?.root,\n bulkActionsClasses.root,\n isSemantic && clsx(classes?.semantic, bulkActionsClasses.semantic)\n )}\n $isSemantic={isSemantic}\n $baseColor={\n activeTheme?.colors?.modes[selectedMode].base_light ||\n theme.colors.base_light\n }\n {...others}\n >\n <StyledSelectAllContainer\n className={clsx(\n classes?.selectAllContainer,\n bulkActionsClasses.selectAllContainer\n )}\n >\n <HvCheckBox\n id={setId(id, \"select\")}\n className={clsx(classes?.selectAll, bulkActionsClasses.selectAll)}\n checked={numSelected > 0}\n semantic={isSemantic}\n onChange={onSelectAll}\n indeterminate={numSelected > 0 && numSelected < numTotal}\n label={selectAllLabelComponent}\n {...checkboxProps}\n />\n {showSelectAllPages && anySelected && numSelected < numTotal && (\n <>\n <StyledDivider />\n <HvButton\n id={setId(id, \"pages\")}\n className={clsx(\n classes?.selectAllPages,\n bulkActionsClasses.selectAllPages\n )}\n variant={isSemantic ? \"semantic\" : \"secondaryGhost\"}\n onClick={onSelectAllPages}\n >\n {selectAllPagesLabel ??\n `Select all ${numTotal} items across all pages`}\n </HvButton>\n </>\n )}\n </StyledSelectAllContainer>\n <StyledGenericActions\n id={setId(id, \"actions\")}\n classes={{ root: clsx(classes?.actions, bulkActionsClasses.actions) }}\n category={isSemantic ? \"semantic\" : \"secondaryGhost\"}\n actions={actions}\n disabled={actionsDisabled ?? numSelected === 0}\n actionsCallback={actionsCallback}\n maxVisibleActions={maxVisibleActions}\n />\n </StyledRoot>\n );\n};\n"],"names":["HvBulkActions","id","className","classes","selectAllPagesLabel","actionsDisabled","maxVisibleActions","checkboxProps","actions","numTotal","numSelected","selectAllLabel","selectAllConjunctionLabel","showSelectAllPages","semantic","actionsCallback","onSelectAll","onSelectAllPages","others","activeTheme","selectedMode","useTheme","anySelected","isSemantic","selectAllLabelComponent","HvTypography","component","disabled","variant","children","_jsxs","_Fragment","_jsx","StyledRoot","clsx","root","bulkActionsClasses","$isSemantic","$baseColor","colors","modes","base_light","theme","StyledSelectAllContainer","selectAllContainer","HvCheckBox","setId","selectAll","checked","onChange","indeterminate","label","StyledDivider","HvButton","selectAllPages","onClick","StyledGenericActions","category"],"mappings":"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"}
1
+ {"version":3,"file":"BulkActions.cjs","sources":["../../../../src/components/BulkActions/BulkActions.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\n\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { setId } from \"@core/utils/setId\";\nimport { useTheme } from \"@core/hooks/useTheme\";\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { HvButton, HvButtonProps } from \"@core/components/Button\";\nimport { HvCheckBox, HvCheckBoxProps } from \"@core/components/CheckBox\";\nimport {\n HvActionGeneric,\n HvActionsGenericProps,\n} from \"@core/components/ActionsGeneric\";\nimport { HvTypography } from \"@core/components/Typography\";\n\nimport {\n StyledGenericActions,\n StyledRoot,\n StyledSelectAllContainer,\n StyledDivider,\n} from \"./BulkActions.styles\";\nimport bulkActionsClasses, { HvBulkActionsClasses } from \"./bulkActionsClasses\";\n\nexport interface HvBulkActionsProps extends HvBaseProps {\n /**\n * Custom label for select all checkbox\n */\n selectAllLabel?: React.ReactNode;\n /**\n * Custom label for select all checkbox conjunction\n */\n selectAllConjunctionLabel?: string;\n /**\n * Custom label for select all pages button\n */\n selectAllPagesLabel?: React.ReactNode;\n /**\n * Whether select all pages element should be visible\n */\n showSelectAllPages?: boolean;\n /**\n * The total number of elements\n */\n numTotal?: number;\n /**\n * The number of elements currently selected\n */\n numSelected?: number;\n /**\n * Function called when the \"select all\" Checkbox is toggled.\n */\n onSelectAll?: HvCheckBoxProps[\"onChange\"];\n /**\n * Function called when the \"select all pages\" button is clicked toggled.\n */\n onSelectAllPages?: HvButtonProps[\"onClick\"];\n /**\n * Whether the bulk actions should use the semantic styles when there are selected elements.\n */\n semantic?: boolean;\n /**\n * The renderable content inside the right actions slot,\n * or an Array of actions `{ id, label, icon, disabled, ... }`\n */\n actions?: React.ReactNode | HvActionGeneric[];\n /**\n * Whether actions should be all disabled\n */\n actionsDisabled?: boolean;\n /**\n * The callback function ran when an action is triggered, receiving `action` as param\n */\n actionsCallback?: HvActionsGenericProps[\"actionsCallback\"];\n /**\n * The number of maximum visible actions before they're collapsed into a `DropDownMenu`.\n */\n maxVisibleActions?: number;\n /**\n * Properties to be passed onto the checkbox component, the values of the object are equivalent to the\n * HvCheckbox API.\n */\n checkboxProps?: HvCheckBoxProps;\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes?: HvBulkActionsClasses;\n}\n\n/**\n * Bulk Actions allow users to perform an action on a single or multiple items.\n * Also known as \"batch production\" of multiple items at once, one stage at a time.\n */\nexport const HvBulkActions = (props: HvBulkActionsProps) => {\n const {\n id,\n className,\n classes,\n selectAllPagesLabel,\n actionsDisabled,\n maxVisibleActions,\n checkboxProps,\n actions,\n numTotal = 0,\n numSelected = 0,\n selectAllLabel = \"All\",\n selectAllConjunctionLabel = \"/\",\n showSelectAllPages = false,\n semantic = true,\n actionsCallback,\n onSelectAll,\n onSelectAllPages,\n ...others\n } = useDefaultProps(\"HvBulkActions\", props);\n\n const { activeTheme, selectedMode } = useTheme();\n\n const anySelected = numSelected > 0;\n const isSemantic = semantic && anySelected;\n\n const selectAllLabelComponent = (\n <HvTypography\n component=\"span\"\n disabled={checkboxProps?.disabled}\n variant=\"body\"\n >\n {!anySelected ? (\n <>\n <HvTypography variant=\"label\">{selectAllLabel}</HvTypography>\n {` (${numTotal})`}\n </>\n ) : (\n <>\n <HvTypography variant=\"label\">{numSelected}</HvTypography>\n {` ${selectAllConjunctionLabel} ${numTotal}`}\n </>\n )}\n </HvTypography>\n );\n\n return (\n <StyledRoot\n id={id}\n className={clsx(\n className,\n classes?.root,\n bulkActionsClasses.root,\n isSemantic && clsx(classes?.semantic, bulkActionsClasses.semantic)\n )}\n $isSemantic={isSemantic}\n $baseColor={\n activeTheme?.colors?.modes[selectedMode].base_light ||\n theme.colors.base_light\n }\n {...others}\n >\n <StyledSelectAllContainer\n className={clsx(\n classes?.selectAllContainer,\n bulkActionsClasses.selectAllContainer\n )}\n >\n <HvCheckBox\n id={setId(id, \"select\")}\n className={clsx(classes?.selectAll, bulkActionsClasses.selectAll)}\n checked={numSelected > 0}\n semantic={isSemantic}\n onChange={onSelectAll}\n indeterminate={numSelected > 0 && numSelected < numTotal}\n label={selectAllLabelComponent}\n {...checkboxProps}\n />\n {showSelectAllPages && anySelected && numSelected < numTotal && (\n <>\n <StyledDivider />\n <HvButton\n id={setId(id, \"pages\")}\n className={clsx(\n classes?.selectAllPages,\n bulkActionsClasses.selectAllPages\n )}\n variant={isSemantic ? \"semantic\" : \"secondaryGhost\"}\n onClick={onSelectAllPages}\n >\n {selectAllPagesLabel ??\n `Select all ${numTotal} items across all pages`}\n </HvButton>\n </>\n )}\n </StyledSelectAllContainer>\n <StyledGenericActions\n id={setId(id, \"actions\")}\n classes={{ root: clsx(classes?.actions, bulkActionsClasses.actions) }}\n category={isSemantic ? \"semantic\" : \"secondaryGhost\"}\n actions={actions}\n disabled={actionsDisabled ?? numSelected === 0}\n actionsCallback={actionsCallback}\n maxVisibleActions={maxVisibleActions}\n />\n </StyledRoot>\n );\n};\n"],"names":["HvBulkActions","props","id","className","classes","selectAllPagesLabel","actionsDisabled","maxVisibleActions","checkboxProps","actions","numTotal","numSelected","selectAllLabel","selectAllConjunctionLabel","showSelectAllPages","semantic","actionsCallback","onSelectAll","onSelectAllPages","others","useDefaultProps","activeTheme","selectedMode","useTheme","anySelected","isSemantic","selectAllLabelComponent","HvTypography","component","disabled","variant","children","_jsxs","_Fragment","_jsx","StyledRoot","clsx","root","bulkActionsClasses","$isSemantic","$baseColor","colors","modes","base_light","theme","StyledSelectAllContainer","selectAllContainer","HvCheckBox","setId","selectAll","checked","onChange","indeterminate","label","StyledDivider","HvButton","selectAllPages","onClick","StyledGenericActions","category"],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const React = require("react");
4
4
  const useTheme = require("../../hooks/useTheme.cjs");
5
+ const useDefaultProps = require("../../hooks/useDefaultProps.cjs");
5
6
  const Button_styles = require("./Button.styles.cjs");
6
7
  const jsxRuntime = require("@emotion/react/jsx-runtime");
7
8
  const mapVariant = (variant, theme) => {
@@ -22,7 +23,7 @@ const HvButton = React.forwardRef((props, ref) => {
22
23
  id,
23
24
  classes: classesProp,
24
25
  children,
25
- variant: variantProp = "primary",
26
+ variant: variantProp,
26
27
  disabled = false,
27
28
  className,
28
29
  startIcon,
@@ -33,7 +34,7 @@ const HvButton = React.forwardRef((props, ref) => {
33
34
  overrideIconColors = true,
34
35
  component: Component = "button",
35
36
  ...others
36
- } = props;
37
+ } = useDefaultProps.useDefaultProps("HvButton", props);
37
38
  const {
38
39
  classes,
39
40
  css,
@@ -42,7 +43,7 @@ const HvButton = React.forwardRef((props, ref) => {
42
43
  const {
43
44
  activeTheme
44
45
  } = useTheme.useTheme();
45
- const variant = mapVariant(variantProp, activeTheme == null ? void 0 : activeTheme.name);
46
+ const variant = mapVariant(variantProp ?? (icon ? "secondaryGhost" : "primary"), activeTheme == null ? void 0 : activeTheme.name);
46
47
  return /* @__PURE__ */ jsxRuntime.jsxs(Component, {
47
48
  ref,
48
49
  type: "button",
@@ -1 +1 @@
1
- {"version":3,"file":"Button.cjs","sources":["../../../../src/components/Button/Button.tsx"],"sourcesContent":["import React, { forwardRef, ReactElement } from \"react\";\n\nimport { useTheme } from \"@core/hooks/useTheme\";\nimport { PolymorphicComponentRef, PolymorphicRef } from \"@core/types/generic\";\nimport { ExtractNames } from \"@core/utils/classes\";\n\nimport {\n staticClasses as buttonClasses,\n getOverrideColors,\n getRadiusStyles,\n getSizeStyles,\n getVariantStyles,\n useClasses,\n} from \"./Button.styles\";\nimport { HvButtonRadius, HvButtonSize, HvButtonVariant } from \"./types\";\n\nexport { buttonClasses };\n\nexport type HvButtonClasses = ExtractNames<typeof useClasses>;\n\nexport type HvButtonProps<C extends React.ElementType = \"button\"> =\n PolymorphicComponentRef<\n C,\n {\n /** Use the variant prop to change the visual style of the Button. */\n variant?: HvButtonVariant;\n /** Whether the Button is an icon-only button. */\n icon?: boolean;\n /** Whether the Button is disabled or not. */\n disabled?: boolean;\n /** Class names to be applied. */\n className?: string;\n /** Element placed before the children. */\n startIcon?: ReactElement;\n /** Element placed after the children. */\n endIcon?: ReactElement;\n /** Button size. */\n size?: HvButtonSize;\n /** Button border radius. */\n radius?: HvButtonRadius;\n /** Defines the default colors of the button are forced into the icon. */\n overrideIconColors?: boolean;\n /** A Jss Object used to override or extend the styles applied. */\n classes?: HvButtonClasses;\n /** Whether the Button is selected or not. */\n selected?: boolean;\n }\n >;\n\n/**\n * Normalize the button variant. It's meant to give us some retro-compatibility with\n * the DS 3.6 API.\n * @returns the normalized variant in DS 5 API\n */\nconst mapVariant = (\n variant: HvButtonVariant,\n theme?: string\n): HvButtonVariant => {\n if (theme === \"ds3\") return variant;\n\n const deprecatedVariantMap: Record<string, HvButtonVariant> = {\n secondary: \"secondarySubtle\",\n ghost: \"primaryGhost\",\n };\n\n const mappedVariant = deprecatedVariantMap[variant];\n\n if (mappedVariant) {\n // eslint-disable-next-line no-console\n console.warn(\n `Button variant '${variant}' is deprecated. Please use '${mappedVariant}'.`\n );\n }\n\n return mappedVariant || variant;\n};\n\n/**\n * Button component is used to trigger an action or event.\n */\nexport const HvButton: <C extends React.ElementType = \"button\">(\n props: HvButtonProps<C>\n) => React.ReactElement | null = forwardRef(\n <C extends React.ElementType = \"button\">(\n props: HvButtonProps<C>,\n ref: PolymorphicRef<C>\n ) => {\n const {\n id,\n classes: classesProp,\n children,\n variant: variantProp = \"primary\",\n disabled = false,\n className,\n startIcon,\n endIcon,\n icon = false,\n size,\n radius,\n overrideIconColors = true,\n component: Component = \"button\",\n ...others\n } = props;\n const { classes, css, cx } = useClasses(classesProp);\n const { activeTheme } = useTheme();\n\n const variant = mapVariant(variantProp, activeTheme?.name);\n\n return (\n <Component\n ref={ref}\n type=\"button\"\n className={cx(\n classes.root,\n css(getVariantStyles(variant)),\n size && css(getSizeStyles(size)),\n radius && css(getRadiusStyles(radius)),\n overrideIconColors && css(getOverrideColors()),\n {\n [classes.icon]: icon,\n [classes.disabled]: disabled,\n },\n className\n )}\n {...(disabled && {\n disabled: true,\n tabIndex: -1,\n \"aria-disabled\": true,\n })}\n {...others}\n >\n {startIcon && <span className={classes.startIcon}>{startIcon}</span>}\n {children}\n {endIcon && <span className={classes.endIcon}>{endIcon}</span>}\n </Component>\n );\n }\n);\n"],"names":["mapVariant","variant","theme","deprecatedVariantMap","secondary","ghost","mappedVariant","warn","HvButton","forwardRef","props","ref","id","classes","classesProp","children","variantProp","disabled","className","startIcon","endIcon","icon","size","radius","overrideIconColors","component","Component","others","css","cx","useClasses","activeTheme","useTheme","name","type","root","getVariantStyles","getSizeStyles","getRadiusStyles","getOverrideColors","tabIndex","_jsx"],"mappings":";;;;;;AAsDA,MAAMA,aAAaA,CACjBC,SACAC,UACoB;AACpB,MAAIA,UAAU;AAAcD,WAAAA;AAE5B,QAAME,uBAAwD;AAAA,IAC5DC,WAAW;AAAA,IACXC,OAAO;AAAA,EAAA;AAGHC,QAAAA,gBAAgBH,qBAAqBF,OAAO;AAElD,MAAIK,eAAe;AAETC,YAAAA,KACL,mBAAkBN,uCAAuCK,iBAC5D;AAAA,EACF;AAEA,SAAOA,iBAAiBL;AAC1B;AAKO,MAAMO,WAEoBC,MAAAA,WAC/B,CACEC,OACAC,QACG;AACG,QAAA;AAAA,IACJC;AAAAA,IACAC,SAASC;AAAAA,IACTC;AAAAA,IACAd,SAASe,cAAc;AAAA,IACvBC,WAAW;AAAA,IACXC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC,OAAO;AAAA,IACPC;AAAAA,IACAC;AAAAA,IACAC,qBAAqB;AAAA,IACrBC,WAAWC,YAAY;AAAA,IACvB,GAAGC;AAAAA,EACDjB,IAAAA;AACE,QAAA;AAAA,IAAEG;AAAAA,IAASe;AAAAA,IAAKC;AAAAA,EAAAA,IAAOC,cAAAA,WAAWhB,WAAW;AAC7C,QAAA;AAAA,IAAEiB;AAAAA,MAAgBC,SAAS,SAAA;AAEjC,QAAM/B,UAAUD,WAAWgB,aAAae,2CAAaE,IAAI;AAEzD,yCACGP,WAAS;AAAA,IACRf;AAAAA,IACAuB,MAAK;AAAA,IACLhB,WAAWW,GACThB,QAAQsB,MACRP,IAAIQ,+BAAiBnC,OAAO,CAAC,GAC7BqB,QAAQM,IAAIS,cAAAA,cAAcf,IAAI,CAAC,GAC/BC,UAAUK,IAAIU,8BAAgBf,MAAM,CAAC,GACrCC,sBAAsBI,IAAIW,cAAkB,kBAAA,CAAC,GAC7C;AAAA,MACE,CAAC1B,QAAQQ,IAAI,GAAGA;AAAAA,MAChB,CAACR,QAAQI,QAAQ,GAAGA;AAAAA,OAEtBC,SACF;AAAA,IAAE,GACGD,YAAY;AAAA,MACfA,UAAU;AAAA,MACVuB,UAAU;AAAA,MACV,iBAAiB;AAAA,IACnB;AAAA,IAAC,GACGb;AAAAA,IAAMZ,UAAA,CAETI,aAAasB,2BAAAA,IAAA,QAAA;AAAA,MAAMvB,WAAWL,QAAQM;AAAAA,MAAUJ,UAAEI;AAAAA,IAAgB,CAAA,GAClEJ,UACAK,0CAAW,QAAA;AAAA,MAAMF,WAAWL,QAAQO;AAAAA,MAAQL,UAAEK;AAAAA,IAAAA,CAAc,CAAC;AAAA,EAAA,CACrD;AAEf,CACF;;;"}
1
+ {"version":3,"file":"Button.cjs","sources":["../../../../src/components/Button/Button.tsx"],"sourcesContent":["import React, { forwardRef, ReactElement } from \"react\";\n\nimport { useTheme } from \"@core/hooks/useTheme\";\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\nimport { PolymorphicComponentRef, PolymorphicRef } from \"@core/types/generic\";\nimport { ExtractNames } from \"@core/utils/classes\";\n\nimport {\n staticClasses as buttonClasses,\n getOverrideColors,\n getRadiusStyles,\n getSizeStyles,\n getVariantStyles,\n useClasses,\n} from \"./Button.styles\";\nimport { HvButtonRadius, HvButtonSize, HvButtonVariant } from \"./types\";\n\nexport { buttonClasses };\n\nexport type HvButtonClasses = ExtractNames<typeof useClasses>;\n\nexport type HvButtonProps<C extends React.ElementType = \"button\"> =\n PolymorphicComponentRef<\n C,\n {\n /** Use the variant prop to change the visual style of the Button. */\n variant?: HvButtonVariant;\n /** Whether the Button is an icon-only button. */\n icon?: boolean;\n /** Whether the Button is disabled or not. */\n disabled?: boolean;\n /** Class names to be applied. */\n className?: string;\n /** Element placed before the children. */\n startIcon?: ReactElement;\n /** Element placed after the children. */\n endIcon?: ReactElement;\n /** Button size. */\n size?: HvButtonSize;\n /** Button border radius. */\n radius?: HvButtonRadius;\n /** Defines the default colors of the button are forced into the icon. */\n overrideIconColors?: boolean;\n /** A Jss Object used to override or extend the styles applied. */\n classes?: HvButtonClasses;\n /** Whether the Button is selected or not. */\n selected?: boolean;\n }\n >;\n\n/**\n * Normalize the button variant. It's meant to give us some retro-compatibility with\n * the DS 3.6 API.\n * @returns the normalized variant in DS 5 API\n */\nconst mapVariant = (\n variant: HvButtonVariant,\n theme?: string\n): HvButtonVariant => {\n if (theme === \"ds3\") return variant;\n\n const deprecatedVariantMap: Record<string, HvButtonVariant> = {\n secondary: \"secondarySubtle\",\n ghost: \"primaryGhost\",\n };\n\n const mappedVariant = deprecatedVariantMap[variant];\n\n if (mappedVariant) {\n // eslint-disable-next-line no-console\n console.warn(\n `Button variant '${variant}' is deprecated. Please use '${mappedVariant}'.`\n );\n }\n\n return mappedVariant || variant;\n};\n\n/**\n * Button component is used to trigger an action or event.\n */\nexport const HvButton: <C extends React.ElementType = \"button\">(\n props: HvButtonProps<C>\n) => React.ReactElement | null = forwardRef(\n <C extends React.ElementType = \"button\">(\n props: HvButtonProps<C>,\n ref: PolymorphicRef<C>\n ) => {\n const {\n id,\n classes: classesProp,\n children,\n variant: variantProp,\n disabled = false,\n className,\n startIcon,\n endIcon,\n icon = false,\n size,\n radius,\n overrideIconColors = true,\n component: Component = \"button\",\n ...others\n } = useDefaultProps(\"HvButton\", props);\n const { classes, css, cx } = useClasses(classesProp);\n const { activeTheme } = useTheme();\n const variant = mapVariant(\n variantProp ?? (icon ? \"secondaryGhost\" : \"primary\"),\n activeTheme?.name\n );\n\n return (\n <Component\n ref={ref}\n type=\"button\"\n className={cx(\n classes.root,\n css(getVariantStyles(variant)),\n size && css(getSizeStyles(size)),\n radius && css(getRadiusStyles(radius)),\n overrideIconColors && css(getOverrideColors()),\n {\n [classes.icon]: icon,\n [classes.disabled]: disabled,\n },\n className\n )}\n {...(disabled && {\n disabled: true,\n tabIndex: -1,\n \"aria-disabled\": true,\n })}\n {...others}\n >\n {startIcon && <span className={classes.startIcon}>{startIcon}</span>}\n {children}\n {endIcon && <span className={classes.endIcon}>{endIcon}</span>}\n </Component>\n );\n }\n);\n"],"names":["mapVariant","variant","theme","deprecatedVariantMap","secondary","ghost","mappedVariant","warn","HvButton","forwardRef","props","ref","id","classes","classesProp","children","variantProp","disabled","className","startIcon","endIcon","icon","size","radius","overrideIconColors","component","Component","others","useDefaultProps","css","cx","useClasses","activeTheme","useTheme","name","type","root","getVariantStyles","getSizeStyles","getRadiusStyles","getOverrideColors","tabIndex","_jsx"],"mappings":";;;;;;;AAuDA,MAAMA,aAAaA,CACjBC,SACAC,UACoB;AACpB,MAAIA,UAAU;AAAcD,WAAAA;AAE5B,QAAME,uBAAwD;AAAA,IAC5DC,WAAW;AAAA,IACXC,OAAO;AAAA,EAAA;AAGHC,QAAAA,gBAAgBH,qBAAqBF,OAAO;AAElD,MAAIK,eAAe;AAETC,YAAAA,KACL,mBAAkBN,uCAAuCK,iBAC5D;AAAA,EACF;AAEA,SAAOA,iBAAiBL;AAC1B;AAKO,MAAMO,WAEoBC,MAAAA,WAC/B,CACEC,OACAC,QACG;AACG,QAAA;AAAA,IACJC;AAAAA,IACAC,SAASC;AAAAA,IACTC;AAAAA,IACAd,SAASe;AAAAA,IACTC,WAAW;AAAA,IACXC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC,OAAO;AAAA,IACPC;AAAAA,IACAC;AAAAA,IACAC,qBAAqB;AAAA,IACrBC,WAAWC,YAAY;AAAA,IACvB,GAAGC;AAAAA,EAAAA,IACDC,gBAAgB,gBAAA,YAAYlB,KAAK;AAC/B,QAAA;AAAA,IAAEG;AAAAA,IAASgB;AAAAA,IAAKC;AAAAA,EAAAA,IAAOC,cAAAA,WAAWjB,WAAW;AAC7C,QAAA;AAAA,IAAEkB;AAAAA,MAAgBC,SAAS,SAAA;AACjC,QAAMhC,UAAUD,WACdgB,gBAAgBK,OAAO,mBAAmB,YAC1CW,2CAAaE,IACf;AAEA,yCACGR,WAAS;AAAA,IACRf;AAAAA,IACAwB,MAAK;AAAA,IACLjB,WAAWY,GACTjB,QAAQuB,MACRP,IAAIQ,+BAAiBpC,OAAO,CAAC,GAC7BqB,QAAQO,IAAIS,cAAAA,cAAchB,IAAI,CAAC,GAC/BC,UAAUM,IAAIU,8BAAgBhB,MAAM,CAAC,GACrCC,sBAAsBK,IAAIW,cAAkB,kBAAA,CAAC,GAC7C;AAAA,MACE,CAAC3B,QAAQQ,IAAI,GAAGA;AAAAA,MAChB,CAACR,QAAQI,QAAQ,GAAGA;AAAAA,OAEtBC,SACF;AAAA,IAAE,GACGD,YAAY;AAAA,MACfA,UAAU;AAAA,MACVwB,UAAU;AAAA,MACV,iBAAiB;AAAA,IACnB;AAAA,IAAC,GACGd;AAAAA,IAAMZ,UAAA,CAETI,aAAauB,2BAAAA,IAAA,QAAA;AAAA,MAAMxB,WAAWL,QAAQM;AAAAA,MAAUJ,UAAEI;AAAAA,IAAgB,CAAA,GAClEJ,UACAK,0CAAW,QAAA;AAAA,MAAMF,WAAWL,QAAQO;AAAAA,MAAQL,UAAEK;AAAAA,IAAAA,CAAc,CAAC;AAAA,EAAA,CACrD;AAEf,CACF;;;"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const clsx = require("clsx");
4
+ const useDefaultProps = require("../../hooks/useDefaultProps.cjs");
4
5
  const React = require("react");
5
6
  const setId = require("../../utils/setId.cjs");
6
7
  const utils = require("./utils.cjs");
@@ -10,24 +11,25 @@ const jsxRuntime = require("@emotion/react/jsx-runtime");
10
11
  const FormElementContext = require("../Forms/FormElement/context/FormElementContext.cjs");
11
12
  const FormElementValueContext = require("../Forms/FormElement/context/FormElementValueContext.cjs");
12
13
  const SingleCalendar = require("./SingleCalendar/SingleCalendar.cjs");
13
- const HvCalendar = ({
14
- classes,
15
- id,
16
- locale = "en-US",
17
- value,
18
- visibleMonth,
19
- visibleYear,
20
- rightVisibleMonth,
21
- rightVisibleYear,
22
- minimumDate,
23
- maximumDate,
24
- startAdornment,
25
- onChange,
26
- onInputChange,
27
- onVisibleDateChange,
28
- invalidDateLabel,
29
- ...others
30
- }) => {
14
+ const HvCalendar = (props) => {
15
+ const {
16
+ classes,
17
+ id,
18
+ locale = "en-US",
19
+ value,
20
+ visibleMonth,
21
+ visibleYear,
22
+ rightVisibleMonth,
23
+ rightVisibleYear,
24
+ minimumDate,
25
+ maximumDate,
26
+ startAdornment,
27
+ onChange,
28
+ onInputChange,
29
+ onVisibleDateChange,
30
+ invalidDateLabel,
31
+ ...others
32
+ } = useDefaultProps.useDefaultProps("HvCalendar", props);
31
33
  const {
32
34
  elementId
33
35
  } = React.useContext(FormElementContext.HvFormElementContext);
@@ -1 +1 @@
1
- {"version":3,"file":"Calendar.cjs","sources":["../../../../src/components/Calendar/Calendar.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\n\nimport React, { useContext } from \"react\";\n\nimport { setId } from \"@core/utils/setId\";\nimport {\n HvFormElementContext,\n HvFormElementValueContext,\n} from \"@core/components/Forms\";\n\nimport { isRange } from \"./utils\";\nimport { HvSingleCalendar } from \"./SingleCalendar\";\nimport calendarClasses, { HvCalendarClasses } from \"./calendarClasses\";\nimport { StyledRangeCalendarContainer, StyledRoot } from \"./Calendar.styles\";\nimport { DateRangeProp, VisibilitySelectorActions } from \"./types\";\n\nexport interface HvCalendarProps {\n /**\n * Styles applied from the theme.\n */\n classes?: HvCalendarClasses;\n /**\n * Identifier.\n */\n id?: string;\n /**\n * The calendar locale. If undefined, it defaults to en-US\n *\n */\n locale?: string;\n /**\n * Date that the calendar would show.\n * if using the object format the calendar enter in range mode showing two calendars\n */\n value?: DateRangeProp | Date;\n /**\n * Controls the visible month of the Calendar\n */\n visibleMonth?: number;\n /**\n * Controls the visible year of the Calendar\n */\n visibleYear?: number;\n /**\n * Controls the visible month of the Calendar on the right side of the datepicker\n */\n rightVisibleMonth?: number;\n /**\n * Controls the visible year of the Calendar on the right side of the datepicker\n */\n rightVisibleYear?: number;\n /**\n * Callback function to be triggered when the selected date has changed.\n */\n onChange?: (\n event:\n | React.ChangeEvent<HTMLTextAreaElement | HTMLInputElement>\n | undefined,\n value: Date | DateRangeProp\n ) => void;\n /**\n * Callback function to be triggered when the selected date input has changed.\n */\n onInputChange?: (\n event:\n | React.ChangeEvent<\n HTMLTextAreaElement | HTMLInputElement | HTMLButtonElement\n >\n | undefined,\n value: Date | DateRangeProp,\n position: \"left\" | \"right\"\n ) => void;\n /**\n * Callback function to be triggered when the user clicks on the month or year selector.\n * it receives the action that was pressed:\n * previous_month, next_month, previous_year, next_year,month\n */\n onVisibleDateChange?: (\n event:\n | React.ChangeEvent<HTMLTextAreaElement | HTMLInputElement>\n | undefined,\n action: VisibilitySelectorActions,\n value?: Date | DateRangeProp | number,\n position?: \"left\" | \"right\"\n ) => void;\n /**\n * The maximum selectable date after this all values are disabled.\n */\n maximumDate?: Date;\n /**\n * The minimum selectable date before this all values are disabled.\n */\n minimumDate?: Date;\n /**\n * An element placed before the Calendar\n */\n startAdornment?: React.ReactNode;\n /**\n * Indicates if header should display the day of week.\n */\n showDayOfWeek?: boolean;\n /**\n * Label shown when date is invalid.\n */\n invalidDateLabel?: string;\n}\n\nexport const HvCalendar = ({\n classes,\n id,\n locale = \"en-US\",\n value,\n visibleMonth,\n visibleYear,\n rightVisibleMonth,\n rightVisibleYear,\n minimumDate,\n maximumDate,\n startAdornment,\n onChange,\n onInputChange,\n onVisibleDateChange,\n invalidDateLabel,\n ...others\n}: HvCalendarProps) => {\n const { elementId } = useContext(HvFormElementContext);\n const elementValue = useContext(HvFormElementValueContext);\n const localValue = value ?? elementValue;\n const localId = id ?? setId(elementId, \"single-calendar\");\n const rangeMode = isRange(localValue);\n const rightCalendarId = setId(localId, \"single-calendar-right\");\n const clampedMonth =\n visibleMonth && visibleMonth % 13 > 0 ? visibleMonth % 13 : 1;\n\n const singleCalendar = (\n <HvSingleCalendar\n id={localId}\n locale={locale}\n value={localValue}\n visibleMonth={clampedMonth}\n visibleYear={visibleYear}\n minimumDate={minimumDate}\n maximumDate={maximumDate}\n onChange={onChange}\n onInputChange={(evt, date) =>\n onInputChange && onInputChange(evt, date, \"left\")\n }\n onVisibleDateChange={onVisibleDateChange}\n invalidDateLabel={invalidDateLabel}\n {...others}\n />\n );\n\n const rangeCalendar = (\n <StyledRangeCalendarContainer\n className={clsx(\n calendarClasses.rangeCalendarContainer,\n classes?.rangeCalendarContainer\n )}\n >\n <HvSingleCalendar\n className={clsx(\n calendarClasses.singleCalendar,\n classes?.singleCalendar\n )}\n id={localId}\n locale={locale}\n value={localValue}\n visibleMonth={clampedMonth}\n visibleYear={visibleYear}\n minimumDate={minimumDate}\n maximumDate={maximumDate}\n onChange={onChange}\n onInputChange={(evt, date) =>\n onInputChange && onInputChange(evt, date, \"left\")\n }\n onVisibleDateChange={(event, action, index) =>\n onVisibleDateChange?.(event, action, index, \"left\")\n }\n invalidDateLabel={invalidDateLabel}\n {...others}\n />\n\n <HvSingleCalendar\n className={clsx(\n calendarClasses.singleCalendar,\n classes?.singleCalendar\n )}\n id={rightCalendarId}\n locale={locale}\n value={localValue}\n visibleMonth={rightVisibleMonth}\n visibleYear={rightVisibleYear}\n minimumDate={minimumDate}\n maximumDate={maximumDate}\n onChange={onChange}\n onInputChange={(evt, date) =>\n onInputChange && onInputChange(evt, date, \"right\")\n }\n onVisibleDateChange={(event, action, index) => {\n onVisibleDateChange?.(event, action, index, \"right\");\n }}\n showEndDate\n invalidDateLabel={invalidDateLabel}\n {...others}\n />\n </StyledRangeCalendarContainer>\n );\n\n return (\n <StyledRoot className={clsx(calendarClasses.root, classes?.root)}>\n {startAdornment}\n {rangeMode ? rangeCalendar : singleCalendar}\n </StyledRoot>\n );\n};\n"],"names":["HvCalendar","classes","id","locale","value","visibleMonth","visibleYear","rightVisibleMonth","rightVisibleYear","minimumDate","maximumDate","startAdornment","onChange","onInputChange","onVisibleDateChange","invalidDateLabel","others","elementId","useContext","HvFormElementContext","elementValue","HvFormElementValueContext","localValue","localId","setId","rangeMode","isRange","rightCalendarId","clampedMonth","singleCalendar","HvSingleCalendar","evt","date","rangeCalendar","StyledRangeCalendarContainer","className","clsx","calendarClasses","rangeCalendarContainer","children","_jsx","event","action","index","showEndDate","StyledRoot","root"],"mappings":";;;;;;;;;;;;AA2GO,MAAMA,aAAaA,CAAC;AAAA,EACzBC;AAAAA,EACAC;AAAAA,EACAC,SAAS;AAAA,EACTC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACA,GAAGC;AACY,MAAM;AACf,QAAA;AAAA,IAAEC;AAAAA,EAAAA,IAAcC,MAAAA,WAAWC,mBAAAA,oBAAoB;AAC/CC,QAAAA,eAAeF,iBAAWG,wBAAAA,yBAAyB;AACzD,QAAMC,aAAalB,SAASgB;AAC5B,QAAMG,UAAUrB,MAAMsB,MAAMP,MAAAA,WAAW,iBAAiB;AAClDQ,QAAAA,YAAYC,cAAQJ,UAAU;AAC9BK,QAAAA,kBAAkBH,MAAAA,MAAMD,SAAS,uBAAuB;AAC9D,QAAMK,eACJvB,gBAAgBA,eAAe,KAAK,IAAIA,eAAe,KAAK;AAExDwB,QAAAA,gDACHC,iCAAgB;AAAA,IACf5B,IAAIqB;AAAAA,IACJpB;AAAAA,IACAC,OAAOkB;AAAAA,IACPjB,cAAcuB;AAAAA,IACdtB;AAAAA,IACAG;AAAAA,IACAC;AAAAA,IACAE;AAAAA,IACAC,eAAeA,CAACkB,KAAKC,SACnBnB,iBAAiBA,cAAckB,KAAKC,MAAM,MAAM;AAAA,IAElDlB;AAAAA,IACAC;AAAAA,IAAmC,GAC/BC;AAAAA,EAAAA,CACL;AAGGiB,QAAAA,gDACHC,8CAA4B;AAAA,IAC3BC,WAAWC,KAAAA,KACTC,gBAAAA,QAAgBC,wBAChBrC,mCAASqC,sBACX;AAAA,IAAEC,UAAA,CAEFC,2BAAAA,IAACV,iCAAgB;AAAA,MACfK,WAAWC,KAAAA,KACTC,gBAAAA,QAAgBR,gBAChB5B,mCAAS4B,cACX;AAAA,MACA3B,IAAIqB;AAAAA,MACJpB;AAAAA,MACAC,OAAOkB;AAAAA,MACPjB,cAAcuB;AAAAA,MACdtB;AAAAA,MACAG;AAAAA,MACAC;AAAAA,MACAE;AAAAA,MACAC,eAAeA,CAACkB,KAAKC,SACnBnB,iBAAiBA,cAAckB,KAAKC,MAAM,MAAM;AAAA,MAElDlB,qBAAqBA,CAAC2B,OAAOC,QAAQC,UACnC7B,2DAAsB2B,OAAOC,QAAQC,OAAO;AAAA,MAE9C5B;AAAAA,MAAmC,GAC/BC;AAAAA,IAAAA,CACL,GAEDwB,2BAAAA,IAACV,iCAAgB;AAAA,MACfK,WAAWC,KAAAA,KACTC,gBAAAA,QAAgBR,gBAChB5B,mCAAS4B,cACX;AAAA,MACA3B,IAAIyB;AAAAA,MACJxB;AAAAA,MACAC,OAAOkB;AAAAA,MACPjB,cAAcE;AAAAA,MACdD,aAAaE;AAAAA,MACbC;AAAAA,MACAC;AAAAA,MACAE;AAAAA,MACAC,eAAeA,CAACkB,KAAKC,SACnBnB,iBAAiBA,cAAckB,KAAKC,MAAM,OAAO;AAAA,MAEnDlB,qBAAqBA,CAAC2B,OAAOC,QAAQC,UAAU;AACvBF,mEAAAA,OAAOC,QAAQC,OAAO;AAAA,MAC9C;AAAA,MACAC,aAAW;AAAA,MACX7B;AAAAA,MAAmC,GAC/BC;AAAAA,IAAAA,CACL,CAAC;AAAA,EAAA,CAC0B;AAGhC,yCACG6B,gBAAAA,YAAU;AAAA,IAACV,WAAWC,KAAAA,KAAKC,gBAAAA,QAAgBS,MAAM7C,mCAAS6C,IAAI;AAAA,IAAEP,WAC9D5B,gBACAc,YAAYQ,gBAAgBJ,cAAc;AAAA,EAAA,CACjC;AAEhB;;"}
1
+ {"version":3,"file":"Calendar.cjs","sources":["../../../../src/components/Calendar/Calendar.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\n\nimport React, { useContext } from \"react\";\n\nimport { setId } from \"@core/utils/setId\";\nimport {\n HvFormElementContext,\n HvFormElementValueContext,\n} from \"@core/components/Forms\";\n\nimport { isRange } from \"./utils\";\nimport { HvSingleCalendar } from \"./SingleCalendar\";\nimport calendarClasses, { HvCalendarClasses } from \"./calendarClasses\";\nimport { StyledRangeCalendarContainer, StyledRoot } from \"./Calendar.styles\";\nimport { DateRangeProp, VisibilitySelectorActions } from \"./types\";\n\nexport interface HvCalendarProps {\n /**\n * Styles applied from the theme.\n */\n classes?: HvCalendarClasses;\n /**\n * Identifier.\n */\n id?: string;\n /**\n * The calendar locale. If undefined, it defaults to en-US\n *\n */\n locale?: string;\n /**\n * Date that the calendar would show.\n * if using the object format the calendar enter in range mode showing two calendars\n */\n value?: DateRangeProp | Date;\n /**\n * Controls the visible month of the Calendar\n */\n visibleMonth?: number;\n /**\n * Controls the visible year of the Calendar\n */\n visibleYear?: number;\n /**\n * Controls the visible month of the Calendar on the right side of the datepicker\n */\n rightVisibleMonth?: number;\n /**\n * Controls the visible year of the Calendar on the right side of the datepicker\n */\n rightVisibleYear?: number;\n /**\n * Callback function to be triggered when the selected date has changed.\n */\n onChange?: (\n event:\n | React.ChangeEvent<HTMLTextAreaElement | HTMLInputElement>\n | undefined,\n value: Date | DateRangeProp\n ) => void;\n /**\n * Callback function to be triggered when the selected date input has changed.\n */\n onInputChange?: (\n event:\n | React.ChangeEvent<\n HTMLTextAreaElement | HTMLInputElement | HTMLButtonElement\n >\n | undefined,\n value: Date | DateRangeProp,\n position: \"left\" | \"right\"\n ) => void;\n /**\n * Callback function to be triggered when the user clicks on the month or year selector.\n * it receives the action that was pressed:\n * previous_month, next_month, previous_year, next_year,month\n */\n onVisibleDateChange?: (\n event:\n | React.ChangeEvent<HTMLTextAreaElement | HTMLInputElement>\n | undefined,\n action: VisibilitySelectorActions,\n value?: Date | DateRangeProp | number,\n position?: \"left\" | \"right\"\n ) => void;\n /**\n * The maximum selectable date after this all values are disabled.\n */\n maximumDate?: Date;\n /**\n * The minimum selectable date before this all values are disabled.\n */\n minimumDate?: Date;\n /**\n * An element placed before the Calendar\n */\n startAdornment?: React.ReactNode;\n /**\n * Indicates if header should display the day of week.\n */\n showDayOfWeek?: boolean;\n /**\n * Label shown when date is invalid.\n */\n invalidDateLabel?: string;\n}\n\nexport const HvCalendar = (props: HvCalendarProps) => {\n const {\n classes,\n id,\n locale = \"en-US\",\n value,\n visibleMonth,\n visibleYear,\n rightVisibleMonth,\n rightVisibleYear,\n minimumDate,\n maximumDate,\n startAdornment,\n onChange,\n onInputChange,\n onVisibleDateChange,\n invalidDateLabel,\n ...others\n } = useDefaultProps(\"HvCalendar\", props);\n\n const { elementId } = useContext(HvFormElementContext);\n const elementValue = useContext(HvFormElementValueContext);\n const localValue = value ?? elementValue;\n const localId = id ?? setId(elementId, \"single-calendar\");\n const rangeMode = isRange(localValue);\n const rightCalendarId = setId(localId, \"single-calendar-right\");\n const clampedMonth =\n visibleMonth && visibleMonth % 13 > 0 ? visibleMonth % 13 : 1;\n\n const singleCalendar = (\n <HvSingleCalendar\n id={localId}\n locale={locale}\n value={localValue}\n visibleMonth={clampedMonth}\n visibleYear={visibleYear}\n minimumDate={minimumDate}\n maximumDate={maximumDate}\n onChange={onChange}\n onInputChange={(evt, date) =>\n onInputChange && onInputChange(evt, date, \"left\")\n }\n onVisibleDateChange={onVisibleDateChange}\n invalidDateLabel={invalidDateLabel}\n {...others}\n />\n );\n\n const rangeCalendar = (\n <StyledRangeCalendarContainer\n className={clsx(\n calendarClasses.rangeCalendarContainer,\n classes?.rangeCalendarContainer\n )}\n >\n <HvSingleCalendar\n className={clsx(\n calendarClasses.singleCalendar,\n classes?.singleCalendar\n )}\n id={localId}\n locale={locale}\n value={localValue}\n visibleMonth={clampedMonth}\n visibleYear={visibleYear}\n minimumDate={minimumDate}\n maximumDate={maximumDate}\n onChange={onChange}\n onInputChange={(evt, date) =>\n onInputChange && onInputChange(evt, date, \"left\")\n }\n onVisibleDateChange={(event, action, index) =>\n onVisibleDateChange?.(event, action, index, \"left\")\n }\n invalidDateLabel={invalidDateLabel}\n {...others}\n />\n\n <HvSingleCalendar\n className={clsx(\n calendarClasses.singleCalendar,\n classes?.singleCalendar\n )}\n id={rightCalendarId}\n locale={locale}\n value={localValue}\n visibleMonth={rightVisibleMonth}\n visibleYear={rightVisibleYear}\n minimumDate={minimumDate}\n maximumDate={maximumDate}\n onChange={onChange}\n onInputChange={(evt, date) =>\n onInputChange && onInputChange(evt, date, \"right\")\n }\n onVisibleDateChange={(event, action, index) => {\n onVisibleDateChange?.(event, action, index, \"right\");\n }}\n showEndDate\n invalidDateLabel={invalidDateLabel}\n {...others}\n />\n </StyledRangeCalendarContainer>\n );\n\n return (\n <StyledRoot className={clsx(calendarClasses.root, classes?.root)}>\n {startAdornment}\n {rangeMode ? rangeCalendar : singleCalendar}\n </StyledRoot>\n );\n};\n"],"names":["HvCalendar","props","classes","id","locale","value","visibleMonth","visibleYear","rightVisibleMonth","rightVisibleYear","minimumDate","maximumDate","startAdornment","onChange","onInputChange","onVisibleDateChange","invalidDateLabel","others","useDefaultProps","elementId","useContext","HvFormElementContext","elementValue","HvFormElementValueContext","localValue","localId","setId","rangeMode","isRange","rightCalendarId","clampedMonth","singleCalendar","HvSingleCalendar","evt","date","rangeCalendar","StyledRangeCalendarContainer","className","clsx","calendarClasses","rangeCalendarContainer","children","_jsx","event","action","index","showEndDate","StyledRoot","root"],"mappings":";;;;;;;;;;;;;AA4GaA,MAAAA,aAAaA,CAACC,UAA2B;AAC9C,QAAA;AAAA,IACJC;AAAAA,IACAC;AAAAA,IACAC,SAAS;AAAA,IACTC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACA,GAAGC;AAAAA,EAAAA,IACDC,gBAAgB,gBAAA,cAAcjB,KAAK;AAEjC,QAAA;AAAA,IAAEkB;AAAAA,EAAAA,IAAcC,MAAAA,WAAWC,mBAAAA,oBAAoB;AAC/CC,QAAAA,eAAeF,iBAAWG,wBAAAA,yBAAyB;AACzD,QAAMC,aAAanB,SAASiB;AAC5B,QAAMG,UAAUtB,MAAMuB,MAAMP,MAAAA,WAAW,iBAAiB;AAClDQ,QAAAA,YAAYC,cAAQJ,UAAU;AAC9BK,QAAAA,kBAAkBH,MAAAA,MAAMD,SAAS,uBAAuB;AAC9D,QAAMK,eACJxB,gBAAgBA,eAAe,KAAK,IAAIA,eAAe,KAAK;AAExDyB,QAAAA,gDACHC,iCAAgB;AAAA,IACf7B,IAAIsB;AAAAA,IACJrB;AAAAA,IACAC,OAAOmB;AAAAA,IACPlB,cAAcwB;AAAAA,IACdvB;AAAAA,IACAG;AAAAA,IACAC;AAAAA,IACAE;AAAAA,IACAC,eAAeA,CAACmB,KAAKC,SACnBpB,iBAAiBA,cAAcmB,KAAKC,MAAM,MAAM;AAAA,IAElDnB;AAAAA,IACAC;AAAAA,IAAmC,GAC/BC;AAAAA,EAAAA,CACL;AAGGkB,QAAAA,gDACHC,8CAA4B;AAAA,IAC3BC,WAAWC,KAAAA,KACTC,gBAAAA,QAAgBC,wBAChBtC,mCAASsC,sBACX;AAAA,IAAEC,UAAA,CAEFC,2BAAAA,IAACV,iCAAgB;AAAA,MACfK,WAAWC,KAAAA,KACTC,gBAAAA,QAAgBR,gBAChB7B,mCAAS6B,cACX;AAAA,MACA5B,IAAIsB;AAAAA,MACJrB;AAAAA,MACAC,OAAOmB;AAAAA,MACPlB,cAAcwB;AAAAA,MACdvB;AAAAA,MACAG;AAAAA,MACAC;AAAAA,MACAE;AAAAA,MACAC,eAAeA,CAACmB,KAAKC,SACnBpB,iBAAiBA,cAAcmB,KAAKC,MAAM,MAAM;AAAA,MAElDnB,qBAAqBA,CAAC4B,OAAOC,QAAQC,UACnC9B,2DAAsB4B,OAAOC,QAAQC,OAAO;AAAA,MAE9C7B;AAAAA,MAAmC,GAC/BC;AAAAA,IAAAA,CACL,GAEDyB,2BAAAA,IAACV,iCAAgB;AAAA,MACfK,WAAWC,KAAAA,KACTC,gBAAAA,QAAgBR,gBAChB7B,mCAAS6B,cACX;AAAA,MACA5B,IAAI0B;AAAAA,MACJzB;AAAAA,MACAC,OAAOmB;AAAAA,MACPlB,cAAcE;AAAAA,MACdD,aAAaE;AAAAA,MACbC;AAAAA,MACAC;AAAAA,MACAE;AAAAA,MACAC,eAAeA,CAACmB,KAAKC,SACnBpB,iBAAiBA,cAAcmB,KAAKC,MAAM,OAAO;AAAA,MAEnDnB,qBAAqBA,CAAC4B,OAAOC,QAAQC,UAAU;AACvBF,mEAAAA,OAAOC,QAAQC,OAAO;AAAA,MAC9C;AAAA,MACAC,aAAW;AAAA,MACX9B;AAAAA,MAAmC,GAC/BC;AAAAA,IAAAA,CACL,CAAC;AAAA,EAAA,CAC0B;AAGhC,yCACG8B,gBAAAA,YAAU;AAAA,IAACV,WAAWC,KAAAA,KAAKC,gBAAAA,QAAgBS,MAAM9C,mCAAS8C,IAAI;AAAA,IAAEP,WAC9D7B,gBACAe,YAAYQ,gBAAgBJ,cAAc;AAAA,EAAA,CACjC;AAEhB;;"}