@hitachivantara/uikit-react-core 5.0.0-next.4 → 5.0.0-next.5

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 (630) hide show
  1. package/dist/cjs/components/Accordion/Accordion.cjs.map +1 -1
  2. package/dist/cjs/components/ActionBar/ActionBar.cjs.map +1 -1
  3. package/dist/cjs/components/ActionsGeneric/ActionsGeneric.cjs.map +1 -1
  4. package/dist/cjs/components/AppSwitcher/Action/Action.cjs.map +1 -1
  5. package/dist/cjs/components/AppSwitcher/AppSwitcher.cjs.map +1 -1
  6. package/dist/cjs/components/Avatar/Avatar.cjs.map +1 -1
  7. package/dist/cjs/components/Badge/Badge.cjs.map +1 -1
  8. package/dist/cjs/components/Banner/Banner.cjs.map +1 -1
  9. package/dist/cjs/components/Banner/BannerContent/ActionContainer/ActionContainer.cjs.map +1 -1
  10. package/dist/cjs/components/Banner/BannerContent/BannerContent.cjs.map +1 -1
  11. package/dist/cjs/components/Banner/BannerContent/MessageContainer/MessageContainer.cjs.map +1 -1
  12. package/dist/cjs/components/BaseCheckBox/BaseCheckBox.styles.cjs +2 -2
  13. package/dist/cjs/components/BaseCheckBox/BaseCheckBox.styles.cjs.map +1 -1
  14. package/dist/cjs/components/BaseInput/BaseInput.cjs +73 -39
  15. package/dist/cjs/components/BaseInput/BaseInput.cjs.map +1 -1
  16. package/dist/cjs/components/BaseInput/BaseInput.styles.cjs +3 -31
  17. package/dist/cjs/components/BaseInput/BaseInput.styles.cjs.map +1 -1
  18. package/dist/cjs/components/BaseRadio/BaseRadio.styles.cjs +2 -2
  19. package/dist/cjs/components/BaseRadio/BaseRadio.styles.cjs.map +1 -1
  20. package/dist/cjs/components/BreadCrumb/BreadCrumb.cjs.map +1 -1
  21. package/dist/cjs/components/Card/Card.cjs.map +1 -1
  22. package/dist/cjs/components/Card/Content/Content.cjs.map +1 -1
  23. package/dist/cjs/components/Card/Header/Header.cjs.map +1 -1
  24. package/dist/cjs/components/Card/Media/Media.cjs.map +1 -1
  25. package/dist/cjs/components/CheckBoxGroup/CheckBoxGroup.styles.cjs +4 -4
  26. package/dist/cjs/components/CheckBoxGroup/CheckBoxGroup.styles.cjs.map +1 -1
  27. package/dist/cjs/components/Container/Container.cjs.map +1 -1
  28. package/dist/cjs/components/Controls/Controls.cjs +75 -0
  29. package/dist/cjs/components/Controls/Controls.cjs.map +1 -0
  30. package/dist/cjs/components/Controls/Controls.styles.cjs +39 -0
  31. package/dist/cjs/components/Controls/Controls.styles.cjs.map +1 -0
  32. package/dist/cjs/components/Controls/LeftControl/LeftControl.cjs +45 -0
  33. package/dist/cjs/components/Controls/LeftControl/LeftControl.cjs.map +1 -0
  34. package/dist/cjs/components/Controls/LeftControl/LeftControl.styles.cjs +24 -0
  35. package/dist/cjs/components/Controls/LeftControl/LeftControl.styles.cjs.map +1 -0
  36. package/dist/cjs/components/Controls/LeftControl/leftControlClasses.cjs +8 -0
  37. package/dist/cjs/components/Controls/LeftControl/leftControlClasses.cjs.map +1 -0
  38. package/dist/cjs/components/Controls/RightControl/RightControl.cjs +50 -0
  39. package/dist/cjs/components/Controls/RightControl/RightControl.cjs.map +1 -0
  40. package/dist/cjs/components/Controls/RightControl/RightControl.styles.cjs +43 -0
  41. package/dist/cjs/components/Controls/RightControl/RightControl.styles.cjs.map +1 -0
  42. package/dist/cjs/components/Controls/RightControl/rightControlClasses.cjs +8 -0
  43. package/dist/cjs/components/Controls/RightControl/rightControlClasses.cjs.map +1 -0
  44. package/dist/cjs/components/Controls/context/ControlsContext.cjs +12 -0
  45. package/dist/cjs/components/Controls/context/ControlsContext.cjs.map +1 -0
  46. package/dist/cjs/components/Controls/index.cjs +7 -0
  47. package/dist/cjs/components/Controls/index.cjs.map +1 -0
  48. package/dist/cjs/components/Dialog/Dialog.cjs +1 -1
  49. package/dist/cjs/components/Dialog/Dialog.cjs.map +1 -1
  50. package/dist/cjs/components/DotPagination/DotPagination.styles.cjs +7 -5
  51. package/dist/cjs/components/DotPagination/DotPagination.styles.cjs.map +1 -1
  52. package/dist/cjs/components/DropDownMenu/DropDownMenu.cjs +1 -1
  53. package/dist/cjs/components/DropDownMenu/DropDownMenu.cjs.map +1 -1
  54. package/dist/cjs/components/Dropdown/Dropdown.cjs +5 -6
  55. package/dist/cjs/components/Dropdown/Dropdown.cjs.map +1 -1
  56. package/dist/cjs/components/Dropdown/List/List.cjs +9 -9
  57. package/dist/cjs/components/Dropdown/List/List.cjs.map +1 -1
  58. package/dist/cjs/components/Dropdown/List/List.styles.cjs +8 -5
  59. package/dist/cjs/components/Dropdown/List/List.styles.cjs.map +1 -1
  60. package/dist/cjs/components/Dropdown/List/{dropdownListClasses.cjs → listClasses.cjs} +1 -1
  61. package/dist/cjs/components/Dropdown/List/listClasses.cjs.map +1 -0
  62. package/dist/cjs/components/Dropdown/dropdownClasses.cjs +1 -1
  63. package/dist/cjs/components/Dropdown/dropdownClasses.cjs.map +1 -1
  64. package/dist/cjs/components/FileUploader/DropZone/DropZone.cjs +1 -1
  65. package/dist/cjs/components/FileUploader/DropZone/DropZone.cjs.map +1 -1
  66. package/dist/cjs/components/FileUploader/DropZone/DropZone.styles.cjs +15 -15
  67. package/dist/cjs/components/FileUploader/DropZone/DropZone.styles.cjs.map +1 -1
  68. package/dist/cjs/components/FileUploader/File/File.cjs.map +1 -1
  69. package/dist/cjs/components/FileUploader/FileList/FileList.cjs.map +1 -1
  70. package/dist/cjs/components/Focus/Focus.cjs +1 -1
  71. package/dist/cjs/components/Focus/Focus.cjs.map +1 -1
  72. package/dist/cjs/components/Footer/Footer.cjs.map +1 -1
  73. package/dist/cjs/components/Forms/Adornment/Adornment.cjs.map +1 -1
  74. package/dist/cjs/components/Forms/CharCounter/CharCounter.cjs.map +1 -1
  75. package/dist/cjs/components/Forms/FormElement/FormElement.cjs.map +1 -1
  76. package/dist/cjs/components/Forms/InfoMessage/InfoMessage.cjs.map +1 -1
  77. package/dist/cjs/components/Forms/Label/Label.cjs.map +1 -1
  78. package/dist/cjs/components/Forms/Suggestions/Suggestions.cjs.map +1 -1
  79. package/dist/cjs/components/Forms/WarningText/WarningText.cjs.map +1 -1
  80. package/dist/cjs/components/Forms/WarningText/WarningText.styles.cjs +4 -4
  81. package/dist/cjs/components/Forms/WarningText/WarningText.styles.cjs.map +1 -1
  82. package/dist/cjs/components/GlobalActions/GlobalActions.cjs +2 -2
  83. package/dist/cjs/components/GlobalActions/GlobalActions.cjs.map +1 -1
  84. package/dist/cjs/components/GlobalActions/GlobalActions.styles.cjs +5 -5
  85. package/dist/cjs/components/GlobalActions/GlobalActions.styles.cjs.map +1 -1
  86. package/dist/cjs/components/GlobalActions/globalActionsClasses.cjs +1 -1
  87. package/dist/cjs/components/GlobalActions/globalActionsClasses.cjs.map +1 -1
  88. package/dist/cjs/components/Input/Input.cjs.map +1 -1
  89. package/dist/cjs/components/Link/Link.cjs.map +1 -1
  90. package/dist/cjs/components/List/List.cjs.map +1 -1
  91. package/dist/cjs/components/ListContainer/ListContainer.cjs.map +1 -1
  92. package/dist/cjs/components/ListContainer/ListItem/ListItem.cjs.map +1 -1
  93. package/dist/cjs/components/MultiButton/MultiButton.cjs.map +1 -1
  94. package/dist/cjs/components/MultiButton/MultiButton.styles.cjs +7 -7
  95. package/dist/cjs/components/MultiButton/MultiButton.styles.cjs.map +1 -1
  96. package/dist/cjs/components/OverflowTooltip/OverflowTooltip.cjs.map +1 -1
  97. package/dist/cjs/components/Pagination/Pagination.cjs.map +1 -1
  98. package/dist/cjs/components/Pagination/utils.cjs.map +1 -1
  99. package/dist/cjs/components/ProgressBar/ProgressBar.cjs.map +1 -1
  100. package/dist/cjs/components/RadioGroup/RadioGroup.styles.cjs +4 -4
  101. package/dist/cjs/components/RadioGroup/RadioGroup.styles.cjs.map +1 -1
  102. package/dist/cjs/components/SelectionList/SelectionList.cjs.map +1 -1
  103. package/dist/cjs/components/Snackbar/Snackbar.cjs.map +1 -1
  104. package/dist/cjs/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.cjs.map +1 -1
  105. package/dist/cjs/components/Snackbar/SnackbarProvider/SnackbarProvider.cjs +2 -2
  106. package/dist/cjs/components/Snackbar/SnackbarProvider/SnackbarProvider.cjs.map +1 -1
  107. package/dist/cjs/components/Stack/Stack.cjs +3 -3
  108. package/dist/cjs/components/Stack/Stack.cjs.map +1 -1
  109. package/dist/cjs/components/Table/Table.cjs +1 -1
  110. package/dist/cjs/components/Table/Table.cjs.map +1 -1
  111. package/dist/cjs/components/Table/TableBody/TableBody.cjs +1 -1
  112. package/dist/cjs/components/Table/TableBody/TableBody.cjs.map +1 -1
  113. package/dist/cjs/components/Table/TableCell/TableCell.cjs +2 -2
  114. package/dist/cjs/components/Table/TableCell/TableCell.cjs.map +1 -1
  115. package/dist/cjs/components/Table/TableContainer/TableContainer.cjs +1 -1
  116. package/dist/cjs/components/Table/TableContainer/TableContainer.cjs.map +1 -1
  117. package/dist/cjs/components/Table/TableHead/TableHead.cjs +1 -1
  118. package/dist/cjs/components/Table/TableHead/TableHead.cjs.map +1 -1
  119. package/dist/cjs/components/Table/TableHeader/TableHeader.cjs +3 -3
  120. package/dist/cjs/components/Table/TableHeader/TableHeader.cjs.map +1 -1
  121. package/dist/cjs/components/Table/TableRow/TableRow.cjs +6 -6
  122. package/dist/cjs/components/Table/TableRow/TableRow.cjs.map +1 -1
  123. package/dist/cjs/components/Table/hooks/useBulkActions.cjs +0 -1
  124. package/dist/cjs/components/Table/hooks/useBulkActions.cjs.map +1 -1
  125. package/dist/cjs/components/Table/hooks/useHeaderGroups.cjs +0 -4
  126. package/dist/cjs/components/Table/hooks/useHeaderGroups.cjs.map +1 -1
  127. package/dist/cjs/components/Table/hooks/usePagination.cjs +0 -1
  128. package/dist/cjs/components/Table/hooks/usePagination.cjs.map +1 -1
  129. package/dist/cjs/components/Table/hooks/useResizeColumns.cjs +0 -3
  130. package/dist/cjs/components/Table/hooks/useResizeColumns.cjs.map +1 -1
  131. package/dist/cjs/components/Table/hooks/useRowExpand.cjs +0 -3
  132. package/dist/cjs/components/Table/hooks/useRowExpand.cjs.map +1 -1
  133. package/dist/cjs/components/Table/hooks/useRowSelection.cjs +0 -3
  134. package/dist/cjs/components/Table/hooks/useRowSelection.cjs.map +1 -1
  135. package/dist/cjs/components/Table/hooks/useSortBy.cjs +0 -3
  136. package/dist/cjs/components/Table/hooks/useSortBy.cjs.map +1 -1
  137. package/dist/cjs/components/Table/hooks/useSticky.cjs +0 -6
  138. package/dist/cjs/components/Table/hooks/useSticky.cjs.map +1 -1
  139. package/dist/cjs/components/Table/hooks/useTable.cjs +3 -4
  140. package/dist/cjs/components/Table/hooks/useTable.cjs.map +1 -1
  141. package/dist/cjs/components/Table/hooks/useTableStyles.cjs +0 -3
  142. package/dist/cjs/components/Table/hooks/useTableStyles.cjs.map +1 -1
  143. package/dist/cjs/components/Table/renderers/DateColumnCell/DateColumnCell.cjs +24 -0
  144. package/dist/cjs/components/Table/renderers/DateColumnCell/DateColumnCell.cjs.map +1 -0
  145. package/dist/cjs/components/Table/renderers/DropdownColumnCell/DropdownColumnCell.cjs +25 -0
  146. package/dist/cjs/components/Table/renderers/DropdownColumnCell/DropdownColumnCell.cjs.map +1 -0
  147. package/dist/cjs/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.cjs +27 -0
  148. package/dist/cjs/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.cjs.map +1 -0
  149. package/dist/cjs/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.styles.cjs +62 -0
  150. package/dist/cjs/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.styles.cjs.map +1 -0
  151. package/dist/cjs/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.cjs +33 -0
  152. package/dist/cjs/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.cjs.map +1 -0
  153. package/dist/cjs/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.styles.cjs +40 -0
  154. package/dist/cjs/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.styles.cjs.map +1 -0
  155. package/dist/cjs/components/Table/renderers/renderers.cjs +199 -0
  156. package/dist/cjs/components/Table/renderers/renderers.cjs.map +1 -0
  157. package/dist/cjs/components/Table/utils/utils.cjs +4 -4
  158. package/dist/cjs/components/Table/utils/utils.cjs.map +1 -1
  159. package/dist/cjs/components/Tabs/Tabs.styles.cjs +2 -2
  160. package/dist/cjs/components/Tabs/Tabs.styles.cjs.map +1 -1
  161. package/dist/cjs/components/Tag/Tag.cjs.map +1 -1
  162. package/dist/cjs/components/TagsInput/TagsInput.cjs +1 -1
  163. package/dist/cjs/components/TagsInput/TagsInput.cjs.map +1 -1
  164. package/dist/cjs/components/TagsInput/TagsInput.styles.cjs +37 -22
  165. package/dist/cjs/components/TagsInput/TagsInput.styles.cjs.map +1 -1
  166. package/dist/cjs/components/TagsInput/tagsInputClasses.cjs +1 -1
  167. package/dist/cjs/components/TagsInput/tagsInputClasses.cjs.map +1 -1
  168. package/dist/cjs/components/TextArea/TextArea.styles.cjs +10 -8
  169. package/dist/cjs/components/TextArea/TextArea.styles.cjs.map +1 -1
  170. package/dist/cjs/components/Tooltip/Tooltip.cjs.map +1 -1
  171. package/dist/cjs/components/Typography/Typography.cjs +6 -2
  172. package/dist/cjs/components/Typography/Typography.cjs.map +1 -1
  173. package/dist/cjs/components/Typography/typographyClasses.cjs +8 -0
  174. package/dist/cjs/components/Typography/typographyClasses.cjs.map +1 -0
  175. package/dist/cjs/hocs/withTooltip.cjs.map +1 -1
  176. package/dist/cjs/index.cjs +58 -3
  177. package/dist/cjs/index.cjs.map +1 -1
  178. package/dist/cjs/providers/ThemeProvider.cjs.map +1 -1
  179. package/dist/cjs/utils/theme.cjs +1 -0
  180. package/dist/cjs/utils/theme.cjs.map +1 -1
  181. package/dist/esm/components/Accordion/Accordion.js.map +1 -1
  182. package/dist/esm/components/ActionBar/ActionBar.js.map +1 -1
  183. package/dist/esm/components/ActionsGeneric/ActionsGeneric.js.map +1 -1
  184. package/dist/esm/components/AppSwitcher/Action/Action.js.map +1 -1
  185. package/dist/esm/components/AppSwitcher/AppSwitcher.js.map +1 -1
  186. package/dist/esm/components/Avatar/Avatar.js.map +1 -1
  187. package/dist/esm/components/Badge/Badge.js.map +1 -1
  188. package/dist/esm/components/Banner/Banner.js.map +1 -1
  189. package/dist/esm/components/Banner/BannerContent/ActionContainer/ActionContainer.js.map +1 -1
  190. package/dist/esm/components/Banner/BannerContent/BannerContent.js.map +1 -1
  191. package/dist/esm/components/Banner/BannerContent/MessageContainer/MessageContainer.js.map +1 -1
  192. package/dist/esm/components/BaseCheckBox/BaseCheckBox.styles.js +2 -2
  193. package/dist/esm/components/BaseCheckBox/BaseCheckBox.styles.js.map +1 -1
  194. package/dist/esm/components/BaseInput/BaseInput.js +74 -40
  195. package/dist/esm/components/BaseInput/BaseInput.js.map +1 -1
  196. package/dist/esm/components/BaseInput/BaseInput.styles.js +3 -31
  197. package/dist/esm/components/BaseInput/BaseInput.styles.js.map +1 -1
  198. package/dist/esm/components/BaseRadio/BaseRadio.styles.js +2 -2
  199. package/dist/esm/components/BaseRadio/BaseRadio.styles.js.map +1 -1
  200. package/dist/esm/components/BreadCrumb/BreadCrumb.js.map +1 -1
  201. package/dist/esm/components/Card/Card.js.map +1 -1
  202. package/dist/esm/components/Card/Content/Content.js.map +1 -1
  203. package/dist/esm/components/Card/Header/Header.js.map +1 -1
  204. package/dist/esm/components/Card/Media/Media.js.map +1 -1
  205. package/dist/esm/components/CheckBoxGroup/CheckBoxGroup.styles.js +4 -4
  206. package/dist/esm/components/CheckBoxGroup/CheckBoxGroup.styles.js.map +1 -1
  207. package/dist/esm/components/Container/Container.js.map +1 -1
  208. package/dist/esm/components/Controls/Controls.js +73 -0
  209. package/dist/esm/components/Controls/Controls.js.map +1 -0
  210. package/dist/esm/components/Controls/Controls.styles.js +37 -0
  211. package/dist/esm/components/Controls/Controls.styles.js.map +1 -0
  212. package/dist/esm/components/Controls/LeftControl/LeftControl.js +43 -0
  213. package/dist/esm/components/Controls/LeftControl/LeftControl.js.map +1 -0
  214. package/dist/esm/components/Controls/LeftControl/LeftControl.styles.js +22 -0
  215. package/dist/esm/components/Controls/LeftControl/LeftControl.styles.js.map +1 -0
  216. package/dist/esm/components/Controls/LeftControl/leftControlClasses.js +8 -0
  217. package/dist/esm/components/Controls/LeftControl/leftControlClasses.js.map +1 -0
  218. package/dist/esm/components/Controls/RightControl/RightControl.js +48 -0
  219. package/dist/esm/components/Controls/RightControl/RightControl.js.map +1 -0
  220. package/dist/esm/components/Controls/RightControl/RightControl.styles.js +41 -0
  221. package/dist/esm/components/Controls/RightControl/RightControl.styles.js.map +1 -0
  222. package/dist/esm/components/Controls/RightControl/rightControlClasses.js +8 -0
  223. package/dist/esm/components/Controls/RightControl/rightControlClasses.js.map +1 -0
  224. package/dist/esm/components/Controls/context/ControlsContext.js +10 -0
  225. package/dist/esm/components/Controls/context/ControlsContext.js.map +1 -0
  226. package/dist/esm/components/Controls/index.js +7 -0
  227. package/dist/esm/components/Controls/index.js.map +1 -0
  228. package/dist/esm/components/Dialog/Dialog.js +1 -1
  229. package/dist/esm/components/Dialog/Dialog.js.map +1 -1
  230. package/dist/esm/components/DotPagination/DotPagination.styles.js +7 -5
  231. package/dist/esm/components/DotPagination/DotPagination.styles.js.map +1 -1
  232. package/dist/esm/components/DropDownMenu/DropDownMenu.js +1 -1
  233. package/dist/esm/components/DropDownMenu/DropDownMenu.js.map +1 -1
  234. package/dist/esm/components/Dropdown/Dropdown.js +5 -6
  235. package/dist/esm/components/Dropdown/Dropdown.js.map +1 -1
  236. package/dist/esm/components/Dropdown/List/List.js +2 -2
  237. package/dist/esm/components/Dropdown/List/List.js.map +1 -1
  238. package/dist/esm/components/Dropdown/List/List.styles.js +8 -5
  239. package/dist/esm/components/Dropdown/List/List.styles.js.map +1 -1
  240. package/dist/esm/components/Dropdown/List/{dropdownListClasses.js → listClasses.js} +1 -1
  241. package/dist/esm/components/Dropdown/List/listClasses.js.map +1 -0
  242. package/dist/esm/components/Dropdown/dropdownClasses.js +1 -1
  243. package/dist/esm/components/Dropdown/dropdownClasses.js.map +1 -1
  244. package/dist/esm/components/FileUploader/DropZone/DropZone.js +1 -1
  245. package/dist/esm/components/FileUploader/DropZone/DropZone.js.map +1 -1
  246. package/dist/esm/components/FileUploader/DropZone/DropZone.styles.js +15 -15
  247. package/dist/esm/components/FileUploader/DropZone/DropZone.styles.js.map +1 -1
  248. package/dist/esm/components/FileUploader/File/File.js.map +1 -1
  249. package/dist/esm/components/FileUploader/FileList/FileList.js.map +1 -1
  250. package/dist/esm/components/Focus/Focus.js +1 -1
  251. package/dist/esm/components/Focus/Focus.js.map +1 -1
  252. package/dist/esm/components/Footer/Footer.js.map +1 -1
  253. package/dist/esm/components/Forms/Adornment/Adornment.js.map +1 -1
  254. package/dist/esm/components/Forms/CharCounter/CharCounter.js.map +1 -1
  255. package/dist/esm/components/Forms/FormElement/FormElement.js.map +1 -1
  256. package/dist/esm/components/Forms/InfoMessage/InfoMessage.js.map +1 -1
  257. package/dist/esm/components/Forms/Label/Label.js.map +1 -1
  258. package/dist/esm/components/Forms/Suggestions/Suggestions.js.map +1 -1
  259. package/dist/esm/components/Forms/WarningText/WarningText.js.map +1 -1
  260. package/dist/esm/components/Forms/WarningText/WarningText.styles.js +4 -4
  261. package/dist/esm/components/Forms/WarningText/WarningText.styles.js.map +1 -1
  262. package/dist/esm/components/GlobalActions/GlobalActions.js +2 -2
  263. package/dist/esm/components/GlobalActions/GlobalActions.js.map +1 -1
  264. package/dist/esm/components/GlobalActions/GlobalActions.styles.js +5 -5
  265. package/dist/esm/components/GlobalActions/GlobalActions.styles.js.map +1 -1
  266. package/dist/esm/components/GlobalActions/globalActionsClasses.js +1 -1
  267. package/dist/esm/components/GlobalActions/globalActionsClasses.js.map +1 -1
  268. package/dist/esm/components/Input/Input.js.map +1 -1
  269. package/dist/esm/components/Link/Link.js.map +1 -1
  270. package/dist/esm/components/List/List.js.map +1 -1
  271. package/dist/esm/components/ListContainer/ListContainer.js.map +1 -1
  272. package/dist/esm/components/ListContainer/ListItem/ListItem.js.map +1 -1
  273. package/dist/esm/components/MultiButton/MultiButton.js.map +1 -1
  274. package/dist/esm/components/MultiButton/MultiButton.styles.js +7 -7
  275. package/dist/esm/components/MultiButton/MultiButton.styles.js.map +1 -1
  276. package/dist/esm/components/OverflowTooltip/OverflowTooltip.js.map +1 -1
  277. package/dist/esm/components/Pagination/Pagination.js.map +1 -1
  278. package/dist/esm/components/Pagination/utils.js.map +1 -1
  279. package/dist/esm/components/ProgressBar/ProgressBar.js.map +1 -1
  280. package/dist/esm/components/RadioGroup/RadioGroup.styles.js +4 -4
  281. package/dist/esm/components/RadioGroup/RadioGroup.styles.js.map +1 -1
  282. package/dist/esm/components/SelectionList/SelectionList.js.map +1 -1
  283. package/dist/esm/components/Snackbar/Snackbar.js.map +1 -1
  284. package/dist/esm/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.js.map +1 -1
  285. package/dist/esm/components/Snackbar/SnackbarProvider/SnackbarProvider.js +2 -2
  286. package/dist/esm/components/Snackbar/SnackbarProvider/SnackbarProvider.js.map +1 -1
  287. package/dist/esm/components/Stack/Stack.js +2 -2
  288. package/dist/esm/components/Stack/Stack.js.map +1 -1
  289. package/dist/esm/components/Table/Table.js +1 -1
  290. package/dist/esm/components/Table/Table.js.map +1 -1
  291. package/dist/esm/components/Table/TableBody/TableBody.js +1 -1
  292. package/dist/esm/components/Table/TableBody/TableBody.js.map +1 -1
  293. package/dist/esm/components/Table/TableCell/TableCell.js +2 -2
  294. package/dist/esm/components/Table/TableCell/TableCell.js.map +1 -1
  295. package/dist/esm/components/Table/TableContainer/TableContainer.js +1 -1
  296. package/dist/esm/components/Table/TableContainer/TableContainer.js.map +1 -1
  297. package/dist/esm/components/Table/TableHead/TableHead.js +1 -1
  298. package/dist/esm/components/Table/TableHead/TableHead.js.map +1 -1
  299. package/dist/esm/components/Table/TableHeader/TableHeader.js +3 -3
  300. package/dist/esm/components/Table/TableHeader/TableHeader.js.map +1 -1
  301. package/dist/esm/components/Table/TableRow/TableRow.js +6 -6
  302. package/dist/esm/components/Table/TableRow/TableRow.js.map +1 -1
  303. package/dist/esm/components/Table/hooks/useBulkActions.js +1 -2
  304. package/dist/esm/components/Table/hooks/useBulkActions.js.map +1 -1
  305. package/dist/esm/components/Table/hooks/useHeaderGroups.js +1 -5
  306. package/dist/esm/components/Table/hooks/useHeaderGroups.js.map +1 -1
  307. package/dist/esm/components/Table/hooks/usePagination.js +1 -2
  308. package/dist/esm/components/Table/hooks/usePagination.js.map +1 -1
  309. package/dist/esm/components/Table/hooks/useResizeColumns.js +1 -4
  310. package/dist/esm/components/Table/hooks/useResizeColumns.js.map +1 -1
  311. package/dist/esm/components/Table/hooks/useRowExpand.js +1 -4
  312. package/dist/esm/components/Table/hooks/useRowExpand.js.map +1 -1
  313. package/dist/esm/components/Table/hooks/useRowSelection.js +1 -4
  314. package/dist/esm/components/Table/hooks/useRowSelection.js.map +1 -1
  315. package/dist/esm/components/Table/hooks/useSortBy.js +1 -4
  316. package/dist/esm/components/Table/hooks/useSortBy.js.map +1 -1
  317. package/dist/esm/components/Table/hooks/useSticky.js +1 -7
  318. package/dist/esm/components/Table/hooks/useSticky.js.map +1 -1
  319. package/dist/esm/components/Table/hooks/useTable.js +3 -4
  320. package/dist/esm/components/Table/hooks/useTable.js.map +1 -1
  321. package/dist/esm/components/Table/hooks/useTableStyles.js +1 -4
  322. package/dist/esm/components/Table/hooks/useTableStyles.js.map +1 -1
  323. package/dist/esm/components/Table/renderers/DateColumnCell/DateColumnCell.js +22 -0
  324. package/dist/esm/components/Table/renderers/DateColumnCell/DateColumnCell.js.map +1 -0
  325. package/dist/esm/components/Table/renderers/DropdownColumnCell/DropdownColumnCell.js +25 -0
  326. package/dist/esm/components/Table/renderers/DropdownColumnCell/DropdownColumnCell.js.map +1 -0
  327. package/dist/esm/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.js +27 -0
  328. package/dist/esm/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.js.map +1 -0
  329. package/dist/esm/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.styles.js +60 -0
  330. package/dist/esm/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.styles.js.map +1 -0
  331. package/dist/esm/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.js +33 -0
  332. package/dist/esm/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.js.map +1 -0
  333. package/dist/esm/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.styles.js +38 -0
  334. package/dist/esm/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.styles.js.map +1 -0
  335. package/dist/esm/components/Table/renderers/renderers.js +199 -0
  336. package/dist/esm/components/Table/renderers/renderers.js.map +1 -0
  337. package/dist/esm/components/Table/utils/utils.js +4 -4
  338. package/dist/esm/components/Table/utils/utils.js.map +1 -1
  339. package/dist/esm/components/Tabs/Tabs.styles.js +2 -2
  340. package/dist/esm/components/Tabs/Tabs.styles.js.map +1 -1
  341. package/dist/esm/components/Tag/Tag.js.map +1 -1
  342. package/dist/esm/components/TagsInput/TagsInput.js +1 -1
  343. package/dist/esm/components/TagsInput/TagsInput.js.map +1 -1
  344. package/dist/esm/components/TagsInput/TagsInput.styles.js +37 -22
  345. package/dist/esm/components/TagsInput/TagsInput.styles.js.map +1 -1
  346. package/dist/esm/components/TagsInput/tagsInputClasses.js +1 -1
  347. package/dist/esm/components/TagsInput/tagsInputClasses.js.map +1 -1
  348. package/dist/esm/components/TextArea/TextArea.styles.js +10 -8
  349. package/dist/esm/components/TextArea/TextArea.styles.js.map +1 -1
  350. package/dist/esm/components/Tooltip/Tooltip.js.map +1 -1
  351. package/dist/esm/components/Typography/Typography.js +5 -2
  352. package/dist/esm/components/Typography/Typography.js.map +1 -1
  353. package/dist/esm/components/Typography/typographyClasses.js +8 -0
  354. package/dist/esm/components/Typography/typographyClasses.js.map +1 -0
  355. package/dist/esm/hocs/withTooltip.js.map +1 -1
  356. package/dist/esm/index.js +254 -202
  357. package/dist/esm/index.js.map +1 -1
  358. package/dist/esm/providers/ThemeProvider.js.map +1 -1
  359. package/dist/esm/utils/theme.js +1 -0
  360. package/dist/esm/utils/theme.js.map +1 -1
  361. package/dist/types/components/Accordion/Accordion.d.ts +2 -1
  362. package/dist/types/components/Accordion/Accordion.d.ts.map +1 -1
  363. package/dist/types/components/Accordion/Accordion.styles.d.ts +1 -0
  364. package/dist/types/components/Accordion/Accordion.styles.d.ts.map +1 -1
  365. package/dist/types/components/ActionBar/ActionBar.d.ts +1 -1
  366. package/dist/types/components/ActionBar/ActionBar.d.ts.map +1 -1
  367. package/dist/types/components/ActionsGeneric/ActionsGeneric.d.ts +1 -1
  368. package/dist/types/components/ActionsGeneric/ActionsGeneric.d.ts.map +1 -1
  369. package/dist/types/components/AppSwitcher/Action/Action.d.ts +1 -1
  370. package/dist/types/components/AppSwitcher/Action/Action.d.ts.map +1 -1
  371. package/dist/types/components/AppSwitcher/Action/Action.styles.d.ts +1 -0
  372. package/dist/types/components/AppSwitcher/Action/Action.styles.d.ts.map +1 -1
  373. package/dist/types/components/AppSwitcher/AppSwitcher.d.ts +1 -1
  374. package/dist/types/components/AppSwitcher/AppSwitcher.d.ts.map +1 -1
  375. package/dist/types/components/AppSwitcher/AppSwitcher.styles.d.ts +1 -0
  376. package/dist/types/components/AppSwitcher/AppSwitcher.styles.d.ts.map +1 -1
  377. package/dist/types/components/Avatar/Avatar.d.ts +6 -6
  378. package/dist/types/components/Avatar/Avatar.d.ts.map +1 -1
  379. package/dist/types/components/Badge/Badge.d.ts +1 -1
  380. package/dist/types/components/Badge/Badge.d.ts.map +1 -1
  381. package/dist/types/components/Banner/Banner.d.ts +3 -2
  382. package/dist/types/components/Banner/Banner.d.ts.map +1 -1
  383. package/dist/types/components/Banner/BannerContent/ActionContainer/ActionContainer.d.ts +1 -1
  384. package/dist/types/components/Banner/BannerContent/ActionContainer/ActionContainer.d.ts.map +1 -1
  385. package/dist/types/components/Banner/BannerContent/BannerContent.d.ts +3 -2
  386. package/dist/types/components/Banner/BannerContent/BannerContent.d.ts.map +1 -1
  387. package/dist/types/components/Banner/BannerContent/MessageContainer/MessageContainer.d.ts +1 -1
  388. package/dist/types/components/Banner/BannerContent/MessageContainer/MessageContainer.d.ts.map +1 -1
  389. package/dist/types/components/BaseDropdown/BaseDropdown.styles.d.ts +1 -0
  390. package/dist/types/components/BaseDropdown/BaseDropdown.styles.d.ts.map +1 -1
  391. package/dist/types/components/BaseInput/BaseInput.d.ts +1 -1
  392. package/dist/types/components/BaseInput/BaseInput.d.ts.map +1 -1
  393. package/dist/types/components/BaseInput/BaseInput.styles.d.ts.map +1 -1
  394. package/dist/types/components/BreadCrumb/BreadCrumb.d.ts +5 -5
  395. package/dist/types/components/BreadCrumb/BreadCrumb.d.ts.map +1 -1
  396. package/dist/types/components/Card/Card.d.ts +1 -1
  397. package/dist/types/components/Card/Card.d.ts.map +1 -1
  398. package/dist/types/components/Card/Content/Content.d.ts +1 -1
  399. package/dist/types/components/Card/Content/Content.d.ts.map +1 -1
  400. package/dist/types/components/Card/Header/Header.d.ts +1 -1
  401. package/dist/types/components/Card/Header/Header.d.ts.map +1 -1
  402. package/dist/types/components/Card/Media/Media.d.ts +1 -1
  403. package/dist/types/components/Card/Media/Media.d.ts.map +1 -1
  404. package/dist/types/components/Container/Container.d.ts +1 -1
  405. package/dist/types/components/Container/Container.d.ts.map +1 -1
  406. package/dist/types/components/Controls/Controls.d.ts +42 -0
  407. package/dist/types/components/Controls/Controls.d.ts.map +1 -0
  408. package/dist/types/components/Controls/Controls.styles.d.ts +10 -0
  409. package/dist/types/components/Controls/Controls.styles.d.ts.map +1 -0
  410. package/dist/types/components/Controls/LeftControl/LeftControl.d.ts +18 -0
  411. package/dist/types/components/Controls/LeftControl/LeftControl.d.ts.map +1 -0
  412. package/dist/types/components/Controls/LeftControl/LeftControl.styles.d.ts +6 -0
  413. package/dist/types/components/Controls/LeftControl/LeftControl.styles.d.ts.map +1 -0
  414. package/dist/types/components/Controls/LeftControl/index.d.ts +4 -0
  415. package/dist/types/components/Controls/LeftControl/index.d.ts.map +1 -0
  416. package/dist/types/components/Controls/LeftControl/leftControlClasses.d.ts +6 -0
  417. package/dist/types/components/Controls/LeftControl/leftControlClasses.d.ts.map +1 -0
  418. package/dist/types/components/Controls/RightControl/RightControl.d.ts +21 -0
  419. package/dist/types/components/Controls/RightControl/RightControl.d.ts.map +1 -0
  420. package/dist/types/components/Controls/RightControl/RightControl.styles.d.ts +7 -0
  421. package/dist/types/components/Controls/RightControl/RightControl.styles.d.ts.map +1 -0
  422. package/dist/types/components/Controls/RightControl/index.d.ts +4 -0
  423. package/dist/types/components/Controls/RightControl/index.d.ts.map +1 -0
  424. package/dist/types/components/Controls/RightControl/rightControlClasses.d.ts +7 -0
  425. package/dist/types/components/Controls/RightControl/rightControlClasses.d.ts.map +1 -0
  426. package/dist/types/components/Controls/context/ControlsContext.d.ts +15 -0
  427. package/dist/types/components/Controls/context/ControlsContext.d.ts.map +1 -0
  428. package/dist/types/components/Controls/index.d.ts +11 -0
  429. package/dist/types/components/Controls/index.d.ts.map +1 -0
  430. package/dist/types/components/Dialog/Content/Content.styles.d.ts +1 -0
  431. package/dist/types/components/Dialog/Content/Content.styles.d.ts.map +1 -1
  432. package/dist/types/components/Dialog/Dialog.d.ts +1 -1
  433. package/dist/types/components/Dialog/Dialog.d.ts.map +1 -1
  434. package/dist/types/components/DotPagination/DotPagination.styles.d.ts +1 -20
  435. package/dist/types/components/DotPagination/DotPagination.styles.d.ts.map +1 -1
  436. package/dist/types/components/DropDownMenu/DropDownMenu.d.ts +1 -1
  437. package/dist/types/components/DropDownMenu/DropDownMenu.d.ts.map +1 -1
  438. package/dist/types/components/Dropdown/Dropdown.d.ts +3 -1
  439. package/dist/types/components/Dropdown/Dropdown.d.ts.map +1 -1
  440. package/dist/types/components/Dropdown/Dropdown.styles.d.ts +1 -0
  441. package/dist/types/components/Dropdown/Dropdown.styles.d.ts.map +1 -1
  442. package/dist/types/components/Dropdown/List/List.d.ts +1 -1
  443. package/dist/types/components/Dropdown/List/List.d.ts.map +1 -1
  444. package/dist/types/components/Dropdown/List/List.styles.d.ts +1 -27
  445. package/dist/types/components/Dropdown/List/List.styles.d.ts.map +1 -1
  446. package/dist/types/components/Dropdown/List/index.d.ts +2 -0
  447. package/dist/types/components/Dropdown/List/index.d.ts.map +1 -1
  448. package/dist/types/components/Dropdown/List/{dropdownListClasses.d.ts → listClasses.d.ts} +1 -1
  449. package/dist/types/components/Dropdown/List/listClasses.d.ts.map +1 -0
  450. package/dist/types/components/Dropdown/dropdownClasses.d.ts +3 -2
  451. package/dist/types/components/Dropdown/dropdownClasses.d.ts.map +1 -1
  452. package/dist/types/components/Dropdown/index.d.ts +2 -0
  453. package/dist/types/components/Dropdown/index.d.ts.map +1 -1
  454. package/dist/types/components/EmptyState/EmptyState.styles.d.ts +1 -0
  455. package/dist/types/components/EmptyState/EmptyState.styles.d.ts.map +1 -1
  456. package/dist/types/components/FileUploader/DropZone/DropZone.d.ts +1 -1
  457. package/dist/types/components/FileUploader/DropZone/DropZone.styles.d.ts +1 -0
  458. package/dist/types/components/FileUploader/DropZone/DropZone.styles.d.ts.map +1 -1
  459. package/dist/types/components/FileUploader/File/File.d.ts +1 -1
  460. package/dist/types/components/FileUploader/File/File.styles.d.ts +2 -0
  461. package/dist/types/components/FileUploader/File/File.styles.d.ts.map +1 -1
  462. package/dist/types/components/FileUploader/FileList/FileList.d.ts +1 -1
  463. package/dist/types/components/Focus/Focus.d.ts +1 -1
  464. package/dist/types/components/Focus/Focus.d.ts.map +1 -1
  465. package/dist/types/components/Footer/Footer.d.ts +1 -1
  466. package/dist/types/components/Footer/Footer.d.ts.map +1 -1
  467. package/dist/types/components/Footer/Footer.styles.d.ts +2 -0
  468. package/dist/types/components/Footer/Footer.styles.d.ts.map +1 -1
  469. package/dist/types/components/Forms/Adornment/Adornment.d.ts +2 -2
  470. package/dist/types/components/Forms/Adornment/Adornment.d.ts.map +1 -1
  471. package/dist/types/components/Forms/CharCounter/CharCounter.d.ts +1 -1
  472. package/dist/types/components/Forms/CharCounter/CharCounter.d.ts.map +1 -1
  473. package/dist/types/components/Forms/CharCounter/CharCounter.styles.d.ts +1 -0
  474. package/dist/types/components/Forms/CharCounter/CharCounter.styles.d.ts.map +1 -1
  475. package/dist/types/components/Forms/FormElement/FormElement.d.ts +1 -1
  476. package/dist/types/components/Forms/FormElement/FormElement.d.ts.map +1 -1
  477. package/dist/types/components/Forms/InfoMessage/InfoMessage.d.ts +1 -1
  478. package/dist/types/components/Forms/InfoMessage/InfoMessage.d.ts.map +1 -1
  479. package/dist/types/components/Forms/InfoMessage/InfoMessage.styles.d.ts +1 -0
  480. package/dist/types/components/Forms/InfoMessage/InfoMessage.styles.d.ts.map +1 -1
  481. package/dist/types/components/Forms/Label/Label.d.ts +1 -1
  482. package/dist/types/components/Forms/Label/Label.d.ts.map +1 -1
  483. package/dist/types/components/Forms/Label/Label.styles.d.ts +1 -0
  484. package/dist/types/components/Forms/Label/Label.styles.d.ts.map +1 -1
  485. package/dist/types/components/Forms/Suggestions/Suggestions.d.ts +1 -1
  486. package/dist/types/components/Forms/Suggestions/Suggestions.d.ts.map +1 -1
  487. package/dist/types/components/Forms/WarningText/WarningText.d.ts +1 -1
  488. package/dist/types/components/Forms/WarningText/WarningText.d.ts.map +1 -1
  489. package/dist/types/components/Forms/WarningText/WarningText.styles.d.ts +1 -0
  490. package/dist/types/components/Forms/WarningText/WarningText.styles.d.ts.map +1 -1
  491. package/dist/types/components/GlobalActions/GlobalActions.d.ts +1 -1
  492. package/dist/types/components/GlobalActions/GlobalActions.d.ts.map +1 -1
  493. package/dist/types/components/GlobalActions/globalActionsClasses.d.ts +5 -0
  494. package/dist/types/components/GlobalActions/globalActionsClasses.d.ts.map +1 -1
  495. package/dist/types/components/Input/Input.d.ts +1 -1
  496. package/dist/types/components/Input/Input.d.ts.map +1 -1
  497. package/dist/types/components/Kpi/Kpi.styles.d.ts +3 -0
  498. package/dist/types/components/Kpi/Kpi.styles.d.ts.map +1 -1
  499. package/dist/types/components/Link/Link.d.ts +1 -1
  500. package/dist/types/components/Link/Link.d.ts.map +1 -1
  501. package/dist/types/components/List/List.d.ts +4 -4
  502. package/dist/types/components/List/List.d.ts.map +1 -1
  503. package/dist/types/components/ListContainer/ListContainer.d.ts +2 -2
  504. package/dist/types/components/ListContainer/ListContainer.d.ts.map +1 -1
  505. package/dist/types/components/ListContainer/ListItem/ListItem.d.ts +1 -1
  506. package/dist/types/components/ListContainer/ListItem/ListItem.d.ts.map +1 -1
  507. package/dist/types/components/Loading/Loading.styles.d.ts +1 -0
  508. package/dist/types/components/Loading/Loading.styles.d.ts.map +1 -1
  509. package/dist/types/components/MultiButton/MultiButton.d.ts +1 -1
  510. package/dist/types/components/MultiButton/MultiButton.d.ts.map +1 -1
  511. package/dist/types/components/OverflowTooltip/OverflowTooltip.d.ts +3 -2
  512. package/dist/types/components/OverflowTooltip/OverflowTooltip.d.ts.map +1 -1
  513. package/dist/types/components/Pagination/Pagination.d.ts +8 -6
  514. package/dist/types/components/Pagination/Pagination.d.ts.map +1 -1
  515. package/dist/types/components/Pagination/utils.d.ts +1 -1
  516. package/dist/types/components/Pagination/utils.d.ts.map +1 -1
  517. package/dist/types/components/ProgressBar/ProgressBar.d.ts +3 -2
  518. package/dist/types/components/ProgressBar/ProgressBar.d.ts.map +1 -1
  519. package/dist/types/components/ProgressBar/ProgressBar.styles.d.ts +1 -0
  520. package/dist/types/components/ProgressBar/ProgressBar.styles.d.ts.map +1 -1
  521. package/dist/types/components/SelectionList/SelectionList.d.ts +1 -1
  522. package/dist/types/components/SelectionList/SelectionList.d.ts.map +1 -1
  523. package/dist/types/components/Snackbar/Snackbar.d.ts +3 -2
  524. package/dist/types/components/Snackbar/Snackbar.d.ts.map +1 -1
  525. package/dist/types/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.d.ts +1 -1
  526. package/dist/types/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.d.ts.map +1 -1
  527. package/dist/types/components/Snackbar/SnackbarProvider/SnackbarProvider.d.ts +2 -1
  528. package/dist/types/components/Snackbar/SnackbarProvider/SnackbarProvider.d.ts.map +1 -1
  529. package/dist/types/components/Stack/Stack.d.ts +4 -3
  530. package/dist/types/components/Stack/Stack.d.ts.map +1 -1
  531. package/dist/types/components/Table/Table.d.ts +3 -3
  532. package/dist/types/components/Table/Table.d.ts.map +1 -1
  533. package/dist/types/components/Table/TableBody/TableBody.d.ts +2 -2
  534. package/dist/types/components/Table/TableBody/TableBody.d.ts.map +1 -1
  535. package/dist/types/components/Table/TableCell/TableCell.d.ts +8 -8
  536. package/dist/types/components/Table/TableCell/TableCell.d.ts.map +1 -1
  537. package/dist/types/components/Table/TableContainer/TableContainer.d.ts +2 -2
  538. package/dist/types/components/Table/TableContainer/TableContainer.d.ts.map +1 -1
  539. package/dist/types/components/Table/TableHead/TableHead.d.ts +2 -2
  540. package/dist/types/components/Table/TableHead/TableHead.d.ts.map +1 -1
  541. package/dist/types/components/Table/TableHeader/TableHeader.d.ts +11 -10
  542. package/dist/types/components/Table/TableHeader/TableHeader.d.ts.map +1 -1
  543. package/dist/types/components/Table/TableRow/TableRow.d.ts +2 -2
  544. package/dist/types/components/Table/TableRow/TableRow.d.ts.map +1 -1
  545. package/dist/types/components/Table/hooks/index.d.ts +12 -0
  546. package/dist/types/components/Table/hooks/index.d.ts.map +1 -1
  547. package/dist/types/components/Table/hooks/useBulkActions.d.ts +0 -1
  548. package/dist/types/components/Table/hooks/useBulkActions.d.ts.map +1 -1
  549. package/dist/types/components/Table/hooks/useHeaderGroups.d.ts +0 -12
  550. package/dist/types/components/Table/hooks/useHeaderGroups.d.ts.map +1 -1
  551. package/dist/types/components/Table/hooks/usePagination.d.ts +0 -1
  552. package/dist/types/components/Table/hooks/usePagination.d.ts.map +1 -1
  553. package/dist/types/components/Table/hooks/useResizeColumns.d.ts +0 -7
  554. package/dist/types/components/Table/hooks/useResizeColumns.d.ts.map +1 -1
  555. package/dist/types/components/Table/hooks/useRowExpand.d.ts +0 -10
  556. package/dist/types/components/Table/hooks/useRowExpand.d.ts.map +1 -1
  557. package/dist/types/components/Table/hooks/useRowSelection.d.ts +0 -7
  558. package/dist/types/components/Table/hooks/useRowSelection.d.ts.map +1 -1
  559. package/dist/types/components/Table/hooks/useSortBy.d.ts +0 -8
  560. package/dist/types/components/Table/hooks/useSortBy.d.ts.map +1 -1
  561. package/dist/types/components/Table/hooks/useSticky.d.ts +0 -18
  562. package/dist/types/components/Table/hooks/useSticky.d.ts.map +1 -1
  563. package/dist/types/components/Table/hooks/useTable.d.ts +4 -1
  564. package/dist/types/components/Table/hooks/useTable.d.ts.map +1 -1
  565. package/dist/types/components/Table/hooks/useTableStyles.d.ts +0 -7
  566. package/dist/types/components/Table/hooks/useTableStyles.d.ts.map +1 -1
  567. package/dist/types/components/Table/index.d.ts +1 -0
  568. package/dist/types/components/Table/index.d.ts.map +1 -1
  569. package/dist/types/components/Table/renderers/DateColumnCell/DateColumnCell.d.ts +10 -0
  570. package/dist/types/components/Table/renderers/DateColumnCell/DateColumnCell.d.ts.map +1 -0
  571. package/dist/types/components/Table/renderers/DateColumnCell/index.d.ts +2 -0
  572. package/dist/types/components/Table/renderers/DateColumnCell/index.d.ts.map +1 -0
  573. package/dist/types/components/Table/renderers/DropdownColumnCell/DropdownColumnCell.d.ts +17 -0
  574. package/dist/types/components/Table/renderers/DropdownColumnCell/DropdownColumnCell.d.ts.map +1 -0
  575. package/dist/types/components/Table/renderers/DropdownColumnCell/index.d.ts +2 -0
  576. package/dist/types/components/Table/renderers/DropdownColumnCell/index.d.ts.map +1 -0
  577. package/dist/types/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.d.ts +13 -0
  578. package/dist/types/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.d.ts.map +1 -0
  579. package/dist/types/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.styles.d.ts +13 -0
  580. package/dist/types/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.styles.d.ts.map +1 -0
  581. package/dist/types/components/Table/renderers/ProgressColumnCell/index.d.ts +3 -0
  582. package/dist/types/components/Table/renderers/ProgressColumnCell/index.d.ts.map +1 -0
  583. package/dist/types/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.d.ts +19 -0
  584. package/dist/types/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.d.ts.map +1 -0
  585. package/dist/types/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.styles.d.ts +28 -0
  586. package/dist/types/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.styles.d.ts.map +1 -0
  587. package/dist/types/components/Table/renderers/SwitchColumnCell/index.d.ts +2 -0
  588. package/dist/types/components/Table/renderers/SwitchColumnCell/index.d.ts.map +1 -0
  589. package/dist/types/components/Table/renderers/index.d.ts +6 -0
  590. package/dist/types/components/Table/renderers/index.d.ts.map +1 -0
  591. package/dist/types/components/Table/renderers/renderers.d.ts +9 -0
  592. package/dist/types/components/Table/renderers/renderers.d.ts.map +1 -0
  593. package/dist/types/components/Table/utils/utils.d.ts +8 -8
  594. package/dist/types/components/Tag/Tag.d.ts +3 -2
  595. package/dist/types/components/Tag/Tag.d.ts.map +1 -1
  596. package/dist/types/components/TagsInput/TagsInput.d.ts +1 -1
  597. package/dist/types/components/TagsInput/TagsInput.d.ts.map +1 -1
  598. package/dist/types/components/TagsInput/TagsInput.styles.d.ts +7 -124
  599. package/dist/types/components/TagsInput/TagsInput.styles.d.ts.map +1 -1
  600. package/dist/types/components/TagsInput/tagsInputClasses.d.ts.map +1 -1
  601. package/dist/types/components/TextArea/TextArea.styles.d.ts +1 -12
  602. package/dist/types/components/TextArea/TextArea.styles.d.ts.map +1 -1
  603. package/dist/types/components/Tooltip/Tooltip.d.ts +4 -4
  604. package/dist/types/components/Tooltip/Tooltip.d.ts.map +1 -1
  605. package/dist/types/components/Typography/Typography.d.ts +5 -0
  606. package/dist/types/components/Typography/Typography.d.ts.map +1 -1
  607. package/dist/types/components/Typography/index.d.ts +2 -0
  608. package/dist/types/components/Typography/index.d.ts.map +1 -1
  609. package/dist/types/components/Typography/typographyClasses.d.ts +36 -0
  610. package/dist/types/components/Typography/typographyClasses.d.ts.map +1 -0
  611. package/dist/types/components/index.d.ts +1 -0
  612. package/dist/types/components/index.d.ts.map +1 -1
  613. package/dist/types/index.d.ts +2 -1
  614. package/dist/types/index.d.ts.map +1 -1
  615. package/dist/types/providers/ThemeProvider.d.ts +8 -8
  616. package/dist/types/providers/ThemeProvider.d.ts.map +1 -1
  617. package/dist/types/types/generic.d.ts +25 -0
  618. package/dist/types/types/generic.d.ts.map +1 -0
  619. package/dist/types/types/index.d.ts +4 -24
  620. package/dist/types/types/index.d.ts.map +1 -1
  621. package/dist/types/types/theme.d.ts +7 -7
  622. package/dist/types/types/theme.d.ts.map +1 -1
  623. package/dist/types/types/tokens.d.ts +7 -0
  624. package/dist/types/types/tokens.d.ts.map +1 -1
  625. package/dist/types/utils/theme.d.ts +2 -2
  626. package/dist/types/utils/theme.d.ts.map +1 -1
  627. package/package.json +4 -4
  628. package/dist/cjs/components/Dropdown/List/dropdownListClasses.cjs.map +0 -1
  629. package/dist/esm/components/Dropdown/List/dropdownListClasses.js.map +0 -1
  630. package/dist/types/components/Dropdown/List/dropdownListClasses.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"DropZone.styles.js","sources":["../../../../../src/components/FileUploader/DropZone/DropZone.styles.tsx"],"sourcesContent":["import styled from \"@emotion/styled\";\nimport { Doc } from \"@hitachivantara/uikit-react-icons\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\nimport { HvInfoMessage, HvLabel, HvTypography } from \"components\";\nimport { CSSProperties } from \"react\";\nimport { outlineStyles } from \"utils\";\nimport { transientOptions } from \"utils/transientOptions\";\nimport dropZoneClasses from \"./dropZoneClasses\";\n\nexport const StyledDropZoneLabelsGroup = styled(\"div\")({\n display: \"flex\",\n justifyContent: \"start\",\n\n \"& label:nth-child(1)\": {},\n\n \"& p:nth-child(2)\": {\n marginLeft: \"auto\",\n },\n});\n\nexport const StyledLabel = styled(\n HvLabel,\n transientOptions\n)(({ $disabled }: { $disabled: boolean }) => ({\n paddingBottom: 6,\n\n ...($disabled && {\n color: theme.colors.atmo5,\n }),\n}));\n\nexport const StyledInfoMessage = styled(\n HvInfoMessage,\n transientOptions\n)(({ $disabled }: { $disabled: boolean }) => ({\n ...($disabled && {\n color: theme.colors.atmo5,\n }),\n}));\n\nexport const StyledDropZoneContainer = styled(\n \"div\",\n transientOptions\n)(({ $drag, $disabled }: { $drag: boolean; $disabled: boolean }) => ({\n position: \"relative\",\n width: \"100%\",\n display: \"flex\",\n border: `1px ${theme.fileUploader.dropZone.borderType} ${theme.fileUploader.dropZone.borderColor}`,\n cursor: \"pointer\",\n background: theme.fileUploader.dropZone.backgroundColor,\n borderRadius: theme.fileUploader.dropZone.borderRadius,\n\n \"&:hover\": {\n background: `${theme.colors.atmo1}`,\n border: `1px ${theme.fileUploader.dropZone.borderType} ${theme.colors.acce1}`,\n },\n\n \"&:focus\": {\n background: `${theme.colors.atmo1}`,\n border: `1px ${theme.fileUploader.dropZone.borderType} ${theme.colors.acce1}`,\n ...outlineStyles,\n },\n\n ...($drag && {\n background: `${theme.colors.atmo1}`,\n border: `1px ${theme.fileUploader.dropZone.borderType} ${theme.fileUploader.dropZone.borderColorDrag}`,\n }),\n\n ...($disabled && {\n [`&.${dropZoneClasses.dropZoneContainer}`]: {\n background: `${theme.colors.atmo3}`,\n border: `1px ${theme.fileUploader.dropZone.borderType} ${theme.fileUploader.dropZone.borderColorDisabled}`,\n cursor: \"not-allowed\",\n },\n\n [`& .${dropZoneClasses.dragText}`]: {\n color: theme.colors.atmo5,\n },\n\n [`& .${dropZoneClasses.selectFilesText}`]: {\n color: theme.colors.atmo5,\n },\n }),\n}));\n\nexport const StyledInput = styled(\"input\")({\n opacity: 0,\n width: \"100%\",\n position: \"absolute\",\n height: \"100%\",\n cursor: \"pointer\",\n\n \"&:disabled\": {\n cursor: \"not-allowed\",\n },\n});\n\nexport const StyledDropArea = styled(\"div\")({\n display: \"flex\",\n margin: `${theme.space.md} auto`,\n minHeight: 48,\n});\n\nexport const StyledDropAreaLabel = styled(\"div\")({\n display: \"flex\",\n width: 115,\n margin: \"auto\",\n});\n\nexport const StyledDragText = styled(HvTypography)({\n ...(theme.typography.body as CSSProperties),\n});\n\nexport const StyledDropAreaIcon = styled(Doc)({\n margin: \"auto\",\n marginRight: theme.space.xs,\n});\n\nexport const StyledDropAreaLabels = styled(\"div\")({\n display: \"flex\",\n width: 115,\n margin: \"auto\",\n});\n\nexport const StyledSelectedFilesText = styled(\"span\")({\n ...(theme.typography.label as CSSProperties),\n});\n"],"names":["StyledDropZoneLabelsGroup","process","env","NODE_ENV","target","label","name","styles","map","toString","_EMOTION_STRINGIFIED_CSS_ERROR__","StyledLabel","HvLabel","_extends","transientOptions","$disabled","paddingBottom","color","theme","colors","atmo5","StyledInfoMessage","HvInfoMessage","StyledDropZoneContainer","$drag","position","width","display","border","fileUploader","dropZone","borderType","borderColor","cursor","background","backgroundColor","borderRadius","atmo1","acce1","outlineStyles","borderColorDrag","dropZoneClasses","dropZoneContainer","atmo3","borderColorDisabled","dragText","selectFilesText","StyledInput","StyledDropArea","margin","space","md","minHeight","StyledDropAreaLabel","StyledDragText","HvTypography","typography","body","StyledDropAreaIcon","Doc","marginRight","xs","StyledDropAreaLabels","StyledSelectedFilesText"],"mappings":"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"}
1
+ {"version":3,"file":"DropZone.styles.js","sources":["../../../../../src/components/FileUploader/DropZone/DropZone.styles.tsx"],"sourcesContent":["import styled from \"@emotion/styled\";\nimport { Doc } from \"@hitachivantara/uikit-react-icons\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\nimport { HvInfoMessage, HvLabel, HvTypography } from \"components\";\nimport { CSSProperties } from \"react\";\nimport { outlineStyles } from \"utils\";\nimport { transientOptions } from \"utils/transientOptions\";\nimport dropZoneClasses from \"./dropZoneClasses\";\n\nexport const StyledDropZoneLabelsGroup = styled(\"div\")({\n display: \"flex\",\n justifyContent: \"start\",\n\n \"& label:nth-of-type(1)\": {},\n\n \"& p:nth-of-type(2)\": {\n marginLeft: \"auto\",\n },\n});\n\nexport const StyledLabel = styled(\n HvLabel,\n transientOptions\n)(({ $disabled }: { $disabled: boolean }) => ({\n paddingBottom: 6,\n\n ...($disabled && {\n color: theme.colors.atmo5,\n }),\n}));\n\nexport const StyledInfoMessage = styled(\n HvInfoMessage,\n transientOptions\n)(({ $disabled }: { $disabled: boolean }) => ({\n ...($disabled && {\n color: theme.colors.atmo5,\n }),\n}));\n\nexport const StyledDropZoneContainer = styled(\n \"div\",\n transientOptions\n)(({ $drag, $disabled }: { $drag: boolean; $disabled: boolean }) => ({\n position: \"relative\",\n width: \"100%\",\n display: \"flex\",\n border: `1px ${theme.fileUploader.dropZone.borderType} ${theme.fileUploader.dropZone.borderColor}`,\n cursor: \"pointer\",\n background: theme.fileUploader.dropZone.backgroundColor,\n borderRadius: theme.fileUploader.dropZone.borderRadius,\n\n \"&:hover\": {\n background: `${theme.colors.atmo1}`,\n border: `1px ${theme.fileUploader.dropZone.borderType} ${theme.colors.acce1}`,\n },\n\n \"&:focus\": {\n background: `${theme.colors.atmo1}`,\n border: `1px ${theme.fileUploader.dropZone.borderType} ${theme.colors.acce1}`,\n ...outlineStyles,\n },\n\n ...($drag && {\n background: `${theme.colors.atmo1}`,\n border: `1px ${theme.fileUploader.dropZone.borderType} ${theme.fileUploader.dropZone.borderColorDrag}`,\n }),\n\n ...($disabled && {\n [`&.${dropZoneClasses.dropZoneContainer}`]: {\n background: `${theme.colors.atmo3}`,\n border: `1px ${theme.fileUploader.dropZone.borderType} ${theme.fileUploader.dropZone.borderColorDisabled}`,\n cursor: \"not-allowed\",\n },\n\n [`& .${dropZoneClasses.dragText}`]: {\n color: theme.colors.atmo5,\n },\n\n [`& .${dropZoneClasses.selectFilesText}`]: {\n color: theme.colors.atmo5,\n },\n }),\n}));\n\nexport const StyledInput = styled(\"input\")({\n opacity: 0,\n width: \"100%\",\n position: \"absolute\",\n height: \"100%\",\n cursor: \"pointer\",\n\n \"&:disabled\": {\n cursor: \"not-allowed\",\n },\n});\n\nexport const StyledDropArea = styled(\"div\")({\n display: \"flex\",\n margin: `${theme.space.md} auto`,\n minHeight: 48,\n});\n\nexport const StyledDropAreaLabel = styled(\"div\")({\n display: \"flex\",\n width: 115,\n margin: \"auto\",\n});\n\nexport const StyledDragText = styled(HvTypography)({\n ...(theme.typography.body as CSSProperties),\n});\n\nexport const StyledDropAreaIcon = styled(Doc)({\n margin: \"auto\",\n marginRight: theme.space.xs,\n});\n\nexport const StyledDropAreaLabels = styled(\"div\")({\n display: \"flex\",\n width: 115,\n margin: \"auto\",\n});\n\nexport const StyledSelectedFilesText = styled(\"span\")({\n ...(theme.typography.label as CSSProperties),\n});\n"],"names":["StyledDropZoneLabelsGroup","process","env","NODE_ENV","target","label","name","styles","map","toString","_EMOTION_STRINGIFIED_CSS_ERROR__","StyledLabel","HvLabel","_extends","transientOptions","$disabled","paddingBottom","color","theme","colors","atmo5","StyledInfoMessage","HvInfoMessage","StyledDropZoneContainer","$drag","position","width","display","border","fileUploader","dropZone","borderType","borderColor","cursor","background","backgroundColor","borderRadius","atmo1","acce1","outlineStyles","borderColorDrag","dropZoneClasses","dropZoneContainer","atmo3","borderColorDisabled","dragText","selectFilesText","StyledInput","StyledDropArea","margin","space","md","minHeight","StyledDropAreaLabel","StyledDragText","HvTypography","typography","body","StyledDropAreaIcon","Doc","marginRight","xs","StyledDropAreaLabels","StyledSelectedFilesText"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AASO,MAAMA,4BAAmC,wBAAA,OAAKC,QAAAC,IAAAC,aAAA,eAAA;AAAA,EAAAC,QAAA;AAAA,IAAA;AAAA,EAAAA,QAAA;AAAA,EAAAC,OAAA;AAAA,CAAA,EAACJ,QAAAC,IAAAC,aAAA,eAAA;AAAA,EAAAG,MAAA;AAAA,EAAAC,QAAA;AAAA,IAAA;AAAA,EAAAD,MAAA;AAAA,EAAAC,QAAA;AAAA,EAAAC,KAAA;AAAA,EAAAC,UAAAC;AAAA,CASpD;AAEWC,MAAAA,sCACXC,SAAOX,QAAAC,IAAAC,4BAAAU,SAAA,IAAA;AAAA,EAAAT,QAAA;AAAA,GACPU,gBAAgB,IAAAD,SAAA,IAAA;AAAA,EAAAT,QAAA;AAAA,EAAAC,OAAA;AAAA,GAAhBS,gBAAgB,CACjB,EAAC,CAAC;AAAA,EAAEC;AAAkC,OAAO;AAAA,EAC5CC,eAAe;AAAA,EAEf,GAAID,aAAa;AAAA,IACfE,OAAOC,MAAMC,OAAOC;AAAAA,EACtB;AACF,IAAEnB,QAAAC,IAAAC,aAAC,eAAA,KAAA,68JAAA;AAEUkB,MAAAA,4CACXC,eAAarB,QAAAC,IAAAC,4BAAAU,SAAA,IAAA;AAAA,EAAAT,QAAA;AAAA,GACbU,gBAAgB,IAAAD,SAAA,IAAA;AAAA,EAAAT,QAAA;AAAA,EAAAC,OAAA;AAAA,GAAhBS,gBAAgB,CACjB,EAAC,CAAC;AAAA,EAAEC;AAAkC,OAAO;AAAA,EAC5C,GAAIA,aAAa;AAAA,IACfE,OAAOC,MAAMC,OAAOC;AAAAA,EACtB;AACF,IAAEnB,QAAAC,IAAAC,aAAC,eAAA,KAAA,68JAAA;AAEUoB,MAAAA,kDACX,OAAKtB,QAAAC,IAAAC,4BAAAU,SAAA,IAAA;AAAA,EAAAT,QAAA;AAAA,GACLU,gBAAgB,IAAAD,SAAA,IAAA;AAAA,EAAAT,QAAA;AAAA,EAAAC,OAAA;AAAA,GAAhBS,gBAAgB,CACjB,EAAC,CAAC;AAAA,EAAEU;AAAAA,EAAOT;AAAkD,OAAO;AAAA,EACnEU,UAAU;AAAA,EACVC,OAAO;AAAA,EACPC,SAAS;AAAA,EACTC,QAAS,OAAMV,MAAMW,aAAaC,SAASC,cAAcb,MAAMW,aAAaC,SAASE;AAAAA,EACrFC,QAAQ;AAAA,EACRC,YAAYhB,MAAMW,aAAaC,SAASK;AAAAA,EACxCC,cAAclB,MAAMW,aAAaC,SAASM;AAAAA,EAE1C,WAAW;AAAA,IACTF,YAAa,GAAEhB,MAAMC,OAAOkB;AAAAA,IAC5BT,QAAS,OAAMV,MAAMW,aAAaC,SAASC,cAAcb,MAAMC,OAAOmB;AAAAA,EACxE;AAAA,EAEA,WAAW;AAAA,IACTJ,YAAa,GAAEhB,MAAMC,OAAOkB;AAAAA,IAC5BT,QAAS,OAAMV,MAAMW,aAAaC,SAASC,cAAcb,MAAMC,OAAOmB;AAAAA,IACtE,GAAGC;AAAAA,EACL;AAAA,EAEA,GAAIf,SAAS;AAAA,IACXU,YAAa,GAAEhB,MAAMC,OAAOkB;AAAAA,IAC5BT,QAAS,OAAMV,MAAMW,aAAaC,SAASC,cAAcb,MAAMW,aAAaC,SAASU;AAAAA,EACvF;AAAA,EAEA,GAAIzB,aAAa;AAAA,IACf,CAAE,KAAI0B,gBAAgBC,sBAAsB;AAAA,MAC1CR,YAAa,GAAEhB,MAAMC,OAAOwB;AAAAA,MAC5Bf,QAAS,OAAMV,MAAMW,aAAaC,SAASC,cAAcb,MAAMW,aAAaC,SAASc;AAAAA,MACrFX,QAAQ;AAAA,IACV;AAAA,IAEA,CAAE,MAAKQ,gBAAgBI,aAAa;AAAA,MAClC5B,OAAOC,MAAMC,OAAOC;AAAAA,IACtB;AAAA,IAEA,CAAE,MAAKqB,gBAAgBK,oBAAoB;AAAA,MACzC7B,OAAOC,MAAMC,OAAOC;AAAAA,IACtB;AAAA,EACF;AACF,IAAEnB,QAAAC,IAAAC,aAAC,eAAA,KAAA,68JAAA;AAEI,MAAM4C,cAAqB,wBAAA,SAAO9C,QAAAC,IAAAC,aAAA,eAAA;AAAA,EAAAC,QAAA;AAAA,IAAA;AAAA,EAAAA,QAAA;AAAA,EAAAC,OAAA;AAAA,CAAA,EAACJ,QAAAC,IAAAC,aAAA,eAAA;AAAA,EAAAG,MAAA;AAAA,EAAAC,QAAA;AAAA,IAAA;AAAA,EAAAD,MAAA;AAAA,EAAAC,QAAA;AAAA,EAAAC,KAAA;AAAA,EAAAC,UAAAC;AAAA,CAUxC;AAEK,MAAMsC,iBAAwB,wBAAA,OAAK/C,QAAAC,IAAAC,aAAA,eAAA;AAAA,EAAAC,QAAA;AAAA,IAAA;AAAA,EAAAA,QAAA;AAAA,EAAAC,OAAA;AAAA,CAAA,EAAE;AAAA,EAC1CsB,SAAS;AAAA,EACTsB,QAAS,GAAE/B,MAAMgC,MAAMC;AAAAA,EACvBC,WAAW;AACb,GAACnD,QAAAC,IAAAC,aAAC,eAAA,KAAA,68JAAA;AAEK,MAAMkD,sBAA6B,wBAAA,OAAKpD,QAAAC,IAAAC,aAAA,eAAA;AAAA,EAAAC,QAAA;AAAA,IAAA;AAAA,EAAAA,QAAA;AAAA,EAAAC,OAAA;AAAA,CAAA,EAACJ,QAAAC,IAAAC,aAAA,eAAA;AAAA,EAAAG,MAAA;AAAA,EAAAC,QAAA;AAAA,IAAA;AAAA,EAAAD,MAAA;AAAA,EAAAC,QAAA;AAAA,EAAAC,KAAA;AAAA,EAAAC,UAAAC;AAAA,CAI9C;AAEK,MAAM4C,iBAAwBC,wBAAAA,cAAYtD,QAAAC,IAAAC,aAAA,eAAA;AAAA,EAAAC,QAAA;AAAA,IAAA;AAAA,EAAAA,QAAA;AAAA,EAAAC,OAAA;AAAA,CAAA,EAAE;AAAA,EACjD,GAAIa,MAAMsC,WAAWC;AACvB,GAACxD,QAAAC,IAAAC,aAAC,eAAA,KAAA,68JAAA;AAEK,MAAMuD,qBAA4BC,wBAAAA,KAAG1D,QAAAC,IAAAC,aAAA,eAAA;AAAA,EAAAC,QAAA;AAAA,IAAA;AAAA,EAAAA,QAAA;AAAA,EAAAC,OAAA;AAAA,CAAA,EAAE;AAAA,EAC5C4C,QAAQ;AAAA,EACRW,aAAa1C,MAAMgC,MAAMW;AAC3B,GAAC5D,QAAAC,IAAAC,aAAC,eAAA,KAAA,68JAAA;AAEK,MAAM2D,uBAA8B,wBAAA,OAAK7D,QAAAC,IAAAC,aAAA,eAAA;AAAA,EAAAC,QAAA;AAAA,IAAA;AAAA,EAAAA,QAAA;AAAA,EAAAC,OAAA;AAAA,CAAA,EAACJ,QAAAC,IAAAC,aAAA,eAAA;AAAA,EAAAG,MAAA;AAAA,EAAAC,QAAA;AAAA,IAAA;AAAA,EAAAD,MAAA;AAAA,EAAAC,QAAA;AAAA,EAAAC,KAAA;AAAA,EAAAC,UAAAC;AAAA,CAI/C;AAEK,MAAMqD,0BAAiC,wBAAA,QAAM9D,QAAAC,IAAAC,aAAA,eAAA;AAAA,EAAAC,QAAA;AAAA,IAAA;AAAA,EAAAA,QAAA;AAAA,EAAAC,OAAA;AAAA,CAAA,EAAE;AAAA,EACpD,GAAIa,MAAMsC,WAAWnD;AACvB,GAACJ,QAAAC,IAAAC,aAAC,eAAA,KAAA,68JAAA;"}
@@ -1 +1 @@
1
- {"version":3,"file":"File.js","sources":["../../../../../src/components/FileUploader/File/File.tsx"],"sourcesContent":["import { Close } from \"@hitachivantara/uikit-react-icons\";\nimport clsx from \"clsx\";\nimport { setId } from \"utils\";\nimport fileClasses, { HvFileClasses } from \"./fileClasses\";\nimport { HvTypography } from \"components\";\nimport { convertUnits } from \"../utils\";\nimport {\n StyledFail,\n StyledErrorMessage,\n StyledSuccess,\n StyledProgressBarBack,\n StyledProgressBar,\n StyledNameText,\n StyledProgressTextContainer,\n StyledPreviewContainer,\n StyledIconButton,\n StyledEmptyIcon,\n} from \"./File.styles\";\n\nexport type HvFileData = File & {\n /**\n * The file id.\n */\n id?: string;\n /**\n * The file name.\n */\n name?: string;\n /**\n * The upload status.\n */\n status?: \"progress\" | \"success\" | \"fail\";\n /**\n * The file size in bytes.\n */\n size?: number;\n /**\n * Upload progress in bytes.\n */\n progress?: number;\n /**\n * Optional node representing a preview of the uploaded file.\n */\n preview?: React.ReactNode;\n /**\n * Error message when the upload failed.\n */\n errorMessage?: string;\n};\n\nexport type HvFilesAddedEvent = (files: HvFileData[]) => void;\n\nexport type HvFileRemovedEvent = (file: HvFileData) => void;\n\nexport type HvFileProps = {\n /**\n * Id to be applied to the root node.\n */\n id?: string;\n /**\n * File information to be displayed.\n */\n data: HvFileData;\n /**\n * Callback fired when file is removed from list.\n */\n onFileRemoved?: HvFileRemovedEvent;\n /**\n * Value of aria-label to apply to remove file button in file list.\n * */\n removeFileButtonLabel?: string;\n /**\n * A Jss Object used to override or extend the styles applied to the Switch Component.\n */\n classes?: HvFileClasses;\n};\n\nconst getStatusIcon = (\n classes?: HvFileClasses,\n status?: HvFileData[\"status\"]\n) => {\n switch (status) {\n case \"success\":\n return (\n <StyledSuccess\n className={clsx(classes?.icon, fileClasses.icon)}\n color=\"sema1\"\n />\n );\n case \"fail\":\n return (\n <StyledFail\n className={clsx(classes?.icon, fileClasses.icon)}\n color=\"sema4\"\n />\n );\n default:\n return (\n <StyledEmptyIcon className={clsx(classes?.icon, fileClasses.icon)} />\n );\n }\n};\n\nconst getProgressText = (data: HvFileData, classes?: HvFileClasses) => {\n const hasFailed = data.status === \"fail\";\n const inProgress = data.status === \"progress\";\n\n return (\n <>\n {data.progress || data.size || data.errorMessage ? `\\xa0|\\xa0` : null}\n\n {inProgress && data.progress != null && (\n <HvTypography variant=\"label\">\n {`${convertUnits(data.progress)}\\xa0/\\xa0`}\n </HvTypography>\n )}\n\n {!hasFailed && data.size && (\n <HvTypography>{`${convertUnits(data.size)}`}</HvTypography>\n )}\n\n {hasFailed && data.errorMessage && (\n <StyledErrorMessage className={clsx(classes?.fail, fileClasses.fail)}>\n {data.errorMessage}\n </StyledErrorMessage>\n )}\n </>\n );\n};\n\nconst getProgressBarWith = ({ size, progress }: HvFileData) => {\n const width =\n progress != null && size != null ? Math.round((progress * 100) / size) : 0;\n\n return width;\n};\n\nexport const HvFile = ({\n id,\n classes,\n data,\n onFileRemoved,\n removeFileButtonLabel,\n}: HvFileProps) => {\n const hasError = data.status === \"fail\";\n\n const inProgress = data.status === \"progress\";\n\n const progressText = getProgressText(data, classes);\n\n const statusIcon = getStatusIcon(classes, data.status);\n\n const currentProgress = getProgressBarWith(data);\n\n return (\n <li className={clsx(classes?.root, fileClasses.root)}>\n {!hasError && inProgress && (\n <StyledProgressBarBack\n className={clsx(\n classes?.progressbarBack,\n fileClasses.progressbarBack\n )}\n />\n )}\n\n {!hasError && inProgress && (\n <StyledProgressBar\n className={clsx(classes?.progressbar, fileClasses.progressbar)}\n aria-valuemin={0}\n aria-valuemax={100}\n aria-valuenow={currentProgress}\n style={{ width: `${currentProgress}%` }}\n />\n )}\n\n {statusIcon}\n\n <StyledNameText\n className={clsx(classes?.nameText, fileClasses.nameText)}\n variant=\"label\"\n >\n {data.name}\n </StyledNameText>\n\n <StyledProgressTextContainer\n className={clsx(\n classes?.progressTextContainer,\n fileClasses.progressTextContainer\n )}\n >\n {progressText}\n </StyledProgressTextContainer>\n\n {data.preview && (\n <StyledPreviewContainer\n className={clsx(\n classes?.previewContainer,\n fileClasses.previewContainer\n )}\n >\n {data.preview}\n </StyledPreviewContainer>\n )}\n\n <StyledIconButton\n id={setId(id, \"remove-button\")}\n aria-label={removeFileButtonLabel}\n className={clsx(classes?.removeButton, fileClasses.removeButton)}\n onClick={() => onFileRemoved?.(data)}\n variant=\"secondaryGhost\"\n icon\n >\n <Close iconSize=\"XS\" />\n </StyledIconButton>\n </li>\n );\n};\n"],"names":["getStatusIcon","classes","status","StyledSuccess","className","clsx","icon","fileClasses","color","StyledFail","StyledEmptyIcon","getProgressText","data","hasFailed","inProgress","_Fragment","children","progress","size","errorMessage","HvTypography","variant","convertUnits","StyledErrorMessage","fail","getProgressBarWith","width","Math","round","HvFile","id","onFileRemoved","removeFileButtonLabel","hasError","progressText","statusIcon","currentProgress","root","StyledProgressBarBack","progressbarBack","StyledProgressBar","progressbar","style","_jsx","StyledNameText","nameText","name","StyledProgressTextContainer","progressTextContainer","preview","StyledPreviewContainer","previewContainer","StyledIconButton","setId","removeButton","onClick","Close","iconSize"],"mappings":"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"}
1
+ {"version":3,"file":"File.js","sources":["../../../../../src/components/FileUploader/File/File.tsx"],"sourcesContent":["import { Close } from \"@hitachivantara/uikit-react-icons\";\nimport clsx from \"clsx\";\nimport { setId } from \"utils\";\nimport fileClasses, { HvFileClasses } from \"./fileClasses\";\nimport { HvTypography } from \"components\";\nimport { convertUnits } from \"../utils\";\nimport {\n StyledFail,\n StyledErrorMessage,\n StyledSuccess,\n StyledProgressBarBack,\n StyledProgressBar,\n StyledNameText,\n StyledProgressTextContainer,\n StyledPreviewContainer,\n StyledIconButton,\n StyledEmptyIcon,\n} from \"./File.styles\";\n\nexport type HvFileData = File & {\n /**\n * The file id.\n */\n id?: string;\n /**\n * The file name.\n */\n name?: string;\n /**\n * The upload status.\n */\n status?: \"progress\" | \"success\" | \"fail\";\n /**\n * The file size in bytes.\n */\n size?: number;\n /**\n * Upload progress in bytes.\n */\n progress?: number;\n /**\n * Optional node representing a preview of the uploaded file.\n */\n preview?: React.ReactNode;\n /**\n * Error message when the upload failed.\n */\n errorMessage?: string;\n};\n\nexport type HvFilesAddedEvent = (files: HvFileData[]) => void;\n\nexport type HvFileRemovedEvent = (file: HvFileData) => void;\n\nexport type HvFileProps = {\n /**\n * Id to be applied to the root node.\n */\n id?: string;\n /**\n * File information to be displayed.\n */\n data: HvFileData;\n /**\n * Callback fired when file is removed from list.\n */\n onFileRemoved?: HvFileRemovedEvent;\n /**\n * Value of aria-label to apply to remove file button in file list.\n * */\n removeFileButtonLabel?: string;\n /**\n * A Jss Object used to override or extend the styles applied to the component.\n */\n classes?: HvFileClasses;\n};\n\nconst getStatusIcon = (\n classes?: HvFileClasses,\n status?: HvFileData[\"status\"]\n) => {\n switch (status) {\n case \"success\":\n return (\n <StyledSuccess\n className={clsx(classes?.icon, fileClasses.icon)}\n color=\"sema1\"\n />\n );\n case \"fail\":\n return (\n <StyledFail\n className={clsx(classes?.icon, fileClasses.icon)}\n color=\"sema4\"\n />\n );\n default:\n return (\n <StyledEmptyIcon className={clsx(classes?.icon, fileClasses.icon)} />\n );\n }\n};\n\nconst getProgressText = (data: HvFileData, classes?: HvFileClasses) => {\n const hasFailed = data.status === \"fail\";\n const inProgress = data.status === \"progress\";\n\n return (\n <>\n {data.progress || data.size || data.errorMessage ? `\\xa0|\\xa0` : null}\n\n {inProgress && data.progress != null && (\n <HvTypography variant=\"label\">\n {`${convertUnits(data.progress)}\\xa0/\\xa0`}\n </HvTypography>\n )}\n\n {!hasFailed && data.size && (\n <HvTypography>{`${convertUnits(data.size)}`}</HvTypography>\n )}\n\n {hasFailed && data.errorMessage && (\n <StyledErrorMessage className={clsx(classes?.fail, fileClasses.fail)}>\n {data.errorMessage}\n </StyledErrorMessage>\n )}\n </>\n );\n};\n\nconst getProgressBarWith = ({ size, progress }: HvFileData) => {\n const width =\n progress != null && size != null ? Math.round((progress * 100) / size) : 0;\n\n return width;\n};\n\nexport const HvFile = ({\n id,\n classes,\n data,\n onFileRemoved,\n removeFileButtonLabel,\n}: HvFileProps) => {\n const hasError = data.status === \"fail\";\n\n const inProgress = data.status === \"progress\";\n\n const progressText = getProgressText(data, classes);\n\n const statusIcon = getStatusIcon(classes, data.status);\n\n const currentProgress = getProgressBarWith(data);\n\n return (\n <li className={clsx(classes?.root, fileClasses.root)}>\n {!hasError && inProgress && (\n <StyledProgressBarBack\n className={clsx(\n classes?.progressbarBack,\n fileClasses.progressbarBack\n )}\n />\n )}\n\n {!hasError && inProgress && (\n <StyledProgressBar\n className={clsx(classes?.progressbar, fileClasses.progressbar)}\n aria-valuemin={0}\n aria-valuemax={100}\n aria-valuenow={currentProgress}\n style={{ width: `${currentProgress}%` }}\n />\n )}\n\n {statusIcon}\n\n <StyledNameText\n className={clsx(classes?.nameText, fileClasses.nameText)}\n variant=\"label\"\n >\n {data.name}\n </StyledNameText>\n\n <StyledProgressTextContainer\n className={clsx(\n classes?.progressTextContainer,\n fileClasses.progressTextContainer\n )}\n >\n {progressText}\n </StyledProgressTextContainer>\n\n {data.preview && (\n <StyledPreviewContainer\n className={clsx(\n classes?.previewContainer,\n fileClasses.previewContainer\n )}\n >\n {data.preview}\n </StyledPreviewContainer>\n )}\n\n <StyledIconButton\n id={setId(id, \"remove-button\")}\n aria-label={removeFileButtonLabel}\n className={clsx(classes?.removeButton, fileClasses.removeButton)}\n onClick={() => onFileRemoved?.(data)}\n variant=\"secondaryGhost\"\n icon\n >\n <Close iconSize=\"XS\" />\n </StyledIconButton>\n </li>\n );\n};\n"],"names":["getStatusIcon","classes","status","StyledSuccess","className","clsx","icon","fileClasses","color","StyledFail","StyledEmptyIcon","getProgressText","data","hasFailed","inProgress","_Fragment","children","progress","size","errorMessage","HvTypography","variant","convertUnits","StyledErrorMessage","fail","getProgressBarWith","width","Math","round","HvFile","id","onFileRemoved","removeFileButtonLabel","hasError","progressText","statusIcon","currentProgress","root","StyledProgressBarBack","progressbarBack","StyledProgressBar","progressbar","style","_jsx","StyledNameText","nameText","name","StyledProgressTextContainer","progressTextContainer","preview","StyledPreviewContainer","previewContainer","StyledIconButton","setId","removeButton","onClick","Close","iconSize"],"mappings":";;;;;;;;AA6EA,MAAMA,gBAAgBA,CACpBC,SACAC,WACG;AACH,UAAQA,QAAM;AAAA,IACZ,KAAK;AACH,iCACGC,eAAa;AAAA,QACZC,WAAWC,KAAKJ,mCAASK,MAAMC,YAAYD,IAAI;AAAA,QAC/CE,OAAM;AAAA,MAAA,CACN;AAAA,IAEN,KAAK;AACH,iCACGC,YAAU;AAAA,QACTL,WAAWC,KAAKJ,mCAASK,MAAMC,YAAYD,IAAI;AAAA,QAC/CE,OAAM;AAAA,MAAA,CACN;AAAA,IAEN;AACE,iCACGE,iBAAe;AAAA,QAACN,WAAWC,KAAKJ,mCAASK,MAAMC,YAAYD,IAAI;AAAA,MAAA,CAAK;AAAA,EACrE;AAER;AAEA,MAAMK,kBAAkBA,CAACC,MAAkBX,YAA4B;AAC/DY,QAAAA,YAAYD,KAAKV,WAAW;AAC5BY,QAAAA,aAAaF,KAAKV,WAAW;AAEnC,8BACEa,UAAA;AAAA,IAAAC,UAAA,CACGJ,KAAKK,YAAYL,KAAKM,QAAQN,KAAKO,eAAgB,cAAa,MAEhEL,cAAcF,KAAKK,YAAY,4BAC7BG,cAAY;AAAA,MAACC,SAAQ;AAAA,MAAOL,UACzB,GAAEM,aAAaV,KAAKK,QAAQ;AAAA,IAAA,CAEjC,GAEA,CAACJ,aAAaD,KAAKM,4BACjBE,cAAY;AAAA,MAAAJ,UAAG,GAAEM,aAAaV,KAAKM,IAAI;AAAA,IACzC,CAAA,GAEAL,aAAaD,KAAKO,oCAChBI,oBAAkB;AAAA,MAACnB,WAAWC,KAAKJ,mCAASuB,MAAMjB,YAAYiB,IAAI;AAAA,MAAER,UAClEJ,KAAKO;AAAAA,IAAAA,CAET,CAAA;AAAA,EAAA,CACA;AAEP;AAEA,MAAMM,qBAAqBA,CAAC;AAAA,EAAEP;AAAAA,EAAMD;AAAqB,MAAM;AACvDS,QAAAA,QACJT,YAAY,QAAQC,QAAQ,OAAOS,KAAKC,MAAOX,WAAW,MAAOC,IAAI,IAAI;AAEpEQ,SAAAA;AACT;AAEO,MAAMG,SAASA,CAAC;AAAA,EACrBC;AAAAA,EACA7B;AAAAA,EACAW;AAAAA,EACAmB;AAAAA,EACAC;AACW,MAAM;AACXC,QAAAA,WAAWrB,KAAKV,WAAW;AAE3BY,QAAAA,aAAaF,KAAKV,WAAW;AAE7BgC,QAAAA,eAAevB,gBAAgBC,MAAMX,OAAO;AAElD,QAAMkC,aAAanC,cAAcC,SAASW,KAAKV,MAAM;AAE/CkC,QAAAA,kBAAkBX,mBAAmBb,IAAI;AAE/C,8BACE,MAAA;AAAA,IAAIR,WAAWC,KAAKJ,mCAASoC,MAAM9B,YAAY8B,IAAI;AAAA,IAAErB,UAAA,CAClD,CAACiB,YAAYnB,kCACXwB,uBAAqB;AAAA,MACpBlC,WAAWC,KACTJ,mCAASsC,iBACThC,YAAYgC,eAAe;AAAA,IAGhC,CAAA,GAEA,CAACN,YAAYnB,kCACX0B,mBAAiB;AAAA,MAChBpC,WAAWC,KAAKJ,mCAASwC,aAAalC,YAAYkC,WAAW;AAAA,MAC7D,iBAAe;AAAA,MACf,iBAAe;AAAA,MACf,iBAAeL;AAAAA,MACfM,OAAO;AAAA,QAAEhB,OAAQ,GAAEU;AAAAA,MAAmB;AAAA,IAAA,CAAE,GAI3CD,YAEDQ,oBAACC,gBAAc;AAAA,MACbxC,WAAWC,KAAKJ,mCAAS4C,UAAUtC,YAAYsC,QAAQ;AAAA,MACvDxB,SAAQ;AAAA,MAAOL,UAEdJ,KAAKkC;AAAAA,IAAAA,CACS,GAEjBH,oBAACI,6BAA2B;AAAA,MAC1B3C,WAAWC,KACTJ,mCAAS+C,uBACTzC,YAAYyC,qBAAqB;AAAA,MACjChC,UAEDkB;AAAAA,IAAY,CAAA,GAGdtB,KAAKqC,+BACHC,wBAAsB;AAAA,MACrB9C,WAAWC,KACTJ,mCAASkD,kBACT5C,YAAY4C,gBAAgB;AAAA,MAC5BnC,UAEDJ,KAAKqC;AAAAA,IAAAA,CAET,GAEDN,oBAACS,kBAAgB;AAAA,MACftB,IAAIuB,MAAMvB,IAAI,eAAe;AAAA,MAC7B,cAAYE;AAAAA,MACZ5B,WAAWC,KAAKJ,mCAASqD,cAAc/C,YAAY+C,YAAY;AAAA,MAC/DC,SAASA,MAAMxB,+CAAgBnB;AAAAA,MAC/BS,SAAQ;AAAA,MACRf,MAAI;AAAA,MAAAU,8BAEHwC,OAAK;AAAA,QAACC,UAAS;AAAA,MAAA,CAAI;AAAA,IAAA,CACH,CAAA;AAAA,EAAA,CAChB;AAET;"}
@@ -1 +1 @@
1
- {"version":3,"file":"FileList.js","sources":["../../../../../src/components/FileUploader/FileList/FileList.tsx"],"sourcesContent":["import { HvFile, HvFileData, HvFileRemovedEvent } from \"../File\";\nimport fileListClasses, { HvFileListClasses } from \"./fileListClasses\";\nimport { useUniqueId } from \"hooks\";\nimport { setId } from \"utils\";\nimport { StyledList } from \"./FileList.styles\";\nimport clsx from \"clsx\";\n\nexport type HvFileListProps = {\n /**\n * Id to be applied to the root node.\n */\n id?: string;\n /**\n * The files to upload.\n */\n list?: HvFileData[];\n /**\n * Callback fired when file is removed from list.\n */\n onFileRemoved?: HvFileRemovedEvent;\n /**\n * Value of aria-label to apply to remove file button in FileList\n * */\n removeFileButtonLabel?: string;\n /**\n * A Jss Object used to override or extend the styles applied to the Switch Component.\n */\n classes?: HvFileListClasses;\n};\n\nexport const HvFileList = ({\n id,\n classes,\n list = [],\n removeFileButtonLabel,\n onFileRemoved,\n}: HvFileListProps) => {\n const elementId = useUniqueId(id, \"hvfilelist\");\n\n const hasFiles = list.length > 0;\n if (!hasFiles) return null;\n\n return (\n <StyledList\n id={setId(id, \"list\")}\n className={clsx(classes?.list, fileListClasses.list)}\n >\n {list.map((data) => (\n <HvFile\n key={data.id}\n classes={{ root: clsx(classes?.listItem, fileListClasses.listItem) }}\n id={setId(elementId, \"values\")}\n data={data}\n onFileRemoved={onFileRemoved}\n removeFileButtonLabel={removeFileButtonLabel}\n />\n ))}\n </StyledList>\n );\n};\n"],"names":["HvFileList","id","classes","list","removeFileButtonLabel","onFileRemoved","elementId","useUniqueId","hasFiles","length","StyledList","setId","className","clsx","fileListClasses","children","map","data","HvFile","root","listItem"],"mappings":";;;;;;;AA8BO,MAAMA,aAAaA,CAAC;AAAA,EACzBC;AAAAA,EACAC;AAAAA,EACAC,OAAO,CAAE;AAAA,EACTC;AAAAA,EACAC;AACe,MAAM;AACfC,QAAAA,YAAYC,YAAYN,IAAI,YAAY;AAExCO,QAAAA,WAAWL,KAAKM,SAAS;AAC/B,MAAI,CAACD;AAAiB,WAAA;AAEtB,6BACGE,YAAU;AAAA,IACTT,IAAIU,MAAMV,IAAI,MAAM;AAAA,IACpBW,WAAWC,KAAKX,mCAASC,MAAMW,gBAAgBX,IAAI;AAAA,IAAEY,UAEpDZ,KAAKa,IAAKC,CAAAA,6BACRC,QAAM;AAAA,MAELhB,SAAS;AAAA,QAAEiB,MAAMN,KAAKX,mCAASkB,UAAUN,gBAAgBM,QAAQ;AAAA,MAAE;AAAA,MACnEnB,IAAIU,MAAML,WAAW,QAAQ;AAAA,MAC7BW;AAAAA,MACAZ;AAAAA,MACAD;AAAAA,IAAAA,GALKa,KAAKhB,EAAE,CAOf;AAAA,EAAA,CACU;AAEjB;"}
1
+ {"version":3,"file":"FileList.js","sources":["../../../../../src/components/FileUploader/FileList/FileList.tsx"],"sourcesContent":["import { HvFile, HvFileData, HvFileRemovedEvent } from \"../File\";\nimport fileListClasses, { HvFileListClasses } from \"./fileListClasses\";\nimport { useUniqueId } from \"hooks\";\nimport { setId } from \"utils\";\nimport { StyledList } from \"./FileList.styles\";\nimport clsx from \"clsx\";\n\nexport type HvFileListProps = {\n /**\n * Id to be applied to the root node.\n */\n id?: string;\n /**\n * The files to upload.\n */\n list?: HvFileData[];\n /**\n * Callback fired when file is removed from list.\n */\n onFileRemoved?: HvFileRemovedEvent;\n /**\n * Value of aria-label to apply to remove file button in FileList\n * */\n removeFileButtonLabel?: string;\n /**\n * A Jss Object used to override or extend the styles applied to the component.\n */\n classes?: HvFileListClasses;\n};\n\nexport const HvFileList = ({\n id,\n classes,\n list = [],\n removeFileButtonLabel,\n onFileRemoved,\n}: HvFileListProps) => {\n const elementId = useUniqueId(id, \"hvfilelist\");\n\n const hasFiles = list.length > 0;\n if (!hasFiles) return null;\n\n return (\n <StyledList\n id={setId(id, \"list\")}\n className={clsx(classes?.list, fileListClasses.list)}\n >\n {list.map((data) => (\n <HvFile\n key={data.id}\n classes={{ root: clsx(classes?.listItem, fileListClasses.listItem) }}\n id={setId(elementId, \"values\")}\n data={data}\n onFileRemoved={onFileRemoved}\n removeFileButtonLabel={removeFileButtonLabel}\n />\n ))}\n </StyledList>\n );\n};\n"],"names":["HvFileList","id","classes","list","removeFileButtonLabel","onFileRemoved","elementId","useUniqueId","hasFiles","length","StyledList","setId","className","clsx","fileListClasses","children","map","data","HvFile","root","listItem"],"mappings":";;;;;;;AA8BO,MAAMA,aAAaA,CAAC;AAAA,EACzBC;AAAAA,EACAC;AAAAA,EACAC,OAAO,CAAE;AAAA,EACTC;AAAAA,EACAC;AACe,MAAM;AACfC,QAAAA,YAAYC,YAAYN,IAAI,YAAY;AAExCO,QAAAA,WAAWL,KAAKM,SAAS;AAC/B,MAAI,CAACD;AAAiB,WAAA;AAEtB,6BACGE,YAAU;AAAA,IACTT,IAAIU,MAAMV,IAAI,MAAM;AAAA,IACpBW,WAAWC,KAAKX,mCAASC,MAAMW,gBAAgBX,IAAI;AAAA,IAAEY,UAEpDZ,KAAKa,IAAKC,CAAAA,6BACRC,QAAM;AAAA,MAELhB,SAAS;AAAA,QAAEiB,MAAMN,KAAKX,mCAASkB,UAAUN,gBAAgBM,QAAQ;AAAA,MAAE;AAAA,MACnEnB,IAAIU,MAAML,WAAW,QAAQ;AAAA,MAC7BW;AAAAA,MACAZ;AAAAA,MACAD;AAAAA,IAAAA,GALKa,KAAKhB,EAAE,CAOf;AAAA,EAAA,CACU;AAEjB;"}
@@ -18,7 +18,7 @@ const focusStyles = process.env.NODE_ENV === "production" ? {
18
18
  } : {
19
19
  name: "1ahoc7i-focusStyles",
20
20
  styles: ".HvFocus-focused{outline-color:#52a8ec;outline-style:solid;outline-width:0px;outline-offset:-1px;box-shadow:0 0 0 1px #52a8ec,0 0 0 4px rgba(29, 155, 209, 0.3);@media (-webkit-min-device-pixel-ratio: 0){outline-color:#52a8ec;outline-style:solid;outline-width:0px;outline-offset:-1px;box-shadow:0 0 0 1px #52a8ec,0 0 0 4px rgba(29, 155, 209, 0.3);}}.HvFocus-focusDisabled{outline:none;box-shadow:none;}.HvFocus-focusDisabled *:focus{outline:none;box-shadow:none;}.HvFocus-focusDisabled *{outline:none!important;box-shadow:none!important;};label:focusStyles;",
21
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2h2LXVpa2l0LXJlYWN0L2h2LXVpa2l0LXJlYWN0L3BhY2thZ2VzL2NvcmUvc3JjL2NvbXBvbmVudHMvRm9jdXMvRm9jdXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVd1QiIsImZpbGUiOiIvaG9tZS9ydW5uZXIvd29yay9odi11aWtpdC1yZWFjdC9odi11aWtpdC1yZWFjdC9wYWNrYWdlcy9jb3JlL3NyYy9jb21wb25lbnRzL0ZvY3VzL0ZvY3VzLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjbHN4IGZyb20gXCJjbHN4XCI7XG5pbXBvcnQgeyBpc05pbCB9IGZyb20gXCJsb2Rhc2hcIjtcbmltcG9ydCBSZWFjdCwgeyBSZWZPYmplY3QsIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBIdkJhc2VQcm9wcyB9IGZyb20gXCIuLi8uLi90eXBlc1wiO1xuaW1wb3J0IHsga2V5Ym9hcmRDb2RlcywgaXNCcm93c2VyIH0gZnJvbSBcInV0aWxzXCI7XG5pbXBvcnQgQ29uZGl0aW9uYWxXcmFwcGVyIGZyb20gXCJ1dGlscy9Db25kaXRpb25hbFdyYXBwZXJcIjtcbmltcG9ydCB7IFN0eWxlZEZvY3VzV3JhcHBlciwgU3R5bGVkRmFsc2VGb2N1cyB9IGZyb20gXCIuL0ZvY3VzLnN0eWxlc1wiO1xuaW1wb3J0IHsgZ2V0Rm9jdXNhYmxlQ2hpbGRyZW4sIGlzS2V5LCBpc09uZU9mS2V5cywgc2V0Rm9jdXNUbyB9IGZyb20gXCIuL3V0aWxzXCI7XG5pbXBvcnQgZm9jdXNDbGFzc2VzLCB7IEh2Rm9jdXNDbGFzc2VzIH0gZnJvbSBcIi4vZm9jdXNDbGFzc2VzXCI7XG5pbXBvcnQgeyBjc3MsIEdsb2JhbCB9IGZyb20gXCJAZW1vdGlvbi9yZWFjdFwiO1xuXG5jb25zdCBmb2N1c1N0eWxlcyA9IGNzc2BcbiAgLkh2Rm9jdXMtZm9jdXNlZCB7XG4gICAgb3V0bGluZS1jb2xvcjogIzUyYThlYztcbiAgICBvdXRsaW5lLXN0eWxlOiBzb2xpZDtcbiAgICBvdXRsaW5lLXdpZHRoOiAwcHg7XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICM1MmE4ZWMsIDAgMCAwIDRweCByZ2JhKDI5LCAxNTUsIDIwOSwgMC4zKTtcblxuICAgIEBtZWRpYSAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAwKSB7XG4gICAgICBvdXRsaW5lLWNvbG9yOiAjNTJhOGVjO1xuICAgICAgb3V0bGluZS1zdHlsZTogc29saWQ7XG4gICAgICBvdXRsaW5lLXdpZHRoOiAwcHg7XG4gICAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjNTJhOGVjLCAwIDAgMCA0cHggcmdiYSgyOSwgMTU1LCAyMDksIDAuMyk7XG4gICAgfVxuICB9XG5cbiAgLkh2Rm9jdXMtZm9jdXNEaXNhYmxlZCB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG4gIC5IdkZvY3VzLWZvY3VzRGlzYWJsZWQgKjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG4gIC5IdkZvY3VzLWZvY3VzRGlzYWJsZWQgKiB7XG4gICAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuYDtcblxuZXhwb3J0IHR5cGUgSHZGb2N1c1Byb3BzID0gSHZCYXNlUHJvcHM8SFRNTEVsZW1lbnQsIHsgY2hpbGRyZW4gfT4gJiB7XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdEVsZW1lbnQ7XG4gIC8qKiBFeHRyYSBjb25maWd1cmF0aW9uIGZvciB0aGUgY2hpbGQgZWxlbWVudC4gKi9cbiAgY29uZmlndXJhdGlvbj86IHtcbiAgICB0YWJJbmRleD86IG51bWJlcjtcbiAgfTtcbiAgLyoqIEluZGljYXRlcyB0aGF0IHRoZSBkaXNhYmxlZCBjbGFzcyBzaG91bGQgYmUgYXBwbGllZC4gKi9cbiAgZGlzYWJsZWRDbGFzcz86IGJvb2xlYW47XG4gIC8qKiBXaGV0aGVyIHRoZSBmb2N1cyBpcyBzZWxlY3RlZC4gKi9cbiAgc2VsZWN0ZWQ/OiBib29sZWFuO1xuICAvKiogV2hldGhlciB0aGUgZm9jdXMgaXMgZGlzYWJsZWQuICovXG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgLyoqIFRoZSByZWZlcmVuY2UgdG8gdGhlIHJvb3QgZWxlbWVudCB0byBob2xkIGFsbCBGb2N1cycgY29udGV4dC4gKi9cbiAgcm9vdFJlZj86IFJlZk9iamVjdDxIVE1MRWxlbWVudD47XG4gIC8qKiBTaG93IGZvY3VzIHdoZW4gY2xpY2sgZWxlbWVudC4gdiovXG4gIGZvY3VzT25DbGljaz86IGJvb2xlYW47XG4gIC8qKiBTaG93IGZvY3VzIHdoZW4gY2xpY2sgZWxlbWVudC4gdiovXG4gIGZvY3VzRGlzYWJsZWQ/OiBib29sZWFuO1xuICAvKiogVXNlIHVwLyBkb3duIGtleWJvYXJkIGFycm93cyB0byBjb250cm9sIGZvY3VzLiAqL1xuICB1c2VBcnJvd3M/OiBib29sZWFuO1xuICAvKiogRm9jdXMgYW5kIG5hdmlnYXRpb24gc3RyYXRlZ3kgdG8gYmUgdXNlZC4gdiovXG4gIHN0cmF0ZWd5PzogXCJsaXN0Ym94XCIgfCBcIm1lbnVcIiB8IFwiY2FyZFwiIHwgXCJncmlkXCI7XG4gIC8qKiBVc2VzIGFuIGFic29sdXRlIHBvc2l0aW9uZWQgZGl2IGFzIGEgZm9jdXMuIHYqL1xuICB1c2VGYWxzZUZvY3VzPzogYm9vbGVhbjtcbiAgLyoqIE5hcnJvd3MgdGhlIHJlc3VsdHMgb2YgdGhlIGZvY3VzIHRvIG9ubHkgdGhlc2VzIGNsYXNzIHYqL1xuICBmaWx0ZXJDbGFzcz86IHN0cmluZztcbiAgLyoqIEhvdyBtdWNoIHRoZSBuYXZpZ2F0aW9uIHdpbGwgc2tpcCB3aGVuIHVzaW5nIHRoZSBhcnJvd3MuIHYqL1xuICBuYXZpZ2F0aW9uSnVtcD86IG51bWJlcjtcbiAgLyoqIEEgSnNzIE9iamVjdCB1c2VkIHRvIG92ZXJyaWRlIG9yIGV4dGVuZCB0aGUgc3R5bGVzIGFwcGxpZWQgdG8gdGhlIGVtcHR5IHN0YXRlIEZvY3VzLiAqL1xuICBjbGFzc2VzPzogSHZGb2N1c0NsYXNzZXM7XG59O1xuXG5leHBvcnQgY29uc3QgSHZGb2N1cyA9ICh7XG4gIGNsYXNzZXMsXG4gIGNoaWxkcmVuLFxuICBjb25maWd1cmF0aW9uID0ge30sXG4gIGRpc2FibGVkQ2xhc3MgPSBmYWxzZSxcbiAgc2VsZWN0ZWQgPSBmYWxzZSxcbiAgZGlzYWJsZWQgPSBmYWxzZSxcbiAgcm9vdFJlZiA9IHVuZGVmaW5lZCxcbiAgZm9jdXNPbkNsaWNrID0gZmFsc2UsXG4gIGZvY3VzRGlzYWJsZWQgPSB0cnVlLFxuICBzdHJhdGVneSA9IFwibGlzdGJveFwiLFxuICB1c2VGYWxzZUZvY3VzID0gZmFsc2UsXG4gIGZpbHRlckNsYXNzLFxuICBuYXZpZ2F0aW9uSnVtcCA9IDQsXG59OiBIdkZvY3VzUHJvcHMpID0+IHtcbiAgY29uc3QgW3Nob3dGb2N1cywgc2V0U2hvd0ZvY3VzXSA9IHVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKTtcbiAgY29uc3QgW2NoaWxkRm9jdXMsIHNldENoaWxkRm9jdXNdID0gdXNlU3RhdGU8YW55PigpO1xuICBjb25zdCBbaGFzUnVuQ29uZmlnLCBzZXRIYXNSdW5Db25maWddID0gdXNlU3RhdGUoZmFsc2UpO1xuXG4gIGNvbnN0IGdldEZvY3VzZXMgPSAoKSA9PiB7XG4gICAgY29uc3QgZm9jdXNlcyA9IHJvb3RSZWY/LmN1cnJlbnRcbiAgICAgID8gQXJyYXkuZnJvbShcbiAgICAgICAgICByb290UmVmLmN1cnJlbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShcbiAgICAgICAgICAgIGZpbHRlckNsYXNzIHx8IGZvY3VzQ2xhc3Nlcy5yb290IHx8IFwicm9vdFwiXG4gICAgICAgICAgKVxuICAgICAgICApXG4gICAgICA6IFtdO1xuICAgIHJldHVybiBmb2N1c2VzO1xuICB9O1xuXG4gIGNvbnN0IHNldFRhYkluZGV4ID0gKGVsLCB0YWJJbmRleCA9IDApID0+IHtcbiAgICBjb25zdCBlbENoaWxkRm9jdXMgPSBnZXRGb2N1c2FibGVDaGlsZHJlbihlbClbMF07XG4gICAgaWYgKGVsQ2hpbGRGb2N1cykge1xuICAgICAgZWwudGFiSW5kZXggPSAtMTtcbiAgICAgIGVsQ2hpbGRGb2N1cy50YWJJbmRleCA9IHRhYkluZGV4O1xuICAgIH0gZWxzZSB7XG4gICAgICBlbC50YWJJbmRleCA9IHRhYkluZGV4O1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBzZXRTZWxlY3RlZFRhYkluZGV4ID0gKCkgPT4ge1xuICAgIGNvbnN0IGZvY3VzZXMgPSBnZXRGb2N1c2VzKCk7XG4gICAgY29uc3QgZmlyc3RTZWxlY3RlZCA9IGZvY3VzZXMuZmluZCgoZm9jdXMpID0+XG4gICAgICBmb2N1cy5jbGFzc0xpc3QuY29udGFpbnMoZm9jdXNDbGFzc2VzLnNlbGVjdGVkIHx8IFwic2VsZWN0ZWRcIilcbiAgICApO1xuXG4gICAgaWYgKCFmaXJzdFNlbGVjdGVkKSByZXR1cm47XG4gICAgZm9jdXNlcy5mb3JFYWNoKChmb2N1cykgPT4gc2V0VGFiSW5kZXgoZm9jdXMsIC0xKSk7XG4gICAgc2V0VGFiSW5kZXgoZmlyc3RTZWxlY3RlZCwgMCk7XG4gIH07XG5cbiAgY29uc3QgY2xlYXJUYWJTaWJsaW5ncyA9IChlbCkgPT4ge1xuICAgIGdldEZvY3VzZXMoKS5mb3JFYWNoKChmb2N1cykgPT4gc2V0VGFiSW5kZXgoZm9jdXMsIC0xKSk7XG4gICAgc2V0VGFiSW5kZXgoZWwsIDApO1xuICB9O1xuXG4gIGNvbnN0IG9uRm9jdXNTdHJhdGVneSA9IChldnQpID0+IHtcbiAgICBpZiAoc3RyYXRlZ3kgPT09IFwibGlzdGJveFwiKSB7XG4gICAgICBjbGVhclRhYlNpYmxpbmdzKGV2dC5jdXJyZW50VGFyZ2V0KTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3Qgb25CbHVyU3RyYXRlZ3kgPSAoKSA9PiB7XG4gICAgaWYgKFxuICAgICAgc3RyYXRlZ3kgPT09IFwibGlzdGJveFwiICYmXG4gICAgICByb290UmVmICYmXG4gICAgICByb290UmVmLmN1cnJlbnQgJiZcbiAgICAgICFyb290UmVmLmN1cnJlbnQuY29udGFpbnMoZG9jdW1lbnQuYWN0aXZlRWxlbWVudClcbiAgICApIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBzZXRTZWxlY3RlZFRhYkluZGV4KCk7XG4gICAgICB9LCAxMCk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGNvbmZpZyA9IChlbCkgPT4ge1xuICAgIGNvbnN0IHsgdGFiSW5kZXggfSA9IGNvbmZpZ3VyYXRpb247XG4gICAgaWYgKCFlbCB8fCBoYXNSdW5Db25maWcpIHJldHVybjtcbiAgICBpZiAoc3RyYXRlZ3kgPT09IFwiY2FyZFwiKSB7XG4gICAgICBzZXRDaGlsZEZvY3VzKGNoaWxkcmVuKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoc3RyYXRlZ3kgPT09IFwiZ3JpZFwiKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZm9jdXNhYmxlQ2hpbGRyZW4gPSBnZXRGb2N1c2FibGVDaGlsZHJlbihlbCk7XG4gICAgaWYgKGZvY3VzYWJsZUNoaWxkcmVuLmxlbmd0aCkge1xuICAgICAgZm9jdXNhYmxlQ2hpbGRyZW4uZm9yRWFjaCgoY2hpbGQpID0+IHNldFRhYkluZGV4KGNoaWxkLCAtMSkpO1xuICAgICAgc2V0Q2hpbGRGb2N1cyhmb2N1c2FibGVDaGlsZHJlblswXSk7XG4gICAgfVxuXG4gICAgaWYgKCFpc05pbCh0YWJJbmRleCkpIHNldFRhYkluZGV4KGVsLCB0YWJJbmRleCk7XG4gICAgc2V0SGFzUnVuQ29uZmlnKHRydWUpO1xuICB9O1xuXG4gIGNvbnN0IGFkZEZvY3VzQ2xhc3MgPSAoZXZ0KSA9PiB7XG4gICAgaWYgKCF1c2VGYWxzZUZvY3VzKSB7XG4gICAgICBldnQuY3VycmVudFRhcmdldC5jbGFzc0xpc3QuYWRkKGZvY3VzQ2xhc3Nlcy5mb2N1c2VkKTtcbiAgICAgIC8vIGFkZCBnbG9iYWwgY2xhc3MgSHZJc0ZvY3VzZWQgYXMgYSBtYXJrZXJcbiAgICAgIC8vIG5vdCB0byBiZSBzdHlsZWQgZGlyZWN0bHksIG9ubHkgYXMgaGVscGVyIGluIHNwZWNpZmljIGNzcyBxdWVyaWVzXG4gICAgICBldnQuY3VycmVudFRhcmdldC5jbGFzc0xpc3QuYWRkKFwiSHZJc0ZvY3VzZWRcIik7XG4gICAgICBjbGFzc2VzPy5mb2N1c1xuICAgICAgICA/LnNwbGl0KFwiIFwiKVxuICAgICAgICAuZm9yRWFjaCgoYykgPT4gZXZ0LmN1cnJlbnRUYXJnZXQuY2xhc3NMaXN0LmFkZChjKSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IHJlbW92ZUZvY3VzQ2xhc3MgPSAoKSA9PiB7XG4gICAgaWYgKCF1c2VGYWxzZUZvY3VzKSB7XG4gICAgICBnZXRGb2N1c2VzKCkuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xuICAgICAgICBpZiAoZm9jdXNDbGFzc2VzLmZvY3VzZWQpIHtcbiAgICAgICAgICBlbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoZm9jdXNDbGFzc2VzLmZvY3VzZWQpO1xuICAgICAgICB9XG4gICAgICAgIC8vIHJlbW92ZSB0aGUgZ2xvYmFsIGNsYXNzIEh2SXNGb2N1c2VkXG4gICAgICAgIGVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShcIkh2SXNGb2N1c2VkXCIpO1xuICAgICAgICBjbGFzc2VzPy5mb2N1cz8uc3BsaXQoXCIgXCIpLmZvckVhY2goKGMpID0+IGVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShjKSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3Qgb25Gb2N1cyA9IChldnQpID0+IHtcbiAgICBhZGRGb2N1c0NsYXNzKGV2dCk7XG4gICAgc2V0U2hvd0ZvY3VzKHRydWUpO1xuICAgIC8vIGdpdmUgZm9jdXMgdG8gY2hpbGQgZWxlbWVudCBpZiBhbnkgZm9jdXNhYmxlXG5cbiAgICBpZiAoY2hpbGRGb2N1cyAmJiBjaGlsZEZvY3VzLmZvY3VzKSBjaGlsZEZvY3VzLmZvY3VzKCk7XG4gICAgb25Gb2N1c1N0cmF0ZWd5KGV2dCk7XG4gIH07XG5cbiAgY29uc3Qgb25CbHVyID0gKCkgPT4ge1xuICAgIHNldFNob3dGb2N1cyhmYWxzZSk7XG4gICAgcmVtb3ZlRm9jdXNDbGFzcygpO1xuICAgIG9uQmx1clN0cmF0ZWd5KCk7XG4gIH07XG5cbiAgY29uc3Qgb25Nb3VzZURvd24gPSAoZXZ0KSA9PiB7XG4gICAgY29uc3QgaGFzQ2FyZCA9ICEhZXZ0LmN1cnJlbnRUYXJnZXQ/LnF1ZXJ5U2VsZWN0b3IoXCIuSHZJc0NhcmRHcmlkRWxlbWVudFwiKTtcbiAgICBpZiAoc3RyYXRlZ3kgPT09IFwiZ3JpZFwiICYmIGhhc0NhcmQpIHJldHVybjtcblxuICAgIHNldEZvY3VzVG8oZXZ0LmN1cnJlbnRUYXJnZXQpO1xuICAgIHNldFRhYkluZGV4KGV2dC5jdXJyZW50VGFyZ2V0LCAwKTtcbiAgICAvLyByZW1vdmUgZm9jdXMgb3V0bGluZSB1bmxlc3MgZXhwbGljaXRseSBlbmFibGVkXG4gICAgaWYgKCFmb2N1c09uQ2xpY2spIHtcbiAgICAgIC8vIFRPRE8gdGhpcyBwaWVjZSBvZiBjb2RlIHdvcmtzIG9ubHkgYmVjYXVzZSBvbk1vdXNlRG93biBpcyBoYXBwZW5pbmcgYWZ0ZXIgdGhlIGZvY3VzIGV2ZW50XG4gICAgICAvLyBUaGVyZSBpcyBub3RoaW5nIGluIGhlcmUgdGhhdCBndWFyYW50ZWVzIHRoZSBvcmRlciBvZiB0aGVzZSBldmVudHMsIHNvIGl0IG1heSBwcmVzZW50IGEgcHJvYmxlbSBpbiB0aGUgZnV0dXJlXG4gICAgICByZW1vdmVGb2N1c0NsYXNzKCk7XG4gICAgICBzZXRTaG93Rm9jdXMoZmFsc2UpO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBmb2N1c0FuZFVwZGF0ZUluZGV4ID0gKG5leHRGb2N1cywgcHJldmlvdXNGb2N1cywgZm9jdXNlc0xpc3QpID0+IHtcbiAgICBpZiAoZm9jdXNlc0xpc3Q/LmluY2x1ZGVzKHByZXZpb3VzRm9jdXMpKSB7XG4gICAgICBzZXRUYWJJbmRleChwcmV2aW91c0ZvY3VzLCAtMSk7XG4gICAgfVxuICAgIHNldFRhYkluZGV4KG5leHRGb2N1cywgMCk7XG4gICAgc2V0Rm9jdXNUbyhuZXh0Rm9jdXMpO1xuICB9O1xuXG4gIGNvbnN0IGdldEVuYWJsZWRLZXlzID0gKGN1cnJlbnRGb2N1c0luZGV4LCBqdW1wLCBsaXN0U2l6ZSkgPT4gKHtcbiAgICByaWdodDpcbiAgICAgIChjdXJyZW50Rm9jdXNJbmRleCArIDEpICUganVtcCA9PT0gMCB8fFxuICAgICAgY3VycmVudEZvY3VzSW5kZXggKyAxID4gbGlzdFNpemUgLSAxLFxuICAgIGxlZnQ6IGN1cnJlbnRGb2N1c0luZGV4ICUganVtcCA9PT0gMCxcbiAgICB1cDogY3VycmVudEZvY3VzSW5kZXggLSBqdW1wIDwgMCxcbiAgICBkb3duOlxuICAgICAgY3VycmVudEZvY3VzSW5kZXggKyBqdW1wID4gbGlzdFNpemUgfHxcbiAgICAgIGN1cnJlbnRGb2N1c0luZGV4ICsganVtcCA+IGxpc3RTaXplIC0gMSxcbiAgfSk7XG5cbiAgY29uc3Qgb25HcmlkS2V5RG93bkhhbmRsZXIgPSAoXG4gICAgZXZ0LFxuICAgIGZvY3VzZXMsXG4gICAgZm9jdXNlc0xpc3QsXG4gICAgY3VycmVudEZvY3VzSW5kZXgsXG4gICAganVtcFxuICApID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBBcnJvd1VwLFxuICAgICAgQXJyb3dEb3duLFxuICAgICAgSG9tZSxcbiAgICAgIEVuZCxcbiAgICAgIEFycm93TGVmdCxcbiAgICAgIEFycm93UmlnaHQsXG4gICAgICBFbnRlcixcbiAgICAgIFNwYWNlQmFyLFxuICAgIH0gPSBrZXlib2FyZENvZGVzO1xuXG4gICAgY29uc3QgY2hpbGRGb2N1c0lzSW5wdXQgPSBjaGlsZEZvY3VzICYmIGNoaWxkRm9jdXMubm9kZU5hbWUgPT09IFwiSU5QVVRcIjtcblxuICAgIGlmIChcbiAgICAgICFpc09uZU9mS2V5cyhldnQsIFtcbiAgICAgICAgQXJyb3dVcCxcbiAgICAgICAgQXJyb3dEb3duLFxuICAgICAgICBBcnJvd0xlZnQsXG4gICAgICAgIEFycm93UmlnaHQsXG4gICAgICAgIEhvbWUsXG4gICAgICAgIEVuZCxcbiAgICAgICAgU3BhY2VCYXIsXG4gICAgICAgIEVudGVyLFxuICAgICAgXSkgfHxcbiAgICAgIChjaGlsZEZvY3VzSXNJbnB1dCAmJiBpc0tleShldnQsIEVudGVyKSlcbiAgICApIHtcbiAgICAgIC8vIG5vdGhpbmcgdG8gZG9cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyB3ZSdsbCBkbyBzb21ldGhpbmcgd2l0aCB0aGUga2V5IHNvIHByZXZlbnQgZGVmYXVsdCBhbmQgc3RvcCBwcm9wYWdhdGlvblxuICAgIC8vIGV4Y2VwdCBmb3IgRW50ZXIgYW5kIFNwYWNlQmFyXG4gICAgaWYgKCFpc09uZU9mS2V5cyhldnQsIFtFbnRlciwgU3BhY2VCYXJdKSkge1xuICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBldnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfVxuXG4gICAgY29uc3QgYmxvY2tlZEtleXMgPSBnZXRFbmFibGVkS2V5cyhcbiAgICAgIGN1cnJlbnRGb2N1c0luZGV4LFxuICAgICAganVtcCxcbiAgICAgIGZvY3VzZXNMaXN0Lmxlbmd0aFxuICAgICk7XG5cbiAgICBzd2l0Y2ggKGV2dC5rZXlDb2RlKSB7XG4gICAgICBjYXNlIFNwYWNlQmFyOlxuICAgICAgY2FzZSBFbnRlcjpcbiAgICAgICAgaWYgKGlzQnJvd3NlcihcImZpcmVmb3hcIikpIHtcbiAgICAgICAgICBldnQudGFyZ2V0LmNsaWNrKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZXZ0LmN1cnJlbnRUYXJnZXQuY2xpY2soKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgQXJyb3dVcDpcbiAgICAgICAgaWYgKCFibG9ja2VkS2V5cy51cCkge1xuICAgICAgICAgIGZvY3VzQW5kVXBkYXRlSW5kZXgoXG4gICAgICAgICAgICBmb2N1c2VzLmp1bXAgfHwgZm9jdXNlcy5sYXN0LFxuICAgICAgICAgICAgZXZ0LmN1cnJlbnQsXG4gICAgICAgICAgICBmb2N1c2VzTGlzdFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIEFycm93RG93bjpcbiAgICAgICAgaWYgKCFibG9ja2VkS2V5cy5kb3duKSB7XG4gICAgICAgICAgZm9jdXNBbmRVcGRhdGVJbmRleChcbiAgICAgICAgICAgIGZvY3VzZXMuZmFsbCB8fCBmb2N1c2VzLmZpcnN0LFxuICAgICAgICAgICAgZXZ0LmN1cnJlbnQsXG4gICAgICAgICAgICBmb2N1c2VzTGlzdFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIEFycm93TGVmdDpcbiAgICAgICAgaWYgKCFibG9ja2VkS2V5cy5sZWZ0KSB7XG4gICAgICAgICAgZm9jdXNBbmRVcGRhdGVJbmRleChcbiAgICAgICAgICAgIGZvY3VzZXMucHJldmlvdXMgfHwgZm9jdXNlcy5sYXN0LFxuICAgICAgICAgICAgZXZ0LmN1cnJlbnQsXG4gICAgICAgICAgICBmb2N1c2VzTGlzdFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIEFycm93UmlnaHQ6XG4gICAgICAgIGlmICghYmxvY2tlZEtleXMucmlnaHQpIHtcbiAgICAgICAgICBmb2N1c0FuZFVwZGF0ZUluZGV4KFxuICAgICAgICAgICAgZm9jdXNlcy5uZXh0IHx8IGZvY3VzZXMuZmlyc3QsXG4gICAgICAgICAgICBldnQuY3VycmVudCxcbiAgICAgICAgICAgIGZvY3VzZXNMaXN0XG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgSG9tZTpcbiAgICAgICAgZm9jdXNBbmRVcGRhdGVJbmRleChmb2N1c2VzLmZpcnN0LCBldnQuY3VycmVudCwgZm9jdXNlc0xpc3QpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgRW5kOlxuICAgICAgICBmb2N1c0FuZFVwZGF0ZUluZGV4KGZvY3VzZXMubGFzdCwgZXZ0LmN1cnJlbnQsIGZvY3VzZXNMaXN0KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgIH1cbiAgfTtcblxuICBjb25zdCBvblZlcnRpY2FsQXJyYW5nZW1lbnRIYW5kbGVyID0gKGV2dCwgZm9jdXNlcywgZm9jdXNlc0xpc3QpID0+IHtcbiAgICBjb25zdCB7IEFycm93VXAsIEFycm93RG93biwgSG9tZSwgRW5kLCBFbnRlciwgU3BhY2VCYXIgfSA9IGtleWJvYXJkQ29kZXM7XG4gICAgY29uc3QgY2hpbGRGb2N1c0lzSW5wdXQgPSBjaGlsZEZvY3VzICYmIGNoaWxkRm9jdXMubm9kZU5hbWUgPT09IFwiSU5QVVRcIjtcblxuICAgIGlmIChcbiAgICAgICFpc09uZU9mS2V5cyhldnQsIFtBcnJvd1VwLCBBcnJvd0Rvd24sIEhvbWUsIEVuZCwgU3BhY2VCYXIsIEVudGVyXSkgfHxcbiAgICAgIChjaGlsZEZvY3VzSXNJbnB1dCAmJiBpc0tleShldnQsIEVudGVyKSlcbiAgICApIHtcbiAgICAgIC8vIG5vdGhpbmcgdG8gZG9cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyB3ZSdsbCBkbyBzb21ldGhpbmcgd2l0aCB0aGUga2V5IHNvIHByZXZlbnQgZGVmYXVsdCBhbmQgc3RvcCBwcm9wYWdhdGlvblxuICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIHN3aXRjaCAoZXZ0LmtleUNvZGUpIHtcbiAgICAgIGNhc2UgU3BhY2VCYXI6XG4gICAgICBjYXNlIEVudGVyOlxuICAgICAgICBldnQudGFyZ2V0LmNsaWNrKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBBcnJvd1VwOlxuICAgICAgICBmb2N1c0FuZFVwZGF0ZUluZGV4KFxuICAgICAgICAgIGZvY3VzZXMucHJldmlvdXMgfHwgZm9jdXNlcy5sYXN0LFxuICAgICAgICAgIGV2dC5jdXJyZW50LFxuICAgICAgICAgIGZvY3VzZXNMaXN0XG4gICAgICAgICk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBBcnJvd0Rvd246XG4gICAgICAgIGZvY3VzQW5kVXBkYXRlSW5kZXgoXG4gICAgICAgICAgZm9jdXNlcy5uZXh0IHx8IGZvY3VzZXMuZmlyc3QsXG4gICAgICAgICAgZXZ0LmN1cnJlbnQsXG4gICAgICAgICAgZm9jdXNlc0xpc3RcbiAgICAgICAgKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIEhvbWU6XG4gICAgICAgIGZvY3VzQW5kVXBkYXRlSW5kZXgoZm9jdXNlcy5maXJzdCwgZXZ0LmN1cnJlbnQsIGZvY3VzZXNMaXN0KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIEVuZDpcbiAgICAgICAgZm9jdXNBbmRVcGRhdGVJbmRleChmb2N1c2VzLmxhc3QsIGV2dC5jdXJyZW50LCBmb2N1c2VzTGlzdCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICB9XG4gIH07XG5cbiAgY29uc3Qgb25TaW5nbGVIYW5kbGVyID0gKGV2dCkgPT4ge1xuICAgIGNvbnN0IHsgRW50ZXIsIFNwYWNlQmFyIH0gPSBrZXlib2FyZENvZGVzO1xuICAgIGNvbnN0IGNoaWxkRm9jdXNJc0lucHV0ID0gY2hpbGRGb2N1cyAmJiBjaGlsZEZvY3VzLm5vZGVOYW1lID09PSBcIklOUFVUXCI7XG5cbiAgICBpZiAoXG4gICAgICAhaXNPbmVPZktleXMoZXZ0LCBbU3BhY2VCYXIsIEVudGVyXSkgfHxcbiAgICAgIChjaGlsZEZvY3VzSXNJbnB1dCAmJiBpc0tleShldnQsIEVudGVyKSlcbiAgICApIHtcbiAgICAgIC8vIG5vdGhpbmcgdG8gZG9cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyB3ZSdsbCBkbyBzb21ldGhpbmcgd2l0aCB0aGUga2V5IHNvIHByZXZlbnQgZGVmYXVsdCBhbmQgc3RvcCBwcm9wYWdhdGlvblxuICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIGV2dC5jdXJyZW50VGFyZ2V0LmNsaWNrKCk7XG4gIH07XG5cbiAgY29uc3Qgb25LZXlEb3duID0gKGV2dCkgPT4ge1xuICAgIGlmIChyb290UmVmPy5jdXJyZW50ID09IG51bGwpIHtcbiAgICAgIC8vIG9wZXJhdGluZyBvdXRzaWRlIG9mIGEgY29tcG9zaXRlIHdpZGdldFxuICAgICAgLy8gbm90aGluZyB0byBtYW5hZ2UsIGp1c3Qgc3R5bGUgYW5kIHRyaWdnZXIgY2xpY2tzXG4gICAgICBvblNpbmdsZUhhbmRsZXIoZXZ0KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBUT0RPIGtlZXAgdGhlIHNtYXJ0IGRlZmF1bHQsIGJ1dCBhbGxvdyB0byBleHBsaWNpdGx5IG92ZXJyaWRlIGlmIGRpc2FibGVkIGVsZW1lbnRzIHNob3VsZCBiZSBmb2N1c2FibGVcbiAgICBjb25zdCBpc0Rpc2FibGVkRm9jdXNhYmxlID0gc3RyYXRlZ3kgPT09IFwibWVudVwiO1xuICAgIGNvbnN0IGZvY3VzZXNMaXN0ID0gZ2V0Rm9jdXNlcygpLmZpbHRlcihcbiAgICAgIChlbCkgPT5cbiAgICAgICAgaXNEaXNhYmxlZEZvY3VzYWJsZSB8fFxuICAgICAgICAhZWwuY2xhc3NMaXN0LmNvbnRhaW5zKGNsYXNzZXM/LmRpc2FibGVkIGFzIHN0cmluZylcbiAgICApO1xuXG4gICAgY29uc3QgY3VycmVudEZvY3VzID0gZm9jdXNlc0xpc3QuaW5kZXhPZihldnQuY3VycmVudFRhcmdldCk7XG5cbiAgICBjb25zdCBmb2N1c2VzID0ge1xuICAgICAgZmlyc3Q6IGZvY3VzZXNMaXN0WzBdLFxuICAgICAgbGFzdDogZm9jdXNlc0xpc3RbZm9jdXNlc0xpc3QubGVuZ3RoIC0gMV0sXG4gICAgICBwcmV2aW91czogZm9jdXNlc0xpc3RbY3VycmVudEZvY3VzIC0gMV0sXG4gICAgICBuZXh0OiBmb2N1c2VzTGlzdFtjdXJyZW50Rm9jdXMgKyAxXSxcbiAgICAgIGZhbGw6IGZvY3VzZXNMaXN0W2N1cnJlbnRGb2N1cyArIG5hdmlnYXRpb25KdW1wXSxcbiAgICAgIGp1bXA6IGZvY3VzZXNMaXN0W2N1cnJlbnRGb2N1cyAtIG5hdmlnYXRpb25KdW1wXSxcbiAgICB9O1xuXG4gICAgaWYgKHN0cmF0ZWd5ID09PSBcImdyaWRcIikge1xuICAgICAgb25HcmlkS2V5RG93bkhhbmRsZXIoXG4gICAgICAgIGV2dCxcbiAgICAgICAgZm9jdXNlcyxcbiAgICAgICAgZm9jdXNlc0xpc3QsXG4gICAgICAgIGN1cnJlbnRGb2N1cyxcbiAgICAgICAgbmF2aWdhdGlvbkp1bXBcbiAgICAgICk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gVE9ETyBhZGQgcHJvcGVydHkgZm9yIHNwZWNpZnlpbmcgdGhlIGNvbXBvc2l0ZSB3aWRnZXQgb3JpZW50YXRpb25cbiAgICAvLyBUT0RPIGltcGxlbWVudCBoYW5kbGVyIGZvciBob3Jpem9udGFsIG9yaWVudGF0aW9uXG4gICAgb25WZXJ0aWNhbEFycmFuZ2VtZW50SGFuZGxlcihldnQsIGZvY3VzZXMsIGZvY3VzZXNMaXN0KTtcbiAgfTtcblxuICBjb25zdCBvbktleVVwID0gKGV2dCkgPT4ge1xuICAgIGlmIChpc0Jyb3dzZXIoXCJmaXJlZm94XCIpKSBldnQucHJldmVudERlZmF1bHQoKTtcbiAgfTtcblxuICBpZiAoZGlzYWJsZWQpIHJldHVybiBjaGlsZHJlbjtcblxuICBjb25zdCBmb2N1c1dyYXBwZXIgPSAoY2hpbGRyZW5Ub1dyYXApID0+IChcbiAgICA8U3R5bGVkRm9jdXNXcmFwcGVyXG4gICAgICBjbGFzc05hbWU9e2Nsc3goXG4gICAgICAgIGNsYXNzZXM/LmV4dGVybmFsUmVmZXJlbmNlLFxuICAgICAgICBmb2N1c0NsYXNzZXMuZXh0ZXJuYWxSZWZlcmVuY2VcbiAgICAgICl9XG4gICAgPlxuICAgICAge2NoaWxkcmVuVG9XcmFwfVxuICAgICAge3Nob3dGb2N1cyAmJiAoXG4gICAgICAgIDxTdHlsZWRGYWxzZUZvY3VzXG4gICAgICAgICAgY2xhc3NOYW1lPXtjbHN4KGNsYXNzZXM/LmZhbHNlRm9jdXMsIGZvY3VzQ2xhc3Nlcy5mYWxzZUZvY3VzKX1cbiAgICAgICAgLz5cbiAgICAgICl9XG4gICAgPC9TdHlsZWRGb2N1c1dyYXBwZXI+XG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8Q29uZGl0aW9uYWxXcmFwcGVyIGNvbmRpdGlvbj17dXNlRmFsc2VGb2N1c30gd3JhcHBlcj17Zm9jdXNXcmFwcGVyfT5cbiAgICAgIDxHbG9iYWwgc3R5bGVzPXtmb2N1c1N0eWxlc30gLz5cbiAgICAgIHtSZWFjdC5jbG9uZUVsZW1lbnQoY2hpbGRyZW4sIHtcbiAgICAgICAgY2xhc3NOYW1lOiBjbHN4KFxuICAgICAgICAgIGNoaWxkcmVuLnByb3BzLmNsYXNzTmFtZSxcbiAgICAgICAgICBmb2N1c0NsYXNzZXMucm9vdCxcbiAgICAgICAgICBjbGFzc2VzPy5yb290LFxuICAgICAgICAgIGZpbHRlckNsYXNzLFxuICAgICAgICAgIHNlbGVjdGVkICYmIGNsc3goZm9jdXNDbGFzc2VzLnNlbGVjdGVkLCBjbGFzc2VzPy5zZWxlY3RlZCksXG4gICAgICAgICAgZGlzYWJsZWRDbGFzcyAmJiBjbHN4KGZvY3VzQ2xhc3Nlcy5kaXNhYmxlZCwgY2xhc3Nlcz8uZGlzYWJsZWQpLFxuICAgICAgICAgIGZvY3VzRGlzYWJsZWQgJiZcbiAgICAgICAgICAgIGNsc3goZm9jdXNDbGFzc2VzLmZvY3VzRGlzYWJsZWQsIGNsYXNzZXM/LmZvY3VzRGlzYWJsZWQpXG4gICAgICAgICksXG4gICAgICAgIHJlZjogY29uZmlnLFxuICAgICAgICBvbkZvY3VzLFxuICAgICAgICBvbkJsdXIsXG4gICAgICAgIG9uTW91c2VEb3duLFxuICAgICAgICBvbktleURvd24sXG4gICAgICAgIG9uS2V5VXAsXG4gICAgICAgIHNlbGVjdGVkLFxuICAgICAgfSl9XG4gICAgPC9Db25kaXRpb25hbFdyYXBwZXI+XG4gICk7XG59O1xuIl19 */",
21
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2h2LXVpa2l0LXJlYWN0L2h2LXVpa2l0LXJlYWN0L3BhY2thZ2VzL2NvcmUvc3JjL2NvbXBvbmVudHMvRm9jdXMvRm9jdXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVd1QiIsImZpbGUiOiIvaG9tZS9ydW5uZXIvd29yay9odi11aWtpdC1yZWFjdC9odi11aWtpdC1yZWFjdC9wYWNrYWdlcy9jb3JlL3NyYy9jb21wb25lbnRzL0ZvY3VzL0ZvY3VzLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjbHN4IGZyb20gXCJjbHN4XCI7XG5pbXBvcnQgeyBpc05pbCB9IGZyb20gXCJsb2Rhc2hcIjtcbmltcG9ydCBSZWFjdCwgeyBSZWZPYmplY3QsIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBIdkJhc2VQcm9wcyB9IGZyb20gXCIuLi8uLi90eXBlc1wiO1xuaW1wb3J0IHsga2V5Ym9hcmRDb2RlcywgaXNCcm93c2VyIH0gZnJvbSBcInV0aWxzXCI7XG5pbXBvcnQgQ29uZGl0aW9uYWxXcmFwcGVyIGZyb20gXCJ1dGlscy9Db25kaXRpb25hbFdyYXBwZXJcIjtcbmltcG9ydCB7IFN0eWxlZEZvY3VzV3JhcHBlciwgU3R5bGVkRmFsc2VGb2N1cyB9IGZyb20gXCIuL0ZvY3VzLnN0eWxlc1wiO1xuaW1wb3J0IHsgZ2V0Rm9jdXNhYmxlQ2hpbGRyZW4sIGlzS2V5LCBpc09uZU9mS2V5cywgc2V0Rm9jdXNUbyB9IGZyb20gXCIuL3V0aWxzXCI7XG5pbXBvcnQgZm9jdXNDbGFzc2VzLCB7IEh2Rm9jdXNDbGFzc2VzIH0gZnJvbSBcIi4vZm9jdXNDbGFzc2VzXCI7XG5pbXBvcnQgeyBjc3MsIEdsb2JhbCB9IGZyb20gXCJAZW1vdGlvbi9yZWFjdFwiO1xuXG5jb25zdCBmb2N1c1N0eWxlcyA9IGNzc2BcbiAgLkh2Rm9jdXMtZm9jdXNlZCB7XG4gICAgb3V0bGluZS1jb2xvcjogIzUyYThlYztcbiAgICBvdXRsaW5lLXN0eWxlOiBzb2xpZDtcbiAgICBvdXRsaW5lLXdpZHRoOiAwcHg7XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICM1MmE4ZWMsIDAgMCAwIDRweCByZ2JhKDI5LCAxNTUsIDIwOSwgMC4zKTtcblxuICAgIEBtZWRpYSAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAwKSB7XG4gICAgICBvdXRsaW5lLWNvbG9yOiAjNTJhOGVjO1xuICAgICAgb3V0bGluZS1zdHlsZTogc29saWQ7XG4gICAgICBvdXRsaW5lLXdpZHRoOiAwcHg7XG4gICAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjNTJhOGVjLCAwIDAgMCA0cHggcmdiYSgyOSwgMTU1LCAyMDksIDAuMyk7XG4gICAgfVxuICB9XG5cbiAgLkh2Rm9jdXMtZm9jdXNEaXNhYmxlZCB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG4gIC5IdkZvY3VzLWZvY3VzRGlzYWJsZWQgKjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG4gIC5IdkZvY3VzLWZvY3VzRGlzYWJsZWQgKiB7XG4gICAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuYDtcblxuZXhwb3J0IHR5cGUgSHZGb2N1c1Byb3BzID0gSHZCYXNlUHJvcHM8SFRNTEVsZW1lbnQsIHsgY2hpbGRyZW4gfT4gJiB7XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdEVsZW1lbnQ7XG4gIC8qKiBFeHRyYSBjb25maWd1cmF0aW9uIGZvciB0aGUgY2hpbGQgZWxlbWVudC4gKi9cbiAgY29uZmlndXJhdGlvbj86IHtcbiAgICB0YWJJbmRleD86IG51bWJlcjtcbiAgfTtcbiAgLyoqIEluZGljYXRlcyB0aGF0IHRoZSBkaXNhYmxlZCBjbGFzcyBzaG91bGQgYmUgYXBwbGllZC4gKi9cbiAgZGlzYWJsZWRDbGFzcz86IGJvb2xlYW47XG4gIC8qKiBXaGV0aGVyIHRoZSBmb2N1cyBpcyBzZWxlY3RlZC4gKi9cbiAgc2VsZWN0ZWQ/OiBib29sZWFuO1xuICAvKiogV2hldGhlciB0aGUgZm9jdXMgaXMgZGlzYWJsZWQuICovXG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgLyoqIFRoZSByZWZlcmVuY2UgdG8gdGhlIHJvb3QgZWxlbWVudCB0byBob2xkIGFsbCBGb2N1cycgY29udGV4dC4gKi9cbiAgcm9vdFJlZj86IFJlZk9iamVjdDxIVE1MRWxlbWVudD47XG4gIC8qKiBTaG93IGZvY3VzIHdoZW4gY2xpY2sgZWxlbWVudC4gdiovXG4gIGZvY3VzT25DbGljaz86IGJvb2xlYW47XG4gIC8qKiBTaG93IGZvY3VzIHdoZW4gY2xpY2sgZWxlbWVudC4gdiovXG4gIGZvY3VzRGlzYWJsZWQ/OiBib29sZWFuO1xuICAvKiogVXNlIHVwLyBkb3duIGtleWJvYXJkIGFycm93cyB0byBjb250cm9sIGZvY3VzLiAqL1xuICB1c2VBcnJvd3M/OiBib29sZWFuO1xuICAvKiogRm9jdXMgYW5kIG5hdmlnYXRpb24gc3RyYXRlZ3kgdG8gYmUgdXNlZC4gdiovXG4gIHN0cmF0ZWd5PzogXCJsaXN0Ym94XCIgfCBcIm1lbnVcIiB8IFwiY2FyZFwiIHwgXCJncmlkXCI7XG4gIC8qKiBVc2VzIGFuIGFic29sdXRlIHBvc2l0aW9uZWQgZGl2IGFzIGEgZm9jdXMuIHYqL1xuICB1c2VGYWxzZUZvY3VzPzogYm9vbGVhbjtcbiAgLyoqIE5hcnJvd3MgdGhlIHJlc3VsdHMgb2YgdGhlIGZvY3VzIHRvIG9ubHkgdGhlc2VzIGNsYXNzIHYqL1xuICBmaWx0ZXJDbGFzcz86IHN0cmluZztcbiAgLyoqIEhvdyBtdWNoIHRoZSBuYXZpZ2F0aW9uIHdpbGwgc2tpcCB3aGVuIHVzaW5nIHRoZSBhcnJvd3MuIHYqL1xuICBuYXZpZ2F0aW9uSnVtcD86IG51bWJlcjtcbiAgLyoqIEEgSnNzIE9iamVjdCB1c2VkIHRvIG92ZXJyaWRlIG9yIGV4dGVuZCB0aGUgc3R5bGVzIGFwcGxpZWQgdG8gdGhlIGNvbXBvbmVudC4gKi9cbiAgY2xhc3Nlcz86IEh2Rm9jdXNDbGFzc2VzO1xufTtcblxuZXhwb3J0IGNvbnN0IEh2Rm9jdXMgPSAoe1xuICBjbGFzc2VzLFxuICBjaGlsZHJlbixcbiAgY29uZmlndXJhdGlvbiA9IHt9LFxuICBkaXNhYmxlZENsYXNzID0gZmFsc2UsXG4gIHNlbGVjdGVkID0gZmFsc2UsXG4gIGRpc2FibGVkID0gZmFsc2UsXG4gIHJvb3RSZWYgPSB1bmRlZmluZWQsXG4gIGZvY3VzT25DbGljayA9IGZhbHNlLFxuICBmb2N1c0Rpc2FibGVkID0gdHJ1ZSxcbiAgc3RyYXRlZ3kgPSBcImxpc3Rib3hcIixcbiAgdXNlRmFsc2VGb2N1cyA9IGZhbHNlLFxuICBmaWx0ZXJDbGFzcyxcbiAgbmF2aWdhdGlvbkp1bXAgPSA0LFxufTogSHZGb2N1c1Byb3BzKSA9PiB7XG4gIGNvbnN0IFtzaG93Rm9jdXMsIHNldFNob3dGb2N1c10gPSB1c2VTdGF0ZTxib29sZWFuPihmYWxzZSk7XG4gIGNvbnN0IFtjaGlsZEZvY3VzLCBzZXRDaGlsZEZvY3VzXSA9IHVzZVN0YXRlPGFueT4oKTtcbiAgY29uc3QgW2hhc1J1bkNvbmZpZywgc2V0SGFzUnVuQ29uZmlnXSA9IHVzZVN0YXRlKGZhbHNlKTtcblxuICBjb25zdCBnZXRGb2N1c2VzID0gKCkgPT4ge1xuICAgIGNvbnN0IGZvY3VzZXMgPSByb290UmVmPy5jdXJyZW50XG4gICAgICA/IEFycmF5LmZyb20oXG4gICAgICAgICAgcm9vdFJlZi5jdXJyZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoXG4gICAgICAgICAgICBmaWx0ZXJDbGFzcyB8fCBmb2N1c0NsYXNzZXMucm9vdCB8fCBcInJvb3RcIlxuICAgICAgICAgIClcbiAgICAgICAgKVxuICAgICAgOiBbXTtcbiAgICByZXR1cm4gZm9jdXNlcztcbiAgfTtcblxuICBjb25zdCBzZXRUYWJJbmRleCA9IChlbCwgdGFiSW5kZXggPSAwKSA9PiB7XG4gICAgY29uc3QgZWxDaGlsZEZvY3VzID0gZ2V0Rm9jdXNhYmxlQ2hpbGRyZW4oZWwpWzBdO1xuICAgIGlmIChlbENoaWxkRm9jdXMpIHtcbiAgICAgIGVsLnRhYkluZGV4ID0gLTE7XG4gICAgICBlbENoaWxkRm9jdXMudGFiSW5kZXggPSB0YWJJbmRleDtcbiAgICB9IGVsc2Uge1xuICAgICAgZWwudGFiSW5kZXggPSB0YWJJbmRleDtcbiAgICB9XG4gIH07XG5cbiAgY29uc3Qgc2V0U2VsZWN0ZWRUYWJJbmRleCA9ICgpID0+IHtcbiAgICBjb25zdCBmb2N1c2VzID0gZ2V0Rm9jdXNlcygpO1xuICAgIGNvbnN0IGZpcnN0U2VsZWN0ZWQgPSBmb2N1c2VzLmZpbmQoKGZvY3VzKSA9PlxuICAgICAgZm9jdXMuY2xhc3NMaXN0LmNvbnRhaW5zKGZvY3VzQ2xhc3Nlcy5zZWxlY3RlZCB8fCBcInNlbGVjdGVkXCIpXG4gICAgKTtcblxuICAgIGlmICghZmlyc3RTZWxlY3RlZCkgcmV0dXJuO1xuICAgIGZvY3VzZXMuZm9yRWFjaCgoZm9jdXMpID0+IHNldFRhYkluZGV4KGZvY3VzLCAtMSkpO1xuICAgIHNldFRhYkluZGV4KGZpcnN0U2VsZWN0ZWQsIDApO1xuICB9O1xuXG4gIGNvbnN0IGNsZWFyVGFiU2libGluZ3MgPSAoZWwpID0+IHtcbiAgICBnZXRGb2N1c2VzKCkuZm9yRWFjaCgoZm9jdXMpID0+IHNldFRhYkluZGV4KGZvY3VzLCAtMSkpO1xuICAgIHNldFRhYkluZGV4KGVsLCAwKTtcbiAgfTtcblxuICBjb25zdCBvbkZvY3VzU3RyYXRlZ3kgPSAoZXZ0KSA9PiB7XG4gICAgaWYgKHN0cmF0ZWd5ID09PSBcImxpc3Rib3hcIikge1xuICAgICAgY2xlYXJUYWJTaWJsaW5ncyhldnQuY3VycmVudFRhcmdldCk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IG9uQmx1clN0cmF0ZWd5ID0gKCkgPT4ge1xuICAgIGlmIChcbiAgICAgIHN0cmF0ZWd5ID09PSBcImxpc3Rib3hcIiAmJlxuICAgICAgcm9vdFJlZiAmJlxuICAgICAgcm9vdFJlZi5jdXJyZW50ICYmXG4gICAgICAhcm9vdFJlZi5jdXJyZW50LmNvbnRhaW5zKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpXG4gICAgKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgc2V0U2VsZWN0ZWRUYWJJbmRleCgpO1xuICAgICAgfSwgMTApO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBjb25maWcgPSAoZWwpID0+IHtcbiAgICBjb25zdCB7IHRhYkluZGV4IH0gPSBjb25maWd1cmF0aW9uO1xuICAgIGlmICghZWwgfHwgaGFzUnVuQ29uZmlnKSByZXR1cm47XG4gICAgaWYgKHN0cmF0ZWd5ID09PSBcImNhcmRcIikge1xuICAgICAgc2V0Q2hpbGRGb2N1cyhjaGlsZHJlbik7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHN0cmF0ZWd5ID09PSBcImdyaWRcIikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGZvY3VzYWJsZUNoaWxkcmVuID0gZ2V0Rm9jdXNhYmxlQ2hpbGRyZW4oZWwpO1xuICAgIGlmIChmb2N1c2FibGVDaGlsZHJlbi5sZW5ndGgpIHtcbiAgICAgIGZvY3VzYWJsZUNoaWxkcmVuLmZvckVhY2goKGNoaWxkKSA9PiBzZXRUYWJJbmRleChjaGlsZCwgLTEpKTtcbiAgICAgIHNldENoaWxkRm9jdXMoZm9jdXNhYmxlQ2hpbGRyZW5bMF0pO1xuICAgIH1cblxuICAgIGlmICghaXNOaWwodGFiSW5kZXgpKSBzZXRUYWJJbmRleChlbCwgdGFiSW5kZXgpO1xuICAgIHNldEhhc1J1bkNvbmZpZyh0cnVlKTtcbiAgfTtcblxuICBjb25zdCBhZGRGb2N1c0NsYXNzID0gKGV2dCkgPT4ge1xuICAgIGlmICghdXNlRmFsc2VGb2N1cykge1xuICAgICAgZXZ0LmN1cnJlbnRUYXJnZXQuY2xhc3NMaXN0LmFkZChmb2N1c0NsYXNzZXMuZm9jdXNlZCk7XG4gICAgICAvLyBhZGQgZ2xvYmFsIGNsYXNzIEh2SXNGb2N1c2VkIGFzIGEgbWFya2VyXG4gICAgICAvLyBub3QgdG8gYmUgc3R5bGVkIGRpcmVjdGx5LCBvbmx5IGFzIGhlbHBlciBpbiBzcGVjaWZpYyBjc3MgcXVlcmllc1xuICAgICAgZXZ0LmN1cnJlbnRUYXJnZXQuY2xhc3NMaXN0LmFkZChcIkh2SXNGb2N1c2VkXCIpO1xuICAgICAgY2xhc3Nlcz8uZm9jdXNcbiAgICAgICAgPy5zcGxpdChcIiBcIilcbiAgICAgICAgLmZvckVhY2goKGMpID0+IGV2dC5jdXJyZW50VGFyZ2V0LmNsYXNzTGlzdC5hZGQoYykpO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCByZW1vdmVGb2N1c0NsYXNzID0gKCkgPT4ge1xuICAgIGlmICghdXNlRmFsc2VGb2N1cykge1xuICAgICAgZ2V0Rm9jdXNlcygpLmZvckVhY2goKGVsZW1lbnQpID0+IHtcbiAgICAgICAgaWYgKGZvY3VzQ2xhc3Nlcy5mb2N1c2VkKSB7XG4gICAgICAgICAgZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKGZvY3VzQ2xhc3Nlcy5mb2N1c2VkKTtcbiAgICAgICAgfVxuICAgICAgICAvLyByZW1vdmUgdGhlIGdsb2JhbCBjbGFzcyBIdklzRm9jdXNlZFxuICAgICAgICBlbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoXCJIdklzRm9jdXNlZFwiKTtcbiAgICAgICAgY2xhc3Nlcz8uZm9jdXM/LnNwbGl0KFwiIFwiKS5mb3JFYWNoKChjKSA9PiBlbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoYykpO1xuICAgICAgfSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IG9uRm9jdXMgPSAoZXZ0KSA9PiB7XG4gICAgYWRkRm9jdXNDbGFzcyhldnQpO1xuICAgIHNldFNob3dGb2N1cyh0cnVlKTtcbiAgICAvLyBnaXZlIGZvY3VzIHRvIGNoaWxkIGVsZW1lbnQgaWYgYW55IGZvY3VzYWJsZVxuXG4gICAgaWYgKGNoaWxkRm9jdXMgJiYgY2hpbGRGb2N1cy5mb2N1cykgY2hpbGRGb2N1cy5mb2N1cygpO1xuICAgIG9uRm9jdXNTdHJhdGVneShldnQpO1xuICB9O1xuXG4gIGNvbnN0IG9uQmx1ciA9ICgpID0+IHtcbiAgICBzZXRTaG93Rm9jdXMoZmFsc2UpO1xuICAgIHJlbW92ZUZvY3VzQ2xhc3MoKTtcbiAgICBvbkJsdXJTdHJhdGVneSgpO1xuICB9O1xuXG4gIGNvbnN0IG9uTW91c2VEb3duID0gKGV2dCkgPT4ge1xuICAgIGNvbnN0IGhhc0NhcmQgPSAhIWV2dC5jdXJyZW50VGFyZ2V0Py5xdWVyeVNlbGVjdG9yKFwiLkh2SXNDYXJkR3JpZEVsZW1lbnRcIik7XG4gICAgaWYgKHN0cmF0ZWd5ID09PSBcImdyaWRcIiAmJiBoYXNDYXJkKSByZXR1cm47XG5cbiAgICBzZXRGb2N1c1RvKGV2dC5jdXJyZW50VGFyZ2V0KTtcbiAgICBzZXRUYWJJbmRleChldnQuY3VycmVudFRhcmdldCwgMCk7XG4gICAgLy8gcmVtb3ZlIGZvY3VzIG91dGxpbmUgdW5sZXNzIGV4cGxpY2l0bHkgZW5hYmxlZFxuICAgIGlmICghZm9jdXNPbkNsaWNrKSB7XG4gICAgICAvLyBUT0RPIHRoaXMgcGllY2Ugb2YgY29kZSB3b3JrcyBvbmx5IGJlY2F1c2Ugb25Nb3VzZURvd24gaXMgaGFwcGVuaW5nIGFmdGVyIHRoZSBmb2N1cyBldmVudFxuICAgICAgLy8gVGhlcmUgaXMgbm90aGluZyBpbiBoZXJlIHRoYXQgZ3VhcmFudGVlcyB0aGUgb3JkZXIgb2YgdGhlc2UgZXZlbnRzLCBzbyBpdCBtYXkgcHJlc2VudCBhIHByb2JsZW0gaW4gdGhlIGZ1dHVyZVxuICAgICAgcmVtb3ZlRm9jdXNDbGFzcygpO1xuICAgICAgc2V0U2hvd0ZvY3VzKGZhbHNlKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgZm9jdXNBbmRVcGRhdGVJbmRleCA9IChuZXh0Rm9jdXMsIHByZXZpb3VzRm9jdXMsIGZvY3VzZXNMaXN0KSA9PiB7XG4gICAgaWYgKGZvY3VzZXNMaXN0Py5pbmNsdWRlcyhwcmV2aW91c0ZvY3VzKSkge1xuICAgICAgc2V0VGFiSW5kZXgocHJldmlvdXNGb2N1cywgLTEpO1xuICAgIH1cbiAgICBzZXRUYWJJbmRleChuZXh0Rm9jdXMsIDApO1xuICAgIHNldEZvY3VzVG8obmV4dEZvY3VzKTtcbiAgfTtcblxuICBjb25zdCBnZXRFbmFibGVkS2V5cyA9IChjdXJyZW50Rm9jdXNJbmRleCwganVtcCwgbGlzdFNpemUpID0+ICh7XG4gICAgcmlnaHQ6XG4gICAgICAoY3VycmVudEZvY3VzSW5kZXggKyAxKSAlIGp1bXAgPT09IDAgfHxcbiAgICAgIGN1cnJlbnRGb2N1c0luZGV4ICsgMSA+IGxpc3RTaXplIC0gMSxcbiAgICBsZWZ0OiBjdXJyZW50Rm9jdXNJbmRleCAlIGp1bXAgPT09IDAsXG4gICAgdXA6IGN1cnJlbnRGb2N1c0luZGV4IC0ganVtcCA8IDAsXG4gICAgZG93bjpcbiAgICAgIGN1cnJlbnRGb2N1c0luZGV4ICsganVtcCA+IGxpc3RTaXplIHx8XG4gICAgICBjdXJyZW50Rm9jdXNJbmRleCArIGp1bXAgPiBsaXN0U2l6ZSAtIDEsXG4gIH0pO1xuXG4gIGNvbnN0IG9uR3JpZEtleURvd25IYW5kbGVyID0gKFxuICAgIGV2dCxcbiAgICBmb2N1c2VzLFxuICAgIGZvY3VzZXNMaXN0LFxuICAgIGN1cnJlbnRGb2N1c0luZGV4LFxuICAgIGp1bXBcbiAgKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgQXJyb3dVcCxcbiAgICAgIEFycm93RG93bixcbiAgICAgIEhvbWUsXG4gICAgICBFbmQsXG4gICAgICBBcnJvd0xlZnQsXG4gICAgICBBcnJvd1JpZ2h0LFxuICAgICAgRW50ZXIsXG4gICAgICBTcGFjZUJhcixcbiAgICB9ID0ga2V5Ym9hcmRDb2RlcztcblxuICAgIGNvbnN0IGNoaWxkRm9jdXNJc0lucHV0ID0gY2hpbGRGb2N1cyAmJiBjaGlsZEZvY3VzLm5vZGVOYW1lID09PSBcIklOUFVUXCI7XG5cbiAgICBpZiAoXG4gICAgICAhaXNPbmVPZktleXMoZXZ0LCBbXG4gICAgICAgIEFycm93VXAsXG4gICAgICAgIEFycm93RG93bixcbiAgICAgICAgQXJyb3dMZWZ0LFxuICAgICAgICBBcnJvd1JpZ2h0LFxuICAgICAgICBIb21lLFxuICAgICAgICBFbmQsXG4gICAgICAgIFNwYWNlQmFyLFxuICAgICAgICBFbnRlcixcbiAgICAgIF0pIHx8XG4gICAgICAoY2hpbGRGb2N1c0lzSW5wdXQgJiYgaXNLZXkoZXZ0LCBFbnRlcikpXG4gICAgKSB7XG4gICAgICAvLyBub3RoaW5nIHRvIGRvXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gd2UnbGwgZG8gc29tZXRoaW5nIHdpdGggdGhlIGtleSBzbyBwcmV2ZW50IGRlZmF1bHQgYW5kIHN0b3AgcHJvcGFnYXRpb25cbiAgICAvLyBleGNlcHQgZm9yIEVudGVyIGFuZCBTcGFjZUJhclxuICAgIGlmICghaXNPbmVPZktleXMoZXZ0LCBbRW50ZXIsIFNwYWNlQmFyXSkpIHtcbiAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cblxuICAgIGNvbnN0IGJsb2NrZWRLZXlzID0gZ2V0RW5hYmxlZEtleXMoXG4gICAgICBjdXJyZW50Rm9jdXNJbmRleCxcbiAgICAgIGp1bXAsXG4gICAgICBmb2N1c2VzTGlzdC5sZW5ndGhcbiAgICApO1xuXG4gICAgc3dpdGNoIChldnQua2V5Q29kZSkge1xuICAgICAgY2FzZSBTcGFjZUJhcjpcbiAgICAgIGNhc2UgRW50ZXI6XG4gICAgICAgIGlmIChpc0Jyb3dzZXIoXCJmaXJlZm94XCIpKSB7XG4gICAgICAgICAgZXZ0LnRhcmdldC5jbGljaygpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGV2dC5jdXJyZW50VGFyZ2V0LmNsaWNrKCk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIEFycm93VXA6XG4gICAgICAgIGlmICghYmxvY2tlZEtleXMudXApIHtcbiAgICAgICAgICBmb2N1c0FuZFVwZGF0ZUluZGV4KFxuICAgICAgICAgICAgZm9jdXNlcy5qdW1wIHx8IGZvY3VzZXMubGFzdCxcbiAgICAgICAgICAgIGV2dC5jdXJyZW50LFxuICAgICAgICAgICAgZm9jdXNlc0xpc3RcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBBcnJvd0Rvd246XG4gICAgICAgIGlmICghYmxvY2tlZEtleXMuZG93bikge1xuICAgICAgICAgIGZvY3VzQW5kVXBkYXRlSW5kZXgoXG4gICAgICAgICAgICBmb2N1c2VzLmZhbGwgfHwgZm9jdXNlcy5maXJzdCxcbiAgICAgICAgICAgIGV2dC5jdXJyZW50LFxuICAgICAgICAgICAgZm9jdXNlc0xpc3RcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBBcnJvd0xlZnQ6XG4gICAgICAgIGlmICghYmxvY2tlZEtleXMubGVmdCkge1xuICAgICAgICAgIGZvY3VzQW5kVXBkYXRlSW5kZXgoXG4gICAgICAgICAgICBmb2N1c2VzLnByZXZpb3VzIHx8IGZvY3VzZXMubGFzdCxcbiAgICAgICAgICAgIGV2dC5jdXJyZW50LFxuICAgICAgICAgICAgZm9jdXNlc0xpc3RcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBBcnJvd1JpZ2h0OlxuICAgICAgICBpZiAoIWJsb2NrZWRLZXlzLnJpZ2h0KSB7XG4gICAgICAgICAgZm9jdXNBbmRVcGRhdGVJbmRleChcbiAgICAgICAgICAgIGZvY3VzZXMubmV4dCB8fCBmb2N1c2VzLmZpcnN0LFxuICAgICAgICAgICAgZXZ0LmN1cnJlbnQsXG4gICAgICAgICAgICBmb2N1c2VzTGlzdFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIEhvbWU6XG4gICAgICAgIGZvY3VzQW5kVXBkYXRlSW5kZXgoZm9jdXNlcy5maXJzdCwgZXZ0LmN1cnJlbnQsIGZvY3VzZXNMaXN0KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIEVuZDpcbiAgICAgICAgZm9jdXNBbmRVcGRhdGVJbmRleChmb2N1c2VzLmxhc3QsIGV2dC5jdXJyZW50LCBmb2N1c2VzTGlzdCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICB9XG4gIH07XG5cbiAgY29uc3Qgb25WZXJ0aWNhbEFycmFuZ2VtZW50SGFuZGxlciA9IChldnQsIGZvY3VzZXMsIGZvY3VzZXNMaXN0KSA9PiB7XG4gICAgY29uc3QgeyBBcnJvd1VwLCBBcnJvd0Rvd24sIEhvbWUsIEVuZCwgRW50ZXIsIFNwYWNlQmFyIH0gPSBrZXlib2FyZENvZGVzO1xuICAgIGNvbnN0IGNoaWxkRm9jdXNJc0lucHV0ID0gY2hpbGRGb2N1cyAmJiBjaGlsZEZvY3VzLm5vZGVOYW1lID09PSBcIklOUFVUXCI7XG5cbiAgICBpZiAoXG4gICAgICAhaXNPbmVPZktleXMoZXZ0LCBbQXJyb3dVcCwgQXJyb3dEb3duLCBIb21lLCBFbmQsIFNwYWNlQmFyLCBFbnRlcl0pIHx8XG4gICAgICAoY2hpbGRGb2N1c0lzSW5wdXQgJiYgaXNLZXkoZXZ0LCBFbnRlcikpXG4gICAgKSB7XG4gICAgICAvLyBub3RoaW5nIHRvIGRvXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gd2UnbGwgZG8gc29tZXRoaW5nIHdpdGggdGhlIGtleSBzbyBwcmV2ZW50IGRlZmF1bHQgYW5kIHN0b3AgcHJvcGFnYXRpb25cbiAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICBzd2l0Y2ggKGV2dC5rZXlDb2RlKSB7XG4gICAgICBjYXNlIFNwYWNlQmFyOlxuICAgICAgY2FzZSBFbnRlcjpcbiAgICAgICAgZXZ0LnRhcmdldC5jbGljaygpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgQXJyb3dVcDpcbiAgICAgICAgZm9jdXNBbmRVcGRhdGVJbmRleChcbiAgICAgICAgICBmb2N1c2VzLnByZXZpb3VzIHx8IGZvY3VzZXMubGFzdCxcbiAgICAgICAgICBldnQuY3VycmVudCxcbiAgICAgICAgICBmb2N1c2VzTGlzdFxuICAgICAgICApO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgQXJyb3dEb3duOlxuICAgICAgICBmb2N1c0FuZFVwZGF0ZUluZGV4KFxuICAgICAgICAgIGZvY3VzZXMubmV4dCB8fCBmb2N1c2VzLmZpcnN0LFxuICAgICAgICAgIGV2dC5jdXJyZW50LFxuICAgICAgICAgIGZvY3VzZXNMaXN0XG4gICAgICAgICk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBIb21lOlxuICAgICAgICBmb2N1c0FuZFVwZGF0ZUluZGV4KGZvY3VzZXMuZmlyc3QsIGV2dC5jdXJyZW50LCBmb2N1c2VzTGlzdCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBFbmQ6XG4gICAgICAgIGZvY3VzQW5kVXBkYXRlSW5kZXgoZm9jdXNlcy5sYXN0LCBldnQuY3VycmVudCwgZm9jdXNlc0xpc3QpO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IG9uU2luZ2xlSGFuZGxlciA9IChldnQpID0+IHtcbiAgICBjb25zdCB7IEVudGVyLCBTcGFjZUJhciB9ID0ga2V5Ym9hcmRDb2RlcztcbiAgICBjb25zdCBjaGlsZEZvY3VzSXNJbnB1dCA9IGNoaWxkRm9jdXMgJiYgY2hpbGRGb2N1cy5ub2RlTmFtZSA9PT0gXCJJTlBVVFwiO1xuXG4gICAgaWYgKFxuICAgICAgIWlzT25lT2ZLZXlzKGV2dCwgW1NwYWNlQmFyLCBFbnRlcl0pIHx8XG4gICAgICAoY2hpbGRGb2N1c0lzSW5wdXQgJiYgaXNLZXkoZXZ0LCBFbnRlcikpXG4gICAgKSB7XG4gICAgICAvLyBub3RoaW5nIHRvIGRvXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gd2UnbGwgZG8gc29tZXRoaW5nIHdpdGggdGhlIGtleSBzbyBwcmV2ZW50IGRlZmF1bHQgYW5kIHN0b3AgcHJvcGFnYXRpb25cbiAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICBldnQuY3VycmVudFRhcmdldC5jbGljaygpO1xuICB9O1xuXG4gIGNvbnN0IG9uS2V5RG93biA9IChldnQpID0+IHtcbiAgICBpZiAocm9vdFJlZj8uY3VycmVudCA9PSBudWxsKSB7XG4gICAgICAvLyBvcGVyYXRpbmcgb3V0c2lkZSBvZiBhIGNvbXBvc2l0ZSB3aWRnZXRcbiAgICAgIC8vIG5vdGhpbmcgdG8gbWFuYWdlLCBqdXN0IHN0eWxlIGFuZCB0cmlnZ2VyIGNsaWNrc1xuICAgICAgb25TaW5nbGVIYW5kbGVyKGV2dCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gVE9ETyBrZWVwIHRoZSBzbWFydCBkZWZhdWx0LCBidXQgYWxsb3cgdG8gZXhwbGljaXRseSBvdmVycmlkZSBpZiBkaXNhYmxlZCBlbGVtZW50cyBzaG91bGQgYmUgZm9jdXNhYmxlXG4gICAgY29uc3QgaXNEaXNhYmxlZEZvY3VzYWJsZSA9IHN0cmF0ZWd5ID09PSBcIm1lbnVcIjtcbiAgICBjb25zdCBmb2N1c2VzTGlzdCA9IGdldEZvY3VzZXMoKS5maWx0ZXIoXG4gICAgICAoZWwpID0+XG4gICAgICAgIGlzRGlzYWJsZWRGb2N1c2FibGUgfHxcbiAgICAgICAgIWVsLmNsYXNzTGlzdC5jb250YWlucyhjbGFzc2VzPy5kaXNhYmxlZCBhcyBzdHJpbmcpXG4gICAgKTtcblxuICAgIGNvbnN0IGN1cnJlbnRGb2N1cyA9IGZvY3VzZXNMaXN0LmluZGV4T2YoZXZ0LmN1cnJlbnRUYXJnZXQpO1xuXG4gICAgY29uc3QgZm9jdXNlcyA9IHtcbiAgICAgIGZpcnN0OiBmb2N1c2VzTGlzdFswXSxcbiAgICAgIGxhc3Q6IGZvY3VzZXNMaXN0W2ZvY3VzZXNMaXN0Lmxlbmd0aCAtIDFdLFxuICAgICAgcHJldmlvdXM6IGZvY3VzZXNMaXN0W2N1cnJlbnRGb2N1cyAtIDFdLFxuICAgICAgbmV4dDogZm9jdXNlc0xpc3RbY3VycmVudEZvY3VzICsgMV0sXG4gICAgICBmYWxsOiBmb2N1c2VzTGlzdFtjdXJyZW50Rm9jdXMgKyBuYXZpZ2F0aW9uSnVtcF0sXG4gICAgICBqdW1wOiBmb2N1c2VzTGlzdFtjdXJyZW50Rm9jdXMgLSBuYXZpZ2F0aW9uSnVtcF0sXG4gICAgfTtcblxuICAgIGlmIChzdHJhdGVneSA9PT0gXCJncmlkXCIpIHtcbiAgICAgIG9uR3JpZEtleURvd25IYW5kbGVyKFxuICAgICAgICBldnQsXG4gICAgICAgIGZvY3VzZXMsXG4gICAgICAgIGZvY3VzZXNMaXN0LFxuICAgICAgICBjdXJyZW50Rm9jdXMsXG4gICAgICAgIG5hdmlnYXRpb25KdW1wXG4gICAgICApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIFRPRE8gYWRkIHByb3BlcnR5IGZvciBzcGVjaWZ5aW5nIHRoZSBjb21wb3NpdGUgd2lkZ2V0IG9yaWVudGF0aW9uXG4gICAgLy8gVE9ETyBpbXBsZW1lbnQgaGFuZGxlciBmb3IgaG9yaXpvbnRhbCBvcmllbnRhdGlvblxuICAgIG9uVmVydGljYWxBcnJhbmdlbWVudEhhbmRsZXIoZXZ0LCBmb2N1c2VzLCBmb2N1c2VzTGlzdCk7XG4gIH07XG5cbiAgY29uc3Qgb25LZXlVcCA9IChldnQpID0+IHtcbiAgICBpZiAoaXNCcm93c2VyKFwiZmlyZWZveFwiKSkgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gIH07XG5cbiAgaWYgKGRpc2FibGVkKSByZXR1cm4gY2hpbGRyZW47XG5cbiAgY29uc3QgZm9jdXNXcmFwcGVyID0gKGNoaWxkcmVuVG9XcmFwKSA9PiAoXG4gICAgPFN0eWxlZEZvY3VzV3JhcHBlclxuICAgICAgY2xhc3NOYW1lPXtjbHN4KFxuICAgICAgICBjbGFzc2VzPy5leHRlcm5hbFJlZmVyZW5jZSxcbiAgICAgICAgZm9jdXNDbGFzc2VzLmV4dGVybmFsUmVmZXJlbmNlXG4gICAgICApfVxuICAgID5cbiAgICAgIHtjaGlsZHJlblRvV3JhcH1cbiAgICAgIHtzaG93Rm9jdXMgJiYgKFxuICAgICAgICA8U3R5bGVkRmFsc2VGb2N1c1xuICAgICAgICAgIGNsYXNzTmFtZT17Y2xzeChjbGFzc2VzPy5mYWxzZUZvY3VzLCBmb2N1c0NsYXNzZXMuZmFsc2VGb2N1cyl9XG4gICAgICAgIC8+XG4gICAgICApfVxuICAgIDwvU3R5bGVkRm9jdXNXcmFwcGVyPlxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPENvbmRpdGlvbmFsV3JhcHBlciBjb25kaXRpb249e3VzZUZhbHNlRm9jdXN9IHdyYXBwZXI9e2ZvY3VzV3JhcHBlcn0+XG4gICAgICA8R2xvYmFsIHN0eWxlcz17Zm9jdXNTdHlsZXN9IC8+XG4gICAgICB7UmVhY3QuY2xvbmVFbGVtZW50KGNoaWxkcmVuLCB7XG4gICAgICAgIGNsYXNzTmFtZTogY2xzeChcbiAgICAgICAgICBjaGlsZHJlbi5wcm9wcy5jbGFzc05hbWUsXG4gICAgICAgICAgZm9jdXNDbGFzc2VzLnJvb3QsXG4gICAgICAgICAgY2xhc3Nlcz8ucm9vdCxcbiAgICAgICAgICBmaWx0ZXJDbGFzcyxcbiAgICAgICAgICBzZWxlY3RlZCAmJiBjbHN4KGZvY3VzQ2xhc3Nlcy5zZWxlY3RlZCwgY2xhc3Nlcz8uc2VsZWN0ZWQpLFxuICAgICAgICAgIGRpc2FibGVkQ2xhc3MgJiYgY2xzeChmb2N1c0NsYXNzZXMuZGlzYWJsZWQsIGNsYXNzZXM/LmRpc2FibGVkKSxcbiAgICAgICAgICBmb2N1c0Rpc2FibGVkICYmXG4gICAgICAgICAgICBjbHN4KGZvY3VzQ2xhc3Nlcy5mb2N1c0Rpc2FibGVkLCBjbGFzc2VzPy5mb2N1c0Rpc2FibGVkKVxuICAgICAgICApLFxuICAgICAgICByZWY6IGNvbmZpZyxcbiAgICAgICAgb25Gb2N1cyxcbiAgICAgICAgb25CbHVyLFxuICAgICAgICBvbk1vdXNlRG93bixcbiAgICAgICAgb25LZXlEb3duLFxuICAgICAgICBvbktleVVwLFxuICAgICAgICBzZWxlY3RlZCxcbiAgICAgIH0pfVxuICAgIDwvQ29uZGl0aW9uYWxXcmFwcGVyPlxuICApO1xufTtcbiJdfQ== */",
22
22
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
23
23
  };
24
24
  const HvFocus = ({
@@ -1 +1 @@
1
- {"version":3,"file":"Focus.js","sources":["../../../../src/components/Focus/Focus.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport { isNil } from \"lodash\";\nimport React, { RefObject, useState } from \"react\";\nimport { HvBaseProps } from \"../../types\";\nimport { keyboardCodes, isBrowser } from \"utils\";\nimport ConditionalWrapper from \"utils/ConditionalWrapper\";\nimport { StyledFocusWrapper, StyledFalseFocus } from \"./Focus.styles\";\nimport { getFocusableChildren, isKey, isOneOfKeys, setFocusTo } from \"./utils\";\nimport focusClasses, { HvFocusClasses } from \"./focusClasses\";\nimport { css, Global } from \"@emotion/react\";\n\nconst focusStyles = css`\n .HvFocus-focused {\n outline-color: #52a8ec;\n outline-style: solid;\n outline-width: 0px;\n outline-offset: -1px;\n box-shadow: 0 0 0 1px #52a8ec, 0 0 0 4px rgba(29, 155, 209, 0.3);\n\n @media (-webkit-min-device-pixel-ratio: 0) {\n outline-color: #52a8ec;\n outline-style: solid;\n outline-width: 0px;\n outline-offset: -1px;\n box-shadow: 0 0 0 1px #52a8ec, 0 0 0 4px rgba(29, 155, 209, 0.3);\n }\n }\n\n .HvFocus-focusDisabled {\n outline: none;\n box-shadow: none;\n }\n .HvFocus-focusDisabled *:focus {\n outline: none;\n box-shadow: none;\n }\n .HvFocus-focusDisabled * {\n outline: none !important;\n box-shadow: none !important;\n }\n`;\n\nexport type HvFocusProps = HvBaseProps<HTMLElement, { children }> & {\n children: React.ReactElement;\n /** Extra configuration for the child element. */\n configuration?: {\n tabIndex?: number;\n };\n /** Indicates that the disabled class should be applied. */\n disabledClass?: boolean;\n /** Whether the focus is selected. */\n selected?: boolean;\n /** Whether the focus is disabled. */\n disabled?: boolean;\n /** The reference to the root element to hold all Focus' context. */\n rootRef?: RefObject<HTMLElement>;\n /** Show focus when click element. v*/\n focusOnClick?: boolean;\n /** Show focus when click element. v*/\n focusDisabled?: boolean;\n /** Use up/ down keyboard arrows to control focus. */\n useArrows?: boolean;\n /** Focus and navigation strategy to be used. v*/\n strategy?: \"listbox\" | \"menu\" | \"card\" | \"grid\";\n /** Uses an absolute positioned div as a focus. v*/\n useFalseFocus?: boolean;\n /** Narrows the results of the focus to only theses class v*/\n filterClass?: string;\n /** How much the navigation will skip when using the arrows. v*/\n navigationJump?: number;\n /** A Jss Object used to override or extend the styles applied to the empty state Focus. */\n classes?: HvFocusClasses;\n};\n\nexport const HvFocus = ({\n classes,\n children,\n configuration = {},\n disabledClass = false,\n selected = false,\n disabled = false,\n rootRef = undefined,\n focusOnClick = false,\n focusDisabled = true,\n strategy = \"listbox\",\n useFalseFocus = false,\n filterClass,\n navigationJump = 4,\n}: HvFocusProps) => {\n const [showFocus, setShowFocus] = useState<boolean>(false);\n const [childFocus, setChildFocus] = useState<any>();\n const [hasRunConfig, setHasRunConfig] = useState(false);\n\n const getFocuses = () => {\n const focuses = rootRef?.current\n ? Array.from(\n rootRef.current.getElementsByClassName(\n filterClass || focusClasses.root || \"root\"\n )\n )\n : [];\n return focuses;\n };\n\n const setTabIndex = (el, tabIndex = 0) => {\n const elChildFocus = getFocusableChildren(el)[0];\n if (elChildFocus) {\n el.tabIndex = -1;\n elChildFocus.tabIndex = tabIndex;\n } else {\n el.tabIndex = tabIndex;\n }\n };\n\n const setSelectedTabIndex = () => {\n const focuses = getFocuses();\n const firstSelected = focuses.find((focus) =>\n focus.classList.contains(focusClasses.selected || \"selected\")\n );\n\n if (!firstSelected) return;\n focuses.forEach((focus) => setTabIndex(focus, -1));\n setTabIndex(firstSelected, 0);\n };\n\n const clearTabSiblings = (el) => {\n getFocuses().forEach((focus) => setTabIndex(focus, -1));\n setTabIndex(el, 0);\n };\n\n const onFocusStrategy = (evt) => {\n if (strategy === \"listbox\") {\n clearTabSiblings(evt.currentTarget);\n }\n };\n\n const onBlurStrategy = () => {\n if (\n strategy === \"listbox\" &&\n rootRef &&\n rootRef.current &&\n !rootRef.current.contains(document.activeElement)\n ) {\n setTimeout(() => {\n setSelectedTabIndex();\n }, 10);\n }\n };\n\n const config = (el) => {\n const { tabIndex } = configuration;\n if (!el || hasRunConfig) return;\n if (strategy === \"card\") {\n setChildFocus(children);\n return;\n }\n\n if (strategy === \"grid\") {\n return;\n }\n\n const focusableChildren = getFocusableChildren(el);\n if (focusableChildren.length) {\n focusableChildren.forEach((child) => setTabIndex(child, -1));\n setChildFocus(focusableChildren[0]);\n }\n\n if (!isNil(tabIndex)) setTabIndex(el, tabIndex);\n setHasRunConfig(true);\n };\n\n const addFocusClass = (evt) => {\n if (!useFalseFocus) {\n evt.currentTarget.classList.add(focusClasses.focused);\n // add global class HvIsFocused as a marker\n // not to be styled directly, only as helper in specific css queries\n evt.currentTarget.classList.add(\"HvIsFocused\");\n classes?.focus\n ?.split(\" \")\n .forEach((c) => evt.currentTarget.classList.add(c));\n }\n };\n\n const removeFocusClass = () => {\n if (!useFalseFocus) {\n getFocuses().forEach((element) => {\n if (focusClasses.focused) {\n element.classList.remove(focusClasses.focused);\n }\n // remove the global class HvIsFocused\n element.classList.remove(\"HvIsFocused\");\n classes?.focus?.split(\" \").forEach((c) => element.classList.remove(c));\n });\n }\n };\n\n const onFocus = (evt) => {\n addFocusClass(evt);\n setShowFocus(true);\n // give focus to child element if any focusable\n\n if (childFocus && childFocus.focus) childFocus.focus();\n onFocusStrategy(evt);\n };\n\n const onBlur = () => {\n setShowFocus(false);\n removeFocusClass();\n onBlurStrategy();\n };\n\n const onMouseDown = (evt) => {\n const hasCard = !!evt.currentTarget?.querySelector(\".HvIsCardGridElement\");\n if (strategy === \"grid\" && hasCard) return;\n\n setFocusTo(evt.currentTarget);\n setTabIndex(evt.currentTarget, 0);\n // remove focus outline unless explicitly enabled\n if (!focusOnClick) {\n // TODO this piece of code works only because onMouseDown is happening after the focus event\n // There is nothing in here that guarantees the order of these events, so it may present a problem in the future\n removeFocusClass();\n setShowFocus(false);\n }\n };\n\n const focusAndUpdateIndex = (nextFocus, previousFocus, focusesList) => {\n if (focusesList?.includes(previousFocus)) {\n setTabIndex(previousFocus, -1);\n }\n setTabIndex(nextFocus, 0);\n setFocusTo(nextFocus);\n };\n\n const getEnabledKeys = (currentFocusIndex, jump, listSize) => ({\n right:\n (currentFocusIndex + 1) % jump === 0 ||\n currentFocusIndex + 1 > listSize - 1,\n left: currentFocusIndex % jump === 0,\n up: currentFocusIndex - jump < 0,\n down:\n currentFocusIndex + jump > listSize ||\n currentFocusIndex + jump > listSize - 1,\n });\n\n const onGridKeyDownHandler = (\n evt,\n focuses,\n focusesList,\n currentFocusIndex,\n jump\n ) => {\n const {\n ArrowUp,\n ArrowDown,\n Home,\n End,\n ArrowLeft,\n ArrowRight,\n Enter,\n SpaceBar,\n } = keyboardCodes;\n\n const childFocusIsInput = childFocus && childFocus.nodeName === \"INPUT\";\n\n if (\n !isOneOfKeys(evt, [\n ArrowUp,\n ArrowDown,\n ArrowLeft,\n ArrowRight,\n Home,\n End,\n SpaceBar,\n Enter,\n ]) ||\n (childFocusIsInput && isKey(evt, Enter))\n ) {\n // nothing to do\n return;\n }\n\n // we'll do something with the key so prevent default and stop propagation\n // except for Enter and SpaceBar\n if (!isOneOfKeys(evt, [Enter, SpaceBar])) {\n evt.preventDefault();\n evt.stopPropagation();\n }\n\n const blockedKeys = getEnabledKeys(\n currentFocusIndex,\n jump,\n focusesList.length\n );\n\n switch (evt.keyCode) {\n case SpaceBar:\n case Enter:\n if (isBrowser(\"firefox\")) {\n evt.target.click();\n } else {\n evt.currentTarget.click();\n }\n break;\n case ArrowUp:\n if (!blockedKeys.up) {\n focusAndUpdateIndex(\n focuses.jump || focuses.last,\n evt.current,\n focusesList\n );\n }\n break;\n case ArrowDown:\n if (!blockedKeys.down) {\n focusAndUpdateIndex(\n focuses.fall || focuses.first,\n evt.current,\n focusesList\n );\n }\n break;\n case ArrowLeft:\n if (!blockedKeys.left) {\n focusAndUpdateIndex(\n focuses.previous || focuses.last,\n evt.current,\n focusesList\n );\n }\n break;\n case ArrowRight:\n if (!blockedKeys.right) {\n focusAndUpdateIndex(\n focuses.next || focuses.first,\n evt.current,\n focusesList\n );\n }\n break;\n case Home:\n focusAndUpdateIndex(focuses.first, evt.current, focusesList);\n break;\n case End:\n focusAndUpdateIndex(focuses.last, evt.current, focusesList);\n break;\n default:\n }\n };\n\n const onVerticalArrangementHandler = (evt, focuses, focusesList) => {\n const { ArrowUp, ArrowDown, Home, End, Enter, SpaceBar } = keyboardCodes;\n const childFocusIsInput = childFocus && childFocus.nodeName === \"INPUT\";\n\n if (\n !isOneOfKeys(evt, [ArrowUp, ArrowDown, Home, End, SpaceBar, Enter]) ||\n (childFocusIsInput && isKey(evt, Enter))\n ) {\n // nothing to do\n return;\n }\n\n // we'll do something with the key so prevent default and stop propagation\n evt.preventDefault();\n evt.stopPropagation();\n\n switch (evt.keyCode) {\n case SpaceBar:\n case Enter:\n evt.target.click();\n break;\n case ArrowUp:\n focusAndUpdateIndex(\n focuses.previous || focuses.last,\n evt.current,\n focusesList\n );\n break;\n case ArrowDown:\n focusAndUpdateIndex(\n focuses.next || focuses.first,\n evt.current,\n focusesList\n );\n break;\n case Home:\n focusAndUpdateIndex(focuses.first, evt.current, focusesList);\n break;\n case End:\n focusAndUpdateIndex(focuses.last, evt.current, focusesList);\n break;\n default:\n }\n };\n\n const onSingleHandler = (evt) => {\n const { Enter, SpaceBar } = keyboardCodes;\n const childFocusIsInput = childFocus && childFocus.nodeName === \"INPUT\";\n\n if (\n !isOneOfKeys(evt, [SpaceBar, Enter]) ||\n (childFocusIsInput && isKey(evt, Enter))\n ) {\n // nothing to do\n return;\n }\n\n // we'll do something with the key so prevent default and stop propagation\n evt.preventDefault();\n evt.stopPropagation();\n\n evt.currentTarget.click();\n };\n\n const onKeyDown = (evt) => {\n if (rootRef?.current == null) {\n // operating outside of a composite widget\n // nothing to manage, just style and trigger clicks\n onSingleHandler(evt);\n return;\n }\n\n // TODO keep the smart default, but allow to explicitly override if disabled elements should be focusable\n const isDisabledFocusable = strategy === \"menu\";\n const focusesList = getFocuses().filter(\n (el) =>\n isDisabledFocusable ||\n !el.classList.contains(classes?.disabled as string)\n );\n\n const currentFocus = focusesList.indexOf(evt.currentTarget);\n\n const focuses = {\n first: focusesList[0],\n last: focusesList[focusesList.length - 1],\n previous: focusesList[currentFocus - 1],\n next: focusesList[currentFocus + 1],\n fall: focusesList[currentFocus + navigationJump],\n jump: focusesList[currentFocus - navigationJump],\n };\n\n if (strategy === \"grid\") {\n onGridKeyDownHandler(\n evt,\n focuses,\n focusesList,\n currentFocus,\n navigationJump\n );\n return;\n }\n\n // TODO add property for specifying the composite widget orientation\n // TODO implement handler for horizontal orientation\n onVerticalArrangementHandler(evt, focuses, focusesList);\n };\n\n const onKeyUp = (evt) => {\n if (isBrowser(\"firefox\")) evt.preventDefault();\n };\n\n if (disabled) return children;\n\n const focusWrapper = (childrenToWrap) => (\n <StyledFocusWrapper\n className={clsx(\n classes?.externalReference,\n focusClasses.externalReference\n )}\n >\n {childrenToWrap}\n {showFocus && (\n <StyledFalseFocus\n className={clsx(classes?.falseFocus, focusClasses.falseFocus)}\n />\n )}\n </StyledFocusWrapper>\n );\n\n return (\n <ConditionalWrapper condition={useFalseFocus} wrapper={focusWrapper}>\n <Global styles={focusStyles} />\n {React.cloneElement(children, {\n className: clsx(\n children.props.className,\n focusClasses.root,\n classes?.root,\n filterClass,\n selected && clsx(focusClasses.selected, classes?.selected),\n disabledClass && clsx(focusClasses.disabled, classes?.disabled),\n focusDisabled &&\n clsx(focusClasses.focusDisabled, classes?.focusDisabled)\n ),\n ref: config,\n onFocus,\n onBlur,\n onMouseDown,\n onKeyDown,\n onKeyUp,\n selected,\n })}\n </ConditionalWrapper>\n );\n};\n"],"names":["focusStyles","process","env","NODE_ENV","name","styles","map","toString","_EMOTION_STRINGIFIED_CSS_ERROR__","HvFocus","classes","children","configuration","disabledClass","selected","disabled","rootRef","undefined","focusOnClick","focusDisabled","strategy","useFalseFocus","filterClass","navigationJump","showFocus","setShowFocus","useState","childFocus","setChildFocus","hasRunConfig","setHasRunConfig","getFocuses","focuses","current","Array","from","getElementsByClassName","focusClasses","root","setTabIndex","el","tabIndex","elChildFocus","getFocusableChildren","setSelectedTabIndex","firstSelected","find","focus","classList","contains","forEach","clearTabSiblings","onFocusStrategy","evt","currentTarget","onBlurStrategy","document","activeElement","setTimeout","config","focusableChildren","length","child","isNil","addFocusClass","add","focused","split","c","removeFocusClass","element","remove","onFocus","onBlur","onMouseDown","hasCard","querySelector","setFocusTo","focusAndUpdateIndex","nextFocus","previousFocus","focusesList","includes","getEnabledKeys","currentFocusIndex","jump","listSize","right","left","up","down","onGridKeyDownHandler","ArrowUp","ArrowDown","Home","End","ArrowLeft","ArrowRight","Enter","SpaceBar","keyboardCodes","childFocusIsInput","nodeName","isOneOfKeys","isKey","preventDefault","stopPropagation","blockedKeys","keyCode","isBrowser","target","click","last","fall","first","previous","next","onVerticalArrangementHandler","onSingleHandler","onKeyDown","isDisabledFocusable","filter","currentFocus","indexOf","onKeyUp","focusWrapper","childrenToWrap","_jsxs","StyledFocusWrapper","className","clsx","externalReference","StyledFalseFocus","falseFocus","ConditionalWrapper","condition","wrapper","_jsx","Global","React","cloneElement","props","ref"],"mappings":"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"}
1
+ {"version":3,"file":"Focus.js","sources":["../../../../src/components/Focus/Focus.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport { isNil } from \"lodash\";\nimport React, { RefObject, useState } from \"react\";\nimport { HvBaseProps } from \"../../types\";\nimport { keyboardCodes, isBrowser } from \"utils\";\nimport ConditionalWrapper from \"utils/ConditionalWrapper\";\nimport { StyledFocusWrapper, StyledFalseFocus } from \"./Focus.styles\";\nimport { getFocusableChildren, isKey, isOneOfKeys, setFocusTo } from \"./utils\";\nimport focusClasses, { HvFocusClasses } from \"./focusClasses\";\nimport { css, Global } from \"@emotion/react\";\n\nconst focusStyles = css`\n .HvFocus-focused {\n outline-color: #52a8ec;\n outline-style: solid;\n outline-width: 0px;\n outline-offset: -1px;\n box-shadow: 0 0 0 1px #52a8ec, 0 0 0 4px rgba(29, 155, 209, 0.3);\n\n @media (-webkit-min-device-pixel-ratio: 0) {\n outline-color: #52a8ec;\n outline-style: solid;\n outline-width: 0px;\n outline-offset: -1px;\n box-shadow: 0 0 0 1px #52a8ec, 0 0 0 4px rgba(29, 155, 209, 0.3);\n }\n }\n\n .HvFocus-focusDisabled {\n outline: none;\n box-shadow: none;\n }\n .HvFocus-focusDisabled *:focus {\n outline: none;\n box-shadow: none;\n }\n .HvFocus-focusDisabled * {\n outline: none !important;\n box-shadow: none !important;\n }\n`;\n\nexport type HvFocusProps = HvBaseProps<HTMLElement, { children }> & {\n children: React.ReactElement;\n /** Extra configuration for the child element. */\n configuration?: {\n tabIndex?: number;\n };\n /** Indicates that the disabled class should be applied. */\n disabledClass?: boolean;\n /** Whether the focus is selected. */\n selected?: boolean;\n /** Whether the focus is disabled. */\n disabled?: boolean;\n /** The reference to the root element to hold all Focus' context. */\n rootRef?: RefObject<HTMLElement>;\n /** Show focus when click element. v*/\n focusOnClick?: boolean;\n /** Show focus when click element. v*/\n focusDisabled?: boolean;\n /** Use up/ down keyboard arrows to control focus. */\n useArrows?: boolean;\n /** Focus and navigation strategy to be used. v*/\n strategy?: \"listbox\" | \"menu\" | \"card\" | \"grid\";\n /** Uses an absolute positioned div as a focus. v*/\n useFalseFocus?: boolean;\n /** Narrows the results of the focus to only theses class v*/\n filterClass?: string;\n /** How much the navigation will skip when using the arrows. v*/\n navigationJump?: number;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvFocusClasses;\n};\n\nexport const HvFocus = ({\n classes,\n children,\n configuration = {},\n disabledClass = false,\n selected = false,\n disabled = false,\n rootRef = undefined,\n focusOnClick = false,\n focusDisabled = true,\n strategy = \"listbox\",\n useFalseFocus = false,\n filterClass,\n navigationJump = 4,\n}: HvFocusProps) => {\n const [showFocus, setShowFocus] = useState<boolean>(false);\n const [childFocus, setChildFocus] = useState<any>();\n const [hasRunConfig, setHasRunConfig] = useState(false);\n\n const getFocuses = () => {\n const focuses = rootRef?.current\n ? Array.from(\n rootRef.current.getElementsByClassName(\n filterClass || focusClasses.root || \"root\"\n )\n )\n : [];\n return focuses;\n };\n\n const setTabIndex = (el, tabIndex = 0) => {\n const elChildFocus = getFocusableChildren(el)[0];\n if (elChildFocus) {\n el.tabIndex = -1;\n elChildFocus.tabIndex = tabIndex;\n } else {\n el.tabIndex = tabIndex;\n }\n };\n\n const setSelectedTabIndex = () => {\n const focuses = getFocuses();\n const firstSelected = focuses.find((focus) =>\n focus.classList.contains(focusClasses.selected || \"selected\")\n );\n\n if (!firstSelected) return;\n focuses.forEach((focus) => setTabIndex(focus, -1));\n setTabIndex(firstSelected, 0);\n };\n\n const clearTabSiblings = (el) => {\n getFocuses().forEach((focus) => setTabIndex(focus, -1));\n setTabIndex(el, 0);\n };\n\n const onFocusStrategy = (evt) => {\n if (strategy === \"listbox\") {\n clearTabSiblings(evt.currentTarget);\n }\n };\n\n const onBlurStrategy = () => {\n if (\n strategy === \"listbox\" &&\n rootRef &&\n rootRef.current &&\n !rootRef.current.contains(document.activeElement)\n ) {\n setTimeout(() => {\n setSelectedTabIndex();\n }, 10);\n }\n };\n\n const config = (el) => {\n const { tabIndex } = configuration;\n if (!el || hasRunConfig) return;\n if (strategy === \"card\") {\n setChildFocus(children);\n return;\n }\n\n if (strategy === \"grid\") {\n return;\n }\n\n const focusableChildren = getFocusableChildren(el);\n if (focusableChildren.length) {\n focusableChildren.forEach((child) => setTabIndex(child, -1));\n setChildFocus(focusableChildren[0]);\n }\n\n if (!isNil(tabIndex)) setTabIndex(el, tabIndex);\n setHasRunConfig(true);\n };\n\n const addFocusClass = (evt) => {\n if (!useFalseFocus) {\n evt.currentTarget.classList.add(focusClasses.focused);\n // add global class HvIsFocused as a marker\n // not to be styled directly, only as helper in specific css queries\n evt.currentTarget.classList.add(\"HvIsFocused\");\n classes?.focus\n ?.split(\" \")\n .forEach((c) => evt.currentTarget.classList.add(c));\n }\n };\n\n const removeFocusClass = () => {\n if (!useFalseFocus) {\n getFocuses().forEach((element) => {\n if (focusClasses.focused) {\n element.classList.remove(focusClasses.focused);\n }\n // remove the global class HvIsFocused\n element.classList.remove(\"HvIsFocused\");\n classes?.focus?.split(\" \").forEach((c) => element.classList.remove(c));\n });\n }\n };\n\n const onFocus = (evt) => {\n addFocusClass(evt);\n setShowFocus(true);\n // give focus to child element if any focusable\n\n if (childFocus && childFocus.focus) childFocus.focus();\n onFocusStrategy(evt);\n };\n\n const onBlur = () => {\n setShowFocus(false);\n removeFocusClass();\n onBlurStrategy();\n };\n\n const onMouseDown = (evt) => {\n const hasCard = !!evt.currentTarget?.querySelector(\".HvIsCardGridElement\");\n if (strategy === \"grid\" && hasCard) return;\n\n setFocusTo(evt.currentTarget);\n setTabIndex(evt.currentTarget, 0);\n // remove focus outline unless explicitly enabled\n if (!focusOnClick) {\n // TODO this piece of code works only because onMouseDown is happening after the focus event\n // There is nothing in here that guarantees the order of these events, so it may present a problem in the future\n removeFocusClass();\n setShowFocus(false);\n }\n };\n\n const focusAndUpdateIndex = (nextFocus, previousFocus, focusesList) => {\n if (focusesList?.includes(previousFocus)) {\n setTabIndex(previousFocus, -1);\n }\n setTabIndex(nextFocus, 0);\n setFocusTo(nextFocus);\n };\n\n const getEnabledKeys = (currentFocusIndex, jump, listSize) => ({\n right:\n (currentFocusIndex + 1) % jump === 0 ||\n currentFocusIndex + 1 > listSize - 1,\n left: currentFocusIndex % jump === 0,\n up: currentFocusIndex - jump < 0,\n down:\n currentFocusIndex + jump > listSize ||\n currentFocusIndex + jump > listSize - 1,\n });\n\n const onGridKeyDownHandler = (\n evt,\n focuses,\n focusesList,\n currentFocusIndex,\n jump\n ) => {\n const {\n ArrowUp,\n ArrowDown,\n Home,\n End,\n ArrowLeft,\n ArrowRight,\n Enter,\n SpaceBar,\n } = keyboardCodes;\n\n const childFocusIsInput = childFocus && childFocus.nodeName === \"INPUT\";\n\n if (\n !isOneOfKeys(evt, [\n ArrowUp,\n ArrowDown,\n ArrowLeft,\n ArrowRight,\n Home,\n End,\n SpaceBar,\n Enter,\n ]) ||\n (childFocusIsInput && isKey(evt, Enter))\n ) {\n // nothing to do\n return;\n }\n\n // we'll do something with the key so prevent default and stop propagation\n // except for Enter and SpaceBar\n if (!isOneOfKeys(evt, [Enter, SpaceBar])) {\n evt.preventDefault();\n evt.stopPropagation();\n }\n\n const blockedKeys = getEnabledKeys(\n currentFocusIndex,\n jump,\n focusesList.length\n );\n\n switch (evt.keyCode) {\n case SpaceBar:\n case Enter:\n if (isBrowser(\"firefox\")) {\n evt.target.click();\n } else {\n evt.currentTarget.click();\n }\n break;\n case ArrowUp:\n if (!blockedKeys.up) {\n focusAndUpdateIndex(\n focuses.jump || focuses.last,\n evt.current,\n focusesList\n );\n }\n break;\n case ArrowDown:\n if (!blockedKeys.down) {\n focusAndUpdateIndex(\n focuses.fall || focuses.first,\n evt.current,\n focusesList\n );\n }\n break;\n case ArrowLeft:\n if (!blockedKeys.left) {\n focusAndUpdateIndex(\n focuses.previous || focuses.last,\n evt.current,\n focusesList\n );\n }\n break;\n case ArrowRight:\n if (!blockedKeys.right) {\n focusAndUpdateIndex(\n focuses.next || focuses.first,\n evt.current,\n focusesList\n );\n }\n break;\n case Home:\n focusAndUpdateIndex(focuses.first, evt.current, focusesList);\n break;\n case End:\n focusAndUpdateIndex(focuses.last, evt.current, focusesList);\n break;\n default:\n }\n };\n\n const onVerticalArrangementHandler = (evt, focuses, focusesList) => {\n const { ArrowUp, ArrowDown, Home, End, Enter, SpaceBar } = keyboardCodes;\n const childFocusIsInput = childFocus && childFocus.nodeName === \"INPUT\";\n\n if (\n !isOneOfKeys(evt, [ArrowUp, ArrowDown, Home, End, SpaceBar, Enter]) ||\n (childFocusIsInput && isKey(evt, Enter))\n ) {\n // nothing to do\n return;\n }\n\n // we'll do something with the key so prevent default and stop propagation\n evt.preventDefault();\n evt.stopPropagation();\n\n switch (evt.keyCode) {\n case SpaceBar:\n case Enter:\n evt.target.click();\n break;\n case ArrowUp:\n focusAndUpdateIndex(\n focuses.previous || focuses.last,\n evt.current,\n focusesList\n );\n break;\n case ArrowDown:\n focusAndUpdateIndex(\n focuses.next || focuses.first,\n evt.current,\n focusesList\n );\n break;\n case Home:\n focusAndUpdateIndex(focuses.first, evt.current, focusesList);\n break;\n case End:\n focusAndUpdateIndex(focuses.last, evt.current, focusesList);\n break;\n default:\n }\n };\n\n const onSingleHandler = (evt) => {\n const { Enter, SpaceBar } = keyboardCodes;\n const childFocusIsInput = childFocus && childFocus.nodeName === \"INPUT\";\n\n if (\n !isOneOfKeys(evt, [SpaceBar, Enter]) ||\n (childFocusIsInput && isKey(evt, Enter))\n ) {\n // nothing to do\n return;\n }\n\n // we'll do something with the key so prevent default and stop propagation\n evt.preventDefault();\n evt.stopPropagation();\n\n evt.currentTarget.click();\n };\n\n const onKeyDown = (evt) => {\n if (rootRef?.current == null) {\n // operating outside of a composite widget\n // nothing to manage, just style and trigger clicks\n onSingleHandler(evt);\n return;\n }\n\n // TODO keep the smart default, but allow to explicitly override if disabled elements should be focusable\n const isDisabledFocusable = strategy === \"menu\";\n const focusesList = getFocuses().filter(\n (el) =>\n isDisabledFocusable ||\n !el.classList.contains(classes?.disabled as string)\n );\n\n const currentFocus = focusesList.indexOf(evt.currentTarget);\n\n const focuses = {\n first: focusesList[0],\n last: focusesList[focusesList.length - 1],\n previous: focusesList[currentFocus - 1],\n next: focusesList[currentFocus + 1],\n fall: focusesList[currentFocus + navigationJump],\n jump: focusesList[currentFocus - navigationJump],\n };\n\n if (strategy === \"grid\") {\n onGridKeyDownHandler(\n evt,\n focuses,\n focusesList,\n currentFocus,\n navigationJump\n );\n return;\n }\n\n // TODO add property for specifying the composite widget orientation\n // TODO implement handler for horizontal orientation\n onVerticalArrangementHandler(evt, focuses, focusesList);\n };\n\n const onKeyUp = (evt) => {\n if (isBrowser(\"firefox\")) evt.preventDefault();\n };\n\n if (disabled) return children;\n\n const focusWrapper = (childrenToWrap) => (\n <StyledFocusWrapper\n className={clsx(\n classes?.externalReference,\n focusClasses.externalReference\n )}\n >\n {childrenToWrap}\n {showFocus && (\n <StyledFalseFocus\n className={clsx(classes?.falseFocus, focusClasses.falseFocus)}\n />\n )}\n </StyledFocusWrapper>\n );\n\n return (\n <ConditionalWrapper condition={useFalseFocus} wrapper={focusWrapper}>\n <Global styles={focusStyles} />\n {React.cloneElement(children, {\n className: clsx(\n children.props.className,\n focusClasses.root,\n classes?.root,\n filterClass,\n selected && clsx(focusClasses.selected, classes?.selected),\n disabledClass && clsx(focusClasses.disabled, classes?.disabled),\n focusDisabled &&\n clsx(focusClasses.focusDisabled, classes?.focusDisabled)\n ),\n ref: config,\n onFocus,\n onBlur,\n onMouseDown,\n onKeyDown,\n onKeyUp,\n selected,\n })}\n </ConditionalWrapper>\n );\n};\n"],"names":["focusStyles","process","env","NODE_ENV","name","styles","map","toString","_EMOTION_STRINGIFIED_CSS_ERROR__","HvFocus","classes","children","configuration","disabledClass","selected","disabled","rootRef","undefined","focusOnClick","focusDisabled","strategy","useFalseFocus","filterClass","navigationJump","showFocus","setShowFocus","useState","childFocus","setChildFocus","hasRunConfig","setHasRunConfig","getFocuses","focuses","current","Array","from","getElementsByClassName","focusClasses","root","setTabIndex","el","tabIndex","elChildFocus","getFocusableChildren","setSelectedTabIndex","firstSelected","find","focus","classList","contains","forEach","clearTabSiblings","onFocusStrategy","evt","currentTarget","onBlurStrategy","document","activeElement","setTimeout","config","focusableChildren","length","child","isNil","addFocusClass","add","focused","split","c","removeFocusClass","element","remove","onFocus","onBlur","onMouseDown","hasCard","querySelector","setFocusTo","focusAndUpdateIndex","nextFocus","previousFocus","focusesList","includes","getEnabledKeys","currentFocusIndex","jump","listSize","right","left","up","down","onGridKeyDownHandler","ArrowUp","ArrowDown","Home","End","ArrowLeft","ArrowRight","Enter","SpaceBar","keyboardCodes","childFocusIsInput","nodeName","isOneOfKeys","isKey","preventDefault","stopPropagation","blockedKeys","keyCode","isBrowser","target","click","last","fall","first","previous","next","onVerticalArrangementHandler","onSingleHandler","onKeyDown","isDisabledFocusable","filter","currentFocus","indexOf","onKeyUp","focusWrapper","childrenToWrap","_jsxs","StyledFocusWrapper","className","clsx","externalReference","StyledFalseFocus","falseFocus","ConditionalWrapper","condition","wrapper","_jsx","Global","React","cloneElement","props","ref"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Footer.js","sources":["../../../../src/components/Footer/Footer.tsx"],"sourcesContent":["import { useTheme } from \"@mui/material/styles\";\nimport clsx from \"clsx\";\nimport { HvBaseProps } from \"../../types\";\nimport footerClasses, { HvFooterClasses } from \"./footerClasses\";\nimport {\n StyledCopyright,\n StyledName,\n StyledRightContainer,\n StyledRoot,\n StyledSeparator,\n} from \"./Footer.styles\";\n\nexport type HvFooterProps = HvBaseProps & {\n name?: React.ReactNode;\n copyright?: React.ReactNode;\n links?: React.ReactNode;\n /** A Jss Object used to override or extend the styles applied to the empty state component. */\n classes?: HvFooterClasses;\n};\n\n/**\n * A Footer is a way of providing extra information at the end of a page.\n */\nexport const HvFooter = (props: HvFooterProps) => {\n const {\n name = \"Hitachi Vantara\",\n copyright = `© Hitachi Vantara Corporation ${new Date().getFullYear()}. All Rights Reserved.`,\n links,\n classes,\n className,\n ...others\n } = props;\n const muiTheme = useTheme();\n\n return (\n <StyledRoot\n $breakpoints={muiTheme.breakpoints}\n className={clsx(className, footerClasses.root, classes?.root)}\n {...others}\n >\n <StyledName\n $breakpoints={muiTheme.breakpoints}\n variant=\"label\"\n className={clsx(footerClasses.name, classes?.name)}\n >\n {name}\n </StyledName>\n <StyledRightContainer $breakpoints={muiTheme.breakpoints}>\n <StyledCopyright\n $breakpoints={muiTheme.breakpoints}\n className={clsx(footerClasses.copyright, classes?.copyright)}\n >\n {copyright}\n </StyledCopyright>\n {links && (\n <StyledSeparator\n $breakpoints={muiTheme.breakpoints}\n className={clsx(footerClasses.separator, classes?.separator)}\n />\n )}\n {links}\n </StyledRightContainer>\n </StyledRoot>\n );\n};\n"],"names":["HvFooter","props","name","copyright","Date","getFullYear","links","classes","className","others","muiTheme","useTheme","StyledRoot","$breakpoints","breakpoints","clsx","footerClasses","root","children","_jsx","StyledName","variant","_jsxs","StyledRightContainer","StyledCopyright","StyledSeparator","separator"],"mappings":";;;;;AAuBaA,MAAAA,WAAWA,CAACC,UAAyB;AAC1C,QAAA;AAAA,IACJC,OAAO;AAAA,IACPC,YAAa,oCAAgC,IAAIC,KAAAA,EAAOC;IACxDC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,OACGC;AAAAA,EACDR,IAAAA;AACJ,QAAMS,WAAWC;AAEjB,8BACGC,YAAU;AAAA,IACTC,cAAcH,SAASI;AAAAA,IACvBN,WAAWO,KAAKP,WAAWQ,cAAcC,MAAMV,mCAASU,IAAI;AAAA,IAAE,GAC1DR;AAAAA,IAAMS,UAAA,CAEVC,oBAACC,YAAU;AAAA,MACTP,cAAcH,SAASI;AAAAA,MACvBO,SAAQ;AAAA,MACRb,WAAWO,KAAKC,cAAcd,MAAMK,mCAASL,IAAI;AAAA,MAAEgB,UAElDhB;AAAAA,IAAAA,CACU,GACboB,qBAACC,sBAAoB;AAAA,MAACV,cAAcH,SAASI;AAAAA,MAAYI,UAAA,CACvDC,oBAACK,iBAAe;AAAA,QACdX,cAAcH,SAASI;AAAAA,QACvBN,WAAWO,KAAKC,cAAcb,WAAWI,mCAASJ,SAAS;AAAA,QAAEe,UAE5Df;AAAAA,MAAAA,CAAS,GAEXG,SACCa,oBAACM,iBAAe;AAAA,QACdZ,cAAcH,SAASI;AAAAA,QACvBN,WAAWO,KAAKC,cAAcU,WAAWnB,mCAASmB,SAAS;AAAA,MAAE,CAAA,GAGhEpB,KAAK;AAAA,IAAA,CACe,CAAA;AAAA,EAAA,CACZ;AAEjB;"}
1
+ {"version":3,"file":"Footer.js","sources":["../../../../src/components/Footer/Footer.tsx"],"sourcesContent":["import { useTheme } from \"@mui/material/styles\";\nimport clsx from \"clsx\";\nimport { HvBaseProps } from \"../../types\";\nimport footerClasses, { HvFooterClasses } from \"./footerClasses\";\nimport {\n StyledCopyright,\n StyledName,\n StyledRightContainer,\n StyledRoot,\n StyledSeparator,\n} from \"./Footer.styles\";\n\nexport type HvFooterProps = HvBaseProps & {\n name?: React.ReactNode;\n copyright?: React.ReactNode;\n links?: React.ReactNode;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvFooterClasses;\n};\n\n/**\n * A Footer is a way of providing extra information at the end of a page.\n */\nexport const HvFooter = (props: HvFooterProps) => {\n const {\n name = \"Hitachi Vantara\",\n copyright = `© Hitachi Vantara Corporation ${new Date().getFullYear()}. All Rights Reserved.`,\n links,\n classes,\n className,\n ...others\n } = props;\n const muiTheme = useTheme();\n\n return (\n <StyledRoot\n $breakpoints={muiTheme.breakpoints}\n className={clsx(className, footerClasses.root, classes?.root)}\n {...others}\n >\n <StyledName\n $breakpoints={muiTheme.breakpoints}\n variant=\"label\"\n className={clsx(footerClasses.name, classes?.name)}\n >\n {name}\n </StyledName>\n <StyledRightContainer $breakpoints={muiTheme.breakpoints}>\n <StyledCopyright\n $breakpoints={muiTheme.breakpoints}\n className={clsx(footerClasses.copyright, classes?.copyright)}\n >\n {copyright}\n </StyledCopyright>\n {links && (\n <StyledSeparator\n $breakpoints={muiTheme.breakpoints}\n className={clsx(footerClasses.separator, classes?.separator)}\n />\n )}\n {links}\n </StyledRightContainer>\n </StyledRoot>\n );\n};\n"],"names":["HvFooter","props","name","copyright","Date","getFullYear","links","classes","className","others","muiTheme","useTheme","StyledRoot","$breakpoints","breakpoints","clsx","footerClasses","root","children","_jsx","StyledName","variant","_jsxs","StyledRightContainer","StyledCopyright","StyledSeparator","separator"],"mappings":";;;;;AAuBaA,MAAAA,WAAWA,CAACC,UAAyB;AAC1C,QAAA;AAAA,IACJC,OAAO;AAAA,IACPC,YAAa,oCAAgC,IAAIC,KAAAA,EAAOC;IACxDC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,OACGC;AAAAA,EACDR,IAAAA;AACJ,QAAMS,WAAWC;AAEjB,8BACGC,YAAU;AAAA,IACTC,cAAcH,SAASI;AAAAA,IACvBN,WAAWO,KAAKP,WAAWQ,cAAcC,MAAMV,mCAASU,IAAI;AAAA,IAAE,GAC1DR;AAAAA,IAAMS,UAAA,CAEVC,oBAACC,YAAU;AAAA,MACTP,cAAcH,SAASI;AAAAA,MACvBO,SAAQ;AAAA,MACRb,WAAWO,KAAKC,cAAcd,MAAMK,mCAASL,IAAI;AAAA,MAAEgB,UAElDhB;AAAAA,IAAAA,CACU,GACboB,qBAACC,sBAAoB;AAAA,MAACV,cAAcH,SAASI;AAAAA,MAAYI,UAAA,CACvDC,oBAACK,iBAAe;AAAA,QACdX,cAAcH,SAASI;AAAAA,QACvBN,WAAWO,KAAKC,cAAcb,WAAWI,mCAASJ,SAAS;AAAA,QAAEe,UAE5Df;AAAAA,MAAAA,CAAS,GAEXG,SACCa,oBAACM,iBAAe;AAAA,QACdZ,cAAcH,SAASI;AAAAA,QACvBN,WAAWO,KAAKC,cAAcU,WAAWnB,mCAASmB,SAAS;AAAA,MAAE,CAAA,GAGhEpB,KAAK;AAAA,IAAA,CACe,CAAA;AAAA,EAAA,CACZ;AAEjB;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Adornment.js","sources":["../../../../../src/components/Forms/Adornment/Adornment.tsx"],"sourcesContent":["import { useContext, forwardRef, MouseEventHandler, ForwardedRef } from \"react\";\nimport clsx from \"clsx\";\nimport { HvBaseProps } from \"../../../types\";\nimport { StyledRoot, StyledIcon, StyledButton } from \"./Adornment.styles\";\nimport {\n HvFormElementContext,\n HvFormElementDescriptorsContext,\n HvFormStatus,\n} from \"../FormElement\";\nimport adornmentClasses, { HvAdornmentClasses } from \"./adornmentClasses\";\n\nconst preventDefault = (event) => event.preventDefault();\nconst noop = () => {};\n\nexport type HvAdornmentProps = HvBaseProps<\n HTMLDivElement | HTMLButtonElement,\n { onMouseDown; onKeyDown }\n> & {\n /** The icon to be added into the input. */\n icon: React.ReactNode;\n /** When the adornment should be displayed. */\n showWhen?: HvFormStatus;\n /** Function to be executed when this element is clicked. */\n onClick?: MouseEventHandler<HTMLButtonElement> | undefined;\n /** If this property is defined the adornment visibility will be exclusively controlled by this value. */\n isVisible?: boolean;\n /** A Jss Object used to override or extend the styles applied to the empty state component. */\n classes?: HvAdornmentClasses;\n};\n\n/**\n * Allows to add a decorative icon or an action to a form element, usually on the right side of an input.\n * E.g., the reveal password button.\n *\n * In addition to the showWhen feature, which uses the form element's context validation state to determine\n * its visibility, this component also ensures that it does not steal focus from the input and that it is\n * not accessible using the keyboard.\n *\n * As such, its functionality, if any, for accessibility purposes must be provided through an alternative mean,\n * or by using a regular icon button or toggle button instead.\n */\nexport const HvAdornment = forwardRef<\n HTMLDivElement | HTMLButtonElement,\n HvAdornmentProps\n>(\n (\n {\n id,\n classes,\n className,\n icon,\n showWhen = undefined,\n onClick,\n isVisible = undefined,\n ...others\n },\n ref\n ) => {\n const { elementStatus = \"\" } = useContext(HvFormElementContext);\n\n const { input } = useContext(HvFormElementDescriptorsContext);\n\n const displayIcon =\n isVisible ?? (showWhen === undefined || elementStatus === showWhen);\n\n const isClickable = !!onClick;\n\n return isClickable ? (\n <StyledButton\n id={id}\n ref={ref as ForwardedRef<HTMLButtonElement>}\n type=\"button\"\n tabIndex={-1}\n aria-controls={input?.[0]?.id}\n className={clsx(\n className,\n adornmentClasses.root,\n classes?.root,\n adornmentClasses.adornment,\n classes?.adornment,\n adornmentClasses.adornmentButton,\n classes?.adornmentButton,\n !displayIcon && clsx(adornmentClasses.hideIcon, classes?.hideIcon)\n )}\n onClick={onClick}\n onMouseDown={preventDefault}\n onKeyDown={noop}\n $hideIcon={!displayIcon}\n {...others}\n >\n <StyledIcon className={clsx(adornmentClasses.icon, classes?.icon)}>\n {icon}\n </StyledIcon>\n </StyledButton>\n ) : (\n <StyledRoot\n id={id}\n ref={ref as ForwardedRef<HTMLDivElement>}\n className={clsx(\n className,\n adornmentClasses.root,\n classes?.root,\n adornmentClasses.adornment,\n classes?.adornment,\n adornmentClasses.adornmentIcon,\n classes?.adornmentIcon,\n !displayIcon && clsx(adornmentClasses.hideIcon, classes?.hideIcon)\n )}\n $hideIcon={!displayIcon}\n role=\"presentation\"\n {...others}\n >\n <StyledIcon className={clsx(adornmentClasses.icon, classes?.icon)}>\n {icon}\n </StyledIcon>\n </StyledRoot>\n );\n }\n);\n"],"names":["preventDefault","event","noop","HvAdornment","forwardRef","id","classes","className","icon","showWhen","undefined","onClick","isVisible","others","ref","elementStatus","useContext","HvFormElementContext","input","HvFormElementDescriptorsContext","displayIcon","isClickable","StyledButton","type","tabIndex","clsx","adornmentClasses","root","adornment","adornmentButton","hideIcon","onMouseDown","onKeyDown","$hideIcon","children","StyledIcon","_jsx","StyledRoot","adornmentIcon","role"],"mappings":";;;;;;;AAWA,MAAMA,iBAAkBC,CAAUA,UAAAA,MAAMD,eAAgB;AACxD,MAAME,OAAOA,MAAM;AAAC;AA6BPC,MAAAA,cAAcC,WAIzB,CACE;AAAA,EACEC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC,WAAWC;AAAAA,EACXC;AAAAA,EACAC,YAAYF;AAAAA,KACTG;AACL,GACAC,QACG;;AACG,QAAA;AAAA,IAAEC,gBAAgB;AAAA,EAAA,IAAOC,WAAWC,oBAAoB;AAExD,QAAA;AAAA,IAAEC;AAAAA,EAAAA,IAAUF,WAAWG,+BAA+B;AAE5D,QAAMC,cACJR,gCAAcH,aAAaC,UAAaK,kBAAkBN;AAEtDY,QAAAA,cAAc,CAAC,CAACV;AAEfU,SAAAA,kCACJC,cAAY;AAAA,IACXjB;AAAAA,IACAS;AAAAA,IACAS,MAAK;AAAA,IACLC,UAAU;AAAA,IACV,kBAAeN,oCAAQ,OAARA,mBAAYb;AAAAA,IAC3BE,WAAWkB,KACTlB,WACAmB,iBAAiBC,MACjBrB,mCAASqB,MACTD,iBAAiBE,WACjBtB,mCAASsB,WACTF,iBAAiBG,iBACjBvB,mCAASuB,iBACT,CAACT,eAAeK,KAAKC,iBAAiBI,UAAUxB,mCAASwB,QAAQ,CAAC;AAAA,IAEpEnB;AAAAA,IACAoB,aAAa/B;AAAAA,IACbgC,WAAW9B;AAAAA,IACX+B,WAAW,CAACb;AAAAA,IAAY,GACpBP;AAAAA,IAAMqB,8BAETC,YAAU;AAAA,MAAC5B,WAAWkB,KAAKC,iBAAiBlB,MAAMF,mCAASE,IAAI;AAAA,MAAE0B,UAC/D1B;AAAAA,IAAAA,CAAI;AAAA,EAAA,CAEM,IAEf4B,oBAACC,YAAU;AAAA,IACThC;AAAAA,IACAS;AAAAA,IACAP,WAAWkB,KACTlB,WACAmB,iBAAiBC,MACjBrB,mCAASqB,MACTD,iBAAiBE,WACjBtB,mCAASsB,WACTF,iBAAiBY,eACjBhC,mCAASgC,eACT,CAAClB,eAAeK,KAAKC,iBAAiBI,UAAUxB,mCAASwB,QAAQ,CAAC;AAAA,IAEpEG,WAAW,CAACb;AAAAA,IACZmB,MAAK;AAAA,IAAc,GACf1B;AAAAA,IAAMqB,8BAETC,YAAU;AAAA,MAAC5B,WAAWkB,KAAKC,iBAAiBlB,MAAMF,mCAASE,IAAI;AAAA,MAAE0B,UAC/D1B;AAAAA,IAAAA,CAAI;AAAA,EAAA,CAGV;AACH,CAAC;"}
1
+ {"version":3,"file":"Adornment.js","sources":["../../../../../src/components/Forms/Adornment/Adornment.tsx"],"sourcesContent":["import { useContext, forwardRef, MouseEventHandler, ForwardedRef } from \"react\";\nimport clsx from \"clsx\";\nimport { HvBaseProps } from \"../../../types\";\nimport { StyledRoot, StyledIcon, StyledButton } from \"./Adornment.styles\";\nimport {\n HvFormElementContext,\n HvFormElementDescriptorsContext,\n HvFormStatus,\n} from \"../FormElement\";\nimport adornmentClasses, { HvAdornmentClasses } from \"./adornmentClasses\";\n\nconst preventDefault = (event) => event.preventDefault();\nconst noop = () => {};\n\nexport type HvAdornmentProps = HvBaseProps<\n HTMLDivElement | HTMLButtonElement,\n { onMouseDown; onKeyDown }\n> & {\n /** The icon to be added into the input. */\n icon: React.ReactNode;\n /** When the adornment should be displayed. */\n showWhen?: HvFormStatus;\n /** Function to be executed when this element is clicked. */\n onClick?: MouseEventHandler<HTMLButtonElement> | undefined;\n /** If this property is defined the adornment visibility will be exclusively controlled by this value. */\n isVisible?: boolean;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvAdornmentClasses;\n};\n\n/**\n * Allows to add a decorative icon or an action to a form element, usually on the right side of an input.\n * E.g., the reveal password button.\n *\n * In addition to the showWhen feature, which uses the form element's context validation state to determine\n * its visibility, this component also ensures that it does not steal focus from the input and that it is\n * not accessible using the keyboard.\n *\n * As such, its functionality, if any, for accessibility purposes must be provided through an alternative mean,\n * or by using a regular icon button or toggle button instead.\n */\nexport const HvAdornment = forwardRef<\n HTMLDivElement | HTMLButtonElement,\n HvAdornmentProps\n>(\n (\n {\n id,\n classes,\n className,\n icon,\n showWhen = undefined,\n onClick,\n isVisible = undefined,\n ...others\n },\n ref\n ) => {\n const { elementStatus = \"\" } = useContext(HvFormElementContext);\n\n const { input } = useContext(HvFormElementDescriptorsContext);\n\n const displayIcon =\n isVisible ?? (showWhen === undefined || elementStatus === showWhen);\n\n const isClickable = !!onClick;\n\n return isClickable ? (\n <StyledButton\n id={id}\n ref={ref as ForwardedRef<HTMLButtonElement>}\n type=\"button\"\n tabIndex={-1}\n aria-controls={input?.[0]?.id}\n className={clsx(\n className,\n adornmentClasses.root,\n classes?.root,\n adornmentClasses.adornment,\n classes?.adornment,\n adornmentClasses.adornmentButton,\n classes?.adornmentButton,\n !displayIcon && clsx(adornmentClasses.hideIcon, classes?.hideIcon)\n )}\n onClick={onClick}\n onMouseDown={preventDefault}\n onKeyDown={noop}\n $hideIcon={!displayIcon}\n {...others}\n >\n <StyledIcon className={clsx(adornmentClasses.icon, classes?.icon)}>\n {icon}\n </StyledIcon>\n </StyledButton>\n ) : (\n <StyledRoot\n id={id}\n ref={ref as ForwardedRef<HTMLDivElement>}\n className={clsx(\n className,\n adornmentClasses.root,\n classes?.root,\n adornmentClasses.adornment,\n classes?.adornment,\n adornmentClasses.adornmentIcon,\n classes?.adornmentIcon,\n !displayIcon && clsx(adornmentClasses.hideIcon, classes?.hideIcon)\n )}\n $hideIcon={!displayIcon}\n role=\"presentation\"\n {...others}\n >\n <StyledIcon className={clsx(adornmentClasses.icon, classes?.icon)}>\n {icon}\n </StyledIcon>\n </StyledRoot>\n );\n }\n);\n"],"names":["preventDefault","event","noop","HvAdornment","forwardRef","id","classes","className","icon","showWhen","undefined","onClick","isVisible","others","ref","elementStatus","useContext","HvFormElementContext","input","HvFormElementDescriptorsContext","displayIcon","isClickable","StyledButton","type","tabIndex","clsx","adornmentClasses","root","adornment","adornmentButton","hideIcon","onMouseDown","onKeyDown","$hideIcon","children","StyledIcon","_jsx","StyledRoot","adornmentIcon","role"],"mappings":";;;;;;;AAWA,MAAMA,iBAAkBC,CAAUA,UAAAA,MAAMD,eAAgB;AACxD,MAAME,OAAOA,MAAM;AAAC;AA6BPC,MAAAA,cAAcC,WAIzB,CACE;AAAA,EACEC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC,WAAWC;AAAAA,EACXC;AAAAA,EACAC,YAAYF;AAAAA,KACTG;AACL,GACAC,QACG;;AACG,QAAA;AAAA,IAAEC,gBAAgB;AAAA,EAAA,IAAOC,WAAWC,oBAAoB;AAExD,QAAA;AAAA,IAAEC;AAAAA,EAAAA,IAAUF,WAAWG,+BAA+B;AAE5D,QAAMC,cACJR,gCAAcH,aAAaC,UAAaK,kBAAkBN;AAEtDY,QAAAA,cAAc,CAAC,CAACV;AAEfU,SAAAA,kCACJC,cAAY;AAAA,IACXjB;AAAAA,IACAS;AAAAA,IACAS,MAAK;AAAA,IACLC,UAAU;AAAA,IACV,kBAAeN,oCAAQ,OAARA,mBAAYb;AAAAA,IAC3BE,WAAWkB,KACTlB,WACAmB,iBAAiBC,MACjBrB,mCAASqB,MACTD,iBAAiBE,WACjBtB,mCAASsB,WACTF,iBAAiBG,iBACjBvB,mCAASuB,iBACT,CAACT,eAAeK,KAAKC,iBAAiBI,UAAUxB,mCAASwB,QAAQ,CAAC;AAAA,IAEpEnB;AAAAA,IACAoB,aAAa/B;AAAAA,IACbgC,WAAW9B;AAAAA,IACX+B,WAAW,CAACb;AAAAA,IAAY,GACpBP;AAAAA,IAAMqB,8BAETC,YAAU;AAAA,MAAC5B,WAAWkB,KAAKC,iBAAiBlB,MAAMF,mCAASE,IAAI;AAAA,MAAE0B,UAC/D1B;AAAAA,IAAAA,CAAI;AAAA,EAAA,CAEM,IAEf4B,oBAACC,YAAU;AAAA,IACThC;AAAAA,IACAS;AAAAA,IACAP,WAAWkB,KACTlB,WACAmB,iBAAiBC,MACjBrB,mCAASqB,MACTD,iBAAiBE,WACjBtB,mCAASsB,WACTF,iBAAiBY,eACjBhC,mCAASgC,eACT,CAAClB,eAAeK,KAAKC,iBAAiBI,UAAUxB,mCAASwB,QAAQ,CAAC;AAAA,IAEpEG,WAAW,CAACb;AAAAA,IACZmB,MAAK;AAAA,IAAc,GACf1B;AAAAA,IAAMqB,8BAETC,YAAU;AAAA,MAAC5B,WAAWkB,KAAKC,iBAAiBlB,MAAMF,mCAASE,IAAI;AAAA,MAAE0B,UAC/D1B;AAAAA,IAAAA,CAAI;AAAA,EAAA,CAGV;AACH,CAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"CharCounter.js","sources":["../../../../../src/components/Forms/CharCounter/CharCounter.tsx"],"sourcesContent":["import { useContext } from \"react\";\nimport clsx from \"clsx\";\nimport { HvBaseProps } from \"../../../types\";\nimport { StyledRoot, StyledTypography } from \"./CharCounter.styles\";\nimport { setId } from \"../../../utils\";\nimport { HvFormElementContext } from \"../FormElement\";\nimport charCounterClasses, { HvCharCounterClasses } from \"./charCounterClasses\";\n\nexport type HvCharCounterProps = HvBaseProps & {\n /** The string that separates the current char quantity from the max quantity. */\n separator?: string;\n /** The maximum allowed length of the characters. */\n maxCharQuantity: number;\n /** The current char quantity to be rendered. */\n currentCharQuantity?: number;\n /** If `true` the counter is disabled. */\n disabled?: boolean;\n /** If `true` the info message won't have margins. */\n disableGutter?: boolean;\n /** A Jss Object used to override or extend the styles applied to the empty state component. */\n classes?: HvCharCounterClasses;\n};\n\n/**\n * Displays the capacity and current usage of a text input box (character count by default).\n *\n * Use the character counter when there is a character or word limit.\n * By itself it doesn't block the user from going above the limit.\n */\nexport const HvCharCounter = ({\n separator = \"/\",\n maxCharQuantity,\n currentCharQuantity = 0,\n classes,\n className,\n id,\n disabled,\n disableGutter = false,\n ...others\n}: HvCharCounterProps) => {\n const { elementId, elementDisabled } = useContext(HvFormElementContext);\n const localDisabled = disabled || elementDisabled;\n const localId = id ?? setId(elementId, \"counter\");\n const currentId = setId(localId, \"currentQuantity\");\n const maxQuantityId = setId(localId, \"maxQuantity\");\n const isOverloaded = currentCharQuantity > maxCharQuantity;\n\n return (\n <StyledRoot\n id={localId}\n className={clsx(\n className,\n charCounterClasses.root,\n classes?.root,\n localDisabled &&\n clsx(charCounterClasses.counterDisabled, classes?.counterDisabled),\n !disableGutter && clsx(charCounterClasses.gutter, classes?.gutter)\n )}\n $counterDisabled={!!localDisabled}\n $gutter={!disableGutter}\n aria-live=\"polite\"\n aria-disabled={localDisabled}\n {...others}\n >\n <StyledTypography\n id={currentId}\n className={clsx(\n isOverloaded &&\n !localDisabled &&\n clsx(charCounterClasses.overloaded, classes?.overloaded),\n localDisabled &&\n clsx(charCounterClasses.counterDisabled, classes?.counterDisabled)\n )}\n variant=\"label\"\n component=\"label\"\n $overloaded={isOverloaded && !localDisabled}\n $counterDisabled={!!localDisabled}\n >\n {currentCharQuantity}\n </StyledTypography>\n <StyledTypography\n id={maxQuantityId}\n className={clsx(\n isOverloaded &&\n !localDisabled &&\n clsx(charCounterClasses.overloaded, classes?.overloaded),\n localDisabled &&\n clsx(charCounterClasses.counterDisabled, classes?.counterDisabled)\n )}\n variant=\"body\"\n component=\"label\"\n $overloaded={isOverloaded && !localDisabled}\n $counterDisabled={!!localDisabled}\n >\n {` ${separator} ${maxCharQuantity}`}\n </StyledTypography>\n </StyledRoot>\n );\n};\n"],"names":["HvCharCounter","separator","maxCharQuantity","currentCharQuantity","classes","className","id","disabled","disableGutter","others","elementId","elementDisabled","useContext","HvFormElementContext","localDisabled","localId","setId","currentId","maxQuantityId","isOverloaded","StyledRoot","clsx","charCounterClasses","root","counterDisabled","gutter","$counterDisabled","$gutter","children","_jsx","StyledTypography","overloaded","variant","component","$overloaded"],"mappings":";;;;;;;AA6BO,MAAMA,gBAAgBA,CAAC;AAAA,EAC5BC,YAAY;AAAA,EACZC;AAAAA,EACAC,sBAAsB;AAAA,EACtBC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC,gBAAgB;AAAA,KACbC;AACe,MAAM;AAClB,QAAA;AAAA,IAAEC;AAAAA,IAAWC;AAAAA,EAAAA,IAAoBC,WAAWC,oBAAoB;AACtE,QAAMC,gBAAgBP,YAAYI;AAClC,QAAMI,UAAUT,kBAAMU,MAAMN,WAAW,SAAS;AAC1CO,QAAAA,YAAYD,MAAMD,SAAS,iBAAiB;AAC5CG,QAAAA,gBAAgBF,MAAMD,SAAS,aAAa;AAClD,QAAMI,eAAehB,sBAAsBD;AAE3C,8BACGkB,YAAU;AAAA,IACTd,IAAIS;AAAAA,IACJV,WAAWgB,KACThB,WACAiB,mBAAmBC,MACnBnB,mCAASmB,MACTT,iBACEO,KAAKC,mBAAmBE,iBAAiBpB,mCAASoB,eAAe,GACnE,CAAChB,iBAAiBa,KAAKC,mBAAmBG,QAAQrB,mCAASqB,MAAM,CAAC;AAAA,IAEpEC,kBAAkB,CAAC,CAACZ;AAAAA,IACpBa,SAAS,CAACnB;AAAAA,IACV,aAAU;AAAA,IACV,iBAAeM;AAAAA,IAAc,GACzBL;AAAAA,IAAMmB,UAAA,CAEVC,oBAACC,kBAAgB;AAAA,MACfxB,IAAIW;AAAAA,MACJZ,WAAWgB,KACTF,gBACE,CAACL,iBACDO,KAAKC,mBAAmBS,YAAY3B,mCAAS2B,UAAU,GACzDjB,iBACEO,KAAKC,mBAAmBE,iBAAiBpB,mCAASoB,eAAe,CAAC;AAAA,MAEtEQ,SAAQ;AAAA,MACRC,WAAU;AAAA,MACVC,aAAaf,gBAAgB,CAACL;AAAAA,MAC9BY,kBAAkB,CAAC,CAACZ;AAAAA,MAAcc,UAEjCzB;AAAAA,IAAAA,CACgB,GACnB0B,oBAACC,kBAAgB;AAAA,MACfxB,IAAIY;AAAAA,MACJb,WAAWgB,KACTF,gBACE,CAACL,iBACDO,KAAKC,mBAAmBS,YAAY3B,mCAAS2B,UAAU,GACzDjB,iBACEO,KAAKC,mBAAmBE,iBAAiBpB,mCAASoB,eAAe,CAAC;AAAA,MAEtEQ,SAAQ;AAAA,MACRC,WAAU;AAAA,MACVC,aAAaf,gBAAgB,CAACL;AAAAA,MAC9BY,kBAAkB,CAAC,CAACZ;AAAAA,MAAcc,UAEhC,IAAG3B,aAAaC;AAAAA,IAAAA,CACD,CAAA;AAAA,EAAA,CACR;AAEjB;"}
1
+ {"version":3,"file":"CharCounter.js","sources":["../../../../../src/components/Forms/CharCounter/CharCounter.tsx"],"sourcesContent":["import { useContext } from \"react\";\nimport clsx from \"clsx\";\nimport { HvBaseProps } from \"../../../types\";\nimport { StyledRoot, StyledTypography } from \"./CharCounter.styles\";\nimport { setId } from \"../../../utils\";\nimport { HvFormElementContext } from \"../FormElement\";\nimport charCounterClasses, { HvCharCounterClasses } from \"./charCounterClasses\";\n\nexport type HvCharCounterProps = HvBaseProps & {\n /** The string that separates the current char quantity from the max quantity. */\n separator?: string;\n /** The maximum allowed length of the characters. */\n maxCharQuantity: number;\n /** The current char quantity to be rendered. */\n currentCharQuantity?: number;\n /** If `true` the counter is disabled. */\n disabled?: boolean;\n /** If `true` the info message won't have margins. */\n disableGutter?: boolean;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvCharCounterClasses;\n};\n\n/**\n * Displays the capacity and current usage of a text input box (character count by default).\n *\n * Use the character counter when there is a character or word limit.\n * By itself it doesn't block the user from going above the limit.\n */\nexport const HvCharCounter = ({\n separator = \"/\",\n maxCharQuantity,\n currentCharQuantity = 0,\n classes,\n className,\n id,\n disabled,\n disableGutter = false,\n ...others\n}: HvCharCounterProps) => {\n const { elementId, elementDisabled } = useContext(HvFormElementContext);\n const localDisabled = disabled || elementDisabled;\n const localId = id ?? setId(elementId, \"counter\");\n const currentId = setId(localId, \"currentQuantity\");\n const maxQuantityId = setId(localId, \"maxQuantity\");\n const isOverloaded = currentCharQuantity > maxCharQuantity;\n\n return (\n <StyledRoot\n id={localId}\n className={clsx(\n className,\n charCounterClasses.root,\n classes?.root,\n localDisabled &&\n clsx(charCounterClasses.counterDisabled, classes?.counterDisabled),\n !disableGutter && clsx(charCounterClasses.gutter, classes?.gutter)\n )}\n $counterDisabled={!!localDisabled}\n $gutter={!disableGutter}\n aria-live=\"polite\"\n aria-disabled={localDisabled}\n {...others}\n >\n <StyledTypography\n id={currentId}\n className={clsx(\n isOverloaded &&\n !localDisabled &&\n clsx(charCounterClasses.overloaded, classes?.overloaded),\n localDisabled &&\n clsx(charCounterClasses.counterDisabled, classes?.counterDisabled)\n )}\n variant=\"label\"\n component=\"label\"\n $overloaded={isOverloaded && !localDisabled}\n $counterDisabled={!!localDisabled}\n >\n {currentCharQuantity}\n </StyledTypography>\n <StyledTypography\n id={maxQuantityId}\n className={clsx(\n isOverloaded &&\n !localDisabled &&\n clsx(charCounterClasses.overloaded, classes?.overloaded),\n localDisabled &&\n clsx(charCounterClasses.counterDisabled, classes?.counterDisabled)\n )}\n variant=\"body\"\n component=\"label\"\n $overloaded={isOverloaded && !localDisabled}\n $counterDisabled={!!localDisabled}\n >\n {` ${separator} ${maxCharQuantity}`}\n </StyledTypography>\n </StyledRoot>\n );\n};\n"],"names":["HvCharCounter","separator","maxCharQuantity","currentCharQuantity","classes","className","id","disabled","disableGutter","others","elementId","elementDisabled","useContext","HvFormElementContext","localDisabled","localId","setId","currentId","maxQuantityId","isOverloaded","StyledRoot","clsx","charCounterClasses","root","counterDisabled","gutter","$counterDisabled","$gutter","children","_jsx","StyledTypography","overloaded","variant","component","$overloaded"],"mappings":";;;;;;;AA6BO,MAAMA,gBAAgBA,CAAC;AAAA,EAC5BC,YAAY;AAAA,EACZC;AAAAA,EACAC,sBAAsB;AAAA,EACtBC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC,gBAAgB;AAAA,KACbC;AACe,MAAM;AAClB,QAAA;AAAA,IAAEC;AAAAA,IAAWC;AAAAA,EAAAA,IAAoBC,WAAWC,oBAAoB;AACtE,QAAMC,gBAAgBP,YAAYI;AAClC,QAAMI,UAAUT,kBAAMU,MAAMN,WAAW,SAAS;AAC1CO,QAAAA,YAAYD,MAAMD,SAAS,iBAAiB;AAC5CG,QAAAA,gBAAgBF,MAAMD,SAAS,aAAa;AAClD,QAAMI,eAAehB,sBAAsBD;AAE3C,8BACGkB,YAAU;AAAA,IACTd,IAAIS;AAAAA,IACJV,WAAWgB,KACThB,WACAiB,mBAAmBC,MACnBnB,mCAASmB,MACTT,iBACEO,KAAKC,mBAAmBE,iBAAiBpB,mCAASoB,eAAe,GACnE,CAAChB,iBAAiBa,KAAKC,mBAAmBG,QAAQrB,mCAASqB,MAAM,CAAC;AAAA,IAEpEC,kBAAkB,CAAC,CAACZ;AAAAA,IACpBa,SAAS,CAACnB;AAAAA,IACV,aAAU;AAAA,IACV,iBAAeM;AAAAA,IAAc,GACzBL;AAAAA,IAAMmB,UAAA,CAEVC,oBAACC,kBAAgB;AAAA,MACfxB,IAAIW;AAAAA,MACJZ,WAAWgB,KACTF,gBACE,CAACL,iBACDO,KAAKC,mBAAmBS,YAAY3B,mCAAS2B,UAAU,GACzDjB,iBACEO,KAAKC,mBAAmBE,iBAAiBpB,mCAASoB,eAAe,CAAC;AAAA,MAEtEQ,SAAQ;AAAA,MACRC,WAAU;AAAA,MACVC,aAAaf,gBAAgB,CAACL;AAAAA,MAC9BY,kBAAkB,CAAC,CAACZ;AAAAA,MAAcc,UAEjCzB;AAAAA,IAAAA,CACgB,GACnB0B,oBAACC,kBAAgB;AAAA,MACfxB,IAAIY;AAAAA,MACJb,WAAWgB,KACTF,gBACE,CAACL,iBACDO,KAAKC,mBAAmBS,YAAY3B,mCAAS2B,UAAU,GACzDjB,iBACEO,KAAKC,mBAAmBE,iBAAiBpB,mCAASoB,eAAe,CAAC;AAAA,MAEtEQ,SAAQ;AAAA,MACRC,WAAU;AAAA,MACVC,aAAaf,gBAAgB,CAACL;AAAAA,MAC9BY,kBAAkB,CAAC,CAACZ;AAAAA,MAAcc,UAEhC,IAAG3B,aAAaC;AAAAA,IAAAA,CACD,CAAA;AAAA,EAAA,CACR;AAEjB;"}
@@ -1 +1 @@
1
- {"version":3,"file":"FormElement.js","sources":["../../../../../src/components/Forms/FormElement/FormElement.tsx"],"sourcesContent":["import { useMemo } from \"react\";\nimport clsx from \"clsx\";\nimport { HvBaseProps } from \"../../../types/index\";\nimport { useUniqueId } from \"hooks\";\nimport { findDescriptors } from \"./utils/FormUtils\";\nimport { HvFormElementContextProvider } from \"./context/FormElementContext\";\nimport { HvFormElementValueContextProvider } from \"./context/FormElementValueContext\";\nimport { HvFormElementDescriptorsContextProvider } from \"./context/FormElementDescriptorsContext\";\nimport formElementClasses, { HvFormElementClasses } from \"./formElementClasses\";\n\nexport type HvFormStatus = \"standBy\" | \"valid\" | \"invalid\" | \"empty\";\n\nexport type HvFormElementProps = HvBaseProps & {\n /**\n * Name of the form element.\n *\n * Part of a name/value pair, should be the name property of the underling native input.\n */\n name?: string;\n /**\n * Current value of the form element.\n *\n * Part of a name/value pair, should be the value property of the underling native input.\n */\n value?: any;\n /**\n * The label of the form element.\n *\n * The form element must be labeled for accessibility reasons.\n * If not provided, an aria-label or aria-labelledby must be provided instead.\n */\n label?: React.ReactNode;\n /** Provide additional descriptive text for the form element. */\n description?: React.ReactNode;\n /** Whether the form element is disabled. */\n disabled?: boolean;\n /** Indicates that the form element is not editable. */\n readOnly?: boolean;\n /** Indicates that user input is required on the form element. */\n required?: boolean;\n /**\n * The status of the form element.\n *\n * Valid is correct, invalid is incorrect and standBy means no validations have run.\n *\n * When uncontrolled and unspecified it will default to \"standBy\" and change to either \"valid\"\n * or \"invalid\" after any change to the state.\n */\n status?: HvFormStatus;\n /** The error message to show when `status` is \"invalid\". */\n statusMessage?: string;\n /** The callback fired when the value changes. */\n onChange?: Function;\n /** A Jss Object used to override or extend the styles applied to the empty state component. */\n classes?: HvFormElementClasses;\n};\n\nexport const HvFormElement = ({\n classes,\n className,\n children,\n id,\n name,\n value,\n disabled = false,\n required = false,\n readOnly = false,\n status = \"standBy\",\n ...others\n}: HvFormElementProps) => {\n const elementId = useUniqueId(id, \"hvformelement\");\n\n const contextValue = useMemo(\n () => ({\n elementId,\n elementName: name,\n elementStatus: status,\n elementDisabled: disabled,\n elementRequired: required,\n elementReadOnly: readOnly,\n }),\n [disabled, elementId, name, readOnly, required, status]\n );\n\n const descriptors = useMemo(() => findDescriptors(children), [children]);\n\n return (\n <div\n id={id}\n className={clsx(className, formElementClasses.root, classes?.root)}\n {...others}\n >\n <HvFormElementContextProvider value={contextValue}>\n <HvFormElementValueContextProvider value={value}>\n <HvFormElementDescriptorsContextProvider value={descriptors}>\n {children}\n </HvFormElementDescriptorsContextProvider>\n </HvFormElementValueContextProvider>\n </HvFormElementContextProvider>\n </div>\n );\n};\n\nHvFormElement.formElementType = \"formelement\";\n"],"names":["HvFormElement","classes","className","children","id","name","value","disabled","required","readOnly","status","others","elementId","useUniqueId","contextValue","useMemo","elementName","elementStatus","elementDisabled","elementRequired","elementReadOnly","descriptors","findDescriptors","clsx","formElementClasses","root","HvFormElementContextProvider","HvFormElementValueContextProvider","HvFormElementDescriptorsContextProvider","formElementType"],"mappings":";;;;;;;;;AAyDO,MAAMA,gBAAgBA,CAAC;AAAA,EAC5BC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC,WAAW;AAAA,EACXC,WAAW;AAAA,EACXC,WAAW;AAAA,EACXC,SAAS;AAAA,KACNC;AACe,MAAM;AAClBC,QAAAA,YAAYC,YAAYT,IAAI,eAAe;AAE3CU,QAAAA,eAAeC,QACnB,OAAO;AAAA,IACLH;AAAAA,IACAI,aAAaX;AAAAA,IACbY,eAAeP;AAAAA,IACfQ,iBAAiBX;AAAAA,IACjBY,iBAAiBX;AAAAA,IACjBY,iBAAiBX;AAAAA,EAAAA,IAEnB,CAACF,UAAUK,WAAWP,MAAMI,UAAUD,UAAUE,MAAM,CAAC;AAGnDW,QAAAA,cAAcN,QAAQ,MAAMO,gBAAgBnB,QAAQ,GAAG,CAACA,QAAQ,CAAC;AAEvE,6BACE,OAAA;AAAA,IACEC;AAAAA,IACAF,WAAWqB,KAAKrB,WAAWsB,mBAAmBC,MAAMxB,mCAASwB,IAAI;AAAA,IAAE,GAC/Dd;AAAAA,IAAMR,8BAETuB,8BAA4B;AAAA,MAACpB,OAAOQ;AAAAA,MAAaX,8BAC/CwB,mCAAiC;AAAA,QAACrB;AAAAA,QAAaH,8BAC7CyB,yCAAuC;AAAA,UAACtB,OAAOe;AAAAA,UAAYlB;AAAAA,QAAAA,CACjD;AAAA,MAAA,CAC+B;AAAA,IAAA,CACR;AAAA,EAAA,CAElC;AAEV;AAEAH,cAAc6B,kBAAkB;"}
1
+ {"version":3,"file":"FormElement.js","sources":["../../../../../src/components/Forms/FormElement/FormElement.tsx"],"sourcesContent":["import { useMemo } from \"react\";\nimport clsx from \"clsx\";\nimport { HvBaseProps } from \"../../../types/index\";\nimport { useUniqueId } from \"hooks\";\nimport { findDescriptors } from \"./utils/FormUtils\";\nimport { HvFormElementContextProvider } from \"./context/FormElementContext\";\nimport { HvFormElementValueContextProvider } from \"./context/FormElementValueContext\";\nimport { HvFormElementDescriptorsContextProvider } from \"./context/FormElementDescriptorsContext\";\nimport formElementClasses, { HvFormElementClasses } from \"./formElementClasses\";\n\nexport type HvFormStatus = \"standBy\" | \"valid\" | \"invalid\" | \"empty\";\n\nexport type HvFormElementProps = HvBaseProps & {\n /**\n * Name of the form element.\n *\n * Part of a name/value pair, should be the name property of the underling native input.\n */\n name?: string;\n /**\n * Current value of the form element.\n *\n * Part of a name/value pair, should be the value property of the underling native input.\n */\n value?: any;\n /**\n * The label of the form element.\n *\n * The form element must be labeled for accessibility reasons.\n * If not provided, an aria-label or aria-labelledby must be provided instead.\n */\n label?: React.ReactNode;\n /** Provide additional descriptive text for the form element. */\n description?: React.ReactNode;\n /** Whether the form element is disabled. */\n disabled?: boolean;\n /** Indicates that the form element is not editable. */\n readOnly?: boolean;\n /** Indicates that user input is required on the form element. */\n required?: boolean;\n /**\n * The status of the form element.\n *\n * Valid is correct, invalid is incorrect and standBy means no validations have run.\n *\n * When uncontrolled and unspecified it will default to \"standBy\" and change to either \"valid\"\n * or \"invalid\" after any change to the state.\n */\n status?: HvFormStatus;\n /** The error message to show when `status` is \"invalid\". */\n statusMessage?: string;\n /** The callback fired when the value changes. */\n onChange?: Function;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvFormElementClasses;\n};\n\nexport const HvFormElement = ({\n classes,\n className,\n children,\n id,\n name,\n value,\n disabled = false,\n required = false,\n readOnly = false,\n status = \"standBy\",\n ...others\n}: HvFormElementProps) => {\n const elementId = useUniqueId(id, \"hvformelement\");\n\n const contextValue = useMemo(\n () => ({\n elementId,\n elementName: name,\n elementStatus: status,\n elementDisabled: disabled,\n elementRequired: required,\n elementReadOnly: readOnly,\n }),\n [disabled, elementId, name, readOnly, required, status]\n );\n\n const descriptors = useMemo(() => findDescriptors(children), [children]);\n\n return (\n <div\n id={id}\n className={clsx(className, formElementClasses.root, classes?.root)}\n {...others}\n >\n <HvFormElementContextProvider value={contextValue}>\n <HvFormElementValueContextProvider value={value}>\n <HvFormElementDescriptorsContextProvider value={descriptors}>\n {children}\n </HvFormElementDescriptorsContextProvider>\n </HvFormElementValueContextProvider>\n </HvFormElementContextProvider>\n </div>\n );\n};\n\nHvFormElement.formElementType = \"formelement\";\n"],"names":["HvFormElement","classes","className","children","id","name","value","disabled","required","readOnly","status","others","elementId","useUniqueId","contextValue","useMemo","elementName","elementStatus","elementDisabled","elementRequired","elementReadOnly","descriptors","findDescriptors","clsx","formElementClasses","root","HvFormElementContextProvider","HvFormElementValueContextProvider","HvFormElementDescriptorsContextProvider","formElementType"],"mappings":";;;;;;;;;AAyDO,MAAMA,gBAAgBA,CAAC;AAAA,EAC5BC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC,WAAW;AAAA,EACXC,WAAW;AAAA,EACXC,WAAW;AAAA,EACXC,SAAS;AAAA,KACNC;AACe,MAAM;AAClBC,QAAAA,YAAYC,YAAYT,IAAI,eAAe;AAE3CU,QAAAA,eAAeC,QACnB,OAAO;AAAA,IACLH;AAAAA,IACAI,aAAaX;AAAAA,IACbY,eAAeP;AAAAA,IACfQ,iBAAiBX;AAAAA,IACjBY,iBAAiBX;AAAAA,IACjBY,iBAAiBX;AAAAA,EAAAA,IAEnB,CAACF,UAAUK,WAAWP,MAAMI,UAAUD,UAAUE,MAAM,CAAC;AAGnDW,QAAAA,cAAcN,QAAQ,MAAMO,gBAAgBnB,QAAQ,GAAG,CAACA,QAAQ,CAAC;AAEvE,6BACE,OAAA;AAAA,IACEC;AAAAA,IACAF,WAAWqB,KAAKrB,WAAWsB,mBAAmBC,MAAMxB,mCAASwB,IAAI;AAAA,IAAE,GAC/Dd;AAAAA,IAAMR,8BAETuB,8BAA4B;AAAA,MAACpB,OAAOQ;AAAAA,MAAaX,8BAC/CwB,mCAAiC;AAAA,QAACrB;AAAAA,QAAaH,8BAC7CyB,yCAAuC;AAAA,UAACtB,OAAOe;AAAAA,UAAYlB;AAAAA,QAAAA,CACjD;AAAA,MAAA,CAC+B;AAAA,IAAA,CACR;AAAA,EAAA,CAElC;AAEV;AAEAH,cAAc6B,kBAAkB;"}
@@ -1 +1 @@
1
- {"version":3,"file":"InfoMessage.js","sources":["../../../../../src/components/Forms/InfoMessage/InfoMessage.tsx"],"sourcesContent":["import { HvBaseProps } from \"../../../types\";\nimport { StyledTypography } from \"./InfoMessage.styles\";\nimport { HvFormElementContext } from \"../FormElement\";\nimport { useContext } from \"react\";\nimport { setId } from \"utils\";\nimport clsx from \"clsx\";\nimport infoMessageClasses, { HvInfoMessageClasses } from \"./infoMessageClasses\";\n\nexport type HvInfoMessageProps = HvBaseProps & {\n /** If `true` the label is disabled. */\n disabled?: boolean;\n /** If `true` the info message won't have margins. */\n disableGutter?: boolean;\n /** A Jss Object used to override or extend the styles applied to the empty state component. */\n classes?: HvInfoMessageClasses;\n};\n\n/**\n * Provides the user with additional descriptive text for the form element.\n */\nexport const HvInfoMessage = ({\n id,\n classes,\n className,\n children,\n disabled,\n disableGutter = false,\n ...others\n}: HvInfoMessageProps) => {\n const { elementId, elementDisabled } = useContext(HvFormElementContext);\n const localDisabled = disabled || elementDisabled;\n const localId = id ?? setId(elementId, \"description\");\n\n return (\n <StyledTypography\n id={localId}\n className={clsx(\n className,\n infoMessageClasses.root,\n classes?.root,\n localDisabled &&\n clsx(infoMessageClasses.infoDisabled, classes?.infoDisabled),\n !disableGutter && clsx(infoMessageClasses.gutter, classes?.gutter)\n )}\n variant=\"body\"\n component=\"label\"\n $infoDisabled={!!localDisabled}\n $gutter={!disableGutter}\n {...others}\n >\n {children}\n </StyledTypography>\n );\n};\n"],"names":["HvInfoMessage","id","classes","className","children","disabled","disableGutter","others","elementId","elementDisabled","useContext","HvFormElementContext","localDisabled","localId","setId","StyledTypography","clsx","infoMessageClasses","root","infoDisabled","gutter","variant","component","$infoDisabled","$gutter"],"mappings":";;;;;;;AAoBO,MAAMA,gBAAgBA,CAAC;AAAA,EAC5BC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC,gBAAgB;AAAA,KACbC;AACe,MAAM;AAClB,QAAA;AAAA,IAAEC;AAAAA,IAAWC;AAAAA,EAAAA,IAAoBC,WAAWC,oBAAoB;AACtE,QAAMC,gBAAgBP,YAAYI;AAClC,QAAMI,UAAUZ,kBAAMa,MAAMN,WAAW,aAAa;AAEpD,6BACGO,kBAAgB;AAAA,IACfd,IAAIY;AAAAA,IACJV,WAAWa,KACTb,WACAc,mBAAmBC,MACnBhB,mCAASgB,MACTN,iBACEI,KAAKC,mBAAmBE,cAAcjB,mCAASiB,YAAY,GAC7D,CAACb,iBAAiBU,KAAKC,mBAAmBG,QAAQlB,mCAASkB,MAAM,CAAC;AAAA,IAEpEC,SAAQ;AAAA,IACRC,WAAU;AAAA,IACVC,eAAe,CAAC,CAACX;AAAAA,IACjBY,SAAS,CAAClB;AAAAA,IAAc,GACpBC;AAAAA,IAAMH;AAAAA,EAAAA,CAGO;AAEvB;"}
1
+ {"version":3,"file":"InfoMessage.js","sources":["../../../../../src/components/Forms/InfoMessage/InfoMessage.tsx"],"sourcesContent":["import { HvBaseProps } from \"../../../types\";\nimport { StyledTypography } from \"./InfoMessage.styles\";\nimport { HvFormElementContext } from \"../FormElement\";\nimport { useContext } from \"react\";\nimport { setId } from \"utils\";\nimport clsx from \"clsx\";\nimport infoMessageClasses, { HvInfoMessageClasses } from \"./infoMessageClasses\";\n\nexport type HvInfoMessageProps = HvBaseProps & {\n /** If `true` the label is disabled. */\n disabled?: boolean;\n /** If `true` the info message won't have margins. */\n disableGutter?: boolean;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvInfoMessageClasses;\n};\n\n/**\n * Provides the user with additional descriptive text for the form element.\n */\nexport const HvInfoMessage = ({\n id,\n classes,\n className,\n children,\n disabled,\n disableGutter = false,\n ...others\n}: HvInfoMessageProps) => {\n const { elementId, elementDisabled } = useContext(HvFormElementContext);\n const localDisabled = disabled || elementDisabled;\n const localId = id ?? setId(elementId, \"description\");\n\n return (\n <StyledTypography\n id={localId}\n className={clsx(\n className,\n infoMessageClasses.root,\n classes?.root,\n localDisabled &&\n clsx(infoMessageClasses.infoDisabled, classes?.infoDisabled),\n !disableGutter && clsx(infoMessageClasses.gutter, classes?.gutter)\n )}\n variant=\"body\"\n component=\"label\"\n $infoDisabled={!!localDisabled}\n $gutter={!disableGutter}\n {...others}\n >\n {children}\n </StyledTypography>\n );\n};\n"],"names":["HvInfoMessage","id","classes","className","children","disabled","disableGutter","others","elementId","elementDisabled","useContext","HvFormElementContext","localDisabled","localId","setId","StyledTypography","clsx","infoMessageClasses","root","infoDisabled","gutter","variant","component","$infoDisabled","$gutter"],"mappings":";;;;;;;AAoBO,MAAMA,gBAAgBA,CAAC;AAAA,EAC5BC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC,gBAAgB;AAAA,KACbC;AACe,MAAM;AAClB,QAAA;AAAA,IAAEC;AAAAA,IAAWC;AAAAA,EAAAA,IAAoBC,WAAWC,oBAAoB;AACtE,QAAMC,gBAAgBP,YAAYI;AAClC,QAAMI,UAAUZ,kBAAMa,MAAMN,WAAW,aAAa;AAEpD,6BACGO,kBAAgB;AAAA,IACfd,IAAIY;AAAAA,IACJV,WAAWa,KACTb,WACAc,mBAAmBC,MACnBhB,mCAASgB,MACTN,iBACEI,KAAKC,mBAAmBE,cAAcjB,mCAASiB,YAAY,GAC7D,CAACb,iBAAiBU,KAAKC,mBAAmBG,QAAQlB,mCAASkB,MAAM,CAAC;AAAA,IAEpEC,SAAQ;AAAA,IACRC,WAAU;AAAA,IACVC,eAAe,CAAC,CAACX;AAAAA,IACjBY,SAAS,CAAClB;AAAAA,IAAc,GACpBC;AAAAA,IAAMH;AAAAA,EAAAA,CAGO;AAEvB;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Label.js","sources":["../../../../../src/components/Forms/Label/Label.tsx"],"sourcesContent":["import { useContext } from \"react\";\nimport clsx from \"clsx\";\nimport { StyledTypography } from \"./Label.styles\";\nimport { HvBaseProps } from \"../../../types\";\nimport { HvFormElementContext } from \"../FormElement\";\nimport { findDescriptors } from \"../FormElement/utils/FormUtils\";\nimport { setId } from \"utils\";\nimport labelClasses, { HvLabelClasses } from \"./labelClasses\";\n\nexport type HvLabelProps = HvBaseProps & {\n /** The text to be shown by the label. */\n label?: React.ReactNode;\n /** The id of the form element the label is bound to. */\n htmlFor?: string;\n /** If `true` the label is displayed with a disabled style. */\n disabled?: boolean;\n /** If `true`, the label will indicate that the form element is required (an `*` after the label text). */\n required?: boolean;\n /** A Jss Object used to override or extend the styles applied to the empty state component. */\n classes?: HvLabelClasses;\n};\n\n/**\n * Provides the user with a recognizable name for a given form element.\n */\nexport const HvLabel = ({\n id,\n classes,\n className,\n children,\n label,\n disabled,\n required,\n htmlFor: htmlForProp,\n ...others\n}: HvLabelProps) => {\n const { elementId, elementDisabled, elementRequired } =\n useContext(HvFormElementContext);\n\n const localDisabled = disabled || elementDisabled;\n const localRequired = required || elementRequired;\n\n const localId = id ?? setId(elementId, \"label\");\n\n const forId = htmlForProp || findDescriptors(children)?.input?.[0]?.id;\n\n return (\n <>\n <StyledTypography\n id={localId}\n className={clsx(\n className,\n labelClasses.root,\n classes?.root,\n localDisabled &&\n clsx(labelClasses.labelDisabled, classes?.labelDisabled),\n children &&\n label &&\n clsx(labelClasses.childGutter, classes?.childGutter)\n )}\n variant=\"label\"\n component=\"label\"\n // @ts-ignore\n htmlFor={forId}\n $labelDisabled={!!localDisabled}\n $childGutter={!!(children && label)}\n {...others}\n >\n {label}\n {localRequired && <span aria-hidden=\"true\">*</span>}\n </StyledTypography>\n {children}\n </>\n );\n};\n"],"names":["HvLabel","id","classes","className","children","label","disabled","required","htmlFor","htmlForProp","others","elementId","elementDisabled","elementRequired","useContext","HvFormElementContext","localDisabled","localRequired","localId","setId","forId","findDescriptors","input","_Fragment","_jsxs","StyledTypography","clsx","labelClasses","root","labelDisabled","childGutter","variant","component","$labelDisabled","$childGutter"],"mappings":";;;;;;;;AAyBO,MAAMA,UAAUA,CAAC;AAAA,EACtBC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC,SAASC;AAAAA,KACNC;AACS,MAAM;;AACZ,QAAA;AAAA,IAAEC;AAAAA,IAAWC;AAAAA,IAAiBC;AAAAA,EAAAA,IAClCC,WAAWC,oBAAoB;AAEjC,QAAMC,gBAAgBV,YAAYM;AAClC,QAAMK,gBAAgBV,YAAYM;AAElC,QAAMK,UAAUjB,kBAAMkB,MAAMR,WAAW,OAAO;AAE9C,QAAMS,QAAQX,iBAAeY,iCAAgBjB,QAAQ,MAAxBiB,mBAA2BC,UAA3BD,mBAAmC,OAAnCA,mBAAuCpB;AAEpE,8BACEsB,UAAA;AAAA,IAAAnB,UAAA,CACEoB,qBAACC,kBAAgB;AAAA,MACfxB,IAAIiB;AAAAA,MACJf,WAAWuB,KACTvB,WACAwB,aAAaC,MACb1B,mCAAS0B,MACTZ,iBACEU,KAAKC,aAAaE,eAAe3B,mCAAS2B,aAAa,GACzDzB,YACEC,SACAqB,KAAKC,aAAaG,aAAa5B,mCAAS4B,WAAW,CAAC;AAAA,MAExDC,SAAQ;AAAA,MACRC,WAAU;AAAA,MAEVxB,SAASY;AAAAA,MACTa,gBAAgB,CAAC,CAACjB;AAAAA,MAClBkB,cAAc,CAAC,EAAE9B,YAAYC;AAAAA,MAAO,GAChCK;AAAAA,MAAMN,UAETC,CAAAA,OACAY,qCAAiB,QAAA;AAAA,QAAM,eAAY;AAAA,QAAMb,UAAC;AAAA,MAAA,CAAQ,CAAA;AAAA,IAAA,CAAA,GAEpDA,QAAQ;AAAA,EAAA,CACR;AAEP;"}
1
+ {"version":3,"file":"Label.js","sources":["../../../../../src/components/Forms/Label/Label.tsx"],"sourcesContent":["import { useContext } from \"react\";\nimport clsx from \"clsx\";\nimport { StyledTypography } from \"./Label.styles\";\nimport { HvBaseProps } from \"../../../types\";\nimport { HvFormElementContext } from \"../FormElement\";\nimport { findDescriptors } from \"../FormElement/utils/FormUtils\";\nimport { setId } from \"utils\";\nimport labelClasses, { HvLabelClasses } from \"./labelClasses\";\n\nexport type HvLabelProps = HvBaseProps & {\n /** The text to be shown by the label. */\n label?: React.ReactNode;\n /** The id of the form element the label is bound to. */\n htmlFor?: string;\n /** If `true` the label is displayed with a disabled style. */\n disabled?: boolean;\n /** If `true`, the label will indicate that the form element is required (an `*` after the label text). */\n required?: boolean;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvLabelClasses;\n};\n\n/**\n * Provides the user with a recognizable name for a given form element.\n */\nexport const HvLabel = ({\n id,\n classes,\n className,\n children,\n label,\n disabled,\n required,\n htmlFor: htmlForProp,\n ...others\n}: HvLabelProps) => {\n const { elementId, elementDisabled, elementRequired } =\n useContext(HvFormElementContext);\n\n const localDisabled = disabled || elementDisabled;\n const localRequired = required || elementRequired;\n\n const localId = id ?? setId(elementId, \"label\");\n\n const forId = htmlForProp || findDescriptors(children)?.input?.[0]?.id;\n\n return (\n <>\n <StyledTypography\n id={localId}\n className={clsx(\n className,\n labelClasses.root,\n classes?.root,\n localDisabled &&\n clsx(labelClasses.labelDisabled, classes?.labelDisabled),\n children &&\n label &&\n clsx(labelClasses.childGutter, classes?.childGutter)\n )}\n variant=\"label\"\n component=\"label\"\n // @ts-ignore\n htmlFor={forId}\n $labelDisabled={!!localDisabled}\n $childGutter={!!(children && label)}\n {...others}\n >\n {label}\n {localRequired && <span aria-hidden=\"true\">*</span>}\n </StyledTypography>\n {children}\n </>\n );\n};\n"],"names":["HvLabel","id","classes","className","children","label","disabled","required","htmlFor","htmlForProp","others","elementId","elementDisabled","elementRequired","useContext","HvFormElementContext","localDisabled","localRequired","localId","setId","forId","findDescriptors","input","_Fragment","_jsxs","StyledTypography","clsx","labelClasses","root","labelDisabled","childGutter","variant","component","$labelDisabled","$childGutter"],"mappings":";;;;;;;;AAyBO,MAAMA,UAAUA,CAAC;AAAA,EACtBC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC,SAASC;AAAAA,KACNC;AACS,MAAM;;AACZ,QAAA;AAAA,IAAEC;AAAAA,IAAWC;AAAAA,IAAiBC;AAAAA,EAAAA,IAClCC,WAAWC,oBAAoB;AAEjC,QAAMC,gBAAgBV,YAAYM;AAClC,QAAMK,gBAAgBV,YAAYM;AAElC,QAAMK,UAAUjB,kBAAMkB,MAAMR,WAAW,OAAO;AAE9C,QAAMS,QAAQX,iBAAeY,iCAAgBjB,QAAQ,MAAxBiB,mBAA2BC,UAA3BD,mBAAmC,OAAnCA,mBAAuCpB;AAEpE,8BACEsB,UAAA;AAAA,IAAAnB,UAAA,CACEoB,qBAACC,kBAAgB;AAAA,MACfxB,IAAIiB;AAAAA,MACJf,WAAWuB,KACTvB,WACAwB,aAAaC,MACb1B,mCAAS0B,MACTZ,iBACEU,KAAKC,aAAaE,eAAe3B,mCAAS2B,aAAa,GACzDzB,YACEC,SACAqB,KAAKC,aAAaG,aAAa5B,mCAAS4B,WAAW,CAAC;AAAA,MAExDC,SAAQ;AAAA,MACRC,WAAU;AAAA,MAEVxB,SAASY;AAAAA,MACTa,gBAAgB,CAAC,CAACjB;AAAAA,MAClBkB,cAAc,CAAC,EAAE9B,YAAYC;AAAAA,MAAO,GAChCK;AAAAA,MAAMN,UAETC,CAAAA,OACAY,qCAAiB,QAAA;AAAA,QAAM,eAAY;AAAA,QAAMb,UAAC;AAAA,MAAA,CAAQ,CAAA;AAAA,IAAA,CAAA,GAEpDA,QAAQ;AAAA,EAAA,CACR;AAEP;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Suggestions.js","sources":["../../../../../src/components/Forms/Suggestions/Suggestions.tsx"],"sourcesContent":["import React, { useContext, useEffect, useRef, useState } from \"react\";\nimport clsx from \"clsx\";\nimport { HvBaseProps } from \"../../../types\";\nimport {\n StyledRoot,\n StyledSelectionList,\n StyledPopper,\n} from \"./Suggestions.styles\";\nimport { setId } from \"../../../utils\";\nimport { HvFormElementContext } from \"../FormElement\";\nimport { HvListItem } from \"components\";\nimport { useClickOutside } from \"hooks\";\nimport suggestionsClasses, { HvSuggestionsClasses } from \"./suggestionsClasses\";\n\nexport type HvSuggestion = {\n id?: string;\n label: React.ReactNode;\n value?: any;\n disabled?: boolean;\n};\n\nexport type HvSuggestionsProps = HvBaseProps & {\n /** Whether suggestions is visible. */\n expanded?: boolean;\n /** The HTML element Suggestions attaches to. */\n anchorEl?: HTMLElement | null;\n /** Array of { id, label, ...others } values to display in the suggestion list */\n suggestionValues?: HvSuggestion[] | null;\n /** Function called when suggestion list is closed */\n // onClose: Function,\n /** Function called when a suggestion is selected */\n onSuggestionSelected?: Function;\n /** Function called when suggestion list is closed */\n onClose?: Function;\n /** A Jss Object used to override or extend the styles applied to the empty state component. */\n classes?: HvSuggestionsClasses;\n};\n\nexport const HvSuggestions = ({\n id,\n className,\n classes,\n expanded = false,\n anchorEl,\n suggestionValues = [],\n onClose,\n onSuggestionSelected,\n ...others\n}: HvSuggestionsProps) => {\n const { elementId } = useContext(HvFormElementContext);\n const localId = id ?? setId(elementId, \"suggestions\");\n\n const ref = useRef<HTMLDivElement>(null);\n const [isOpen, setIsOpen] = useState<boolean>(expanded);\n\n useClickOutside(ref, (e) => {\n setIsOpen(false);\n onClose?.(e);\n });\n\n useEffect(() => {\n setIsOpen(expanded);\n }, [expanded]);\n\n return (\n <StyledRoot\n id={localId}\n ref={ref}\n className={clsx(className, suggestionsClasses.root, classes?.root)}\n {...others}\n >\n <StyledPopper\n open={isOpen}\n disablePortal\n anchorEl={anchorEl}\n className={clsx(suggestionsClasses.popper, classes?.popper)}\n >\n <StyledSelectionList\n className={clsx(suggestionsClasses.list, classes?.list)}\n id={setId(localId, \"list\")}\n onChange={onSuggestionSelected}\n >\n {suggestionValues?.map((item, i) => {\n const itemKey = item.id || setId(\"item\", i);\n\n return (\n <HvListItem\n key={itemKey}\n value={item}\n disabled={item.disabled || undefined}\n >\n {item.label}\n </HvListItem>\n );\n })}\n </StyledSelectionList>\n </StyledPopper>\n </StyledRoot>\n );\n};\n"],"names":["HvSuggestions","id","className","classes","expanded","anchorEl","suggestionValues","onClose","onSuggestionSelected","others","elementId","useContext","HvFormElementContext","localId","setId","ref","useRef","isOpen","setIsOpen","useState","useClickOutside","e","useEffect","StyledRoot","clsx","suggestionsClasses","root","children","StyledPopper","open","disablePortal","popper","StyledSelectionList","list","onChange","map","item","i","itemKey","HvListItem","value","disabled","undefined","label"],"mappings":";;;;;;;;;AAsCO,MAAMA,gBAAgBA,CAAC;AAAA,EAC5BC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC,WAAW;AAAA,EACXC;AAAAA,EACAC,mBAAmB,CAAE;AAAA,EACrBC;AAAAA,EACAC;AAAAA,KACGC;AACe,MAAM;AAClB,QAAA;AAAA,IAAEC;AAAAA,EAAAA,IAAcC,WAAWC,oBAAoB;AACrD,QAAMC,UAAUZ,kBAAMa,MAAMJ,WAAW,aAAa;AAE9CK,QAAAA,MAAMC,OAAuB,IAAI;AACvC,QAAM,CAACC,QAAQC,SAAS,IAAIC,SAAkBf,QAAQ;AAEtDgB,kBAAgBL,KAAMM,CAAM,MAAA;AAC1BH,cAAU,KAAK;AACfX,uCAAUc;AAAAA,EAAC,CACZ;AAEDC,YAAU,MAAM;AACdJ,cAAUd,QAAQ;AAAA,EAAA,GACjB,CAACA,QAAQ,CAAC;AAEb,6BACGmB,YAAU;AAAA,IACTtB,IAAIY;AAAAA,IACJE;AAAAA,IACAb,WAAWsB,KAAKtB,WAAWuB,mBAAmBC,MAAMvB,mCAASuB,IAAI;AAAA,IAAE,GAC/DjB;AAAAA,IAAMkB,8BAETC,cAAY;AAAA,MACXC,MAAMZ;AAAAA,MACNa,eAAa;AAAA,MACbzB;AAAAA,MACAH,WAAWsB,KAAKC,mBAAmBM,QAAQ5B,mCAAS4B,MAAM;AAAA,MAAEJ,8BAE3DK,qBAAmB;AAAA,QAClB9B,WAAWsB,KAAKC,mBAAmBQ,MAAM9B,mCAAS8B,IAAI;AAAA,QACtDhC,IAAIa,MAAMD,SAAS,MAAM;AAAA,QACzBqB,UAAU1B;AAAAA,QAAqBmB,UAE9BrB,qDAAkB6B,IAAI,CAACC,MAAMC,MAAM;AAClC,gBAAMC,UAAUF,KAAKnC,MAAMa,MAAM,QAAQuB,CAAC;AAE1C,qCACGE,YAAU;AAAA,YAETC,OAAOJ;AAAAA,YACPK,UAAUL,KAAKK,YAAYC;AAAAA,YAAUf,UAEpCS,KAAKO;AAAAA,aAJDL,OAAO;AAAA,QAAA;AAAA,MAOjB,CAAC;AAAA,IAAA,CACkB;AAAA,EAAA,CAEb;AAEjB;"}
1
+ {"version":3,"file":"Suggestions.js","sources":["../../../../../src/components/Forms/Suggestions/Suggestions.tsx"],"sourcesContent":["import React, { useContext, useEffect, useRef, useState } from \"react\";\nimport clsx from \"clsx\";\nimport { HvBaseProps } from \"../../../types\";\nimport {\n StyledRoot,\n StyledSelectionList,\n StyledPopper,\n} from \"./Suggestions.styles\";\nimport { setId } from \"../../../utils\";\nimport { HvFormElementContext } from \"../FormElement\";\nimport { HvListItem } from \"components\";\nimport { useClickOutside } from \"hooks\";\nimport suggestionsClasses, { HvSuggestionsClasses } from \"./suggestionsClasses\";\n\nexport type HvSuggestion = {\n id?: string;\n label: React.ReactNode;\n value?: any;\n disabled?: boolean;\n};\n\nexport type HvSuggestionsProps = HvBaseProps & {\n /** Whether suggestions is visible. */\n expanded?: boolean;\n /** The HTML element Suggestions attaches to. */\n anchorEl?: HTMLElement | null;\n /** Array of { id, label, ...others } values to display in the suggestion list */\n suggestionValues?: HvSuggestion[] | null;\n /** Function called when suggestion list is closed */\n // onClose: Function,\n /** Function called when a suggestion is selected */\n onSuggestionSelected?: Function;\n /** Function called when suggestion list is closed */\n onClose?: Function;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvSuggestionsClasses;\n};\n\nexport const HvSuggestions = ({\n id,\n className,\n classes,\n expanded = false,\n anchorEl,\n suggestionValues = [],\n onClose,\n onSuggestionSelected,\n ...others\n}: HvSuggestionsProps) => {\n const { elementId } = useContext(HvFormElementContext);\n const localId = id ?? setId(elementId, \"suggestions\");\n\n const ref = useRef<HTMLDivElement>(null);\n const [isOpen, setIsOpen] = useState<boolean>(expanded);\n\n useClickOutside(ref, (e) => {\n setIsOpen(false);\n onClose?.(e);\n });\n\n useEffect(() => {\n setIsOpen(expanded);\n }, [expanded]);\n\n return (\n <StyledRoot\n id={localId}\n ref={ref}\n className={clsx(className, suggestionsClasses.root, classes?.root)}\n {...others}\n >\n <StyledPopper\n open={isOpen}\n disablePortal\n anchorEl={anchorEl}\n className={clsx(suggestionsClasses.popper, classes?.popper)}\n >\n <StyledSelectionList\n className={clsx(suggestionsClasses.list, classes?.list)}\n id={setId(localId, \"list\")}\n onChange={onSuggestionSelected}\n >\n {suggestionValues?.map((item, i) => {\n const itemKey = item.id || setId(\"item\", i);\n\n return (\n <HvListItem\n key={itemKey}\n value={item}\n disabled={item.disabled || undefined}\n >\n {item.label}\n </HvListItem>\n );\n })}\n </StyledSelectionList>\n </StyledPopper>\n </StyledRoot>\n );\n};\n"],"names":["HvSuggestions","id","className","classes","expanded","anchorEl","suggestionValues","onClose","onSuggestionSelected","others","elementId","useContext","HvFormElementContext","localId","setId","ref","useRef","isOpen","setIsOpen","useState","useClickOutside","e","useEffect","StyledRoot","clsx","suggestionsClasses","root","children","StyledPopper","open","disablePortal","popper","StyledSelectionList","list","onChange","map","item","i","itemKey","HvListItem","value","disabled","undefined","label"],"mappings":";;;;;;;;;AAsCO,MAAMA,gBAAgBA,CAAC;AAAA,EAC5BC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC,WAAW;AAAA,EACXC;AAAAA,EACAC,mBAAmB,CAAE;AAAA,EACrBC;AAAAA,EACAC;AAAAA,KACGC;AACe,MAAM;AAClB,QAAA;AAAA,IAAEC;AAAAA,EAAAA,IAAcC,WAAWC,oBAAoB;AACrD,QAAMC,UAAUZ,kBAAMa,MAAMJ,WAAW,aAAa;AAE9CK,QAAAA,MAAMC,OAAuB,IAAI;AACvC,QAAM,CAACC,QAAQC,SAAS,IAAIC,SAAkBf,QAAQ;AAEtDgB,kBAAgBL,KAAMM,CAAM,MAAA;AAC1BH,cAAU,KAAK;AACfX,uCAAUc;AAAAA,EAAC,CACZ;AAEDC,YAAU,MAAM;AACdJ,cAAUd,QAAQ;AAAA,EAAA,GACjB,CAACA,QAAQ,CAAC;AAEb,6BACGmB,YAAU;AAAA,IACTtB,IAAIY;AAAAA,IACJE;AAAAA,IACAb,WAAWsB,KAAKtB,WAAWuB,mBAAmBC,MAAMvB,mCAASuB,IAAI;AAAA,IAAE,GAC/DjB;AAAAA,IAAMkB,8BAETC,cAAY;AAAA,MACXC,MAAMZ;AAAAA,MACNa,eAAa;AAAA,MACbzB;AAAAA,MACAH,WAAWsB,KAAKC,mBAAmBM,QAAQ5B,mCAAS4B,MAAM;AAAA,MAAEJ,8BAE3DK,qBAAmB;AAAA,QAClB9B,WAAWsB,KAAKC,mBAAmBQ,MAAM9B,mCAAS8B,IAAI;AAAA,QACtDhC,IAAIa,MAAMD,SAAS,MAAM;AAAA,QACzBqB,UAAU1B;AAAAA,QAAqBmB,UAE9BrB,qDAAkB6B,IAAI,CAACC,MAAMC,MAAM;AAClC,gBAAMC,UAAUF,KAAKnC,MAAMa,MAAM,QAAQuB,CAAC;AAE1C,qCACGE,YAAU;AAAA,YAETC,OAAOJ;AAAAA,YACPK,UAAUL,KAAKK,YAAYC;AAAAA,YAAUf,UAEpCS,KAAKO;AAAAA,aAJDL,OAAO;AAAA,QAAA;AAAA,MAOjB,CAAC;AAAA,IAAA,CACkB;AAAA,EAAA,CAEb;AAEjB;"}
@@ -1 +1 @@
1
- {"version":3,"file":"WarningText.js","sources":["../../../../../src/components/Forms/WarningText/WarningText.tsx"],"sourcesContent":["import { useContext } from \"react\";\nimport clsx from \"clsx\";\nimport isNil from \"lodash/isNil\";\nimport { HvBaseProps } from \"../../../types\";\nimport { StyledRoot, StyledTypography, StyledIcon } from \"./WarningText.styles\";\nimport { HvFormElementContext } from \"../FormElement\";\nimport { setId } from \"utils\";\nimport warningTextClasses, { HvWarningTextClasses } from \"./warningTextClasses\";\n\nexport type HvWarningTextProps = HvBaseProps & {\n /** Icon to be rendered alongside the warning text. */\n adornment?: React.ReactNode;\n /** If `true` the text is not rendered. */\n isVisible?: boolean;\n /** If `true` the text is disabled. */\n disabled?: boolean;\n /** If `true` the text won't include a gutter. */\n disableGutter?: boolean;\n /** If `true` the text won't include the top border. */\n disableBorder?: boolean;\n /** If `true` the adornment icon isn't shown. */\n disableAdornment?: boolean;\n /** If `true` the text isn't shown. */\n hideText?: boolean;\n /** A Jss Object used to override or extend the styles applied to the empty state component. */\n classes?: HvWarningTextClasses;\n};\n\n/**\n * Provides the user with a descriptive text, signaling an error, for when the form element is in an invalid state.\n */\nexport const HvWarningText = ({\n children,\n adornment,\n isVisible,\n classes,\n className,\n id,\n disabled,\n disableGutter = false,\n disableBorder = false,\n disableAdornment = false,\n hideText = false,\n ...others\n}: HvWarningTextProps) => {\n const { elementId, elementStatus, elementDisabled } =\n useContext(HvFormElementContext);\n const localDisabled = disabled || elementDisabled;\n const localVisible = !isNil(isVisible)\n ? isVisible\n : elementStatus === \"invalid\";\n const localId = id ?? setId(elementId, \"error\");\n const showWarning = localVisible && !localDisabled;\n const content = showWarning ? children : \"\";\n const localAdornment = adornment || (\n <StyledIcon\n className={clsx(warningTextClasses.defaultIcon, classes?.defaultIcon)}\n semantic=\"sema4\"\n />\n );\n\n return (\n <StyledRoot\n className={clsx(\n className,\n warningTextClasses.root,\n classes?.root,\n showWarning && clsx(warningTextClasses.show, classes?.show),\n !disableBorder && clsx(warningTextClasses.topBorder, classes?.topBorder)\n )}\n $show={showWarning}\n $topBorder={!disableBorder}\n >\n {!disableAdornment && localAdornment}\n <StyledTypography\n id={localId}\n className={clsx(\n warningTextClasses.warningText,\n classes?.warningText,\n !disableGutter &&\n clsx(warningTextClasses.topGutter, classes?.topGutter),\n hideText && clsx(warningTextClasses.hideText, classes?.hideText)\n )}\n $topGutter={!disableGutter}\n $hideText={hideText}\n role=\"status\"\n aria-relevant=\"additions text\"\n {...others}\n >\n {showWarning && content}\n </StyledTypography>\n </StyledRoot>\n );\n};\n"],"names":["HvWarningText","children","adornment","isVisible","classes","className","id","disabled","disableGutter","disableBorder","disableAdornment","hideText","others","elementId","elementStatus","elementDisabled","useContext","HvFormElementContext","localDisabled","localVisible","isNil","localId","setId","showWarning","content","localAdornment","_jsx","StyledIcon","clsx","warningTextClasses","defaultIcon","semantic","StyledRoot","root","show","topBorder","$show","$topBorder","StyledTypography","warningText","topGutter","$topGutter","$hideText","role"],"mappings":";;;;;;;;AA+BO,MAAMA,gBAAgBA,CAAC;AAAA,EAC5BC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC,gBAAgB;AAAA,EAChBC,gBAAgB;AAAA,EAChBC,mBAAmB;AAAA,EACnBC,WAAW;AAAA,KACRC;AACe,MAAM;AAClB,QAAA;AAAA,IAAEC;AAAAA,IAAWC;AAAAA,IAAeC;AAAAA,EAAAA,IAChCC,WAAWC,oBAAoB;AACjC,QAAMC,gBAAgBX,YAAYQ;AAClC,QAAMI,eAAe,CAACC,MAAMjB,SAAS,IACjCA,YACAW,kBAAkB;AACtB,QAAMO,UAAUf,kBAAMgB,MAAMT,WAAW,OAAO;AACxCU,QAAAA,cAAcJ,gBAAgB,CAACD;AAC/BM,QAAAA,UAAUD,cAActB,WAAW;AACnCwB,QAAAA,iBAAiBvB,aACrBwB,oBAACC,YAAU;AAAA,IACTtB,WAAWuB,KAAKC,mBAAmBC,aAAa1B,mCAAS0B,WAAW;AAAA,IACpEC,UAAS;AAAA,EAAA,CAEZ;AAED,8BACGC,YAAU;AAAA,IACT3B,WAAWuB,KACTvB,WACAwB,mBAAmBI,MACnB7B,mCAAS6B,MACTV,eAAeK,KAAKC,mBAAmBK,MAAM9B,mCAAS8B,IAAI,GAC1D,CAACzB,iBAAiBmB,KAAKC,mBAAmBM,WAAW/B,mCAAS+B,SAAS,CAAC;AAAA,IAE1EC,OAAOb;AAAAA,IACPc,YAAY,CAAC5B;AAAAA,IAAcR,UAAA,CAE1B,CAACS,oBAAoBe,oCACrBa,kBAAgB;AAAA,MACfhC,IAAIe;AAAAA,MACJhB,WAAWuB,KACTC,mBAAmBU,aACnBnC,mCAASmC,aACT,CAAC/B,iBACCoB,KAAKC,mBAAmBW,WAAWpC,mCAASoC,SAAS,GACvD7B,YAAYiB,KAAKC,mBAAmBlB,UAAUP,mCAASO,QAAQ,CAAC;AAAA,MAElE8B,YAAY,CAACjC;AAAAA,MACbkC,WAAW/B;AAAAA,MACXgC,MAAK;AAAA,MACL,iBAAc;AAAA,MAAgB,GAC1B/B;AAAAA,MAAMX,UAETsB,eAAeC;AAAAA,IAAAA,CACC,CAAA;AAAA,EAAA,CACR;AAEjB;"}
1
+ {"version":3,"file":"WarningText.js","sources":["../../../../../src/components/Forms/WarningText/WarningText.tsx"],"sourcesContent":["import { useContext } from \"react\";\nimport clsx from \"clsx\";\nimport isNil from \"lodash/isNil\";\nimport { HvBaseProps } from \"../../../types\";\nimport { StyledRoot, StyledTypography, StyledIcon } from \"./WarningText.styles\";\nimport { HvFormElementContext } from \"../FormElement\";\nimport { setId } from \"utils\";\nimport warningTextClasses, { HvWarningTextClasses } from \"./warningTextClasses\";\n\nexport type HvWarningTextProps = HvBaseProps & {\n /** Icon to be rendered alongside the warning text. */\n adornment?: React.ReactNode;\n /** If `true` the text is not rendered. */\n isVisible?: boolean;\n /** If `true` the text is disabled. */\n disabled?: boolean;\n /** If `true` the text won't include a gutter. */\n disableGutter?: boolean;\n /** If `true` the text won't include the top border. */\n disableBorder?: boolean;\n /** If `true` the adornment icon isn't shown. */\n disableAdornment?: boolean;\n /** If `true` the text isn't shown. */\n hideText?: boolean;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvWarningTextClasses;\n};\n\n/**\n * Provides the user with a descriptive text, signaling an error, for when the form element is in an invalid state.\n */\nexport const HvWarningText = ({\n children,\n adornment,\n isVisible,\n classes,\n className,\n id,\n disabled,\n disableGutter = false,\n disableBorder = false,\n disableAdornment = false,\n hideText = false,\n ...others\n}: HvWarningTextProps) => {\n const { elementId, elementStatus, elementDisabled } =\n useContext(HvFormElementContext);\n const localDisabled = disabled || elementDisabled;\n const localVisible = !isNil(isVisible)\n ? isVisible\n : elementStatus === \"invalid\";\n const localId = id ?? setId(elementId, \"error\");\n const showWarning = localVisible && !localDisabled;\n const content = showWarning ? children : \"\";\n const localAdornment = adornment || (\n <StyledIcon\n className={clsx(warningTextClasses.defaultIcon, classes?.defaultIcon)}\n semantic=\"sema4\"\n />\n );\n\n return (\n <StyledRoot\n className={clsx(\n className,\n warningTextClasses.root,\n classes?.root,\n showWarning && clsx(warningTextClasses.show, classes?.show),\n !disableBorder && clsx(warningTextClasses.topBorder, classes?.topBorder)\n )}\n $show={showWarning}\n $topBorder={!disableBorder}\n >\n {!disableAdornment && localAdornment}\n <StyledTypography\n id={localId}\n className={clsx(\n warningTextClasses.warningText,\n classes?.warningText,\n !disableGutter &&\n clsx(warningTextClasses.topGutter, classes?.topGutter),\n hideText && clsx(warningTextClasses.hideText, classes?.hideText)\n )}\n $topGutter={!disableGutter}\n $hideText={hideText}\n role=\"status\"\n aria-relevant=\"additions text\"\n {...others}\n >\n {showWarning && content}\n </StyledTypography>\n </StyledRoot>\n );\n};\n"],"names":["HvWarningText","children","adornment","isVisible","classes","className","id","disabled","disableGutter","disableBorder","disableAdornment","hideText","others","elementId","elementStatus","elementDisabled","useContext","HvFormElementContext","localDisabled","localVisible","isNil","localId","setId","showWarning","content","localAdornment","_jsx","StyledIcon","clsx","warningTextClasses","defaultIcon","semantic","StyledRoot","root","show","topBorder","$show","$topBorder","StyledTypography","warningText","topGutter","$topGutter","$hideText","role"],"mappings":";;;;;;;;AA+BO,MAAMA,gBAAgBA,CAAC;AAAA,EAC5BC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC,gBAAgB;AAAA,EAChBC,gBAAgB;AAAA,EAChBC,mBAAmB;AAAA,EACnBC,WAAW;AAAA,KACRC;AACe,MAAM;AAClB,QAAA;AAAA,IAAEC;AAAAA,IAAWC;AAAAA,IAAeC;AAAAA,EAAAA,IAChCC,WAAWC,oBAAoB;AACjC,QAAMC,gBAAgBX,YAAYQ;AAClC,QAAMI,eAAe,CAACC,MAAMjB,SAAS,IACjCA,YACAW,kBAAkB;AACtB,QAAMO,UAAUf,kBAAMgB,MAAMT,WAAW,OAAO;AACxCU,QAAAA,cAAcJ,gBAAgB,CAACD;AAC/BM,QAAAA,UAAUD,cAActB,WAAW;AACnCwB,QAAAA,iBAAiBvB,aACrBwB,oBAACC,YAAU;AAAA,IACTtB,WAAWuB,KAAKC,mBAAmBC,aAAa1B,mCAAS0B,WAAW;AAAA,IACpEC,UAAS;AAAA,EAAA,CAEZ;AAED,8BACGC,YAAU;AAAA,IACT3B,WAAWuB,KACTvB,WACAwB,mBAAmBI,MACnB7B,mCAAS6B,MACTV,eAAeK,KAAKC,mBAAmBK,MAAM9B,mCAAS8B,IAAI,GAC1D,CAACzB,iBAAiBmB,KAAKC,mBAAmBM,WAAW/B,mCAAS+B,SAAS,CAAC;AAAA,IAE1EC,OAAOb;AAAAA,IACPc,YAAY,CAAC5B;AAAAA,IAAcR,UAAA,CAE1B,CAACS,oBAAoBe,oCACrBa,kBAAgB;AAAA,MACfhC,IAAIe;AAAAA,MACJhB,WAAWuB,KACTC,mBAAmBU,aACnBnC,mCAASmC,aACT,CAAC/B,iBACCoB,KAAKC,mBAAmBW,WAAWpC,mCAASoC,SAAS,GACvD7B,YAAYiB,KAAKC,mBAAmBlB,UAAUP,mCAASO,QAAQ,CAAC;AAAA,MAElE8B,YAAY,CAACjC;AAAAA,MACbkC,WAAW/B;AAAAA,MACXgC,MAAK;AAAA,MACL,iBAAc;AAAA,MAAgB,GAC1B/B;AAAAA,MAAMX,UAETsB,eAAeC;AAAAA,IAAAA,CACC,CAAA;AAAA,EAAA,CACR;AAEjB;"}