@hitachivantara/uikit-react-core 5.23.0 → 5.24.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 (296) hide show
  1. package/dist/cjs/components/Accordion/Accordion.cjs.map +1 -1
  2. package/dist/cjs/components/Avatar/Avatar.cjs.map +1 -1
  3. package/dist/cjs/components/BaseCheckBox/BaseCheckBox.cjs +18 -10
  4. package/dist/cjs/components/BaseCheckBox/BaseCheckBox.cjs.map +1 -1
  5. package/dist/cjs/components/BaseCheckBox/BaseCheckBox.styles.cjs +23 -43
  6. package/dist/cjs/components/BaseCheckBox/BaseCheckBox.styles.cjs.map +1 -1
  7. package/dist/cjs/components/BaseDropdown/BaseDropdown.cjs +51 -41
  8. package/dist/cjs/components/BaseDropdown/BaseDropdown.cjs.map +1 -1
  9. package/dist/cjs/components/BaseDropdown/BaseDropdown.styles.cjs +105 -194
  10. package/dist/cjs/components/BaseDropdown/BaseDropdown.styles.cjs.map +1 -1
  11. package/dist/cjs/components/BaseRadio/BaseRadio.cjs +16 -8
  12. package/dist/cjs/components/BaseRadio/BaseRadio.cjs.map +1 -1
  13. package/dist/cjs/components/BaseRadio/BaseRadio.styles.cjs +20 -38
  14. package/dist/cjs/components/BaseRadio/BaseRadio.styles.cjs.map +1 -1
  15. package/dist/cjs/components/BaseSwitch/BaseSwitch.cjs +21 -14
  16. package/dist/cjs/components/BaseSwitch/BaseSwitch.cjs.map +1 -1
  17. package/dist/cjs/components/BaseSwitch/BaseSwitch.styles.cjs +60 -74
  18. package/dist/cjs/components/BaseSwitch/BaseSwitch.styles.cjs.map +1 -1
  19. package/dist/cjs/components/BreadCrumb/BreadCrumb.cjs +19 -15
  20. package/dist/cjs/components/BreadCrumb/BreadCrumb.cjs.map +1 -1
  21. package/dist/cjs/components/BreadCrumb/BreadCrumb.styles.cjs +24 -48
  22. package/dist/cjs/components/BreadCrumb/BreadCrumb.styles.cjs.map +1 -1
  23. package/dist/cjs/components/BreadCrumb/PathElement/PathElement.cjs +8 -6
  24. package/dist/cjs/components/BreadCrumb/PathElement/PathElement.cjs.map +1 -1
  25. package/dist/cjs/components/BreadCrumb/PathElement/PathElement.styles.cjs +12 -20
  26. package/dist/cjs/components/BreadCrumb/PathElement/PathElement.styles.cjs.map +1 -1
  27. package/dist/cjs/components/BulkActions/BulkActions.cjs +42 -15
  28. package/dist/cjs/components/BulkActions/BulkActions.cjs.map +1 -1
  29. package/dist/cjs/components/BulkActions/BulkActions.styles.cjs +34 -105
  30. package/dist/cjs/components/BulkActions/BulkActions.styles.cjs.map +1 -1
  31. package/dist/cjs/components/CheckBox/CheckBox.cjs +24 -16
  32. package/dist/cjs/components/CheckBox/CheckBox.cjs.map +1 -1
  33. package/dist/cjs/components/CheckBox/CheckBox.styles.cjs +48 -100
  34. package/dist/cjs/components/CheckBox/CheckBox.styles.cjs.map +1 -1
  35. package/dist/cjs/components/CheckBoxGroup/CheckBoxGroup.cjs +20 -14
  36. package/dist/cjs/components/CheckBoxGroup/CheckBoxGroup.cjs.map +1 -1
  37. package/dist/cjs/components/CheckBoxGroup/CheckBoxGroup.styles.cjs +27 -67
  38. package/dist/cjs/components/CheckBoxGroup/CheckBoxGroup.styles.cjs.map +1 -1
  39. package/dist/cjs/components/Container/Container.cjs +42 -15
  40. package/dist/cjs/components/Container/Container.cjs.map +1 -1
  41. package/dist/cjs/components/Container/Container.styles.cjs +16 -36
  42. package/dist/cjs/components/Container/Container.styles.cjs.map +1 -1
  43. package/dist/cjs/components/Controls/Controls.cjs +12 -9
  44. package/dist/cjs/components/Controls/Controls.cjs.map +1 -1
  45. package/dist/cjs/components/Controls/Controls.styles.cjs +19 -35
  46. package/dist/cjs/components/Controls/Controls.styles.cjs.map +1 -1
  47. package/dist/cjs/components/Controls/LeftControl/LeftControl.cjs +8 -5
  48. package/dist/cjs/components/Controls/LeftControl/LeftControl.cjs.map +1 -1
  49. package/dist/cjs/components/Controls/LeftControl/LeftControl.styles.cjs +11 -20
  50. package/dist/cjs/components/Controls/LeftControl/LeftControl.styles.cjs.map +1 -1
  51. package/dist/cjs/components/Controls/RightControl/RightControl.cjs +11 -7
  52. package/dist/cjs/components/Controls/RightControl/RightControl.cjs.map +1 -1
  53. package/dist/cjs/components/Controls/RightControl/RightControl.styles.cjs +14 -39
  54. package/dist/cjs/components/Controls/RightControl/RightControl.styles.cjs.map +1 -1
  55. package/dist/cjs/components/EmptyState/EmptyState.cjs +43 -25
  56. package/dist/cjs/components/EmptyState/EmptyState.cjs.map +1 -1
  57. package/dist/cjs/components/EmptyState/EmptyState.styles.cjs +32 -92
  58. package/dist/cjs/components/EmptyState/EmptyState.styles.cjs.map +1 -1
  59. package/dist/cjs/components/FileUploader/DropZone/DropZone.cjs +36 -30
  60. package/dist/cjs/components/FileUploader/DropZone/DropZone.cjs.map +1 -1
  61. package/dist/cjs/components/FileUploader/DropZone/DropZone.styles.cjs +73 -183
  62. package/dist/cjs/components/FileUploader/DropZone/DropZone.styles.cjs.map +1 -1
  63. package/dist/cjs/components/FileUploader/File/File.cjs +27 -24
  64. package/dist/cjs/components/FileUploader/File/File.cjs.map +1 -1
  65. package/dist/cjs/components/FileUploader/File/File.styles.cjs +64 -148
  66. package/dist/cjs/components/FileUploader/File/File.styles.cjs.map +1 -1
  67. package/dist/cjs/components/FileUploader/FileList/FileList.cjs +8 -6
  68. package/dist/cjs/components/FileUploader/FileList/FileList.cjs.map +1 -1
  69. package/dist/cjs/components/FileUploader/FileList/FileList.styles.cjs +18 -20
  70. package/dist/cjs/components/FileUploader/FileList/FileList.styles.cjs.map +1 -1
  71. package/dist/cjs/components/FileUploader/Preview/Preview.cjs +23 -10
  72. package/dist/cjs/components/FileUploader/Preview/Preview.cjs.map +1 -1
  73. package/dist/cjs/components/FileUploader/Preview/Preview.styles.cjs +28 -61
  74. package/dist/cjs/components/FileUploader/Preview/Preview.styles.cjs.map +1 -1
  75. package/dist/cjs/components/List/List.styles.cjs +9 -9
  76. package/dist/cjs/components/List/List.styles.cjs.map +1 -1
  77. package/dist/cjs/components/Radio/Radio.cjs +23 -16
  78. package/dist/cjs/components/Radio/Radio.cjs.map +1 -1
  79. package/dist/cjs/components/Radio/Radio.styles.cjs +53 -110
  80. package/dist/cjs/components/Radio/Radio.styles.cjs.map +1 -1
  81. package/dist/cjs/components/RadioGroup/RadioGroup.cjs +19 -13
  82. package/dist/cjs/components/RadioGroup/RadioGroup.cjs.map +1 -1
  83. package/dist/cjs/components/RadioGroup/RadioGroup.styles.cjs +26 -67
  84. package/dist/cjs/components/RadioGroup/RadioGroup.styles.cjs.map +1 -1
  85. package/dist/cjs/components/Snackbar/Snackbar.cjs +2 -2
  86. package/dist/cjs/components/Snackbar/Snackbar.cjs.map +1 -1
  87. package/dist/cjs/components/Snackbar/{SnackbarContentWrapper/SnackbarContentWrapper.cjs → SnackbarContent/SnackbarContent.cjs} +4 -4
  88. package/dist/cjs/components/Snackbar/SnackbarContent/SnackbarContent.cjs.map +1 -0
  89. package/dist/cjs/components/Snackbar/{SnackbarContentWrapper/SnackbarContentWrapper.styles.cjs → SnackbarContent/SnackbarContent.styles.cjs} +6 -4
  90. package/dist/cjs/components/Snackbar/SnackbarContent/SnackbarContent.styles.cjs.map +1 -0
  91. package/dist/cjs/components/Snackbar/SnackbarProvider/SnackbarProvider.cjs +10 -9
  92. package/dist/cjs/components/Snackbar/SnackbarProvider/SnackbarProvider.cjs.map +1 -1
  93. package/dist/cjs/components/Switch/Switch.cjs +17 -11
  94. package/dist/cjs/components/Switch/Switch.cjs.map +1 -1
  95. package/dist/cjs/components/Switch/Switch.styles.cjs +25 -66
  96. package/dist/cjs/components/Switch/Switch.styles.cjs.map +1 -1
  97. package/dist/cjs/components/VerticalNavigation/Header/Header.cjs +1 -0
  98. package/dist/cjs/components/VerticalNavigation/Header/Header.cjs.map +1 -1
  99. package/dist/cjs/components/VerticalNavigation/Navigation/Navigation.cjs +3 -1
  100. package/dist/cjs/components/VerticalNavigation/Navigation/Navigation.cjs.map +1 -1
  101. package/dist/cjs/components/VerticalNavigation/NavigationSlider/NavigationSlider.cjs +3 -1
  102. package/dist/cjs/components/VerticalNavigation/NavigationSlider/NavigationSlider.cjs.map +1 -1
  103. package/dist/cjs/index.cjs +40 -40
  104. package/dist/esm/components/Accordion/Accordion.js.map +1 -1
  105. package/dist/esm/components/Avatar/Avatar.js.map +1 -1
  106. package/dist/esm/components/BaseCheckBox/BaseCheckBox.js +19 -12
  107. package/dist/esm/components/BaseCheckBox/BaseCheckBox.js.map +1 -1
  108. package/dist/esm/components/BaseCheckBox/BaseCheckBox.styles.js +23 -41
  109. package/dist/esm/components/BaseCheckBox/BaseCheckBox.styles.js.map +1 -1
  110. package/dist/esm/components/BaseDropdown/BaseDropdown.js +54 -43
  111. package/dist/esm/components/BaseDropdown/BaseDropdown.js.map +1 -1
  112. package/dist/esm/components/BaseDropdown/BaseDropdown.styles.js +105 -192
  113. package/dist/esm/components/BaseDropdown/BaseDropdown.styles.js.map +1 -1
  114. package/dist/esm/components/BaseRadio/BaseRadio.js +16 -9
  115. package/dist/esm/components/BaseRadio/BaseRadio.js.map +1 -1
  116. package/dist/esm/components/BaseRadio/BaseRadio.styles.js +20 -36
  117. package/dist/esm/components/BaseRadio/BaseRadio.styles.js.map +1 -1
  118. package/dist/esm/components/BaseSwitch/BaseSwitch.js +22 -16
  119. package/dist/esm/components/BaseSwitch/BaseSwitch.js.map +1 -1
  120. package/dist/esm/components/BaseSwitch/BaseSwitch.styles.js +60 -72
  121. package/dist/esm/components/BaseSwitch/BaseSwitch.styles.js.map +1 -1
  122. package/dist/esm/components/BreadCrumb/BreadCrumb.js +22 -17
  123. package/dist/esm/components/BreadCrumb/BreadCrumb.js.map +1 -1
  124. package/dist/esm/components/BreadCrumb/BreadCrumb.styles.js +24 -46
  125. package/dist/esm/components/BreadCrumb/BreadCrumb.styles.js.map +1 -1
  126. package/dist/esm/components/BreadCrumb/PathElement/PathElement.js +11 -8
  127. package/dist/esm/components/BreadCrumb/PathElement/PathElement.js.map +1 -1
  128. package/dist/esm/components/BreadCrumb/PathElement/PathElement.styles.js +12 -18
  129. package/dist/esm/components/BreadCrumb/PathElement/PathElement.styles.js.map +1 -1
  130. package/dist/esm/components/BulkActions/BulkActions.js +45 -17
  131. package/dist/esm/components/BulkActions/BulkActions.js.map +1 -1
  132. package/dist/esm/components/BulkActions/BulkActions.styles.js +34 -103
  133. package/dist/esm/components/BulkActions/BulkActions.styles.js.map +1 -1
  134. package/dist/esm/components/CheckBox/CheckBox.js +27 -18
  135. package/dist/esm/components/CheckBox/CheckBox.js.map +1 -1
  136. package/dist/esm/components/CheckBox/CheckBox.styles.js +48 -98
  137. package/dist/esm/components/CheckBox/CheckBox.styles.js.map +1 -1
  138. package/dist/esm/components/CheckBoxGroup/CheckBoxGroup.js +23 -16
  139. package/dist/esm/components/CheckBoxGroup/CheckBoxGroup.js.map +1 -1
  140. package/dist/esm/components/CheckBoxGroup/CheckBoxGroup.styles.js +27 -65
  141. package/dist/esm/components/CheckBoxGroup/CheckBoxGroup.styles.js.map +1 -1
  142. package/dist/esm/components/Container/Container.js +41 -17
  143. package/dist/esm/components/Container/Container.js.map +1 -1
  144. package/dist/esm/components/Container/Container.styles.js +16 -34
  145. package/dist/esm/components/Container/Container.styles.js.map +1 -1
  146. package/dist/esm/components/Controls/Controls.js +15 -11
  147. package/dist/esm/components/Controls/Controls.js.map +1 -1
  148. package/dist/esm/components/Controls/Controls.styles.js +19 -33
  149. package/dist/esm/components/Controls/Controls.styles.js.map +1 -1
  150. package/dist/esm/components/Controls/LeftControl/LeftControl.js +11 -7
  151. package/dist/esm/components/Controls/LeftControl/LeftControl.js.map +1 -1
  152. package/dist/esm/components/Controls/LeftControl/LeftControl.styles.js +11 -18
  153. package/dist/esm/components/Controls/LeftControl/LeftControl.styles.js.map +1 -1
  154. package/dist/esm/components/Controls/RightControl/RightControl.js +14 -9
  155. package/dist/esm/components/Controls/RightControl/RightControl.js.map +1 -1
  156. package/dist/esm/components/Controls/RightControl/RightControl.styles.js +14 -37
  157. package/dist/esm/components/Controls/RightControl/RightControl.styles.js.map +1 -1
  158. package/dist/esm/components/EmptyState/EmptyState.js +44 -27
  159. package/dist/esm/components/EmptyState/EmptyState.js.map +1 -1
  160. package/dist/esm/components/EmptyState/EmptyState.styles.js +32 -90
  161. package/dist/esm/components/EmptyState/EmptyState.styles.js.map +1 -1
  162. package/dist/esm/components/FileUploader/DropZone/DropZone.js +39 -32
  163. package/dist/esm/components/FileUploader/DropZone/DropZone.js.map +1 -1
  164. package/dist/esm/components/FileUploader/DropZone/DropZone.styles.js +73 -181
  165. package/dist/esm/components/FileUploader/DropZone/DropZone.styles.js.map +1 -1
  166. package/dist/esm/components/FileUploader/File/File.js +31 -27
  167. package/dist/esm/components/FileUploader/File/File.js.map +1 -1
  168. package/dist/esm/components/FileUploader/File/File.styles.js +64 -146
  169. package/dist/esm/components/FileUploader/File/File.styles.js.map +1 -1
  170. package/dist/esm/components/FileUploader/FileList/FileList.js +11 -8
  171. package/dist/esm/components/FileUploader/FileList/FileList.js.map +1 -1
  172. package/dist/esm/components/FileUploader/FileList/FileList.styles.js +18 -18
  173. package/dist/esm/components/FileUploader/FileList/FileList.styles.js.map +1 -1
  174. package/dist/esm/components/FileUploader/Preview/Preview.js +27 -13
  175. package/dist/esm/components/FileUploader/Preview/Preview.js.map +1 -1
  176. package/dist/esm/components/FileUploader/Preview/Preview.styles.js +28 -59
  177. package/dist/esm/components/FileUploader/Preview/Preview.styles.js.map +1 -1
  178. package/dist/esm/components/List/List.styles.js +9 -9
  179. package/dist/esm/components/List/List.styles.js.map +1 -1
  180. package/dist/esm/components/Radio/Radio.js +26 -18
  181. package/dist/esm/components/Radio/Radio.js.map +1 -1
  182. package/dist/esm/components/Radio/Radio.styles.js +53 -108
  183. package/dist/esm/components/Radio/Radio.styles.js.map +1 -1
  184. package/dist/esm/components/RadioGroup/RadioGroup.js +22 -15
  185. package/dist/esm/components/RadioGroup/RadioGroup.js.map +1 -1
  186. package/dist/esm/components/RadioGroup/RadioGroup.styles.js +26 -65
  187. package/dist/esm/components/RadioGroup/RadioGroup.styles.js.map +1 -1
  188. package/dist/esm/components/Snackbar/Snackbar.js +1 -1
  189. package/dist/esm/components/Snackbar/Snackbar.js.map +1 -1
  190. package/dist/esm/components/Snackbar/{SnackbarContentWrapper/SnackbarContentWrapper.js → SnackbarContent/SnackbarContent.js} +3 -3
  191. package/dist/esm/components/Snackbar/SnackbarContent/SnackbarContent.js.map +1 -0
  192. package/dist/esm/components/Snackbar/{SnackbarContentWrapper/SnackbarContentWrapper.styles.js → SnackbarContent/SnackbarContent.styles.js} +6 -4
  193. package/dist/esm/components/Snackbar/SnackbarContent/SnackbarContent.styles.js.map +1 -0
  194. package/dist/esm/components/Snackbar/SnackbarProvider/SnackbarProvider.js +9 -8
  195. package/dist/esm/components/Snackbar/SnackbarProvider/SnackbarProvider.js.map +1 -1
  196. package/dist/esm/components/Switch/Switch.js +20 -13
  197. package/dist/esm/components/Switch/Switch.js.map +1 -1
  198. package/dist/esm/components/Switch/Switch.styles.js +25 -64
  199. package/dist/esm/components/Switch/Switch.styles.js.map +1 -1
  200. package/dist/esm/components/VerticalNavigation/Header/Header.js +1 -0
  201. package/dist/esm/components/VerticalNavigation/Header/Header.js.map +1 -1
  202. package/dist/esm/components/VerticalNavigation/Navigation/Navigation.js +3 -1
  203. package/dist/esm/components/VerticalNavigation/Navigation/Navigation.js.map +1 -1
  204. package/dist/esm/components/VerticalNavigation/NavigationSlider/NavigationSlider.js +3 -1
  205. package/dist/esm/components/VerticalNavigation/NavigationSlider/NavigationSlider.js.map +1 -1
  206. package/dist/esm/index.js +215 -215
  207. package/dist/types/index.d.ts +503 -352
  208. package/package.json +2 -2
  209. package/dist/cjs/components/BaseCheckBox/baseCheckBoxClasses.cjs +0 -8
  210. package/dist/cjs/components/BaseCheckBox/baseCheckBoxClasses.cjs.map +0 -1
  211. package/dist/cjs/components/BaseDropdown/baseDropdownClasses.cjs +0 -8
  212. package/dist/cjs/components/BaseDropdown/baseDropdownClasses.cjs.map +0 -1
  213. package/dist/cjs/components/BaseRadio/baseRadioClasses.cjs +0 -8
  214. package/dist/cjs/components/BaseRadio/baseRadioClasses.cjs.map +0 -1
  215. package/dist/cjs/components/BaseSwitch/baseSwitchClasses.cjs +0 -8
  216. package/dist/cjs/components/BaseSwitch/baseSwitchClasses.cjs.map +0 -1
  217. package/dist/cjs/components/BreadCrumb/PathElement/pathElementClasses.cjs +0 -8
  218. package/dist/cjs/components/BreadCrumb/PathElement/pathElementClasses.cjs.map +0 -1
  219. package/dist/cjs/components/BreadCrumb/breadCrumbClasses.cjs +0 -8
  220. package/dist/cjs/components/BreadCrumb/breadCrumbClasses.cjs.map +0 -1
  221. package/dist/cjs/components/BulkActions/bulkActionsClasses.cjs +0 -8
  222. package/dist/cjs/components/BulkActions/bulkActionsClasses.cjs.map +0 -1
  223. package/dist/cjs/components/CheckBox/checkBoxClasses.cjs +0 -8
  224. package/dist/cjs/components/CheckBox/checkBoxClasses.cjs.map +0 -1
  225. package/dist/cjs/components/CheckBoxGroup/checkBoxGroupClasses.cjs +0 -8
  226. package/dist/cjs/components/CheckBoxGroup/checkBoxGroupClasses.cjs.map +0 -1
  227. package/dist/cjs/components/Container/containerClasses.cjs +0 -8
  228. package/dist/cjs/components/Container/containerClasses.cjs.map +0 -1
  229. package/dist/cjs/components/Controls/LeftControl/leftControlClasses.cjs +0 -8
  230. package/dist/cjs/components/Controls/LeftControl/leftControlClasses.cjs.map +0 -1
  231. package/dist/cjs/components/Controls/RightControl/rightControlClasses.cjs +0 -8
  232. package/dist/cjs/components/Controls/RightControl/rightControlClasses.cjs.map +0 -1
  233. package/dist/cjs/components/Controls/controlClasses.cjs +0 -8
  234. package/dist/cjs/components/Controls/controlClasses.cjs.map +0 -1
  235. package/dist/cjs/components/EmptyState/emptyStateClasses.cjs +0 -8
  236. package/dist/cjs/components/EmptyState/emptyStateClasses.cjs.map +0 -1
  237. package/dist/cjs/components/FileUploader/DropZone/dropZoneClasses.cjs +0 -8
  238. package/dist/cjs/components/FileUploader/DropZone/dropZoneClasses.cjs.map +0 -1
  239. package/dist/cjs/components/FileUploader/File/fileClasses.cjs +0 -8
  240. package/dist/cjs/components/FileUploader/File/fileClasses.cjs.map +0 -1
  241. package/dist/cjs/components/FileUploader/FileList/fileListClasses.cjs +0 -8
  242. package/dist/cjs/components/FileUploader/FileList/fileListClasses.cjs.map +0 -1
  243. package/dist/cjs/components/FileUploader/Preview/previewClasses.cjs +0 -8
  244. package/dist/cjs/components/FileUploader/Preview/previewClasses.cjs.map +0 -1
  245. package/dist/cjs/components/Radio/radioClasses.cjs +0 -8
  246. package/dist/cjs/components/Radio/radioClasses.cjs.map +0 -1
  247. package/dist/cjs/components/RadioGroup/radioGroupClasses.cjs +0 -8
  248. package/dist/cjs/components/RadioGroup/radioGroupClasses.cjs.map +0 -1
  249. package/dist/cjs/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.cjs.map +0 -1
  250. package/dist/cjs/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.styles.cjs.map +0 -1
  251. package/dist/cjs/components/Switch/switchClasses.cjs +0 -8
  252. package/dist/cjs/components/Switch/switchClasses.cjs.map +0 -1
  253. package/dist/esm/components/BaseCheckBox/baseCheckBoxClasses.js +0 -8
  254. package/dist/esm/components/BaseCheckBox/baseCheckBoxClasses.js.map +0 -1
  255. package/dist/esm/components/BaseDropdown/baseDropdownClasses.js +0 -8
  256. package/dist/esm/components/BaseDropdown/baseDropdownClasses.js.map +0 -1
  257. package/dist/esm/components/BaseRadio/baseRadioClasses.js +0 -8
  258. package/dist/esm/components/BaseRadio/baseRadioClasses.js.map +0 -1
  259. package/dist/esm/components/BaseSwitch/baseSwitchClasses.js +0 -8
  260. package/dist/esm/components/BaseSwitch/baseSwitchClasses.js.map +0 -1
  261. package/dist/esm/components/BreadCrumb/PathElement/pathElementClasses.js +0 -8
  262. package/dist/esm/components/BreadCrumb/PathElement/pathElementClasses.js.map +0 -1
  263. package/dist/esm/components/BreadCrumb/breadCrumbClasses.js +0 -8
  264. package/dist/esm/components/BreadCrumb/breadCrumbClasses.js.map +0 -1
  265. package/dist/esm/components/BulkActions/bulkActionsClasses.js +0 -8
  266. package/dist/esm/components/BulkActions/bulkActionsClasses.js.map +0 -1
  267. package/dist/esm/components/CheckBox/checkBoxClasses.js +0 -8
  268. package/dist/esm/components/CheckBox/checkBoxClasses.js.map +0 -1
  269. package/dist/esm/components/CheckBoxGroup/checkBoxGroupClasses.js +0 -8
  270. package/dist/esm/components/CheckBoxGroup/checkBoxGroupClasses.js.map +0 -1
  271. package/dist/esm/components/Container/containerClasses.js +0 -8
  272. package/dist/esm/components/Container/containerClasses.js.map +0 -1
  273. package/dist/esm/components/Controls/LeftControl/leftControlClasses.js +0 -8
  274. package/dist/esm/components/Controls/LeftControl/leftControlClasses.js.map +0 -1
  275. package/dist/esm/components/Controls/RightControl/rightControlClasses.js +0 -8
  276. package/dist/esm/components/Controls/RightControl/rightControlClasses.js.map +0 -1
  277. package/dist/esm/components/Controls/controlClasses.js +0 -8
  278. package/dist/esm/components/Controls/controlClasses.js.map +0 -1
  279. package/dist/esm/components/EmptyState/emptyStateClasses.js +0 -8
  280. package/dist/esm/components/EmptyState/emptyStateClasses.js.map +0 -1
  281. package/dist/esm/components/FileUploader/DropZone/dropZoneClasses.js +0 -8
  282. package/dist/esm/components/FileUploader/DropZone/dropZoneClasses.js.map +0 -1
  283. package/dist/esm/components/FileUploader/File/fileClasses.js +0 -8
  284. package/dist/esm/components/FileUploader/File/fileClasses.js.map +0 -1
  285. package/dist/esm/components/FileUploader/FileList/fileListClasses.js +0 -8
  286. package/dist/esm/components/FileUploader/FileList/fileListClasses.js.map +0 -1
  287. package/dist/esm/components/FileUploader/Preview/previewClasses.js +0 -8
  288. package/dist/esm/components/FileUploader/Preview/previewClasses.js.map +0 -1
  289. package/dist/esm/components/Radio/radioClasses.js +0 -8
  290. package/dist/esm/components/Radio/radioClasses.js.map +0 -1
  291. package/dist/esm/components/RadioGroup/radioGroupClasses.js +0 -8
  292. package/dist/esm/components/RadioGroup/radioGroupClasses.js.map +0 -1
  293. package/dist/esm/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.js.map +0 -1
  294. package/dist/esm/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.styles.js.map +0 -1
  295. package/dist/esm/components/Switch/switchClasses.js +0 -8
  296. package/dist/esm/components/Switch/switchClasses.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Navigation.cjs","sources":["../../../../../src/components/VerticalNavigation/Navigation/Navigation.tsx"],"sourcesContent":["import { useCallback, useMemo, useContext, useEffect, useState } from \"react\";\n\nimport { clsx } from \"clsx\";\n\nimport uniqueId from \"lodash/uniqueId\";\n\nimport { wrapperTooltip } from \"@core/utils/wrapperTooltip\";\nimport { setId } from \"@core/utils/setId\";\nimport { useControlled } from \"@core/hooks/useControlled\";\nimport { HvBaseProps } from \"@core/types/generic\";\n\nimport {\n HvVerticalNavigationTreeView,\n HvVerticalNavigationTreeViewItem,\n NavigationMode,\n} from \"../TreeView\";\nimport verticalNavigationTreeClasses, {\n HvVerticalNavigationTreeClasses,\n} from \"./navigationClasses\";\nimport { StyledNav } from \"./Navigation.styles\";\nimport { HvVerticalNavigationSlider } from \"../NavigationSlider\";\nimport {\n VerticalNavigationContext,\n NavigationData,\n} from \"../VerticalNavigationContext\";\nimport { getParentItemById } from \"../NavigationSlider/utils/NavigationSlider.utils\";\nimport { NavigationPopupContainer } from \"../NavigationPopup/NavigationPopupContainer\";\n\nexport interface HvVerticalNavigationTreeProps\n extends HvBaseProps<HTMLDivElement, \"onChange\"> {\n /**\n * Id to be applied to the root node.\n */\n id?: string;\n /**\n * Class names to be applied.\n */\n className?: string;\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes?: HvVerticalNavigationTreeClasses;\n /**\n * Modus operandi (role) of the widget instance.\n */\n mode?: NavigationMode;\n /**\n * Can non-leaf nodes be collapsed / expanded.\n */\n collapsible?: boolean;\n /**\n * The ID of the selected page.\n */\n selected?: string;\n /**\n * When uncontrolled, defines the initial selected page ID.\n */\n defaultSelected?: string;\n /**\n * Callback fired when a navigation item is selected.\n *\n * @param {object} event The event source of the callback.\n * @param {object} page The data of the selected page.\n */\n onChange?: (event, page) => void;\n /**\n * Expanded nodes' ids.\n */\n expanded?: string[];\n /**\n * When uncontrolled, defines the initial expanded nodes' ids.\n *\n * It also supports `true` for starting with all nodes expanded.\n * With `false` all nodes will be collapsed.\n *\n * By default it expands the needed nodes to display the current selection, if any.\n */\n defaultExpanded?: string[] | boolean;\n /**\n * Callback fired when tree items are expanded/collapsed.\n *\n * @param {object} event The event source of the callback.\n * @param {array} nodeIds The ids of the expanded nodes (old and new).\n */\n onToggle?: (event, nodeIds) => void;\n /**\n * An array containing the data for each menu item.\n *\n * id - the id to be applied to the root element.\n * label - the label to be rendered on the menu item.\n * data - sub-menu items\n * href - the url used for navigation.\n * target - the behavior when opening an url.\n */\n data?: NavigationData[];\n}\n\nconst createListHierarchy = (\n items,\n id,\n classes?: HvVerticalNavigationTreeClasses,\n mouseEnterHandler?: (event, item) => void,\n disableTooltip = false\n) =>\n items.map((item) => {\n const {\n id: itemId,\n label: itemLabel,\n icon,\n data: children,\n selectable,\n disabled,\n href,\n target,\n } = item;\n\n const ItemText = wrapperTooltip(true, itemLabel, itemLabel);\n\n const itemMouseEnterHandler = (event) => {\n mouseEnterHandler?.(event, item);\n };\n\n return (\n <HvVerticalNavigationTreeViewItem\n id={setId(id, itemId)}\n className={classes?.listItem}\n href={href}\n target={target}\n key={itemId}\n nodeId={itemId}\n label={<ItemText />}\n icon={icon}\n payload={item}\n selectable={selectable}\n disabled={disabled}\n onMouseEnter={itemMouseEnterHandler}\n disableTooltip={disableTooltip}\n >\n {children\n ? createListHierarchy(\n children,\n id,\n classes,\n mouseEnterHandler,\n disableTooltip\n )\n : undefined}\n </HvVerticalNavigationTreeViewItem>\n );\n });\n\nconst getAllParents = (items) => {\n const parents = items.filter(\n (item) => item.data != null && item.data.length > 0\n );\n const childParents = parents.flatMap((item) => getAllParents(item.data));\n\n return [...parents, ...childParents];\n};\n\nfunction pathToElement(data, targetId) {\n const path: string[] = [];\n\n if (data != null && data.length > 0) {\n for (let i = 0; i !== data.length; ++i) {\n const item = data[i];\n if (item.id === targetId) {\n path.push(item.id);\n break;\n }\n\n const subPaths = pathToElement(item.data, targetId);\n if (subPaths.length > 0) {\n path.push(item.id);\n path.push(...subPaths);\n break;\n }\n }\n }\n\n return path;\n}\n\nexport const HvVerticalNavigationTree = ({\n id,\n\n className,\n classes,\n\n data,\n\n mode = \"navigation\",\n\n collapsible = false,\n expanded: expandedProp,\n defaultExpanded,\n onToggle,\n\n selected: selectedProp,\n defaultSelected,\n onChange,\n\n ...others\n}: HvVerticalNavigationTreeProps) => {\n const [selected, setSelected] = useControlled(selectedProp, defaultSelected);\n const [expanded, setExpanded] = useControlled(expandedProp, () => {\n if (defaultExpanded === true) {\n // all parent nodes will be expanded by default\n return getAllParents(data).map((item) => item.id);\n }\n\n if (defaultExpanded === false) {\n // all parent nodes will be collapsed by default\n return [];\n }\n\n if (defaultExpanded == null) {\n if (selected != null) {\n // the path to the selected node will be expanded (default behaviour)\n const path = pathToElement(data, selected);\n return path.slice(0, -1);\n }\n\n // nothing is expanded\n return [];\n }\n\n return defaultExpanded;\n });\n\n const {\n isOpen,\n useIcons,\n slider,\n\n parentItem,\n setParentItem,\n withParentData,\n navigateToChildHandler,\n\n setParentData,\n setParentSelected,\n } = useContext(VerticalNavigationContext);\n\n const [navigationPopup, setNavigationPopup] = useState<{\n // This value is needed to guarantee that the NavigationPopup is fully re-rendered with keeping any previous values\n uniqueKey: string;\n anchorEl: HTMLButtonElement | null;\n fixedMode: boolean;\n data: NavigationData[];\n } | null>(null);\n\n const handleChange = useCallback(\n (event, selectedId, selectedItem) => {\n if (useIcons && !isOpen && selectedItem.data) {\n const currentEventTarget = event.currentTarget;\n setNavigationPopup((prevState) => {\n // We want to close the popup in case the clicked element is the same as the previous one\n return prevState?.anchorEl === currentEventTarget\n ? null\n : {\n uniqueKey: uniqueId(),\n anchorEl: currentEventTarget,\n fixedMode: true,\n data: selectedItem.data,\n };\n });\n\n // We need this stopPropagation or else the Popup will close due to the clickaway being triggered\n event.stopPropagation();\n } else {\n setSelected(selectedId);\n setExpanded((prevState) => {\n if (!isOpen) {\n return [...prevState, ...pathToElement(data, selectedId)];\n }\n return [...prevState];\n });\n setNavigationPopup(null);\n if (onChange) {\n onChange(event, selectedItem);\n }\n }\n },\n [onChange, setSelected, setExpanded, isOpen, useIcons, data]\n );\n\n const treeViewItemMouseEnterHandler = useCallback(\n (event, item) => {\n const isCollapsed = useIcons && !isOpen;\n\n if (isCollapsed && item.data && !navigationPopup?.fixedMode) {\n const currentEventTarget = event.currentTarget;\n\n setNavigationPopup?.({\n uniqueKey: uniqueId(),\n anchorEl: currentEventTarget,\n fixedMode: false,\n data: item.data,\n });\n } else if (isCollapsed && !item.data && !navigationPopup?.fixedMode) {\n setNavigationPopup(null);\n }\n },\n [isOpen, useIcons, navigationPopup]\n );\n\n const handleToggle = useCallback(\n (event, newExpanded) => {\n setExpanded(newExpanded);\n\n if (onToggle) {\n onToggle(event, newExpanded);\n }\n },\n [onToggle, setExpanded]\n );\n\n const children = useMemo(\n () =>\n data &&\n createListHierarchy(\n data,\n id,\n classes,\n treeViewItemMouseEnterHandler,\n navigationPopup?.fixedMode\n ),\n [classes, data, id, navigationPopup, treeViewItemMouseEnterHandler]\n );\n\n useEffect(() => {\n if (!isOpen) {\n setNavigationPopup?.(null);\n }\n }, [isOpen]);\n\n useEffect(() => {\n if (setParentSelected) setParentSelected(selected);\n }, [selected, setSelected, setParentSelected]);\n\n useEffect(() => {\n if (setParentData) setParentData(data);\n }, [data, setParentData]);\n\n useEffect(() => {\n if (\n withParentData &&\n selected &&\n setParentItem &&\n getParentItemById(withParentData, selected)\n ) {\n setParentItem(getParentItemById(withParentData, selected));\n }\n }, [withParentData, selected, setParentItem]);\n\n // navigation slider\n const navigateToTargetHandler = (event, selectedItem) => {\n handleChange(event, selectedItem.id, selectedItem);\n };\n\n const handleNavigationPopupClose = () => {\n setNavigationPopup(null);\n };\n\n const handleStyledNavMouseLeave = () => {\n if (useIcons && !isOpen && !navigationPopup?.fixedMode) {\n setNavigationPopup(null);\n }\n };\n\n const handleNavigationPopupMouseLeave = () => {\n if (!navigationPopup?.fixedMode) {\n handleNavigationPopupClose();\n }\n };\n\n const handleNavigationPopupChange = (event, selectedItem) => {\n handleChange(event, selectedItem.id, selectedItem);\n };\n\n return (\n <StyledNav\n id={id}\n className={clsx(\n className,\n verticalNavigationTreeClasses.root,\n classes?.root,\n !isOpen &&\n !useIcons &&\n clsx(verticalNavigationTreeClasses.collapsed, classes?.collapsed)\n )}\n onMouseLeave={handleStyledNavMouseLeave}\n {...others}\n >\n {slider ? (\n <HvVerticalNavigationSlider\n data={parentItem.data || withParentData}\n selected={selected}\n onNavigateToTarget={navigateToTargetHandler}\n onNavigateToChild={navigateToChildHandler}\n />\n ) : (\n <HvVerticalNavigationTreeView\n id={setId(id, \"tree\")}\n className={clsx(verticalNavigationTreeClasses.list, classes?.list)}\n selectable\n mode={mode}\n collapsible={collapsible}\n selected={selected}\n onChange={handleChange}\n expanded={expanded}\n onToggle={handleToggle}\n >\n {useIcons && !isOpen && navigationPopup && (\n <NavigationPopupContainer\n anchorEl={navigationPopup.anchorEl}\n onClose={handleNavigationPopupClose}\n key={navigationPopup.uniqueKey}\n className={clsx(\n verticalNavigationTreeClasses.navigationPopup,\n classes?.navigationPopup\n )}\n >\n <HvVerticalNavigationTree\n className={clsx(verticalNavigationTreeClasses.popup)}\n id={setId(id, \"navigation-popup-tree\")}\n collapsible\n defaultExpanded\n selected={selected}\n data={navigationPopup.data}\n onChange={handleNavigationPopupChange}\n onMouseLeave={handleNavigationPopupMouseLeave}\n />\n </NavigationPopupContainer>\n )}\n {children}\n </HvVerticalNavigationTreeView>\n )}\n </StyledNav>\n );\n};\n"],"names":["createListHierarchy","items","id","classes","mouseEnterHandler","disableTooltip","map","item","itemId","label","itemLabel","icon","data","children","selectable","disabled","href","target","ItemText","wrapperTooltip","itemMouseEnterHandler","event","HvVerticalNavigationTreeViewItem","setId","className","listItem","nodeId","_jsx","payload","onMouseEnter","undefined","getAllParents","parents","filter","length","childParents","flatMap","pathToElement","targetId","path","i","push","subPaths","HvVerticalNavigationTree","mode","collapsible","expanded","expandedProp","defaultExpanded","onToggle","selected","selectedProp","defaultSelected","onChange","others","setSelected","useControlled","setExpanded","slice","isOpen","useIcons","slider","parentItem","setParentItem","withParentData","navigateToChildHandler","setParentData","setParentSelected","useContext","VerticalNavigationContext","navigationPopup","setNavigationPopup","useState","handleChange","useCallback","selectedId","selectedItem","currentEventTarget","currentTarget","prevState","anchorEl","uniqueKey","uniqueId","fixedMode","stopPropagation","treeViewItemMouseEnterHandler","isCollapsed","handleToggle","newExpanded","useMemo","useEffect","getParentItemById","navigateToTargetHandler","handleNavigationPopupClose","handleStyledNavMouseLeave","handleNavigationPopupMouseLeave","handleNavigationPopupChange","StyledNav","clsx","verticalNavigationTreeClasses","root","collapsed","onMouseLeave","HvVerticalNavigationSlider","onNavigateToTarget","onNavigateToChild","_jsxs","HvVerticalNavigationTreeView","list","NavigationPopupContainer","onClose","popup"],"mappings":"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"}
1
+ {"version":3,"file":"Navigation.cjs","sources":["../../../../../src/components/VerticalNavigation/Navigation/Navigation.tsx"],"sourcesContent":["import { useCallback, useMemo, useContext, useEffect, useState } from \"react\";\n\nimport { clsx } from \"clsx\";\n\nimport uniqueId from \"lodash/uniqueId\";\n\nimport { wrapperTooltip } from \"@core/utils/wrapperTooltip\";\nimport { setId } from \"@core/utils/setId\";\nimport { useControlled } from \"@core/hooks/useControlled\";\nimport { HvBaseProps } from \"@core/types/generic\";\n\nimport {\n HvVerticalNavigationTreeView,\n HvVerticalNavigationTreeViewItem,\n NavigationMode,\n} from \"../TreeView\";\nimport verticalNavigationTreeClasses, {\n HvVerticalNavigationTreeClasses,\n} from \"./navigationClasses\";\nimport { StyledNav } from \"./Navigation.styles\";\nimport { HvVerticalNavigationSlider } from \"../NavigationSlider\";\nimport {\n VerticalNavigationContext,\n NavigationData,\n} from \"../VerticalNavigationContext\";\nimport { getParentItemById } from \"../NavigationSlider/utils/NavigationSlider.utils\";\nimport { NavigationPopupContainer } from \"../NavigationPopup/NavigationPopupContainer\";\n\nexport interface HvVerticalNavigationTreeProps\n extends HvBaseProps<HTMLDivElement, \"onChange\"> {\n /**\n * Id to be applied to the root node.\n */\n id?: string;\n /**\n * Class names to be applied.\n */\n className?: string;\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes?: HvVerticalNavigationTreeClasses;\n /**\n * Modus operandi (role) of the widget instance.\n */\n mode?: NavigationMode;\n /**\n * Can non-leaf nodes be collapsed / expanded.\n */\n collapsible?: boolean;\n /**\n * The ID of the selected page.\n */\n selected?: string;\n /**\n * When uncontrolled, defines the initial selected page ID.\n */\n defaultSelected?: string;\n /**\n * Callback fired when a navigation item is selected.\n *\n * @param {object} event The event source of the callback.\n * @param {object} page The data of the selected page.\n */\n onChange?: (event, page) => void;\n /**\n * Expanded nodes' ids.\n */\n expanded?: string[];\n /**\n * When uncontrolled, defines the initial expanded nodes' ids.\n *\n * It also supports `true` for starting with all nodes expanded.\n * With `false` all nodes will be collapsed.\n *\n * By default it expands the needed nodes to display the current selection, if any.\n */\n defaultExpanded?: string[] | boolean;\n /**\n * Callback fired when tree items are expanded/collapsed.\n *\n * @param {object} event The event source of the callback.\n * @param {array} nodeIds The ids of the expanded nodes (old and new).\n */\n onToggle?: (event, nodeIds) => void;\n /**\n * An array containing the data for each menu item.\n *\n * id - the id to be applied to the root element.\n * label - the label to be rendered on the menu item.\n * data - sub-menu items\n * href - the url used for navigation.\n * target - the behavior when opening an url.\n */\n data?: NavigationData[];\n /** Aria label to apply to the navigate to submenu button on the navigation slider list items. */\n sliderForwardButtonAriaLabel?: string;\n}\n\nconst createListHierarchy = (\n items,\n id,\n classes?: HvVerticalNavigationTreeClasses,\n mouseEnterHandler?: (event, item) => void,\n disableTooltip = false\n) =>\n items.map((item) => {\n const {\n id: itemId,\n label: itemLabel,\n icon,\n data: children,\n selectable,\n disabled,\n href,\n target,\n } = item;\n\n const ItemText = wrapperTooltip(true, itemLabel, itemLabel);\n\n const itemMouseEnterHandler = (event) => {\n mouseEnterHandler?.(event, item);\n };\n\n return (\n <HvVerticalNavigationTreeViewItem\n id={setId(id, itemId)}\n className={classes?.listItem}\n href={href}\n target={target}\n key={itemId}\n nodeId={itemId}\n label={<ItemText />}\n icon={icon}\n payload={item}\n selectable={selectable}\n disabled={disabled}\n onMouseEnter={itemMouseEnterHandler}\n disableTooltip={disableTooltip}\n >\n {children\n ? createListHierarchy(\n children,\n id,\n classes,\n mouseEnterHandler,\n disableTooltip\n )\n : undefined}\n </HvVerticalNavigationTreeViewItem>\n );\n });\n\nconst getAllParents = (items) => {\n const parents = items.filter(\n (item) => item.data != null && item.data.length > 0\n );\n const childParents = parents.flatMap((item) => getAllParents(item.data));\n\n return [...parents, ...childParents];\n};\n\nfunction pathToElement(data, targetId) {\n const path: string[] = [];\n\n if (data != null && data.length > 0) {\n for (let i = 0; i !== data.length; ++i) {\n const item = data[i];\n if (item.id === targetId) {\n path.push(item.id);\n break;\n }\n\n const subPaths = pathToElement(item.data, targetId);\n if (subPaths.length > 0) {\n path.push(item.id);\n path.push(...subPaths);\n break;\n }\n }\n }\n\n return path;\n}\n\nexport const HvVerticalNavigationTree = ({\n id,\n\n className,\n classes,\n\n data,\n\n mode = \"navigation\",\n\n collapsible = false,\n expanded: expandedProp,\n defaultExpanded,\n onToggle,\n\n selected: selectedProp,\n defaultSelected,\n onChange,\n\n sliderForwardButtonAriaLabel = \"Navigate to submenu\",\n\n ...others\n}: HvVerticalNavigationTreeProps) => {\n const [selected, setSelected] = useControlled(selectedProp, defaultSelected);\n const [expanded, setExpanded] = useControlled(expandedProp, () => {\n if (defaultExpanded === true) {\n // all parent nodes will be expanded by default\n return getAllParents(data).map((item) => item.id);\n }\n\n if (defaultExpanded === false) {\n // all parent nodes will be collapsed by default\n return [];\n }\n\n if (defaultExpanded == null) {\n if (selected != null) {\n // the path to the selected node will be expanded (default behaviour)\n const path = pathToElement(data, selected);\n return path.slice(0, -1);\n }\n\n // nothing is expanded\n return [];\n }\n\n return defaultExpanded;\n });\n\n const {\n isOpen,\n useIcons,\n slider,\n\n parentItem,\n setParentItem,\n withParentData,\n navigateToChildHandler,\n\n setParentData,\n setParentSelected,\n } = useContext(VerticalNavigationContext);\n\n const [navigationPopup, setNavigationPopup] = useState<{\n // This value is needed to guarantee that the NavigationPopup is fully re-rendered with keeping any previous values\n uniqueKey: string;\n anchorEl: HTMLButtonElement | null;\n fixedMode: boolean;\n data: NavigationData[];\n } | null>(null);\n\n const handleChange = useCallback(\n (event, selectedId, selectedItem) => {\n if (useIcons && !isOpen && selectedItem.data) {\n const currentEventTarget = event.currentTarget;\n setNavigationPopup((prevState) => {\n // We want to close the popup in case the clicked element is the same as the previous one\n return prevState?.anchorEl === currentEventTarget\n ? null\n : {\n uniqueKey: uniqueId(),\n anchorEl: currentEventTarget,\n fixedMode: true,\n data: selectedItem.data,\n };\n });\n\n // We need this stopPropagation or else the Popup will close due to the clickaway being triggered\n event.stopPropagation();\n } else {\n setSelected(selectedId);\n setExpanded((prevState) => {\n if (!isOpen) {\n return [...prevState, ...pathToElement(data, selectedId)];\n }\n return [...prevState];\n });\n setNavigationPopup(null);\n if (onChange) {\n onChange(event, selectedItem);\n }\n }\n },\n [onChange, setSelected, setExpanded, isOpen, useIcons, data]\n );\n\n const treeViewItemMouseEnterHandler = useCallback(\n (event, item) => {\n const isCollapsed = useIcons && !isOpen;\n\n if (isCollapsed && item.data && !navigationPopup?.fixedMode) {\n const currentEventTarget = event.currentTarget;\n\n setNavigationPopup?.({\n uniqueKey: uniqueId(),\n anchorEl: currentEventTarget,\n fixedMode: false,\n data: item.data,\n });\n } else if (isCollapsed && !item.data && !navigationPopup?.fixedMode) {\n setNavigationPopup(null);\n }\n },\n [isOpen, useIcons, navigationPopup]\n );\n\n const handleToggle = useCallback(\n (event, newExpanded) => {\n setExpanded(newExpanded);\n\n if (onToggle) {\n onToggle(event, newExpanded);\n }\n },\n [onToggle, setExpanded]\n );\n\n const children = useMemo(\n () =>\n data &&\n createListHierarchy(\n data,\n id,\n classes,\n treeViewItemMouseEnterHandler,\n navigationPopup?.fixedMode\n ),\n [classes, data, id, navigationPopup, treeViewItemMouseEnterHandler]\n );\n\n useEffect(() => {\n if (!isOpen) {\n setNavigationPopup?.(null);\n }\n }, [isOpen]);\n\n useEffect(() => {\n if (setParentSelected) setParentSelected(selected);\n }, [selected, setSelected, setParentSelected]);\n\n useEffect(() => {\n if (setParentData) setParentData(data);\n }, [data, setParentData]);\n\n useEffect(() => {\n if (\n withParentData &&\n selected &&\n setParentItem &&\n getParentItemById(withParentData, selected)\n ) {\n setParentItem(getParentItemById(withParentData, selected));\n }\n }, [withParentData, selected, setParentItem]);\n\n // navigation slider\n const navigateToTargetHandler = (event, selectedItem) => {\n handleChange(event, selectedItem.id, selectedItem);\n };\n\n const handleNavigationPopupClose = () => {\n setNavigationPopup(null);\n };\n\n const handleStyledNavMouseLeave = () => {\n if (useIcons && !isOpen && !navigationPopup?.fixedMode) {\n setNavigationPopup(null);\n }\n };\n\n const handleNavigationPopupMouseLeave = () => {\n if (!navigationPopup?.fixedMode) {\n handleNavigationPopupClose();\n }\n };\n\n const handleNavigationPopupChange = (event, selectedItem) => {\n handleChange(event, selectedItem.id, selectedItem);\n };\n\n return (\n <StyledNav\n id={id}\n className={clsx(\n className,\n verticalNavigationTreeClasses.root,\n classes?.root,\n !isOpen &&\n !useIcons &&\n clsx(verticalNavigationTreeClasses.collapsed, classes?.collapsed)\n )}\n onMouseLeave={handleStyledNavMouseLeave}\n {...others}\n >\n {slider ? (\n <HvVerticalNavigationSlider\n data={parentItem.data || withParentData}\n selected={selected}\n onNavigateToTarget={navigateToTargetHandler}\n onNavigateToChild={navigateToChildHandler}\n forwardButtonAriaLabel={sliderForwardButtonAriaLabel}\n />\n ) : (\n <HvVerticalNavigationTreeView\n id={setId(id, \"tree\")}\n className={clsx(verticalNavigationTreeClasses.list, classes?.list)}\n selectable\n mode={mode}\n collapsible={collapsible}\n selected={selected}\n onChange={handleChange}\n expanded={expanded}\n onToggle={handleToggle}\n >\n {useIcons && !isOpen && navigationPopup && (\n <NavigationPopupContainer\n anchorEl={navigationPopup.anchorEl}\n onClose={handleNavigationPopupClose}\n key={navigationPopup.uniqueKey}\n className={clsx(\n verticalNavigationTreeClasses.navigationPopup,\n classes?.navigationPopup\n )}\n >\n <HvVerticalNavigationTree\n className={clsx(verticalNavigationTreeClasses.popup)}\n id={setId(id, \"navigation-popup-tree\")}\n collapsible\n defaultExpanded\n selected={selected}\n data={navigationPopup.data}\n onChange={handleNavigationPopupChange}\n onMouseLeave={handleNavigationPopupMouseLeave}\n />\n </NavigationPopupContainer>\n )}\n {children}\n </HvVerticalNavigationTreeView>\n )}\n </StyledNav>\n );\n};\n"],"names":["createListHierarchy","items","id","classes","mouseEnterHandler","disableTooltip","map","item","itemId","label","itemLabel","icon","data","children","selectable","disabled","href","target","ItemText","wrapperTooltip","itemMouseEnterHandler","event","HvVerticalNavigationTreeViewItem","setId","className","listItem","nodeId","_jsx","payload","onMouseEnter","undefined","getAllParents","parents","filter","length","childParents","flatMap","pathToElement","targetId","path","i","push","subPaths","HvVerticalNavigationTree","mode","collapsible","expanded","expandedProp","defaultExpanded","onToggle","selected","selectedProp","defaultSelected","onChange","sliderForwardButtonAriaLabel","others","setSelected","useControlled","setExpanded","slice","isOpen","useIcons","slider","parentItem","setParentItem","withParentData","navigateToChildHandler","setParentData","setParentSelected","useContext","VerticalNavigationContext","navigationPopup","setNavigationPopup","useState","handleChange","useCallback","selectedId","selectedItem","currentEventTarget","currentTarget","prevState","anchorEl","uniqueKey","uniqueId","fixedMode","stopPropagation","treeViewItemMouseEnterHandler","isCollapsed","handleToggle","newExpanded","useMemo","useEffect","getParentItemById","navigateToTargetHandler","handleNavigationPopupClose","handleStyledNavMouseLeave","handleNavigationPopupMouseLeave","handleNavigationPopupChange","StyledNav","clsx","verticalNavigationTreeClasses","root","collapsed","onMouseLeave","HvVerticalNavigationSlider","onNavigateToTarget","onNavigateToChild","forwardButtonAriaLabel","_jsxs","HvVerticalNavigationTreeView","list","NavigationPopupContainer","onClose","popup"],"mappings":"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"}
@@ -14,7 +14,8 @@ const HvVerticalNavigationSlider = ({
14
14
  data,
15
15
  selected,
16
16
  onNavigateToTarget,
17
- onNavigateToChild
17
+ onNavigateToChild,
18
+ forwardButtonAriaLabel = "Navigate to submenu"
18
19
  }) => {
19
20
  return /* @__PURE__ */ jsxRuntime.jsx(ListContainer.HvListContainer, {
20
21
  interactive: true,
@@ -38,6 +39,7 @@ const HvVerticalNavigationSlider = ({
38
39
  onClick: (event) => {
39
40
  onNavigateToChild == null ? void 0 : onNavigateToChild(event, item);
40
41
  },
42
+ "aria-label": forwardButtonAriaLabel,
41
43
  children: /* @__PURE__ */ jsxRuntime.jsx(uikitReactIcons.DropRightXS, {})
42
44
  }) : void 0,
43
45
  children: /* @__PURE__ */ jsxRuntime.jsx(OverflowTooltip.HvOverflowTooltip, {
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationSlider.cjs","sources":["../../../../../src/components/VerticalNavigation/NavigationSlider/NavigationSlider.tsx"],"sourcesContent":["import { DropRightXS } from \"@hitachivantara/uikit-react-icons\";\n\nimport { clsx } from \"clsx\";\n\nimport { HvButton } from \"@core/components/Button\";\nimport { HvListContainer } from \"@core/components/ListContainer\";\nimport { HvOverflowTooltip } from \"@core/components/OverflowTooltip\";\n\nimport { StyledListItem } from \"./NavigationSlider.styles\";\nimport verticalNavigationSliderClasses, {\n HvVerticalNavigationSliderClasses,\n} from \"./navigationSliderClasses\";\nimport { NavigationData } from \"../VerticalNavigationContext\";\n\nexport interface HvVerticalNavigationSliderProps {\n /**\n * Id to be applied to the root node of the panel.\n */\n id?: string;\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes?: HvVerticalNavigationSliderClasses;\n /**\n * An array containing the data for each menu item.\n *\n * id - the id to be applied to the root element.\n * label - the label to be rendered on the menu item.\n * icon - the icon react element\n * data - sub-menu items\n * href - the url used for navigation.\n * target - the behavior when opening an url.\n */\n data?: NavigationData[];\n /**\n * The selected item id.\n */\n selected?: string;\n /**\n * Triggered when the item is clicked.\n */\n onNavigateToTarget?: (\n event: React.MouseEvent<HTMLLIElement>,\n item: NavigationData\n ) => void;\n /**\n * Triggered when the navigate to child button is clicked.\n */\n onNavigateToChild?: (\n event: React.MouseEvent<HTMLButtonElement>,\n item: NavigationData\n ) => void;\n}\n\nexport const HvVerticalNavigationSlider = ({\n id,\n classes,\n data,\n selected,\n onNavigateToTarget,\n onNavigateToChild,\n}: HvVerticalNavigationSliderProps) => {\n return (\n <HvListContainer interactive id={id}>\n {data &&\n data.map((item) => (\n <StyledListItem\n key={item.id}\n classes={{\n root: classes?.root,\n selected: clsx(\n classes?.listItemSelected,\n verticalNavigationSliderClasses.listItemSelected\n ),\n }}\n onClick={(event) => {\n onNavigateToTarget?.(event, item);\n }}\n aria-label={item.label}\n aria-current={\n selected === item.id ? (item.href ? \"page\" : true) : undefined\n }\n selected={selected === item.id}\n startAdornment={item.icon ? <div>{item.icon}</div> : undefined}\n endAdornment={\n item.data && item.data.length > 0 ? (\n <HvButton\n icon\n onClick={(event) => {\n onNavigateToChild?.(event, item);\n }}\n >\n <DropRightXS />\n </HvButton>\n ) : undefined\n }\n >\n <HvOverflowTooltip data={item.label} />\n </StyledListItem>\n ))}\n </HvListContainer>\n );\n};\n"],"names":["HvVerticalNavigationSlider","id","classes","data","selected","onNavigateToTarget","onNavigateToChild","HvListContainer","interactive","children","map","item","StyledListItem","root","clsx","listItemSelected","verticalNavigationSliderClasses","onClick","event","label","href","undefined","startAdornment","icon","_jsx","endAdornment","length","HvButton","DropRightXS","HvOverflowTooltip"],"mappings":";;;;;;;;;;AAsDO,MAAMA,6BAA6BA,CAAC;AAAA,EACzCC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAC+B,MAAM;AACrC,wCACGC,cAAAA,iBAAe;AAAA,IAACC,aAAW;AAAA,IAACP;AAAAA,IAAOQ,UACjCN,QACCA,KAAKO,IAAKC,CAAAA,wCACPC,wCAAc;AAAA,MAEbV,SAAS;AAAA,QACPW,MAAMX,mCAASW;AAAAA,QACfT,UAAUU,KAAAA,KACRZ,mCAASa,kBACTC,wBAAAA,QAAgCD,gBAClC;AAAA,MACF;AAAA,MACAE,SAAUC,CAAU,UAAA;AAClBb,iEAAqBa,OAAOP;AAAAA,MAC9B;AAAA,MACA,cAAYA,KAAKQ;AAAAA,MACjB,gBACEf,aAAaO,KAAKV,KAAMU,KAAKS,OAAO,SAAS,OAAQC;AAAAA,MAEvDjB,UAAUA,aAAaO,KAAKV;AAAAA,MAC5BqB,gBAAgBX,KAAKY,OAAOC,2BAAAA,IAAA,OAAA;AAAA,QAAAf,UAAME,KAAKY;AAAAA,MAAU,CAAA,IAAIF;AAAAA,MACrDI,cACEd,KAAKR,QAAQQ,KAAKR,KAAKuB,SAAS,mCAC7BC,iBAAQ;AAAA,QACPJ,MAAI;AAAA,QACJN,SAAUC,CAAU,UAAA;AAClBZ,iEAAoBY,OAAOP;AAAAA,QAC7B;AAAA,QAAEF,UAEFe,2BAAAA,IAACI,gBAAa,aAAA,EAAA;AAAA,MACN,CAAA,IACRP;AAAAA,MACLZ,yCAEAoB,mCAAiB;AAAA,QAAC1B,MAAMQ,KAAKQ;AAAAA,MAAAA,CAAQ;AAAA,IAAA,GA9BjCR,KAAKV,EA+BI,CACjB;AAAA,EAAA,CACY;AAErB;;"}
1
+ {"version":3,"file":"NavigationSlider.cjs","sources":["../../../../../src/components/VerticalNavigation/NavigationSlider/NavigationSlider.tsx"],"sourcesContent":["import { DropRightXS } from \"@hitachivantara/uikit-react-icons\";\n\nimport { clsx } from \"clsx\";\n\nimport { HvButton } from \"@core/components/Button\";\nimport { HvListContainer } from \"@core/components/ListContainer\";\nimport { HvOverflowTooltip } from \"@core/components/OverflowTooltip\";\n\nimport { StyledListItem } from \"./NavigationSlider.styles\";\nimport verticalNavigationSliderClasses, {\n HvVerticalNavigationSliderClasses,\n} from \"./navigationSliderClasses\";\nimport { NavigationData } from \"../VerticalNavigationContext\";\n\nexport interface HvVerticalNavigationSliderProps {\n /**\n * Id to be applied to the root node of the panel.\n */\n id?: string;\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes?: HvVerticalNavigationSliderClasses;\n /**\n * An array containing the data for each menu item.\n *\n * id - the id to be applied to the root element.\n * label - the label to be rendered on the menu item.\n * icon - the icon react element\n * data - sub-menu items\n * href - the url used for navigation.\n * target - the behavior when opening an url.\n */\n data?: NavigationData[];\n /**\n * The selected item id.\n */\n selected?: string;\n /**\n * Triggered when the item is clicked.\n */\n onNavigateToTarget?: (\n event: React.MouseEvent<HTMLLIElement>,\n item: NavigationData\n ) => void;\n /**\n * Triggered when the navigate to child button is clicked.\n */\n onNavigateToChild?: (\n event: React.MouseEvent<HTMLButtonElement>,\n item: NavigationData\n ) => void;\n /** Aria label to apply to the navigate to submenu button on the list items. */\n forwardButtonAriaLabel?: string;\n}\n\nexport const HvVerticalNavigationSlider = ({\n id,\n classes,\n data,\n selected,\n onNavigateToTarget,\n onNavigateToChild,\n forwardButtonAriaLabel = \"Navigate to submenu\",\n}: HvVerticalNavigationSliderProps) => {\n return (\n <HvListContainer interactive id={id}>\n {data &&\n data.map((item) => (\n <StyledListItem\n key={item.id}\n classes={{\n root: classes?.root,\n selected: clsx(\n classes?.listItemSelected,\n verticalNavigationSliderClasses.listItemSelected\n ),\n }}\n onClick={(event) => {\n onNavigateToTarget?.(event, item);\n }}\n aria-label={item.label}\n aria-current={\n selected === item.id ? (item.href ? \"page\" : true) : undefined\n }\n selected={selected === item.id}\n startAdornment={item.icon ? <div>{item.icon}</div> : undefined}\n endAdornment={\n item.data && item.data.length > 0 ? (\n <HvButton\n icon\n onClick={(event) => {\n onNavigateToChild?.(event, item);\n }}\n aria-label={forwardButtonAriaLabel}\n >\n <DropRightXS />\n </HvButton>\n ) : undefined\n }\n >\n <HvOverflowTooltip data={item.label} />\n </StyledListItem>\n ))}\n </HvListContainer>\n );\n};\n"],"names":["HvVerticalNavigationSlider","id","classes","data","selected","onNavigateToTarget","onNavigateToChild","forwardButtonAriaLabel","HvListContainer","interactive","children","map","item","StyledListItem","root","clsx","listItemSelected","verticalNavigationSliderClasses","onClick","event","label","href","undefined","startAdornment","icon","_jsx","endAdornment","length","HvButton","DropRightXS","HvOverflowTooltip"],"mappings":";;;;;;;;;;AAwDO,MAAMA,6BAA6BA,CAAC;AAAA,EACzCC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC,yBAAyB;AACM,MAAM;AACrC,wCACGC,cAAAA,iBAAe;AAAA,IAACC,aAAW;AAAA,IAACR;AAAAA,IAAOS,UACjCP,QACCA,KAAKQ,IAAKC,CAAAA,wCACPC,wCAAc;AAAA,MAEbX,SAAS;AAAA,QACPY,MAAMZ,mCAASY;AAAAA,QACfV,UAAUW,KAAAA,KACRb,mCAASc,kBACTC,wBAAAA,QAAgCD,gBAClC;AAAA,MACF;AAAA,MACAE,SAAUC,CAAU,UAAA;AAClBd,iEAAqBc,OAAOP;AAAAA,MAC9B;AAAA,MACA,cAAYA,KAAKQ;AAAAA,MACjB,gBACEhB,aAAaQ,KAAKX,KAAMW,KAAKS,OAAO,SAAS,OAAQC;AAAAA,MAEvDlB,UAAUA,aAAaQ,KAAKX;AAAAA,MAC5BsB,gBAAgBX,KAAKY,OAAOC,2BAAAA,IAAA,OAAA;AAAA,QAAAf,UAAME,KAAKY;AAAAA,MAAU,CAAA,IAAIF;AAAAA,MACrDI,cACEd,KAAKT,QAAQS,KAAKT,KAAKwB,SAAS,mCAC7BC,iBAAQ;AAAA,QACPJ,MAAI;AAAA,QACJN,SAAUC,CAAU,UAAA;AAClBb,iEAAoBa,OAAOP;AAAAA,QAC7B;AAAA,QACA,cAAYL;AAAAA,QAAuBG,UAEnCe,2BAAAA,IAACI,gBAAa,aAAA,EAAA;AAAA,MACN,CAAA,IACRP;AAAAA,MACLZ,yCAEAoB,mCAAiB;AAAA,QAAC3B,MAAMS,KAAKQ;AAAAA,MAAAA,CAAQ;AAAA,IAAA,GA/BjCR,KAAKX,EAgCI,CACjB;AAAA,EAAA,CACY;AAErB;;"}
@@ -37,7 +37,7 @@ const suggestionsClasses = require("./components/Forms/Suggestions/suggestionsCl
37
37
  const Suggestions = require("./components/Forms/Suggestions/Suggestions.cjs");
38
38
  const BaseInput_styles = require("./components/BaseInput/BaseInput.styles.cjs");
39
39
  const BaseInput = require("./components/BaseInput/BaseInput.cjs");
40
- const baseDropdownClasses = require("./components/BaseDropdown/baseDropdownClasses.cjs");
40
+ const BaseDropdown_styles = require("./components/BaseDropdown/BaseDropdown.styles.cjs");
41
41
  const BaseDropdown = require("./components/BaseDropdown/BaseDropdown.cjs");
42
42
  const ActionBar_styles = require("./components/ActionBar/ActionBar.styles.cjs");
43
43
  const ActionBar = require("./components/ActionBar/ActionBar.cjs");
@@ -58,7 +58,7 @@ const Content_styles = require("./components/Card/Content/Content.styles.cjs");
58
58
  const Content = require("./components/Card/Content/Content.cjs");
59
59
  const Media_styles = require("./components/Card/Media/Media.styles.cjs");
60
60
  const Media = require("./components/Card/Media/Media.cjs");
61
- const containerClasses = require("./components/Container/containerClasses.cjs");
61
+ const Container_styles = require("./components/Container/Container.styles.cjs");
62
62
  const Container = require("./components/Container/Container.cjs");
63
63
  const Title_styles = require("./components/Dialog/Title/Title.styles.cjs");
64
64
  const Title = require("./components/Dialog/Title/Title.cjs");
@@ -70,7 +70,7 @@ const Dialog_styles = require("./components/Dialog/Dialog.styles.cjs");
70
70
  const Dialog = require("./components/Dialog/Dialog.cjs");
71
71
  const Drawer_styles = require("./components/Drawer/Drawer.styles.cjs");
72
72
  const Drawer = require("./components/Drawer/Drawer.cjs");
73
- const emptyStateClasses = require("./components/EmptyState/emptyStateClasses.cjs");
73
+ const EmptyState_styles = require("./components/EmptyState/EmptyState.styles.cjs");
74
74
  const EmptyState = require("./components/EmptyState/EmptyState.cjs");
75
75
  const footerClasses = require("./components/Footer/footerClasses.cjs");
76
76
  const Footer = require("./components/Footer/Footer.cjs");
@@ -113,37 +113,37 @@ const tooltipClasses = require("./components/Tooltip/tooltipClasses.cjs");
113
113
  const Tooltip = require("./components/Tooltip/Tooltip.cjs");
114
114
  const overflowTooltipClasses = require("./components/OverflowTooltip/overflowTooltipClasses.cjs");
115
115
  const OverflowTooltip = require("./components/OverflowTooltip/OverflowTooltip.cjs");
116
- const baseCheckBoxClasses = require("./components/BaseCheckBox/baseCheckBoxClasses.cjs");
116
+ const BaseCheckBox_styles = require("./components/BaseCheckBox/BaseCheckBox.styles.cjs");
117
117
  const BaseCheckBox = require("./components/BaseCheckBox/BaseCheckBox.cjs");
118
- const baseRadioClasses = require("./components/BaseRadio/baseRadioClasses.cjs");
118
+ const BaseRadio_styles = require("./components/BaseRadio/BaseRadio.styles.cjs");
119
119
  const BaseRadio = require("./components/BaseRadio/BaseRadio.cjs");
120
120
  const AppSwitcher_styles = require("./components/AppSwitcher/AppSwitcher.styles.cjs");
121
121
  const AppSwitcher = require("./components/AppSwitcher/AppSwitcher.cjs");
122
122
  const Action_styles = require("./components/AppSwitcher/Action/Action.styles.cjs");
123
123
  const Action = require("./components/AppSwitcher/Action/Action.cjs");
124
- const baseSwitchClasses = require("./components/BaseSwitch/baseSwitchClasses.cjs");
124
+ const BaseSwitch_styles = require("./components/BaseSwitch/BaseSwitch.styles.cjs");
125
125
  const BaseSwitch = require("./components/BaseSwitch/BaseSwitch.cjs");
126
- const checkBoxClasses = require("./components/CheckBox/checkBoxClasses.cjs");
126
+ const CheckBox_styles = require("./components/CheckBox/CheckBox.styles.cjs");
127
127
  const CheckBox = require("./components/CheckBox/CheckBox.cjs");
128
128
  const Input_styles = require("./components/Input/Input.styles.cjs");
129
129
  const Input = require("./components/Input/Input.cjs");
130
- const switchClasses = require("./components/Switch/switchClasses.cjs");
130
+ const Switch_styles = require("./components/Switch/Switch.styles.cjs");
131
131
  const Switch = require("./components/Switch/Switch.cjs");
132
- const radioClasses = require("./components/Radio/radioClasses.cjs");
132
+ const Radio_styles = require("./components/Radio/Radio.styles.cjs");
133
133
  const Radio = require("./components/Radio/Radio.cjs");
134
134
  const textAreaClasses = require("./components/TextArea/textAreaClasses.cjs");
135
135
  const TextArea = require("./components/TextArea/TextArea.cjs");
136
136
  const tagsInputClasses = require("./components/TagsInput/tagsInputClasses.cjs");
137
137
  const TagsInput = require("./components/TagsInput/TagsInput.cjs");
138
- const checkBoxGroupClasses = require("./components/CheckBoxGroup/checkBoxGroupClasses.cjs");
138
+ const CheckBoxGroup_styles = require("./components/CheckBoxGroup/CheckBoxGroup.styles.cjs");
139
139
  const CheckBoxGroup = require("./components/CheckBoxGroup/CheckBoxGroup.cjs");
140
140
  const listClasses = require("./components/List/listClasses.cjs");
141
141
  const List = require("./components/List/List.cjs");
142
- const radioGroupClasses = require("./components/RadioGroup/radioGroupClasses.cjs");
142
+ const RadioGroup_styles = require("./components/RadioGroup/RadioGroup.styles.cjs");
143
143
  const RadioGroup = require("./components/RadioGroup/RadioGroup.cjs");
144
- const previewClasses = require("./components/FileUploader/Preview/previewClasses.cjs");
144
+ const Preview_styles = require("./components/FileUploader/Preview/Preview.styles.cjs");
145
145
  const Preview = require("./components/FileUploader/Preview/Preview.cjs");
146
- const fileClasses = require("./components/FileUploader/File/fileClasses.cjs");
146
+ const File_styles = require("./components/FileUploader/File/File.styles.cjs");
147
147
  const File = require("./components/FileUploader/File/File.cjs");
148
148
  const FileUploader = require("./components/FileUploader/FileUploader.cjs");
149
149
  const DropDownMenu_styles = require("./components/DropDownMenu/DropDownMenu.styles.cjs");
@@ -152,7 +152,7 @@ const Pagination_styles = require("./components/Pagination/Pagination.styles.cjs
152
152
  const Pagination = require("./components/Pagination/Pagination.cjs");
153
153
  const ActionsGeneric_styles = require("./components/ActionsGeneric/ActionsGeneric.styles.cjs");
154
154
  const ActionsGeneric = require("./components/ActionsGeneric/ActionsGeneric.cjs");
155
- const breadCrumbClasses = require("./components/BreadCrumb/breadCrumbClasses.cjs");
155
+ const BreadCrumb_styles = require("./components/BreadCrumb/BreadCrumb.styles.cjs");
156
156
  const BreadCrumb = require("./components/BreadCrumb/BreadCrumb.cjs");
157
157
  const DotPagination_styles = require("./components/DotPagination/DotPagination.styles.cjs");
158
158
  const DotPagination = require("./components/DotPagination/DotPagination.cjs");
@@ -164,9 +164,9 @@ const Snackbar_styles = require("./components/Snackbar/Snackbar.styles.cjs");
164
164
  const Snackbar = require("./components/Snackbar/Snackbar.cjs");
165
165
  const SnackbarProvider_styles = require("./components/Snackbar/SnackbarProvider/SnackbarProvider.styles.cjs");
166
166
  const SnackbarProvider = require("./components/Snackbar/SnackbarProvider/SnackbarProvider.cjs");
167
- const SnackbarContentWrapper_styles = require("./components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.styles.cjs");
168
- const SnackbarContentWrapper = require("./components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.cjs");
169
- const bulkActionsClasses = require("./components/BulkActions/bulkActionsClasses.cjs");
167
+ const SnackbarContent_styles = require("./components/Snackbar/SnackbarContent/SnackbarContent.styles.cjs");
168
+ const SnackbarContent = require("./components/Snackbar/SnackbarContent/SnackbarContent.cjs");
169
+ const BulkActions_styles = require("./components/BulkActions/BulkActions.styles.cjs");
170
170
  const BulkActions = require("./components/BulkActions/BulkActions.cjs");
171
171
  const globalActionsClasses = require("./components/GlobalActions/globalActionsClasses.cjs");
172
172
  const GlobalActions = require("./components/GlobalActions/GlobalActions.cjs");
@@ -205,11 +205,11 @@ const fallbacks = require("./components/Table/utils/fallbacks.cjs");
205
205
  const utils$1 = require("./components/Table/utils/utils.cjs");
206
206
  const loginClasses = require("./components/Login/loginClasses.cjs");
207
207
  const Login = require("./components/Login/Login.cjs");
208
- const controlClasses = require("./components/Controls/controlClasses.cjs");
208
+ const Controls_styles = require("./components/Controls/Controls.styles.cjs");
209
209
  const Controls = require("./components/Controls/Controls.cjs");
210
- const leftControlClasses = require("./components/Controls/LeftControl/leftControlClasses.cjs");
210
+ const LeftControl_styles = require("./components/Controls/LeftControl/LeftControl.styles.cjs");
211
211
  const LeftControl = require("./components/Controls/LeftControl/LeftControl.cjs");
212
- const rightControlClasses = require("./components/Controls/RightControl/rightControlClasses.cjs");
212
+ const RightControl_styles = require("./components/Controls/RightControl/RightControl.styles.cjs");
213
213
  const RightControl = require("./components/Controls/RightControl/RightControl.cjs");
214
214
  const calendarClasses = require("./components/Calendar/calendarClasses.cjs");
215
215
  const Calendar = require("./components/Calendar/Calendar.cjs");
@@ -355,7 +355,7 @@ exports.suggestionsClasses = suggestionsClasses.default;
355
355
  exports.HvSuggestions = Suggestions.HvSuggestions;
356
356
  exports.baseInputClasses = BaseInput_styles.staticClasses;
357
357
  exports.HvBaseInput = BaseInput.HvBaseInput;
358
- exports.baseDropdownClasses = baseDropdownClasses.default;
358
+ exports.baseDropdownClasses = BaseDropdown_styles.staticClasses;
359
359
  exports.HvBaseDropdown = BaseDropdown.HvBaseDropdown;
360
360
  exports.actionBarClasses = ActionBar_styles.staticClasses;
361
361
  exports.HvActionBar = ActionBar.HvActionBar;
@@ -378,7 +378,7 @@ exports.cardContentClasses = Content_styles.staticClasses;
378
378
  exports.HvCardContent = Content.HvCardContent;
379
379
  exports.cardMediaClasses = Media_styles.staticClasses;
380
380
  exports.HvCardMedia = Media.HvCardMedia;
381
- exports.containerClasses = containerClasses.default;
381
+ exports.containerClasses = Container_styles.staticClasses;
382
382
  exports.HvContainer = Container.HvContainer;
383
383
  exports.dialogTitleClasses = Title_styles.staticClasses;
384
384
  exports.HvDialogTitle = Title.HvDialogTitle;
@@ -390,7 +390,7 @@ exports.dialogClasses = Dialog_styles.staticClasses;
390
390
  exports.HvDialog = Dialog.HvDialog;
391
391
  exports.drawerClasses = Drawer_styles.staticClasses;
392
392
  exports.HvDrawer = Drawer.HvDrawer;
393
- exports.emptyStateClasses = emptyStateClasses.default;
393
+ exports.emptyStateClasses = EmptyState_styles.staticClasses;
394
394
  exports.HvEmptyState = EmptyState.HvEmptyState;
395
395
  exports.footerClasses = footerClasses.default;
396
396
  exports.HvFooter = Footer.HvFooter;
@@ -433,38 +433,38 @@ exports.tooltipClasses = tooltipClasses.default;
433
433
  exports.HvTooltip = Tooltip.HvTooltip;
434
434
  exports.overflowTooltipClasses = overflowTooltipClasses.default;
435
435
  exports.HvOverflowTooltip = OverflowTooltip.HvOverflowTooltip;
436
- exports.baseCheckBoxClasses = baseCheckBoxClasses.default;
436
+ exports.baseCheckBoxClasses = BaseCheckBox_styles.staticClasses;
437
437
  exports.HvBaseCheckBox = BaseCheckBox.HvBaseCheckBox;
438
- exports.baseRadioClasses = baseRadioClasses.default;
438
+ exports.baseRadioClasses = BaseRadio_styles.staticClasses;
439
439
  exports.HvBaseRadio = BaseRadio.HvBaseRadio;
440
440
  exports.getSelectorIcons = BaseRadio.getSelectorIcons;
441
441
  exports.appSwitcherClasses = AppSwitcher_styles.staticClasses;
442
442
  exports.HvAppSwitcher = AppSwitcher.HvAppSwitcher;
443
443
  exports.appSwitcherActionClasses = Action_styles.staticClasses;
444
444
  exports.HvAppSwitcherAction = Action.HvAppSwitcherAction;
445
- exports.baseSwitchClasses = baseSwitchClasses.default;
445
+ exports.baseSwitchClasses = BaseSwitch_styles.staticClasses;
446
446
  exports.HvBaseSwitch = BaseSwitch.HvBaseSwitch;
447
- exports.checkBoxClasses = checkBoxClasses.default;
447
+ exports.checkBoxClasses = CheckBox_styles.staticClasses;
448
448
  exports.HvCheckBox = CheckBox.HvCheckBox;
449
449
  exports.inputClasses = Input_styles.staticClasses;
450
450
  exports.HvInput = Input.HvInput;
451
- exports.switchClasses = switchClasses.default;
451
+ exports.switchClasses = Switch_styles.staticClasses;
452
452
  exports.HvSwitch = Switch.HvSwitch;
453
- exports.radioClasses = radioClasses.default;
453
+ exports.radioClasses = Radio_styles.staticClasses;
454
454
  exports.HvRadio = Radio.HvRadio;
455
455
  exports.textAreaClasses = textAreaClasses.default;
456
456
  exports.HvTextArea = TextArea.HvTextArea;
457
457
  exports.tagsInputClasses = tagsInputClasses.default;
458
458
  exports.HvTagsInput = TagsInput.HvTagsInput;
459
- exports.checkBoxGroupClasses = checkBoxGroupClasses.default;
459
+ exports.checkBoxGroupClasses = CheckBoxGroup_styles.staticClasses;
460
460
  exports.HvCheckBoxGroup = CheckBoxGroup.HvCheckBoxGroup;
461
461
  exports.listClasses = listClasses.default;
462
462
  exports.HvList = List.HvList;
463
- exports.radioGroupClasses = radioGroupClasses.default;
463
+ exports.radioGroupClasses = RadioGroup_styles.staticClasses;
464
464
  exports.HvRadioGroup = RadioGroup.HvRadioGroup;
465
- exports.fileUploaderPreviewClasses = previewClasses.default;
465
+ exports.fileUploaderPreviewClasses = Preview_styles.staticClasses;
466
466
  exports.HvFileUploaderPreview = Preview.HvFileUploaderPreview;
467
- exports.fileClasses = fileClasses.default;
467
+ exports.fileClasses = File_styles.staticClasses;
468
468
  exports.HvFile = File.HvFile;
469
469
  exports.HvFileUploader = FileUploader.HvFileUploader;
470
470
  exports.dropDownMenuClasses = DropDownMenu_styles.staticClasses;
@@ -473,7 +473,7 @@ exports.paginationClasses = Pagination_styles.staticClasses;
473
473
  exports.HvPagination = Pagination.HvPagination;
474
474
  exports.actionsGenericClasses = ActionsGeneric_styles.staticClasses;
475
475
  exports.HvActionsGeneric = ActionsGeneric.HvActionsGeneric;
476
- exports.breadCrumbClasses = breadCrumbClasses.default;
476
+ exports.breadCrumbClasses = BreadCrumb_styles.staticClasses;
477
477
  exports.HvBreadCrumb = BreadCrumb.HvBreadCrumb;
478
478
  exports.dotPaginationClasses = DotPagination_styles.staticClasses;
479
479
  exports.HvDotPagination = DotPagination.HvDotPagination;
@@ -486,9 +486,9 @@ exports.HvSnackbar = Snackbar.HvSnackbar;
486
486
  exports.snackbarProviderClasses = SnackbarProvider_styles.staticClasses;
487
487
  exports.HvSnackbarProvider = SnackbarProvider.HvSnackbarProvider;
488
488
  exports.useHvSnackbar = SnackbarProvider.useHvSnackbar;
489
- exports.snackbarContentClasses = SnackbarContentWrapper_styles.staticClasses;
490
- exports.HvSnackbarContent = SnackbarContentWrapper.HvSnackbarContent;
491
- exports.bulkActionsClasses = bulkActionsClasses.default;
489
+ exports.snackbarContentClasses = SnackbarContent_styles.staticClasses;
490
+ exports.HvSnackbarContent = SnackbarContent.HvSnackbarContent;
491
+ exports.bulkActionsClasses = BulkActions_styles.staticClasses;
492
492
  exports.HvBulkActions = BulkActions.HvBulkActions;
493
493
  exports.globalActionsClasses = globalActionsClasses.default;
494
494
  exports.HvGlobalActions = GlobalActions.HvGlobalActions;
@@ -561,11 +561,11 @@ exports.hvStringFallback = fallbacks.hvStringFallback;
561
561
  exports.getBorderStyles = utils$1.getBorderStyles;
562
562
  exports.loginClasses = loginClasses.default;
563
563
  exports.HvLogin = Login.HvLogin;
564
- exports.controlsClasses = controlClasses.default;
564
+ exports.controlsClasses = Controls_styles.staticClasses;
565
565
  exports.HvControls = Controls.HvControls;
566
- exports.leftControlClasses = leftControlClasses.default;
566
+ exports.leftControlClasses = LeftControl_styles.staticClasses;
567
567
  exports.HvLeftControl = LeftControl.HvLeftControl;
568
- exports.rightControlClasses = rightControlClasses.default;
568
+ exports.rightControlClasses = RightControl_styles.staticClasses;
569
569
  exports.HvRightControl = RightControl.HvRightControl;
570
570
  exports.calendarClasses = calendarClasses.default;
571
571
  exports.HvCalendar = Calendar.HvCalendar;
@@ -1 +1 @@
1
- {"version":3,"file":"Accordion.js","sources":["../../../../src/components/Accordion/Accordion.tsx"],"sourcesContent":["import React, {\n SyntheticEvent,\n useCallback,\n useMemo,\n HTMLAttributes,\n} from \"react\";\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\n\nimport { DropDownXS, DropUpXS } from \"@hitachivantara/uikit-react-icons\";\n\nimport { useControlled } from \"@core/hooks/useControlled\";\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { setId } from \"@core/utils/setId\";\nimport {\n HvTypographyVariants,\n HvTypography,\n} from \"@core/components/Typography\";\nimport { ExtractNames } from \"@core/utils/classes\";\n\nimport { staticClasses, useClasses } from \"./Accordion.styles\";\n\nexport { staticClasses as accordionClasses };\n\nexport type HvAccordionClasses = ExtractNames<typeof useClasses>;\nexport interface HvAccordionProps\n extends HvBaseProps<HTMLDivElement, \"onChange\"> {\n /**\n * Id to be applied to the root node of the accordion.\n */\n id?: string;\n /**\n * Class names to be applied to the accordion.\n */\n className?: string;\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes?: HvAccordionClasses;\n /**\n * The accordion label button.\n */\n label?: string;\n /**\n * The function that will be executed whenever the accordion toggles it will receive the state of the accordion\n */\n onChange?: (event: React.SyntheticEvent, value: boolean) => void;\n /**\n * Whether the accordion is open or not, if this property is defined the accordion must be fully controlled.\n */\n expanded?: boolean;\n /**\n * When uncontrolled, defines the initial expanded state.\n */\n defaultExpanded?: boolean;\n /**\n * An object containing props to be passed onto container holding the accordion children.\n */\n containerProps?: HTMLAttributes<HTMLDivElement>;\n /**\n * Heading Level to apply to accordion button if ´undefined´ the button won't have a header wrapper.\n */\n headingLevel?: 1 | 2 | 3 | 4 | 5 | 6;\n /**\n * Is the accordion disabled.\n */\n disabled?: boolean;\n /**\n * Typography variant for the label.\n */\n labelVariant?: HvTypographyVariants;\n /**\n * Content to be rendered\n */\n children: React.ReactNode;\n}\n\n/**\n * A accordion is a design element that expands in place to expose hidden information.\n */\nexport const HvAccordion = (props: HvAccordionProps) => {\n const {\n id,\n className,\n classes: classesProp,\n disabled = false,\n label,\n onChange,\n children,\n expanded,\n headingLevel,\n defaultExpanded = false,\n containerProps,\n labelVariant = \"label\",\n ...others\n } = useDefaultProps(\"HvAccordion\", props);\n\n const { classes, cx } = useClasses(classesProp);\n\n const [isOpen, setIsOpen] = useControlled(expanded, Boolean(defaultExpanded));\n\n const handleAction = useCallback(\n (event: SyntheticEvent) => {\n if (!disabled) {\n onChange?.(event, isOpen);\n setIsOpen(!isOpen);\n return true;\n }\n return false;\n },\n [disabled, onChange, isOpen, setIsOpen]\n );\n\n const handleClick = useCallback(\n (event: SyntheticEvent) => {\n handleAction(event);\n event.preventDefault();\n event.stopPropagation();\n },\n [handleAction]\n );\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n let isEventHandled = false;\n const { key } = event;\n\n if (\n event.altKey ||\n event.ctrlKey ||\n event.metaKey ||\n event.currentTarget !== event.target\n ) {\n return;\n }\n switch (key) {\n case \"Enter\":\n case \" \":\n isEventHandled = handleAction(event);\n break;\n default:\n return;\n }\n\n if (isEventHandled) {\n event.preventDefault();\n event.stopPropagation();\n }\n },\n [handleAction]\n );\n\n const accordionHeaderId = setId(id, \"button\");\n const accordionContainer = setId(id, \"container\");\n const accordionHeader = useMemo(() => {\n const color = (disabled && [\"secondary_60\"]) || undefined;\n\n const accordionButton = (\n <HvTypography\n id={accordionHeaderId}\n component=\"div\"\n role=\"button\"\n className={cx(classes.label, { [classes.disabled]: disabled })}\n disabled={disabled}\n tabIndex={0}\n onKeyDown={handleKeyDown}\n onClick={handleClick}\n variant={labelVariant}\n aria-expanded={isOpen}\n aria-disabled={disabled}\n >\n {isOpen ? <DropUpXS color={color} /> : <DropDownXS color={color} />}\n {label}\n </HvTypography>\n );\n const result =\n headingLevel === undefined ? (\n accordionButton\n ) : (\n <HvTypography component={`h${headingLevel}`} variant={labelVariant}>\n {accordionButton}\n </HvTypography>\n );\n return result;\n }, [\n cx,\n classes,\n handleClick,\n handleKeyDown,\n label,\n accordionHeaderId,\n disabled,\n headingLevel,\n isOpen,\n labelVariant,\n ]);\n\n return (\n <div id={id} className={cx(classes.root, className)} {...others}>\n {accordionHeader}\n <div\n id={accordionContainer}\n role=\"region\"\n aria-labelledby={accordionHeaderId}\n className={cx(classes.container, { [classes.hidden]: !isOpen })}\n hidden={!isOpen}\n {...containerProps}\n >\n {children}\n </div>\n </div>\n );\n};\n"],"names":["HvAccordion","props","id","className","classes","classesProp","disabled","label","onChange","children","expanded","headingLevel","defaultExpanded","containerProps","labelVariant","others","useDefaultProps","cx","useClasses","isOpen","setIsOpen","useControlled","Boolean","handleAction","useCallback","event","handleClick","preventDefault","stopPropagation","handleKeyDown","isEventHandled","key","altKey","ctrlKey","metaKey","currentTarget","target","accordionHeaderId","setId","accordionContainer","accordionHeader","useMemo","color","undefined","accordionButton","HvTypography","component","role","tabIndex","onKeyDown","onClick","variant","_jsx","DropUpXS","DropDownXS","result","root","container","hidden"],"mappings":"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"}
1
+ {"version":3,"file":"Accordion.js","sources":["../../../../src/components/Accordion/Accordion.tsx"],"sourcesContent":["import React, {\n SyntheticEvent,\n useCallback,\n useMemo,\n HTMLAttributes,\n} from \"react\";\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\n\nimport { DropDownXS, DropUpXS } from \"@hitachivantara/uikit-react-icons\";\n\nimport { useControlled } from \"@core/hooks/useControlled\";\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { setId } from \"@core/utils/setId\";\nimport {\n HvTypographyVariants,\n HvTypography,\n} from \"@core/components/Typography\";\nimport { ExtractNames } from \"@core/utils/classes\";\n\nimport { staticClasses, useClasses } from \"./Accordion.styles\";\n\nexport { staticClasses as accordionClasses };\n\nexport type HvAccordionClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvAccordionProps\n extends HvBaseProps<HTMLDivElement, \"onChange\"> {\n /**\n * Id to be applied to the root node of the accordion.\n */\n id?: string;\n /**\n * Class names to be applied to the accordion.\n */\n className?: string;\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes?: HvAccordionClasses;\n /**\n * The accordion label button.\n */\n label?: string;\n /**\n * The function that will be executed whenever the accordion toggles it will receive the state of the accordion\n */\n onChange?: (event: React.SyntheticEvent, value: boolean) => void;\n /**\n * Whether the accordion is open or not, if this property is defined the accordion must be fully controlled.\n */\n expanded?: boolean;\n /**\n * When uncontrolled, defines the initial expanded state.\n */\n defaultExpanded?: boolean;\n /**\n * An object containing props to be passed onto container holding the accordion children.\n */\n containerProps?: HTMLAttributes<HTMLDivElement>;\n /**\n * Heading Level to apply to accordion button if ´undefined´ the button won't have a header wrapper.\n */\n headingLevel?: 1 | 2 | 3 | 4 | 5 | 6;\n /**\n * Is the accordion disabled.\n */\n disabled?: boolean;\n /**\n * Typography variant for the label.\n */\n labelVariant?: HvTypographyVariants;\n /**\n * Content to be rendered\n */\n children: React.ReactNode;\n}\n\n/**\n * A accordion is a design element that expands in place to expose hidden information.\n */\nexport const HvAccordion = (props: HvAccordionProps) => {\n const {\n id,\n className,\n classes: classesProp,\n disabled = false,\n label,\n onChange,\n children,\n expanded,\n headingLevel,\n defaultExpanded = false,\n containerProps,\n labelVariant = \"label\",\n ...others\n } = useDefaultProps(\"HvAccordion\", props);\n\n const { classes, cx } = useClasses(classesProp);\n\n const [isOpen, setIsOpen] = useControlled(expanded, Boolean(defaultExpanded));\n\n const handleAction = useCallback(\n (event: SyntheticEvent) => {\n if (!disabled) {\n onChange?.(event, isOpen);\n setIsOpen(!isOpen);\n return true;\n }\n return false;\n },\n [disabled, onChange, isOpen, setIsOpen]\n );\n\n const handleClick = useCallback(\n (event: SyntheticEvent) => {\n handleAction(event);\n event.preventDefault();\n event.stopPropagation();\n },\n [handleAction]\n );\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n let isEventHandled = false;\n const { key } = event;\n\n if (\n event.altKey ||\n event.ctrlKey ||\n event.metaKey ||\n event.currentTarget !== event.target\n ) {\n return;\n }\n switch (key) {\n case \"Enter\":\n case \" \":\n isEventHandled = handleAction(event);\n break;\n default:\n return;\n }\n\n if (isEventHandled) {\n event.preventDefault();\n event.stopPropagation();\n }\n },\n [handleAction]\n );\n\n const accordionHeaderId = setId(id, \"button\");\n const accordionContainer = setId(id, \"container\");\n const accordionHeader = useMemo(() => {\n const color = (disabled && [\"secondary_60\"]) || undefined;\n\n const accordionButton = (\n <HvTypography\n id={accordionHeaderId}\n component=\"div\"\n role=\"button\"\n className={cx(classes.label, { [classes.disabled]: disabled })}\n disabled={disabled}\n tabIndex={0}\n onKeyDown={handleKeyDown}\n onClick={handleClick}\n variant={labelVariant}\n aria-expanded={isOpen}\n aria-disabled={disabled}\n >\n {isOpen ? <DropUpXS color={color} /> : <DropDownXS color={color} />}\n {label}\n </HvTypography>\n );\n const result =\n headingLevel === undefined ? (\n accordionButton\n ) : (\n <HvTypography component={`h${headingLevel}`} variant={labelVariant}>\n {accordionButton}\n </HvTypography>\n );\n return result;\n }, [\n cx,\n classes,\n handleClick,\n handleKeyDown,\n label,\n accordionHeaderId,\n disabled,\n headingLevel,\n isOpen,\n labelVariant,\n ]);\n\n return (\n <div id={id} className={cx(classes.root, className)} {...others}>\n {accordionHeader}\n <div\n id={accordionContainer}\n role=\"region\"\n aria-labelledby={accordionHeaderId}\n className={cx(classes.container, { [classes.hidden]: !isOpen })}\n hidden={!isOpen}\n {...containerProps}\n >\n {children}\n </div>\n </div>\n );\n};\n"],"names":["HvAccordion","props","id","className","classes","classesProp","disabled","label","onChange","children","expanded","headingLevel","defaultExpanded","containerProps","labelVariant","others","useDefaultProps","cx","useClasses","isOpen","setIsOpen","useControlled","Boolean","handleAction","useCallback","event","handleClick","preventDefault","stopPropagation","handleKeyDown","isEventHandled","key","altKey","ctrlKey","metaKey","currentTarget","target","accordionHeaderId","setId","accordionContainer","accordionHeader","useMemo","color","undefined","accordionButton","HvTypography","component","role","tabIndex","onKeyDown","onClick","variant","_jsx","DropUpXS","DropDownXS","result","root","container","hidden"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Avatar.js","sources":["../../../../src/components/Avatar/Avatar.tsx"],"sourcesContent":["import { CSSProperties, HTMLAttributes } from \"react\";\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\n\nimport { User } from \"@hitachivantara/uikit-react-icons\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\nimport MuiAvatar, { AvatarProps as MuiAvatarProps } from \"@mui/material/Avatar\";\n\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { useImageLoaded } from \"@core/hooks/useImageLoaded\";\nimport { decreaseSize } from \"@core/utils/sizes\";\nimport { ExtractNames } from \"@core/utils/classes\";\n\nimport { staticClasses, useClasses } from \"./Avatar.styles\";\n\nexport { staticClasses as avatarClasses };\n\nexport type HvAvatarClasses = ExtractNames<typeof useClasses>;\n\nexport type HvAvatarVariant = \"circular\" | \"square\";\n\nexport type HvAvatarSize = \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\";\n\nexport interface HvAvatarProps extends HvBaseProps {\n /** Inline styles to be applied to the root element. */\n style?: CSSProperties;\n /** The component used for the root node. Either a string to use a DOM element or a component. */\n component?: React.ElementType;\n /** Sets one of the standard sizes of the icons */\n size?: HvAvatarSize;\n /**\n * A string representing the foreground color of the avatar's\n * letters or the generic User icon fallback.\n * You can use either an HEX or color name from the palette.\n */\n color?: string;\n /** A String representing the background color of the avatar. You can use either an HEX or color name from the palette. */\n backgroundColor?: string;\n /** The `src` attribute for the `img` element. */\n src?: string;\n /** The `srcSet` attribute for the `img` element. Use this attribute for responsive image display. */\n srcSet?: string;\n /** The `sizes` attribute for the `img` element. */\n sizes?: string;\n /** Used in combination with `src` or `srcSet` to provide an alt attribute for the rendered `img` element. */\n alt?: string;\n /**\n * Attributes applied to the `img` element if the component is used to display an image.\n * It can be used to listen for the loading error event.\n */\n imgProps?: HTMLAttributes<HTMLImageElement>;\n /** A string representing the type of avatar to display, circular or square. */\n variant?: HvAvatarVariant;\n /** A string representing the color of the avatar border that represents its status. */\n status?: string;\n /** A string representing the color of the avatar badge. */\n badge?: string;\n /** Attributes applied to the avatar element. */\n avatarProps?: MuiAvatarProps;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvAvatarClasses;\n}\n\n/**\n * Get a color from the theme palette\n * @param {object} theme The theme object\n * @param {string} color A color to use if none is found on the theme palette\n * @param {string} defaultColor The fallback color to use\n */\nconst getColor = (color: string, defaultColor: string): string =>\n theme.colors[color] || color || defaultColor;\n\n/**\n * Avatars can be used to represent a user or a brand.\n * They can show an image, an icon or the initial letters of a name, for example.\n */\nexport const HvAvatar = (props: HvAvatarProps) => {\n const {\n className,\n style,\n classes: classesProp,\n children: childrenProp,\n component = \"div\",\n size = \"sm\",\n backgroundColor = \"secondary\",\n color = \"atmo1\",\n src,\n srcSet,\n sizes,\n alt,\n imgProps,\n status,\n badge,\n variant = \"circular\",\n avatarProps,\n ...others\n } = useDefaultProps(\"HvAvatar\", props);\n const { classes, cx } = useClasses(classesProp);\n\n let children: React.ReactNode;\n\n // Use a hook instead of onError on the img element to support server-side rendering.\n const imageLoaded = useImageLoaded(src, srcSet);\n const hasImg = src || srcSet;\n const hasImgNotFailing = hasImg && imageLoaded !== \"error\";\n\n if (hasImgNotFailing) {\n children = (\n <img\n alt={alt}\n src={src}\n srcSet={srcSet}\n sizes={sizes}\n className={classes.img}\n {...imgProps}\n />\n );\n } else if (childrenProp != null) {\n children = childrenProp;\n } else if (hasImg && alt) {\n [children] = alt;\n } else {\n children = (\n <User\n color={color}\n iconSize={decreaseSize(size)}\n className={classes.fallback}\n />\n );\n }\n\n const inlineStyle: CSSProperties = {\n ...style,\n };\n\n if (component != null && typeof component !== \"string\") {\n // override border-radius with custom components\n inlineStyle.borderRadius = \"50%\";\n }\n\n if (!hasImgNotFailing) {\n inlineStyle.backgroundColor = getColor(\n backgroundColor,\n theme.colors.secondary\n );\n inlineStyle.color = getColor(color, theme.colors.atmo1);\n }\n\n const statusInlineStyle: CSSProperties = {};\n if (status) {\n // set the status border. we're using the boxShadow property to set the border\n // to be inside the container and not on its edge.\n const statusColor = getColor(status, theme.colors.positive);\n statusInlineStyle.boxShadow = `inset 0px 0px 0px 2px ${statusColor}`;\n }\n\n const badgeColor = getColor(badge || \"\", theme.colors.positive);\n\n return (\n <div className={classes.container} {...others}>\n <div\n className={cx(classes.status, classes[variant], classes[size])}\n style={statusInlineStyle}\n >\n {badge && (\n <div\n className={classes.badge}\n style={{ backgroundColor: badgeColor }}\n />\n )}\n <MuiAvatar\n component={component}\n className={cx(classes.root, classes.avatar, classes[size], className)}\n style={inlineStyle}\n variant={variant}\n size={size}\n {...avatarProps}\n >\n {children}\n </MuiAvatar>\n </div>\n </div>\n );\n};\n"],"names":["getColor","color","defaultColor","theme","colors","HvAvatar","props","className","style","classes","classesProp","children","childrenProp","component","size","backgroundColor","src","srcSet","sizes","alt","imgProps","status","badge","variant","avatarProps","others","useDefaultProps","cx","useClasses","imageLoaded","useImageLoaded","hasImg","hasImgNotFailing","img","User","iconSize","decreaseSize","fallback","inlineStyle","borderRadius","secondary","atmo1","statusInlineStyle","statusColor","positive","boxShadow","badgeColor","container","_jsx","MuiAvatar","root","avatar"],"mappings":";;;;;;;;;AAqEA,MAAMA,WAAWA,CAACC,OAAeC,iBAC/BC,MAAMC,OAAOH,KAAK,KAAKA,SAASC;AAMrBG,MAAAA,WAAWA,CAACC,UAAyB;AAC1C,QAAA;AAAA,IACJC;AAAAA,IACAC;AAAAA,IACAC,SAASC;AAAAA,IACTC,UAAUC;AAAAA,IACVC,YAAY;AAAA,IACZC,OAAO;AAAA,IACPC,kBAAkB;AAAA,IAClBd,QAAQ;AAAA,IACRe;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC,UAAU;AAAA,IACVC;AAAAA,IACA,GAAGC;AAAAA,EAAAA,IACDC,gBAAgB,YAAYpB,KAAK;AAC/B,QAAA;AAAA,IAAEG;AAAAA,IAASkB;AAAAA,EAAAA,IAAOC,WAAWlB,WAAW;AAE1CC,MAAAA;AAGEkB,QAAAA,cAAcC,eAAed,KAAKC,MAAM;AAC9C,QAAMc,SAASf,OAAOC;AAChBe,QAAAA,mBAAmBD,UAAUF,gBAAgB;AAEnD,MAAIG,kBAAkB;AACpBrB,mCACE,OAAA;AAAA,MACEQ;AAAAA,MACAH;AAAAA,MACAC;AAAAA,MACAC;AAAAA,MACAX,WAAWE,QAAQwB;AAAAA,MAAI,GACnBb;AAAAA,IAAAA,CACL;AAAA,EAAA,WAEMR,gBAAgB,MAAM;AACpBA,eAAAA;AAAAA,EAAAA,WACFmB,UAAUZ,KAAK;AACxB,KAACR,QAAQ,IAAIQ;AAAAA,EAAAA,OACR;AACLR,mCACGuB,MAAI;AAAA,MACHjC;AAAAA,MACAkC,UAAUC,aAAatB,IAAI;AAAA,MAC3BP,WAAWE,QAAQ4B;AAAAA,IAAAA,CACpB;AAAA,EAEL;AAEA,QAAMC,cAA6B;AAAA,IACjC,GAAG9B;AAAAA,EAAAA;AAGL,MAAIK,aAAa,QAAQ,OAAOA,cAAc,UAAU;AAEtDyB,gBAAYC,eAAe;AAAA,EAC7B;AAEA,MAAI,CAACP,kBAAkB;AACrBM,gBAAYvB,kBAAkBf,SAC5Be,iBACAZ,MAAMC,OAAOoC,SACf;AACAF,gBAAYrC,QAAQD,SAASC,OAAOE,MAAMC,OAAOqC,KAAK;AAAA,EACxD;AAEA,QAAMC,oBAAmC,CAAA;AACzC,MAAIrB,QAAQ;AAGV,UAAMsB,cAAc3C,SAASqB,QAAQlB,MAAMC,OAAOwC,QAAQ;AAC1DF,sBAAkBG,YAAa,yBAAwBF;AAAAA,EACzD;AAEA,QAAMG,aAAa9C,SAASsB,SAAS,IAAInB,MAAMC,OAAOwC,QAAQ;AAE9D,6BACE,OAAA;AAAA,IAAKrC,WAAWE,QAAQsC;AAAAA,IAAU,GAAKtB;AAAAA,IAAMd,+BAC3C,OAAA;AAAA,MACEJ,WAAWoB,GAAGlB,QAAQY,QAAQZ,QAAQc,OAAO,GAAGd,QAAQK,IAAI,CAAC;AAAA,MAC7DN,OAAOkC;AAAAA,MAAkB/B,UAAA,CAExBW,SACC0B,oBAAA,OAAA;AAAA,QACEzC,WAAWE,QAAQa;AAAAA,QACnBd,OAAO;AAAA,UAAEO,iBAAiB+B;AAAAA,QAAW;AAAA,MAAA,CACtC,GAEHE,oBAACC,WAAS;AAAA,QACRpC;AAAAA,QACAN,WAAWoB,GAAGlB,QAAQyC,MAAMzC,QAAQ0C,QAAQ1C,QAAQK,IAAI,GAAGP,SAAS;AAAA,QACpEC,OAAO8B;AAAAA,QACPf;AAAAA,QACAT;AAAAA,QAAW,GACPU;AAAAA,QAAWb;AAAAA,MAAAA,CAGN,CAAC;AAAA,IAAA,CACT;AAAA,EAAA,CACF;AAET;"}
1
+ {"version":3,"file":"Avatar.js","sources":["../../../../src/components/Avatar/Avatar.tsx"],"sourcesContent":["import { CSSProperties, HTMLAttributes } from \"react\";\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\n\nimport { User } from \"@hitachivantara/uikit-react-icons\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\nimport MuiAvatar, { AvatarProps as MuiAvatarProps } from \"@mui/material/Avatar\";\n\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { useImageLoaded } from \"@core/hooks/useImageLoaded\";\nimport { decreaseSize } from \"@core/utils/sizes\";\nimport { ExtractNames } from \"@core/utils/classes\";\n\nimport { staticClasses, useClasses } from \"./Avatar.styles\";\n\nexport { staticClasses as avatarClasses };\n\nexport type HvAvatarClasses = ExtractNames<typeof useClasses>;\n\nexport type HvAvatarVariant = \"circular\" | \"square\";\n\nexport type HvAvatarSize = \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\";\n\nexport interface HvAvatarProps extends HvBaseProps {\n /** Inline styles to be applied to the root element. */\n style?: CSSProperties;\n /** The component used for the root node. Either a string to use a DOM element or a component. */\n component?: React.ElementType;\n /** Sets one of the standard sizes of the icons */\n size?: HvAvatarSize;\n /**\n * A string representing the foreground color of the avatar's\n * letters or the generic User icon fallback.\n * You can use either an HEX or color name from the palette.\n */\n color?: string;\n /** A String representing the background color of the avatar. You can use either an HEX or color name from the palette. */\n backgroundColor?: string;\n /** The `src` attribute for the `img` element. */\n src?: string;\n /** The `srcSet` attribute for the `img` element. Use this attribute for responsive image display. */\n srcSet?: string;\n /** The `sizes` attribute for the `img` element. */\n sizes?: string;\n /** Used in combination with `src` or `srcSet` to provide an alt attribute for the rendered `img` element. */\n alt?: string;\n /**\n * Attributes applied to the `img` element if the component is used to display an image.\n * It can be used to listen for the loading error event.\n */\n imgProps?: HTMLAttributes<HTMLImageElement>;\n /** A string representing the type of avatar to display, circular or square. */\n variant?: HvAvatarVariant;\n /** A string representing the color of the avatar border that represents its status. */\n status?: string;\n /** A string representing the color of the avatar badge. */\n badge?: string;\n /** Attributes applied to the avatar element. */\n avatarProps?: MuiAvatarProps;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvAvatarClasses;\n}\n\n/**\n * Get a color from the theme palette\n * @param {object} theme The theme object\n * @param {string} color A color to use if none is found on the theme palette\n * @param {string} defaultColor The fallback color to use\n */\nconst getColor = (color: string, defaultColor: string): string =>\n theme.colors[color] || color || defaultColor;\n\n/**\n * Avatars can be used to represent a user or a brand.\n * They can show an image, an icon or the initial letters of a name, for example.\n */\nexport const HvAvatar = (props: HvAvatarProps) => {\n const {\n className,\n style,\n classes: classesProp,\n children: childrenProp,\n component = \"div\",\n size = \"sm\",\n backgroundColor = \"secondary\",\n color = \"atmo1\",\n src,\n srcSet,\n sizes,\n alt,\n imgProps,\n status,\n badge,\n variant = \"circular\",\n avatarProps,\n ...others\n } = useDefaultProps(\"HvAvatar\", props);\n const { classes, cx } = useClasses(classesProp);\n\n let children: React.ReactNode;\n\n // Use a hook instead of onError on the img element to support server-side rendering.\n const imageLoaded = useImageLoaded(src, srcSet);\n const hasImg = src || srcSet;\n const hasImgNotFailing = hasImg && imageLoaded !== \"error\";\n\n if (hasImgNotFailing) {\n children = (\n <img\n alt={alt}\n src={src}\n srcSet={srcSet}\n sizes={sizes}\n className={classes.img}\n {...imgProps}\n />\n );\n } else if (childrenProp != null) {\n children = childrenProp;\n } else if (hasImg && alt) {\n [children] = alt;\n } else {\n children = (\n <User\n color={color}\n iconSize={decreaseSize(size)}\n className={classes.fallback}\n />\n );\n }\n\n const inlineStyle: CSSProperties = {\n ...style,\n };\n\n if (component != null && typeof component !== \"string\") {\n // override border-radius with custom components\n inlineStyle.borderRadius = \"50%\";\n }\n\n if (!hasImgNotFailing) {\n inlineStyle.backgroundColor = getColor(\n backgroundColor,\n theme.colors.secondary\n );\n inlineStyle.color = getColor(color, theme.colors.atmo1);\n }\n\n const statusInlineStyle: CSSProperties = {};\n if (status) {\n // set the status border. we're using the boxShadow property to set the border\n // to be inside the container and not on its edge.\n const statusColor = getColor(status, theme.colors.positive);\n statusInlineStyle.boxShadow = `inset 0px 0px 0px 2px ${statusColor}`;\n }\n\n const badgeColor = getColor(badge || \"\", theme.colors.positive);\n\n return (\n <div className={classes.container} {...others}>\n <div\n className={cx(classes.status, classes[variant], classes[size])}\n style={statusInlineStyle}\n >\n {badge && (\n <div\n className={classes.badge}\n style={{ backgroundColor: badgeColor }}\n />\n )}\n <MuiAvatar\n component={component}\n // Consider not using the root and className classes in this component\n className={cx(classes.root, classes.avatar, classes[size], className)}\n style={inlineStyle}\n variant={variant}\n size={size}\n {...avatarProps}\n >\n {children}\n </MuiAvatar>\n </div>\n </div>\n );\n};\n"],"names":["getColor","color","defaultColor","theme","colors","HvAvatar","props","className","style","classes","classesProp","children","childrenProp","component","size","backgroundColor","src","srcSet","sizes","alt","imgProps","status","badge","variant","avatarProps","others","useDefaultProps","cx","useClasses","imageLoaded","useImageLoaded","hasImg","hasImgNotFailing","img","User","iconSize","decreaseSize","fallback","inlineStyle","borderRadius","secondary","atmo1","statusInlineStyle","statusColor","positive","boxShadow","badgeColor","container","_jsx","MuiAvatar","root","avatar"],"mappings":";;;;;;;;;AAqEA,MAAMA,WAAWA,CAACC,OAAeC,iBAC/BC,MAAMC,OAAOH,KAAK,KAAKA,SAASC;AAMrBG,MAAAA,WAAWA,CAACC,UAAyB;AAC1C,QAAA;AAAA,IACJC;AAAAA,IACAC;AAAAA,IACAC,SAASC;AAAAA,IACTC,UAAUC;AAAAA,IACVC,YAAY;AAAA,IACZC,OAAO;AAAA,IACPC,kBAAkB;AAAA,IAClBd,QAAQ;AAAA,IACRe;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC,UAAU;AAAA,IACVC;AAAAA,IACA,GAAGC;AAAAA,EAAAA,IACDC,gBAAgB,YAAYpB,KAAK;AAC/B,QAAA;AAAA,IAAEG;AAAAA,IAASkB;AAAAA,EAAAA,IAAOC,WAAWlB,WAAW;AAE1CC,MAAAA;AAGEkB,QAAAA,cAAcC,eAAed,KAAKC,MAAM;AAC9C,QAAMc,SAASf,OAAOC;AAChBe,QAAAA,mBAAmBD,UAAUF,gBAAgB;AAEnD,MAAIG,kBAAkB;AACpBrB,mCACE,OAAA;AAAA,MACEQ;AAAAA,MACAH;AAAAA,MACAC;AAAAA,MACAC;AAAAA,MACAX,WAAWE,QAAQwB;AAAAA,MAAI,GACnBb;AAAAA,IAAAA,CACL;AAAA,EAAA,WAEMR,gBAAgB,MAAM;AACpBA,eAAAA;AAAAA,EAAAA,WACFmB,UAAUZ,KAAK;AACxB,KAACR,QAAQ,IAAIQ;AAAAA,EAAAA,OACR;AACLR,mCACGuB,MAAI;AAAA,MACHjC;AAAAA,MACAkC,UAAUC,aAAatB,IAAI;AAAA,MAC3BP,WAAWE,QAAQ4B;AAAAA,IAAAA,CACpB;AAAA,EAEL;AAEA,QAAMC,cAA6B;AAAA,IACjC,GAAG9B;AAAAA,EAAAA;AAGL,MAAIK,aAAa,QAAQ,OAAOA,cAAc,UAAU;AAEtDyB,gBAAYC,eAAe;AAAA,EAC7B;AAEA,MAAI,CAACP,kBAAkB;AACrBM,gBAAYvB,kBAAkBf,SAC5Be,iBACAZ,MAAMC,OAAOoC,SACf;AACAF,gBAAYrC,QAAQD,SAASC,OAAOE,MAAMC,OAAOqC,KAAK;AAAA,EACxD;AAEA,QAAMC,oBAAmC,CAAA;AACzC,MAAIrB,QAAQ;AAGV,UAAMsB,cAAc3C,SAASqB,QAAQlB,MAAMC,OAAOwC,QAAQ;AAC1DF,sBAAkBG,YAAa,yBAAwBF;AAAAA,EACzD;AAEA,QAAMG,aAAa9C,SAASsB,SAAS,IAAInB,MAAMC,OAAOwC,QAAQ;AAE9D,6BACE,OAAA;AAAA,IAAKrC,WAAWE,QAAQsC;AAAAA,IAAU,GAAKtB;AAAAA,IAAMd,+BAC3C,OAAA;AAAA,MACEJ,WAAWoB,GAAGlB,QAAQY,QAAQZ,QAAQc,OAAO,GAAGd,QAAQK,IAAI,CAAC;AAAA,MAC7DN,OAAOkC;AAAAA,MAAkB/B,UAAA,CAExBW,SACC0B,oBAAA,OAAA;AAAA,QACEzC,WAAWE,QAAQa;AAAAA,QACnBd,OAAO;AAAA,UAAEO,iBAAiB+B;AAAAA,QAAW;AAAA,MAAA,CACtC,GAEHE,oBAACC,WAAS;AAAA,QACRpC;AAAAA,QAEAN,WAAWoB,GAAGlB,QAAQyC,MAAMzC,QAAQ0C,QAAQ1C,QAAQK,IAAI,GAAGP,SAAS;AAAA,QACpEC,OAAO8B;AAAAA,QACPf;AAAAA,QACAT;AAAAA,QAAW,GACPU;AAAAA,QAAWb;AAAAA,MAAAA,CAGN,CAAC;AAAA,IAAA,CACT;AAAA,EAAA,CACF;AAET;"}
@@ -1,9 +1,9 @@
1
+ import { useState, useCallback } from "react";
1
2
  import { Checkbox, CheckboxPartial, CheckboxCheck } from "@hitachivantara/uikit-react-icons";
2
3
  import { useDefaultProps } from "../../hooks/useDefaultProps.js";
3
- import { clsx } from "clsx";
4
- import { useState, useCallback } from "react";
5
- import { StyledCheckedBox } from "./BaseCheckBox.styles.js";
6
- import baseCheckBoxClasses from "./baseCheckBoxClasses.js";
4
+ import MuiCheckbox from "@mui/material/Checkbox";
5
+ import { useClasses } from "./BaseCheckBox.styles.js";
6
+ import { staticClasses } from "./BaseCheckBox.styles.js";
7
7
  import { jsx } from "@emotion/react/jsx-runtime";
8
8
  const getSelectorIcons = (options, classes) => {
9
9
  const {
@@ -15,22 +15,22 @@ const getSelectorIcons = (options, classes) => {
15
15
  return {
16
16
  checkbox: /* @__PURE__ */ jsx(Checkbox, {
17
17
  color,
18
- className: clsx(classes == null ? void 0 : classes.icon, baseCheckBoxClasses.icon)
18
+ className: classes.icon
19
19
  }),
20
20
  checkboxPartial: /* @__PURE__ */ jsx(CheckboxPartial, {
21
21
  color,
22
- className: clsx(classes == null ? void 0 : classes.icon, baseCheckBoxClasses.icon)
22
+ className: classes.icon
23
23
  }),
24
24
  checkboxChecked: /* @__PURE__ */ jsx(CheckboxCheck, {
25
25
  color: checkedColor,
26
- className: clsx(classes == null ? void 0 : classes.icon, baseCheckBoxClasses.icon)
26
+ className: classes.icon
27
27
  })
28
28
  };
29
29
  };
30
30
  const HvBaseCheckBox = (props) => {
31
31
  const {
32
32
  id,
33
- classes,
33
+ classes: classesProp,
34
34
  className,
35
35
  name,
36
36
  inputProps,
@@ -47,6 +47,10 @@ const HvBaseCheckBox = (props) => {
47
47
  semantic = false,
48
48
  ...others
49
49
  } = useDefaultProps("HvBaseCheckBox", props);
50
+ const {
51
+ classes,
52
+ cx
53
+ } = useClasses(classesProp);
50
54
  const [focusVisible, setFocusVisible] = useState(false);
51
55
  const icons = getSelectorIcons({
52
56
  disabled,
@@ -66,12 +70,14 @@ const HvBaseCheckBox = (props) => {
66
70
  setFocusVisible(true);
67
71
  onFocusVisible == null ? void 0 : onFocusVisible(event);
68
72
  }, [onFocusVisible]);
69
- return /* @__PURE__ */ jsx(StyledCheckedBox, {
73
+ return /* @__PURE__ */ jsx(MuiCheckbox, {
70
74
  id,
71
75
  name,
72
76
  value,
73
- className: clsx(className, baseCheckBoxClasses.root, classes == null ? void 0 : classes.root, disabled && clsx(baseCheckBoxClasses.disabled, classes == null ? void 0 : classes.disabled), focusVisible && clsx(baseCheckBoxClasses.focusVisible, classes == null ? void 0 : classes.focusVisible)),
74
- $focusVisible: focusVisible,
77
+ className: cx(classes.root, {
78
+ [classes.disabled]: disabled,
79
+ [classes.focusVisible]: focusVisible
80
+ }, className),
75
81
  icon: icons.checkbox,
76
82
  indeterminateIcon: icons.checkboxPartial,
77
83
  checkedIcon: icons.checkboxChecked,
@@ -91,6 +97,7 @@ const HvBaseCheckBox = (props) => {
91
97
  });
92
98
  };
93
99
  export {
94
- HvBaseCheckBox
100
+ HvBaseCheckBox,
101
+ staticClasses as baseCheckBoxClasses
95
102
  };
96
103
  //# sourceMappingURL=BaseCheckBox.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseCheckBox.js","sources":["../../../../src/components/BaseCheckBox/BaseCheckBox.tsx"],"sourcesContent":["import {\n CheckboxCheck as CheckboxCheckIcon,\n CheckboxPartial as CheckboxPartialIcon,\n Checkbox as CheckboxIcon,\n} from \"@hitachivantara/uikit-react-icons\";\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\n\nimport { CheckboxProps as MuiCheckboxProps } from \"@mui/material\";\n\nimport { clsx } from \"clsx\";\n\nimport React, { useCallback, useState } from \"react\";\n\nimport { HvBaseProps } from \"@core/types/generic\";\n\nimport { StyledCheckedBox } from \"./BaseCheckBox.styles\";\nimport baseCheckBoxClasses, {\n HvBaseCheckBoxClasses,\n} from \"./baseCheckBoxClasses\";\n\nexport interface HvBaseCheckBoxProps\n extends Omit<MuiCheckboxProps, \"onChange\" | \"classes\">,\n HvBaseProps<HTMLButtonElement, \"onChange\" | \"color\"> {\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 checkbox is neither unchecked nor indeterminate.\n *\n * The default value is \"on\".\n */\n value?: any;\n /**\n * Indicates that the input is disabled.\n */\n disabled?: boolean;\n /**\n * Indicates that the input is not editable.\n */\n readOnly?: boolean;\n /**\n * Indicates that user input is required.\n */\n required?: boolean;\n /**\n * If `true` the checkbox is selected, if set to `false` the checkbox is not selected.\n *\n * When defined the checkbox state becomes controlled.\n */\n checked?: boolean;\n /**\n * When uncontrolled, defines the initial checked state.\n */\n defaultChecked?: boolean;\n /**\n * If `true` the checkbox visually shows the indeterminate state.\n */\n indeterminate?: boolean;\n /**\n * The callback fired when the checkbox 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 * Callback fired when the component is blurred.\n */\n onBlur?: (event: React.FocusEvent<HTMLButtonElement>) => void;\n /**\n * A Jss Object used to override or extend the styles applied to the checkbox.\n */\n classes?: HvBaseCheckBoxClasses;\n}\n\nconst getSelectorIcons = (\n options: {\n disabled: boolean;\n semantic: boolean;\n },\n classes?: HvBaseCheckBoxClasses\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 // Default colors: [\"atmo1\",\"secondary\"]\n return {\n checkbox: (\n <CheckboxIcon\n color={color}\n className={clsx(classes?.icon, baseCheckBoxClasses.icon)}\n />\n ),\n checkboxPartial: (\n <CheckboxPartialIcon\n color={color}\n className={clsx(classes?.icon, baseCheckBoxClasses.icon)}\n />\n ),\n checkboxChecked: (\n <CheckboxCheckIcon\n color={checkedColor}\n className={clsx(classes?.icon, baseCheckBoxClasses.icon)}\n />\n ),\n };\n};\n\n/**\n * A Checkbox is a mechanism that allows user to select one or more options.\n *\n * The Base Checkbox is a building block of the Checkbox form element. Don't use unless\n * implementing a custom use case not covered by the Checkbox form element.\n */\nexport const HvBaseCheckBox = (props: HvBaseCheckBoxProps) => {\n const {\n id,\n classes,\n className,\n name,\n inputProps,\n onChange,\n onFocusVisible,\n onBlur,\n checked,\n indeterminate,\n defaultChecked,\n value = \"on\",\n required = false,\n readOnly = false,\n disabled = false,\n semantic = false,\n ...others\n } = useDefaultProps(\"HvBaseCheckBox\", props);\n\n const [focusVisible, setFocusVisible] = useState<boolean>(false);\n\n const icons = getSelectorIcons({ disabled, semantic }, classes);\n\n const onChangeCallback = useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n if (readOnly) {\n return;\n }\n\n onChange?.(event, event.target.checked, value);\n },\n [onChange, readOnly, value]\n );\n\n const onBlurCallback = useCallback(\n (event: React.FocusEvent<HTMLButtonElement>) => {\n setFocusVisible(false);\n onBlur?.(event);\n },\n [onBlur]\n );\n\n const onFocusVisibleCallback = useCallback(\n (event: React.FocusEvent<any>) => {\n setFocusVisible(true);\n onFocusVisible?.(event);\n },\n [onFocusVisible]\n );\n\n return (\n <StyledCheckedBox\n id={id}\n name={name}\n value={value}\n className={clsx(\n className,\n baseCheckBoxClasses.root,\n classes?.root,\n disabled && clsx(baseCheckBoxClasses.disabled, classes?.disabled),\n focusVisible &&\n clsx(baseCheckBoxClasses.focusVisible, classes?.focusVisible)\n )}\n $focusVisible={focusVisible}\n icon={icons.checkbox}\n indeterminateIcon={icons.checkboxPartial}\n checkedIcon={icons.checkboxChecked}\n disabled={disabled}\n required={required}\n readOnly={readOnly}\n checked={checked}\n defaultChecked={defaultChecked}\n indeterminate={indeterminate}\n inputProps={inputProps}\n onChange={onChangeCallback}\n onFocusVisible={onFocusVisibleCallback}\n onBlur={onBlurCallback}\n color=\"default\"\n disableRipple\n {...others}\n />\n );\n};\n"],"names":["getSelectorIcons","options","classes","disabled","semantic","color","undefined","checkedColor","checkbox","CheckboxIcon","className","clsx","icon","baseCheckBoxClasses","checkboxPartial","CheckboxPartialIcon","checkboxChecked","CheckboxCheckIcon","HvBaseCheckBox","props","id","name","inputProps","onChange","onFocusVisible","onBlur","checked","indeterminate","defaultChecked","value","required","readOnly","others","useDefaultProps","focusVisible","setFocusVisible","useState","icons","onChangeCallback","useCallback","event","target","onBlurCallback","onFocusVisibleCallback","StyledCheckedBox","root","$focusVisible","indeterminateIcon","checkedIcon","disableRipple"],"mappings":";;;;;;;AA6FA,MAAMA,mBAAmBA,CACvBC,SAIAC,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;AAGK,SAAA;AAAA,IACLE,8BACGC,UAAY;AAAA,MACXJ;AAAAA,MACAK,WAAWC,KAAKT,mCAASU,MAAMC,oBAAoBD,IAAI;AAAA,IAAA,CACxD;AAAA,IAEHE,qCACGC,iBAAmB;AAAA,MAClBV;AAAAA,MACAK,WAAWC,KAAKT,mCAASU,MAAMC,oBAAoBD,IAAI;AAAA,IAAA,CACxD;AAAA,IAEHI,qCACGC,eAAiB;AAAA,MAChBZ,OAAOE;AAAAA,MACPG,WAAWC,KAAKT,mCAASU,MAAMC,oBAAoBD,IAAI;AAAA,IAAA,CACxD;AAAA,EAAA;AAGP;AAQaM,MAAAA,iBAAiBA,CAACC,UAA+B;AACtD,QAAA;AAAA,IACJC;AAAAA,IACAlB;AAAAA,IACAQ;AAAAA,IACAW;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC,QAAQ;AAAA,IACRC,WAAW;AAAA,IACXC,WAAW;AAAA,IACX5B,WAAW;AAAA,IACXC,WAAW;AAAA,IACX,GAAG4B;AAAAA,EAAAA,IACDC,gBAAgB,kBAAkBd,KAAK;AAE3C,QAAM,CAACe,cAAcC,eAAe,IAAIC,SAAkB,KAAK;AAE/D,QAAMC,QAAQrC,iBAAiB;AAAA,IAAEG;AAAAA,IAAUC;AAAAA,KAAYF,OAAO;AAExDoC,QAAAA,mBAAmBC,YACvB,CAACC,UAA+C;AAC9C,QAAIT,UAAU;AACZ;AAAA,IACF;AAEAR,yCAAWiB,OAAOA,MAAMC,OAAOf,SAASG;AAAAA,EAE1C,GAAA,CAACN,UAAUQ,UAAUF,KAAK,CAC5B;AAEMa,QAAAA,iBAAiBH,YACrB,CAACC,UAA+C;AAC9CL,oBAAgB,KAAK;AACrBV,qCAASe;AAAAA,EAAK,GAEhB,CAACf,MAAM,CACT;AAEMkB,QAAAA,yBAAyBJ,YAC7B,CAACC,UAAiC;AAChCL,oBAAgB,IAAI;AACpBX,qDAAiBgB;AAAAA,EAAK,GAExB,CAAChB,cAAc,CACjB;AAEA,6BACGoB,kBAAgB;AAAA,IACfxB;AAAAA,IACAC;AAAAA,IACAQ;AAAAA,IACAnB,WAAWC,KACTD,WACAG,oBAAoBgC,MACpB3C,mCAAS2C,MACT1C,YAAYQ,KAAKE,oBAAoBV,UAAUD,mCAASC,QAAQ,GAChE+B,gBACEvB,KAAKE,oBAAoBqB,cAAchC,mCAASgC,YAAY,CAChE;AAAA,IACAY,eAAeZ;AAAAA,IACftB,MAAMyB,MAAM7B;AAAAA,IACZuC,mBAAmBV,MAAMvB;AAAAA,IACzBkC,aAAaX,MAAMrB;AAAAA,IACnBb;AAAAA,IACA2B;AAAAA,IACAC;AAAAA,IACAL;AAAAA,IACAE;AAAAA,IACAD;AAAAA,IACAL;AAAAA,IACAC,UAAUe;AAAAA,IACVd,gBAAgBmB;AAAAA,IAChBlB,QAAQiB;AAAAA,IACRrC,OAAM;AAAA,IACN4C,eAAa;AAAA,IAAA,GACTjB;AAAAA,EAAAA,CACL;AAEL;"}
1
+ {"version":3,"file":"BaseCheckBox.js","sources":["../../../../src/components/BaseCheckBox/BaseCheckBox.tsx"],"sourcesContent":["import React, { useCallback, useState } from \"react\";\n\nimport {\n CheckboxCheck as CheckboxCheckIcon,\n CheckboxPartial as CheckboxPartialIcon,\n Checkbox as CheckboxIcon,\n} from \"@hitachivantara/uikit-react-icons\";\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\n\nimport MuiCheckbox, {\n CheckboxProps as MuiCheckboxProps,\n} from \"@mui/material/Checkbox\";\n\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { ExtractNames } from \"@core/utils/classes\";\n\nimport { staticClasses, useClasses } from \"./BaseCheckBox.styles\";\n\nexport { staticClasses as baseCheckBoxClasses };\n\nexport type HvBaseCheckBoxClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvBaseCheckBoxProps\n extends Omit<MuiCheckboxProps, \"onChange\" | \"classes\">,\n HvBaseProps<HTMLButtonElement, \"onChange\" | \"color\"> {\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 checkbox is neither unchecked nor indeterminate.\n *\n * The default value is \"on\".\n */\n value?: any;\n /**\n * Indicates that the input is disabled.\n */\n disabled?: boolean;\n /**\n * Indicates that the input is not editable.\n */\n readOnly?: boolean;\n /**\n * Indicates that user input is required.\n */\n required?: boolean;\n /**\n * If `true` the checkbox is selected, if set to `false` the checkbox is not selected.\n *\n * When defined the checkbox state becomes controlled.\n */\n checked?: boolean;\n /**\n * When uncontrolled, defines the initial checked state.\n */\n defaultChecked?: boolean;\n /**\n * If `true` the checkbox visually shows the indeterminate state.\n */\n indeterminate?: boolean;\n /**\n * The callback fired when the checkbox 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 * Callback fired when the component is blurred.\n */\n onBlur?: (event: React.FocusEvent<HTMLButtonElement>) => void;\n /**\n * A Jss Object used to override or extend the styles applied to the checkbox.\n */\n classes?: HvBaseCheckBoxClasses;\n}\n\nconst getSelectorIcons = (\n options: {\n disabled: boolean;\n semantic: boolean;\n },\n classes: HvBaseCheckBoxClasses\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 // Default colors: [\"atmo1\",\"secondary\"]\n return {\n checkbox: <CheckboxIcon color={color} className={classes.icon} />,\n checkboxPartial: (\n <CheckboxPartialIcon color={color} className={classes.icon} />\n ),\n checkboxChecked: (\n <CheckboxCheckIcon color={checkedColor} className={classes.icon} />\n ),\n };\n};\n\n/**\n * A Checkbox is a mechanism that allows user to select one or more options.\n *\n * The Base Checkbox is a building block of the Checkbox form element. Don't use unless\n * implementing a custom use case not covered by the Checkbox form element.\n */\nexport const HvBaseCheckBox = (props: HvBaseCheckBoxProps) => {\n const {\n id,\n classes: classesProp,\n className,\n name,\n inputProps,\n onChange,\n onFocusVisible,\n onBlur,\n checked,\n indeterminate,\n defaultChecked,\n value = \"on\",\n required = false,\n readOnly = false,\n disabled = false,\n semantic = false,\n ...others\n } = useDefaultProps(\"HvBaseCheckBox\", props);\n\n const { classes, cx } = useClasses(classesProp);\n\n const [focusVisible, setFocusVisible] = useState<boolean>(false);\n\n const icons = getSelectorIcons({ disabled, semantic }, classes);\n\n const onChangeCallback = useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n if (readOnly) {\n return;\n }\n\n onChange?.(event, event.target.checked, value);\n },\n [onChange, readOnly, value]\n );\n\n const onBlurCallback = useCallback(\n (event: React.FocusEvent<HTMLButtonElement>) => {\n setFocusVisible(false);\n onBlur?.(event);\n },\n [onBlur]\n );\n\n const onFocusVisibleCallback = useCallback(\n (event: React.FocusEvent<any>) => {\n setFocusVisible(true);\n onFocusVisible?.(event);\n },\n [onFocusVisible]\n );\n\n return (\n <MuiCheckbox\n id={id}\n name={name}\n value={value}\n className={cx(\n classes.root,\n { [classes.disabled]: disabled, [classes.focusVisible]: focusVisible },\n className\n )}\n icon={icons.checkbox}\n indeterminateIcon={icons.checkboxPartial}\n checkedIcon={icons.checkboxChecked}\n disabled={disabled}\n required={required}\n readOnly={readOnly}\n checked={checked}\n defaultChecked={defaultChecked}\n indeterminate={indeterminate}\n inputProps={inputProps}\n onChange={onChangeCallback}\n onFocusVisible={onFocusVisibleCallback}\n onBlur={onBlurCallback}\n color=\"default\"\n disableRipple\n {...others}\n />\n );\n};\n"],"names":["getSelectorIcons","options","classes","disabled","semantic","color","undefined","checkedColor","checkbox","CheckboxIcon","className","icon","checkboxPartial","CheckboxPartialIcon","checkboxChecked","CheckboxCheckIcon","HvBaseCheckBox","props","id","classesProp","name","inputProps","onChange","onFocusVisible","onBlur","checked","indeterminate","defaultChecked","value","required","readOnly","others","useDefaultProps","cx","useClasses","focusVisible","setFocusVisible","useState","icons","onChangeCallback","useCallback","event","target","onBlurCallback","onFocusVisibleCallback","MuiCheckbox","root","indeterminateIcon","checkedIcon","disableRipple"],"mappings":";;;;;;;AA+FA,MAAMA,mBAAmBA,CACvBC,SAIAC,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;AAGK,SAAA;AAAA,IACLE,8BAAWC,UAAY;AAAA,MAACJ;AAAAA,MAAcK,WAAWR,QAAQS;AAAAA,IAAAA,CAAO;AAAA,IAChEC,qCACGC,iBAAmB;AAAA,MAACR;AAAAA,MAAcK,WAAWR,QAAQS;AAAAA,IAAAA,CAAO;AAAA,IAE/DG,qCACGC,eAAiB;AAAA,MAACV,OAAOE;AAAAA,MAAcG,WAAWR,QAAQS;AAAAA,IAAAA,CAAO;AAAA,EAAA;AAGxE;AAQaK,MAAAA,iBAAiBA,CAACC,UAA+B;AACtD,QAAA;AAAA,IACJC;AAAAA,IACAhB,SAASiB;AAAAA,IACTT;AAAAA,IACAU;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC,QAAQ;AAAA,IACRC,WAAW;AAAA,IACXC,WAAW;AAAA,IACX3B,WAAW;AAAA,IACXC,WAAW;AAAA,IACX,GAAG2B;AAAAA,EAAAA,IACDC,gBAAgB,kBAAkBf,KAAK;AAErC,QAAA;AAAA,IAAEf;AAAAA,IAAS+B;AAAAA,EAAAA,IAAOC,WAAWf,WAAW;AAE9C,QAAM,CAACgB,cAAcC,eAAe,IAAIC,SAAkB,KAAK;AAE/D,QAAMC,QAAQtC,iBAAiB;AAAA,IAAEG;AAAAA,IAAUC;AAAAA,KAAYF,OAAO;AAExDqC,QAAAA,mBAAmBC,YACvB,CAACC,UAA+C;AAC9C,QAAIX,UAAU;AACZ;AAAA,IACF;AAEAR,yCAAWmB,OAAOA,MAAMC,OAAOjB,SAASG;AAAAA,EAE1C,GAAA,CAACN,UAAUQ,UAAUF,KAAK,CAC5B;AAEMe,QAAAA,iBAAiBH,YACrB,CAACC,UAA+C;AAC9CL,oBAAgB,KAAK;AACrBZ,qCAASiB;AAAAA,EAAK,GAEhB,CAACjB,MAAM,CACT;AAEMoB,QAAAA,yBAAyBJ,YAC7B,CAACC,UAAiC;AAChCL,oBAAgB,IAAI;AACpBb,qDAAiBkB;AAAAA,EAAK,GAExB,CAAClB,cAAc,CACjB;AAEA,6BACGsB,aAAW;AAAA,IACV3B;AAAAA,IACAE;AAAAA,IACAQ;AAAAA,IACAlB,WAAWuB,GACT/B,QAAQ4C,MACR;AAAA,MAAE,CAAC5C,QAAQC,QAAQ,GAAGA;AAAAA,MAAU,CAACD,QAAQiC,YAAY,GAAGA;AAAAA,OACxDzB,SACF;AAAA,IACAC,MAAM2B,MAAM9B;AAAAA,IACZuC,mBAAmBT,MAAM1B;AAAAA,IACzBoC,aAAaV,MAAMxB;AAAAA,IACnBX;AAAAA,IACA0B;AAAAA,IACAC;AAAAA,IACAL;AAAAA,IACAE;AAAAA,IACAD;AAAAA,IACAL;AAAAA,IACAC,UAAUiB;AAAAA,IACVhB,gBAAgBqB;AAAAA,IAChBpB,QAAQmB;AAAAA,IACRtC,OAAM;AAAA,IACN4C,eAAa;AAAA,IAAA,GACTlB;AAAAA,EAAAA,CACL;AAEL;"}