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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (553) hide show
  1. package/dist/cjs/components/Accordion/Accordion.cjs +10 -37
  2. package/dist/cjs/components/Accordion/Accordion.cjs.map +1 -1
  3. package/dist/cjs/components/ActionBar/ActionBar.cjs +2 -7
  4. package/dist/cjs/components/ActionBar/ActionBar.cjs.map +1 -1
  5. package/dist/cjs/components/ActionsGeneric/ActionsGeneric.cjs +11 -39
  6. package/dist/cjs/components/ActionsGeneric/ActionsGeneric.cjs.map +1 -1
  7. package/dist/cjs/components/ActionsGeneric/ActionsGeneric.styles.cjs +2 -4
  8. package/dist/cjs/components/ActionsGeneric/ActionsGeneric.styles.cjs.map +1 -1
  9. package/dist/cjs/components/AppSwitcher/Action/Action.cjs +12 -54
  10. package/dist/cjs/components/AppSwitcher/Action/Action.cjs.map +1 -1
  11. package/dist/cjs/components/AppSwitcher/Action/Action.styles.cjs +2 -4
  12. package/dist/cjs/components/AppSwitcher/Action/Action.styles.cjs.map +1 -1
  13. package/dist/cjs/components/AppSwitcher/AppSwitcher.cjs +15 -37
  14. package/dist/cjs/components/AppSwitcher/AppSwitcher.cjs.map +1 -1
  15. package/dist/cjs/components/AppSwitcher/TitleWithTooltip.cjs +2 -16
  16. package/dist/cjs/components/AppSwitcher/TitleWithTooltip.cjs.map +1 -1
  17. package/dist/cjs/components/Avatar/Avatar.cjs +9 -38
  18. package/dist/cjs/components/Avatar/Avatar.cjs.map +1 -1
  19. package/dist/cjs/components/Badge/Badge.cjs +6 -23
  20. package/dist/cjs/components/Badge/Badge.cjs.map +1 -1
  21. package/dist/cjs/components/Banner/Banner.cjs +7 -33
  22. package/dist/cjs/components/Banner/Banner.cjs.map +1 -1
  23. package/dist/cjs/components/Banner/BannerContent/ActionContainer/ActionContainer.cjs +5 -27
  24. package/dist/cjs/components/Banner/BannerContent/ActionContainer/ActionContainer.cjs.map +1 -1
  25. package/dist/cjs/components/Banner/BannerContent/ActionContainer/ActionContainer.styles.cjs +2 -4
  26. package/dist/cjs/components/Banner/BannerContent/ActionContainer/ActionContainer.styles.cjs.map +1 -1
  27. package/dist/cjs/components/Banner/BannerContent/BannerContent.cjs +12 -34
  28. package/dist/cjs/components/Banner/BannerContent/BannerContent.cjs.map +1 -1
  29. package/dist/cjs/components/Banner/BannerContent/MessageContainer/MessageContainer.cjs +6 -20
  30. package/dist/cjs/components/Banner/BannerContent/MessageContainer/MessageContainer.cjs.map +1 -1
  31. package/dist/cjs/components/Banner/BannerContent/MessageContainer/MessageContainer.styles.cjs +2 -4
  32. package/dist/cjs/components/Banner/BannerContent/MessageContainer/MessageContainer.styles.cjs.map +1 -1
  33. package/dist/cjs/components/BaseCheckBox/BaseCheckBox.cjs +5 -36
  34. package/dist/cjs/components/BaseCheckBox/BaseCheckBox.cjs.map +1 -1
  35. package/dist/cjs/components/BaseDropdown/BaseDropdown.cjs +57 -93
  36. package/dist/cjs/components/BaseDropdown/BaseDropdown.cjs.map +1 -1
  37. package/dist/cjs/components/BaseInput/BaseInput.cjs +18 -47
  38. package/dist/cjs/components/BaseInput/BaseInput.cjs.map +1 -1
  39. package/dist/cjs/components/BaseRadio/BaseRadio.cjs +4 -30
  40. package/dist/cjs/components/BaseRadio/BaseRadio.cjs.map +1 -1
  41. package/dist/cjs/components/BaseSwitch/BaseSwitch.cjs +9 -30
  42. package/dist/cjs/components/BaseSwitch/BaseSwitch.cjs.map +1 -1
  43. package/dist/cjs/components/Box/Box.cjs +2 -7
  44. package/dist/cjs/components/Box/Box.cjs.map +1 -1
  45. package/dist/cjs/components/BreadCrumb/BreadCrumb.cjs +14 -35
  46. package/dist/cjs/components/BreadCrumb/BreadCrumb.cjs.map +1 -1
  47. package/dist/cjs/components/BreadCrumb/BreadCrumb.styles.cjs +2 -4
  48. package/dist/cjs/components/BreadCrumb/BreadCrumb.styles.cjs.map +1 -1
  49. package/dist/cjs/components/BreadCrumb/Page/Page.cjs +4 -19
  50. package/dist/cjs/components/BreadCrumb/Page/Page.cjs.map +1 -1
  51. package/dist/cjs/components/BreadCrumb/Page/Page.styles.cjs +3 -7
  52. package/dist/cjs/components/BreadCrumb/Page/Page.styles.cjs.map +1 -1
  53. package/dist/cjs/components/BreadCrumb/PathElement/PathElement.cjs +5 -8
  54. package/dist/cjs/components/BreadCrumb/PathElement/PathElement.cjs.map +1 -1
  55. package/dist/cjs/components/BreadCrumb/utils.cjs +2 -10
  56. package/dist/cjs/components/BreadCrumb/utils.cjs.map +1 -1
  57. package/dist/cjs/components/BulkActions/BulkActions.cjs +20 -54
  58. package/dist/cjs/components/BulkActions/BulkActions.cjs.map +1 -1
  59. package/dist/cjs/components/Button/Button.cjs +5 -25
  60. package/dist/cjs/components/Button/Button.cjs.map +1 -1
  61. package/dist/cjs/components/Card/Card.cjs +13 -20
  62. package/dist/cjs/components/Card/Card.cjs.map +1 -1
  63. package/dist/cjs/components/Card/Content/Content.cjs +2 -8
  64. package/dist/cjs/components/Card/Content/Content.cjs.map +1 -1
  65. package/dist/cjs/components/Card/Header/Header.cjs +14 -22
  66. package/dist/cjs/components/Card/Header/Header.cjs.map +1 -1
  67. package/dist/cjs/components/Card/Media/Media.cjs +5 -14
  68. package/dist/cjs/components/Card/Media/Media.cjs.map +1 -1
  69. package/dist/cjs/components/CheckBox/CheckBox.cjs +16 -55
  70. package/dist/cjs/components/CheckBox/CheckBox.cjs.map +1 -1
  71. package/dist/cjs/components/CheckBoxGroup/CheckBoxGroup.cjs +17 -56
  72. package/dist/cjs/components/CheckBoxGroup/CheckBoxGroup.cjs.map +1 -1
  73. package/dist/cjs/components/Container/Container.cjs +11 -19
  74. package/dist/cjs/components/Container/Container.cjs.map +1 -1
  75. package/dist/cjs/components/Controls/Controls.cjs +15 -32
  76. package/dist/cjs/components/Controls/Controls.cjs.map +1 -1
  77. package/dist/cjs/components/Controls/LeftControl/LeftControl.cjs +5 -13
  78. package/dist/cjs/components/Controls/LeftControl/LeftControl.cjs.map +1 -1
  79. package/dist/cjs/components/Controls/RightControl/RightControl.cjs +2 -14
  80. package/dist/cjs/components/Controls/RightControl/RightControl.cjs.map +1 -1
  81. package/dist/cjs/components/Controls/RightControl/RightControl.styles.cjs +2 -4
  82. package/dist/cjs/components/Controls/RightControl/RightControl.styles.cjs.map +1 -1
  83. package/dist/cjs/components/Dialog/Actions/Actions.cjs +5 -11
  84. package/dist/cjs/components/Dialog/Actions/Actions.cjs.map +1 -1
  85. package/dist/cjs/components/Dialog/Content/Content.cjs +2 -7
  86. package/dist/cjs/components/Dialog/Content/Content.cjs.map +1 -1
  87. package/dist/cjs/components/Dialog/Dialog.cjs +35 -68
  88. package/dist/cjs/components/Dialog/Dialog.cjs.map +1 -1
  89. package/dist/cjs/components/Dialog/Title/Title.cjs +8 -17
  90. package/dist/cjs/components/Dialog/Title/Title.cjs.map +1 -1
  91. package/dist/cjs/components/DotPagination/DotPagination.cjs +9 -29
  92. package/dist/cjs/components/DotPagination/DotPagination.cjs.map +1 -1
  93. package/dist/cjs/components/DotPagination/DotPagination.styles.cjs +3 -7
  94. package/dist/cjs/components/DotPagination/DotPagination.styles.cjs.map +1 -1
  95. package/dist/cjs/components/DropDownMenu/DropDownMenu.cjs +23 -63
  96. package/dist/cjs/components/DropDownMenu/DropDownMenu.cjs.map +1 -1
  97. package/dist/cjs/components/DropDownMenu/DropDownMenu.styles.cjs +2 -4
  98. package/dist/cjs/components/DropDownMenu/DropDownMenu.styles.cjs.map +1 -1
  99. package/dist/cjs/components/Dropdown/Dropdown.cjs +21 -97
  100. package/dist/cjs/components/Dropdown/Dropdown.cjs.map +1 -1
  101. package/dist/cjs/components/Dropdown/Dropdown.styles.cjs +2 -4
  102. package/dist/cjs/components/Dropdown/Dropdown.styles.cjs.map +1 -1
  103. package/dist/cjs/components/Dropdown/List/List.cjs +27 -83
  104. package/dist/cjs/components/Dropdown/List/List.cjs.map +1 -1
  105. package/dist/cjs/components/Dropdown/List/List.styles.cjs +2 -4
  106. package/dist/cjs/components/Dropdown/List/List.styles.cjs.map +1 -1
  107. package/dist/cjs/components/EmptyState/EmptyState.cjs +10 -24
  108. package/dist/cjs/components/EmptyState/EmptyState.cjs.map +1 -1
  109. package/dist/cjs/components/FileUploader/DropZone/DropZone.cjs +52 -101
  110. package/dist/cjs/components/FileUploader/DropZone/DropZone.cjs.map +1 -1
  111. package/dist/cjs/components/FileUploader/File/File.cjs +21 -57
  112. package/dist/cjs/components/FileUploader/File/File.cjs.map +1 -1
  113. package/dist/cjs/components/FileUploader/FileList/FileList.cjs +4 -14
  114. package/dist/cjs/components/FileUploader/FileList/FileList.cjs.map +1 -1
  115. package/dist/cjs/components/FileUploader/FileUploader.cjs +4 -21
  116. package/dist/cjs/components/FileUploader/FileUploader.cjs.map +1 -1
  117. package/dist/cjs/components/FileUploader/Preview/Preview.cjs +8 -14
  118. package/dist/cjs/components/FileUploader/Preview/Preview.cjs.map +1 -1
  119. package/dist/cjs/components/Focus/Focus.cjs +10 -15
  120. package/dist/cjs/components/Focus/Focus.cjs.map +1 -1
  121. package/dist/cjs/components/Footer/Footer.cjs +9 -23
  122. package/dist/cjs/components/Footer/Footer.cjs.map +1 -1
  123. package/dist/cjs/components/Forms/Adornment/Adornment.cjs +2 -29
  124. package/dist/cjs/components/Forms/Adornment/Adornment.cjs.map +1 -1
  125. package/dist/cjs/components/Forms/CharCounter/CharCounter.cjs +5 -27
  126. package/dist/cjs/components/Forms/CharCounter/CharCounter.cjs.map +1 -1
  127. package/dist/cjs/components/Forms/FormElement/FormElement.cjs +2 -16
  128. package/dist/cjs/components/Forms/FormElement/FormElement.cjs.map +1 -1
  129. package/dist/cjs/components/Forms/InfoMessage/InfoMessage.cjs +2 -11
  130. package/dist/cjs/components/Forms/InfoMessage/InfoMessage.cjs.map +1 -1
  131. package/dist/cjs/components/Forms/Label/Label.cjs +8 -17
  132. package/dist/cjs/components/Forms/Label/Label.cjs.map +1 -1
  133. package/dist/cjs/components/Forms/Suggestions/Suggestions.cjs +5 -26
  134. package/dist/cjs/components/Forms/Suggestions/Suggestions.cjs.map +1 -1
  135. package/dist/cjs/components/Forms/WarningText/WarningText.cjs +6 -20
  136. package/dist/cjs/components/Forms/WarningText/WarningText.cjs.map +1 -1
  137. package/dist/cjs/components/GlobalActions/GlobalActions.cjs +7 -25
  138. package/dist/cjs/components/GlobalActions/GlobalActions.cjs.map +1 -1
  139. package/dist/cjs/components/Grid/Grid.cjs +5 -9
  140. package/dist/cjs/components/Grid/Grid.cjs.map +1 -1
  141. package/dist/cjs/components/Header/Actions/Actions.cjs +2 -6
  142. package/dist/cjs/components/Header/Actions/Actions.cjs.map +1 -1
  143. package/dist/cjs/components/Header/Brand/Brand.cjs +6 -11
  144. package/dist/cjs/components/Header/Brand/Brand.cjs.map +1 -1
  145. package/dist/cjs/components/Header/Header.cjs +2 -10
  146. package/dist/cjs/components/Header/Header.cjs.map +1 -1
  147. package/dist/cjs/components/Header/Navigation/MenuBar/MenuBar.cjs +3 -17
  148. package/dist/cjs/components/Header/Navigation/MenuBar/MenuBar.cjs.map +1 -1
  149. package/dist/cjs/components/Header/Navigation/MenuBar/MenuBar.styles.cjs +3 -7
  150. package/dist/cjs/components/Header/Navigation/MenuBar/MenuBar.styles.cjs.map +1 -1
  151. package/dist/cjs/components/Header/Navigation/MenuItem/MenuItem.cjs +6 -24
  152. package/dist/cjs/components/Header/Navigation/MenuItem/MenuItem.cjs.map +1 -1
  153. package/dist/cjs/components/Header/Navigation/Navigation.cjs +2 -15
  154. package/dist/cjs/components/Header/Navigation/Navigation.cjs.map +1 -1
  155. package/dist/cjs/components/Header/Navigation/utils/FocusContext.cjs +2 -5
  156. package/dist/cjs/components/Header/Navigation/utils/FocusContext.cjs.map +1 -1
  157. package/dist/cjs/components/Input/Input.cjs +42 -112
  158. package/dist/cjs/components/Input/Input.cjs.map +1 -1
  159. package/dist/cjs/components/Input/Input.styles.cjs +2 -4
  160. package/dist/cjs/components/Input/Input.styles.cjs.map +1 -1
  161. package/dist/cjs/components/Kpi/Kpi.cjs +16 -47
  162. package/dist/cjs/components/Kpi/Kpi.cjs.map +1 -1
  163. package/dist/cjs/components/Link/Link.cjs +2 -14
  164. package/dist/cjs/components/Link/Link.cjs.map +1 -1
  165. package/dist/cjs/components/List/List.cjs +32 -104
  166. package/dist/cjs/components/List/List.cjs.map +1 -1
  167. package/dist/cjs/components/List/List.styles.cjs +5 -13
  168. package/dist/cjs/components/List/List.styles.cjs.map +1 -1
  169. package/dist/cjs/components/ListContainer/ListContainer.cjs +2 -11
  170. package/dist/cjs/components/ListContainer/ListContainer.cjs.map +1 -1
  171. package/dist/cjs/components/ListContainer/ListItem/ListItem.cjs +12 -32
  172. package/dist/cjs/components/ListContainer/ListItem/ListItem.cjs.map +1 -1
  173. package/dist/cjs/components/Loading/Loading.cjs +5 -18
  174. package/dist/cjs/components/Loading/Loading.cjs.map +1 -1
  175. package/dist/cjs/components/Login/Login.cjs +4 -13
  176. package/dist/cjs/components/Login/Login.cjs.map +1 -1
  177. package/dist/cjs/components/MultiButton/MultiButton.cjs +14 -19
  178. package/dist/cjs/components/MultiButton/MultiButton.cjs.map +1 -1
  179. package/dist/cjs/components/MultiButton/MultiButton.styles.cjs +2 -5
  180. package/dist/cjs/components/MultiButton/MultiButton.styles.cjs.map +1 -1
  181. package/dist/cjs/components/OverflowTooltip/OverflowTooltip.cjs +3 -20
  182. package/dist/cjs/components/OverflowTooltip/OverflowTooltip.cjs.map +1 -1
  183. package/dist/cjs/components/OverflowTooltip/OverflowTooltip.styles.cjs +2 -4
  184. package/dist/cjs/components/OverflowTooltip/OverflowTooltip.styles.cjs.map +1 -1
  185. package/dist/cjs/components/Pagination/ButtonIconTooltip.cjs +1 -13
  186. package/dist/cjs/components/Pagination/ButtonIconTooltip.cjs.map +1 -1
  187. package/dist/cjs/components/Pagination/Pagination.cjs +27 -127
  188. package/dist/cjs/components/Pagination/Pagination.cjs.map +1 -1
  189. package/dist/cjs/components/Pagination/Select.cjs +8 -32
  190. package/dist/cjs/components/Pagination/Select.cjs.map +1 -1
  191. package/dist/cjs/components/Panel/Panel.cjs +2 -7
  192. package/dist/cjs/components/Panel/Panel.cjs.map +1 -1
  193. package/dist/cjs/components/ProgressBar/ProgressBar.cjs +9 -30
  194. package/dist/cjs/components/ProgressBar/ProgressBar.cjs.map +1 -1
  195. package/dist/cjs/components/Radio/Radio.cjs +16 -51
  196. package/dist/cjs/components/Radio/Radio.cjs.map +1 -1
  197. package/dist/cjs/components/RadioGroup/RadioGroup.cjs +7 -36
  198. package/dist/cjs/components/RadioGroup/RadioGroup.cjs.map +1 -1
  199. package/dist/cjs/components/SelectionList/SelectionList.cjs +7 -41
  200. package/dist/cjs/components/SelectionList/SelectionList.cjs.map +1 -1
  201. package/dist/cjs/components/SelectionList/SelectionList.styles.cjs +4 -10
  202. package/dist/cjs/components/SelectionList/SelectionList.styles.cjs.map +1 -1
  203. package/dist/cjs/components/SimpleGrid/SimpleGrid.cjs +2 -8
  204. package/dist/cjs/components/SimpleGrid/SimpleGrid.cjs.map +1 -1
  205. package/dist/cjs/components/Snackbar/Snackbar.cjs +14 -48
  206. package/dist/cjs/components/Snackbar/Snackbar.cjs.map +1 -1
  207. package/dist/cjs/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.cjs +9 -32
  208. package/dist/cjs/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.cjs.map +1 -1
  209. package/dist/cjs/components/Snackbar/SnackbarProvider/SnackbarProvider.cjs +4 -27
  210. package/dist/cjs/components/Snackbar/SnackbarProvider/SnackbarProvider.cjs.map +1 -1
  211. package/dist/cjs/components/Stack/Stack.cjs +8 -29
  212. package/dist/cjs/components/Stack/Stack.cjs.map +1 -1
  213. package/dist/cjs/components/Switch/Switch.cjs +13 -46
  214. package/dist/cjs/components/Switch/Switch.cjs.map +1 -1
  215. package/dist/cjs/components/Tab/Tab.cjs +17 -14
  216. package/dist/cjs/components/Tab/Tab.cjs.map +1 -1
  217. package/dist/cjs/components/Table/Table.cjs +2 -13
  218. package/dist/cjs/components/Table/Table.cjs.map +1 -1
  219. package/dist/cjs/components/Table/TableBody/TableBody.cjs +6 -25
  220. package/dist/cjs/components/Table/TableBody/TableBody.cjs.map +1 -1
  221. package/dist/cjs/components/Table/TableCell/TableCell.cjs +2 -23
  222. package/dist/cjs/components/Table/TableCell/TableCell.cjs.map +1 -1
  223. package/dist/cjs/components/Table/TableContainer/TableContainer.cjs +2 -6
  224. package/dist/cjs/components/Table/TableContainer/TableContainer.cjs.map +1 -1
  225. package/dist/cjs/components/Table/TableHead/TableHead.cjs +2 -11
  226. package/dist/cjs/components/Table/TableHead/TableHead.cjs.map +1 -1
  227. package/dist/cjs/components/Table/TableHeader/TableHeader.cjs +6 -49
  228. package/dist/cjs/components/Table/TableHeader/TableHeader.cjs.map +1 -1
  229. package/dist/cjs/components/Table/TableHeader/TableHeader.styles.cjs +8 -14
  230. package/dist/cjs/components/Table/TableHeader/TableHeader.styles.cjs.map +1 -1
  231. package/dist/cjs/components/Table/TableRow/TableRow.cjs +2 -15
  232. package/dist/cjs/components/Table/TableRow/TableRow.cjs.map +1 -1
  233. package/dist/cjs/components/Table/hooks/useRowExpand.cjs +5 -15
  234. package/dist/cjs/components/Table/hooks/useRowExpand.cjs.map +1 -1
  235. package/dist/cjs/components/Table/hooks/useRowSelection.cjs +2 -8
  236. package/dist/cjs/components/Table/hooks/useRowSelection.cjs.map +1 -1
  237. package/dist/cjs/components/Table/renderers/DateColumnCell/DateColumnCell.cjs +2 -4
  238. package/dist/cjs/components/Table/renderers/DateColumnCell/DateColumnCell.cjs.map +1 -1
  239. package/dist/cjs/components/Table/renderers/DropdownColumnCell/DropdownColumnCell.cjs +3 -10
  240. package/dist/cjs/components/Table/renderers/DropdownColumnCell/DropdownColumnCell.cjs.map +1 -1
  241. package/dist/cjs/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.cjs +2 -10
  242. package/dist/cjs/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.cjs.map +1 -1
  243. package/dist/cjs/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.cjs +6 -17
  244. package/dist/cjs/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.cjs.map +1 -1
  245. package/dist/cjs/components/Table/renderers/renderers.cjs +19 -60
  246. package/dist/cjs/components/Table/renderers/renderers.cjs.map +1 -1
  247. package/dist/cjs/components/Tabs/Tabs.cjs +9 -13
  248. package/dist/cjs/components/Tabs/Tabs.cjs.map +1 -1
  249. package/dist/cjs/components/Tag/Tag.cjs +25 -55
  250. package/dist/cjs/components/Tag/Tag.cjs.map +1 -1
  251. package/dist/cjs/components/TagsInput/TagsInput.cjs +45 -129
  252. package/dist/cjs/components/TagsInput/TagsInput.cjs.map +1 -1
  253. package/dist/cjs/components/TagsInput/TagsInput.styles.cjs +11 -31
  254. package/dist/cjs/components/TagsInput/TagsInput.styles.cjs.map +1 -1
  255. package/dist/cjs/components/TextArea/TextArea.cjs +22 -69
  256. package/dist/cjs/components/TextArea/TextArea.cjs.map +1 -1
  257. package/dist/cjs/components/TextArea/TextArea.styles.cjs +5 -13
  258. package/dist/cjs/components/TextArea/TextArea.styles.cjs.map +1 -1
  259. package/dist/cjs/components/ToggleButton/ToggleButton.cjs +2 -10
  260. package/dist/cjs/components/ToggleButton/ToggleButton.cjs.map +1 -1
  261. package/dist/cjs/components/Tooltip/Tooltip.cjs +8 -21
  262. package/dist/cjs/components/Tooltip/Tooltip.cjs.map +1 -1
  263. package/dist/cjs/components/Typography/Typography.cjs +2 -11
  264. package/dist/cjs/components/Typography/Typography.cjs.map +1 -1
  265. package/dist/cjs/hocs/withId.cjs +2 -5
  266. package/dist/cjs/hocs/withId.cjs.map +1 -1
  267. package/dist/cjs/hocs/withTooltip.cjs +5 -24
  268. package/dist/cjs/hocs/withTooltip.cjs.map +1 -1
  269. package/dist/cjs/providers/Provider.cjs +5 -10
  270. package/dist/cjs/providers/Provider.cjs.map +1 -1
  271. package/dist/cjs/providers/ThemeProvider.cjs +2 -8
  272. package/dist/cjs/providers/ThemeProvider.cjs.map +1 -1
  273. package/dist/cjs/utils/iconVariant.cjs +5 -16
  274. package/dist/cjs/utils/iconVariant.cjs.map +1 -1
  275. package/dist/esm/components/Accordion/Accordion.js +10 -37
  276. package/dist/esm/components/Accordion/Accordion.js.map +1 -1
  277. package/dist/esm/components/ActionBar/ActionBar.js +2 -7
  278. package/dist/esm/components/ActionBar/ActionBar.js.map +1 -1
  279. package/dist/esm/components/ActionsGeneric/ActionsGeneric.js +11 -39
  280. package/dist/esm/components/ActionsGeneric/ActionsGeneric.js.map +1 -1
  281. package/dist/esm/components/ActionsGeneric/ActionsGeneric.styles.js +2 -4
  282. package/dist/esm/components/ActionsGeneric/ActionsGeneric.styles.js.map +1 -1
  283. package/dist/esm/components/AppSwitcher/Action/Action.js +12 -54
  284. package/dist/esm/components/AppSwitcher/Action/Action.js.map +1 -1
  285. package/dist/esm/components/AppSwitcher/Action/Action.styles.js +2 -4
  286. package/dist/esm/components/AppSwitcher/Action/Action.styles.js.map +1 -1
  287. package/dist/esm/components/AppSwitcher/AppSwitcher.js +15 -37
  288. package/dist/esm/components/AppSwitcher/AppSwitcher.js.map +1 -1
  289. package/dist/esm/components/AppSwitcher/TitleWithTooltip.js +2 -16
  290. package/dist/esm/components/AppSwitcher/TitleWithTooltip.js.map +1 -1
  291. package/dist/esm/components/Avatar/Avatar.js +9 -38
  292. package/dist/esm/components/Avatar/Avatar.js.map +1 -1
  293. package/dist/esm/components/Badge/Badge.js +6 -23
  294. package/dist/esm/components/Badge/Badge.js.map +1 -1
  295. package/dist/esm/components/Banner/Banner.js +7 -33
  296. package/dist/esm/components/Banner/Banner.js.map +1 -1
  297. package/dist/esm/components/Banner/BannerContent/ActionContainer/ActionContainer.js +5 -27
  298. package/dist/esm/components/Banner/BannerContent/ActionContainer/ActionContainer.js.map +1 -1
  299. package/dist/esm/components/Banner/BannerContent/ActionContainer/ActionContainer.styles.js +2 -4
  300. package/dist/esm/components/Banner/BannerContent/ActionContainer/ActionContainer.styles.js.map +1 -1
  301. package/dist/esm/components/Banner/BannerContent/BannerContent.js +12 -34
  302. package/dist/esm/components/Banner/BannerContent/BannerContent.js.map +1 -1
  303. package/dist/esm/components/Banner/BannerContent/MessageContainer/MessageContainer.js +6 -20
  304. package/dist/esm/components/Banner/BannerContent/MessageContainer/MessageContainer.js.map +1 -1
  305. package/dist/esm/components/Banner/BannerContent/MessageContainer/MessageContainer.styles.js +2 -4
  306. package/dist/esm/components/Banner/BannerContent/MessageContainer/MessageContainer.styles.js.map +1 -1
  307. package/dist/esm/components/BaseCheckBox/BaseCheckBox.js +5 -36
  308. package/dist/esm/components/BaseCheckBox/BaseCheckBox.js.map +1 -1
  309. package/dist/esm/components/BaseDropdown/BaseDropdown.js +57 -93
  310. package/dist/esm/components/BaseDropdown/BaseDropdown.js.map +1 -1
  311. package/dist/esm/components/BaseInput/BaseInput.js +18 -47
  312. package/dist/esm/components/BaseInput/BaseInput.js.map +1 -1
  313. package/dist/esm/components/BaseRadio/BaseRadio.js +4 -30
  314. package/dist/esm/components/BaseRadio/BaseRadio.js.map +1 -1
  315. package/dist/esm/components/BaseSwitch/BaseSwitch.js +9 -30
  316. package/dist/esm/components/BaseSwitch/BaseSwitch.js.map +1 -1
  317. package/dist/esm/components/Box/Box.js +2 -7
  318. package/dist/esm/components/Box/Box.js.map +1 -1
  319. package/dist/esm/components/BreadCrumb/BreadCrumb.js +14 -35
  320. package/dist/esm/components/BreadCrumb/BreadCrumb.js.map +1 -1
  321. package/dist/esm/components/BreadCrumb/BreadCrumb.styles.js +2 -4
  322. package/dist/esm/components/BreadCrumb/BreadCrumb.styles.js.map +1 -1
  323. package/dist/esm/components/BreadCrumb/Page/Page.js +4 -19
  324. package/dist/esm/components/BreadCrumb/Page/Page.js.map +1 -1
  325. package/dist/esm/components/BreadCrumb/Page/Page.styles.js +3 -7
  326. package/dist/esm/components/BreadCrumb/Page/Page.styles.js.map +1 -1
  327. package/dist/esm/components/BreadCrumb/PathElement/PathElement.js +5 -8
  328. package/dist/esm/components/BreadCrumb/PathElement/PathElement.js.map +1 -1
  329. package/dist/esm/components/BreadCrumb/utils.js +2 -10
  330. package/dist/esm/components/BreadCrumb/utils.js.map +1 -1
  331. package/dist/esm/components/BulkActions/BulkActions.js +20 -54
  332. package/dist/esm/components/BulkActions/BulkActions.js.map +1 -1
  333. package/dist/esm/components/Button/Button.js +5 -25
  334. package/dist/esm/components/Button/Button.js.map +1 -1
  335. package/dist/esm/components/Card/Card.js +13 -20
  336. package/dist/esm/components/Card/Card.js.map +1 -1
  337. package/dist/esm/components/Card/Content/Content.js +2 -8
  338. package/dist/esm/components/Card/Content/Content.js.map +1 -1
  339. package/dist/esm/components/Card/Header/Header.js +14 -22
  340. package/dist/esm/components/Card/Header/Header.js.map +1 -1
  341. package/dist/esm/components/Card/Media/Media.js +5 -14
  342. package/dist/esm/components/Card/Media/Media.js.map +1 -1
  343. package/dist/esm/components/CheckBox/CheckBox.js +16 -55
  344. package/dist/esm/components/CheckBox/CheckBox.js.map +1 -1
  345. package/dist/esm/components/CheckBoxGroup/CheckBoxGroup.js +17 -56
  346. package/dist/esm/components/CheckBoxGroup/CheckBoxGroup.js.map +1 -1
  347. package/dist/esm/components/Container/Container.js +11 -19
  348. package/dist/esm/components/Container/Container.js.map +1 -1
  349. package/dist/esm/components/Controls/Controls.js +15 -32
  350. package/dist/esm/components/Controls/Controls.js.map +1 -1
  351. package/dist/esm/components/Controls/LeftControl/LeftControl.js +5 -13
  352. package/dist/esm/components/Controls/LeftControl/LeftControl.js.map +1 -1
  353. package/dist/esm/components/Controls/RightControl/RightControl.js +2 -14
  354. package/dist/esm/components/Controls/RightControl/RightControl.js.map +1 -1
  355. package/dist/esm/components/Controls/RightControl/RightControl.styles.js +2 -4
  356. package/dist/esm/components/Controls/RightControl/RightControl.styles.js.map +1 -1
  357. package/dist/esm/components/Dialog/Actions/Actions.js +5 -11
  358. package/dist/esm/components/Dialog/Actions/Actions.js.map +1 -1
  359. package/dist/esm/components/Dialog/Content/Content.js +2 -7
  360. package/dist/esm/components/Dialog/Content/Content.js.map +1 -1
  361. package/dist/esm/components/Dialog/Dialog.js +35 -68
  362. package/dist/esm/components/Dialog/Dialog.js.map +1 -1
  363. package/dist/esm/components/Dialog/Title/Title.js +8 -17
  364. package/dist/esm/components/Dialog/Title/Title.js.map +1 -1
  365. package/dist/esm/components/DotPagination/DotPagination.js +9 -29
  366. package/dist/esm/components/DotPagination/DotPagination.js.map +1 -1
  367. package/dist/esm/components/DotPagination/DotPagination.styles.js +3 -7
  368. package/dist/esm/components/DotPagination/DotPagination.styles.js.map +1 -1
  369. package/dist/esm/components/DropDownMenu/DropDownMenu.js +23 -63
  370. package/dist/esm/components/DropDownMenu/DropDownMenu.js.map +1 -1
  371. package/dist/esm/components/DropDownMenu/DropDownMenu.styles.js +2 -4
  372. package/dist/esm/components/DropDownMenu/DropDownMenu.styles.js.map +1 -1
  373. package/dist/esm/components/Dropdown/Dropdown.js +21 -97
  374. package/dist/esm/components/Dropdown/Dropdown.js.map +1 -1
  375. package/dist/esm/components/Dropdown/Dropdown.styles.js +2 -4
  376. package/dist/esm/components/Dropdown/Dropdown.styles.js.map +1 -1
  377. package/dist/esm/components/Dropdown/List/List.js +27 -83
  378. package/dist/esm/components/Dropdown/List/List.js.map +1 -1
  379. package/dist/esm/components/Dropdown/List/List.styles.js +2 -4
  380. package/dist/esm/components/Dropdown/List/List.styles.js.map +1 -1
  381. package/dist/esm/components/EmptyState/EmptyState.js +10 -24
  382. package/dist/esm/components/EmptyState/EmptyState.js.map +1 -1
  383. package/dist/esm/components/FileUploader/DropZone/DropZone.js +52 -101
  384. package/dist/esm/components/FileUploader/DropZone/DropZone.js.map +1 -1
  385. package/dist/esm/components/FileUploader/File/File.js +21 -57
  386. package/dist/esm/components/FileUploader/File/File.js.map +1 -1
  387. package/dist/esm/components/FileUploader/FileList/FileList.js +4 -14
  388. package/dist/esm/components/FileUploader/FileList/FileList.js.map +1 -1
  389. package/dist/esm/components/FileUploader/FileUploader.js +4 -21
  390. package/dist/esm/components/FileUploader/FileUploader.js.map +1 -1
  391. package/dist/esm/components/FileUploader/Preview/Preview.js +8 -14
  392. package/dist/esm/components/FileUploader/Preview/Preview.js.map +1 -1
  393. package/dist/esm/components/Focus/Focus.js +10 -15
  394. package/dist/esm/components/Focus/Focus.js.map +1 -1
  395. package/dist/esm/components/Footer/Footer.js +9 -23
  396. package/dist/esm/components/Footer/Footer.js.map +1 -1
  397. package/dist/esm/components/Forms/Adornment/Adornment.js +2 -29
  398. package/dist/esm/components/Forms/Adornment/Adornment.js.map +1 -1
  399. package/dist/esm/components/Forms/CharCounter/CharCounter.js +5 -27
  400. package/dist/esm/components/Forms/CharCounter/CharCounter.js.map +1 -1
  401. package/dist/esm/components/Forms/FormElement/FormElement.js +2 -16
  402. package/dist/esm/components/Forms/FormElement/FormElement.js.map +1 -1
  403. package/dist/esm/components/Forms/InfoMessage/InfoMessage.js +2 -11
  404. package/dist/esm/components/Forms/InfoMessage/InfoMessage.js.map +1 -1
  405. package/dist/esm/components/Forms/Label/Label.js +8 -17
  406. package/dist/esm/components/Forms/Label/Label.js.map +1 -1
  407. package/dist/esm/components/Forms/Suggestions/Suggestions.js +5 -26
  408. package/dist/esm/components/Forms/Suggestions/Suggestions.js.map +1 -1
  409. package/dist/esm/components/Forms/WarningText/WarningText.js +6 -20
  410. package/dist/esm/components/Forms/WarningText/WarningText.js.map +1 -1
  411. package/dist/esm/components/GlobalActions/GlobalActions.js +7 -25
  412. package/dist/esm/components/GlobalActions/GlobalActions.js.map +1 -1
  413. package/dist/esm/components/Grid/Grid.js +5 -9
  414. package/dist/esm/components/Grid/Grid.js.map +1 -1
  415. package/dist/esm/components/Header/Actions/Actions.js +2 -6
  416. package/dist/esm/components/Header/Actions/Actions.js.map +1 -1
  417. package/dist/esm/components/Header/Brand/Brand.js +6 -11
  418. package/dist/esm/components/Header/Brand/Brand.js.map +1 -1
  419. package/dist/esm/components/Header/Header.js +2 -10
  420. package/dist/esm/components/Header/Header.js.map +1 -1
  421. package/dist/esm/components/Header/Navigation/MenuBar/MenuBar.js +3 -17
  422. package/dist/esm/components/Header/Navigation/MenuBar/MenuBar.js.map +1 -1
  423. package/dist/esm/components/Header/Navigation/MenuBar/MenuBar.styles.js +3 -7
  424. package/dist/esm/components/Header/Navigation/MenuBar/MenuBar.styles.js.map +1 -1
  425. package/dist/esm/components/Header/Navigation/MenuItem/MenuItem.js +6 -24
  426. package/dist/esm/components/Header/Navigation/MenuItem/MenuItem.js.map +1 -1
  427. package/dist/esm/components/Header/Navigation/Navigation.js +2 -15
  428. package/dist/esm/components/Header/Navigation/Navigation.js.map +1 -1
  429. package/dist/esm/components/Header/Navigation/utils/FocusContext.js +2 -5
  430. package/dist/esm/components/Header/Navigation/utils/FocusContext.js.map +1 -1
  431. package/dist/esm/components/Input/Input.js +42 -112
  432. package/dist/esm/components/Input/Input.js.map +1 -1
  433. package/dist/esm/components/Input/Input.styles.js +2 -4
  434. package/dist/esm/components/Input/Input.styles.js.map +1 -1
  435. package/dist/esm/components/Kpi/Kpi.js +16 -47
  436. package/dist/esm/components/Kpi/Kpi.js.map +1 -1
  437. package/dist/esm/components/Link/Link.js +2 -14
  438. package/dist/esm/components/Link/Link.js.map +1 -1
  439. package/dist/esm/components/List/List.js +32 -104
  440. package/dist/esm/components/List/List.js.map +1 -1
  441. package/dist/esm/components/List/List.styles.js +5 -13
  442. package/dist/esm/components/List/List.styles.js.map +1 -1
  443. package/dist/esm/components/ListContainer/ListContainer.js +2 -11
  444. package/dist/esm/components/ListContainer/ListContainer.js.map +1 -1
  445. package/dist/esm/components/ListContainer/ListItem/ListItem.js +12 -32
  446. package/dist/esm/components/ListContainer/ListItem/ListItem.js.map +1 -1
  447. package/dist/esm/components/Loading/Loading.js +5 -18
  448. package/dist/esm/components/Loading/Loading.js.map +1 -1
  449. package/dist/esm/components/Login/Login.js +4 -13
  450. package/dist/esm/components/Login/Login.js.map +1 -1
  451. package/dist/esm/components/MultiButton/MultiButton.js +14 -19
  452. package/dist/esm/components/MultiButton/MultiButton.js.map +1 -1
  453. package/dist/esm/components/MultiButton/MultiButton.styles.js +2 -5
  454. package/dist/esm/components/MultiButton/MultiButton.styles.js.map +1 -1
  455. package/dist/esm/components/OverflowTooltip/OverflowTooltip.js +3 -20
  456. package/dist/esm/components/OverflowTooltip/OverflowTooltip.js.map +1 -1
  457. package/dist/esm/components/OverflowTooltip/OverflowTooltip.styles.js +2 -4
  458. package/dist/esm/components/OverflowTooltip/OverflowTooltip.styles.js.map +1 -1
  459. package/dist/esm/components/Pagination/ButtonIconTooltip.js +1 -13
  460. package/dist/esm/components/Pagination/ButtonIconTooltip.js.map +1 -1
  461. package/dist/esm/components/Pagination/Pagination.js +27 -127
  462. package/dist/esm/components/Pagination/Pagination.js.map +1 -1
  463. package/dist/esm/components/Pagination/Select.js +8 -32
  464. package/dist/esm/components/Pagination/Select.js.map +1 -1
  465. package/dist/esm/components/Panel/Panel.js +2 -7
  466. package/dist/esm/components/Panel/Panel.js.map +1 -1
  467. package/dist/esm/components/ProgressBar/ProgressBar.js +9 -30
  468. package/dist/esm/components/ProgressBar/ProgressBar.js.map +1 -1
  469. package/dist/esm/components/Radio/Radio.js +16 -51
  470. package/dist/esm/components/Radio/Radio.js.map +1 -1
  471. package/dist/esm/components/RadioGroup/RadioGroup.js +7 -36
  472. package/dist/esm/components/RadioGroup/RadioGroup.js.map +1 -1
  473. package/dist/esm/components/SelectionList/SelectionList.js +7 -41
  474. package/dist/esm/components/SelectionList/SelectionList.js.map +1 -1
  475. package/dist/esm/components/SelectionList/SelectionList.styles.js +4 -10
  476. package/dist/esm/components/SelectionList/SelectionList.styles.js.map +1 -1
  477. package/dist/esm/components/SimpleGrid/SimpleGrid.js +2 -8
  478. package/dist/esm/components/SimpleGrid/SimpleGrid.js.map +1 -1
  479. package/dist/esm/components/Snackbar/Snackbar.js +14 -48
  480. package/dist/esm/components/Snackbar/Snackbar.js.map +1 -1
  481. package/dist/esm/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.js +9 -32
  482. package/dist/esm/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.js.map +1 -1
  483. package/dist/esm/components/Snackbar/SnackbarProvider/SnackbarProvider.js +4 -27
  484. package/dist/esm/components/Snackbar/SnackbarProvider/SnackbarProvider.js.map +1 -1
  485. package/dist/esm/components/Stack/Stack.js +8 -29
  486. package/dist/esm/components/Stack/Stack.js.map +1 -1
  487. package/dist/esm/components/Switch/Switch.js +13 -46
  488. package/dist/esm/components/Switch/Switch.js.map +1 -1
  489. package/dist/esm/components/Tab/Tab.js +17 -14
  490. package/dist/esm/components/Tab/Tab.js.map +1 -1
  491. package/dist/esm/components/Table/Table.js +2 -13
  492. package/dist/esm/components/Table/Table.js.map +1 -1
  493. package/dist/esm/components/Table/TableBody/TableBody.js +6 -25
  494. package/dist/esm/components/Table/TableBody/TableBody.js.map +1 -1
  495. package/dist/esm/components/Table/TableCell/TableCell.js +2 -23
  496. package/dist/esm/components/Table/TableCell/TableCell.js.map +1 -1
  497. package/dist/esm/components/Table/TableContainer/TableContainer.js +2 -6
  498. package/dist/esm/components/Table/TableContainer/TableContainer.js.map +1 -1
  499. package/dist/esm/components/Table/TableHead/TableHead.js +2 -11
  500. package/dist/esm/components/Table/TableHead/TableHead.js.map +1 -1
  501. package/dist/esm/components/Table/TableHeader/TableHeader.js +6 -49
  502. package/dist/esm/components/Table/TableHeader/TableHeader.js.map +1 -1
  503. package/dist/esm/components/Table/TableHeader/TableHeader.styles.js +8 -14
  504. package/dist/esm/components/Table/TableHeader/TableHeader.styles.js.map +1 -1
  505. package/dist/esm/components/Table/TableRow/TableRow.js +2 -15
  506. package/dist/esm/components/Table/TableRow/TableRow.js.map +1 -1
  507. package/dist/esm/components/Table/hooks/useRowExpand.js +5 -15
  508. package/dist/esm/components/Table/hooks/useRowExpand.js.map +1 -1
  509. package/dist/esm/components/Table/hooks/useRowSelection.js +2 -8
  510. package/dist/esm/components/Table/hooks/useRowSelection.js.map +1 -1
  511. package/dist/esm/components/Table/renderers/DateColumnCell/DateColumnCell.js +2 -4
  512. package/dist/esm/components/Table/renderers/DateColumnCell/DateColumnCell.js.map +1 -1
  513. package/dist/esm/components/Table/renderers/DropdownColumnCell/DropdownColumnCell.js +3 -10
  514. package/dist/esm/components/Table/renderers/DropdownColumnCell/DropdownColumnCell.js.map +1 -1
  515. package/dist/esm/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.js +2 -10
  516. package/dist/esm/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.js.map +1 -1
  517. package/dist/esm/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.js +6 -17
  518. package/dist/esm/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.js.map +1 -1
  519. package/dist/esm/components/Table/renderers/renderers.js +19 -60
  520. package/dist/esm/components/Table/renderers/renderers.js.map +1 -1
  521. package/dist/esm/components/Tabs/Tabs.js +9 -13
  522. package/dist/esm/components/Tabs/Tabs.js.map +1 -1
  523. package/dist/esm/components/Tag/Tag.js +25 -55
  524. package/dist/esm/components/Tag/Tag.js.map +1 -1
  525. package/dist/esm/components/TagsInput/TagsInput.js +45 -129
  526. package/dist/esm/components/TagsInput/TagsInput.js.map +1 -1
  527. package/dist/esm/components/TagsInput/TagsInput.styles.js +11 -31
  528. package/dist/esm/components/TagsInput/TagsInput.styles.js.map +1 -1
  529. package/dist/esm/components/TextArea/TextArea.js +22 -69
  530. package/dist/esm/components/TextArea/TextArea.js.map +1 -1
  531. package/dist/esm/components/TextArea/TextArea.styles.js +5 -13
  532. package/dist/esm/components/TextArea/TextArea.styles.js.map +1 -1
  533. package/dist/esm/components/ToggleButton/ToggleButton.js +2 -10
  534. package/dist/esm/components/ToggleButton/ToggleButton.js.map +1 -1
  535. package/dist/esm/components/Tooltip/Tooltip.js +8 -21
  536. package/dist/esm/components/Tooltip/Tooltip.js.map +1 -1
  537. package/dist/esm/components/Typography/Typography.js +2 -11
  538. package/dist/esm/components/Typography/Typography.js.map +1 -1
  539. package/dist/esm/hocs/withId.js +2 -5
  540. package/dist/esm/hocs/withId.js.map +1 -1
  541. package/dist/esm/hocs/withTooltip.js +5 -24
  542. package/dist/esm/hocs/withTooltip.js.map +1 -1
  543. package/dist/esm/providers/Provider.js +5 -10
  544. package/dist/esm/providers/Provider.js.map +1 -1
  545. package/dist/esm/providers/ThemeProvider.js +2 -8
  546. package/dist/esm/providers/ThemeProvider.js.map +1 -1
  547. package/dist/esm/utils/iconVariant.js +5 -16
  548. package/dist/esm/utils/iconVariant.js.map +1 -1
  549. package/dist/types/components/Card/Card.d.ts +1 -1
  550. package/dist/types/components/Card/Card.d.ts.map +1 -1
  551. package/dist/types/components/Header/Navigation/MenuBar/MenuBar.styles.d.ts.map +1 -1
  552. package/dist/types/components/Table/hooks/index.d.ts.map +1 -1
  553. package/package.json +7 -8
@@ -29,27 +29,10 @@ const HvFileUploader = ({
29
29
  ...others
30
30
  }) => {
31
31
  const labels = useLabels(DEFAULT_LABELS, labelsProp);
32
- return /* @__PURE__ */ jsxs("div", {
33
- id,
34
- className,
35
- ...others,
36
- children: [/* @__PURE__ */ jsx(HvDropZone, {
37
- id: setId(id, "dropzone"),
38
- labels,
39
- multiple,
40
- disabled,
41
- acceptedFiles,
42
- maxFileSize,
43
- onFilesAdded,
44
- inputProps,
45
- hideLabels
46
- }), /* @__PURE__ */ jsx(HvFileList, {
47
- id: setId(id, "filelist"),
48
- list: fileList,
49
- onFileRemoved,
50
- removeFileButtonLabel: labels == null ? void 0 : labels.removeFileButtonLabel
51
- })]
52
- });
32
+ return /* @__PURE__ */ jsxs("div", { id, className, ...others, children: [
33
+ /* @__PURE__ */ jsx(HvDropZone, { id: setId(id, "dropzone"), labels, multiple, disabled, acceptedFiles, maxFileSize, onFilesAdded, inputProps, hideLabels }),
34
+ /* @__PURE__ */ jsx(HvFileList, { id: setId(id, "filelist"), list: fileList, onFileRemoved, removeFileButtonLabel: labels == null ? void 0 : labels.removeFileButtonLabel })
35
+ ] });
53
36
  };
54
37
  export {
55
38
  HvFileUploader
@@ -1 +1 @@
1
- {"version":3,"file":"FileUploader.js","sources":["../../../../src/components/FileUploader/FileUploader.tsx"],"sourcesContent":["import { useLabels } from \"hooks\";\nimport { setId } from \"utils\";\nimport { HvBaseProps } from \"../../types\";\nimport { HvDropZone, HvDropZoneLabels } from \"./DropZone\";\nimport { HvFileData, HvFileRemovedEvent, HvFilesAddedEvent } from \"./File\";\nimport { HvFileList } from \"./FileList\";\n\nexport type HvFileUploaderLabels = HvDropZoneLabels & {\n /**\n * Value of aria-label to apply to remove file button in FileList\n * */\n removeFileButtonLabel?: string;\n};\n\nexport type HvFileUploaderProps = HvBaseProps & {\n /**\n * An object containing all the labels.\n */\n labels?: HvFileUploaderLabels;\n /**\n * The files to upload.\n */\n fileList?: HvFileData[];\n /**\n * Whether the Dropzone should accept multiple files at once.\n */\n multiple?: boolean;\n /**\n * If the input is disabled or not\n */\n disabled?: boolean;\n /**\n * Max upload size\n * */\n maxFileSize?: number;\n /**\n * Files extensions accepted for upload.\n */\n acceptedFiles?: string[];\n /**\n * Callback fired when files are added.\n */\n onFilesAdded?: HvFilesAddedEvent;\n /**\n * Callback fired when file is removed from list.\n */\n onFileRemoved?: HvFileRemovedEvent;\n /**\n * Whether the DropZone should hide labels or not.\n */\n hideLabels?: boolean;\n /**\n * Attributes applied to the input element.\n */\n inputProps?: React.InputHTMLAttributes<HTMLInputElement>;\n};\n\n// TODO: This component needs to adopt the Form element shape and deprecate its way of composing labels\n\nconst DEFAULT_LABELS: HvFileUploaderLabels = {\n dropzone: \"Label\",\n sizeWarning: \"Max. file size:\",\n drag: \"Drop files here or\",\n selectFiles: \"click to upload\",\n dropFiles: \"Drop files here\",\n fileSizeError: \"The file exceeds the maximum upload size\",\n fileTypeError: \"File type not allowed for upload\",\n removeFileButtonLabel: \"Remove File\",\n};\n\n/**\n * Lets the user choose one or more files from their device storage. Once chosen,\n * the files can be uploaded to a server or manipulated on the client side.\n *\n * Accepted file types follow the format of the html input accept attribute. Please check https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file for more details.\n */\nexport const HvFileUploader = ({\n id,\n className,\n labels: labelsProp,\n fileList,\n multiple = true,\n disabled = false,\n hideLabels = false,\n maxFileSize = Infinity,\n inputProps = {},\n acceptedFiles = [],\n onFilesAdded,\n onFileRemoved,\n ...others\n}: HvFileUploaderProps) => {\n const labels = useLabels(DEFAULT_LABELS, labelsProp);\n\n return (\n <div id={id} className={className} {...others}>\n <HvDropZone\n id={setId(id, \"dropzone\")}\n labels={labels}\n multiple={multiple}\n disabled={disabled}\n acceptedFiles={acceptedFiles}\n maxFileSize={maxFileSize}\n onFilesAdded={onFilesAdded}\n inputProps={inputProps}\n hideLabels={hideLabels}\n />\n <HvFileList\n id={setId(id, \"filelist\")}\n list={fileList}\n onFileRemoved={onFileRemoved}\n removeFileButtonLabel={labels?.removeFileButtonLabel}\n />\n </div>\n );\n};\n"],"names":["DEFAULT_LABELS","dropzone","sizeWarning","drag","selectFiles","dropFiles","fileSizeError","fileTypeError","removeFileButtonLabel","HvFileUploader","id","className","labels","labelsProp","fileList","multiple","disabled","hideLabels","maxFileSize","Infinity","inputProps","acceptedFiles","onFilesAdded","onFileRemoved","others","useLabels","children","_jsx","HvDropZone","setId","HvFileList","list"],"mappings":";;;;;AA2DA,MAAMA,iBAAuC;AAAA,EAC3CC,UAAU;AAAA,EACVC,aAAa;AAAA,EACbC,MAAM;AAAA,EACNC,aAAa;AAAA,EACbC,WAAW;AAAA,EACXC,eAAe;AAAA,EACfC,eAAe;AAAA,EACfC,uBAAuB;AACzB;AAQO,MAAMC,iBAAiBA,CAAC;AAAA,EAC7BC;AAAAA,EACAC;AAAAA,EACAC,QAAQC;AAAAA,EACRC;AAAAA,EACAC,WAAW;AAAA,EACXC,WAAW;AAAA,EACXC,aAAa;AAAA,EACbC,cAAcC;AAAAA,EACdC,aAAa,CAAC;AAAA,EACdC,gBAAgB,CAAE;AAAA,EAClBC;AAAAA,EACAC;AAAAA,KACGC;AACgB,MAAM;AACnBZ,QAAAA,SAASa,UAAUzB,gBAAgBa,UAAU;AAEnD,8BACE,OAAA;AAAA,IAAKH;AAAAA,IAAQC;AAAAA,IAAqB,GAAKa;AAAAA,IAAME,UAAA,CAC3CC,oBAACC,YAAU;AAAA,MACTlB,IAAImB,MAAMnB,IAAI,UAAU;AAAA,MACxBE;AAAAA,MACAG;AAAAA,MACAC;AAAAA,MACAK;AAAAA,MACAH;AAAAA,MACAI;AAAAA,MACAF;AAAAA,MACAH;AAAAA,IAAAA,CACA,GACFU,oBAACG,YAAU;AAAA,MACTpB,IAAImB,MAAMnB,IAAI,UAAU;AAAA,MACxBqB,MAAMjB;AAAAA,MACNS;AAAAA,MACAf,uBAAuBI,iCAAQJ;AAAAA,IAAAA,CAC/B,CAAA;AAAA,EAAA,CACE;AAEV;"}
1
+ {"version":3,"file":"FileUploader.js","sources":["../../../../src/components/FileUploader/FileUploader.tsx"],"sourcesContent":["import { useLabels } from \"hooks\";\nimport { setId } from \"utils\";\nimport { HvBaseProps } from \"../../types\";\nimport { HvDropZone, HvDropZoneLabels } from \"./DropZone\";\nimport { HvFileData, HvFileRemovedEvent, HvFilesAddedEvent } from \"./File\";\nimport { HvFileList } from \"./FileList\";\n\nexport type HvFileUploaderLabels = HvDropZoneLabels & {\n /**\n * Value of aria-label to apply to remove file button in FileList\n * */\n removeFileButtonLabel?: string;\n};\n\nexport type HvFileUploaderProps = HvBaseProps & {\n /**\n * An object containing all the labels.\n */\n labels?: HvFileUploaderLabels;\n /**\n * The files to upload.\n */\n fileList?: HvFileData[];\n /**\n * Whether the Dropzone should accept multiple files at once.\n */\n multiple?: boolean;\n /**\n * If the input is disabled or not\n */\n disabled?: boolean;\n /**\n * Max upload size\n * */\n maxFileSize?: number;\n /**\n * Files extensions accepted for upload.\n */\n acceptedFiles?: string[];\n /**\n * Callback fired when files are added.\n */\n onFilesAdded?: HvFilesAddedEvent;\n /**\n * Callback fired when file is removed from list.\n */\n onFileRemoved?: HvFileRemovedEvent;\n /**\n * Whether the DropZone should hide labels or not.\n */\n hideLabels?: boolean;\n /**\n * Attributes applied to the input element.\n */\n inputProps?: React.InputHTMLAttributes<HTMLInputElement>;\n};\n\n// TODO: This component needs to adopt the Form element shape and deprecate its way of composing labels\n\nconst DEFAULT_LABELS: HvFileUploaderLabels = {\n dropzone: \"Label\",\n sizeWarning: \"Max. file size:\",\n drag: \"Drop files here or\",\n selectFiles: \"click to upload\",\n dropFiles: \"Drop files here\",\n fileSizeError: \"The file exceeds the maximum upload size\",\n fileTypeError: \"File type not allowed for upload\",\n removeFileButtonLabel: \"Remove File\",\n};\n\n/**\n * Lets the user choose one or more files from their device storage. Once chosen,\n * the files can be uploaded to a server or manipulated on the client side.\n *\n * Accepted file types follow the format of the html input accept attribute. Please check https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file for more details.\n */\nexport const HvFileUploader = ({\n id,\n className,\n labels: labelsProp,\n fileList,\n multiple = true,\n disabled = false,\n hideLabels = false,\n maxFileSize = Infinity,\n inputProps = {},\n acceptedFiles = [],\n onFilesAdded,\n onFileRemoved,\n ...others\n}: HvFileUploaderProps) => {\n const labels = useLabels(DEFAULT_LABELS, labelsProp);\n\n return (\n <div id={id} className={className} {...others}>\n <HvDropZone\n id={setId(id, \"dropzone\")}\n labels={labels}\n multiple={multiple}\n disabled={disabled}\n acceptedFiles={acceptedFiles}\n maxFileSize={maxFileSize}\n onFilesAdded={onFilesAdded}\n inputProps={inputProps}\n hideLabels={hideLabels}\n />\n <HvFileList\n id={setId(id, \"filelist\")}\n list={fileList}\n onFileRemoved={onFileRemoved}\n removeFileButtonLabel={labels?.removeFileButtonLabel}\n />\n </div>\n );\n};\n"],"names":["DEFAULT_LABELS","dropzone","sizeWarning","drag","selectFiles","dropFiles","fileSizeError","fileTypeError","removeFileButtonLabel","HvFileUploader","id","className","labels","labelsProp","fileList","multiple","disabled","hideLabels","maxFileSize","Infinity","inputProps","acceptedFiles","onFilesAdded","onFileRemoved","others","useLabels","setId"],"mappings":";;;;;AA2DA,MAAMA,iBAAuC;AAAA,EAC3CC,UAAU;AAAA,EACVC,aAAa;AAAA,EACbC,MAAM;AAAA,EACNC,aAAa;AAAA,EACbC,WAAW;AAAA,EACXC,eAAe;AAAA,EACfC,eAAe;AAAA,EACfC,uBAAuB;AACzB;AAQO,MAAMC,iBAAiBA,CAAC;AAAA,EAC7BC;AAAAA,EACAC;AAAAA,EACAC,QAAQC;AAAAA,EACRC;AAAAA,EACAC,WAAW;AAAA,EACXC,WAAW;AAAA,EACXC,aAAa;AAAA,EACbC,cAAcC;AAAAA,EACdC,aAAa,CAAC;AAAA,EACdC,gBAAgB,CAAE;AAAA,EAClBC;AAAAA,EACAC;AAAAA,KACGC;AACgB,MAAM;AACnBZ,QAAAA,SAASa,UAAUzB,gBAAgBa,UAAU;AAEnD,SACG,qBAAA,OAAA,EAAI,IAAQ,WAAsB,GAAIW,QACrC,UAAA;AAAA,IAAA,oBAAC,YACC,EAAA,IAAIE,MAAMhB,IAAI,UAAU,GACxB,QACA,UACA,UACA,eACA,aACA,cACA,YACA,YAAuB;AAAA,IAExB,oBAAA,YAAA,EACC,IAAIgB,MAAMhB,IAAI,UAAU,GACxB,MAAMI,UACN,eACA,uBAAuBF,iCAAQJ,sBAAsB,CAAA;AAAA,EAEzD,EAAA,CAAA;AAEJ;"}
@@ -1,8 +1,8 @@
1
+ import { jsxs, Fragment, jsx } from "@emotion/react/jsx-runtime";
1
2
  import clsx from "clsx";
2
3
  import { useEffect } from "react";
3
4
  import fileUploaderPreviewClasses from "./previewClasses.js";
4
5
  import { StyledButton, StyledOverlay, StyledPreviewIcon } from "./Preview.styles.js";
5
- import { jsxs, Fragment, jsx } from "@emotion/react/jsx-runtime";
6
6
  const HvFileUploaderPreview = ({
7
7
  className,
8
8
  children,
@@ -18,19 +18,13 @@ const HvFileUploaderPreview = ({
18
18
  };
19
19
  }, [onUnload]);
20
20
  if (onClick) {
21
- return /* @__PURE__ */ jsxs(StyledButton, {
22
- icon: true,
23
- className: clsx(className, classes == null ? void 0 : classes.previewButton, fileUploaderPreviewClasses.previewButton),
24
- onClick,
25
- variant: "secondaryGhost",
26
- ...others,
27
- children: [children, !disableOverlay && /* @__PURE__ */ jsxs(Fragment, {
28
- children: [/* @__PURE__ */ jsx(StyledOverlay, {
29
- className: clsx(classes == null ? void 0 : classes.overlay, fileUploaderPreviewClasses.overlay),
30
- "aria-hidden": "true"
31
- }), /* @__PURE__ */ jsx(StyledPreviewIcon, {})]
32
- })]
33
- });
21
+ return /* @__PURE__ */ jsxs(StyledButton, { icon: true, className: clsx(className, classes == null ? void 0 : classes.previewButton, fileUploaderPreviewClasses.previewButton), onClick, variant: "secondaryGhost", ...others, children: [
22
+ children,
23
+ !disableOverlay && /* @__PURE__ */ jsxs(Fragment, { children: [
24
+ /* @__PURE__ */ jsx(StyledOverlay, { className: clsx(classes == null ? void 0 : classes.overlay, fileUploaderPreviewClasses.overlay), "aria-hidden": "true" }),
25
+ /* @__PURE__ */ jsx(StyledPreviewIcon, {})
26
+ ] })
27
+ ] });
34
28
  }
35
29
  return children;
36
30
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Preview.js","sources":["../../../../../src/components/FileUploader/Preview/Preview.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport { HvButtonProps } from \"components\";\nimport { useEffect } from \"react\";\nimport fileUploaderPreviewClasses, {\n HvFileUploaderPreviewClasses,\n} from \"./previewClasses\";\nimport {\n StyledButton,\n StyledOverlay,\n StyledPreviewIcon,\n} from \"./Preview.styles\";\n\nexport type HvFileUploaderPreviewProps = Omit<\n HvButtonProps,\n \"children\" | \"classes\"\n> & {\n /**\n * Content that represents the preview of an uploaded file.\n */\n children: React.ReactElement;\n /**\n * Callback executed when the preview is unmounted.\n *\n * Should be used for cleaning up client-side image URLs created by `URL.createObjectURL()`.\n */\n onUnload?: () => void;\n /**\n * If `true`, doesn't show an overlay on top of the preview when hovering.\n *\n * Only applies when `onClick` is set.\n */\n disableOverlay?: boolean;\n /**\n * A Jss Object used to override or extend the styles applied to the component.\n */\n classes?: HvFileUploaderPreviewClasses;\n};\n\n/**\n * The `HvFileUploaderPreview` component is available to facilitate the styling\n * of the button (when clickable) and the detection of image unloading.\n */\nexport const HvFileUploaderPreview = ({\n className,\n children,\n classes,\n disableOverlay = false,\n onUnload,\n onClick,\n ...others\n}: HvFileUploaderPreviewProps) => {\n useEffect(() => {\n return () => {\n onUnload?.();\n };\n }, [onUnload]);\n\n if (onClick) {\n return (\n <StyledButton\n icon\n className={clsx(\n className,\n classes?.previewButton,\n fileUploaderPreviewClasses.previewButton\n )}\n onClick={onClick}\n variant=\"secondaryGhost\"\n {...others}\n >\n {children}\n {!disableOverlay && (\n <>\n <StyledOverlay\n className={clsx(\n classes?.overlay,\n fileUploaderPreviewClasses.overlay\n )}\n aria-hidden=\"true\"\n />\n <StyledPreviewIcon />\n </>\n )}\n </StyledButton>\n );\n }\n\n return children;\n};\n"],"names":["HvFileUploaderPreview","className","children","classes","disableOverlay","onUnload","onClick","others","useEffect","StyledButton","icon","clsx","previewButton","fileUploaderPreviewClasses","variant","_Fragment","_jsx","StyledOverlay","overlay","StyledPreviewIcon"],"mappings":";;;;;AA0CO,MAAMA,wBAAwBA,CAAC;AAAA,EACpCC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC,iBAAiB;AAAA,EACjBC;AAAAA,EACAC;AAAAA,KACGC;AACuB,MAAM;AAChCC,YAAU,MAAM;AACd,WAAO,MAAM;AACC;AAAA,IAAA;AAAA,EACd,GACC,CAACH,QAAQ,CAAC;AAEb,MAAIC,SAAS;AACX,gCACGG,cAAY;AAAA,MACXC,MAAI;AAAA,MACJT,WAAWU,KACTV,WACAE,mCAASS,eACTC,2BAA2BD,aAAa;AAAA,MAE1CN;AAAAA,MACAQ,SAAQ;AAAA,MAAgB,GACpBP;AAAAA,MAAML,UAAA,CAETA,UACA,CAACE,uCACAW,UAAA;AAAA,QAAAb,UAAA,CACEc,oBAACC,eAAa;AAAA,UACZhB,WAAWU,KACTR,mCAASe,SACTL,2BAA2BK,OAAO;AAAA,UAEpC,eAAY;AAAA,QAAM,CAAA,GAEpBF,oBAACG,mBAAoB,CAAA,CAAA,CAAA;AAAA,MAAA,CAExB,CAAA;AAAA,IAAA,CACY;AAAA,EAEnB;AAEOjB,SAAAA;AACT;"}
1
+ {"version":3,"file":"Preview.js","sources":["../../../../../src/components/FileUploader/Preview/Preview.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport { HvButtonProps } from \"components\";\nimport { useEffect } from \"react\";\nimport fileUploaderPreviewClasses, {\n HvFileUploaderPreviewClasses,\n} from \"./previewClasses\";\nimport {\n StyledButton,\n StyledOverlay,\n StyledPreviewIcon,\n} from \"./Preview.styles\";\n\nexport type HvFileUploaderPreviewProps = Omit<\n HvButtonProps,\n \"children\" | \"classes\"\n> & {\n /**\n * Content that represents the preview of an uploaded file.\n */\n children: React.ReactElement;\n /**\n * Callback executed when the preview is unmounted.\n *\n * Should be used for cleaning up client-side image URLs created by `URL.createObjectURL()`.\n */\n onUnload?: () => void;\n /**\n * If `true`, doesn't show an overlay on top of the preview when hovering.\n *\n * Only applies when `onClick` is set.\n */\n disableOverlay?: boolean;\n /**\n * A Jss Object used to override or extend the styles applied to the component.\n */\n classes?: HvFileUploaderPreviewClasses;\n};\n\n/**\n * The `HvFileUploaderPreview` component is available to facilitate the styling\n * of the button (when clickable) and the detection of image unloading.\n */\nexport const HvFileUploaderPreview = ({\n className,\n children,\n classes,\n disableOverlay = false,\n onUnload,\n onClick,\n ...others\n}: HvFileUploaderPreviewProps) => {\n useEffect(() => {\n return () => {\n onUnload?.();\n };\n }, [onUnload]);\n\n if (onClick) {\n return (\n <StyledButton\n icon\n className={clsx(\n className,\n classes?.previewButton,\n fileUploaderPreviewClasses.previewButton\n )}\n onClick={onClick}\n variant=\"secondaryGhost\"\n {...others}\n >\n {children}\n {!disableOverlay && (\n <>\n <StyledOverlay\n className={clsx(\n classes?.overlay,\n fileUploaderPreviewClasses.overlay\n )}\n aria-hidden=\"true\"\n />\n <StyledPreviewIcon />\n </>\n )}\n </StyledButton>\n );\n }\n\n return children;\n};\n"],"names":["HvFileUploaderPreview","className","children","classes","disableOverlay","onUnload","onClick","others","useEffect","clsx","previewButton","fileUploaderPreviewClasses","overlay"],"mappings":";;;;;AA0CO,MAAMA,wBAAwBA,CAAC;AAAA,EACpCC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC,iBAAiB;AAAA,EACjBC;AAAAA,EACAC;AAAAA,KACGC;AACuB,MAAM;AAChCC,YAAU,MAAM;AACd,WAAO,MAAM;AACC;AAAA,IAAA;AAAA,EACd,GACC,CAACH,QAAQ,CAAC;AAEb,MAAIC,SAAS;AACX,gCACG,cACC,EAAA,MAAI,MACJ,WAAWG,KACTR,WACAE,mCAASO,eACTC,2BAA2BD,aAAa,GAE1C,SACA,SAAQ,kBACR,GAAIH,QAEHL,UAAAA;AAAAA,MAAAA;AAAAA,MACA,CAACE,kBAEE,qBAAA,UAAA,EAAA,UAAA;AAAA,QAAC,oBAAA,eAAA,EACC,WAAWK,KACTN,mCAASS,SACTD,2BAA2BC,OAAO,GAEpC,eAAY,OAAM,CAAA;AAAA,4BAEnB,mBAAiB,EAAA;AAAA,MAAA,GACpB;AAAA,IAEJ,EAAA,CAAA;AAAA,EAEJ;AAEOV,SAAAA;AACT;"}
@@ -1,3 +1,4 @@
1
+ import { jsxs, jsx } from "@emotion/react/jsx-runtime";
1
2
  import clsx from "clsx";
2
3
  import { isNil } from "lodash";
3
4
  import React__default, { useState } from "react";
@@ -6,7 +7,6 @@ import { StyledFocusWrapper, StyledFalseFocus } from "./Focus.styles.js";
6
7
  import { getFocusableChildren, setFocusTo, isOneOfKeys, isKey } from "./utils.js";
7
8
  import focusClasses from "./focusClasses.js";
8
9
  import { Global } from "@emotion/react";
9
- import { jsxs, jsx } from "@emotion/react/jsx-runtime";
10
10
  import isBrowser from "../../utils/browser.js";
11
11
  import { keyboardCodes } from "../../utils/keyboardUtils/keyboardCodes.js";
12
12
  function _EMOTION_STRINGIFIED_CSS_ERROR__() {
@@ -293,18 +293,13 @@ const HvFocus = ({
293
293
  };
294
294
  if (disabled)
295
295
  return children;
296
- const focusWrapper = (childrenToWrap) => /* @__PURE__ */ jsxs(StyledFocusWrapper, {
297
- className: clsx(classes == null ? void 0 : classes.externalReference, focusClasses.externalReference),
298
- children: [childrenToWrap, showFocus && /* @__PURE__ */ jsx(StyledFalseFocus, {
299
- className: clsx(classes == null ? void 0 : classes.falseFocus, focusClasses.falseFocus)
300
- })]
301
- });
302
- return /* @__PURE__ */ jsxs(ConditionalWrapper, {
303
- condition: useFalseFocus,
304
- wrapper: focusWrapper,
305
- children: [/* @__PURE__ */ jsx(Global, {
306
- styles: focusStyles
307
- }), React__default.cloneElement(children, {
296
+ const focusWrapper = (childrenToWrap) => /* @__PURE__ */ jsxs(StyledFocusWrapper, { className: clsx(classes == null ? void 0 : classes.externalReference, focusClasses.externalReference), children: [
297
+ childrenToWrap,
298
+ showFocus && /* @__PURE__ */ jsx(StyledFalseFocus, { className: clsx(classes == null ? void 0 : classes.falseFocus, focusClasses.falseFocus) })
299
+ ] });
300
+ return /* @__PURE__ */ jsxs(ConditionalWrapper, { condition: useFalseFocus, wrapper: focusWrapper, children: [
301
+ /* @__PURE__ */ jsx(Global, { styles: focusStyles }),
302
+ React__default.cloneElement(children, {
308
303
  className: clsx(children.props.className, focusClasses.root, classes == null ? void 0 : classes.root, filterClass, selected && clsx(focusClasses.selected, classes == null ? void 0 : classes.selected), disabledClass && clsx(focusClasses.disabled, classes == null ? void 0 : classes.disabled), focusDisabled && clsx(focusClasses.focusDisabled, classes == null ? void 0 : classes.focusDisabled)),
309
304
  ref: config,
310
305
  onFocus,
@@ -313,8 +308,8 @@ const HvFocus = ({
313
308
  onKeyDown,
314
309
  onKeyUp,
315
310
  selected
316
- })]
317
- });
311
+ })
312
+ ] });
318
313
  };
319
314
  export {
320
315
  HvFocus
@@ -1 +1 @@
1
- {"version":3,"file":"Focus.js","sources":["../../../../src/components/Focus/Focus.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport { isNil } from \"lodash\";\nimport React, { RefObject, useState } from \"react\";\nimport { HvBaseProps } from \"../../types\";\nimport { keyboardCodes, isBrowser } from \"utils\";\nimport ConditionalWrapper from \"utils/ConditionalWrapper\";\nimport { StyledFocusWrapper, StyledFalseFocus } from \"./Focus.styles\";\nimport { getFocusableChildren, isKey, isOneOfKeys, setFocusTo } from \"./utils\";\nimport focusClasses, { HvFocusClasses } from \"./focusClasses\";\nimport { css, Global } from \"@emotion/react\";\n\nconst focusStyles = css`\n .HvFocus-focused {\n outline-color: #52a8ec;\n outline-style: solid;\n outline-width: 0px;\n outline-offset: -1px;\n box-shadow: 0 0 0 1px #52a8ec, 0 0 0 4px rgba(29, 155, 209, 0.3);\n\n @media (-webkit-min-device-pixel-ratio: 0) {\n outline-color: #52a8ec;\n outline-style: solid;\n outline-width: 0px;\n outline-offset: -1px;\n box-shadow: 0 0 0 1px #52a8ec, 0 0 0 4px rgba(29, 155, 209, 0.3);\n }\n }\n\n .HvFocus-focusDisabled {\n outline: none;\n box-shadow: none;\n }\n .HvFocus-focusDisabled *:focus {\n outline: none;\n box-shadow: none;\n }\n .HvFocus-focusDisabled * {\n outline: none !important;\n box-shadow: none !important;\n }\n`;\n\nexport type HvFocusProps = HvBaseProps<HTMLElement, { children }> & {\n children: React.ReactElement;\n /** Extra configuration for the child element. */\n configuration?: {\n tabIndex?: number;\n };\n /** Indicates that the disabled class should be applied. */\n disabledClass?: boolean;\n /** Whether the focus is selected. */\n selected?: boolean;\n /** Whether the focus is disabled. */\n disabled?: boolean;\n /** The reference to the root element to hold all Focus' context. */\n rootRef?: RefObject<HTMLElement>;\n /** Show focus when click element. v*/\n focusOnClick?: boolean;\n /** Show focus when click element. v*/\n focusDisabled?: boolean;\n /** Use up/ down keyboard arrows to control focus. */\n useArrows?: boolean;\n /** Focus and navigation strategy to be used. v*/\n strategy?: \"listbox\" | \"menu\" | \"card\" | \"grid\";\n /** Uses an absolute positioned div as a focus. v*/\n useFalseFocus?: boolean;\n /** Narrows the results of the focus to only theses class v*/\n filterClass?: string;\n /** How much the navigation will skip when using the arrows. v*/\n navigationJump?: number;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvFocusClasses;\n};\n\nexport const HvFocus = ({\n classes,\n children,\n configuration = {},\n disabledClass = false,\n selected = false,\n disabled = false,\n rootRef = undefined,\n focusOnClick = false,\n focusDisabled = true,\n strategy = \"listbox\",\n useFalseFocus = false,\n filterClass,\n navigationJump = 4,\n}: HvFocusProps) => {\n const [showFocus, setShowFocus] = useState<boolean>(false);\n const [childFocus, setChildFocus] = useState<any>();\n const [hasRunConfig, setHasRunConfig] = useState(false);\n\n const getFocuses = () => {\n const focuses = rootRef?.current\n ? Array.from(\n rootRef.current.getElementsByClassName(\n filterClass || focusClasses.root || classes?.root || \"root\"\n )\n )\n : [];\n return focuses;\n };\n\n const setTabIndex = (el, tabIndex = 0) => {\n const elChildFocus = getFocusableChildren(el)[0];\n if (elChildFocus) {\n el.tabIndex = -1;\n elChildFocus.tabIndex = tabIndex;\n } else {\n el.tabIndex = tabIndex;\n }\n };\n\n const setSelectedTabIndex = () => {\n const focuses = getFocuses();\n const firstSelected = focuses.find((focus) =>\n focus.classList.contains(\n focusClasses.selected || classes?.selected || \"selected\"\n )\n );\n\n if (!firstSelected) return;\n focuses.forEach((focus) => setTabIndex(focus, -1));\n setTabIndex(firstSelected, 0);\n };\n\n const clearTabSiblings = (el) => {\n getFocuses().forEach((focus) => setTabIndex(focus, -1));\n setTabIndex(el, 0);\n };\n\n const onFocusStrategy = (evt) => {\n if (strategy === \"listbox\") {\n clearTabSiblings(evt.currentTarget);\n }\n };\n\n const onBlurStrategy = () => {\n if (\n strategy === \"listbox\" &&\n rootRef &&\n rootRef.current &&\n !rootRef.current.contains(document.activeElement)\n ) {\n setTimeout(() => {\n setSelectedTabIndex();\n }, 10);\n }\n };\n\n const config = (el) => {\n const { tabIndex } = configuration;\n if (!el || hasRunConfig) return;\n if (strategy === \"card\") {\n setChildFocus(children);\n return;\n }\n\n if (strategy === \"grid\") {\n return;\n }\n\n const focusableChildren = getFocusableChildren(el);\n if (focusableChildren.length) {\n focusableChildren.forEach((child) => setTabIndex(child, -1));\n setChildFocus(focusableChildren[0]);\n }\n\n if (!isNil(tabIndex)) setTabIndex(el, tabIndex);\n setHasRunConfig(true);\n };\n\n const addFocusClass = (evt) => {\n if (!useFalseFocus) {\n evt.currentTarget.classList.add(focusClasses.focused);\n if (classes?.focused) {\n evt.currentTarget.classList.add(classes.focused);\n }\n // add global class HvIsFocused as a marker\n // not to be styled directly, only as helper in specific css queries\n evt.currentTarget.classList.add(\"HvIsFocused\");\n classes?.focus\n ?.split(\" \")\n .forEach((c) => evt.currentTarget.classList.add(c));\n }\n };\n\n const removeFocusClass = () => {\n if (!useFalseFocus) {\n getFocuses().forEach((element) => {\n if (focusClasses.focused) {\n element.classList.remove(focusClasses.focused);\n }\n if (classes?.focused) {\n element.classList.remove(classes.focused);\n }\n // remove the global class HvIsFocused\n element.classList.remove(\"HvIsFocused\");\n classes?.focus?.split(\" \").forEach((c) => element.classList.remove(c));\n });\n }\n };\n\n const onFocus = (evt) => {\n addFocusClass(evt);\n setShowFocus(true);\n // give focus to child element if any focusable\n\n if (childFocus && childFocus.focus) childFocus.focus();\n onFocusStrategy(evt);\n };\n\n const onBlur = () => {\n setShowFocus(false);\n removeFocusClass();\n onBlurStrategy();\n };\n\n const onMouseDown = (evt) => {\n const hasCard = !!evt.currentTarget?.querySelector(\".HvIsCardGridElement\");\n if (strategy === \"grid\" && hasCard) return;\n\n setFocusTo(evt.currentTarget);\n setTabIndex(evt.currentTarget, 0);\n // remove focus outline unless explicitly enabled\n if (!focusOnClick) {\n // TODO this piece of code works only because onMouseDown is happening after the focus event\n // There is nothing in here that guarantees the order of these events, so it may present a problem in the future\n removeFocusClass();\n setShowFocus(false);\n }\n };\n\n const focusAndUpdateIndex = (nextFocus, previousFocus, focusesList) => {\n if (focusesList?.includes(previousFocus)) {\n setTabIndex(previousFocus, -1);\n }\n setTabIndex(nextFocus, 0);\n setFocusTo(nextFocus);\n };\n\n const getEnabledKeys = (currentFocusIndex, jump, listSize) => ({\n right:\n (currentFocusIndex + 1) % jump === 0 ||\n currentFocusIndex + 1 > listSize - 1,\n left: currentFocusIndex % jump === 0,\n up: currentFocusIndex - jump < 0,\n down:\n currentFocusIndex + jump > listSize ||\n currentFocusIndex + jump > listSize - 1,\n });\n\n const onGridKeyDownHandler = (\n evt,\n focuses,\n focusesList,\n currentFocusIndex,\n jump\n ) => {\n const {\n ArrowUp,\n ArrowDown,\n Home,\n End,\n ArrowLeft,\n ArrowRight,\n Enter,\n SpaceBar,\n } = keyboardCodes;\n\n const childFocusIsInput = childFocus && childFocus.nodeName === \"INPUT\";\n\n if (\n !isOneOfKeys(evt, [\n ArrowUp,\n ArrowDown,\n ArrowLeft,\n ArrowRight,\n Home,\n End,\n SpaceBar,\n Enter,\n ]) ||\n (childFocusIsInput && isKey(evt, Enter))\n ) {\n // nothing to do\n return;\n }\n\n // we'll do something with the key so prevent default and stop propagation\n // except for Enter and SpaceBar\n if (!isOneOfKeys(evt, [Enter, SpaceBar])) {\n evt.preventDefault();\n evt.stopPropagation();\n }\n\n const blockedKeys = getEnabledKeys(\n currentFocusIndex,\n jump,\n focusesList.length\n );\n\n switch (evt.keyCode) {\n case SpaceBar:\n case Enter:\n if (isBrowser(\"firefox\")) {\n evt.target.click();\n } else {\n evt.currentTarget.click();\n }\n break;\n case ArrowUp:\n if (!blockedKeys.up) {\n focusAndUpdateIndex(\n focuses.jump || focuses.last,\n evt.current,\n focusesList\n );\n }\n break;\n case ArrowDown:\n if (!blockedKeys.down) {\n focusAndUpdateIndex(\n focuses.fall || focuses.first,\n evt.current,\n focusesList\n );\n }\n break;\n case ArrowLeft:\n if (!blockedKeys.left) {\n focusAndUpdateIndex(\n focuses.previous || focuses.last,\n evt.current,\n focusesList\n );\n }\n break;\n case ArrowRight:\n if (!blockedKeys.right) {\n focusAndUpdateIndex(\n focuses.next || focuses.first,\n evt.current,\n focusesList\n );\n }\n break;\n case Home:\n focusAndUpdateIndex(focuses.first, evt.current, focusesList);\n break;\n case End:\n focusAndUpdateIndex(focuses.last, evt.current, focusesList);\n break;\n default:\n }\n };\n\n const onVerticalArrangementHandler = (evt, focuses, focusesList) => {\n const { ArrowUp, ArrowDown, Home, End, Enter, SpaceBar } = keyboardCodes;\n const childFocusIsInput = childFocus && childFocus.nodeName === \"INPUT\";\n\n if (\n !isOneOfKeys(evt, [ArrowUp, ArrowDown, Home, End, SpaceBar, Enter]) ||\n (childFocusIsInput && isKey(evt, Enter))\n ) {\n // nothing to do\n return;\n }\n\n // we'll do something with the key so prevent default and stop propagation\n evt.preventDefault();\n evt.stopPropagation();\n\n switch (evt.keyCode) {\n case SpaceBar:\n case Enter:\n evt.target.click();\n break;\n case ArrowUp:\n focusAndUpdateIndex(\n focuses.previous || focuses.last,\n evt.current,\n focusesList\n );\n break;\n case ArrowDown:\n focusAndUpdateIndex(\n focuses.next || focuses.first,\n evt.current,\n focusesList\n );\n break;\n case Home:\n focusAndUpdateIndex(focuses.first, evt.current, focusesList);\n break;\n case End:\n focusAndUpdateIndex(focuses.last, evt.current, focusesList);\n break;\n default:\n }\n };\n\n const onSingleHandler = (evt) => {\n const { Enter, SpaceBar } = keyboardCodes;\n const childFocusIsInput = childFocus && childFocus.nodeName === \"INPUT\";\n\n if (\n !isOneOfKeys(evt, [SpaceBar, Enter]) ||\n (childFocusIsInput && isKey(evt, Enter))\n ) {\n // nothing to do\n return;\n }\n\n // we'll do something with the key so prevent default and stop propagation\n evt.preventDefault();\n evt.stopPropagation();\n\n evt.currentTarget.click();\n };\n\n const onKeyDown = (evt) => {\n if (rootRef?.current == null) {\n // operating outside of a composite widget\n // nothing to manage, just style and trigger clicks\n onSingleHandler(evt);\n return;\n }\n\n // TODO keep the smart default, but allow to explicitly override if disabled elements should be focusable\n const isDisabledFocusable = strategy === \"menu\";\n const focusesList = getFocuses().filter(\n (el) =>\n isDisabledFocusable ||\n !el.classList.contains(classes?.disabled as string)\n );\n\n const currentFocus = focusesList.indexOf(evt.currentTarget);\n\n const focuses = {\n first: focusesList[0],\n last: focusesList[focusesList.length - 1],\n previous: focusesList[currentFocus - 1],\n next: focusesList[currentFocus + 1],\n fall: focusesList[currentFocus + navigationJump],\n jump: focusesList[currentFocus - navigationJump],\n };\n\n if (strategy === \"grid\") {\n onGridKeyDownHandler(\n evt,\n focuses,\n focusesList,\n currentFocus,\n navigationJump\n );\n return;\n }\n\n // TODO add property for specifying the composite widget orientation\n // TODO implement handler for horizontal orientation\n onVerticalArrangementHandler(evt, focuses, focusesList);\n };\n\n const onKeyUp = (evt) => {\n if (isBrowser(\"firefox\")) evt.preventDefault();\n };\n\n if (disabled) return children;\n\n const focusWrapper = (childrenToWrap) => (\n <StyledFocusWrapper\n className={clsx(\n classes?.externalReference,\n focusClasses.externalReference\n )}\n >\n {childrenToWrap}\n {showFocus && (\n <StyledFalseFocus\n className={clsx(classes?.falseFocus, focusClasses.falseFocus)}\n />\n )}\n </StyledFocusWrapper>\n );\n\n return (\n <ConditionalWrapper condition={useFalseFocus} wrapper={focusWrapper}>\n <Global styles={focusStyles} />\n {React.cloneElement(children, {\n className: clsx(\n children.props.className,\n focusClasses.root,\n classes?.root,\n filterClass,\n selected && clsx(focusClasses.selected, classes?.selected),\n disabledClass && clsx(focusClasses.disabled, classes?.disabled),\n focusDisabled &&\n clsx(focusClasses.focusDisabled, classes?.focusDisabled)\n ),\n ref: config,\n onFocus,\n onBlur,\n onMouseDown,\n onKeyDown,\n onKeyUp,\n selected,\n })}\n </ConditionalWrapper>\n );\n};\n"],"names":["focusStyles","process","env","NODE_ENV","name","styles","map","toString","_EMOTION_STRINGIFIED_CSS_ERROR__","HvFocus","classes","children","configuration","disabledClass","selected","disabled","rootRef","undefined","focusOnClick","focusDisabled","strategy","useFalseFocus","filterClass","navigationJump","showFocus","setShowFocus","useState","childFocus","setChildFocus","hasRunConfig","setHasRunConfig","getFocuses","focuses","current","Array","from","getElementsByClassName","focusClasses","root","setTabIndex","el","tabIndex","elChildFocus","getFocusableChildren","setSelectedTabIndex","firstSelected","find","focus","classList","contains","forEach","clearTabSiblings","onFocusStrategy","evt","currentTarget","onBlurStrategy","document","activeElement","setTimeout","config","focusableChildren","length","child","isNil","addFocusClass","add","focused","split","c","removeFocusClass","element","remove","onFocus","onBlur","onMouseDown","hasCard","querySelector","setFocusTo","focusAndUpdateIndex","nextFocus","previousFocus","focusesList","includes","getEnabledKeys","currentFocusIndex","jump","listSize","right","left","up","down","onGridKeyDownHandler","ArrowUp","ArrowDown","Home","End","ArrowLeft","ArrowRight","Enter","SpaceBar","keyboardCodes","childFocusIsInput","nodeName","isOneOfKeys","isKey","preventDefault","stopPropagation","blockedKeys","keyCode","isBrowser","target","click","last","fall","first","previous","next","onVerticalArrangementHandler","onSingleHandler","onKeyDown","isDisabledFocusable","filter","currentFocus","indexOf","onKeyUp","focusWrapper","childrenToWrap","_jsxs","StyledFocusWrapper","className","clsx","externalReference","StyledFalseFocus","falseFocus","ConditionalWrapper","condition","wrapper","_jsx","Global","React","cloneElement","props","ref"],"mappings":"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"}
1
+ {"version":3,"file":"Focus.js","sources":["../../../../src/components/Focus/Focus.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport { isNil } from \"lodash\";\nimport React, { RefObject, useState } from \"react\";\nimport { HvBaseProps } from \"../../types\";\nimport { keyboardCodes, isBrowser } from \"utils\";\nimport ConditionalWrapper from \"utils/ConditionalWrapper\";\nimport { StyledFocusWrapper, StyledFalseFocus } from \"./Focus.styles\";\nimport { getFocusableChildren, isKey, isOneOfKeys, setFocusTo } from \"./utils\";\nimport focusClasses, { HvFocusClasses } from \"./focusClasses\";\nimport { css, Global } from \"@emotion/react\";\n\nconst focusStyles = css`\n .HvFocus-focused {\n outline-color: #52a8ec;\n outline-style: solid;\n outline-width: 0px;\n outline-offset: -1px;\n box-shadow: 0 0 0 1px #52a8ec, 0 0 0 4px rgba(29, 155, 209, 0.3);\n\n @media (-webkit-min-device-pixel-ratio: 0) {\n outline-color: #52a8ec;\n outline-style: solid;\n outline-width: 0px;\n outline-offset: -1px;\n box-shadow: 0 0 0 1px #52a8ec, 0 0 0 4px rgba(29, 155, 209, 0.3);\n }\n }\n\n .HvFocus-focusDisabled {\n outline: none;\n box-shadow: none;\n }\n .HvFocus-focusDisabled *:focus {\n outline: none;\n box-shadow: none;\n }\n .HvFocus-focusDisabled * {\n outline: none !important;\n box-shadow: none !important;\n }\n`;\n\nexport type HvFocusProps = HvBaseProps<HTMLElement, { children }> & {\n children: React.ReactElement;\n /** Extra configuration for the child element. */\n configuration?: {\n tabIndex?: number;\n };\n /** Indicates that the disabled class should be applied. */\n disabledClass?: boolean;\n /** Whether the focus is selected. */\n selected?: boolean;\n /** Whether the focus is disabled. */\n disabled?: boolean;\n /** The reference to the root element to hold all Focus' context. */\n rootRef?: RefObject<HTMLElement>;\n /** Show focus when click element. v*/\n focusOnClick?: boolean;\n /** Show focus when click element. v*/\n focusDisabled?: boolean;\n /** Use up/ down keyboard arrows to control focus. */\n useArrows?: boolean;\n /** Focus and navigation strategy to be used. v*/\n strategy?: \"listbox\" | \"menu\" | \"card\" | \"grid\";\n /** Uses an absolute positioned div as a focus. v*/\n useFalseFocus?: boolean;\n /** Narrows the results of the focus to only theses class v*/\n filterClass?: string;\n /** How much the navigation will skip when using the arrows. v*/\n navigationJump?: number;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvFocusClasses;\n};\n\nexport const HvFocus = ({\n classes,\n children,\n configuration = {},\n disabledClass = false,\n selected = false,\n disabled = false,\n rootRef = undefined,\n focusOnClick = false,\n focusDisabled = true,\n strategy = \"listbox\",\n useFalseFocus = false,\n filterClass,\n navigationJump = 4,\n}: HvFocusProps) => {\n const [showFocus, setShowFocus] = useState<boolean>(false);\n const [childFocus, setChildFocus] = useState<any>();\n const [hasRunConfig, setHasRunConfig] = useState(false);\n\n const getFocuses = () => {\n const focuses = rootRef?.current\n ? Array.from(\n rootRef.current.getElementsByClassName(\n filterClass || focusClasses.root || classes?.root || \"root\"\n )\n )\n : [];\n return focuses;\n };\n\n const setTabIndex = (el, tabIndex = 0) => {\n const elChildFocus = getFocusableChildren(el)[0];\n if (elChildFocus) {\n el.tabIndex = -1;\n elChildFocus.tabIndex = tabIndex;\n } else {\n el.tabIndex = tabIndex;\n }\n };\n\n const setSelectedTabIndex = () => {\n const focuses = getFocuses();\n const firstSelected = focuses.find((focus) =>\n focus.classList.contains(\n focusClasses.selected || classes?.selected || \"selected\"\n )\n );\n\n if (!firstSelected) return;\n focuses.forEach((focus) => setTabIndex(focus, -1));\n setTabIndex(firstSelected, 0);\n };\n\n const clearTabSiblings = (el) => {\n getFocuses().forEach((focus) => setTabIndex(focus, -1));\n setTabIndex(el, 0);\n };\n\n const onFocusStrategy = (evt) => {\n if (strategy === \"listbox\") {\n clearTabSiblings(evt.currentTarget);\n }\n };\n\n const onBlurStrategy = () => {\n if (\n strategy === \"listbox\" &&\n rootRef &&\n rootRef.current &&\n !rootRef.current.contains(document.activeElement)\n ) {\n setTimeout(() => {\n setSelectedTabIndex();\n }, 10);\n }\n };\n\n const config = (el) => {\n const { tabIndex } = configuration;\n if (!el || hasRunConfig) return;\n if (strategy === \"card\") {\n setChildFocus(children);\n return;\n }\n\n if (strategy === \"grid\") {\n return;\n }\n\n const focusableChildren = getFocusableChildren(el);\n if (focusableChildren.length) {\n focusableChildren.forEach((child) => setTabIndex(child, -1));\n setChildFocus(focusableChildren[0]);\n }\n\n if (!isNil(tabIndex)) setTabIndex(el, tabIndex);\n setHasRunConfig(true);\n };\n\n const addFocusClass = (evt) => {\n if (!useFalseFocus) {\n evt.currentTarget.classList.add(focusClasses.focused);\n if (classes?.focused) {\n evt.currentTarget.classList.add(classes.focused);\n }\n // add global class HvIsFocused as a marker\n // not to be styled directly, only as helper in specific css queries\n evt.currentTarget.classList.add(\"HvIsFocused\");\n classes?.focus\n ?.split(\" \")\n .forEach((c) => evt.currentTarget.classList.add(c));\n }\n };\n\n const removeFocusClass = () => {\n if (!useFalseFocus) {\n getFocuses().forEach((element) => {\n if (focusClasses.focused) {\n element.classList.remove(focusClasses.focused);\n }\n if (classes?.focused) {\n element.classList.remove(classes.focused);\n }\n // remove the global class HvIsFocused\n element.classList.remove(\"HvIsFocused\");\n classes?.focus?.split(\" \").forEach((c) => element.classList.remove(c));\n });\n }\n };\n\n const onFocus = (evt) => {\n addFocusClass(evt);\n setShowFocus(true);\n // give focus to child element if any focusable\n\n if (childFocus && childFocus.focus) childFocus.focus();\n onFocusStrategy(evt);\n };\n\n const onBlur = () => {\n setShowFocus(false);\n removeFocusClass();\n onBlurStrategy();\n };\n\n const onMouseDown = (evt) => {\n const hasCard = !!evt.currentTarget?.querySelector(\".HvIsCardGridElement\");\n if (strategy === \"grid\" && hasCard) return;\n\n setFocusTo(evt.currentTarget);\n setTabIndex(evt.currentTarget, 0);\n // remove focus outline unless explicitly enabled\n if (!focusOnClick) {\n // TODO this piece of code works only because onMouseDown is happening after the focus event\n // There is nothing in here that guarantees the order of these events, so it may present a problem in the future\n removeFocusClass();\n setShowFocus(false);\n }\n };\n\n const focusAndUpdateIndex = (nextFocus, previousFocus, focusesList) => {\n if (focusesList?.includes(previousFocus)) {\n setTabIndex(previousFocus, -1);\n }\n setTabIndex(nextFocus, 0);\n setFocusTo(nextFocus);\n };\n\n const getEnabledKeys = (currentFocusIndex, jump, listSize) => ({\n right:\n (currentFocusIndex + 1) % jump === 0 ||\n currentFocusIndex + 1 > listSize - 1,\n left: currentFocusIndex % jump === 0,\n up: currentFocusIndex - jump < 0,\n down:\n currentFocusIndex + jump > listSize ||\n currentFocusIndex + jump > listSize - 1,\n });\n\n const onGridKeyDownHandler = (\n evt,\n focuses,\n focusesList,\n currentFocusIndex,\n jump\n ) => {\n const {\n ArrowUp,\n ArrowDown,\n Home,\n End,\n ArrowLeft,\n ArrowRight,\n Enter,\n SpaceBar,\n } = keyboardCodes;\n\n const childFocusIsInput = childFocus && childFocus.nodeName === \"INPUT\";\n\n if (\n !isOneOfKeys(evt, [\n ArrowUp,\n ArrowDown,\n ArrowLeft,\n ArrowRight,\n Home,\n End,\n SpaceBar,\n Enter,\n ]) ||\n (childFocusIsInput && isKey(evt, Enter))\n ) {\n // nothing to do\n return;\n }\n\n // we'll do something with the key so prevent default and stop propagation\n // except for Enter and SpaceBar\n if (!isOneOfKeys(evt, [Enter, SpaceBar])) {\n evt.preventDefault();\n evt.stopPropagation();\n }\n\n const blockedKeys = getEnabledKeys(\n currentFocusIndex,\n jump,\n focusesList.length\n );\n\n switch (evt.keyCode) {\n case SpaceBar:\n case Enter:\n if (isBrowser(\"firefox\")) {\n evt.target.click();\n } else {\n evt.currentTarget.click();\n }\n break;\n case ArrowUp:\n if (!blockedKeys.up) {\n focusAndUpdateIndex(\n focuses.jump || focuses.last,\n evt.current,\n focusesList\n );\n }\n break;\n case ArrowDown:\n if (!blockedKeys.down) {\n focusAndUpdateIndex(\n focuses.fall || focuses.first,\n evt.current,\n focusesList\n );\n }\n break;\n case ArrowLeft:\n if (!blockedKeys.left) {\n focusAndUpdateIndex(\n focuses.previous || focuses.last,\n evt.current,\n focusesList\n );\n }\n break;\n case ArrowRight:\n if (!blockedKeys.right) {\n focusAndUpdateIndex(\n focuses.next || focuses.first,\n evt.current,\n focusesList\n );\n }\n break;\n case Home:\n focusAndUpdateIndex(focuses.first, evt.current, focusesList);\n break;\n case End:\n focusAndUpdateIndex(focuses.last, evt.current, focusesList);\n break;\n default:\n }\n };\n\n const onVerticalArrangementHandler = (evt, focuses, focusesList) => {\n const { ArrowUp, ArrowDown, Home, End, Enter, SpaceBar } = keyboardCodes;\n const childFocusIsInput = childFocus && childFocus.nodeName === \"INPUT\";\n\n if (\n !isOneOfKeys(evt, [ArrowUp, ArrowDown, Home, End, SpaceBar, Enter]) ||\n (childFocusIsInput && isKey(evt, Enter))\n ) {\n // nothing to do\n return;\n }\n\n // we'll do something with the key so prevent default and stop propagation\n evt.preventDefault();\n evt.stopPropagation();\n\n switch (evt.keyCode) {\n case SpaceBar:\n case Enter:\n evt.target.click();\n break;\n case ArrowUp:\n focusAndUpdateIndex(\n focuses.previous || focuses.last,\n evt.current,\n focusesList\n );\n break;\n case ArrowDown:\n focusAndUpdateIndex(\n focuses.next || focuses.first,\n evt.current,\n focusesList\n );\n break;\n case Home:\n focusAndUpdateIndex(focuses.first, evt.current, focusesList);\n break;\n case End:\n focusAndUpdateIndex(focuses.last, evt.current, focusesList);\n break;\n default:\n }\n };\n\n const onSingleHandler = (evt) => {\n const { Enter, SpaceBar } = keyboardCodes;\n const childFocusIsInput = childFocus && childFocus.nodeName === \"INPUT\";\n\n if (\n !isOneOfKeys(evt, [SpaceBar, Enter]) ||\n (childFocusIsInput && isKey(evt, Enter))\n ) {\n // nothing to do\n return;\n }\n\n // we'll do something with the key so prevent default and stop propagation\n evt.preventDefault();\n evt.stopPropagation();\n\n evt.currentTarget.click();\n };\n\n const onKeyDown = (evt) => {\n if (rootRef?.current == null) {\n // operating outside of a composite widget\n // nothing to manage, just style and trigger clicks\n onSingleHandler(evt);\n return;\n }\n\n // TODO keep the smart default, but allow to explicitly override if disabled elements should be focusable\n const isDisabledFocusable = strategy === \"menu\";\n const focusesList = getFocuses().filter(\n (el) =>\n isDisabledFocusable ||\n !el.classList.contains(classes?.disabled as string)\n );\n\n const currentFocus = focusesList.indexOf(evt.currentTarget);\n\n const focuses = {\n first: focusesList[0],\n last: focusesList[focusesList.length - 1],\n previous: focusesList[currentFocus - 1],\n next: focusesList[currentFocus + 1],\n fall: focusesList[currentFocus + navigationJump],\n jump: focusesList[currentFocus - navigationJump],\n };\n\n if (strategy === \"grid\") {\n onGridKeyDownHandler(\n evt,\n focuses,\n focusesList,\n currentFocus,\n navigationJump\n );\n return;\n }\n\n // TODO add property for specifying the composite widget orientation\n // TODO implement handler for horizontal orientation\n onVerticalArrangementHandler(evt, focuses, focusesList);\n };\n\n const onKeyUp = (evt) => {\n if (isBrowser(\"firefox\")) evt.preventDefault();\n };\n\n if (disabled) return children;\n\n const focusWrapper = (childrenToWrap) => (\n <StyledFocusWrapper\n className={clsx(\n classes?.externalReference,\n focusClasses.externalReference\n )}\n >\n {childrenToWrap}\n {showFocus && (\n <StyledFalseFocus\n className={clsx(classes?.falseFocus, focusClasses.falseFocus)}\n />\n )}\n </StyledFocusWrapper>\n );\n\n return (\n <ConditionalWrapper condition={useFalseFocus} wrapper={focusWrapper}>\n <Global styles={focusStyles} />\n {React.cloneElement(children, {\n className: clsx(\n children.props.className,\n focusClasses.root,\n classes?.root,\n filterClass,\n selected && clsx(focusClasses.selected, classes?.selected),\n disabledClass && clsx(focusClasses.disabled, classes?.disabled),\n focusDisabled &&\n clsx(focusClasses.focusDisabled, classes?.focusDisabled)\n ),\n ref: config,\n onFocus,\n onBlur,\n onMouseDown,\n onKeyDown,\n onKeyUp,\n selected,\n })}\n </ConditionalWrapper>\n );\n};\n"],"names":["focusStyles","process","env","NODE_ENV","name","styles","map","toString","_EMOTION_STRINGIFIED_CSS_ERROR__","HvFocus","classes","children","configuration","disabledClass","selected","disabled","rootRef","undefined","focusOnClick","focusDisabled","strategy","useFalseFocus","filterClass","navigationJump","showFocus","setShowFocus","useState","childFocus","setChildFocus","hasRunConfig","setHasRunConfig","getFocuses","focuses","current","Array","from","getElementsByClassName","focusClasses","root","setTabIndex","el","tabIndex","elChildFocus","getFocusableChildren","setSelectedTabIndex","firstSelected","find","focus","classList","contains","forEach","clearTabSiblings","onFocusStrategy","evt","currentTarget","onBlurStrategy","document","activeElement","setTimeout","config","focusableChildren","length","child","isNil","addFocusClass","add","focused","split","c","removeFocusClass","element","remove","onFocus","onBlur","onMouseDown","hasCard","querySelector","setFocusTo","focusAndUpdateIndex","nextFocus","previousFocus","focusesList","includes","getEnabledKeys","currentFocusIndex","jump","listSize","right","left","up","down","onGridKeyDownHandler","ArrowUp","ArrowDown","Home","End","ArrowLeft","ArrowRight","Enter","SpaceBar","keyboardCodes","childFocusIsInput","nodeName","isOneOfKeys","isKey","preventDefault","stopPropagation","blockedKeys","keyCode","isBrowser","target","click","last","fall","first","previous","next","onVerticalArrangementHandler","onSingleHandler","onKeyDown","isDisabledFocusable","filter","currentFocus","indexOf","onKeyUp","focusWrapper","childrenToWrap","clsx","externalReference","falseFocus","React","cloneElement","className","props","ref"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
+ import { jsxs, jsx } from "@emotion/react/jsx-runtime";
1
2
  import { useTheme } from "@mui/material/styles";
2
3
  import clsx from "clsx";
3
4
  import footerClasses from "./footerClasses.js";
4
5
  import { StyledRoot, StyledName, StyledRightContainer, StyledCopyright, StyledSeparator } from "./Footer.styles.js";
5
- import { jsxs, jsx } from "@emotion/react/jsx-runtime";
6
6
  const HvFooter = (props) => {
7
7
  const {
8
8
  name = "Hitachi Vantara",
@@ -13,28 +13,14 @@ const HvFooter = (props) => {
13
13
  ...others
14
14
  } = props;
15
15
  const muiTheme = useTheme();
16
- return /* @__PURE__ */ jsxs(StyledRoot, {
17
- $breakpoints: muiTheme.breakpoints,
18
- className: clsx(className, footerClasses.root, classes == null ? void 0 : classes.root),
19
- ...others,
20
- children: [/* @__PURE__ */ jsx(StyledName, {
21
- $breakpoints: muiTheme.breakpoints,
22
- variant: "label",
23
- className: clsx(footerClasses.name, classes == null ? void 0 : classes.name),
24
- children: name
25
- }), /* @__PURE__ */ jsxs(StyledRightContainer, {
26
- className: clsx(footerClasses.rightContainer, classes == null ? void 0 : classes.rightContainer),
27
- $breakpoints: muiTheme.breakpoints,
28
- children: [/* @__PURE__ */ jsx(StyledCopyright, {
29
- $breakpoints: muiTheme.breakpoints,
30
- className: clsx(footerClasses.copyright, classes == null ? void 0 : classes.copyright),
31
- children: copyright
32
- }), links && /* @__PURE__ */ jsx(StyledSeparator, {
33
- $breakpoints: muiTheme.breakpoints,
34
- className: clsx(footerClasses.separator, classes == null ? void 0 : classes.separator)
35
- }), links]
36
- })]
37
- });
16
+ return /* @__PURE__ */ jsxs(StyledRoot, { $breakpoints: muiTheme.breakpoints, className: clsx(className, footerClasses.root, classes == null ? void 0 : classes.root), ...others, children: [
17
+ /* @__PURE__ */ jsx(StyledName, { $breakpoints: muiTheme.breakpoints, variant: "label", className: clsx(footerClasses.name, classes == null ? void 0 : classes.name), children: name }),
18
+ /* @__PURE__ */ jsxs(StyledRightContainer, { className: clsx(footerClasses.rightContainer, classes == null ? void 0 : classes.rightContainer), $breakpoints: muiTheme.breakpoints, children: [
19
+ /* @__PURE__ */ jsx(StyledCopyright, { $breakpoints: muiTheme.breakpoints, className: clsx(footerClasses.copyright, classes == null ? void 0 : classes.copyright), children: copyright }),
20
+ links && /* @__PURE__ */ jsx(StyledSeparator, { $breakpoints: muiTheme.breakpoints, className: clsx(footerClasses.separator, classes == null ? void 0 : classes.separator) }),
21
+ links
22
+ ] })
23
+ ] });
38
24
  };
39
25
  export {
40
26
  HvFooter
@@ -1 +1 @@
1
- {"version":3,"file":"Footer.js","sources":["../../../../src/components/Footer/Footer.tsx"],"sourcesContent":["import { useTheme } from \"@mui/material/styles\";\nimport clsx from \"clsx\";\nimport { HvBaseProps } from \"../../types\";\nimport footerClasses, { HvFooterClasses } from \"./footerClasses\";\nimport {\n StyledCopyright,\n StyledName,\n StyledRightContainer,\n StyledRoot,\n StyledSeparator,\n} from \"./Footer.styles\";\n\nexport type HvFooterProps = HvBaseProps & {\n name?: React.ReactNode;\n copyright?: React.ReactNode;\n links?: React.ReactNode;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvFooterClasses;\n};\n\n/**\n * A Footer is a way of providing extra information at the end of a page.\n */\nexport const HvFooter = (props: HvFooterProps) => {\n const {\n name = \"Hitachi Vantara\",\n copyright = `© Hitachi Vantara Corporation ${new Date().getFullYear()}. All Rights Reserved.`,\n links,\n classes,\n className,\n ...others\n } = props;\n const muiTheme = useTheme();\n\n return (\n <StyledRoot\n $breakpoints={muiTheme.breakpoints}\n className={clsx(className, footerClasses.root, classes?.root)}\n {...others}\n >\n <StyledName\n $breakpoints={muiTheme.breakpoints}\n variant=\"label\"\n className={clsx(footerClasses.name, classes?.name)}\n >\n {name}\n </StyledName>\n <StyledRightContainer\n className={clsx(footerClasses.rightContainer, classes?.rightContainer)}\n $breakpoints={muiTheme.breakpoints}\n >\n <StyledCopyright\n $breakpoints={muiTheme.breakpoints}\n className={clsx(footerClasses.copyright, classes?.copyright)}\n >\n {copyright}\n </StyledCopyright>\n {links && (\n <StyledSeparator\n $breakpoints={muiTheme.breakpoints}\n className={clsx(footerClasses.separator, classes?.separator)}\n />\n )}\n {links}\n </StyledRightContainer>\n </StyledRoot>\n );\n};\n"],"names":["HvFooter","props","name","copyright","Date","getFullYear","links","classes","className","others","muiTheme","useTheme","StyledRoot","$breakpoints","breakpoints","clsx","footerClasses","root","children","_jsx","StyledName","variant","_jsxs","StyledRightContainer","rightContainer","StyledCopyright","StyledSeparator","separator"],"mappings":";;;;;AAuBaA,MAAAA,WAAWA,CAACC,UAAyB;AAC1C,QAAA;AAAA,IACJC,OAAO;AAAA,IACPC,YAAa,oCAAgC,IAAIC,KAAAA,EAAOC;IACxDC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,OACGC;AAAAA,EACDR,IAAAA;AACJ,QAAMS,WAAWC;AAEjB,8BACGC,YAAU;AAAA,IACTC,cAAcH,SAASI;AAAAA,IACvBN,WAAWO,KAAKP,WAAWQ,cAAcC,MAAMV,mCAASU,IAAI;AAAA,IAAE,GAC1DR;AAAAA,IAAMS,UAAA,CAEVC,oBAACC,YAAU;AAAA,MACTP,cAAcH,SAASI;AAAAA,MACvBO,SAAQ;AAAA,MACRb,WAAWO,KAAKC,cAAcd,MAAMK,mCAASL,IAAI;AAAA,MAAEgB,UAElDhB;AAAAA,IAAAA,CACU,GACboB,qBAACC,sBAAoB;AAAA,MACnBf,WAAWO,KAAKC,cAAcQ,gBAAgBjB,mCAASiB,cAAc;AAAA,MACrEX,cAAcH,SAASI;AAAAA,MAAYI,UAAA,CAEnCC,oBAACM,iBAAe;AAAA,QACdZ,cAAcH,SAASI;AAAAA,QACvBN,WAAWO,KAAKC,cAAcb,WAAWI,mCAASJ,SAAS;AAAA,QAAEe,UAE5Df;AAAAA,MAAAA,CAAS,GAEXG,SACCa,oBAACO,iBAAe;AAAA,QACdb,cAAcH,SAASI;AAAAA,QACvBN,WAAWO,KAAKC,cAAcW,WAAWpB,mCAASoB,SAAS;AAAA,MAAE,CAAA,GAGhErB,KAAK;AAAA,IAAA,CACe,CAAA;AAAA,EAAA,CACZ;AAEjB;"}
1
+ {"version":3,"file":"Footer.js","sources":["../../../../src/components/Footer/Footer.tsx"],"sourcesContent":["import { useTheme } from \"@mui/material/styles\";\nimport clsx from \"clsx\";\nimport { HvBaseProps } from \"../../types\";\nimport footerClasses, { HvFooterClasses } from \"./footerClasses\";\nimport {\n StyledCopyright,\n StyledName,\n StyledRightContainer,\n StyledRoot,\n StyledSeparator,\n} from \"./Footer.styles\";\n\nexport type HvFooterProps = HvBaseProps & {\n name?: React.ReactNode;\n copyright?: React.ReactNode;\n links?: React.ReactNode;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvFooterClasses;\n};\n\n/**\n * A Footer is a way of providing extra information at the end of a page.\n */\nexport const HvFooter = (props: HvFooterProps) => {\n const {\n name = \"Hitachi Vantara\",\n copyright = `© Hitachi Vantara Corporation ${new Date().getFullYear()}. All Rights Reserved.`,\n links,\n classes,\n className,\n ...others\n } = props;\n const muiTheme = useTheme();\n\n return (\n <StyledRoot\n $breakpoints={muiTheme.breakpoints}\n className={clsx(className, footerClasses.root, classes?.root)}\n {...others}\n >\n <StyledName\n $breakpoints={muiTheme.breakpoints}\n variant=\"label\"\n className={clsx(footerClasses.name, classes?.name)}\n >\n {name}\n </StyledName>\n <StyledRightContainer\n className={clsx(footerClasses.rightContainer, classes?.rightContainer)}\n $breakpoints={muiTheme.breakpoints}\n >\n <StyledCopyright\n $breakpoints={muiTheme.breakpoints}\n className={clsx(footerClasses.copyright, classes?.copyright)}\n >\n {copyright}\n </StyledCopyright>\n {links && (\n <StyledSeparator\n $breakpoints={muiTheme.breakpoints}\n className={clsx(footerClasses.separator, classes?.separator)}\n />\n )}\n {links}\n </StyledRightContainer>\n </StyledRoot>\n );\n};\n"],"names":["HvFooter","props","name","copyright","Date","getFullYear","links","classes","className","others","muiTheme","useTheme","breakpoints","clsx","footerClasses","root","rightContainer","separator"],"mappings":";;;;;AAuBaA,MAAAA,WAAWA,CAACC,UAAyB;AAC1C,QAAA;AAAA,IACJC,OAAO;AAAA,IACPC,YAAa,oCAAgC,IAAIC,KAAAA,EAAOC;IACxDC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,OACGC;AAAAA,EACDR,IAAAA;AACJ,QAAMS,WAAWC;AAEjB,SACG,qBAAA,YAAA,EACC,cAAcD,SAASE,aACvB,WAAWC,KAAKL,WAAWM,cAAcC,MAAMR,mCAASQ,IAAI,GAC5D,GAAIN,QAEJ,UAAA;AAAA,IAAA,oBAAC,YACC,EAAA,cAAcC,SAASE,aACvB,SAAQ,SACR,WAAWC,KAAKC,cAAcZ,MAAMK,mCAASL,IAAI,GAEhDA,UACH,MAAA;AAAA,IACA,qBAAC,sBACC,EAAA,WAAWW,KAAKC,cAAcE,gBAAgBT,mCAASS,cAAc,GACrE,cAAcN,SAASE,aAEvB,UAAA;AAAA,MAAC,oBAAA,iBAAA,EACC,cAAcF,SAASE,aACvB,WAAWC,KAAKC,cAAcX,WAAWI,mCAASJ,SAAS,GAE1DA,UACH,UAAA,CAAA;AAAA,MACCG,SACC,oBAAC,iBACC,EAAA,cAAcI,SAASE,aACvB,WAAWC,KAAKC,cAAcG,WAAWV,mCAASU,SAAS,EAE9D,CAAA;AAAA,MACAX;AAAAA,IAAAA,GACH;AAAA,EACF,EAAA,CAAA;AAEJ;"}
@@ -1,8 +1,8 @@
1
+ import { jsx } from "@emotion/react/jsx-runtime";
1
2
  import { forwardRef, useContext } from "react";
2
3
  import clsx from "clsx";
3
4
  import { StyledButton, StyledIcon, StyledRoot } from "./Adornment.styles.js";
4
5
  import adornmentClasses from "./adornmentClasses.js";
5
- import { jsx } from "@emotion/react/jsx-runtime";
6
6
  import { HvFormElementDescriptorsContext } from "../FormElement/context/FormElementDescriptorsContext.js";
7
7
  import { HvFormElementContext } from "../FormElement/context/FormElementContext.js";
8
8
  const preventDefault = (event) => event.preventDefault();
@@ -27,34 +27,7 @@ const HvAdornment = forwardRef(({
27
27
  } = useContext(HvFormElementDescriptorsContext);
28
28
  const displayIcon = isVisible != null ? isVisible : showWhen === void 0 || elementStatus === showWhen;
29
29
  const isClickable = !!onClick;
30
- return isClickable ? /* @__PURE__ */ jsx(StyledButton, {
31
- id,
32
- ref,
33
- type: "button",
34
- tabIndex: -1,
35
- "aria-controls": (_a = input == null ? void 0 : input[0]) == null ? void 0 : _a.id,
36
- className: clsx(className, adornmentClasses.root, classes == null ? void 0 : classes.root, adornmentClasses.adornment, classes == null ? void 0 : classes.adornment, adornmentClasses.adornmentButton, classes == null ? void 0 : classes.adornmentButton, !displayIcon && clsx(adornmentClasses.hideIcon, classes == null ? void 0 : classes.hideIcon)),
37
- onClick,
38
- onMouseDown: preventDefault,
39
- onKeyDown: noop,
40
- $hideIcon: !displayIcon,
41
- ...others,
42
- children: /* @__PURE__ */ jsx(StyledIcon, {
43
- className: clsx(adornmentClasses.icon, classes == null ? void 0 : classes.icon),
44
- children: icon
45
- })
46
- }) : /* @__PURE__ */ jsx(StyledRoot, {
47
- id,
48
- ref,
49
- className: clsx(className, adornmentClasses.root, classes == null ? void 0 : classes.root, adornmentClasses.adornment, classes == null ? void 0 : classes.adornment, adornmentClasses.adornmentIcon, classes == null ? void 0 : classes.adornmentIcon, !displayIcon && clsx(adornmentClasses.hideIcon, classes == null ? void 0 : classes.hideIcon)),
50
- $hideIcon: !displayIcon,
51
- role: "presentation",
52
- ...others,
53
- children: /* @__PURE__ */ jsx(StyledIcon, {
54
- className: clsx(adornmentClasses.icon, classes == null ? void 0 : classes.icon),
55
- children: icon
56
- })
57
- });
30
+ return isClickable ? /* @__PURE__ */ jsx(StyledButton, { id, ref, type: "button", tabIndex: -1, "aria-controls": (_a = input == null ? void 0 : input[0]) == null ? void 0 : _a.id, className: clsx(className, adornmentClasses.root, classes == null ? void 0 : classes.root, adornmentClasses.adornment, classes == null ? void 0 : classes.adornment, adornmentClasses.adornmentButton, classes == null ? void 0 : classes.adornmentButton, !displayIcon && clsx(adornmentClasses.hideIcon, classes == null ? void 0 : classes.hideIcon)), onClick, onMouseDown: preventDefault, onKeyDown: noop, $hideIcon: !displayIcon, ...others, children: /* @__PURE__ */ jsx(StyledIcon, { className: clsx(adornmentClasses.icon, classes == null ? void 0 : classes.icon), children: icon }) }) : /* @__PURE__ */ jsx(StyledRoot, { id, ref, className: clsx(className, adornmentClasses.root, classes == null ? void 0 : classes.root, adornmentClasses.adornment, classes == null ? void 0 : classes.adornment, adornmentClasses.adornmentIcon, classes == null ? void 0 : classes.adornmentIcon, !displayIcon && clsx(adornmentClasses.hideIcon, classes == null ? void 0 : classes.hideIcon)), $hideIcon: !displayIcon, role: "presentation", ...others, children: /* @__PURE__ */ jsx(StyledIcon, { className: clsx(adornmentClasses.icon, classes == null ? void 0 : classes.icon), children: icon }) });
58
31
  });
59
32
  export {
60
33
  HvAdornment
@@ -1 +1 @@
1
- {"version":3,"file":"Adornment.js","sources":["../../../../../src/components/Forms/Adornment/Adornment.tsx"],"sourcesContent":["import { useContext, forwardRef, MouseEventHandler, ForwardedRef } from \"react\";\nimport clsx from \"clsx\";\nimport { HvBaseProps } from \"../../../types\";\nimport { StyledRoot, StyledIcon, StyledButton } from \"./Adornment.styles\";\nimport {\n HvFormElementContext,\n HvFormElementDescriptorsContext,\n HvFormStatus,\n} from \"../FormElement\";\nimport adornmentClasses, { HvAdornmentClasses } from \"./adornmentClasses\";\n\nconst preventDefault = (event) => event.preventDefault();\nconst noop = () => {};\n\nexport type HvAdornmentProps = HvBaseProps<\n HTMLDivElement | HTMLButtonElement,\n { onMouseDown; onKeyDown }\n> & {\n /** The icon to be added into the input. */\n icon: React.ReactNode;\n /** When the adornment should be displayed. */\n showWhen?: HvFormStatus;\n /** Function to be executed when this element is clicked. */\n onClick?: MouseEventHandler<HTMLButtonElement> | undefined;\n /** If this property is defined the adornment visibility will be exclusively controlled by this value. */\n isVisible?: boolean;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvAdornmentClasses;\n};\n\n/**\n * Allows to add a decorative icon or an action to a form element, usually on the right side of an input.\n * E.g., the reveal password button.\n *\n * In addition to the showWhen feature, which uses the form element's context validation state to determine\n * its visibility, this component also ensures that it does not steal focus from the input and that it is\n * not accessible using the keyboard.\n *\n * As such, its functionality, if any, for accessibility purposes must be provided through an alternative mean,\n * or by using a regular icon button or toggle button instead.\n */\nexport const HvAdornment = forwardRef<\n HTMLDivElement | HTMLButtonElement,\n HvAdornmentProps\n>(\n (\n {\n id,\n classes,\n className,\n icon,\n showWhen = undefined,\n onClick,\n isVisible = undefined,\n ...others\n },\n ref\n ) => {\n const { elementStatus = \"\" } = useContext(HvFormElementContext);\n\n const { input } = useContext(HvFormElementDescriptorsContext);\n\n const displayIcon =\n isVisible ?? (showWhen === undefined || elementStatus === showWhen);\n\n const isClickable = !!onClick;\n\n return isClickable ? (\n <StyledButton\n id={id}\n ref={ref as ForwardedRef<HTMLButtonElement>}\n type=\"button\"\n tabIndex={-1}\n aria-controls={input?.[0]?.id}\n className={clsx(\n className,\n adornmentClasses.root,\n classes?.root,\n adornmentClasses.adornment,\n classes?.adornment,\n adornmentClasses.adornmentButton,\n classes?.adornmentButton,\n !displayIcon && clsx(adornmentClasses.hideIcon, classes?.hideIcon)\n )}\n onClick={onClick}\n onMouseDown={preventDefault}\n onKeyDown={noop}\n $hideIcon={!displayIcon}\n {...others}\n >\n <StyledIcon className={clsx(adornmentClasses.icon, classes?.icon)}>\n {icon}\n </StyledIcon>\n </StyledButton>\n ) : (\n <StyledRoot\n id={id}\n ref={ref as ForwardedRef<HTMLDivElement>}\n className={clsx(\n className,\n adornmentClasses.root,\n classes?.root,\n adornmentClasses.adornment,\n classes?.adornment,\n adornmentClasses.adornmentIcon,\n classes?.adornmentIcon,\n !displayIcon && clsx(adornmentClasses.hideIcon, classes?.hideIcon)\n )}\n $hideIcon={!displayIcon}\n role=\"presentation\"\n {...others}\n >\n <StyledIcon className={clsx(adornmentClasses.icon, classes?.icon)}>\n {icon}\n </StyledIcon>\n </StyledRoot>\n );\n }\n);\n"],"names":["preventDefault","event","noop","HvAdornment","forwardRef","id","classes","className","icon","showWhen","undefined","onClick","isVisible","others","ref","elementStatus","useContext","HvFormElementContext","input","HvFormElementDescriptorsContext","displayIcon","isClickable","StyledButton","type","tabIndex","clsx","adornmentClasses","root","adornment","adornmentButton","hideIcon","onMouseDown","onKeyDown","$hideIcon","children","StyledIcon","_jsx","StyledRoot","adornmentIcon","role"],"mappings":";;;;;;;AAWA,MAAMA,iBAAkBC,CAAUA,UAAAA,MAAMD,eAAgB;AACxD,MAAME,OAAOA,MAAM;AAAC;AA6BPC,MAAAA,cAAcC,WAIzB,CACE;AAAA,EACEC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC,WAAWC;AAAAA,EACXC;AAAAA,EACAC,YAAYF;AAAAA,KACTG;AACL,GACAC,QACG;;AACG,QAAA;AAAA,IAAEC,gBAAgB;AAAA,EAAA,IAAOC,WAAWC,oBAAoB;AAExD,QAAA;AAAA,IAAEC;AAAAA,EAAAA,IAAUF,WAAWG,+BAA+B;AAE5D,QAAMC,cACJR,gCAAcH,aAAaC,UAAaK,kBAAkBN;AAEtDY,QAAAA,cAAc,CAAC,CAACV;AAEfU,SAAAA,kCACJC,cAAY;AAAA,IACXjB;AAAAA,IACAS;AAAAA,IACAS,MAAK;AAAA,IACLC,UAAU;AAAA,IACV,kBAAeN,oCAAQ,OAARA,mBAAYb;AAAAA,IAC3BE,WAAWkB,KACTlB,WACAmB,iBAAiBC,MACjBrB,mCAASqB,MACTD,iBAAiBE,WACjBtB,mCAASsB,WACTF,iBAAiBG,iBACjBvB,mCAASuB,iBACT,CAACT,eAAeK,KAAKC,iBAAiBI,UAAUxB,mCAASwB,QAAQ,CAAC;AAAA,IAEpEnB;AAAAA,IACAoB,aAAa/B;AAAAA,IACbgC,WAAW9B;AAAAA,IACX+B,WAAW,CAACb;AAAAA,IAAY,GACpBP;AAAAA,IAAMqB,8BAETC,YAAU;AAAA,MAAC5B,WAAWkB,KAAKC,iBAAiBlB,MAAMF,mCAASE,IAAI;AAAA,MAAE0B,UAC/D1B;AAAAA,IAAAA,CAAI;AAAA,EAAA,CAEM,IAEf4B,oBAACC,YAAU;AAAA,IACThC;AAAAA,IACAS;AAAAA,IACAP,WAAWkB,KACTlB,WACAmB,iBAAiBC,MACjBrB,mCAASqB,MACTD,iBAAiBE,WACjBtB,mCAASsB,WACTF,iBAAiBY,eACjBhC,mCAASgC,eACT,CAAClB,eAAeK,KAAKC,iBAAiBI,UAAUxB,mCAASwB,QAAQ,CAAC;AAAA,IAEpEG,WAAW,CAACb;AAAAA,IACZmB,MAAK;AAAA,IAAc,GACf1B;AAAAA,IAAMqB,8BAETC,YAAU;AAAA,MAAC5B,WAAWkB,KAAKC,iBAAiBlB,MAAMF,mCAASE,IAAI;AAAA,MAAE0B,UAC/D1B;AAAAA,IAAAA,CAAI;AAAA,EAAA,CAGV;AACH,CAAC;"}
1
+ {"version":3,"file":"Adornment.js","sources":["../../../../../src/components/Forms/Adornment/Adornment.tsx"],"sourcesContent":["import { useContext, forwardRef, MouseEventHandler, ForwardedRef } from \"react\";\nimport clsx from \"clsx\";\nimport { HvBaseProps } from \"../../../types\";\nimport { StyledRoot, StyledIcon, StyledButton } from \"./Adornment.styles\";\nimport {\n HvFormElementContext,\n HvFormElementDescriptorsContext,\n HvFormStatus,\n} from \"../FormElement\";\nimport adornmentClasses, { HvAdornmentClasses } from \"./adornmentClasses\";\n\nconst preventDefault = (event) => event.preventDefault();\nconst noop = () => {};\n\nexport type HvAdornmentProps = HvBaseProps<\n HTMLDivElement | HTMLButtonElement,\n { onMouseDown; onKeyDown }\n> & {\n /** The icon to be added into the input. */\n icon: React.ReactNode;\n /** When the adornment should be displayed. */\n showWhen?: HvFormStatus;\n /** Function to be executed when this element is clicked. */\n onClick?: MouseEventHandler<HTMLButtonElement> | undefined;\n /** If this property is defined the adornment visibility will be exclusively controlled by this value. */\n isVisible?: boolean;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvAdornmentClasses;\n};\n\n/**\n * Allows to add a decorative icon or an action to a form element, usually on the right side of an input.\n * E.g., the reveal password button.\n *\n * In addition to the showWhen feature, which uses the form element's context validation state to determine\n * its visibility, this component also ensures that it does not steal focus from the input and that it is\n * not accessible using the keyboard.\n *\n * As such, its functionality, if any, for accessibility purposes must be provided through an alternative mean,\n * or by using a regular icon button or toggle button instead.\n */\nexport const HvAdornment = forwardRef<\n HTMLDivElement | HTMLButtonElement,\n HvAdornmentProps\n>(\n (\n {\n id,\n classes,\n className,\n icon,\n showWhen = undefined,\n onClick,\n isVisible = undefined,\n ...others\n },\n ref\n ) => {\n const { elementStatus = \"\" } = useContext(HvFormElementContext);\n\n const { input } = useContext(HvFormElementDescriptorsContext);\n\n const displayIcon =\n isVisible ?? (showWhen === undefined || elementStatus === showWhen);\n\n const isClickable = !!onClick;\n\n return isClickable ? (\n <StyledButton\n id={id}\n ref={ref as ForwardedRef<HTMLButtonElement>}\n type=\"button\"\n tabIndex={-1}\n aria-controls={input?.[0]?.id}\n className={clsx(\n className,\n adornmentClasses.root,\n classes?.root,\n adornmentClasses.adornment,\n classes?.adornment,\n adornmentClasses.adornmentButton,\n classes?.adornmentButton,\n !displayIcon && clsx(adornmentClasses.hideIcon, classes?.hideIcon)\n )}\n onClick={onClick}\n onMouseDown={preventDefault}\n onKeyDown={noop}\n $hideIcon={!displayIcon}\n {...others}\n >\n <StyledIcon className={clsx(adornmentClasses.icon, classes?.icon)}>\n {icon}\n </StyledIcon>\n </StyledButton>\n ) : (\n <StyledRoot\n id={id}\n ref={ref as ForwardedRef<HTMLDivElement>}\n className={clsx(\n className,\n adornmentClasses.root,\n classes?.root,\n adornmentClasses.adornment,\n classes?.adornment,\n adornmentClasses.adornmentIcon,\n classes?.adornmentIcon,\n !displayIcon && clsx(adornmentClasses.hideIcon, classes?.hideIcon)\n )}\n $hideIcon={!displayIcon}\n role=\"presentation\"\n {...others}\n >\n <StyledIcon className={clsx(adornmentClasses.icon, classes?.icon)}>\n {icon}\n </StyledIcon>\n </StyledRoot>\n );\n }\n);\n"],"names":["preventDefault","event","noop","HvAdornment","forwardRef","id","classes","className","icon","showWhen","undefined","onClick","isVisible","others","ref","elementStatus","useContext","HvFormElementContext","input","HvFormElementDescriptorsContext","displayIcon","isClickable","clsx","adornmentClasses","root","adornment","adornmentButton","hideIcon","adornmentIcon"],"mappings":";;;;;;;AAWA,MAAMA,iBAAkBC,CAAUA,UAAAA,MAAMD,eAAgB;AACxD,MAAME,OAAOA,MAAM;AAAC;AA6BPC,MAAAA,cAAcC,WAIzB,CACE;AAAA,EACEC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC,WAAWC;AAAAA,EACXC;AAAAA,EACAC,YAAYF;AAAAA,KACTG;AACL,GACAC,QACG;;AACG,QAAA;AAAA,IAAEC,gBAAgB;AAAA,EAAA,IAAOC,WAAWC,oBAAoB;AAExD,QAAA;AAAA,IAAEC;AAAAA,EAAAA,IAAUF,WAAWG,+BAA+B;AAE5D,QAAMC,cACJR,gCAAcH,aAAaC,UAAaK,kBAAkBN;AAEtDY,QAAAA,cAAc,CAAC,CAACV;AAEfU,SAAAA,kCACJ,cACC,EAAA,IACA,KACA,MAAK,UACL,UAAU,IACV,kBAAeH,oCAAQ,OAARA,mBAAYb,IAC3B,WAAWiB,KACTf,WACAgB,iBAAiBC,MACjBlB,mCAASkB,MACTD,iBAAiBE,WACjBnB,mCAASmB,WACTF,iBAAiBG,iBACjBpB,mCAASoB,iBACT,CAACN,eAAeE,KAAKC,iBAAiBI,UAAUrB,mCAASqB,QAAQ,CAAC,GAEpE,SACA,aAAa3B,gBACb,WAAWE,MACX,WAAW,CAACkB,aACRP,GAAAA,QAEJ,UAAA,oBAAC,YAAW,EAAA,WAAWS,KAAKC,iBAAiBf,MAAMF,mCAASE,IAAI,GAC7DA,UACH,KAAA,CAAA,EACF,CAAA,IAEC,oBAAA,YAAA,EACC,IACA,KACA,WAAWc,KACTf,WACAgB,iBAAiBC,MACjBlB,mCAASkB,MACTD,iBAAiBE,WACjBnB,mCAASmB,WACTF,iBAAiBK,eACjBtB,mCAASsB,eACT,CAACR,eAAeE,KAAKC,iBAAiBI,UAAUrB,mCAASqB,QAAQ,CAAC,GAEpE,WAAW,CAACP,aACZ,MAAK,gBACL,GAAIP,QAEJ,UAAA,oBAAC,YAAW,EAAA,WAAWS,KAAKC,iBAAiBf,MAAMF,mCAASE,IAAI,GAC7DA,UAAAA,KACH,CAAA,EACF,CAAA;AAEJ,CAAC;"}
@@ -1,8 +1,8 @@
1
+ import { jsxs, jsx } from "@emotion/react/jsx-runtime";
1
2
  import { useContext } from "react";
2
3
  import clsx from "clsx";
3
4
  import { StyledRoot, StyledTypography } from "./CharCounter.styles.js";
4
5
  import charCounterClasses from "./charCounterClasses.js";
5
- import { jsxs, jsx } from "@emotion/react/jsx-runtime";
6
6
  import { HvFormElementContext } from "../FormElement/context/FormElementContext.js";
7
7
  import { setId } from "../../../utils/setId.js";
8
8
  const HvCharCounter = ({
@@ -25,32 +25,10 @@ const HvCharCounter = ({
25
25
  const currentId = setId(localId, "currentQuantity");
26
26
  const maxQuantityId = setId(localId, "maxQuantity");
27
27
  const isOverloaded = currentCharQuantity > maxCharQuantity;
28
- return /* @__PURE__ */ jsxs(StyledRoot, {
29
- id: localId,
30
- className: clsx(className, charCounterClasses.root, classes == null ? void 0 : classes.root, localDisabled && clsx(charCounterClasses.counterDisabled, classes == null ? void 0 : classes.counterDisabled), !disableGutter && clsx(charCounterClasses.gutter, classes == null ? void 0 : classes.gutter)),
31
- $counterDisabled: !!localDisabled,
32
- $gutter: !disableGutter,
33
- "aria-live": "polite",
34
- "aria-disabled": localDisabled,
35
- ...others,
36
- children: [/* @__PURE__ */ jsx(StyledTypography, {
37
- id: currentId,
38
- className: clsx(isOverloaded && !localDisabled && clsx(charCounterClasses.overloaded, classes == null ? void 0 : classes.overloaded), localDisabled && clsx(charCounterClasses.counterDisabled, classes == null ? void 0 : classes.counterDisabled)),
39
- variant: "label",
40
- component: "label",
41
- $overloaded: isOverloaded && !localDisabled,
42
- $counterDisabled: !!localDisabled,
43
- children: currentCharQuantity
44
- }), /* @__PURE__ */ jsx(StyledTypography, {
45
- id: maxQuantityId,
46
- className: clsx(isOverloaded && !localDisabled && clsx(charCounterClasses.overloaded, classes == null ? void 0 : classes.overloaded), localDisabled && clsx(charCounterClasses.counterDisabled, classes == null ? void 0 : classes.counterDisabled)),
47
- variant: "body",
48
- component: "label",
49
- $overloaded: isOverloaded && !localDisabled,
50
- $counterDisabled: !!localDisabled,
51
- children: ` ${separator} ${maxCharQuantity}`
52
- })]
53
- });
28
+ return /* @__PURE__ */ jsxs(StyledRoot, { id: localId, className: clsx(className, charCounterClasses.root, classes == null ? void 0 : classes.root, localDisabled && clsx(charCounterClasses.counterDisabled, classes == null ? void 0 : classes.counterDisabled), !disableGutter && clsx(charCounterClasses.gutter, classes == null ? void 0 : classes.gutter)), $counterDisabled: !!localDisabled, $gutter: !disableGutter, "aria-live": "polite", "aria-disabled": localDisabled, ...others, children: [
29
+ /* @__PURE__ */ jsx(StyledTypography, { id: currentId, className: clsx(isOverloaded && !localDisabled && clsx(charCounterClasses.overloaded, classes == null ? void 0 : classes.overloaded), localDisabled && clsx(charCounterClasses.counterDisabled, classes == null ? void 0 : classes.counterDisabled)), variant: "label", component: "label", $overloaded: isOverloaded && !localDisabled, $counterDisabled: !!localDisabled, children: currentCharQuantity }),
30
+ /* @__PURE__ */ jsx(StyledTypography, { id: maxQuantityId, className: clsx(isOverloaded && !localDisabled && clsx(charCounterClasses.overloaded, classes == null ? void 0 : classes.overloaded), localDisabled && clsx(charCounterClasses.counterDisabled, classes == null ? void 0 : classes.counterDisabled)), variant: "body", component: "label", $overloaded: isOverloaded && !localDisabled, $counterDisabled: !!localDisabled, children: ` ${separator} ${maxCharQuantity}` })
31
+ ] });
54
32
  };
55
33
  export {
56
34
  HvCharCounter
@@ -1 +1 @@
1
- {"version":3,"file":"CharCounter.js","sources":["../../../../../src/components/Forms/CharCounter/CharCounter.tsx"],"sourcesContent":["import { useContext } from \"react\";\nimport clsx from \"clsx\";\nimport { HvBaseProps } from \"../../../types\";\nimport { StyledRoot, StyledTypography } from \"./CharCounter.styles\";\nimport { setId } from \"../../../utils\";\nimport { HvFormElementContext } from \"../FormElement\";\nimport charCounterClasses, { HvCharCounterClasses } from \"./charCounterClasses\";\n\nexport type HvCharCounterProps = HvBaseProps & {\n /** The string that separates the current char quantity from the max quantity. */\n separator?: string;\n /** The maximum allowed length of the characters. */\n maxCharQuantity: number;\n /** The current char quantity to be rendered. */\n currentCharQuantity?: number;\n /** If `true` the counter is disabled. */\n disabled?: boolean;\n /** If `true` the info message won't have margins. */\n disableGutter?: boolean;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvCharCounterClasses;\n};\n\n/**\n * Displays the capacity and current usage of a text input box (character count by default).\n *\n * Use the character counter when there is a character or word limit.\n * By itself it doesn't block the user from going above the limit.\n */\nexport const HvCharCounter = ({\n separator = \"/\",\n maxCharQuantity,\n currentCharQuantity = 0,\n classes,\n className,\n id,\n disabled,\n disableGutter = false,\n ...others\n}: HvCharCounterProps) => {\n const { elementId, elementDisabled } = useContext(HvFormElementContext);\n const localDisabled = disabled || elementDisabled;\n const localId = id ?? setId(elementId, \"counter\");\n const currentId = setId(localId, \"currentQuantity\");\n const maxQuantityId = setId(localId, \"maxQuantity\");\n const isOverloaded = currentCharQuantity > maxCharQuantity;\n\n return (\n <StyledRoot\n id={localId}\n className={clsx(\n className,\n charCounterClasses.root,\n classes?.root,\n localDisabled &&\n clsx(charCounterClasses.counterDisabled, classes?.counterDisabled),\n !disableGutter && clsx(charCounterClasses.gutter, classes?.gutter)\n )}\n $counterDisabled={!!localDisabled}\n $gutter={!disableGutter}\n aria-live=\"polite\"\n aria-disabled={localDisabled}\n {...others}\n >\n <StyledTypography\n id={currentId}\n className={clsx(\n isOverloaded &&\n !localDisabled &&\n clsx(charCounterClasses.overloaded, classes?.overloaded),\n localDisabled &&\n clsx(charCounterClasses.counterDisabled, classes?.counterDisabled)\n )}\n variant=\"label\"\n component=\"label\"\n $overloaded={isOverloaded && !localDisabled}\n $counterDisabled={!!localDisabled}\n >\n {currentCharQuantity}\n </StyledTypography>\n <StyledTypography\n id={maxQuantityId}\n className={clsx(\n isOverloaded &&\n !localDisabled &&\n clsx(charCounterClasses.overloaded, classes?.overloaded),\n localDisabled &&\n clsx(charCounterClasses.counterDisabled, classes?.counterDisabled)\n )}\n variant=\"body\"\n component=\"label\"\n $overloaded={isOverloaded && !localDisabled}\n $counterDisabled={!!localDisabled}\n >\n {` ${separator} ${maxCharQuantity}`}\n </StyledTypography>\n </StyledRoot>\n );\n};\n"],"names":["HvCharCounter","separator","maxCharQuantity","currentCharQuantity","classes","className","id","disabled","disableGutter","others","elementId","elementDisabled","useContext","HvFormElementContext","localDisabled","localId","setId","currentId","maxQuantityId","isOverloaded","StyledRoot","clsx","charCounterClasses","root","counterDisabled","gutter","$counterDisabled","$gutter","children","_jsx","StyledTypography","overloaded","variant","component","$overloaded"],"mappings":";;;;;;;AA6BO,MAAMA,gBAAgBA,CAAC;AAAA,EAC5BC,YAAY;AAAA,EACZC;AAAAA,EACAC,sBAAsB;AAAA,EACtBC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC,gBAAgB;AAAA,KACbC;AACe,MAAM;AAClB,QAAA;AAAA,IAAEC;AAAAA,IAAWC;AAAAA,EAAAA,IAAoBC,WAAWC,oBAAoB;AACtE,QAAMC,gBAAgBP,YAAYI;AAClC,QAAMI,UAAUT,kBAAMU,MAAMN,WAAW,SAAS;AAC1CO,QAAAA,YAAYD,MAAMD,SAAS,iBAAiB;AAC5CG,QAAAA,gBAAgBF,MAAMD,SAAS,aAAa;AAClD,QAAMI,eAAehB,sBAAsBD;AAE3C,8BACGkB,YAAU;AAAA,IACTd,IAAIS;AAAAA,IACJV,WAAWgB,KACThB,WACAiB,mBAAmBC,MACnBnB,mCAASmB,MACTT,iBACEO,KAAKC,mBAAmBE,iBAAiBpB,mCAASoB,eAAe,GACnE,CAAChB,iBAAiBa,KAAKC,mBAAmBG,QAAQrB,mCAASqB,MAAM,CAAC;AAAA,IAEpEC,kBAAkB,CAAC,CAACZ;AAAAA,IACpBa,SAAS,CAACnB;AAAAA,IACV,aAAU;AAAA,IACV,iBAAeM;AAAAA,IAAc,GACzBL;AAAAA,IAAMmB,UAAA,CAEVC,oBAACC,kBAAgB;AAAA,MACfxB,IAAIW;AAAAA,MACJZ,WAAWgB,KACTF,gBACE,CAACL,iBACDO,KAAKC,mBAAmBS,YAAY3B,mCAAS2B,UAAU,GACzDjB,iBACEO,KAAKC,mBAAmBE,iBAAiBpB,mCAASoB,eAAe,CAAC;AAAA,MAEtEQ,SAAQ;AAAA,MACRC,WAAU;AAAA,MACVC,aAAaf,gBAAgB,CAACL;AAAAA,MAC9BY,kBAAkB,CAAC,CAACZ;AAAAA,MAAcc,UAEjCzB;AAAAA,IAAAA,CACgB,GACnB0B,oBAACC,kBAAgB;AAAA,MACfxB,IAAIY;AAAAA,MACJb,WAAWgB,KACTF,gBACE,CAACL,iBACDO,KAAKC,mBAAmBS,YAAY3B,mCAAS2B,UAAU,GACzDjB,iBACEO,KAAKC,mBAAmBE,iBAAiBpB,mCAASoB,eAAe,CAAC;AAAA,MAEtEQ,SAAQ;AAAA,MACRC,WAAU;AAAA,MACVC,aAAaf,gBAAgB,CAACL;AAAAA,MAC9BY,kBAAkB,CAAC,CAACZ;AAAAA,MAAcc,UAEhC,IAAG3B,aAAaC;AAAAA,IAAAA,CACD,CAAA;AAAA,EAAA,CACR;AAEjB;"}
1
+ {"version":3,"file":"CharCounter.js","sources":["../../../../../src/components/Forms/CharCounter/CharCounter.tsx"],"sourcesContent":["import { useContext } from \"react\";\nimport clsx from \"clsx\";\nimport { HvBaseProps } from \"../../../types\";\nimport { StyledRoot, StyledTypography } from \"./CharCounter.styles\";\nimport { setId } from \"../../../utils\";\nimport { HvFormElementContext } from \"../FormElement\";\nimport charCounterClasses, { HvCharCounterClasses } from \"./charCounterClasses\";\n\nexport type HvCharCounterProps = HvBaseProps & {\n /** The string that separates the current char quantity from the max quantity. */\n separator?: string;\n /** The maximum allowed length of the characters. */\n maxCharQuantity: number;\n /** The current char quantity to be rendered. */\n currentCharQuantity?: number;\n /** If `true` the counter is disabled. */\n disabled?: boolean;\n /** If `true` the info message won't have margins. */\n disableGutter?: boolean;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvCharCounterClasses;\n};\n\n/**\n * Displays the capacity and current usage of a text input box (character count by default).\n *\n * Use the character counter when there is a character or word limit.\n * By itself it doesn't block the user from going above the limit.\n */\nexport const HvCharCounter = ({\n separator = \"/\",\n maxCharQuantity,\n currentCharQuantity = 0,\n classes,\n className,\n id,\n disabled,\n disableGutter = false,\n ...others\n}: HvCharCounterProps) => {\n const { elementId, elementDisabled } = useContext(HvFormElementContext);\n const localDisabled = disabled || elementDisabled;\n const localId = id ?? setId(elementId, \"counter\");\n const currentId = setId(localId, \"currentQuantity\");\n const maxQuantityId = setId(localId, \"maxQuantity\");\n const isOverloaded = currentCharQuantity > maxCharQuantity;\n\n return (\n <StyledRoot\n id={localId}\n className={clsx(\n className,\n charCounterClasses.root,\n classes?.root,\n localDisabled &&\n clsx(charCounterClasses.counterDisabled, classes?.counterDisabled),\n !disableGutter && clsx(charCounterClasses.gutter, classes?.gutter)\n )}\n $counterDisabled={!!localDisabled}\n $gutter={!disableGutter}\n aria-live=\"polite\"\n aria-disabled={localDisabled}\n {...others}\n >\n <StyledTypography\n id={currentId}\n className={clsx(\n isOverloaded &&\n !localDisabled &&\n clsx(charCounterClasses.overloaded, classes?.overloaded),\n localDisabled &&\n clsx(charCounterClasses.counterDisabled, classes?.counterDisabled)\n )}\n variant=\"label\"\n component=\"label\"\n $overloaded={isOverloaded && !localDisabled}\n $counterDisabled={!!localDisabled}\n >\n {currentCharQuantity}\n </StyledTypography>\n <StyledTypography\n id={maxQuantityId}\n className={clsx(\n isOverloaded &&\n !localDisabled &&\n clsx(charCounterClasses.overloaded, classes?.overloaded),\n localDisabled &&\n clsx(charCounterClasses.counterDisabled, classes?.counterDisabled)\n )}\n variant=\"body\"\n component=\"label\"\n $overloaded={isOverloaded && !localDisabled}\n $counterDisabled={!!localDisabled}\n >\n {` ${separator} ${maxCharQuantity}`}\n </StyledTypography>\n </StyledRoot>\n );\n};\n"],"names":["HvCharCounter","separator","maxCharQuantity","currentCharQuantity","classes","className","id","disabled","disableGutter","others","elementId","elementDisabled","useContext","HvFormElementContext","localDisabled","localId","setId","currentId","maxQuantityId","isOverloaded","clsx","charCounterClasses","root","counterDisabled","gutter","overloaded"],"mappings":";;;;;;;AA6BO,MAAMA,gBAAgBA,CAAC;AAAA,EAC5BC,YAAY;AAAA,EACZC;AAAAA,EACAC,sBAAsB;AAAA,EACtBC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC,gBAAgB;AAAA,KACbC;AACe,MAAM;AAClB,QAAA;AAAA,IAAEC;AAAAA,IAAWC;AAAAA,EAAAA,IAAoBC,WAAWC,oBAAoB;AACtE,QAAMC,gBAAgBP,YAAYI;AAClC,QAAMI,UAAUT,kBAAMU,MAAMN,WAAW,SAAS;AAC1CO,QAAAA,YAAYD,MAAMD,SAAS,iBAAiB;AAC5CG,QAAAA,gBAAgBF,MAAMD,SAAS,aAAa;AAClD,QAAMI,eAAehB,sBAAsBD;AAE3C,8BACG,YACC,EAAA,IAAIa,SACJ,WAAWK,KACTf,WACAgB,mBAAmBC,MACnBlB,mCAASkB,MACTR,iBACEM,KAAKC,mBAAmBE,iBAAiBnB,mCAASmB,eAAe,GACnE,CAACf,iBAAiBY,KAAKC,mBAAmBG,QAAQpB,mCAASoB,MAAM,CAAC,GAEpE,kBAAkB,CAAC,CAACV,eACpB,SAAS,CAACN,eACV,aAAU,UACV,iBAAeM,eACf,GAAIL,QAEJ,UAAA;AAAA,IAAA,oBAAC,kBACC,EAAA,IAAIQ,WACJ,WAAWG,KACTD,gBACE,CAACL,iBACDM,KAAKC,mBAAmBI,YAAYrB,mCAASqB,UAAU,GACzDX,iBACEM,KAAKC,mBAAmBE,iBAAiBnB,mCAASmB,eAAe,CAAC,GAEtE,SAAQ,SACR,WAAU,SACV,aAAaJ,gBAAgB,CAACL,eAC9B,kBAAkB,CAAC,CAACA,eAEnBX,UACH,qBAAA;AAAA,wBACC,kBACC,EAAA,IAAIe,eACJ,WAAWE,KACTD,gBACE,CAACL,iBACDM,KAAKC,mBAAmBI,YAAYrB,mCAASqB,UAAU,GACzDX,iBACEM,KAAKC,mBAAmBE,iBAAiBnB,mCAASmB,eAAe,CAAC,GAEtE,SAAQ,QACR,WAAU,SACV,aAAaJ,gBAAgB,CAACL,eAC9B,kBAAkB,CAAC,CAACA,eAElB,UAAA,IAAGb,aAAaC,mBACpB;AAAA,EACF,EAAA,CAAA;AAEJ;"}
@@ -1,3 +1,4 @@
1
+ import { jsx } from "@emotion/react/jsx-runtime";
1
2
  import { useMemo } from "react";
2
3
  import clsx from "clsx";
3
4
  import { findDescriptors } from "./utils/FormUtils.js";
@@ -5,7 +6,6 @@ import { HvFormElementContextProvider } from "./context/FormElementContext.js";
5
6
  import { HvFormElementValueContextProvider } from "./context/FormElementValueContext.js";
6
7
  import { HvFormElementDescriptorsContextProvider } from "./context/FormElementDescriptorsContext.js";
7
8
  import formElementClasses from "./formElementClasses.js";
8
- import { jsx } from "@emotion/react/jsx-runtime";
9
9
  import useUniqueId from "../../../hooks/useUniqueId.js";
10
10
  const HvFormElement = ({
11
11
  classes,
@@ -30,21 +30,7 @@ const HvFormElement = ({
30
30
  elementReadOnly: readOnly
31
31
  }), [disabled, elementId, name, readOnly, required, status]);
32
32
  const descriptors = useMemo(() => findDescriptors(children), [children]);
33
- return /* @__PURE__ */ jsx("div", {
34
- id,
35
- className: clsx(className, formElementClasses.root, classes == null ? void 0 : classes.root),
36
- ...others,
37
- children: /* @__PURE__ */ jsx(HvFormElementContextProvider, {
38
- value: contextValue,
39
- children: /* @__PURE__ */ jsx(HvFormElementValueContextProvider, {
40
- value,
41
- children: /* @__PURE__ */ jsx(HvFormElementDescriptorsContextProvider, {
42
- value: descriptors,
43
- children
44
- })
45
- })
46
- })
47
- });
33
+ return /* @__PURE__ */ jsx("div", { id, className: clsx(className, formElementClasses.root, classes == null ? void 0 : classes.root), ...others, children: /* @__PURE__ */ jsx(HvFormElementContextProvider, { value: contextValue, children: /* @__PURE__ */ jsx(HvFormElementValueContextProvider, { value, children: /* @__PURE__ */ jsx(HvFormElementDescriptorsContextProvider, { value: descriptors, children }) }) }) });
48
34
  };
49
35
  HvFormElement.formElementType = "formelement";
50
36
  export {
@@ -1 +1 @@
1
- {"version":3,"file":"FormElement.js","sources":["../../../../../src/components/Forms/FormElement/FormElement.tsx"],"sourcesContent":["import { useMemo } from \"react\";\nimport clsx from \"clsx\";\nimport { HvBaseProps } from \"../../../types/index\";\nimport { useUniqueId } from \"hooks\";\nimport { findDescriptors } from \"./utils/FormUtils\";\nimport { HvFormElementContextProvider } from \"./context/FormElementContext\";\nimport { HvFormElementValueContextProvider } from \"./context/FormElementValueContext\";\nimport { HvFormElementDescriptorsContextProvider } from \"./context/FormElementDescriptorsContext\";\nimport formElementClasses, { HvFormElementClasses } from \"./formElementClasses\";\n\nexport type HvFormStatus = \"standBy\" | \"valid\" | \"invalid\" | \"empty\";\n\nexport type HvFormElementProps = HvBaseProps & {\n /**\n * Name of the form element.\n *\n * Part of a name/value pair, should be the name property of the underling native input.\n */\n name?: string;\n /**\n * Current value of the form element.\n *\n * Part of a name/value pair, should be the value property of the underling native input.\n */\n value?: any;\n /**\n * The label of the form element.\n *\n * The form element must be labeled for accessibility reasons.\n * If not provided, an aria-label or aria-labelledby must be provided instead.\n */\n label?: React.ReactNode;\n /** Provide additional descriptive text for the form element. */\n description?: React.ReactNode;\n /** Whether the form element is disabled. */\n disabled?: boolean;\n /** Indicates that the form element is not editable. */\n readOnly?: boolean;\n /** Indicates that user input is required on the form element. */\n required?: boolean;\n /**\n * The status of the form element.\n *\n * Valid is correct, invalid is incorrect and standBy means no validations have run.\n *\n * When uncontrolled and unspecified it will default to \"standBy\" and change to either \"valid\"\n * or \"invalid\" after any change to the state.\n */\n status?: HvFormStatus;\n /** The error message to show when `status` is \"invalid\". */\n statusMessage?: string;\n /** The callback fired when the value changes. */\n onChange?: Function;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvFormElementClasses;\n};\n\nexport const HvFormElement = ({\n classes,\n className,\n children,\n id,\n name,\n value,\n disabled = false,\n required = false,\n readOnly = false,\n status = \"standBy\",\n ...others\n}: HvFormElementProps) => {\n const elementId = useUniqueId(id, \"hvformelement\");\n\n const contextValue = useMemo(\n () => ({\n elementId,\n elementName: name,\n elementStatus: status,\n elementDisabled: disabled,\n elementRequired: required,\n elementReadOnly: readOnly,\n }),\n [disabled, elementId, name, readOnly, required, status]\n );\n\n const descriptors = useMemo(() => findDescriptors(children), [children]);\n\n return (\n <div\n id={id}\n className={clsx(className, formElementClasses.root, classes?.root)}\n {...others}\n >\n <HvFormElementContextProvider value={contextValue}>\n <HvFormElementValueContextProvider value={value}>\n <HvFormElementDescriptorsContextProvider value={descriptors}>\n {children}\n </HvFormElementDescriptorsContextProvider>\n </HvFormElementValueContextProvider>\n </HvFormElementContextProvider>\n </div>\n );\n};\n\nHvFormElement.formElementType = \"formelement\";\n"],"names":["HvFormElement","classes","className","children","id","name","value","disabled","required","readOnly","status","others","elementId","useUniqueId","contextValue","useMemo","elementName","elementStatus","elementDisabled","elementRequired","elementReadOnly","descriptors","findDescriptors","clsx","formElementClasses","root","HvFormElementContextProvider","HvFormElementValueContextProvider","HvFormElementDescriptorsContextProvider","formElementType"],"mappings":";;;;;;;;;AAyDO,MAAMA,gBAAgBA,CAAC;AAAA,EAC5BC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC,WAAW;AAAA,EACXC,WAAW;AAAA,EACXC,WAAW;AAAA,EACXC,SAAS;AAAA,KACNC;AACe,MAAM;AAClBC,QAAAA,YAAYC,YAAYT,IAAI,eAAe;AAE3CU,QAAAA,eAAeC,QACnB,OAAO;AAAA,IACLH;AAAAA,IACAI,aAAaX;AAAAA,IACbY,eAAeP;AAAAA,IACfQ,iBAAiBX;AAAAA,IACjBY,iBAAiBX;AAAAA,IACjBY,iBAAiBX;AAAAA,EAAAA,IAEnB,CAACF,UAAUK,WAAWP,MAAMI,UAAUD,UAAUE,MAAM,CAAC;AAGnDW,QAAAA,cAAcN,QAAQ,MAAMO,gBAAgBnB,QAAQ,GAAG,CAACA,QAAQ,CAAC;AAEvE,6BACE,OAAA;AAAA,IACEC;AAAAA,IACAF,WAAWqB,KAAKrB,WAAWsB,mBAAmBC,MAAMxB,mCAASwB,IAAI;AAAA,IAAE,GAC/Dd;AAAAA,IAAMR,8BAETuB,8BAA4B;AAAA,MAACpB,OAAOQ;AAAAA,MAAaX,8BAC/CwB,mCAAiC;AAAA,QAACrB;AAAAA,QAAaH,8BAC7CyB,yCAAuC;AAAA,UAACtB,OAAOe;AAAAA,UAAYlB;AAAAA,QAAAA,CACjD;AAAA,MAAA,CAC+B;AAAA,IAAA,CACR;AAAA,EAAA,CAElC;AAEV;AAEAH,cAAc6B,kBAAkB;"}
1
+ {"version":3,"file":"FormElement.js","sources":["../../../../../src/components/Forms/FormElement/FormElement.tsx"],"sourcesContent":["import { useMemo } from \"react\";\nimport clsx from \"clsx\";\nimport { HvBaseProps } from \"../../../types/index\";\nimport { useUniqueId } from \"hooks\";\nimport { findDescriptors } from \"./utils/FormUtils\";\nimport { HvFormElementContextProvider } from \"./context/FormElementContext\";\nimport { HvFormElementValueContextProvider } from \"./context/FormElementValueContext\";\nimport { HvFormElementDescriptorsContextProvider } from \"./context/FormElementDescriptorsContext\";\nimport formElementClasses, { HvFormElementClasses } from \"./formElementClasses\";\n\nexport type HvFormStatus = \"standBy\" | \"valid\" | \"invalid\" | \"empty\";\n\nexport type HvFormElementProps = HvBaseProps & {\n /**\n * Name of the form element.\n *\n * Part of a name/value pair, should be the name property of the underling native input.\n */\n name?: string;\n /**\n * Current value of the form element.\n *\n * Part of a name/value pair, should be the value property of the underling native input.\n */\n value?: any;\n /**\n * The label of the form element.\n *\n * The form element must be labeled for accessibility reasons.\n * If not provided, an aria-label or aria-labelledby must be provided instead.\n */\n label?: React.ReactNode;\n /** Provide additional descriptive text for the form element. */\n description?: React.ReactNode;\n /** Whether the form element is disabled. */\n disabled?: boolean;\n /** Indicates that the form element is not editable. */\n readOnly?: boolean;\n /** Indicates that user input is required on the form element. */\n required?: boolean;\n /**\n * The status of the form element.\n *\n * Valid is correct, invalid is incorrect and standBy means no validations have run.\n *\n * When uncontrolled and unspecified it will default to \"standBy\" and change to either \"valid\"\n * or \"invalid\" after any change to the state.\n */\n status?: HvFormStatus;\n /** The error message to show when `status` is \"invalid\". */\n statusMessage?: string;\n /** The callback fired when the value changes. */\n onChange?: Function;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvFormElementClasses;\n};\n\nexport const HvFormElement = ({\n classes,\n className,\n children,\n id,\n name,\n value,\n disabled = false,\n required = false,\n readOnly = false,\n status = \"standBy\",\n ...others\n}: HvFormElementProps) => {\n const elementId = useUniqueId(id, \"hvformelement\");\n\n const contextValue = useMemo(\n () => ({\n elementId,\n elementName: name,\n elementStatus: status,\n elementDisabled: disabled,\n elementRequired: required,\n elementReadOnly: readOnly,\n }),\n [disabled, elementId, name, readOnly, required, status]\n );\n\n const descriptors = useMemo(() => findDescriptors(children), [children]);\n\n return (\n <div\n id={id}\n className={clsx(className, formElementClasses.root, classes?.root)}\n {...others}\n >\n <HvFormElementContextProvider value={contextValue}>\n <HvFormElementValueContextProvider value={value}>\n <HvFormElementDescriptorsContextProvider value={descriptors}>\n {children}\n </HvFormElementDescriptorsContextProvider>\n </HvFormElementValueContextProvider>\n </HvFormElementContextProvider>\n </div>\n );\n};\n\nHvFormElement.formElementType = \"formelement\";\n"],"names":["HvFormElement","classes","className","children","id","name","value","disabled","required","readOnly","status","others","elementId","useUniqueId","contextValue","useMemo","elementName","elementStatus","elementDisabled","elementRequired","elementReadOnly","descriptors","findDescriptors","clsx","formElementClasses","root","formElementType"],"mappings":";;;;;;;;;AAyDO,MAAMA,gBAAgBA,CAAC;AAAA,EAC5BC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC,WAAW;AAAA,EACXC,WAAW;AAAA,EACXC,WAAW;AAAA,EACXC,SAAS;AAAA,KACNC;AACe,MAAM;AAClBC,QAAAA,YAAYC,YAAYT,IAAI,eAAe;AAE3CU,QAAAA,eAAeC,QACnB,OAAO;AAAA,IACLH;AAAAA,IACAI,aAAaX;AAAAA,IACbY,eAAeP;AAAAA,IACfQ,iBAAiBX;AAAAA,IACjBY,iBAAiBX;AAAAA,IACjBY,iBAAiBX;AAAAA,EAAAA,IAEnB,CAACF,UAAUK,WAAWP,MAAMI,UAAUD,UAAUE,MAAM,CAAC;AAGnDW,QAAAA,cAAcN,QAAQ,MAAMO,gBAAgBnB,QAAQ,GAAG,CAACA,QAAQ,CAAC;AAGrE,SAAA,oBAAC,OACC,EAAA,IACA,WAAWoB,KAAKrB,WAAWsB,mBAAmBC,MAAMxB,mCAASwB,IAAI,GAC7Dd,GAAAA,QAEJ,UAAC,oBAAA,8BAAA,EAA6B,OAAOG,cACnC,UAAC,oBAAA,mCAAA,EAAkC,OACjC,UAAA,oBAAC,yCAAwC,EAAA,OAAOO,aAC7ClB,SAAAA,CACH,EACF,CAAA,EAAA,CACF,EACF,CAAA;AAEJ;AAEAH,cAAc0B,kBAAkB;"}