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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (553) hide show
  1. package/dist/cjs/components/Accordion/Accordion.cjs +10 -37
  2. package/dist/cjs/components/Accordion/Accordion.cjs.map +1 -1
  3. package/dist/cjs/components/ActionBar/ActionBar.cjs +2 -7
  4. package/dist/cjs/components/ActionBar/ActionBar.cjs.map +1 -1
  5. package/dist/cjs/components/ActionsGeneric/ActionsGeneric.cjs +11 -39
  6. package/dist/cjs/components/ActionsGeneric/ActionsGeneric.cjs.map +1 -1
  7. package/dist/cjs/components/ActionsGeneric/ActionsGeneric.styles.cjs +2 -4
  8. package/dist/cjs/components/ActionsGeneric/ActionsGeneric.styles.cjs.map +1 -1
  9. package/dist/cjs/components/AppSwitcher/Action/Action.cjs +12 -54
  10. package/dist/cjs/components/AppSwitcher/Action/Action.cjs.map +1 -1
  11. package/dist/cjs/components/AppSwitcher/Action/Action.styles.cjs +2 -4
  12. package/dist/cjs/components/AppSwitcher/Action/Action.styles.cjs.map +1 -1
  13. package/dist/cjs/components/AppSwitcher/AppSwitcher.cjs +15 -37
  14. package/dist/cjs/components/AppSwitcher/AppSwitcher.cjs.map +1 -1
  15. package/dist/cjs/components/AppSwitcher/TitleWithTooltip.cjs +2 -16
  16. package/dist/cjs/components/AppSwitcher/TitleWithTooltip.cjs.map +1 -1
  17. package/dist/cjs/components/Avatar/Avatar.cjs +9 -38
  18. package/dist/cjs/components/Avatar/Avatar.cjs.map +1 -1
  19. package/dist/cjs/components/Badge/Badge.cjs +6 -23
  20. package/dist/cjs/components/Badge/Badge.cjs.map +1 -1
  21. package/dist/cjs/components/Banner/Banner.cjs +7 -33
  22. package/dist/cjs/components/Banner/Banner.cjs.map +1 -1
  23. package/dist/cjs/components/Banner/BannerContent/ActionContainer/ActionContainer.cjs +5 -27
  24. package/dist/cjs/components/Banner/BannerContent/ActionContainer/ActionContainer.cjs.map +1 -1
  25. package/dist/cjs/components/Banner/BannerContent/ActionContainer/ActionContainer.styles.cjs +2 -4
  26. package/dist/cjs/components/Banner/BannerContent/ActionContainer/ActionContainer.styles.cjs.map +1 -1
  27. package/dist/cjs/components/Banner/BannerContent/BannerContent.cjs +12 -34
  28. package/dist/cjs/components/Banner/BannerContent/BannerContent.cjs.map +1 -1
  29. package/dist/cjs/components/Banner/BannerContent/MessageContainer/MessageContainer.cjs +6 -20
  30. package/dist/cjs/components/Banner/BannerContent/MessageContainer/MessageContainer.cjs.map +1 -1
  31. package/dist/cjs/components/Banner/BannerContent/MessageContainer/MessageContainer.styles.cjs +2 -4
  32. package/dist/cjs/components/Banner/BannerContent/MessageContainer/MessageContainer.styles.cjs.map +1 -1
  33. package/dist/cjs/components/BaseCheckBox/BaseCheckBox.cjs +5 -36
  34. package/dist/cjs/components/BaseCheckBox/BaseCheckBox.cjs.map +1 -1
  35. package/dist/cjs/components/BaseDropdown/BaseDropdown.cjs +57 -93
  36. package/dist/cjs/components/BaseDropdown/BaseDropdown.cjs.map +1 -1
  37. package/dist/cjs/components/BaseInput/BaseInput.cjs +18 -47
  38. package/dist/cjs/components/BaseInput/BaseInput.cjs.map +1 -1
  39. package/dist/cjs/components/BaseRadio/BaseRadio.cjs +4 -30
  40. package/dist/cjs/components/BaseRadio/BaseRadio.cjs.map +1 -1
  41. package/dist/cjs/components/BaseSwitch/BaseSwitch.cjs +9 -30
  42. package/dist/cjs/components/BaseSwitch/BaseSwitch.cjs.map +1 -1
  43. package/dist/cjs/components/Box/Box.cjs +2 -7
  44. package/dist/cjs/components/Box/Box.cjs.map +1 -1
  45. package/dist/cjs/components/BreadCrumb/BreadCrumb.cjs +14 -35
  46. package/dist/cjs/components/BreadCrumb/BreadCrumb.cjs.map +1 -1
  47. package/dist/cjs/components/BreadCrumb/BreadCrumb.styles.cjs +2 -4
  48. package/dist/cjs/components/BreadCrumb/BreadCrumb.styles.cjs.map +1 -1
  49. package/dist/cjs/components/BreadCrumb/Page/Page.cjs +4 -19
  50. package/dist/cjs/components/BreadCrumb/Page/Page.cjs.map +1 -1
  51. package/dist/cjs/components/BreadCrumb/Page/Page.styles.cjs +3 -7
  52. package/dist/cjs/components/BreadCrumb/Page/Page.styles.cjs.map +1 -1
  53. package/dist/cjs/components/BreadCrumb/PathElement/PathElement.cjs +5 -8
  54. package/dist/cjs/components/BreadCrumb/PathElement/PathElement.cjs.map +1 -1
  55. package/dist/cjs/components/BreadCrumb/utils.cjs +2 -10
  56. package/dist/cjs/components/BreadCrumb/utils.cjs.map +1 -1
  57. package/dist/cjs/components/BulkActions/BulkActions.cjs +20 -54
  58. package/dist/cjs/components/BulkActions/BulkActions.cjs.map +1 -1
  59. package/dist/cjs/components/Button/Button.cjs +5 -25
  60. package/dist/cjs/components/Button/Button.cjs.map +1 -1
  61. package/dist/cjs/components/Card/Card.cjs +13 -20
  62. package/dist/cjs/components/Card/Card.cjs.map +1 -1
  63. package/dist/cjs/components/Card/Content/Content.cjs +2 -8
  64. package/dist/cjs/components/Card/Content/Content.cjs.map +1 -1
  65. package/dist/cjs/components/Card/Header/Header.cjs +14 -22
  66. package/dist/cjs/components/Card/Header/Header.cjs.map +1 -1
  67. package/dist/cjs/components/Card/Media/Media.cjs +5 -14
  68. package/dist/cjs/components/Card/Media/Media.cjs.map +1 -1
  69. package/dist/cjs/components/CheckBox/CheckBox.cjs +16 -55
  70. package/dist/cjs/components/CheckBox/CheckBox.cjs.map +1 -1
  71. package/dist/cjs/components/CheckBoxGroup/CheckBoxGroup.cjs +17 -56
  72. package/dist/cjs/components/CheckBoxGroup/CheckBoxGroup.cjs.map +1 -1
  73. package/dist/cjs/components/Container/Container.cjs +11 -19
  74. package/dist/cjs/components/Container/Container.cjs.map +1 -1
  75. package/dist/cjs/components/Controls/Controls.cjs +15 -32
  76. package/dist/cjs/components/Controls/Controls.cjs.map +1 -1
  77. package/dist/cjs/components/Controls/LeftControl/LeftControl.cjs +5 -13
  78. package/dist/cjs/components/Controls/LeftControl/LeftControl.cjs.map +1 -1
  79. package/dist/cjs/components/Controls/RightControl/RightControl.cjs +2 -14
  80. package/dist/cjs/components/Controls/RightControl/RightControl.cjs.map +1 -1
  81. package/dist/cjs/components/Controls/RightControl/RightControl.styles.cjs +2 -4
  82. package/dist/cjs/components/Controls/RightControl/RightControl.styles.cjs.map +1 -1
  83. package/dist/cjs/components/Dialog/Actions/Actions.cjs +5 -11
  84. package/dist/cjs/components/Dialog/Actions/Actions.cjs.map +1 -1
  85. package/dist/cjs/components/Dialog/Content/Content.cjs +2 -7
  86. package/dist/cjs/components/Dialog/Content/Content.cjs.map +1 -1
  87. package/dist/cjs/components/Dialog/Dialog.cjs +35 -68
  88. package/dist/cjs/components/Dialog/Dialog.cjs.map +1 -1
  89. package/dist/cjs/components/Dialog/Title/Title.cjs +8 -17
  90. package/dist/cjs/components/Dialog/Title/Title.cjs.map +1 -1
  91. package/dist/cjs/components/DotPagination/DotPagination.cjs +9 -29
  92. package/dist/cjs/components/DotPagination/DotPagination.cjs.map +1 -1
  93. package/dist/cjs/components/DotPagination/DotPagination.styles.cjs +3 -7
  94. package/dist/cjs/components/DotPagination/DotPagination.styles.cjs.map +1 -1
  95. package/dist/cjs/components/DropDownMenu/DropDownMenu.cjs +23 -63
  96. package/dist/cjs/components/DropDownMenu/DropDownMenu.cjs.map +1 -1
  97. package/dist/cjs/components/DropDownMenu/DropDownMenu.styles.cjs +2 -4
  98. package/dist/cjs/components/DropDownMenu/DropDownMenu.styles.cjs.map +1 -1
  99. package/dist/cjs/components/Dropdown/Dropdown.cjs +21 -97
  100. package/dist/cjs/components/Dropdown/Dropdown.cjs.map +1 -1
  101. package/dist/cjs/components/Dropdown/Dropdown.styles.cjs +2 -4
  102. package/dist/cjs/components/Dropdown/Dropdown.styles.cjs.map +1 -1
  103. package/dist/cjs/components/Dropdown/List/List.cjs +27 -83
  104. package/dist/cjs/components/Dropdown/List/List.cjs.map +1 -1
  105. package/dist/cjs/components/Dropdown/List/List.styles.cjs +2 -4
  106. package/dist/cjs/components/Dropdown/List/List.styles.cjs.map +1 -1
  107. package/dist/cjs/components/EmptyState/EmptyState.cjs +10 -24
  108. package/dist/cjs/components/EmptyState/EmptyState.cjs.map +1 -1
  109. package/dist/cjs/components/FileUploader/DropZone/DropZone.cjs +52 -101
  110. package/dist/cjs/components/FileUploader/DropZone/DropZone.cjs.map +1 -1
  111. package/dist/cjs/components/FileUploader/File/File.cjs +21 -57
  112. package/dist/cjs/components/FileUploader/File/File.cjs.map +1 -1
  113. package/dist/cjs/components/FileUploader/FileList/FileList.cjs +4 -14
  114. package/dist/cjs/components/FileUploader/FileList/FileList.cjs.map +1 -1
  115. package/dist/cjs/components/FileUploader/FileUploader.cjs +4 -21
  116. package/dist/cjs/components/FileUploader/FileUploader.cjs.map +1 -1
  117. package/dist/cjs/components/FileUploader/Preview/Preview.cjs +8 -14
  118. package/dist/cjs/components/FileUploader/Preview/Preview.cjs.map +1 -1
  119. package/dist/cjs/components/Focus/Focus.cjs +10 -15
  120. package/dist/cjs/components/Focus/Focus.cjs.map +1 -1
  121. package/dist/cjs/components/Footer/Footer.cjs +9 -23
  122. package/dist/cjs/components/Footer/Footer.cjs.map +1 -1
  123. package/dist/cjs/components/Forms/Adornment/Adornment.cjs +2 -29
  124. package/dist/cjs/components/Forms/Adornment/Adornment.cjs.map +1 -1
  125. package/dist/cjs/components/Forms/CharCounter/CharCounter.cjs +5 -27
  126. package/dist/cjs/components/Forms/CharCounter/CharCounter.cjs.map +1 -1
  127. package/dist/cjs/components/Forms/FormElement/FormElement.cjs +2 -16
  128. package/dist/cjs/components/Forms/FormElement/FormElement.cjs.map +1 -1
  129. package/dist/cjs/components/Forms/InfoMessage/InfoMessage.cjs +2 -11
  130. package/dist/cjs/components/Forms/InfoMessage/InfoMessage.cjs.map +1 -1
  131. package/dist/cjs/components/Forms/Label/Label.cjs +8 -17
  132. package/dist/cjs/components/Forms/Label/Label.cjs.map +1 -1
  133. package/dist/cjs/components/Forms/Suggestions/Suggestions.cjs +5 -26
  134. package/dist/cjs/components/Forms/Suggestions/Suggestions.cjs.map +1 -1
  135. package/dist/cjs/components/Forms/WarningText/WarningText.cjs +6 -20
  136. package/dist/cjs/components/Forms/WarningText/WarningText.cjs.map +1 -1
  137. package/dist/cjs/components/GlobalActions/GlobalActions.cjs +7 -25
  138. package/dist/cjs/components/GlobalActions/GlobalActions.cjs.map +1 -1
  139. package/dist/cjs/components/Grid/Grid.cjs +5 -9
  140. package/dist/cjs/components/Grid/Grid.cjs.map +1 -1
  141. package/dist/cjs/components/Header/Actions/Actions.cjs +2 -6
  142. package/dist/cjs/components/Header/Actions/Actions.cjs.map +1 -1
  143. package/dist/cjs/components/Header/Brand/Brand.cjs +6 -11
  144. package/dist/cjs/components/Header/Brand/Brand.cjs.map +1 -1
  145. package/dist/cjs/components/Header/Header.cjs +2 -10
  146. package/dist/cjs/components/Header/Header.cjs.map +1 -1
  147. package/dist/cjs/components/Header/Navigation/MenuBar/MenuBar.cjs +3 -17
  148. package/dist/cjs/components/Header/Navigation/MenuBar/MenuBar.cjs.map +1 -1
  149. package/dist/cjs/components/Header/Navigation/MenuBar/MenuBar.styles.cjs +3 -7
  150. package/dist/cjs/components/Header/Navigation/MenuBar/MenuBar.styles.cjs.map +1 -1
  151. package/dist/cjs/components/Header/Navigation/MenuItem/MenuItem.cjs +6 -24
  152. package/dist/cjs/components/Header/Navigation/MenuItem/MenuItem.cjs.map +1 -1
  153. package/dist/cjs/components/Header/Navigation/Navigation.cjs +2 -15
  154. package/dist/cjs/components/Header/Navigation/Navigation.cjs.map +1 -1
  155. package/dist/cjs/components/Header/Navigation/utils/FocusContext.cjs +2 -5
  156. package/dist/cjs/components/Header/Navigation/utils/FocusContext.cjs.map +1 -1
  157. package/dist/cjs/components/Input/Input.cjs +42 -112
  158. package/dist/cjs/components/Input/Input.cjs.map +1 -1
  159. package/dist/cjs/components/Input/Input.styles.cjs +2 -4
  160. package/dist/cjs/components/Input/Input.styles.cjs.map +1 -1
  161. package/dist/cjs/components/Kpi/Kpi.cjs +16 -47
  162. package/dist/cjs/components/Kpi/Kpi.cjs.map +1 -1
  163. package/dist/cjs/components/Link/Link.cjs +2 -14
  164. package/dist/cjs/components/Link/Link.cjs.map +1 -1
  165. package/dist/cjs/components/List/List.cjs +32 -104
  166. package/dist/cjs/components/List/List.cjs.map +1 -1
  167. package/dist/cjs/components/List/List.styles.cjs +5 -13
  168. package/dist/cjs/components/List/List.styles.cjs.map +1 -1
  169. package/dist/cjs/components/ListContainer/ListContainer.cjs +2 -11
  170. package/dist/cjs/components/ListContainer/ListContainer.cjs.map +1 -1
  171. package/dist/cjs/components/ListContainer/ListItem/ListItem.cjs +12 -32
  172. package/dist/cjs/components/ListContainer/ListItem/ListItem.cjs.map +1 -1
  173. package/dist/cjs/components/Loading/Loading.cjs +5 -18
  174. package/dist/cjs/components/Loading/Loading.cjs.map +1 -1
  175. package/dist/cjs/components/Login/Login.cjs +4 -13
  176. package/dist/cjs/components/Login/Login.cjs.map +1 -1
  177. package/dist/cjs/components/MultiButton/MultiButton.cjs +14 -19
  178. package/dist/cjs/components/MultiButton/MultiButton.cjs.map +1 -1
  179. package/dist/cjs/components/MultiButton/MultiButton.styles.cjs +2 -5
  180. package/dist/cjs/components/MultiButton/MultiButton.styles.cjs.map +1 -1
  181. package/dist/cjs/components/OverflowTooltip/OverflowTooltip.cjs +3 -20
  182. package/dist/cjs/components/OverflowTooltip/OverflowTooltip.cjs.map +1 -1
  183. package/dist/cjs/components/OverflowTooltip/OverflowTooltip.styles.cjs +2 -4
  184. package/dist/cjs/components/OverflowTooltip/OverflowTooltip.styles.cjs.map +1 -1
  185. package/dist/cjs/components/Pagination/ButtonIconTooltip.cjs +1 -13
  186. package/dist/cjs/components/Pagination/ButtonIconTooltip.cjs.map +1 -1
  187. package/dist/cjs/components/Pagination/Pagination.cjs +27 -127
  188. package/dist/cjs/components/Pagination/Pagination.cjs.map +1 -1
  189. package/dist/cjs/components/Pagination/Select.cjs +8 -32
  190. package/dist/cjs/components/Pagination/Select.cjs.map +1 -1
  191. package/dist/cjs/components/Panel/Panel.cjs +2 -7
  192. package/dist/cjs/components/Panel/Panel.cjs.map +1 -1
  193. package/dist/cjs/components/ProgressBar/ProgressBar.cjs +9 -30
  194. package/dist/cjs/components/ProgressBar/ProgressBar.cjs.map +1 -1
  195. package/dist/cjs/components/Radio/Radio.cjs +16 -51
  196. package/dist/cjs/components/Radio/Radio.cjs.map +1 -1
  197. package/dist/cjs/components/RadioGroup/RadioGroup.cjs +7 -36
  198. package/dist/cjs/components/RadioGroup/RadioGroup.cjs.map +1 -1
  199. package/dist/cjs/components/SelectionList/SelectionList.cjs +7 -41
  200. package/dist/cjs/components/SelectionList/SelectionList.cjs.map +1 -1
  201. package/dist/cjs/components/SelectionList/SelectionList.styles.cjs +4 -10
  202. package/dist/cjs/components/SelectionList/SelectionList.styles.cjs.map +1 -1
  203. package/dist/cjs/components/SimpleGrid/SimpleGrid.cjs +2 -8
  204. package/dist/cjs/components/SimpleGrid/SimpleGrid.cjs.map +1 -1
  205. package/dist/cjs/components/Snackbar/Snackbar.cjs +14 -48
  206. package/dist/cjs/components/Snackbar/Snackbar.cjs.map +1 -1
  207. package/dist/cjs/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.cjs +9 -32
  208. package/dist/cjs/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.cjs.map +1 -1
  209. package/dist/cjs/components/Snackbar/SnackbarProvider/SnackbarProvider.cjs +4 -27
  210. package/dist/cjs/components/Snackbar/SnackbarProvider/SnackbarProvider.cjs.map +1 -1
  211. package/dist/cjs/components/Stack/Stack.cjs +8 -29
  212. package/dist/cjs/components/Stack/Stack.cjs.map +1 -1
  213. package/dist/cjs/components/Switch/Switch.cjs +13 -46
  214. package/dist/cjs/components/Switch/Switch.cjs.map +1 -1
  215. package/dist/cjs/components/Tab/Tab.cjs +17 -14
  216. package/dist/cjs/components/Tab/Tab.cjs.map +1 -1
  217. package/dist/cjs/components/Table/Table.cjs +2 -13
  218. package/dist/cjs/components/Table/Table.cjs.map +1 -1
  219. package/dist/cjs/components/Table/TableBody/TableBody.cjs +6 -25
  220. package/dist/cjs/components/Table/TableBody/TableBody.cjs.map +1 -1
  221. package/dist/cjs/components/Table/TableCell/TableCell.cjs +2 -23
  222. package/dist/cjs/components/Table/TableCell/TableCell.cjs.map +1 -1
  223. package/dist/cjs/components/Table/TableContainer/TableContainer.cjs +2 -6
  224. package/dist/cjs/components/Table/TableContainer/TableContainer.cjs.map +1 -1
  225. package/dist/cjs/components/Table/TableHead/TableHead.cjs +2 -11
  226. package/dist/cjs/components/Table/TableHead/TableHead.cjs.map +1 -1
  227. package/dist/cjs/components/Table/TableHeader/TableHeader.cjs +6 -49
  228. package/dist/cjs/components/Table/TableHeader/TableHeader.cjs.map +1 -1
  229. package/dist/cjs/components/Table/TableHeader/TableHeader.styles.cjs +8 -14
  230. package/dist/cjs/components/Table/TableHeader/TableHeader.styles.cjs.map +1 -1
  231. package/dist/cjs/components/Table/TableRow/TableRow.cjs +2 -15
  232. package/dist/cjs/components/Table/TableRow/TableRow.cjs.map +1 -1
  233. package/dist/cjs/components/Table/hooks/useRowExpand.cjs +5 -15
  234. package/dist/cjs/components/Table/hooks/useRowExpand.cjs.map +1 -1
  235. package/dist/cjs/components/Table/hooks/useRowSelection.cjs +2 -8
  236. package/dist/cjs/components/Table/hooks/useRowSelection.cjs.map +1 -1
  237. package/dist/cjs/components/Table/renderers/DateColumnCell/DateColumnCell.cjs +2 -4
  238. package/dist/cjs/components/Table/renderers/DateColumnCell/DateColumnCell.cjs.map +1 -1
  239. package/dist/cjs/components/Table/renderers/DropdownColumnCell/DropdownColumnCell.cjs +3 -10
  240. package/dist/cjs/components/Table/renderers/DropdownColumnCell/DropdownColumnCell.cjs.map +1 -1
  241. package/dist/cjs/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.cjs +2 -10
  242. package/dist/cjs/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.cjs.map +1 -1
  243. package/dist/cjs/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.cjs +6 -17
  244. package/dist/cjs/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.cjs.map +1 -1
  245. package/dist/cjs/components/Table/renderers/renderers.cjs +19 -60
  246. package/dist/cjs/components/Table/renderers/renderers.cjs.map +1 -1
  247. package/dist/cjs/components/Tabs/Tabs.cjs +9 -13
  248. package/dist/cjs/components/Tabs/Tabs.cjs.map +1 -1
  249. package/dist/cjs/components/Tag/Tag.cjs +25 -55
  250. package/dist/cjs/components/Tag/Tag.cjs.map +1 -1
  251. package/dist/cjs/components/TagsInput/TagsInput.cjs +45 -129
  252. package/dist/cjs/components/TagsInput/TagsInput.cjs.map +1 -1
  253. package/dist/cjs/components/TagsInput/TagsInput.styles.cjs +11 -31
  254. package/dist/cjs/components/TagsInput/TagsInput.styles.cjs.map +1 -1
  255. package/dist/cjs/components/TextArea/TextArea.cjs +22 -69
  256. package/dist/cjs/components/TextArea/TextArea.cjs.map +1 -1
  257. package/dist/cjs/components/TextArea/TextArea.styles.cjs +5 -13
  258. package/dist/cjs/components/TextArea/TextArea.styles.cjs.map +1 -1
  259. package/dist/cjs/components/ToggleButton/ToggleButton.cjs +2 -10
  260. package/dist/cjs/components/ToggleButton/ToggleButton.cjs.map +1 -1
  261. package/dist/cjs/components/Tooltip/Tooltip.cjs +8 -21
  262. package/dist/cjs/components/Tooltip/Tooltip.cjs.map +1 -1
  263. package/dist/cjs/components/Typography/Typography.cjs +2 -11
  264. package/dist/cjs/components/Typography/Typography.cjs.map +1 -1
  265. package/dist/cjs/hocs/withId.cjs +2 -5
  266. package/dist/cjs/hocs/withId.cjs.map +1 -1
  267. package/dist/cjs/hocs/withTooltip.cjs +5 -24
  268. package/dist/cjs/hocs/withTooltip.cjs.map +1 -1
  269. package/dist/cjs/providers/Provider.cjs +5 -10
  270. package/dist/cjs/providers/Provider.cjs.map +1 -1
  271. package/dist/cjs/providers/ThemeProvider.cjs +2 -8
  272. package/dist/cjs/providers/ThemeProvider.cjs.map +1 -1
  273. package/dist/cjs/utils/iconVariant.cjs +5 -16
  274. package/dist/cjs/utils/iconVariant.cjs.map +1 -1
  275. package/dist/esm/components/Accordion/Accordion.js +10 -37
  276. package/dist/esm/components/Accordion/Accordion.js.map +1 -1
  277. package/dist/esm/components/ActionBar/ActionBar.js +2 -7
  278. package/dist/esm/components/ActionBar/ActionBar.js.map +1 -1
  279. package/dist/esm/components/ActionsGeneric/ActionsGeneric.js +11 -39
  280. package/dist/esm/components/ActionsGeneric/ActionsGeneric.js.map +1 -1
  281. package/dist/esm/components/ActionsGeneric/ActionsGeneric.styles.js +2 -4
  282. package/dist/esm/components/ActionsGeneric/ActionsGeneric.styles.js.map +1 -1
  283. package/dist/esm/components/AppSwitcher/Action/Action.js +12 -54
  284. package/dist/esm/components/AppSwitcher/Action/Action.js.map +1 -1
  285. package/dist/esm/components/AppSwitcher/Action/Action.styles.js +2 -4
  286. package/dist/esm/components/AppSwitcher/Action/Action.styles.js.map +1 -1
  287. package/dist/esm/components/AppSwitcher/AppSwitcher.js +15 -37
  288. package/dist/esm/components/AppSwitcher/AppSwitcher.js.map +1 -1
  289. package/dist/esm/components/AppSwitcher/TitleWithTooltip.js +2 -16
  290. package/dist/esm/components/AppSwitcher/TitleWithTooltip.js.map +1 -1
  291. package/dist/esm/components/Avatar/Avatar.js +9 -38
  292. package/dist/esm/components/Avatar/Avatar.js.map +1 -1
  293. package/dist/esm/components/Badge/Badge.js +6 -23
  294. package/dist/esm/components/Badge/Badge.js.map +1 -1
  295. package/dist/esm/components/Banner/Banner.js +7 -33
  296. package/dist/esm/components/Banner/Banner.js.map +1 -1
  297. package/dist/esm/components/Banner/BannerContent/ActionContainer/ActionContainer.js +5 -27
  298. package/dist/esm/components/Banner/BannerContent/ActionContainer/ActionContainer.js.map +1 -1
  299. package/dist/esm/components/Banner/BannerContent/ActionContainer/ActionContainer.styles.js +2 -4
  300. package/dist/esm/components/Banner/BannerContent/ActionContainer/ActionContainer.styles.js.map +1 -1
  301. package/dist/esm/components/Banner/BannerContent/BannerContent.js +12 -34
  302. package/dist/esm/components/Banner/BannerContent/BannerContent.js.map +1 -1
  303. package/dist/esm/components/Banner/BannerContent/MessageContainer/MessageContainer.js +6 -20
  304. package/dist/esm/components/Banner/BannerContent/MessageContainer/MessageContainer.js.map +1 -1
  305. package/dist/esm/components/Banner/BannerContent/MessageContainer/MessageContainer.styles.js +2 -4
  306. package/dist/esm/components/Banner/BannerContent/MessageContainer/MessageContainer.styles.js.map +1 -1
  307. package/dist/esm/components/BaseCheckBox/BaseCheckBox.js +5 -36
  308. package/dist/esm/components/BaseCheckBox/BaseCheckBox.js.map +1 -1
  309. package/dist/esm/components/BaseDropdown/BaseDropdown.js +57 -93
  310. package/dist/esm/components/BaseDropdown/BaseDropdown.js.map +1 -1
  311. package/dist/esm/components/BaseInput/BaseInput.js +18 -47
  312. package/dist/esm/components/BaseInput/BaseInput.js.map +1 -1
  313. package/dist/esm/components/BaseRadio/BaseRadio.js +4 -30
  314. package/dist/esm/components/BaseRadio/BaseRadio.js.map +1 -1
  315. package/dist/esm/components/BaseSwitch/BaseSwitch.js +9 -30
  316. package/dist/esm/components/BaseSwitch/BaseSwitch.js.map +1 -1
  317. package/dist/esm/components/Box/Box.js +2 -7
  318. package/dist/esm/components/Box/Box.js.map +1 -1
  319. package/dist/esm/components/BreadCrumb/BreadCrumb.js +14 -35
  320. package/dist/esm/components/BreadCrumb/BreadCrumb.js.map +1 -1
  321. package/dist/esm/components/BreadCrumb/BreadCrumb.styles.js +2 -4
  322. package/dist/esm/components/BreadCrumb/BreadCrumb.styles.js.map +1 -1
  323. package/dist/esm/components/BreadCrumb/Page/Page.js +4 -19
  324. package/dist/esm/components/BreadCrumb/Page/Page.js.map +1 -1
  325. package/dist/esm/components/BreadCrumb/Page/Page.styles.js +3 -7
  326. package/dist/esm/components/BreadCrumb/Page/Page.styles.js.map +1 -1
  327. package/dist/esm/components/BreadCrumb/PathElement/PathElement.js +5 -8
  328. package/dist/esm/components/BreadCrumb/PathElement/PathElement.js.map +1 -1
  329. package/dist/esm/components/BreadCrumb/utils.js +2 -10
  330. package/dist/esm/components/BreadCrumb/utils.js.map +1 -1
  331. package/dist/esm/components/BulkActions/BulkActions.js +20 -54
  332. package/dist/esm/components/BulkActions/BulkActions.js.map +1 -1
  333. package/dist/esm/components/Button/Button.js +5 -25
  334. package/dist/esm/components/Button/Button.js.map +1 -1
  335. package/dist/esm/components/Card/Card.js +13 -20
  336. package/dist/esm/components/Card/Card.js.map +1 -1
  337. package/dist/esm/components/Card/Content/Content.js +2 -8
  338. package/dist/esm/components/Card/Content/Content.js.map +1 -1
  339. package/dist/esm/components/Card/Header/Header.js +14 -22
  340. package/dist/esm/components/Card/Header/Header.js.map +1 -1
  341. package/dist/esm/components/Card/Media/Media.js +5 -14
  342. package/dist/esm/components/Card/Media/Media.js.map +1 -1
  343. package/dist/esm/components/CheckBox/CheckBox.js +16 -55
  344. package/dist/esm/components/CheckBox/CheckBox.js.map +1 -1
  345. package/dist/esm/components/CheckBoxGroup/CheckBoxGroup.js +17 -56
  346. package/dist/esm/components/CheckBoxGroup/CheckBoxGroup.js.map +1 -1
  347. package/dist/esm/components/Container/Container.js +11 -19
  348. package/dist/esm/components/Container/Container.js.map +1 -1
  349. package/dist/esm/components/Controls/Controls.js +15 -32
  350. package/dist/esm/components/Controls/Controls.js.map +1 -1
  351. package/dist/esm/components/Controls/LeftControl/LeftControl.js +5 -13
  352. package/dist/esm/components/Controls/LeftControl/LeftControl.js.map +1 -1
  353. package/dist/esm/components/Controls/RightControl/RightControl.js +2 -14
  354. package/dist/esm/components/Controls/RightControl/RightControl.js.map +1 -1
  355. package/dist/esm/components/Controls/RightControl/RightControl.styles.js +2 -4
  356. package/dist/esm/components/Controls/RightControl/RightControl.styles.js.map +1 -1
  357. package/dist/esm/components/Dialog/Actions/Actions.js +5 -11
  358. package/dist/esm/components/Dialog/Actions/Actions.js.map +1 -1
  359. package/dist/esm/components/Dialog/Content/Content.js +2 -7
  360. package/dist/esm/components/Dialog/Content/Content.js.map +1 -1
  361. package/dist/esm/components/Dialog/Dialog.js +35 -68
  362. package/dist/esm/components/Dialog/Dialog.js.map +1 -1
  363. package/dist/esm/components/Dialog/Title/Title.js +8 -17
  364. package/dist/esm/components/Dialog/Title/Title.js.map +1 -1
  365. package/dist/esm/components/DotPagination/DotPagination.js +9 -29
  366. package/dist/esm/components/DotPagination/DotPagination.js.map +1 -1
  367. package/dist/esm/components/DotPagination/DotPagination.styles.js +3 -7
  368. package/dist/esm/components/DotPagination/DotPagination.styles.js.map +1 -1
  369. package/dist/esm/components/DropDownMenu/DropDownMenu.js +23 -63
  370. package/dist/esm/components/DropDownMenu/DropDownMenu.js.map +1 -1
  371. package/dist/esm/components/DropDownMenu/DropDownMenu.styles.js +2 -4
  372. package/dist/esm/components/DropDownMenu/DropDownMenu.styles.js.map +1 -1
  373. package/dist/esm/components/Dropdown/Dropdown.js +21 -97
  374. package/dist/esm/components/Dropdown/Dropdown.js.map +1 -1
  375. package/dist/esm/components/Dropdown/Dropdown.styles.js +2 -4
  376. package/dist/esm/components/Dropdown/Dropdown.styles.js.map +1 -1
  377. package/dist/esm/components/Dropdown/List/List.js +27 -83
  378. package/dist/esm/components/Dropdown/List/List.js.map +1 -1
  379. package/dist/esm/components/Dropdown/List/List.styles.js +2 -4
  380. package/dist/esm/components/Dropdown/List/List.styles.js.map +1 -1
  381. package/dist/esm/components/EmptyState/EmptyState.js +10 -24
  382. package/dist/esm/components/EmptyState/EmptyState.js.map +1 -1
  383. package/dist/esm/components/FileUploader/DropZone/DropZone.js +52 -101
  384. package/dist/esm/components/FileUploader/DropZone/DropZone.js.map +1 -1
  385. package/dist/esm/components/FileUploader/File/File.js +21 -57
  386. package/dist/esm/components/FileUploader/File/File.js.map +1 -1
  387. package/dist/esm/components/FileUploader/FileList/FileList.js +4 -14
  388. package/dist/esm/components/FileUploader/FileList/FileList.js.map +1 -1
  389. package/dist/esm/components/FileUploader/FileUploader.js +4 -21
  390. package/dist/esm/components/FileUploader/FileUploader.js.map +1 -1
  391. package/dist/esm/components/FileUploader/Preview/Preview.js +8 -14
  392. package/dist/esm/components/FileUploader/Preview/Preview.js.map +1 -1
  393. package/dist/esm/components/Focus/Focus.js +10 -15
  394. package/dist/esm/components/Focus/Focus.js.map +1 -1
  395. package/dist/esm/components/Footer/Footer.js +9 -23
  396. package/dist/esm/components/Footer/Footer.js.map +1 -1
  397. package/dist/esm/components/Forms/Adornment/Adornment.js +2 -29
  398. package/dist/esm/components/Forms/Adornment/Adornment.js.map +1 -1
  399. package/dist/esm/components/Forms/CharCounter/CharCounter.js +5 -27
  400. package/dist/esm/components/Forms/CharCounter/CharCounter.js.map +1 -1
  401. package/dist/esm/components/Forms/FormElement/FormElement.js +2 -16
  402. package/dist/esm/components/Forms/FormElement/FormElement.js.map +1 -1
  403. package/dist/esm/components/Forms/InfoMessage/InfoMessage.js +2 -11
  404. package/dist/esm/components/Forms/InfoMessage/InfoMessage.js.map +1 -1
  405. package/dist/esm/components/Forms/Label/Label.js +8 -17
  406. package/dist/esm/components/Forms/Label/Label.js.map +1 -1
  407. package/dist/esm/components/Forms/Suggestions/Suggestions.js +5 -26
  408. package/dist/esm/components/Forms/Suggestions/Suggestions.js.map +1 -1
  409. package/dist/esm/components/Forms/WarningText/WarningText.js +6 -20
  410. package/dist/esm/components/Forms/WarningText/WarningText.js.map +1 -1
  411. package/dist/esm/components/GlobalActions/GlobalActions.js +7 -25
  412. package/dist/esm/components/GlobalActions/GlobalActions.js.map +1 -1
  413. package/dist/esm/components/Grid/Grid.js +5 -9
  414. package/dist/esm/components/Grid/Grid.js.map +1 -1
  415. package/dist/esm/components/Header/Actions/Actions.js +2 -6
  416. package/dist/esm/components/Header/Actions/Actions.js.map +1 -1
  417. package/dist/esm/components/Header/Brand/Brand.js +6 -11
  418. package/dist/esm/components/Header/Brand/Brand.js.map +1 -1
  419. package/dist/esm/components/Header/Header.js +2 -10
  420. package/dist/esm/components/Header/Header.js.map +1 -1
  421. package/dist/esm/components/Header/Navigation/MenuBar/MenuBar.js +3 -17
  422. package/dist/esm/components/Header/Navigation/MenuBar/MenuBar.js.map +1 -1
  423. package/dist/esm/components/Header/Navigation/MenuBar/MenuBar.styles.js +3 -7
  424. package/dist/esm/components/Header/Navigation/MenuBar/MenuBar.styles.js.map +1 -1
  425. package/dist/esm/components/Header/Navigation/MenuItem/MenuItem.js +6 -24
  426. package/dist/esm/components/Header/Navigation/MenuItem/MenuItem.js.map +1 -1
  427. package/dist/esm/components/Header/Navigation/Navigation.js +2 -15
  428. package/dist/esm/components/Header/Navigation/Navigation.js.map +1 -1
  429. package/dist/esm/components/Header/Navigation/utils/FocusContext.js +2 -5
  430. package/dist/esm/components/Header/Navigation/utils/FocusContext.js.map +1 -1
  431. package/dist/esm/components/Input/Input.js +42 -112
  432. package/dist/esm/components/Input/Input.js.map +1 -1
  433. package/dist/esm/components/Input/Input.styles.js +2 -4
  434. package/dist/esm/components/Input/Input.styles.js.map +1 -1
  435. package/dist/esm/components/Kpi/Kpi.js +16 -47
  436. package/dist/esm/components/Kpi/Kpi.js.map +1 -1
  437. package/dist/esm/components/Link/Link.js +2 -14
  438. package/dist/esm/components/Link/Link.js.map +1 -1
  439. package/dist/esm/components/List/List.js +32 -104
  440. package/dist/esm/components/List/List.js.map +1 -1
  441. package/dist/esm/components/List/List.styles.js +5 -13
  442. package/dist/esm/components/List/List.styles.js.map +1 -1
  443. package/dist/esm/components/ListContainer/ListContainer.js +2 -11
  444. package/dist/esm/components/ListContainer/ListContainer.js.map +1 -1
  445. package/dist/esm/components/ListContainer/ListItem/ListItem.js +12 -32
  446. package/dist/esm/components/ListContainer/ListItem/ListItem.js.map +1 -1
  447. package/dist/esm/components/Loading/Loading.js +5 -18
  448. package/dist/esm/components/Loading/Loading.js.map +1 -1
  449. package/dist/esm/components/Login/Login.js +4 -13
  450. package/dist/esm/components/Login/Login.js.map +1 -1
  451. package/dist/esm/components/MultiButton/MultiButton.js +14 -19
  452. package/dist/esm/components/MultiButton/MultiButton.js.map +1 -1
  453. package/dist/esm/components/MultiButton/MultiButton.styles.js +2 -5
  454. package/dist/esm/components/MultiButton/MultiButton.styles.js.map +1 -1
  455. package/dist/esm/components/OverflowTooltip/OverflowTooltip.js +3 -20
  456. package/dist/esm/components/OverflowTooltip/OverflowTooltip.js.map +1 -1
  457. package/dist/esm/components/OverflowTooltip/OverflowTooltip.styles.js +2 -4
  458. package/dist/esm/components/OverflowTooltip/OverflowTooltip.styles.js.map +1 -1
  459. package/dist/esm/components/Pagination/ButtonIconTooltip.js +1 -13
  460. package/dist/esm/components/Pagination/ButtonIconTooltip.js.map +1 -1
  461. package/dist/esm/components/Pagination/Pagination.js +27 -127
  462. package/dist/esm/components/Pagination/Pagination.js.map +1 -1
  463. package/dist/esm/components/Pagination/Select.js +8 -32
  464. package/dist/esm/components/Pagination/Select.js.map +1 -1
  465. package/dist/esm/components/Panel/Panel.js +2 -7
  466. package/dist/esm/components/Panel/Panel.js.map +1 -1
  467. package/dist/esm/components/ProgressBar/ProgressBar.js +9 -30
  468. package/dist/esm/components/ProgressBar/ProgressBar.js.map +1 -1
  469. package/dist/esm/components/Radio/Radio.js +16 -51
  470. package/dist/esm/components/Radio/Radio.js.map +1 -1
  471. package/dist/esm/components/RadioGroup/RadioGroup.js +7 -36
  472. package/dist/esm/components/RadioGroup/RadioGroup.js.map +1 -1
  473. package/dist/esm/components/SelectionList/SelectionList.js +7 -41
  474. package/dist/esm/components/SelectionList/SelectionList.js.map +1 -1
  475. package/dist/esm/components/SelectionList/SelectionList.styles.js +4 -10
  476. package/dist/esm/components/SelectionList/SelectionList.styles.js.map +1 -1
  477. package/dist/esm/components/SimpleGrid/SimpleGrid.js +2 -8
  478. package/dist/esm/components/SimpleGrid/SimpleGrid.js.map +1 -1
  479. package/dist/esm/components/Snackbar/Snackbar.js +14 -48
  480. package/dist/esm/components/Snackbar/Snackbar.js.map +1 -1
  481. package/dist/esm/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.js +9 -32
  482. package/dist/esm/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.js.map +1 -1
  483. package/dist/esm/components/Snackbar/SnackbarProvider/SnackbarProvider.js +4 -27
  484. package/dist/esm/components/Snackbar/SnackbarProvider/SnackbarProvider.js.map +1 -1
  485. package/dist/esm/components/Stack/Stack.js +8 -29
  486. package/dist/esm/components/Stack/Stack.js.map +1 -1
  487. package/dist/esm/components/Switch/Switch.js +13 -46
  488. package/dist/esm/components/Switch/Switch.js.map +1 -1
  489. package/dist/esm/components/Tab/Tab.js +17 -14
  490. package/dist/esm/components/Tab/Tab.js.map +1 -1
  491. package/dist/esm/components/Table/Table.js +2 -13
  492. package/dist/esm/components/Table/Table.js.map +1 -1
  493. package/dist/esm/components/Table/TableBody/TableBody.js +6 -25
  494. package/dist/esm/components/Table/TableBody/TableBody.js.map +1 -1
  495. package/dist/esm/components/Table/TableCell/TableCell.js +2 -23
  496. package/dist/esm/components/Table/TableCell/TableCell.js.map +1 -1
  497. package/dist/esm/components/Table/TableContainer/TableContainer.js +2 -6
  498. package/dist/esm/components/Table/TableContainer/TableContainer.js.map +1 -1
  499. package/dist/esm/components/Table/TableHead/TableHead.js +2 -11
  500. package/dist/esm/components/Table/TableHead/TableHead.js.map +1 -1
  501. package/dist/esm/components/Table/TableHeader/TableHeader.js +6 -49
  502. package/dist/esm/components/Table/TableHeader/TableHeader.js.map +1 -1
  503. package/dist/esm/components/Table/TableHeader/TableHeader.styles.js +8 -14
  504. package/dist/esm/components/Table/TableHeader/TableHeader.styles.js.map +1 -1
  505. package/dist/esm/components/Table/TableRow/TableRow.js +2 -15
  506. package/dist/esm/components/Table/TableRow/TableRow.js.map +1 -1
  507. package/dist/esm/components/Table/hooks/useRowExpand.js +5 -15
  508. package/dist/esm/components/Table/hooks/useRowExpand.js.map +1 -1
  509. package/dist/esm/components/Table/hooks/useRowSelection.js +2 -8
  510. package/dist/esm/components/Table/hooks/useRowSelection.js.map +1 -1
  511. package/dist/esm/components/Table/renderers/DateColumnCell/DateColumnCell.js +2 -4
  512. package/dist/esm/components/Table/renderers/DateColumnCell/DateColumnCell.js.map +1 -1
  513. package/dist/esm/components/Table/renderers/DropdownColumnCell/DropdownColumnCell.js +3 -10
  514. package/dist/esm/components/Table/renderers/DropdownColumnCell/DropdownColumnCell.js.map +1 -1
  515. package/dist/esm/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.js +2 -10
  516. package/dist/esm/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.js.map +1 -1
  517. package/dist/esm/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.js +6 -17
  518. package/dist/esm/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.js.map +1 -1
  519. package/dist/esm/components/Table/renderers/renderers.js +19 -60
  520. package/dist/esm/components/Table/renderers/renderers.js.map +1 -1
  521. package/dist/esm/components/Tabs/Tabs.js +9 -13
  522. package/dist/esm/components/Tabs/Tabs.js.map +1 -1
  523. package/dist/esm/components/Tag/Tag.js +25 -55
  524. package/dist/esm/components/Tag/Tag.js.map +1 -1
  525. package/dist/esm/components/TagsInput/TagsInput.js +45 -129
  526. package/dist/esm/components/TagsInput/TagsInput.js.map +1 -1
  527. package/dist/esm/components/TagsInput/TagsInput.styles.js +11 -31
  528. package/dist/esm/components/TagsInput/TagsInput.styles.js.map +1 -1
  529. package/dist/esm/components/TextArea/TextArea.js +22 -69
  530. package/dist/esm/components/TextArea/TextArea.js.map +1 -1
  531. package/dist/esm/components/TextArea/TextArea.styles.js +5 -13
  532. package/dist/esm/components/TextArea/TextArea.styles.js.map +1 -1
  533. package/dist/esm/components/ToggleButton/ToggleButton.js +2 -10
  534. package/dist/esm/components/ToggleButton/ToggleButton.js.map +1 -1
  535. package/dist/esm/components/Tooltip/Tooltip.js +8 -21
  536. package/dist/esm/components/Tooltip/Tooltip.js.map +1 -1
  537. package/dist/esm/components/Typography/Typography.js +2 -11
  538. package/dist/esm/components/Typography/Typography.js.map +1 -1
  539. package/dist/esm/hocs/withId.js +2 -5
  540. package/dist/esm/hocs/withId.js.map +1 -1
  541. package/dist/esm/hocs/withTooltip.js +5 -24
  542. package/dist/esm/hocs/withTooltip.js.map +1 -1
  543. package/dist/esm/providers/Provider.js +5 -10
  544. package/dist/esm/providers/Provider.js.map +1 -1
  545. package/dist/esm/providers/ThemeProvider.js +2 -8
  546. package/dist/esm/providers/ThemeProvider.js.map +1 -1
  547. package/dist/esm/utils/iconVariant.js +5 -16
  548. package/dist/esm/utils/iconVariant.js.map +1 -1
  549. package/dist/types/components/Card/Card.d.ts +1 -1
  550. package/dist/types/components/Card/Card.d.ts.map +1 -1
  551. package/dist/types/components/Header/Navigation/MenuBar/MenuBar.styles.d.ts.map +1 -1
  552. package/dist/types/components/Table/hooks/index.d.ts.map +1 -1
  553. package/package.json +7 -8
@@ -1,12 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const jsxRuntime = require("@emotion/react/jsx-runtime");
3
4
  const clsx = require("clsx");
4
5
  const React = require("react");
5
6
  const uikitStyles = require("@hitachivantara/uikit-styles");
6
7
  const Tag_styles = require("./Tag.styles.cjs");
7
8
  const utils = require("./utils.cjs");
8
9
  const tagClasses = require("./tagClasses.cjs");
9
- const jsxRuntime = require("@emotion/react/jsx-runtime");
10
10
  const ThemeProvider = require("../../providers/ThemeProvider.cjs");
11
11
  const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
12
12
  const clsx__default = /* @__PURE__ */ _interopDefault(clsx);
@@ -48,28 +48,16 @@ const HvTag = ({
48
48
  const {
49
49
  tabIndex = 0
50
50
  } = deleteButtonProps;
51
- return /* @__PURE__ */ jsxRuntime.jsx(Tag_styles.StyledButton, {
52
- classes: {
53
- startIcon: clsx__default.default(tagClasses.default.tagButton, classes == null ? void 0 : classes.tagButton),
54
- focusVisible: clsx__default.default(tagClasses.default.focusVisible, classes == null ? void 0 : classes.focusVisible),
55
- root: clsx__default.default(tagClasses.default.button, classes == null ? void 0 : classes.button)
56
- },
57
- "aria-label": deleteButtonArialLabel,
58
- tabIndex,
59
- variant: "secondaryGhost",
60
- ...deleteButtonProps,
61
- children: /* @__PURE__ */ jsxRuntime.jsx(Tag_styles.StyledCloseXS, {
62
- iconSize: "XS",
63
- style: {
64
- ...disabled ? {
65
- cursor: "not-allowed"
66
- } : void 0,
67
- height: 16
68
- },
69
- color: disabled ? disabledSemanticColor : "base2",
70
- $color: disabled ? disabledSemanticColor : "base2"
71
- })
72
- });
51
+ return /* @__PURE__ */ jsxRuntime.jsx(Tag_styles.StyledButton, { classes: {
52
+ startIcon: clsx__default.default(tagClasses.default.tagButton, classes == null ? void 0 : classes.tagButton),
53
+ focusVisible: clsx__default.default(tagClasses.default.focusVisible, classes == null ? void 0 : classes.focusVisible),
54
+ root: clsx__default.default(tagClasses.default.button, classes == null ? void 0 : classes.button)
55
+ }, "aria-label": deleteButtonArialLabel, tabIndex, variant: "secondaryGhost", ...deleteButtonProps, children: /* @__PURE__ */ jsxRuntime.jsx(Tag_styles.StyledCloseXS, { iconSize: "XS", style: {
56
+ ...disabled ? {
57
+ cursor: "not-allowed"
58
+ } : void 0,
59
+ height: 16
60
+ }, color: disabled ? disabledSemanticColor : "base2", $color: disabled ? disabledSemanticColor : "base2" }) });
73
61
  };
74
62
  const inlineStyle = {
75
63
  ...style
@@ -82,38 +70,20 @@ const HvTag = ({
82
70
  inlineStyle.backgroundColor = `${categoricalBackgroundColor}30`;
83
71
  }
84
72
  const [hover, setHover] = React.useState(false);
85
- return /* @__PURE__ */ jsxRuntime.jsx(Tag_styles.StyledChip, {
86
- label,
87
- className: clsx__default.default(classes == null ? void 0 : classes.root, className, tagClasses.default.root),
88
- onMouseEnter: () => {
89
- setHover(!!onClick);
90
- },
91
- onMouseLeave: () => {
92
- setHover(false);
93
- },
94
- style: {
95
- ...disabled ? null : inlineStyle,
96
- ...hover && !disabled ? {
97
- boxShadow: `0 0 0 1pt ${categoricalBackgroundColor}`
98
- } : null
99
- },
100
- classes: {
101
- root: clsx__default.default(tagClasses.default.chipRoot, classes == null ? void 0 : classes.chipRoot, type === "categorical" && clsx__default.default(tagClasses.default.categorical, classes == null ? void 0 : classes.categorical), disabled && clsx__default.default(tagClasses.default.disabled, classes == null ? void 0 : classes.disabled), !!onClick && clsx__default.default(tagClasses.default.clickable, classes == null ? void 0 : classes.clickable), type === "categorical" && !disabled && clsx__default.default(tagClasses.default.categoricalFocus, classes == null ? void 0 : classes.categoricalFocus), type === "categorical" && disabled && clsx__default.default(tagClasses.default.categoricalDisabled, classes == null ? void 0 : classes.categoricalDisabled)),
102
- label: clsx__default.default(tagClasses.default.label, classes == null ? void 0 : classes.label),
103
- deleteIcon: clsx__default.default(classes == null ? void 0 : classes.deleteIcon, tagClasses.default.deleteIcon, disabled && clsx__default.default(tagClasses.default.disabledDeleteIcon, classes == null ? void 0 : classes.disabledDeleteIcon))
104
- },
105
- deleteIcon: utils.hasDeleteAction(onDelete) && deleteIcon || getDeleteIcon(),
106
- onDelete: utils.getOnDeleteCallback(disabled, onDelete),
107
- onClick: disabled ? void 0 : onClick,
108
- role: role || (utils.hasClickAction(onClick) ? "button" : void 0),
109
- tabIndex: utils.hasDeleteAction(onDelete) ? void 0 : 0,
110
- $type: type,
111
- $disabled: disabled || false,
112
- $categoricalFocus: type === "categorical" && !disabled,
113
- $categoricalDisabled: type === "categorical" && disabled || false,
114
- $base1Color: ((_b = activeTheme == null ? void 0 : activeTheme.colors) == null ? void 0 : _b.modes[selectedMode].base1) || uikitStyles.theme.colors.base1,
115
- ...others
116
- });
73
+ return /* @__PURE__ */ jsxRuntime.jsx(Tag_styles.StyledChip, { label, className: clsx__default.default(classes == null ? void 0 : classes.root, className, tagClasses.default.root), onMouseEnter: () => {
74
+ setHover(!!onClick);
75
+ }, onMouseLeave: () => {
76
+ setHover(false);
77
+ }, style: {
78
+ ...disabled ? null : inlineStyle,
79
+ ...hover && !disabled ? {
80
+ boxShadow: `0 0 0 1pt ${categoricalBackgroundColor}`
81
+ } : null
82
+ }, classes: {
83
+ root: clsx__default.default(tagClasses.default.chipRoot, classes == null ? void 0 : classes.chipRoot, type === "categorical" && clsx__default.default(tagClasses.default.categorical, classes == null ? void 0 : classes.categorical), disabled && clsx__default.default(tagClasses.default.disabled, classes == null ? void 0 : classes.disabled), !!onClick && clsx__default.default(tagClasses.default.clickable, classes == null ? void 0 : classes.clickable), type === "categorical" && !disabled && clsx__default.default(tagClasses.default.categoricalFocus, classes == null ? void 0 : classes.categoricalFocus), type === "categorical" && disabled && clsx__default.default(tagClasses.default.categoricalDisabled, classes == null ? void 0 : classes.categoricalDisabled)),
84
+ label: clsx__default.default(tagClasses.default.label, classes == null ? void 0 : classes.label),
85
+ deleteIcon: clsx__default.default(classes == null ? void 0 : classes.deleteIcon, tagClasses.default.deleteIcon, disabled && clsx__default.default(tagClasses.default.disabledDeleteIcon, classes == null ? void 0 : classes.disabledDeleteIcon))
86
+ }, deleteIcon: utils.hasDeleteAction(onDelete) && deleteIcon || getDeleteIcon(), onDelete: utils.getOnDeleteCallback(disabled, onDelete), onClick: disabled ? void 0 : onClick, role: role || (utils.hasClickAction(onClick) ? "button" : void 0), tabIndex: utils.hasDeleteAction(onDelete) ? void 0 : 0, $type: type, $disabled: disabled || false, $categoricalFocus: type === "categorical" && !disabled, $categoricalDisabled: type === "categorical" && disabled || false, $base1Color: ((_b = activeTheme == null ? void 0 : activeTheme.colors) == null ? void 0 : _b.modes[selectedMode].base1) || uikitStyles.theme.colors.base1, ...others });
117
87
  };
118
88
  exports.HvTag = HvTag;
119
89
  //# sourceMappingURL=Tag.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tag.cjs","sources":["../../../../src/components/Tag/Tag.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport { CSSProperties, useState, useContext } from \"react\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\nimport { ChipProps as MuiChipProps } from \"@mui/material/Chip\";\nimport { HvBaseProps } from \"../../types\";\nimport { StyledChip, StyledButton, StyledCloseXS } from \"./Tag.styles\";\nimport { getOnDeleteCallback, hasDeleteAction, hasClickAction } from \"./utils\";\nimport { HvSemanticColorKeys, HvCategoricalColorKeys } from \"types/tokens\";\nimport { HvThemeContext } from \"../../providers\";\nimport { HvButtonProps } from \"../Button\";\nimport tagClasses, { HvTagClasses } from \"./tagClasses\";\n\nexport type HvTagProps = Omit<MuiChipProps, \"color\" | \"classes\"> &\n HvBaseProps<HTMLDivElement, { children }> & {\n /** Inline styles to be applied to the root element. */\n style?: CSSProperties;\n /** The label of the tag element. */\n label?: React.ReactNode;\n /** Indicates that the form element is disabled. */\n disabled?: boolean;\n /** The type of the tag element. A tag can be of semantic or categoric type. */\n type?: \"semantic\" | \"categorical\";\n /** Background color to be applied to the tag */\n color?: HvSemanticColorKeys | HvCategoricalColorKeys | string;\n /** Icon used to customize the delete icon in the Chip element */\n deleteIcon?: React.ReactElement;\n /**\n * The callback fired when the delete icon is pressed.\n * This function has to be provided to the component, in order to render the delete icon\n * */\n onDelete?: (event: React.MouseEvent<HTMLElement>) => void;\n /** Callback triggered when any item is clicked. */\n onClick?: (event: React.MouseEvent<HTMLElement>) => void;\n /** The role of the element with an attributed event. */\n role?: string;\n /** Aria properties to apply to delete button in tag */\n deleteButtonArialLabel?: string;\n /** Props to apply to delete button */\n deleteButtonProps?: HvButtonProps;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvTagClasses;\n };\n\nconst getColor = (customColor, type, colors) => {\n const defaultSemanticColor = theme.colors.sema7;\n const defaultCategoricalColor = colors.cviz1;\n\n let backgroundColor;\n\n if (type === \"semantic\") {\n backgroundColor =\n theme.colors[customColor] || customColor || defaultSemanticColor;\n }\n if (type === \"categorical\") {\n backgroundColor =\n colors[customColor] || customColor || defaultCategoricalColor;\n }\n return backgroundColor;\n};\n\n/**\n * A Tag is one word that describes a specific aspect of an asset. A single asset can have\n * multiple tags.\n * Use tags to highlight an item's status for quick recognition and navigation\n * Use color to indicate meanings that users can learn and recognize across products\n *\n * It leverages the Chip component from Material UI\n */\nexport const HvTag = ({\n classes,\n className,\n style,\n label,\n disabled,\n type = \"semantic\",\n color,\n deleteIcon,\n onDelete,\n onClick,\n role,\n deleteButtonArialLabel = \"Delete tag\",\n deleteButtonProps = {},\n ...others\n}: HvTagProps) => {\n const { activeTheme, selectedMode } = useContext(HvThemeContext);\n\n const getDeleteIcon = () => {\n const disabledSemanticColor = type === \"semantic\" ? \"atmo5\" : \"base2\";\n const { tabIndex = 0 } = deleteButtonProps;\n\n return (\n <StyledButton\n classes={{\n startIcon: clsx(tagClasses.tagButton, classes?.tagButton),\n focusVisible: clsx(tagClasses.focusVisible, classes?.focusVisible),\n root: clsx(tagClasses.button, classes?.button),\n }}\n aria-label={deleteButtonArialLabel}\n tabIndex={tabIndex}\n variant=\"secondaryGhost\"\n {...deleteButtonProps}\n >\n <StyledCloseXS\n iconSize=\"XS\"\n style={{\n ...(disabled ? { cursor: \"not-allowed\" } : undefined),\n height: 16,\n }}\n color={disabled ? disabledSemanticColor : \"base2\"}\n $color={disabled ? disabledSemanticColor : \"base2\"}\n />\n </StyledButton>\n );\n };\n\n const inlineStyle = {\n ...style,\n };\n\n let categoricalBackgroundColor;\n\n if (type === \"semantic\") {\n inlineStyle.backgroundColor = getColor(color, type, {});\n } else if (type === \"categorical\") {\n categoricalBackgroundColor = getColor(\n color,\n type,\n activeTheme?.colors?.modes[selectedMode]\n );\n\n inlineStyle.backgroundColor = `${categoricalBackgroundColor}30`;\n }\n\n const [hover, setHover] = useState(false);\n\n return (\n <StyledChip\n label={label}\n className={clsx(classes?.root, className, tagClasses.root)}\n onMouseEnter={() => {\n setHover(!!onClick);\n }}\n onMouseLeave={() => {\n setHover(false);\n }}\n style={{\n ...(disabled ? null : inlineStyle),\n ...(hover && !disabled\n ? { boxShadow: `0 0 0 1pt ${categoricalBackgroundColor}` }\n : null),\n }}\n classes={{\n root: clsx(\n tagClasses.chipRoot,\n classes?.chipRoot,\n type === \"categorical\" &&\n clsx(tagClasses.categorical, classes?.categorical),\n disabled && clsx(tagClasses.disabled, classes?.disabled),\n !!onClick && clsx(tagClasses.clickable, classes?.clickable),\n type === \"categorical\" &&\n !disabled &&\n clsx(tagClasses.categoricalFocus, classes?.categoricalFocus),\n type === \"categorical\" &&\n disabled &&\n clsx(tagClasses.categoricalDisabled, classes?.categoricalDisabled)\n ),\n label: clsx(tagClasses.label, classes?.label),\n deleteIcon: clsx(\n classes?.deleteIcon,\n tagClasses.deleteIcon,\n disabled &&\n clsx(tagClasses.disabledDeleteIcon, classes?.disabledDeleteIcon)\n ),\n }}\n deleteIcon={(hasDeleteAction(onDelete) && deleteIcon) || getDeleteIcon()}\n onDelete={getOnDeleteCallback(disabled, onDelete)}\n onClick={disabled ? undefined : onClick}\n role={role || (hasClickAction(onClick) ? \"button\" : undefined)}\n tabIndex={hasDeleteAction(onDelete) ? undefined : 0}\n $type={type}\n $disabled={disabled || false}\n $categoricalFocus={type === \"categorical\" && !disabled}\n $categoricalDisabled={(type === \"categorical\" && disabled) || false}\n $base1Color={\n activeTheme?.colors?.modes[selectedMode].base1 || theme.colors.base1\n }\n {...others}\n />\n );\n};\n"],"names":["getColor","customColor","type","colors","defaultSemanticColor","theme","sema7","defaultCategoricalColor","cviz1","backgroundColor","HvTag","classes","className","style","label","disabled","color","deleteIcon","onDelete","onClick","role","deleteButtonArialLabel","deleteButtonProps","others","activeTheme","selectedMode","useContext","HvThemeContext","getDeleteIcon","disabledSemanticColor","tabIndex","StyledButton","startIcon","clsx","tagClasses","tagButton","focusVisible","root","button","variant","children","StyledCloseXS","iconSize","cursor","undefined","height","$color","inlineStyle","categoricalBackgroundColor","modes","hover","setHover","useState","StyledChip","onMouseEnter","onMouseLeave","boxShadow","chipRoot","categorical","clickable","categoricalFocus","categoricalDisabled","disabledDeleteIcon","hasDeleteAction","getOnDeleteCallback","hasClickAction","$type","$disabled","$categoricalFocus","$categoricalDisabled","$base1Color","base1"],"mappings":"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"}
1
+ {"version":3,"file":"Tag.cjs","sources":["../../../../src/components/Tag/Tag.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport { CSSProperties, useState, useContext } from \"react\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\nimport { ChipProps as MuiChipProps } from \"@mui/material/Chip\";\nimport { HvBaseProps } from \"../../types\";\nimport { StyledChip, StyledButton, StyledCloseXS } from \"./Tag.styles\";\nimport { getOnDeleteCallback, hasDeleteAction, hasClickAction } from \"./utils\";\nimport { HvSemanticColorKeys, HvCategoricalColorKeys } from \"types/tokens\";\nimport { HvThemeContext } from \"../../providers\";\nimport { HvButtonProps } from \"../Button\";\nimport tagClasses, { HvTagClasses } from \"./tagClasses\";\n\nexport type HvTagProps = Omit<MuiChipProps, \"color\" | \"classes\"> &\n HvBaseProps<HTMLDivElement, { children }> & {\n /** Inline styles to be applied to the root element. */\n style?: CSSProperties;\n /** The label of the tag element. */\n label?: React.ReactNode;\n /** Indicates that the form element is disabled. */\n disabled?: boolean;\n /** The type of the tag element. A tag can be of semantic or categoric type. */\n type?: \"semantic\" | \"categorical\";\n /** Background color to be applied to the tag */\n color?: HvSemanticColorKeys | HvCategoricalColorKeys | string;\n /** Icon used to customize the delete icon in the Chip element */\n deleteIcon?: React.ReactElement;\n /**\n * The callback fired when the delete icon is pressed.\n * This function has to be provided to the component, in order to render the delete icon\n * */\n onDelete?: (event: React.MouseEvent<HTMLElement>) => void;\n /** Callback triggered when any item is clicked. */\n onClick?: (event: React.MouseEvent<HTMLElement>) => void;\n /** The role of the element with an attributed event. */\n role?: string;\n /** Aria properties to apply to delete button in tag */\n deleteButtonArialLabel?: string;\n /** Props to apply to delete button */\n deleteButtonProps?: HvButtonProps;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvTagClasses;\n };\n\nconst getColor = (customColor, type, colors) => {\n const defaultSemanticColor = theme.colors.sema7;\n const defaultCategoricalColor = colors.cviz1;\n\n let backgroundColor;\n\n if (type === \"semantic\") {\n backgroundColor =\n theme.colors[customColor] || customColor || defaultSemanticColor;\n }\n if (type === \"categorical\") {\n backgroundColor =\n colors[customColor] || customColor || defaultCategoricalColor;\n }\n return backgroundColor;\n};\n\n/**\n * A Tag is one word that describes a specific aspect of an asset. A single asset can have\n * multiple tags.\n * Use tags to highlight an item's status for quick recognition and navigation\n * Use color to indicate meanings that users can learn and recognize across products\n *\n * It leverages the Chip component from Material UI\n */\nexport const HvTag = ({\n classes,\n className,\n style,\n label,\n disabled,\n type = \"semantic\",\n color,\n deleteIcon,\n onDelete,\n onClick,\n role,\n deleteButtonArialLabel = \"Delete tag\",\n deleteButtonProps = {},\n ...others\n}: HvTagProps) => {\n const { activeTheme, selectedMode } = useContext(HvThemeContext);\n\n const getDeleteIcon = () => {\n const disabledSemanticColor = type === \"semantic\" ? \"atmo5\" : \"base2\";\n const { tabIndex = 0 } = deleteButtonProps;\n\n return (\n <StyledButton\n classes={{\n startIcon: clsx(tagClasses.tagButton, classes?.tagButton),\n focusVisible: clsx(tagClasses.focusVisible, classes?.focusVisible),\n root: clsx(tagClasses.button, classes?.button),\n }}\n aria-label={deleteButtonArialLabel}\n tabIndex={tabIndex}\n variant=\"secondaryGhost\"\n {...deleteButtonProps}\n >\n <StyledCloseXS\n iconSize=\"XS\"\n style={{\n ...(disabled ? { cursor: \"not-allowed\" } : undefined),\n height: 16,\n }}\n color={disabled ? disabledSemanticColor : \"base2\"}\n $color={disabled ? disabledSemanticColor : \"base2\"}\n />\n </StyledButton>\n );\n };\n\n const inlineStyle = {\n ...style,\n };\n\n let categoricalBackgroundColor;\n\n if (type === \"semantic\") {\n inlineStyle.backgroundColor = getColor(color, type, {});\n } else if (type === \"categorical\") {\n categoricalBackgroundColor = getColor(\n color,\n type,\n activeTheme?.colors?.modes[selectedMode]\n );\n\n inlineStyle.backgroundColor = `${categoricalBackgroundColor}30`;\n }\n\n const [hover, setHover] = useState(false);\n\n return (\n <StyledChip\n label={label}\n className={clsx(classes?.root, className, tagClasses.root)}\n onMouseEnter={() => {\n setHover(!!onClick);\n }}\n onMouseLeave={() => {\n setHover(false);\n }}\n style={{\n ...(disabled ? null : inlineStyle),\n ...(hover && !disabled\n ? { boxShadow: `0 0 0 1pt ${categoricalBackgroundColor}` }\n : null),\n }}\n classes={{\n root: clsx(\n tagClasses.chipRoot,\n classes?.chipRoot,\n type === \"categorical\" &&\n clsx(tagClasses.categorical, classes?.categorical),\n disabled && clsx(tagClasses.disabled, classes?.disabled),\n !!onClick && clsx(tagClasses.clickable, classes?.clickable),\n type === \"categorical\" &&\n !disabled &&\n clsx(tagClasses.categoricalFocus, classes?.categoricalFocus),\n type === \"categorical\" &&\n disabled &&\n clsx(tagClasses.categoricalDisabled, classes?.categoricalDisabled)\n ),\n label: clsx(tagClasses.label, classes?.label),\n deleteIcon: clsx(\n classes?.deleteIcon,\n tagClasses.deleteIcon,\n disabled &&\n clsx(tagClasses.disabledDeleteIcon, classes?.disabledDeleteIcon)\n ),\n }}\n deleteIcon={(hasDeleteAction(onDelete) && deleteIcon) || getDeleteIcon()}\n onDelete={getOnDeleteCallback(disabled, onDelete)}\n onClick={disabled ? undefined : onClick}\n role={role || (hasClickAction(onClick) ? \"button\" : undefined)}\n tabIndex={hasDeleteAction(onDelete) ? undefined : 0}\n $type={type}\n $disabled={disabled || false}\n $categoricalFocus={type === \"categorical\" && !disabled}\n $categoricalDisabled={(type === \"categorical\" && disabled) || false}\n $base1Color={\n activeTheme?.colors?.modes[selectedMode].base1 || theme.colors.base1\n }\n {...others}\n />\n );\n};\n"],"names":["getColor","customColor","type","colors","defaultSemanticColor","theme","sema7","defaultCategoricalColor","cviz1","backgroundColor","HvTag","classes","className","style","label","disabled","color","deleteIcon","onDelete","onClick","role","deleteButtonArialLabel","deleteButtonProps","others","activeTheme","selectedMode","useContext","HvThemeContext","getDeleteIcon","disabledSemanticColor","tabIndex","jsx","StyledButton","startIcon","clsx","tagClasses","tagButton","focusVisible","root","button","StyledCloseXS","cursor","undefined","height","inlineStyle","categoricalBackgroundColor","modes","hover","setHover","useState","StyledChip","boxShadow","chipRoot","categorical","clickable","categoricalFocus","categoricalDisabled","disabledDeleteIcon","hasDeleteAction","getOnDeleteCallback","hasClickAction","base1"],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const jsxRuntime = require("@emotion/react/jsx-runtime");
3
4
  const React = require("react");
4
5
  const clsx = require("clsx");
5
6
  const isNil = require("lodash/isNil");
@@ -7,7 +8,6 @@ const TagsInput_styles = require("./TagsInput.styles.cjs");
7
8
  const validationStates = require("../Forms/FormElement/validationStates.cjs");
8
9
  const validations = require("../BaseInput/validations.cjs");
9
10
  const tagsInputClasses = require("./tagsInputClasses.cjs");
10
- const jsxRuntime = require("@emotion/react/jsx-runtime");
11
11
  const useUniqueId = require("../../hooks/useUniqueId.cjs");
12
12
  const useIsMounted = require("../../hooks/useIsMounted.cjs");
13
13
  const useControlled = require("../../hooks/useControlled.cjs");
@@ -239,47 +239,14 @@ const HvTagsInput = ({
239
239
  clearTimeout(blurTimeout.current);
240
240
  onFocus == null ? void 0 : onFocus(evt, tagInput);
241
241
  };
242
- return /* @__PURE__ */ jsxRuntime.jsxs(TagsInput_styles.StyledFormElement, {
243
- id,
244
- name,
245
- disabled,
246
- readOnly,
247
- status: validationState,
248
- required,
249
- onBlur: onBlurHandler,
250
- onFocus: onFocusHandler,
251
- className: clsx__default.default(tagsInputClasses.default.root, classes == null ? void 0 : classes.root, className, disabled && clsx__default.default(tagsInputClasses.default.disabled, classes == null ? void 0 : classes.disabled)),
252
- children: [(hasLabel || hasDescription) && /* @__PURE__ */ jsxRuntime.jsxs(TagsInput_styles.StyledLabelContainer, {
253
- className: clsx__default.default(tagsInputClasses.default.labelContainer, classes == null ? void 0 : classes.labelContainer),
254
- children: [hasLabel && /* @__PURE__ */ jsxRuntime.jsx(TagsInput_styles.StyledLabel, {
255
- className: clsx__default.default(tagsInputClasses.default.label, classes == null ? void 0 : classes.label),
256
- id: setId.setId(id, "label"),
257
- htmlFor: setId.setId(elementId, "input"),
258
- label: textAreaLabel
259
- }), hasDescription && /* @__PURE__ */ jsxRuntime.jsx(TagsInput_styles.StyledDescription, {
260
- className: clsx__default.default(tagsInputClasses.default.description, classes == null ? void 0 : classes.description),
261
- id: setId.setId(elementId, "description"),
262
- children: description
263
- })]
264
- }), hasCounter && /* @__PURE__ */ jsxRuntime.jsx(TagsInput_styles.StyledCharCounter, {
265
- id: setId.setId(elementId, "charCounter"),
266
- className: clsx__default.default(tagsInputClasses.default.characterCounter, classes == null ? void 0 : classes.characterCounter),
267
- separator: middleCountLabel,
268
- currentCharQuantity: value.length,
269
- maxCharQuantity: maxTagsQuantity,
270
- ...countCharProps
271
- }), /* @__PURE__ */ jsxRuntime.jsxs(TagsInput_styles.StyledTagsList, {
272
- className: clsx__default.default(tagsInputClasses.default.tagsList, classes == null ? void 0 : classes.tagsList, canShowError && clsx__default.default(tagsInputClasses.default.error, classes == null ? void 0 : classes.error), resizable && multiline && clsx__default.default(tagsInputClasses.default.resizable, classes == null ? void 0 : classes.resizable), isStateInvalid && clsx__default.default(tagsInputClasses.default.invalid, classes == null ? void 0 : classes.invalid), !multiline && clsx__default.default(tagsInputClasses.default.singleLine, classes == null ? void 0 : classes.singleLine)),
273
- $disabled: disabled,
274
- $singleLine: !multiline,
275
- $error: canShowError,
276
- $resizable: resizable && multiline,
277
- $invalid: isStateInvalid,
278
- $readOnly: readOnly,
279
- onKeyDown: onKeyDownHandler,
280
- onClick: onContainerClickHandler,
281
- ref: containerRef,
282
- children: [value && value.map((t, i) => {
242
+ return /* @__PURE__ */ jsxRuntime.jsxs(TagsInput_styles.StyledFormElement, { id, name, disabled, readOnly, status: validationState, required, onBlur: onBlurHandler, onFocus: onFocusHandler, className: clsx__default.default(tagsInputClasses.default.root, classes == null ? void 0 : classes.root, className, disabled && clsx__default.default(tagsInputClasses.default.disabled, classes == null ? void 0 : classes.disabled)), children: [
243
+ (hasLabel || hasDescription) && /* @__PURE__ */ jsxRuntime.jsxs(TagsInput_styles.StyledLabelContainer, { className: clsx__default.default(tagsInputClasses.default.labelContainer, classes == null ? void 0 : classes.labelContainer), children: [
244
+ hasLabel && /* @__PURE__ */ jsxRuntime.jsx(TagsInput_styles.StyledLabel, { className: clsx__default.default(tagsInputClasses.default.label, classes == null ? void 0 : classes.label), id: setId.setId(id, "label"), htmlFor: setId.setId(elementId, "input"), label: textAreaLabel }),
245
+ hasDescription && /* @__PURE__ */ jsxRuntime.jsx(TagsInput_styles.StyledDescription, { className: clsx__default.default(tagsInputClasses.default.description, classes == null ? void 0 : classes.description), id: setId.setId(elementId, "description"), children: description })
246
+ ] }),
247
+ hasCounter && /* @__PURE__ */ jsxRuntime.jsx(TagsInput_styles.StyledCharCounter, { id: setId.setId(elementId, "charCounter"), className: clsx__default.default(tagsInputClasses.default.characterCounter, classes == null ? void 0 : classes.characterCounter), separator: middleCountLabel, currentCharQuantity: value.length, maxCharQuantity: maxTagsQuantity, ...countCharProps }),
248
+ /* @__PURE__ */ jsxRuntime.jsxs(TagsInput_styles.StyledTagsList, { className: clsx__default.default(tagsInputClasses.default.tagsList, classes == null ? void 0 : classes.tagsList, canShowError && clsx__default.default(tagsInputClasses.default.error, classes == null ? void 0 : classes.error), resizable && multiline && clsx__default.default(tagsInputClasses.default.resizable, classes == null ? void 0 : classes.resizable), isStateInvalid && clsx__default.default(tagsInputClasses.default.invalid, classes == null ? void 0 : classes.invalid), !multiline && clsx__default.default(tagsInputClasses.default.singleLine, classes == null ? void 0 : classes.singleLine)), $disabled: disabled, $singleLine: !multiline, $error: canShowError, $resizable: resizable && multiline, $invalid: isStateInvalid, $readOnly: readOnly, onKeyDown: onKeyDownHandler, onClick: onContainerClickHandler, ref: containerRef, children: [
249
+ value && value.map((t, i) => {
283
250
  const tag = typeof t === "string" ? {
284
251
  label: t,
285
252
  type: "semantic"
@@ -289,93 +256,42 @@ const HvTagsInput = ({
289
256
  type,
290
257
  ...otherProps
291
258
  } = tag;
292
- return /* @__PURE__ */ jsxRuntime.jsx(TagsInput_styles.StyledListItem, {
293
- tabIndex: -1,
294
- className: clsx__default.default(!multiline && clsx__default.default(tagsInputClasses.default.singleLine, classes == null ? void 0 : classes.singleLine)),
295
- classes: {
296
- gutters: clsx__default.default(tagsInputClasses.default.listItemGutters, classes == null ? void 0 : classes.listItemGutters),
297
- root: clsx__default.default(tagsInputClasses.default.listItemRoot, classes == null ? void 0 : classes.listItemRoot)
298
- },
299
- id: `tag-${i}`,
300
- $singleLine: !multiline,
301
- children: /* @__PURE__ */ jsxRuntime.jsx(TagsInput_styles.StyledTag, {
302
- label,
303
- className: clsx__default.default(i === tagCursorPos && clsx__default.default(tagsInputClasses.default.tagSelected, classes == null ? void 0 : classes.tagSelected)),
304
- classes: {
305
- chipRoot: clsx__default.default(tagsInputClasses.default.chipRoot, classes == null ? void 0 : classes.chipRoot)
306
- },
307
- type,
308
- ...!(readOnly || disabled || type === "categorical") && {
309
- onDelete: (event) => onDeleteTagHandler(event, i)
310
- },
311
- deleteButtonProps: {
312
- tabIndex: -1
313
- },
314
- $selected: i === tagCursorPos,
315
- ...otherProps
316
- })
317
- }, `${tag.label}-${i}`);
318
- }), !(disabled || readOnly) && /* @__PURE__ */ jsxRuntime.jsx(TagsInput_styles.StyledInputListItem, {
319
- className: clsx__default.default(!multiline && clsx__default.default(tagsInputClasses.default.singleLine, classes == null ? void 0 : classes.singleLine, value.length === 0 && clsx__default.default(tagsInputClasses.default.tagInputRootEmpty, classes == null ? void 0 : classes.tagInputRootEmpty))),
320
- classes: {
321
- root: clsx__default.default(tagsInputClasses.default.tagInputContainerRoot, classes == null ? void 0 : classes.tagInputContainerRoot),
322
- gutters: clsx__default.default(tagsInputClasses.default.listItemGutters, classes == null ? void 0 : classes.listItemGutters)
323
- },
324
- id: `tag-${value.length}`,
325
- $singleLine: !multiline,
326
- $isTagSelected: !!isTagSelected,
327
- children: /* @__PURE__ */ jsxRuntime.jsx(TagsInput_styles.StyledInput, {
328
- value: tagInput,
329
- disableClear: true,
330
- onChange: onChangeHandler,
331
- onKeyDown: onInputKeyDownHandler,
332
- placeholder: value.length === 0 ? placeholder : "",
333
- autoFocus,
334
- className: clsx__default.default(!multiline && clsx__default.default(tagsInputClasses.default.singleLine, classes == null ? void 0 : classes.singleLine)),
335
- classes: {
336
- root: clsx__default.default(tagsInputClasses.default.tagInputRoot, classes == null ? void 0 : classes.tagInputRoot),
337
- input: clsx__default.default(tagsInputClasses.default.input, classes == null ? void 0 : classes.input),
338
- inputBorderContainer: clsx__default.default(tagsInputClasses.default.tagInputBorderContainer, classes == null ? void 0 : classes.tagInputBorderContainer),
339
- inputRootFocused: clsx__default.default(tagsInputClasses.default.tagInputRootFocused, classes == null ? void 0 : classes.tagInputRootFocused)
340
- },
341
- disabled,
342
- readOnly: readOnly || isTagSelected,
343
- inputProps: {
344
- ref: materialInputRef,
345
- "aria-label": ariaLabel,
346
- "aria-labelledby": ariaLabelledBy,
347
- "aria-describedby": ariaDescribedBy != null ? ariaDescribedBy : description && setId.setId(elementId, "description") || void 0,
348
- ...inputProps
349
- },
350
- inputRef,
351
- $singleLine: !multiline,
352
- ...others
353
- })
354
- })]
355
- }), canShowSuggestions && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, {
356
- children: [hasSuggestions && /* @__PURE__ */ jsxRuntime.jsx("div", {
357
- role: "presentation",
358
- className: clsx__default.default(tagsInputClasses.default.inputExtension, classes == null ? void 0 : classes.inputExtension)
359
- }), /* @__PURE__ */ jsxRuntime.jsx(TagsInput_styles.StyledSuggestions, {
360
- id: setId.setId(elementId, "suggestions"),
361
- classes: {
362
- root: clsx__default.default(tagsInputClasses.default.suggestionsContainer, classes == null ? void 0 : classes.suggestionsContainer),
363
- list: clsx__default.default(tagsInputClasses.default.suggestionList, classes == null ? void 0 : classes.suggestionList)
364
- },
365
- expanded: hasSuggestions,
366
- anchorEl: (_a = containerRef == null ? void 0 : containerRef.current) == null ? void 0 : _a.parentElement,
367
- onClose: suggestionClearHandler,
368
- onKeyDown: onSuggestionKeyDown,
369
- onSuggestionSelected: suggestionSelectedHandler,
370
- suggestionValues
371
- })]
372
- }), canShowError && /* @__PURE__ */ jsxRuntime.jsx(TagsInput_styles.StyledError, {
373
- id: setId.setId(elementId, "error"),
374
- disableBorder: true,
375
- className: clsx__default.default(tagsInputClasses.default.error, classes == null ? void 0 : classes.error),
376
- children: validationMessage
377
- })]
378
- });
259
+ return /* @__PURE__ */ jsxRuntime.jsx(TagsInput_styles.StyledListItem, { tabIndex: -1, className: clsx__default.default(!multiline && clsx__default.default(tagsInputClasses.default.singleLine, classes == null ? void 0 : classes.singleLine)), classes: {
260
+ gutters: clsx__default.default(tagsInputClasses.default.listItemGutters, classes == null ? void 0 : classes.listItemGutters),
261
+ root: clsx__default.default(tagsInputClasses.default.listItemRoot, classes == null ? void 0 : classes.listItemRoot)
262
+ }, id: `tag-${i}`, $singleLine: !multiline, children: /* @__PURE__ */ jsxRuntime.jsx(TagsInput_styles.StyledTag, { label, className: clsx__default.default(i === tagCursorPos && clsx__default.default(tagsInputClasses.default.tagSelected, classes == null ? void 0 : classes.tagSelected)), classes: {
263
+ chipRoot: clsx__default.default(tagsInputClasses.default.chipRoot, classes == null ? void 0 : classes.chipRoot)
264
+ }, type, ...!(readOnly || disabled || type === "categorical") && {
265
+ onDelete: (event) => onDeleteTagHandler(event, i)
266
+ }, deleteButtonProps: {
267
+ tabIndex: -1
268
+ }, $selected: i === tagCursorPos, ...otherProps }) }, `${tag.label}-${i}`);
269
+ }),
270
+ !(disabled || readOnly) && /* @__PURE__ */ jsxRuntime.jsx(TagsInput_styles.StyledInputListItem, { className: clsx__default.default(!multiline && clsx__default.default(tagsInputClasses.default.singleLine, classes == null ? void 0 : classes.singleLine, value.length === 0 && clsx__default.default(tagsInputClasses.default.tagInputRootEmpty, classes == null ? void 0 : classes.tagInputRootEmpty))), classes: {
271
+ root: clsx__default.default(tagsInputClasses.default.tagInputContainerRoot, classes == null ? void 0 : classes.tagInputContainerRoot),
272
+ gutters: clsx__default.default(tagsInputClasses.default.listItemGutters, classes == null ? void 0 : classes.listItemGutters)
273
+ }, id: `tag-${value.length}`, $singleLine: !multiline, $isTagSelected: !!isTagSelected, children: /* @__PURE__ */ jsxRuntime.jsx(TagsInput_styles.StyledInput, { value: tagInput, disableClear: true, onChange: onChangeHandler, onKeyDown: onInputKeyDownHandler, placeholder: value.length === 0 ? placeholder : "", autoFocus, className: clsx__default.default(!multiline && clsx__default.default(tagsInputClasses.default.singleLine, classes == null ? void 0 : classes.singleLine)), classes: {
274
+ root: clsx__default.default(tagsInputClasses.default.tagInputRoot, classes == null ? void 0 : classes.tagInputRoot),
275
+ input: clsx__default.default(tagsInputClasses.default.input, classes == null ? void 0 : classes.input),
276
+ inputBorderContainer: clsx__default.default(tagsInputClasses.default.tagInputBorderContainer, classes == null ? void 0 : classes.tagInputBorderContainer),
277
+ inputRootFocused: clsx__default.default(tagsInputClasses.default.tagInputRootFocused, classes == null ? void 0 : classes.tagInputRootFocused)
278
+ }, disabled, readOnly: readOnly || isTagSelected, inputProps: {
279
+ ref: materialInputRef,
280
+ "aria-label": ariaLabel,
281
+ "aria-labelledby": ariaLabelledBy,
282
+ "aria-describedby": ariaDescribedBy != null ? ariaDescribedBy : description && setId.setId(elementId, "description") || void 0,
283
+ ...inputProps
284
+ }, inputRef, $singleLine: !multiline, ...others }) })
285
+ ] }),
286
+ canShowSuggestions && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
287
+ hasSuggestions && /* @__PURE__ */ jsxRuntime.jsx("div", { role: "presentation", className: clsx__default.default(tagsInputClasses.default.inputExtension, classes == null ? void 0 : classes.inputExtension) }),
288
+ /* @__PURE__ */ jsxRuntime.jsx(TagsInput_styles.StyledSuggestions, { id: setId.setId(elementId, "suggestions"), classes: {
289
+ root: clsx__default.default(tagsInputClasses.default.suggestionsContainer, classes == null ? void 0 : classes.suggestionsContainer),
290
+ list: clsx__default.default(tagsInputClasses.default.suggestionList, classes == null ? void 0 : classes.suggestionList)
291
+ }, expanded: hasSuggestions, anchorEl: (_a = containerRef == null ? void 0 : containerRef.current) == null ? void 0 : _a.parentElement, onClose: suggestionClearHandler, onKeyDown: onSuggestionKeyDown, onSuggestionSelected: suggestionSelectedHandler, suggestionValues })
292
+ ] }),
293
+ canShowError && /* @__PURE__ */ jsxRuntime.jsx(TagsInput_styles.StyledError, { id: setId.setId(elementId, "error"), disableBorder: true, className: clsx__default.default(tagsInputClasses.default.error, classes == null ? void 0 : classes.error), children: validationMessage })
294
+ ] });
379
295
  };
380
296
  exports.HvTagsInput = HvTagsInput;
381
297
  //# sourceMappingURL=TagsInput.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"TagsInput.cjs","sources":["../../../../src/components/TagsInput/TagsInput.tsx"],"sourcesContent":["import React, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport clsx from \"clsx\";\nimport isNil from \"lodash/isNil\";\nimport { HvValidationMessages } from \"types/forms\";\nimport { HvBaseProps } from \"../../types\";\nimport {\n StyledCharCounter,\n StyledDescription,\n StyledError,\n StyledFormElement,\n StyledLabel,\n StyledLabelContainer,\n StyledListItem,\n StyledTag,\n StyledTagsList,\n StyledInputListItem,\n StyledInput,\n StyledSuggestions,\n} from \"./TagsInput.styles\";\nimport validationStates from \"../Forms/FormElement/validationStates\";\nimport { DEFAULT_ERROR_MESSAGES } from \"../BaseInput/validations\";\nimport { useControlled, useIsMounted, useUniqueId } from \"hooks\";\nimport { isKeypress, keyboardCodes, setId } from \"utils\";\nimport { HvTagProps } from \"components\";\nimport tagsInputClasses, { HvTagsInputClasses } from \"./tagsInputClasses\";\nimport { HvCharCounterProps, HvFormStatus } from \"../Forms\";\nimport { InputBaseComponentProps as MuiInputBaseComponentProps } from \"@mui/material\";\n\nexport type HvTagsInputProps = HvBaseProps<\n HTMLElement,\n { onChange; onBlur; onFocus; onKeyDown; color }\n> & {\n /** The form element name. */\n name?: string;\n /** The value of the form element. */\n value?: string[] | HvTagProps[];\n /** When uncontrolled, defines the initial input value. */\n defaultValue?: string[] | HvTagProps[];\n /**\n * The label of the form element.\n * The form element must be labeled for accessibility reasons.\n * If not provided, an aria-label or aria-labelledby must be inputted via inputProps.\n */\n label?: React.ReactNode;\n /** Provide additional descriptive text for the form element. */\n description?: React.ReactNode;\n /** Indicates that the form element is disabled. */\n disabled?: boolean;\n /** Indicates that the form element is not editable. */\n readOnly?: boolean;\n /** Indicates that the form element is required. */\n required?: boolean;\n /** The function that will be executed onChange. */\n onChange?: (\n event:\n | React.ChangeEvent<HTMLInputElement>\n | React.KeyboardEvent<HTMLInputElement>\n | React.MouseEvent<HTMLButtonElement>\n | React.MouseEvent<HTMLElement, MouseEvent>\n | React.KeyboardEventHandler<HTMLElement>,\n value: HvTagProps[]\n ) => void;\n /** The function that will be executed when the element is focused. */\n onFocus?: (event: React.FocusEvent<HTMLInputElement>, value: string) => void;\n /** The function that will be executed when the element is blurred. */\n onBlur?: (event: React.FocusEvent<HTMLInputElement>, value: string) => void;\n /** The function that will be executed when a tag is deleted. */\n onDelete?: (\n event:\n | React.ChangeEvent<HTMLInputElement>\n | React.KeyboardEvent<HTMLInputElement>\n | React.MouseEvent<HTMLButtonElement>\n | React.MouseEvent<HTMLElement, MouseEvent>\n | React.KeyboardEventHandler<HTMLElement>,\n value: HvTagProps,\n index: number\n ) => void;\n /** The function that will be executed when a tag is added. */\n onAdd?: (\n event:\n | React.ChangeEvent<HTMLInputElement>\n | React.KeyboardEvent<HTMLInputElement>\n | React.MouseEvent<HTMLButtonElement>\n | React.MouseEvent<HTMLElement, MouseEvent>\n | React.KeyboardEventHandler<HTMLElement>,\n value: HvTagProps,\n index: number\n ) => void;\n /** The placeholder value of the input. */\n placeholder?: string;\n /** If `true` the character counter isn't shown even if maxTagsQuantity is set. */\n hideCounter?: boolean;\n /** Text between the current char counter and max value. */\n middleCountLabel?: string;\n /** The maximum allowed length of the characters, if this value is null no check will be performed. */\n maxTagsQuantity?: number;\n /** Attributes applied to the input element. */\n inputProps?: MuiInputBaseComponentProps;\n /** If `true` it should autofocus. */\n autoFocus?: boolean;\n /** If `true` the component is resizable. */\n resizable?: boolean;\n /** Props passed to the HvCharCount component. */\n countCharProps?: Partial<HvCharCounterProps>;\n /** If `true` the component is in multiline mode. */\n multiline?: boolean;\n /** The status of the form element. */\n status?: HvFormStatus;\n /** The error message to show when `status` is \"invalid\". */\n statusMessage?: React.ReactNode;\n /** An Object containing the various texts associated with the input. */\n validationMessages?: HvValidationMessages;\n /** An array of strings that represent the character used to input a tag. This character is the string representation of the event.code from the input event. */\n commitTagOn?: string[];\n /** If `true` the tag will be committed when the blur event occurs. */\n commitOnBlur?: boolean;\n /** The function that will be executed to received an array of objects that has a label and id to create list of suggestion */\n suggestionListCallback?: Function;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvTagsInputClasses;\n};\n\n/**\n * A tags input is a single or multiline control that allows the input of tags.\n */\nexport const HvTagsInput = ({\n classes,\n className,\n id,\n name,\n value: valueProp,\n defaultValue = [],\n readOnly = false,\n disabled = false,\n required = false,\n label: textAreaLabel,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n description,\n \"aria-describedby\": ariaDescribedBy,\n onChange,\n onAdd,\n onDelete,\n onBlur,\n onFocus,\n placeholder,\n hideCounter = false,\n middleCountLabel = \"/\",\n maxTagsQuantity,\n autoFocus = false,\n resizable = true,\n inputProps = {},\n countCharProps = {},\n multiline = false,\n status,\n statusMessage,\n validationMessages,\n commitTagOn = [\"Enter\"],\n commitOnBlur = false,\n suggestionListCallback,\n ...others\n}: HvTagsInputProps) => {\n const elementId = useUniqueId(id, \"hvTagsInput\");\n\n const hasLabel = textAreaLabel != null;\n const hasDescription = description != null;\n\n const [value, setValue] = useControlled(valueProp, defaultValue);\n\n const [validationState, setValidationState] = useControlled(\n status,\n validationStates.standBy\n );\n const [validationMessage, setValidationMessage] = useControlled(\n statusMessage,\n \"\"\n );\n\n const [tagInput, setTagInput] = useState(\"\");\n const [tagCursorPos, setTagCursorPos] = useState(value.length);\n const [stateValid, setStateValid] = useState(true);\n\n const inputRef = useRef<any>();\n const containerRef = useRef<any>();\n const skipReset = useRef(false);\n const blurTimeout = useRef<any>();\n const materialInputRef = useRef<any>(null);\n\n const isTagSelected = tagCursorPos >= 0 && tagCursorPos < value.length;\n const hasCounter = maxTagsQuantity != null && !hideCounter;\n\n // suggestions related state\n const [suggestionValues, setSuggestionValues] = useState(null);\n\n const isStateInvalid = useMemo(() => {\n return hasCounter && value.length > maxTagsQuantity;\n }, [hasCounter, maxTagsQuantity, value.length]);\n\n const canShowSuggestions = suggestionListCallback != null;\n const hasSuggestions = !!suggestionValues;\n\n const errorMessages = useMemo(\n () => ({ ...DEFAULT_ERROR_MESSAGES, ...validationMessages }),\n [\n validationMessages?.error,\n validationMessages?.requiredError,\n validationMessages?.minCharError,\n validationMessages?.maxCharError,\n ]\n );\n\n const performValidation = useCallback(\n (currValue) => {\n if (\n maxTagsQuantity !== null &&\n maxTagsQuantity !== undefined &&\n currValue.length > maxTagsQuantity\n ) {\n setValidationState(validationStates.invalid);\n setValidationMessage(errorMessages.maxCharError);\n setStateValid(false);\n } else {\n setValidationState(validationStates.valid);\n setValidationMessage(\"\");\n setStateValid(true);\n }\n },\n [\n errorMessages.maxCharError,\n maxTagsQuantity,\n setValidationMessage,\n setValidationState,\n ]\n );\n\n /**\n * Deletes a Tag from the array of tags and sets the new position for the tag cursor.\n * Also executes the user provided onDelete and onChange events.\n *\n * @param {number} tagPos - the position at which to remove the tag\n * @param {Event} event - the event associated with the delete\n * @param {boolean} end - whether or not to set the cursor at the end of the array\n */\n const deleteTag = useCallback(\n (tagPos, event, end) => {\n const newTagsArr = [\n ...value.slice(0, tagPos),\n ...value.slice(tagPos + 1),\n ];\n setValue(newTagsArr);\n setTagCursorPos(\n end ? newTagsArr.length : tagCursorPos > 0 ? tagCursorPos - 1 : 0\n );\n inputRef.current?.focus();\n performValidation(newTagsArr);\n onDelete?.(event, value[tagPos], tagPos);\n onChange?.(event, newTagsArr);\n skipReset.current = true;\n },\n [onChange, onDelete, performValidation, setValue, tagCursorPos, value]\n );\n\n /**\n * Adds a Tag to the array of tags.\n * Also executes the user provided onAdd and onDelete events.\n *\n * @param {Event} event - whatever event triggered adding a tag\n * @param {string} tag - the string for the tag\n */\n const addTag = useCallback(\n (event, tag) => {\n event.preventDefault();\n if (tag !== \"\") {\n const newTag: HvTagProps = { label: tag, type: \"semantic\" };\n const newTagsArr = [...value, newTag];\n setValue(newTagsArr);\n performValidation(newTagsArr);\n onAdd?.(event, newTag, newTagsArr.length - 1);\n onChange?.(event, newTagsArr);\n }\n },\n [onAdd, onChange, performValidation, setValue, value]\n );\n\n const canShowError =\n (status !== undefined &&\n status === \"invalid\" &&\n statusMessage !== undefined) ||\n !stateValid;\n\n useEffect(() => {\n if (!multiline) {\n const element = containerRef?.current?.children[tagCursorPos];\n // this setTimeout is a workaround for Firefox not properly dealing\n // with setting the scrollLeft value.\n setTimeout(() => {\n const container = containerRef.current;\n if (isNil(container)) return;\n container.scrollLeft = element\n ? element.offsetLeft -\n container.getBoundingClientRect().width / 2 +\n element.getBoundingClientRect().width / 2\n : 0;\n }, 50);\n\n element?.focus();\n }\n }, [multiline, tagCursorPos]);\n\n useEffect(() => {\n if (!skipReset.current) {\n setTagInput(\"\");\n setTagCursorPos(value.length);\n }\n skipReset.current = false;\n }, [value]);\n\n const isMounted = useIsMounted();\n\n /**\n * Looks for the node that represent the input inside the material tree and focus it.\n */\n const focusInput = () => {\n materialInputRef.current.focus();\n };\n\n const getSuggestions = useCallback(\n (li) => {\n // TODO Replace with ref\n const listEl = document.getElementById(\n setId(elementId, \"suggestions-list\") || \"\"\n );\n return li != null ? listEl?.getElementsByTagName(\"li\")?.[li] : listEl;\n },\n [elementId]\n );\n\n /**\n * Clears the suggestion array.\n */\n const suggestionClearHandler = useCallback(() => {\n if (isMounted.current) {\n setSuggestionValues(null);\n }\n }, [isMounted]);\n\n /**\n * Fills of the suggestion array.\n */\n const suggestionHandler = useCallback(\n (val) => {\n const suggestionsArray = suggestionListCallback?.(val);\n if (suggestionsArray?.[0]?.label) {\n setSuggestionValues(suggestionsArray);\n } else {\n suggestionClearHandler();\n }\n },\n [suggestionClearHandler, suggestionListCallback]\n );\n\n /**\n * Executes the user callback adds the selection to the state and clears the suggestions.\n */\n const suggestionSelectedHandler = (event, item) => {\n addTag(event, item.value || item.label);\n\n // set the input value (only when value is uncontrolled)\n setTagInput(item.value || item.label);\n\n focusInput();\n suggestionClearHandler();\n };\n\n /**\n * Handler for the `onKeyDown` event on the suggestions component\n */\n const onSuggestionKeyDown = (event) => {\n if (isKeypress(event, keyboardCodes.Esc)) {\n suggestionClearHandler();\n focusInput();\n } else if (isKeypress(event, keyboardCodes.Tab)) {\n suggestionClearHandler();\n }\n };\n\n /**\n * Handler for the `onChange` event on the tag input\n */\n const onChangeHandler = useCallback(\n (_, input) => {\n setTagInput(input);\n\n if (canShowSuggestions) {\n // an edge case might be a controlled input whose onChange callback\n // doesn't change the value (or sets another): the suggestionListCallback\n // callback will still receive the original rejected value.\n // a refactor is needed so the suggestionListCallback might be called only\n // when the input is uncontrolled, providing a way to externally control\n // the suggestion values.\n suggestionHandler(input);\n }\n },\n [canShowSuggestions, suggestionHandler]\n );\n\n /**\n * Handler for the `onKeyDown` event on the form element\n */\n const onInputKeyDownHandler = useCallback(\n (event) => {\n if (!canShowSuggestions && commitTagOn.includes(event.code)) {\n addTag(event, tagInput);\n }\n },\n [addTag, canShowSuggestions, commitTagOn, tagInput]\n );\n\n /**\n * Handler for the `onKeyDown` event on the list container.\n */\n const onKeyDownHandler = useCallback(\n (event) => {\n if (tagInput === \"\") {\n switch (event.code) {\n case \"ArrowLeft\":\n setTagCursorPos(tagCursorPos > 0 ? tagCursorPos - 1 : 0);\n break;\n case \"ArrowRight\":\n setTagCursorPos(\n tagCursorPos < value.length ? tagCursorPos + 1 : value.length\n );\n break;\n case \"Backspace\":\n if (isTagSelected) {\n deleteTag(tagCursorPos, event, false);\n } else {\n setTagCursorPos(value.length - 1);\n }\n break;\n case \"Delete\":\n if (isTagSelected) {\n deleteTag(tagCursorPos, event, false);\n }\n break;\n default:\n break;\n }\n } else {\n switch (event.code) {\n case \"ArrowDown\":\n getSuggestions(0)?.focus();\n break;\n default:\n break;\n }\n }\n },\n [\n deleteTag,\n getSuggestions,\n isTagSelected,\n tagCursorPos,\n tagInput,\n value.length,\n ]\n );\n\n /**\n * Handler for the `onDelete` event on the tag component\n */\n const onDeleteTagHandler = useCallback(\n (event, i) => {\n deleteTag(i, event, true);\n setValidationState(validationStates.standBy);\n },\n [deleteTag, setValidationState]\n );\n\n /**\n * Handler for the `onClick` event on the list container\n */\n const onContainerClickHandler = useCallback(() => {\n inputRef.current?.focus();\n clearTimeout(blurTimeout.current);\n setTagCursorPos(value.length);\n }, [value.length]);\n\n const onBlurHandler = (evt) => {\n blurTimeout.current = setTimeout(() => {\n if (commitOnBlur) {\n addTag(evt, tagInput);\n }\n onBlur?.(evt, tagInput);\n }, 250);\n };\n\n const onFocusHandler = (evt) => {\n clearTimeout(blurTimeout.current);\n onFocus?.(evt, tagInput);\n };\n\n return (\n <StyledFormElement\n id={id}\n name={name}\n disabled={disabled}\n readOnly={readOnly}\n status={validationState}\n required={required}\n onBlur={onBlurHandler}\n onFocus={onFocusHandler}\n className={clsx(\n tagsInputClasses.root,\n classes?.root,\n className,\n disabled && clsx(tagsInputClasses.disabled, classes?.disabled)\n )}\n >\n {(hasLabel || hasDescription) && (\n <StyledLabelContainer\n className={clsx(\n tagsInputClasses.labelContainer,\n classes?.labelContainer\n )}\n >\n {hasLabel && (\n <StyledLabel\n className={clsx(tagsInputClasses.label, classes?.label)}\n id={setId(id, \"label\")}\n htmlFor={setId(elementId, \"input\")}\n label={textAreaLabel}\n />\n )}\n\n {hasDescription && (\n <StyledDescription\n className={clsx(\n tagsInputClasses.description,\n classes?.description\n )}\n id={setId(elementId, \"description\")}\n >\n {description}\n </StyledDescription>\n )}\n </StyledLabelContainer>\n )}\n\n {hasCounter && (\n <StyledCharCounter\n id={setId(elementId, \"charCounter\")}\n className={clsx(\n tagsInputClasses.characterCounter,\n classes?.characterCounter\n )}\n separator={middleCountLabel}\n currentCharQuantity={value.length}\n maxCharQuantity={maxTagsQuantity}\n {...countCharProps}\n />\n )}\n\n <StyledTagsList\n className={clsx(\n tagsInputClasses.tagsList,\n classes?.tagsList,\n canShowError && clsx(tagsInputClasses.error, classes?.error),\n resizable &&\n multiline &&\n clsx(tagsInputClasses.resizable, classes?.resizable),\n isStateInvalid && clsx(tagsInputClasses.invalid, classes?.invalid),\n !multiline && clsx(tagsInputClasses.singleLine, classes?.singleLine)\n )}\n $disabled={disabled}\n $singleLine={!multiline}\n $error={canShowError}\n $resizable={resizable && multiline}\n $invalid={isStateInvalid}\n $readOnly={readOnly}\n onKeyDown={onKeyDownHandler}\n onClick={onContainerClickHandler}\n ref={containerRef}\n >\n {value &&\n value.map((t, i) => {\n const tag =\n typeof t === \"string\"\n ? {\n label: t,\n type: \"semantic\",\n }\n : t;\n const { label, type, ...otherProps } = tag;\n return (\n <StyledListItem\n key={`${tag.label}-${i}`}\n tabIndex={-1}\n className={clsx(\n !multiline &&\n clsx(tagsInputClasses.singleLine, classes?.singleLine)\n )}\n classes={{\n gutters: clsx(\n tagsInputClasses.listItemGutters,\n classes?.listItemGutters\n ),\n root: clsx(\n tagsInputClasses.listItemRoot,\n classes?.listItemRoot\n ),\n }}\n id={`tag-${i}`}\n $singleLine={!multiline}\n >\n <StyledTag\n label={label}\n className={clsx(\n i === tagCursorPos &&\n clsx(tagsInputClasses.tagSelected, classes?.tagSelected)\n )}\n classes={{\n chipRoot: clsx(\n tagsInputClasses.chipRoot,\n classes?.chipRoot\n ),\n }}\n type={type}\n {...(!(readOnly || disabled || type === \"categorical\") && {\n onDelete: (event) => onDeleteTagHandler(event, i),\n })}\n deleteButtonProps={{\n tabIndex: -1,\n }}\n $selected={i === tagCursorPos}\n {...otherProps}\n />\n </StyledListItem>\n );\n })}\n {!(disabled || readOnly) && (\n <StyledInputListItem\n className={clsx(\n !multiline &&\n clsx(\n tagsInputClasses.singleLine,\n classes?.singleLine,\n value.length === 0 &&\n clsx(\n tagsInputClasses.tagInputRootEmpty,\n classes?.tagInputRootEmpty\n )\n )\n )}\n classes={{\n root: clsx(\n tagsInputClasses.tagInputContainerRoot,\n classes?.tagInputContainerRoot\n ),\n gutters: clsx(\n tagsInputClasses.listItemGutters,\n classes?.listItemGutters\n ),\n }}\n id={`tag-${value.length}`}\n $singleLine={!multiline}\n $isTagSelected={!!isTagSelected}\n >\n <StyledInput\n value={tagInput}\n disableClear\n onChange={onChangeHandler}\n onKeyDown={onInputKeyDownHandler}\n placeholder={value.length === 0 ? placeholder : \"\"}\n autoFocus={autoFocus}\n className={clsx(\n !multiline &&\n clsx(tagsInputClasses.singleLine, classes?.singleLine)\n )}\n classes={{\n root: clsx(\n tagsInputClasses.tagInputRoot,\n classes?.tagInputRoot\n ),\n input: clsx(tagsInputClasses.input, classes?.input),\n inputBorderContainer: clsx(\n tagsInputClasses.tagInputBorderContainer,\n classes?.tagInputBorderContainer\n ),\n inputRootFocused: clsx(\n tagsInputClasses.tagInputRootFocused,\n classes?.tagInputRootFocused\n ),\n }}\n disabled={disabled}\n readOnly={readOnly || isTagSelected}\n inputProps={{\n ref: materialInputRef,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-describedby\":\n ariaDescribedBy != null\n ? ariaDescribedBy\n : (description && setId(elementId, \"description\")) ||\n undefined,\n\n ...inputProps,\n }}\n inputRef={inputRef}\n $singleLine={!multiline}\n {...others}\n />\n </StyledInputListItem>\n )}\n </StyledTagsList>\n {canShowSuggestions && (\n <>\n {hasSuggestions && (\n <div\n role=\"presentation\"\n className={clsx(\n tagsInputClasses.inputExtension,\n classes?.inputExtension\n )}\n />\n )}\n <StyledSuggestions\n id={setId(elementId, \"suggestions\")}\n classes={{\n root: clsx(\n tagsInputClasses.suggestionsContainer,\n classes?.suggestionsContainer\n ),\n list: clsx(\n tagsInputClasses.suggestionList,\n classes?.suggestionList\n ),\n }}\n expanded={hasSuggestions}\n anchorEl={containerRef?.current?.parentElement}\n onClose={suggestionClearHandler}\n onKeyDown={onSuggestionKeyDown}\n onSuggestionSelected={suggestionSelectedHandler}\n suggestionValues={suggestionValues}\n />\n </>\n )}\n {canShowError && (\n <StyledError\n id={setId(elementId, \"error\")}\n disableBorder\n className={clsx(tagsInputClasses.error, classes?.error)}\n >\n {validationMessage}\n </StyledError>\n )}\n </StyledFormElement>\n );\n};\n"],"names":["HvTagsInput","classes","className","id","name","value","valueProp","defaultValue","readOnly","disabled","required","label","textAreaLabel","ariaLabel","ariaLabelledBy","description","ariaDescribedBy","onChange","onAdd","onDelete","onBlur","onFocus","placeholder","hideCounter","middleCountLabel","maxTagsQuantity","autoFocus","resizable","inputProps","countCharProps","multiline","status","statusMessage","validationMessages","commitTagOn","commitOnBlur","suggestionListCallback","others","elementId","useUniqueId","hasLabel","hasDescription","setValue","useControlled","validationState","setValidationState","validationStates","standBy","validationMessage","setValidationMessage","tagInput","setTagInput","useState","tagCursorPos","setTagCursorPos","length","stateValid","setStateValid","inputRef","useRef","containerRef","skipReset","blurTimeout","materialInputRef","isTagSelected","hasCounter","suggestionValues","setSuggestionValues","isStateInvalid","useMemo","canShowSuggestions","hasSuggestions","errorMessages","DEFAULT_ERROR_MESSAGES","error","requiredError","minCharError","maxCharError","performValidation","useCallback","currValue","undefined","invalid","valid","deleteTag","tagPos","event","end","newTagsArr","slice","current","focus","addTag","tag","preventDefault","newTag","type","canShowError","useEffect","element","children","setTimeout","container","isNil","scrollLeft","offsetLeft","getBoundingClientRect","width","isMounted","useIsMounted","focusInput","getSuggestions","li","listEl","document","getElementById","setId","getElementsByTagName","suggestionClearHandler","suggestionHandler","val","suggestionsArray","suggestionSelectedHandler","item","onSuggestionKeyDown","isKeypress","keyboardCodes","Esc","Tab","onChangeHandler","_","input","onInputKeyDownHandler","includes","code","onKeyDownHandler","_a","onDeleteTagHandler","i","onContainerClickHandler","clearTimeout","onBlurHandler","evt","onFocusHandler","StyledFormElement","clsx","tagsInputClasses","root","StyledLabelContainer","labelContainer","_jsx","StyledLabel","htmlFor","StyledDescription","StyledCharCounter","characterCounter","separator","currentCharQuantity","maxCharQuantity","_jsxs","StyledTagsList","tagsList","singleLine","$disabled","$singleLine","$error","$resizable","$invalid","$readOnly","onKeyDown","onClick","ref","map","t","otherProps","StyledListItem","tabIndex","gutters","listItemGutters","listItemRoot","StyledTag","tagSelected","chipRoot","deleteButtonProps","$selected","StyledInputListItem","tagInputRootEmpty","tagInputContainerRoot","$isTagSelected","StyledInput","disableClear","tagInputRoot","inputBorderContainer","tagInputBorderContainer","inputRootFocused","tagInputRootFocused","_Fragment","role","inputExtension","StyledSuggestions","suggestionsContainer","list","suggestionList","expanded","anchorEl","parentElement","onClose","onSuggestionSelected","StyledError","disableBorder"],"mappings":"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"}
1
+ {"version":3,"file":"TagsInput.cjs","sources":["../../../../src/components/TagsInput/TagsInput.tsx"],"sourcesContent":["import React, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport clsx from \"clsx\";\nimport isNil from \"lodash/isNil\";\nimport { HvValidationMessages } from \"types/forms\";\nimport { HvBaseProps } from \"../../types\";\nimport {\n StyledCharCounter,\n StyledDescription,\n StyledError,\n StyledFormElement,\n StyledLabel,\n StyledLabelContainer,\n StyledListItem,\n StyledTag,\n StyledTagsList,\n StyledInputListItem,\n StyledInput,\n StyledSuggestions,\n} from \"./TagsInput.styles\";\nimport validationStates from \"../Forms/FormElement/validationStates\";\nimport { DEFAULT_ERROR_MESSAGES } from \"../BaseInput/validations\";\nimport { useControlled, useIsMounted, useUniqueId } from \"hooks\";\nimport { isKeypress, keyboardCodes, setId } from \"utils\";\nimport { HvTagProps } from \"components\";\nimport tagsInputClasses, { HvTagsInputClasses } from \"./tagsInputClasses\";\nimport { HvCharCounterProps, HvFormStatus } from \"../Forms\";\nimport { InputBaseComponentProps as MuiInputBaseComponentProps } from \"@mui/material\";\n\nexport type HvTagsInputProps = HvBaseProps<\n HTMLElement,\n { onChange; onBlur; onFocus; onKeyDown; color }\n> & {\n /** The form element name. */\n name?: string;\n /** The value of the form element. */\n value?: string[] | HvTagProps[];\n /** When uncontrolled, defines the initial input value. */\n defaultValue?: string[] | HvTagProps[];\n /**\n * The label of the form element.\n * The form element must be labeled for accessibility reasons.\n * If not provided, an aria-label or aria-labelledby must be inputted via inputProps.\n */\n label?: React.ReactNode;\n /** Provide additional descriptive text for the form element. */\n description?: React.ReactNode;\n /** Indicates that the form element is disabled. */\n disabled?: boolean;\n /** Indicates that the form element is not editable. */\n readOnly?: boolean;\n /** Indicates that the form element is required. */\n required?: boolean;\n /** The function that will be executed onChange. */\n onChange?: (\n event:\n | React.ChangeEvent<HTMLInputElement>\n | React.KeyboardEvent<HTMLInputElement>\n | React.MouseEvent<HTMLButtonElement>\n | React.MouseEvent<HTMLElement, MouseEvent>\n | React.KeyboardEventHandler<HTMLElement>,\n value: HvTagProps[]\n ) => void;\n /** The function that will be executed when the element is focused. */\n onFocus?: (event: React.FocusEvent<HTMLInputElement>, value: string) => void;\n /** The function that will be executed when the element is blurred. */\n onBlur?: (event: React.FocusEvent<HTMLInputElement>, value: string) => void;\n /** The function that will be executed when a tag is deleted. */\n onDelete?: (\n event:\n | React.ChangeEvent<HTMLInputElement>\n | React.KeyboardEvent<HTMLInputElement>\n | React.MouseEvent<HTMLButtonElement>\n | React.MouseEvent<HTMLElement, MouseEvent>\n | React.KeyboardEventHandler<HTMLElement>,\n value: HvTagProps,\n index: number\n ) => void;\n /** The function that will be executed when a tag is added. */\n onAdd?: (\n event:\n | React.ChangeEvent<HTMLInputElement>\n | React.KeyboardEvent<HTMLInputElement>\n | React.MouseEvent<HTMLButtonElement>\n | React.MouseEvent<HTMLElement, MouseEvent>\n | React.KeyboardEventHandler<HTMLElement>,\n value: HvTagProps,\n index: number\n ) => void;\n /** The placeholder value of the input. */\n placeholder?: string;\n /** If `true` the character counter isn't shown even if maxTagsQuantity is set. */\n hideCounter?: boolean;\n /** Text between the current char counter and max value. */\n middleCountLabel?: string;\n /** The maximum allowed length of the characters, if this value is null no check will be performed. */\n maxTagsQuantity?: number;\n /** Attributes applied to the input element. */\n inputProps?: MuiInputBaseComponentProps;\n /** If `true` it should autofocus. */\n autoFocus?: boolean;\n /** If `true` the component is resizable. */\n resizable?: boolean;\n /** Props passed to the HvCharCount component. */\n countCharProps?: Partial<HvCharCounterProps>;\n /** If `true` the component is in multiline mode. */\n multiline?: boolean;\n /** The status of the form element. */\n status?: HvFormStatus;\n /** The error message to show when `status` is \"invalid\". */\n statusMessage?: React.ReactNode;\n /** An Object containing the various texts associated with the input. */\n validationMessages?: HvValidationMessages;\n /** An array of strings that represent the character used to input a tag. This character is the string representation of the event.code from the input event. */\n commitTagOn?: string[];\n /** If `true` the tag will be committed when the blur event occurs. */\n commitOnBlur?: boolean;\n /** The function that will be executed to received an array of objects that has a label and id to create list of suggestion */\n suggestionListCallback?: Function;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvTagsInputClasses;\n};\n\n/**\n * A tags input is a single or multiline control that allows the input of tags.\n */\nexport const HvTagsInput = ({\n classes,\n className,\n id,\n name,\n value: valueProp,\n defaultValue = [],\n readOnly = false,\n disabled = false,\n required = false,\n label: textAreaLabel,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n description,\n \"aria-describedby\": ariaDescribedBy,\n onChange,\n onAdd,\n onDelete,\n onBlur,\n onFocus,\n placeholder,\n hideCounter = false,\n middleCountLabel = \"/\",\n maxTagsQuantity,\n autoFocus = false,\n resizable = true,\n inputProps = {},\n countCharProps = {},\n multiline = false,\n status,\n statusMessage,\n validationMessages,\n commitTagOn = [\"Enter\"],\n commitOnBlur = false,\n suggestionListCallback,\n ...others\n}: HvTagsInputProps) => {\n const elementId = useUniqueId(id, \"hvTagsInput\");\n\n const hasLabel = textAreaLabel != null;\n const hasDescription = description != null;\n\n const [value, setValue] = useControlled(valueProp, defaultValue);\n\n const [validationState, setValidationState] = useControlled(\n status,\n validationStates.standBy\n );\n const [validationMessage, setValidationMessage] = useControlled(\n statusMessage,\n \"\"\n );\n\n const [tagInput, setTagInput] = useState(\"\");\n const [tagCursorPos, setTagCursorPos] = useState(value.length);\n const [stateValid, setStateValid] = useState(true);\n\n const inputRef = useRef<any>();\n const containerRef = useRef<any>();\n const skipReset = useRef(false);\n const blurTimeout = useRef<any>();\n const materialInputRef = useRef<any>(null);\n\n const isTagSelected = tagCursorPos >= 0 && tagCursorPos < value.length;\n const hasCounter = maxTagsQuantity != null && !hideCounter;\n\n // suggestions related state\n const [suggestionValues, setSuggestionValues] = useState(null);\n\n const isStateInvalid = useMemo(() => {\n return hasCounter && value.length > maxTagsQuantity;\n }, [hasCounter, maxTagsQuantity, value.length]);\n\n const canShowSuggestions = suggestionListCallback != null;\n const hasSuggestions = !!suggestionValues;\n\n const errorMessages = useMemo(\n () => ({ ...DEFAULT_ERROR_MESSAGES, ...validationMessages }),\n [\n validationMessages?.error,\n validationMessages?.requiredError,\n validationMessages?.minCharError,\n validationMessages?.maxCharError,\n ]\n );\n\n const performValidation = useCallback(\n (currValue) => {\n if (\n maxTagsQuantity !== null &&\n maxTagsQuantity !== undefined &&\n currValue.length > maxTagsQuantity\n ) {\n setValidationState(validationStates.invalid);\n setValidationMessage(errorMessages.maxCharError);\n setStateValid(false);\n } else {\n setValidationState(validationStates.valid);\n setValidationMessage(\"\");\n setStateValid(true);\n }\n },\n [\n errorMessages.maxCharError,\n maxTagsQuantity,\n setValidationMessage,\n setValidationState,\n ]\n );\n\n /**\n * Deletes a Tag from the array of tags and sets the new position for the tag cursor.\n * Also executes the user provided onDelete and onChange events.\n *\n * @param {number} tagPos - the position at which to remove the tag\n * @param {Event} event - the event associated with the delete\n * @param {boolean} end - whether or not to set the cursor at the end of the array\n */\n const deleteTag = useCallback(\n (tagPos, event, end) => {\n const newTagsArr = [\n ...value.slice(0, tagPos),\n ...value.slice(tagPos + 1),\n ];\n setValue(newTagsArr);\n setTagCursorPos(\n end ? newTagsArr.length : tagCursorPos > 0 ? tagCursorPos - 1 : 0\n );\n inputRef.current?.focus();\n performValidation(newTagsArr);\n onDelete?.(event, value[tagPos], tagPos);\n onChange?.(event, newTagsArr);\n skipReset.current = true;\n },\n [onChange, onDelete, performValidation, setValue, tagCursorPos, value]\n );\n\n /**\n * Adds a Tag to the array of tags.\n * Also executes the user provided onAdd and onDelete events.\n *\n * @param {Event} event - whatever event triggered adding a tag\n * @param {string} tag - the string for the tag\n */\n const addTag = useCallback(\n (event, tag) => {\n event.preventDefault();\n if (tag !== \"\") {\n const newTag: HvTagProps = { label: tag, type: \"semantic\" };\n const newTagsArr = [...value, newTag];\n setValue(newTagsArr);\n performValidation(newTagsArr);\n onAdd?.(event, newTag, newTagsArr.length - 1);\n onChange?.(event, newTagsArr);\n }\n },\n [onAdd, onChange, performValidation, setValue, value]\n );\n\n const canShowError =\n (status !== undefined &&\n status === \"invalid\" &&\n statusMessage !== undefined) ||\n !stateValid;\n\n useEffect(() => {\n if (!multiline) {\n const element = containerRef?.current?.children[tagCursorPos];\n // this setTimeout is a workaround for Firefox not properly dealing\n // with setting the scrollLeft value.\n setTimeout(() => {\n const container = containerRef.current;\n if (isNil(container)) return;\n container.scrollLeft = element\n ? element.offsetLeft -\n container.getBoundingClientRect().width / 2 +\n element.getBoundingClientRect().width / 2\n : 0;\n }, 50);\n\n element?.focus();\n }\n }, [multiline, tagCursorPos]);\n\n useEffect(() => {\n if (!skipReset.current) {\n setTagInput(\"\");\n setTagCursorPos(value.length);\n }\n skipReset.current = false;\n }, [value]);\n\n const isMounted = useIsMounted();\n\n /**\n * Looks for the node that represent the input inside the material tree and focus it.\n */\n const focusInput = () => {\n materialInputRef.current.focus();\n };\n\n const getSuggestions = useCallback(\n (li) => {\n // TODO Replace with ref\n const listEl = document.getElementById(\n setId(elementId, \"suggestions-list\") || \"\"\n );\n return li != null ? listEl?.getElementsByTagName(\"li\")?.[li] : listEl;\n },\n [elementId]\n );\n\n /**\n * Clears the suggestion array.\n */\n const suggestionClearHandler = useCallback(() => {\n if (isMounted.current) {\n setSuggestionValues(null);\n }\n }, [isMounted]);\n\n /**\n * Fills of the suggestion array.\n */\n const suggestionHandler = useCallback(\n (val) => {\n const suggestionsArray = suggestionListCallback?.(val);\n if (suggestionsArray?.[0]?.label) {\n setSuggestionValues(suggestionsArray);\n } else {\n suggestionClearHandler();\n }\n },\n [suggestionClearHandler, suggestionListCallback]\n );\n\n /**\n * Executes the user callback adds the selection to the state and clears the suggestions.\n */\n const suggestionSelectedHandler = (event, item) => {\n addTag(event, item.value || item.label);\n\n // set the input value (only when value is uncontrolled)\n setTagInput(item.value || item.label);\n\n focusInput();\n suggestionClearHandler();\n };\n\n /**\n * Handler for the `onKeyDown` event on the suggestions component\n */\n const onSuggestionKeyDown = (event) => {\n if (isKeypress(event, keyboardCodes.Esc)) {\n suggestionClearHandler();\n focusInput();\n } else if (isKeypress(event, keyboardCodes.Tab)) {\n suggestionClearHandler();\n }\n };\n\n /**\n * Handler for the `onChange` event on the tag input\n */\n const onChangeHandler = useCallback(\n (_, input) => {\n setTagInput(input);\n\n if (canShowSuggestions) {\n // an edge case might be a controlled input whose onChange callback\n // doesn't change the value (or sets another): the suggestionListCallback\n // callback will still receive the original rejected value.\n // a refactor is needed so the suggestionListCallback might be called only\n // when the input is uncontrolled, providing a way to externally control\n // the suggestion values.\n suggestionHandler(input);\n }\n },\n [canShowSuggestions, suggestionHandler]\n );\n\n /**\n * Handler for the `onKeyDown` event on the form element\n */\n const onInputKeyDownHandler = useCallback(\n (event) => {\n if (!canShowSuggestions && commitTagOn.includes(event.code)) {\n addTag(event, tagInput);\n }\n },\n [addTag, canShowSuggestions, commitTagOn, tagInput]\n );\n\n /**\n * Handler for the `onKeyDown` event on the list container.\n */\n const onKeyDownHandler = useCallback(\n (event) => {\n if (tagInput === \"\") {\n switch (event.code) {\n case \"ArrowLeft\":\n setTagCursorPos(tagCursorPos > 0 ? tagCursorPos - 1 : 0);\n break;\n case \"ArrowRight\":\n setTagCursorPos(\n tagCursorPos < value.length ? tagCursorPos + 1 : value.length\n );\n break;\n case \"Backspace\":\n if (isTagSelected) {\n deleteTag(tagCursorPos, event, false);\n } else {\n setTagCursorPos(value.length - 1);\n }\n break;\n case \"Delete\":\n if (isTagSelected) {\n deleteTag(tagCursorPos, event, false);\n }\n break;\n default:\n break;\n }\n } else {\n switch (event.code) {\n case \"ArrowDown\":\n getSuggestions(0)?.focus();\n break;\n default:\n break;\n }\n }\n },\n [\n deleteTag,\n getSuggestions,\n isTagSelected,\n tagCursorPos,\n tagInput,\n value.length,\n ]\n );\n\n /**\n * Handler for the `onDelete` event on the tag component\n */\n const onDeleteTagHandler = useCallback(\n (event, i) => {\n deleteTag(i, event, true);\n setValidationState(validationStates.standBy);\n },\n [deleteTag, setValidationState]\n );\n\n /**\n * Handler for the `onClick` event on the list container\n */\n const onContainerClickHandler = useCallback(() => {\n inputRef.current?.focus();\n clearTimeout(blurTimeout.current);\n setTagCursorPos(value.length);\n }, [value.length]);\n\n const onBlurHandler = (evt) => {\n blurTimeout.current = setTimeout(() => {\n if (commitOnBlur) {\n addTag(evt, tagInput);\n }\n onBlur?.(evt, tagInput);\n }, 250);\n };\n\n const onFocusHandler = (evt) => {\n clearTimeout(blurTimeout.current);\n onFocus?.(evt, tagInput);\n };\n\n return (\n <StyledFormElement\n id={id}\n name={name}\n disabled={disabled}\n readOnly={readOnly}\n status={validationState}\n required={required}\n onBlur={onBlurHandler}\n onFocus={onFocusHandler}\n className={clsx(\n tagsInputClasses.root,\n classes?.root,\n className,\n disabled && clsx(tagsInputClasses.disabled, classes?.disabled)\n )}\n >\n {(hasLabel || hasDescription) && (\n <StyledLabelContainer\n className={clsx(\n tagsInputClasses.labelContainer,\n classes?.labelContainer\n )}\n >\n {hasLabel && (\n <StyledLabel\n className={clsx(tagsInputClasses.label, classes?.label)}\n id={setId(id, \"label\")}\n htmlFor={setId(elementId, \"input\")}\n label={textAreaLabel}\n />\n )}\n\n {hasDescription && (\n <StyledDescription\n className={clsx(\n tagsInputClasses.description,\n classes?.description\n )}\n id={setId(elementId, \"description\")}\n >\n {description}\n </StyledDescription>\n )}\n </StyledLabelContainer>\n )}\n\n {hasCounter && (\n <StyledCharCounter\n id={setId(elementId, \"charCounter\")}\n className={clsx(\n tagsInputClasses.characterCounter,\n classes?.characterCounter\n )}\n separator={middleCountLabel}\n currentCharQuantity={value.length}\n maxCharQuantity={maxTagsQuantity}\n {...countCharProps}\n />\n )}\n\n <StyledTagsList\n className={clsx(\n tagsInputClasses.tagsList,\n classes?.tagsList,\n canShowError && clsx(tagsInputClasses.error, classes?.error),\n resizable &&\n multiline &&\n clsx(tagsInputClasses.resizable, classes?.resizable),\n isStateInvalid && clsx(tagsInputClasses.invalid, classes?.invalid),\n !multiline && clsx(tagsInputClasses.singleLine, classes?.singleLine)\n )}\n $disabled={disabled}\n $singleLine={!multiline}\n $error={canShowError}\n $resizable={resizable && multiline}\n $invalid={isStateInvalid}\n $readOnly={readOnly}\n onKeyDown={onKeyDownHandler}\n onClick={onContainerClickHandler}\n ref={containerRef}\n >\n {value &&\n value.map((t, i) => {\n const tag =\n typeof t === \"string\"\n ? {\n label: t,\n type: \"semantic\",\n }\n : t;\n const { label, type, ...otherProps } = tag;\n return (\n <StyledListItem\n key={`${tag.label}-${i}`}\n tabIndex={-1}\n className={clsx(\n !multiline &&\n clsx(tagsInputClasses.singleLine, classes?.singleLine)\n )}\n classes={{\n gutters: clsx(\n tagsInputClasses.listItemGutters,\n classes?.listItemGutters\n ),\n root: clsx(\n tagsInputClasses.listItemRoot,\n classes?.listItemRoot\n ),\n }}\n id={`tag-${i}`}\n $singleLine={!multiline}\n >\n <StyledTag\n label={label}\n className={clsx(\n i === tagCursorPos &&\n clsx(tagsInputClasses.tagSelected, classes?.tagSelected)\n )}\n classes={{\n chipRoot: clsx(\n tagsInputClasses.chipRoot,\n classes?.chipRoot\n ),\n }}\n type={type}\n {...(!(readOnly || disabled || type === \"categorical\") && {\n onDelete: (event) => onDeleteTagHandler(event, i),\n })}\n deleteButtonProps={{\n tabIndex: -1,\n }}\n $selected={i === tagCursorPos}\n {...otherProps}\n />\n </StyledListItem>\n );\n })}\n {!(disabled || readOnly) && (\n <StyledInputListItem\n className={clsx(\n !multiline &&\n clsx(\n tagsInputClasses.singleLine,\n classes?.singleLine,\n value.length === 0 &&\n clsx(\n tagsInputClasses.tagInputRootEmpty,\n classes?.tagInputRootEmpty\n )\n )\n )}\n classes={{\n root: clsx(\n tagsInputClasses.tagInputContainerRoot,\n classes?.tagInputContainerRoot\n ),\n gutters: clsx(\n tagsInputClasses.listItemGutters,\n classes?.listItemGutters\n ),\n }}\n id={`tag-${value.length}`}\n $singleLine={!multiline}\n $isTagSelected={!!isTagSelected}\n >\n <StyledInput\n value={tagInput}\n disableClear\n onChange={onChangeHandler}\n onKeyDown={onInputKeyDownHandler}\n placeholder={value.length === 0 ? placeholder : \"\"}\n autoFocus={autoFocus}\n className={clsx(\n !multiline &&\n clsx(tagsInputClasses.singleLine, classes?.singleLine)\n )}\n classes={{\n root: clsx(\n tagsInputClasses.tagInputRoot,\n classes?.tagInputRoot\n ),\n input: clsx(tagsInputClasses.input, classes?.input),\n inputBorderContainer: clsx(\n tagsInputClasses.tagInputBorderContainer,\n classes?.tagInputBorderContainer\n ),\n inputRootFocused: clsx(\n tagsInputClasses.tagInputRootFocused,\n classes?.tagInputRootFocused\n ),\n }}\n disabled={disabled}\n readOnly={readOnly || isTagSelected}\n inputProps={{\n ref: materialInputRef,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-describedby\":\n ariaDescribedBy != null\n ? ariaDescribedBy\n : (description && setId(elementId, \"description\")) ||\n undefined,\n\n ...inputProps,\n }}\n inputRef={inputRef}\n $singleLine={!multiline}\n {...others}\n />\n </StyledInputListItem>\n )}\n </StyledTagsList>\n {canShowSuggestions && (\n <>\n {hasSuggestions && (\n <div\n role=\"presentation\"\n className={clsx(\n tagsInputClasses.inputExtension,\n classes?.inputExtension\n )}\n />\n )}\n <StyledSuggestions\n id={setId(elementId, \"suggestions\")}\n classes={{\n root: clsx(\n tagsInputClasses.suggestionsContainer,\n classes?.suggestionsContainer\n ),\n list: clsx(\n tagsInputClasses.suggestionList,\n classes?.suggestionList\n ),\n }}\n expanded={hasSuggestions}\n anchorEl={containerRef?.current?.parentElement}\n onClose={suggestionClearHandler}\n onKeyDown={onSuggestionKeyDown}\n onSuggestionSelected={suggestionSelectedHandler}\n suggestionValues={suggestionValues}\n />\n </>\n )}\n {canShowError && (\n <StyledError\n id={setId(elementId, \"error\")}\n disableBorder\n className={clsx(tagsInputClasses.error, classes?.error)}\n >\n {validationMessage}\n </StyledError>\n )}\n </StyledFormElement>\n );\n};\n"],"names":["HvTagsInput","classes","className","id","name","value","valueProp","defaultValue","readOnly","disabled","required","label","textAreaLabel","ariaLabel","ariaLabelledBy","description","ariaDescribedBy","onChange","onAdd","onDelete","onBlur","onFocus","placeholder","hideCounter","middleCountLabel","maxTagsQuantity","autoFocus","resizable","inputProps","countCharProps","multiline","status","statusMessage","validationMessages","commitTagOn","commitOnBlur","suggestionListCallback","others","elementId","useUniqueId","hasLabel","hasDescription","setValue","useControlled","validationState","setValidationState","validationStates","standBy","validationMessage","setValidationMessage","tagInput","setTagInput","useState","tagCursorPos","setTagCursorPos","length","stateValid","setStateValid","inputRef","useRef","containerRef","skipReset","blurTimeout","materialInputRef","isTagSelected","hasCounter","suggestionValues","setSuggestionValues","isStateInvalid","useMemo","canShowSuggestions","hasSuggestions","errorMessages","DEFAULT_ERROR_MESSAGES","error","requiredError","minCharError","maxCharError","performValidation","useCallback","currValue","undefined","invalid","valid","deleteTag","tagPos","event","end","newTagsArr","slice","current","focus","addTag","tag","preventDefault","newTag","type","canShowError","useEffect","element","children","setTimeout","container","isNil","scrollLeft","offsetLeft","getBoundingClientRect","width","isMounted","useIsMounted","focusInput","getSuggestions","li","listEl","document","getElementById","setId","getElementsByTagName","suggestionClearHandler","suggestionHandler","val","suggestionsArray","suggestionSelectedHandler","item","onSuggestionKeyDown","isKeypress","keyboardCodes","Esc","Tab","onChangeHandler","_","input","onInputKeyDownHandler","includes","code","onKeyDownHandler","_a","onDeleteTagHandler","i","onContainerClickHandler","clearTimeout","onBlurHandler","evt","onFocusHandler","jsxs","StyledFormElement","clsx","tagsInputClasses","root","StyledLabelContainer","labelContainer","jsx","StyledLabel","StyledDescription","StyledCharCounter","characterCounter","StyledTagsList","tagsList","singleLine","map","t","otherProps","StyledListItem","gutters","listItemGutters","listItemRoot","StyledTag","tagSelected","chipRoot","tabIndex","StyledInputListItem","tagInputRootEmpty","tagInputContainerRoot","StyledInput","tagInputRoot","inputBorderContainer","tagInputBorderContainer","inputRootFocused","tagInputRootFocused","ref","inputExtension","StyledSuggestions","suggestionsContainer","list","suggestionList","parentElement","StyledError"],"mappings":"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"}