@hitachivantara/uikit-react-core 5.24.0 → 5.24.2

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 (498) hide show
  1. package/dist/cjs/components/AppSwitcher/Action/Action.cjs +32 -17
  2. package/dist/cjs/components/AppSwitcher/Action/Action.cjs.map +1 -1
  3. package/dist/cjs/components/BulkActions/BulkActions.cjs +2 -6
  4. package/dist/cjs/components/BulkActions/BulkActions.cjs.map +1 -1
  5. package/dist/cjs/components/Card/Card.styles.cjs +1 -1
  6. package/dist/cjs/components/Card/Card.styles.cjs.map +1 -1
  7. package/dist/cjs/components/Card/Header/Header.cjs +1 -1
  8. package/dist/cjs/components/Card/Header/Header.cjs.map +1 -1
  9. package/dist/cjs/components/CheckBoxGroup/CheckBoxGroup.styles.cjs +0 -4
  10. package/dist/cjs/components/CheckBoxGroup/CheckBoxGroup.styles.cjs.map +1 -1
  11. package/dist/cjs/components/ColorPicker/ColorPicker.cjs +1 -1
  12. package/dist/cjs/components/ColorPicker/ColorPicker.cjs.map +1 -1
  13. package/dist/cjs/components/ColorPicker/Fields/Fields.cjs +1 -1
  14. package/dist/cjs/components/ColorPicker/Fields/Fields.cjs.map +1 -1
  15. package/dist/cjs/components/DatePicker/DatePicker.cjs +2 -2
  16. package/dist/cjs/components/DatePicker/DatePicker.cjs.map +1 -1
  17. package/dist/cjs/components/DropDownMenu/DropDownMenu.cjs +1 -1
  18. package/dist/cjs/components/DropDownMenu/DropDownMenu.cjs.map +1 -1
  19. package/dist/cjs/components/DropDownMenu/DropDownMenu.styles.cjs +1 -1
  20. package/dist/cjs/components/DropDownMenu/DropDownMenu.styles.cjs.map +1 -1
  21. package/dist/cjs/components/Dropdown/Dropdown.cjs +46 -29
  22. package/dist/cjs/components/Dropdown/Dropdown.cjs.map +1 -1
  23. package/dist/cjs/components/Dropdown/Dropdown.styles.cjs +42 -123
  24. package/dist/cjs/components/Dropdown/Dropdown.styles.cjs.map +1 -1
  25. package/dist/cjs/components/Dropdown/List/List.cjs +33 -20
  26. package/dist/cjs/components/Dropdown/List/List.cjs.map +1 -1
  27. package/dist/cjs/components/Dropdown/List/List.styles.cjs +19 -84
  28. package/dist/cjs/components/Dropdown/List/List.styles.cjs.map +1 -1
  29. package/dist/cjs/components/FilterGroup/Counter/Counter.cjs +1 -1
  30. package/dist/cjs/components/FilterGroup/Counter/Counter.cjs.map +1 -1
  31. package/dist/cjs/components/FilterGroup/FilterGroup.cjs +1 -1
  32. package/dist/cjs/components/FilterGroup/FilterGroup.cjs.map +1 -1
  33. package/dist/cjs/components/FilterGroup/RightPanel/RightPanel.styles.cjs +0 -4
  34. package/dist/cjs/components/FilterGroup/RightPanel/RightPanel.styles.cjs.map +1 -1
  35. package/dist/cjs/components/Footer/Footer.cjs +22 -19
  36. package/dist/cjs/components/Footer/Footer.cjs.map +1 -1
  37. package/dist/cjs/components/Footer/Footer.styles.cjs +53 -104
  38. package/dist/cjs/components/Footer/Footer.styles.cjs.map +1 -1
  39. package/dist/cjs/components/Forms/Adornment/Adornment.cjs +18 -13
  40. package/dist/cjs/components/Forms/Adornment/Adornment.cjs.map +1 -1
  41. package/dist/cjs/components/Forms/Adornment/Adornment.styles.cjs +29 -77
  42. package/dist/cjs/components/Forms/Adornment/Adornment.styles.cjs.map +1 -1
  43. package/dist/cjs/components/Forms/CharCounter/CharCounter.cjs +22 -15
  44. package/dist/cjs/components/Forms/CharCounter/CharCounter.cjs.map +1 -1
  45. package/dist/cjs/components/Forms/CharCounter/CharCounter.styles.cjs +17 -51
  46. package/dist/cjs/components/Forms/CharCounter/CharCounter.styles.cjs.map +1 -1
  47. package/dist/cjs/components/Forms/FormElement/FormElement.cjs +8 -4
  48. package/dist/cjs/components/Forms/FormElement/FormElement.cjs.map +1 -1
  49. package/dist/cjs/components/Forms/FormElement/FormElement.styles.cjs +12 -0
  50. package/dist/cjs/components/Forms/FormElement/FormElement.styles.cjs.map +1 -0
  51. package/dist/cjs/components/Forms/InfoMessage/InfoMessage.cjs +13 -8
  52. package/dist/cjs/components/Forms/InfoMessage/InfoMessage.cjs.map +1 -1
  53. package/dist/cjs/components/Forms/InfoMessage/InfoMessage.styles.cjs +14 -34
  54. package/dist/cjs/components/Forms/InfoMessage/InfoMessage.styles.cjs.map +1 -1
  55. package/dist/cjs/components/Forms/Label/Label.cjs +12 -7
  56. package/dist/cjs/components/Forms/Label/Label.cjs.map +1 -1
  57. package/dist/cjs/components/Forms/Label/Label.styles.cjs +14 -34
  58. package/dist/cjs/components/Forms/Label/Label.styles.cjs.map +1 -1
  59. package/dist/cjs/components/Forms/Suggestions/Suggestions.cjs +13 -9
  60. package/dist/cjs/components/Forms/Suggestions/Suggestions.cjs.map +1 -1
  61. package/dist/cjs/components/Forms/Suggestions/Suggestions.styles.cjs +22 -46
  62. package/dist/cjs/components/Forms/Suggestions/Suggestions.styles.cjs.map +1 -1
  63. package/dist/cjs/components/Forms/WarningText/WarningText.cjs +21 -14
  64. package/dist/cjs/components/Forms/WarningText/WarningText.cjs.map +1 -1
  65. package/dist/cjs/components/Forms/WarningText/WarningText.styles.cjs +25 -70
  66. package/dist/cjs/components/Forms/WarningText/WarningText.styles.cjs.map +1 -1
  67. package/dist/cjs/components/GlobalActions/GlobalActions.cjs +38 -17
  68. package/dist/cjs/components/GlobalActions/GlobalActions.cjs.map +1 -1
  69. package/dist/cjs/components/GlobalActions/GlobalActions.styles.cjs +42 -89
  70. package/dist/cjs/components/GlobalActions/GlobalActions.styles.cjs.map +1 -1
  71. package/dist/cjs/components/Header/Actions/Actions.cjs +8 -5
  72. package/dist/cjs/components/Header/Actions/Actions.cjs.map +1 -1
  73. package/dist/cjs/components/Header/Actions/Actions.styles.cjs +18 -22
  74. package/dist/cjs/components/Header/Actions/Actions.styles.cjs.map +1 -1
  75. package/dist/cjs/components/Header/Brand/Brand.cjs +17 -8
  76. package/dist/cjs/components/Header/Brand/Brand.cjs.map +1 -1
  77. package/dist/cjs/components/Header/Brand/Brand.styles.cjs +17 -49
  78. package/dist/cjs/components/Header/Brand/Brand.styles.cjs.map +1 -1
  79. package/dist/cjs/components/Header/Header.cjs +18 -8
  80. package/dist/cjs/components/Header/Header.cjs.map +1 -1
  81. package/dist/cjs/components/Header/Header.styles.cjs +31 -72
  82. package/dist/cjs/components/Header/Header.styles.cjs.map +1 -1
  83. package/dist/cjs/components/Header/Navigation/MenuBar/Bar.cjs +14 -9
  84. package/dist/cjs/components/Header/Navigation/MenuBar/Bar.cjs.map +1 -1
  85. package/dist/cjs/components/Header/Navigation/MenuBar/Bar.styles.cjs +41 -69
  86. package/dist/cjs/components/Header/Navigation/MenuBar/Bar.styles.cjs.map +1 -1
  87. package/dist/cjs/components/Header/Navigation/MenuItem/MenuItem.cjs +18 -10
  88. package/dist/cjs/components/Header/Navigation/MenuItem/MenuItem.cjs.map +1 -1
  89. package/dist/cjs/components/Header/Navigation/MenuItem/MenuItem.styles.cjs +75 -152
  90. package/dist/cjs/components/Header/Navigation/MenuItem/MenuItem.styles.cjs.map +1 -1
  91. package/dist/cjs/components/Header/Navigation/Navigation.cjs +8 -5
  92. package/dist/cjs/components/Header/Navigation/Navigation.cjs.map +1 -1
  93. package/dist/cjs/components/Header/Navigation/Navigation.styles.cjs +15 -20
  94. package/dist/cjs/components/Header/Navigation/Navigation.styles.cjs.map +1 -1
  95. package/dist/cjs/components/InlineEditor/InlineEditor.cjs +1 -1
  96. package/dist/cjs/components/InlineEditor/InlineEditor.cjs.map +1 -1
  97. package/dist/cjs/components/Input/Input.cjs +2 -2
  98. package/dist/cjs/components/Input/Input.cjs.map +1 -1
  99. package/dist/cjs/components/Input/Input.styles.cjs +3 -2
  100. package/dist/cjs/components/Input/Input.styles.cjs.map +1 -1
  101. package/dist/cjs/components/List/List.styles.cjs +11 -26
  102. package/dist/cjs/components/List/List.styles.cjs.map +1 -1
  103. package/dist/cjs/components/Loading/Loading.cjs +18 -13
  104. package/dist/cjs/components/Loading/Loading.cjs.map +1 -1
  105. package/dist/cjs/components/Loading/Loading.styles.cjs +44 -96
  106. package/dist/cjs/components/Loading/Loading.styles.cjs.map +1 -1
  107. package/dist/cjs/components/Login/Login.cjs +10 -7
  108. package/dist/cjs/components/Login/Login.cjs.map +1 -1
  109. package/dist/cjs/components/Login/Login.styles.cjs +22 -32
  110. package/dist/cjs/components/Login/Login.styles.cjs.map +1 -1
  111. package/dist/cjs/components/Panel/Panel.cjs +8 -5
  112. package/dist/cjs/components/Panel/Panel.cjs.map +1 -1
  113. package/dist/cjs/components/Panel/Panel.styles.cjs +14 -15
  114. package/dist/cjs/components/Panel/Panel.styles.cjs.map +1 -1
  115. package/dist/cjs/components/ProgressBar/ProgressBar.cjs +20 -14
  116. package/dist/cjs/components/ProgressBar/ProgressBar.cjs.map +1 -1
  117. package/dist/cjs/components/ProgressBar/ProgressBar.styles.cjs +39 -93
  118. package/dist/cjs/components/ProgressBar/ProgressBar.styles.cjs.map +1 -1
  119. package/dist/cjs/components/RadioGroup/RadioGroup.styles.cjs +0 -4
  120. package/dist/cjs/components/RadioGroup/RadioGroup.styles.cjs.map +1 -1
  121. package/dist/cjs/components/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.cjs +1 -1
  122. package/dist/cjs/components/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.cjs.map +1 -1
  123. package/dist/cjs/components/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.cjs +1 -1
  124. package/dist/cjs/components/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.cjs.map +1 -1
  125. package/dist/cjs/components/SelectionList/SelectionList.cjs +25 -15
  126. package/dist/cjs/components/SelectionList/SelectionList.cjs.map +1 -1
  127. package/dist/cjs/components/SelectionList/SelectionList.styles.cjs +41 -119
  128. package/dist/cjs/components/SelectionList/SelectionList.styles.cjs.map +1 -1
  129. package/dist/cjs/components/Snackbar/SnackbarContent/SnackbarContent.cjs +1 -1
  130. package/dist/cjs/components/Snackbar/SnackbarContent/SnackbarContent.cjs.map +1 -1
  131. package/dist/cjs/components/Stack/Stack.cjs +8 -7
  132. package/dist/cjs/components/Stack/Stack.cjs.map +1 -1
  133. package/dist/cjs/components/Stack/Stack.styles.cjs +18 -37
  134. package/dist/cjs/components/Stack/Stack.styles.cjs.map +1 -1
  135. package/dist/cjs/components/Table/Table.cjs +13 -59
  136. package/dist/cjs/components/Table/Table.cjs.map +1 -1
  137. package/dist/cjs/components/Table/Table.styles.cjs +34 -0
  138. package/dist/cjs/components/Table/Table.styles.cjs.map +1 -0
  139. package/dist/cjs/components/Table/TableBody/TableBody.cjs +9 -26
  140. package/dist/cjs/components/Table/TableBody/TableBody.cjs.map +1 -1
  141. package/dist/cjs/components/Table/TableBody/TableBody.styles.cjs +16 -0
  142. package/dist/cjs/components/Table/TableBody/TableBody.styles.cjs.map +1 -0
  143. package/dist/cjs/components/Table/TableCell/TableCell.cjs +13 -46
  144. package/dist/cjs/components/Table/TableCell/TableCell.cjs.map +1 -1
  145. package/dist/cjs/components/Table/TableContainer/TableContainer.cjs +9 -26
  146. package/dist/cjs/components/Table/TableContainer/TableContainer.cjs.map +1 -1
  147. package/dist/cjs/components/Table/TableContainer/TableContainer.styles.cjs +17 -0
  148. package/dist/cjs/components/Table/TableContainer/TableContainer.styles.cjs.map +1 -0
  149. package/dist/cjs/components/Table/TableHead/TableHead.cjs +11 -39
  150. package/dist/cjs/components/Table/TableHead/TableHead.cjs.map +1 -1
  151. package/dist/cjs/components/Table/TableHead/TableHead.styles.cjs +17 -0
  152. package/dist/cjs/components/Table/TableHead/TableHead.styles.cjs.map +1 -0
  153. package/dist/cjs/components/Table/TableHeader/TableHeader.cjs +44 -218
  154. package/dist/cjs/components/Table/TableHeader/TableHeader.cjs.map +1 -1
  155. package/dist/cjs/components/Table/TableHeader/TableHeader.styles.cjs +178 -101
  156. package/dist/cjs/components/Table/TableHeader/TableHeader.styles.cjs.map +1 -1
  157. package/dist/cjs/components/Table/TableRow/TableRow.cjs +18 -51
  158. package/dist/cjs/components/Table/TableRow/TableRow.cjs.map +1 -1
  159. package/dist/cjs/components/Table/TableRow/TableRow.styles.cjs +7 -34
  160. package/dist/cjs/components/Table/TableRow/TableRow.styles.cjs.map +1 -1
  161. package/dist/cjs/components/Table/hooks/useSticky.cjs +5 -1
  162. package/dist/cjs/components/Table/hooks/useSticky.cjs.map +1 -1
  163. package/dist/cjs/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.cjs +18 -3
  164. package/dist/cjs/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.cjs.map +1 -1
  165. package/dist/cjs/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.styles.cjs +23 -50
  166. package/dist/cjs/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.styles.cjs.map +1 -1
  167. package/dist/cjs/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.cjs +8 -2
  168. package/dist/cjs/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.cjs.map +1 -1
  169. package/dist/cjs/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.styles.cjs +18 -36
  170. package/dist/cjs/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.styles.cjs.map +1 -1
  171. package/dist/cjs/components/Table/utils/utils.cjs +15 -42
  172. package/dist/cjs/components/Table/utils/utils.cjs.map +1 -1
  173. package/dist/cjs/components/Tabs/Tabs.cjs +11 -8
  174. package/dist/cjs/components/Tabs/Tabs.cjs.map +1 -1
  175. package/dist/cjs/components/Tabs/Tabs.styles.cjs +16 -20
  176. package/dist/cjs/components/Tabs/Tabs.styles.cjs.map +1 -1
  177. package/dist/cjs/components/TagsInput/TagsInput.styles.cjs +2 -2
  178. package/dist/cjs/components/TagsInput/TagsInput.styles.cjs.map +1 -1
  179. package/dist/cjs/components/TextArea/TextArea.cjs +32 -21
  180. package/dist/cjs/components/TextArea/TextArea.cjs.map +1 -1
  181. package/dist/cjs/components/TextArea/TextArea.styles.cjs +45 -142
  182. package/dist/cjs/components/TextArea/TextArea.styles.cjs.map +1 -1
  183. package/dist/cjs/components/TimeAgo/TimeAgo.cjs +4 -2
  184. package/dist/cjs/components/TimeAgo/TimeAgo.cjs.map +1 -1
  185. package/dist/cjs/components/Typography/Typography.cjs.map +1 -1
  186. package/dist/cjs/components/VerticalNavigation/TreeView/TreeViewItem.styles.cjs +4 -11
  187. package/dist/cjs/components/VerticalNavigation/TreeView/TreeViewItem.styles.cjs.map +1 -1
  188. package/dist/cjs/components/VerticalNavigation/TreeView/descendants.cjs +1 -9
  189. package/dist/cjs/components/VerticalNavigation/TreeView/descendants.cjs.map +1 -1
  190. package/dist/cjs/index.cjs +60 -60
  191. package/dist/esm/components/AppSwitcher/Action/Action.js +34 -19
  192. package/dist/esm/components/AppSwitcher/Action/Action.js.map +1 -1
  193. package/dist/esm/components/BulkActions/BulkActions.js +3 -8
  194. package/dist/esm/components/BulkActions/BulkActions.js.map +1 -1
  195. package/dist/esm/components/Card/Card.styles.js +1 -1
  196. package/dist/esm/components/Card/Card.styles.js.map +1 -1
  197. package/dist/esm/components/Card/Header/Header.js +1 -1
  198. package/dist/esm/components/Card/Header/Header.js.map +1 -1
  199. package/dist/esm/components/CheckBoxGroup/CheckBoxGroup.styles.js +0 -4
  200. package/dist/esm/components/CheckBoxGroup/CheckBoxGroup.styles.js.map +1 -1
  201. package/dist/esm/components/ColorPicker/ColorPicker.js +1 -1
  202. package/dist/esm/components/ColorPicker/ColorPicker.js.map +1 -1
  203. package/dist/esm/components/ColorPicker/Fields/Fields.js +1 -1
  204. package/dist/esm/components/ColorPicker/Fields/Fields.js.map +1 -1
  205. package/dist/esm/components/DatePicker/DatePicker.js +2 -2
  206. package/dist/esm/components/DatePicker/DatePicker.js.map +1 -1
  207. package/dist/esm/components/DropDownMenu/DropDownMenu.js +1 -1
  208. package/dist/esm/components/DropDownMenu/DropDownMenu.js.map +1 -1
  209. package/dist/esm/components/DropDownMenu/DropDownMenu.styles.js +1 -1
  210. package/dist/esm/components/DropDownMenu/DropDownMenu.styles.js.map +1 -1
  211. package/dist/esm/components/Dropdown/Dropdown.js +48 -31
  212. package/dist/esm/components/Dropdown/Dropdown.js.map +1 -1
  213. package/dist/esm/components/Dropdown/Dropdown.styles.js +42 -121
  214. package/dist/esm/components/Dropdown/Dropdown.styles.js.map +1 -1
  215. package/dist/esm/components/Dropdown/List/List.js +36 -22
  216. package/dist/esm/components/Dropdown/List/List.js.map +1 -1
  217. package/dist/esm/components/Dropdown/List/List.styles.js +19 -82
  218. package/dist/esm/components/Dropdown/List/List.styles.js.map +1 -1
  219. package/dist/esm/components/FilterGroup/Counter/Counter.js +1 -1
  220. package/dist/esm/components/FilterGroup/Counter/Counter.js.map +1 -1
  221. package/dist/esm/components/FilterGroup/FilterGroup.js +1 -1
  222. package/dist/esm/components/FilterGroup/FilterGroup.js.map +1 -1
  223. package/dist/esm/components/FilterGroup/RightPanel/RightPanel.styles.js +0 -4
  224. package/dist/esm/components/FilterGroup/RightPanel/RightPanel.styles.js.map +1 -1
  225. package/dist/esm/components/Footer/Footer.js +25 -21
  226. package/dist/esm/components/Footer/Footer.js.map +1 -1
  227. package/dist/esm/components/Footer/Footer.styles.js +53 -102
  228. package/dist/esm/components/Footer/Footer.styles.js.map +1 -1
  229. package/dist/esm/components/Forms/Adornment/Adornment.js +21 -15
  230. package/dist/esm/components/Forms/Adornment/Adornment.js.map +1 -1
  231. package/dist/esm/components/Forms/Adornment/Adornment.styles.js +29 -75
  232. package/dist/esm/components/Forms/Adornment/Adornment.styles.js.map +1 -1
  233. package/dist/esm/components/Forms/CharCounter/CharCounter.js +25 -17
  234. package/dist/esm/components/Forms/CharCounter/CharCounter.js.map +1 -1
  235. package/dist/esm/components/Forms/CharCounter/CharCounter.styles.js +17 -49
  236. package/dist/esm/components/Forms/CharCounter/CharCounter.styles.js.map +1 -1
  237. package/dist/esm/components/Forms/FormElement/FormElement.js +10 -5
  238. package/dist/esm/components/Forms/FormElement/FormElement.js.map +1 -1
  239. package/dist/esm/components/Forms/FormElement/FormElement.styles.js +12 -0
  240. package/dist/esm/components/Forms/FormElement/FormElement.styles.js.map +1 -0
  241. package/dist/esm/components/Forms/InfoMessage/InfoMessage.js +16 -10
  242. package/dist/esm/components/Forms/InfoMessage/InfoMessage.js.map +1 -1
  243. package/dist/esm/components/Forms/InfoMessage/InfoMessage.styles.js +14 -32
  244. package/dist/esm/components/Forms/InfoMessage/InfoMessage.styles.js.map +1 -1
  245. package/dist/esm/components/Forms/Label/Label.js +15 -9
  246. package/dist/esm/components/Forms/Label/Label.js.map +1 -1
  247. package/dist/esm/components/Forms/Label/Label.styles.js +14 -32
  248. package/dist/esm/components/Forms/Label/Label.styles.js.map +1 -1
  249. package/dist/esm/components/Forms/Suggestions/Suggestions.js +17 -12
  250. package/dist/esm/components/Forms/Suggestions/Suggestions.js.map +1 -1
  251. package/dist/esm/components/Forms/Suggestions/Suggestions.styles.js +22 -44
  252. package/dist/esm/components/Forms/Suggestions/Suggestions.styles.js.map +1 -1
  253. package/dist/esm/components/Forms/WarningText/WarningText.js +24 -16
  254. package/dist/esm/components/Forms/WarningText/WarningText.js.map +1 -1
  255. package/dist/esm/components/Forms/WarningText/WarningText.styles.js +25 -68
  256. package/dist/esm/components/Forms/WarningText/WarningText.styles.js.map +1 -1
  257. package/dist/esm/components/GlobalActions/GlobalActions.js +44 -22
  258. package/dist/esm/components/GlobalActions/GlobalActions.js.map +1 -1
  259. package/dist/esm/components/GlobalActions/GlobalActions.styles.js +42 -87
  260. package/dist/esm/components/GlobalActions/GlobalActions.styles.js.map +1 -1
  261. package/dist/esm/components/Header/Actions/Actions.js +11 -7
  262. package/dist/esm/components/Header/Actions/Actions.js.map +1 -1
  263. package/dist/esm/components/Header/Actions/Actions.styles.js +19 -21
  264. package/dist/esm/components/Header/Actions/Actions.styles.js.map +1 -1
  265. package/dist/esm/components/Header/Brand/Brand.js +20 -10
  266. package/dist/esm/components/Header/Brand/Brand.js.map +1 -1
  267. package/dist/esm/components/Header/Brand/Brand.styles.js +17 -47
  268. package/dist/esm/components/Header/Brand/Brand.styles.js.map +1 -1
  269. package/dist/esm/components/Header/Header.js +21 -10
  270. package/dist/esm/components/Header/Header.js.map +1 -1
  271. package/dist/esm/components/Header/Header.styles.js +31 -70
  272. package/dist/esm/components/Header/Header.styles.js.map +1 -1
  273. package/dist/esm/components/Header/Navigation/MenuBar/Bar.js +17 -11
  274. package/dist/esm/components/Header/Navigation/MenuBar/Bar.js.map +1 -1
  275. package/dist/esm/components/Header/Navigation/MenuBar/Bar.styles.js +41 -67
  276. package/dist/esm/components/Header/Navigation/MenuBar/Bar.styles.js.map +1 -1
  277. package/dist/esm/components/Header/Navigation/MenuItem/MenuItem.js +21 -12
  278. package/dist/esm/components/Header/Navigation/MenuItem/MenuItem.js.map +1 -1
  279. package/dist/esm/components/Header/Navigation/MenuItem/MenuItem.styles.js +75 -150
  280. package/dist/esm/components/Header/Navigation/MenuItem/MenuItem.styles.js.map +1 -1
  281. package/dist/esm/components/Header/Navigation/Navigation.js +11 -7
  282. package/dist/esm/components/Header/Navigation/Navigation.js.map +1 -1
  283. package/dist/esm/components/Header/Navigation/Navigation.styles.js +15 -18
  284. package/dist/esm/components/Header/Navigation/Navigation.styles.js.map +1 -1
  285. package/dist/esm/components/InlineEditor/InlineEditor.js +1 -1
  286. package/dist/esm/components/InlineEditor/InlineEditor.js.map +1 -1
  287. package/dist/esm/components/Input/Input.js +2 -2
  288. package/dist/esm/components/Input/Input.js.map +1 -1
  289. package/dist/esm/components/Input/Input.styles.js +3 -2
  290. package/dist/esm/components/Input/Input.styles.js.map +1 -1
  291. package/dist/esm/components/List/List.styles.js +11 -26
  292. package/dist/esm/components/List/List.styles.js.map +1 -1
  293. package/dist/esm/components/Loading/Loading.js +21 -15
  294. package/dist/esm/components/Loading/Loading.js.map +1 -1
  295. package/dist/esm/components/Loading/Loading.styles.js +44 -94
  296. package/dist/esm/components/Loading/Loading.styles.js.map +1 -1
  297. package/dist/esm/components/Login/Login.js +13 -9
  298. package/dist/esm/components/Login/Login.js.map +1 -1
  299. package/dist/esm/components/Login/Login.styles.js +22 -30
  300. package/dist/esm/components/Login/Login.styles.js.map +1 -1
  301. package/dist/esm/components/Panel/Panel.js +11 -7
  302. package/dist/esm/components/Panel/Panel.js.map +1 -1
  303. package/dist/esm/components/Panel/Panel.styles.js +14 -13
  304. package/dist/esm/components/Panel/Panel.styles.js.map +1 -1
  305. package/dist/esm/components/ProgressBar/ProgressBar.js +23 -16
  306. package/dist/esm/components/ProgressBar/ProgressBar.js.map +1 -1
  307. package/dist/esm/components/ProgressBar/ProgressBar.styles.js +39 -91
  308. package/dist/esm/components/ProgressBar/ProgressBar.styles.js.map +1 -1
  309. package/dist/esm/components/RadioGroup/RadioGroup.styles.js +0 -4
  310. package/dist/esm/components/RadioGroup/RadioGroup.styles.js.map +1 -1
  311. package/dist/esm/components/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.js +1 -1
  312. package/dist/esm/components/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.js.map +1 -1
  313. package/dist/esm/components/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.js +1 -1
  314. package/dist/esm/components/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.js.map +1 -1
  315. package/dist/esm/components/SelectionList/SelectionList.js +28 -17
  316. package/dist/esm/components/SelectionList/SelectionList.js.map +1 -1
  317. package/dist/esm/components/SelectionList/SelectionList.styles.js +41 -117
  318. package/dist/esm/components/SelectionList/SelectionList.styles.js.map +1 -1
  319. package/dist/esm/components/Snackbar/SnackbarContent/SnackbarContent.js +1 -1
  320. package/dist/esm/components/Snackbar/SnackbarContent/SnackbarContent.js.map +1 -1
  321. package/dist/esm/components/Stack/Stack.js +11 -9
  322. package/dist/esm/components/Stack/Stack.js.map +1 -1
  323. package/dist/esm/components/Stack/Stack.styles.js +18 -35
  324. package/dist/esm/components/Stack/Stack.styles.js.map +1 -1
  325. package/dist/esm/components/Table/Table.js +15 -58
  326. package/dist/esm/components/Table/Table.js.map +1 -1
  327. package/dist/esm/components/Table/Table.styles.js +34 -0
  328. package/dist/esm/components/Table/Table.styles.js.map +1 -0
  329. package/dist/esm/components/Table/TableBody/TableBody.js +12 -26
  330. package/dist/esm/components/Table/TableBody/TableBody.js.map +1 -1
  331. package/dist/esm/components/Table/TableBody/TableBody.styles.js +16 -0
  332. package/dist/esm/components/Table/TableBody/TableBody.styles.js.map +1 -0
  333. package/dist/esm/components/Table/TableCell/TableCell.js +14 -46
  334. package/dist/esm/components/Table/TableCell/TableCell.js.map +1 -1
  335. package/dist/esm/components/Table/TableContainer/TableContainer.js +12 -26
  336. package/dist/esm/components/Table/TableContainer/TableContainer.js.map +1 -1
  337. package/dist/esm/components/Table/TableContainer/TableContainer.styles.js +17 -0
  338. package/dist/esm/components/Table/TableContainer/TableContainer.styles.js.map +1 -0
  339. package/dist/esm/components/Table/TableHead/TableHead.js +14 -39
  340. package/dist/esm/components/Table/TableHead/TableHead.js.map +1 -1
  341. package/dist/esm/components/Table/TableHead/TableHead.styles.js +17 -0
  342. package/dist/esm/components/Table/TableHead/TableHead.styles.js.map +1 -0
  343. package/dist/esm/components/Table/TableHeader/TableHeader.js +46 -219
  344. package/dist/esm/components/Table/TableHeader/TableHeader.js.map +1 -1
  345. package/dist/esm/components/Table/TableHeader/TableHeader.styles.js +178 -99
  346. package/dist/esm/components/Table/TableHeader/TableHeader.styles.js.map +1 -1
  347. package/dist/esm/components/Table/TableRow/TableRow.js +19 -50
  348. package/dist/esm/components/Table/TableRow/TableRow.js.map +1 -1
  349. package/dist/esm/components/Table/TableRow/TableRow.styles.js +7 -34
  350. package/dist/esm/components/Table/TableRow/TableRow.styles.js.map +1 -1
  351. package/dist/esm/components/Table/hooks/useSticky.js +5 -1
  352. package/dist/esm/components/Table/hooks/useSticky.js.map +1 -1
  353. package/dist/esm/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.js +17 -4
  354. package/dist/esm/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.js.map +1 -1
  355. package/dist/esm/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.styles.js +23 -48
  356. package/dist/esm/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.styles.js.map +1 -1
  357. package/dist/esm/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.js +9 -3
  358. package/dist/esm/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.js.map +1 -1
  359. package/dist/esm/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.styles.js +18 -34
  360. package/dist/esm/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.styles.js.map +1 -1
  361. package/dist/esm/components/Table/utils/utils.js +15 -42
  362. package/dist/esm/components/Table/utils/utils.js.map +1 -1
  363. package/dist/esm/components/Tabs/Tabs.js +14 -10
  364. package/dist/esm/components/Tabs/Tabs.js.map +1 -1
  365. package/dist/esm/components/Tabs/Tabs.styles.js +16 -18
  366. package/dist/esm/components/Tabs/Tabs.styles.js.map +1 -1
  367. package/dist/esm/components/TagsInput/TagsInput.styles.js +2 -2
  368. package/dist/esm/components/TagsInput/TagsInput.styles.js.map +1 -1
  369. package/dist/esm/components/TextArea/TextArea.js +35 -23
  370. package/dist/esm/components/TextArea/TextArea.js.map +1 -1
  371. package/dist/esm/components/TextArea/TextArea.styles.js +45 -140
  372. package/dist/esm/components/TextArea/TextArea.styles.js.map +1 -1
  373. package/dist/esm/components/TimeAgo/TimeAgo.js +4 -2
  374. package/dist/esm/components/TimeAgo/TimeAgo.js.map +1 -1
  375. package/dist/esm/components/Typography/Typography.js.map +1 -1
  376. package/dist/esm/components/VerticalNavigation/TreeView/TreeViewItem.styles.js +4 -11
  377. package/dist/esm/components/VerticalNavigation/TreeView/TreeViewItem.styles.js.map +1 -1
  378. package/dist/esm/components/VerticalNavigation/TreeView/descendants.js +1 -9
  379. package/dist/esm/components/VerticalNavigation/TreeView/descendants.js.map +1 -1
  380. package/dist/esm/index.js +232 -232
  381. package/dist/types/index.d.ts +948 -741
  382. package/package.json +5 -5
  383. package/dist/cjs/components/Dropdown/List/listClasses.cjs +0 -8
  384. package/dist/cjs/components/Dropdown/List/listClasses.cjs.map +0 -1
  385. package/dist/cjs/components/Dropdown/dropdownClasses.cjs +0 -8
  386. package/dist/cjs/components/Dropdown/dropdownClasses.cjs.map +0 -1
  387. package/dist/cjs/components/Footer/footerClasses.cjs +0 -8
  388. package/dist/cjs/components/Footer/footerClasses.cjs.map +0 -1
  389. package/dist/cjs/components/Forms/Adornment/adornmentClasses.cjs +0 -8
  390. package/dist/cjs/components/Forms/Adornment/adornmentClasses.cjs.map +0 -1
  391. package/dist/cjs/components/Forms/CharCounter/charCounterClasses.cjs +0 -8
  392. package/dist/cjs/components/Forms/CharCounter/charCounterClasses.cjs.map +0 -1
  393. package/dist/cjs/components/Forms/FormElement/formElementClasses.cjs +0 -8
  394. package/dist/cjs/components/Forms/FormElement/formElementClasses.cjs.map +0 -1
  395. package/dist/cjs/components/Forms/InfoMessage/infoMessageClasses.cjs +0 -8
  396. package/dist/cjs/components/Forms/InfoMessage/infoMessageClasses.cjs.map +0 -1
  397. package/dist/cjs/components/Forms/Label/labelClasses.cjs +0 -8
  398. package/dist/cjs/components/Forms/Label/labelClasses.cjs.map +0 -1
  399. package/dist/cjs/components/Forms/Suggestions/suggestionsClasses.cjs +0 -8
  400. package/dist/cjs/components/Forms/Suggestions/suggestionsClasses.cjs.map +0 -1
  401. package/dist/cjs/components/Forms/WarningText/warningTextClasses.cjs +0 -8
  402. package/dist/cjs/components/Forms/WarningText/warningTextClasses.cjs.map +0 -1
  403. package/dist/cjs/components/GlobalActions/globalActionsClasses.cjs +0 -8
  404. package/dist/cjs/components/GlobalActions/globalActionsClasses.cjs.map +0 -1
  405. package/dist/cjs/components/Header/Actions/actionsClasses.cjs +0 -8
  406. package/dist/cjs/components/Header/Actions/actionsClasses.cjs.map +0 -1
  407. package/dist/cjs/components/Header/Brand/brandClasses.cjs +0 -8
  408. package/dist/cjs/components/Header/Brand/brandClasses.cjs.map +0 -1
  409. package/dist/cjs/components/Header/Navigation/MenuBar/menuBarClasses.cjs +0 -8
  410. package/dist/cjs/components/Header/Navigation/MenuBar/menuBarClasses.cjs.map +0 -1
  411. package/dist/cjs/components/Header/Navigation/navigationClasses.cjs +0 -8
  412. package/dist/cjs/components/Header/Navigation/navigationClasses.cjs.map +0 -1
  413. package/dist/cjs/components/Header/headerClasses.cjs +0 -8
  414. package/dist/cjs/components/Header/headerClasses.cjs.map +0 -1
  415. package/dist/cjs/components/Loading/loadingClasses.cjs +0 -8
  416. package/dist/cjs/components/Loading/loadingClasses.cjs.map +0 -1
  417. package/dist/cjs/components/Login/loginClasses.cjs +0 -8
  418. package/dist/cjs/components/Login/loginClasses.cjs.map +0 -1
  419. package/dist/cjs/components/Panel/panelClasses.cjs +0 -8
  420. package/dist/cjs/components/Panel/panelClasses.cjs.map +0 -1
  421. package/dist/cjs/components/ProgressBar/progressBarClasses.cjs +0 -8
  422. package/dist/cjs/components/ProgressBar/progressBarClasses.cjs.map +0 -1
  423. package/dist/cjs/components/SelectionList/selectionListClasses.cjs +0 -8
  424. package/dist/cjs/components/SelectionList/selectionListClasses.cjs.map +0 -1
  425. package/dist/cjs/components/Stack/stackClasses.cjs +0 -8
  426. package/dist/cjs/components/Stack/stackClasses.cjs.map +0 -1
  427. package/dist/cjs/components/Table/TableBody/tableBodyClasses.cjs +0 -8
  428. package/dist/cjs/components/Table/TableBody/tableBodyClasses.cjs.map +0 -1
  429. package/dist/cjs/components/Table/TableContainer/tableContainerClasses.cjs +0 -8
  430. package/dist/cjs/components/Table/TableContainer/tableContainerClasses.cjs.map +0 -1
  431. package/dist/cjs/components/Table/TableHead/tableHeadClasses.cjs +0 -8
  432. package/dist/cjs/components/Table/TableHead/tableHeadClasses.cjs.map +0 -1
  433. package/dist/cjs/components/Table/TableHeader/tableHeaderClasses.cjs +0 -8
  434. package/dist/cjs/components/Table/TableHeader/tableHeaderClasses.cjs.map +0 -1
  435. package/dist/cjs/components/Table/tableClasses.cjs +0 -8
  436. package/dist/cjs/components/Table/tableClasses.cjs.map +0 -1
  437. package/dist/cjs/components/Tabs/tabsClasses.cjs +0 -8
  438. package/dist/cjs/components/Tabs/tabsClasses.cjs.map +0 -1
  439. package/dist/cjs/components/TextArea/textAreaClasses.cjs +0 -8
  440. package/dist/cjs/components/TextArea/textAreaClasses.cjs.map +0 -1
  441. package/dist/esm/components/Dropdown/List/listClasses.js +0 -8
  442. package/dist/esm/components/Dropdown/List/listClasses.js.map +0 -1
  443. package/dist/esm/components/Dropdown/dropdownClasses.js +0 -8
  444. package/dist/esm/components/Dropdown/dropdownClasses.js.map +0 -1
  445. package/dist/esm/components/Footer/footerClasses.js +0 -8
  446. package/dist/esm/components/Footer/footerClasses.js.map +0 -1
  447. package/dist/esm/components/Forms/Adornment/adornmentClasses.js +0 -8
  448. package/dist/esm/components/Forms/Adornment/adornmentClasses.js.map +0 -1
  449. package/dist/esm/components/Forms/CharCounter/charCounterClasses.js +0 -8
  450. package/dist/esm/components/Forms/CharCounter/charCounterClasses.js.map +0 -1
  451. package/dist/esm/components/Forms/FormElement/formElementClasses.js +0 -8
  452. package/dist/esm/components/Forms/FormElement/formElementClasses.js.map +0 -1
  453. package/dist/esm/components/Forms/InfoMessage/infoMessageClasses.js +0 -8
  454. package/dist/esm/components/Forms/InfoMessage/infoMessageClasses.js.map +0 -1
  455. package/dist/esm/components/Forms/Label/labelClasses.js +0 -8
  456. package/dist/esm/components/Forms/Label/labelClasses.js.map +0 -1
  457. package/dist/esm/components/Forms/Suggestions/suggestionsClasses.js +0 -8
  458. package/dist/esm/components/Forms/Suggestions/suggestionsClasses.js.map +0 -1
  459. package/dist/esm/components/Forms/WarningText/warningTextClasses.js +0 -8
  460. package/dist/esm/components/Forms/WarningText/warningTextClasses.js.map +0 -1
  461. package/dist/esm/components/GlobalActions/globalActionsClasses.js +0 -8
  462. package/dist/esm/components/GlobalActions/globalActionsClasses.js.map +0 -1
  463. package/dist/esm/components/Header/Actions/actionsClasses.js +0 -8
  464. package/dist/esm/components/Header/Actions/actionsClasses.js.map +0 -1
  465. package/dist/esm/components/Header/Brand/brandClasses.js +0 -8
  466. package/dist/esm/components/Header/Brand/brandClasses.js.map +0 -1
  467. package/dist/esm/components/Header/Navigation/MenuBar/menuBarClasses.js +0 -8
  468. package/dist/esm/components/Header/Navigation/MenuBar/menuBarClasses.js.map +0 -1
  469. package/dist/esm/components/Header/Navigation/navigationClasses.js +0 -8
  470. package/dist/esm/components/Header/Navigation/navigationClasses.js.map +0 -1
  471. package/dist/esm/components/Header/headerClasses.js +0 -8
  472. package/dist/esm/components/Header/headerClasses.js.map +0 -1
  473. package/dist/esm/components/Loading/loadingClasses.js +0 -8
  474. package/dist/esm/components/Loading/loadingClasses.js.map +0 -1
  475. package/dist/esm/components/Login/loginClasses.js +0 -8
  476. package/dist/esm/components/Login/loginClasses.js.map +0 -1
  477. package/dist/esm/components/Panel/panelClasses.js +0 -8
  478. package/dist/esm/components/Panel/panelClasses.js.map +0 -1
  479. package/dist/esm/components/ProgressBar/progressBarClasses.js +0 -8
  480. package/dist/esm/components/ProgressBar/progressBarClasses.js.map +0 -1
  481. package/dist/esm/components/SelectionList/selectionListClasses.js +0 -8
  482. package/dist/esm/components/SelectionList/selectionListClasses.js.map +0 -1
  483. package/dist/esm/components/Stack/stackClasses.js +0 -8
  484. package/dist/esm/components/Stack/stackClasses.js.map +0 -1
  485. package/dist/esm/components/Table/TableBody/tableBodyClasses.js +0 -8
  486. package/dist/esm/components/Table/TableBody/tableBodyClasses.js.map +0 -1
  487. package/dist/esm/components/Table/TableContainer/tableContainerClasses.js +0 -8
  488. package/dist/esm/components/Table/TableContainer/tableContainerClasses.js.map +0 -1
  489. package/dist/esm/components/Table/TableHead/tableHeadClasses.js +0 -8
  490. package/dist/esm/components/Table/TableHead/tableHeadClasses.js.map +0 -1
  491. package/dist/esm/components/Table/TableHeader/tableHeaderClasses.js +0 -8
  492. package/dist/esm/components/Table/TableHeader/tableHeaderClasses.js.map +0 -1
  493. package/dist/esm/components/Table/tableClasses.js +0 -8
  494. package/dist/esm/components/Table/tableClasses.js.map +0 -1
  495. package/dist/esm/components/Tabs/tabsClasses.js +0 -8
  496. package/dist/esm/components/Tabs/tabsClasses.js.map +0 -1
  497. package/dist/esm/components/TextArea/textAreaClasses.js +0 -8
  498. package/dist/esm/components/TextArea/textAreaClasses.js.map +0 -1
@@ -8,8 +8,8 @@ const TitleWithTooltip = require("../TitleWithTooltip.cjs");
8
8
  const Action_styles = require("./Action.styles.cjs");
9
9
  const jsxRuntime = require("@emotion/react/jsx-runtime");
10
10
  const Avatar = require("../../Avatar/Avatar.cjs");
11
- const ListItem = require("../../ListContainer/ListItem/ListItem.cjs");
12
11
  const Typography = require("../../Typography/Typography.cjs");
12
+ const ListItem = require("../../ListContainer/ListItem/ListItem.cjs");
13
13
  const Tooltip = require("../../Tooltip/Tooltip.cjs");
14
14
  const getColor = (color, defaultColor) => uikitStyles.theme.colors[color] || color || defaultColor;
15
15
  const HvAppSwitcherAction = ({
@@ -61,7 +61,7 @@ const HvAppSwitcherAction = ({
61
61
  });
62
62
  };
63
63
  const isSelected = isSelectedCallback(application);
64
- const handleOnClick = (event) => {
64
+ const handleOnClick = React.useCallback((event) => {
65
65
  if (disabled) {
66
66
  event.preventDefault();
67
67
  return;
@@ -70,9 +70,36 @@ const HvAppSwitcherAction = ({
70
70
  ...application,
71
71
  isSelected
72
72
  });
73
- };
73
+ }, [application, disabled, isSelected, onClickCallback]);
74
74
  const isLink = url != null;
75
75
  const descriptionElementId = useUniqueId.useUniqueId(id, "hvAction-description");
76
+ const renderApplication = React.useCallback((children) => {
77
+ const typographyProps = {
78
+ className: classes.typography,
79
+ onClick: handleOnClick,
80
+ style: {
81
+ borderColor: color
82
+ },
83
+ "aria-label": name,
84
+ ...description && {
85
+ "aria-describedby": descriptionElementId
86
+ }
87
+ };
88
+ if (isLink) {
89
+ return /* @__PURE__ */ jsxRuntime.jsx(Typography.HvTypography, {
90
+ component: "a",
91
+ href: url,
92
+ target: target || "_top",
93
+ ...typographyProps,
94
+ children
95
+ });
96
+ }
97
+ return /* @__PURE__ */ jsxRuntime.jsx(Typography.HvTypography, {
98
+ component: "button",
99
+ ...typographyProps,
100
+ children
101
+ });
102
+ }, [classes.typography, color, description, descriptionElementId, handleOnClick, isLink, name, target, url]);
76
103
  return /* @__PURE__ */ jsxRuntime.jsx(ListItem.HvListItem, {
77
104
  id,
78
105
  interactive: true,
@@ -83,19 +110,7 @@ const HvAppSwitcherAction = ({
83
110
  [classes.disabled]: disabled,
84
111
  [classes.selected]: isSelected
85
112
  }, className),
86
- children: /* @__PURE__ */ jsxRuntime.jsxs(Typography.HvTypography, {
87
- component: isLink ? "a" : "button",
88
- href: isLink ? url : void 0,
89
- target: isLink ? target || "_top" : void 0,
90
- className: classes.typography,
91
- onClick: handleOnClick,
92
- style: {
93
- borderColor: color
94
- },
95
- "aria-label": name,
96
- ...description && {
97
- "aria-describedby": descriptionElementId
98
- },
113
+ children: renderApplication(/* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, {
99
114
  children: [/* @__PURE__ */ jsxRuntime.jsx("div", {
100
115
  className: classes.icon,
101
116
  children: renderApplicationIcon()
@@ -117,7 +132,7 @@ const HvAppSwitcherAction = ({
117
132
  })
118
133
  })
119
134
  })]
120
- })
135
+ }))
121
136
  });
122
137
  };
123
138
  exports.appSwitcherActionClasses = Action_styles.staticClasses;
@@ -1 +1 @@
1
- {"version":3,"file":"Action.cjs","sources":["../../../../../src/components/AppSwitcher/Action/Action.tsx"],"sourcesContent":["import { useState } from \"react\";\n\nimport { theme } from \"@hitachivantara/uikit-styles\";\nimport { Info } from \"@hitachivantara/uikit-react-icons\";\n\nimport { HvAvatar } from \"@core/components/Avatar\";\nimport { HvListItem } from \"@core/components/ListContainer\";\nimport { HvTypography } from \"@core/components/Typography\";\nimport { HvTooltip } from \"@core/components/Tooltip\";\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { useUniqueId } from \"@core/hooks/useUniqueId\";\nimport { ExtractNames } from \"@core/utils/classes\";\n\nimport TitleWithTooltip from \"../TitleWithTooltip\";\nimport { useClasses, staticClasses } from \"./Action.styles\";\n\nexport { staticClasses as appSwitcherActionClasses };\n\nexport type HvAppSwitcherActionClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvAppSwitcherActionApplication {\n /** Id of the application. */\n id?: string;\n /** Name of the application, this is the value that will be displayed on the component. */\n name: string;\n /** URL with the icon location to be used to represent the application. iconUrl will only be used if no iconElement is provided. */\n iconUrl?: string;\n /** Element to be added as the icon representing the application. The iconElement will be the primary option to be displayed. */\n iconElement?: React.ReactElement;\n /** Small description of the application. */\n description?: string;\n /** URL where the application is accessible. */\n url?: string;\n /** Defines if the application should be opened in the same tab or in a new one. */\n target?: \"_top\" | \"_blank\";\n /** If true, the item will be disabled. */\n disabled?: boolean;\n /** True when the application is selected, false otherwise. */\n isSelected?: boolean;\n /** The color of the application. */\n color?: string;\n}\n\nexport interface HvAppSwitcherActionProps extends HvBaseProps {\n /** The application data to be used to render the Action object. */\n application: HvAppSwitcherActionApplication;\n /** Callback triggered when the action is clicked. */\n onClickCallback?: (\n event: React.MouseEvent,\n application: HvAppSwitcherActionApplication\n ) => void;\n /** Must return a boolean stating if the action element is selected or not. */\n isSelectedCallback?: (application: HvAppSwitcherActionApplication) => boolean;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvAppSwitcherActionClasses;\n}\n\nconst getColor = (color: any, defaultColor: string) =>\n theme.colors[color] || color || defaultColor;\n\nexport const HvAppSwitcherAction = ({\n id,\n className,\n classes: classesProp,\n application,\n onClickCallback = () => {},\n isSelectedCallback = () => false,\n}: HvAppSwitcherActionProps) => {\n const { classes, cx } = useClasses(classesProp);\n\n const { name, description, disabled, iconElement, iconUrl, url, target } =\n application;\n\n const color = disabled\n ? theme.colors.secondary_60\n : getColor(application?.color, theme.colors.secondary);\n\n const [validIconUrl, setValidIconUrl] = useState<boolean>(true);\n\n const renderApplicationIcon = () => {\n if (iconElement) {\n return iconElement;\n }\n\n if (iconUrl && validIconUrl) {\n return (\n <img\n className={classes.iconUrl}\n src={iconUrl}\n onError={() => {\n setValidIconUrl(false);\n }}\n alt={description}\n />\n );\n }\n\n const brokenTitle = name.split(\" \");\n const initials =\n brokenTitle[0].substring(0, 1) +\n (brokenTitle[1] ? brokenTitle[1].substring(0, 1) : \"\");\n\n return (\n <HvAvatar size=\"sm\" backgroundColor={color} variant=\"square\" aria-hidden>\n {initials}\n </HvAvatar>\n );\n };\n\n const isSelected = isSelectedCallback(application);\n\n /**\n * Handles the onClick event and triggers the appropriate callback if it exists.\n */\n const handleOnClick = (event: React.MouseEvent) => {\n if (disabled) {\n event.preventDefault();\n return;\n }\n\n onClickCallback?.(event, { ...application, isSelected });\n };\n\n const isLink = url != null;\n const descriptionElementId = useUniqueId(id, \"hvAction-description\");\n\n return (\n <HvListItem\n id={id}\n interactive\n tabIndex={0}\n selected={isSelected}\n disabled={disabled}\n className={cx(\n classes.root,\n { [classes.disabled]: disabled, [classes.selected]: isSelected },\n className\n )}\n >\n {/* As HvTooltip don't have the id prop, is not possible to use the aria-labelledby to reference it.\n In substitution is used the aria-label with the \"title\" value */}\n <HvTypography\n component={isLink ? \"a\" : \"button\"}\n href={isLink ? url : undefined}\n target={isLink ? target || \"_top\" : undefined}\n className={classes.typography}\n onClick={handleOnClick}\n style={{ borderColor: color }}\n aria-label={name}\n {...(description && { \"aria-describedby\": descriptionElementId })}\n >\n <div className={classes.icon}>{renderApplicationIcon()}</div>\n\n <TitleWithTooltip title={name} className={classes.title} />\n\n {description && (\n <HvTooltip\n disableFocusListener\n disableTouchListener\n title={<HvTypography>{description}</HvTypography>}\n >\n <div>\n <Info\n className={classes.iconInfo}\n role=\"img\"\n aria-label={description}\n id={descriptionElementId}\n />\n </div>\n </HvTooltip>\n )}\n </HvTypography>\n </HvListItem>\n );\n};\n"],"names":["getColor","color","defaultColor","theme","colors","HvAppSwitcherAction","id","className","classes","classesProp","application","onClickCallback","isSelectedCallback","cx","useClasses","name","description","disabled","iconElement","iconUrl","url","target","secondary_60","secondary","validIconUrl","setValidIconUrl","useState","renderApplicationIcon","src","onError","alt","brokenTitle","split","initials","substring","HvAvatar","size","backgroundColor","variant","children","isSelected","handleOnClick","event","preventDefault","isLink","descriptionElementId","useUniqueId","HvListItem","interactive","tabIndex","selected","root","HvTypography","component","href","undefined","typography","onClick","style","borderColor","_jsx","icon","TitleWithTooltip","title","HvTooltip","disableFocusListener","disableTouchListener","Info","iconInfo","role"],"mappings":"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"}
1
+ {"version":3,"file":"Action.cjs","sources":["../../../../../src/components/AppSwitcher/Action/Action.tsx"],"sourcesContent":["import { useCallback, useState } from \"react\";\n\nimport { theme } from \"@hitachivantara/uikit-styles\";\nimport { Info } from \"@hitachivantara/uikit-react-icons\";\n\nimport { HvAvatar } from \"@core/components/Avatar\";\nimport { HvListItem } from \"@core/components/ListContainer\";\nimport { HvTypography } from \"@core/components/Typography\";\nimport { HvTooltip } from \"@core/components/Tooltip\";\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { useUniqueId } from \"@core/hooks/useUniqueId\";\nimport { ExtractNames } from \"@core/utils/classes\";\n\nimport TitleWithTooltip from \"../TitleWithTooltip\";\nimport { useClasses, staticClasses } from \"./Action.styles\";\n\nexport { staticClasses as appSwitcherActionClasses };\n\nexport type HvAppSwitcherActionClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvAppSwitcherActionApplication {\n /** Id of the application. */\n id?: string;\n /** Name of the application, this is the value that will be displayed on the component. */\n name: string;\n /** URL with the icon location to be used to represent the application. iconUrl will only be used if no iconElement is provided. */\n iconUrl?: string;\n /** Element to be added as the icon representing the application. The iconElement will be the primary option to be displayed. */\n iconElement?: React.ReactElement;\n /** Small description of the application. */\n description?: string;\n /** URL where the application is accessible. */\n url?: string;\n /** Defines if the application should be opened in the same tab or in a new one. */\n target?: \"_top\" | \"_blank\";\n /** If true, the item will be disabled. */\n disabled?: boolean;\n /** True when the application is selected, false otherwise. */\n isSelected?: boolean;\n /** The color of the application. */\n color?: string;\n}\n\nexport interface HvAppSwitcherActionProps extends HvBaseProps {\n /** The application data to be used to render the Action object. */\n application: HvAppSwitcherActionApplication;\n /** Callback triggered when the action is clicked. */\n onClickCallback?: (\n event: React.MouseEvent,\n application: HvAppSwitcherActionApplication\n ) => void;\n /** Must return a boolean stating if the action element is selected or not. */\n isSelectedCallback?: (application: HvAppSwitcherActionApplication) => boolean;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvAppSwitcherActionClasses;\n}\n\nconst getColor = (color: any, defaultColor: string) =>\n theme.colors[color] || color || defaultColor;\n\nexport const HvAppSwitcherAction = ({\n id,\n className,\n classes: classesProp,\n application,\n onClickCallback = () => {},\n isSelectedCallback = () => false,\n}: HvAppSwitcherActionProps) => {\n const { classes, cx } = useClasses(classesProp);\n\n const { name, description, disabled, iconElement, iconUrl, url, target } =\n application;\n\n const color = disabled\n ? theme.colors.secondary_60\n : getColor(application?.color, theme.colors.secondary);\n\n const [validIconUrl, setValidIconUrl] = useState<boolean>(true);\n\n const renderApplicationIcon = () => {\n if (iconElement) {\n return iconElement;\n }\n\n if (iconUrl && validIconUrl) {\n return (\n <img\n className={classes.iconUrl}\n src={iconUrl}\n onError={() => {\n setValidIconUrl(false);\n }}\n alt={description}\n />\n );\n }\n\n const brokenTitle = name.split(\" \");\n const initials =\n brokenTitle[0].substring(0, 1) +\n (brokenTitle[1] ? brokenTitle[1].substring(0, 1) : \"\");\n\n return (\n <HvAvatar size=\"sm\" backgroundColor={color} variant=\"square\" aria-hidden>\n {initials}\n </HvAvatar>\n );\n };\n\n const isSelected = isSelectedCallback(application);\n\n /**\n * Handles the onClick event and triggers the appropriate callback if it exists.\n */\n const handleOnClick = useCallback(\n (event: React.MouseEvent) => {\n if (disabled) {\n event.preventDefault();\n return;\n }\n\n onClickCallback?.(event, { ...application, isSelected });\n },\n [application, disabled, isSelected, onClickCallback]\n );\n\n const isLink = url != null;\n const descriptionElementId = useUniqueId(id, \"hvAction-description\");\n\n const renderApplication = useCallback(\n (children: React.ReactNode) => {\n const typographyProps = {\n className: classes.typography,\n onClick: handleOnClick,\n style: { borderColor: color },\n \"aria-label\": name,\n ...(description && { \"aria-describedby\": descriptionElementId }),\n };\n\n if (isLink) {\n return (\n <HvTypography\n component=\"a\"\n href={url}\n target={target || \"_top\"}\n {...typographyProps}\n >\n {children}\n </HvTypography>\n );\n }\n\n return (\n <HvTypography component=\"button\" {...typographyProps}>\n {children}\n </HvTypography>\n );\n },\n [\n classes.typography,\n color,\n description,\n descriptionElementId,\n handleOnClick,\n isLink,\n name,\n target,\n url,\n ]\n );\n\n return (\n <HvListItem\n id={id}\n interactive\n tabIndex={0}\n selected={isSelected}\n disabled={disabled}\n className={cx(\n classes.root,\n { [classes.disabled]: disabled, [classes.selected]: isSelected },\n className\n )}\n >\n {/* As HvTooltip don't have the id prop, is not possible to use the aria-labelledby to reference it.\n In substitution is used the aria-label with the \"title\" value */}\n {renderApplication(\n <>\n <div className={classes.icon}>{renderApplicationIcon()}</div>\n\n <TitleWithTooltip title={name} className={classes.title} />\n\n {description && (\n <HvTooltip\n disableFocusListener\n disableTouchListener\n title={<HvTypography>{description}</HvTypography>}\n >\n <div>\n <Info\n className={classes.iconInfo}\n role=\"img\"\n aria-label={description}\n id={descriptionElementId}\n />\n </div>\n </HvTooltip>\n )}\n </>\n )}\n </HvListItem>\n );\n};\n"],"names":["getColor","color","defaultColor","theme","colors","HvAppSwitcherAction","id","className","classes","classesProp","application","onClickCallback","isSelectedCallback","cx","useClasses","name","description","disabled","iconElement","iconUrl","url","target","secondary_60","secondary","validIconUrl","setValidIconUrl","useState","renderApplicationIcon","src","onError","alt","brokenTitle","split","initials","substring","HvAvatar","size","backgroundColor","variant","children","isSelected","handleOnClick","useCallback","event","preventDefault","isLink","descriptionElementId","useUniqueId","renderApplication","typographyProps","typography","onClick","style","borderColor","HvTypography","component","href","HvListItem","interactive","tabIndex","selected","root","_jsxs","_Fragment","_jsx","icon","TitleWithTooltip","title","HvTooltip","disableFocusListener","disableTouchListener","Info","iconInfo","role"],"mappings":"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"}
@@ -66,7 +66,7 @@ const HvBulkActions = (props) => {
66
66
  className: cx(classes.root, {
67
67
  [classes.semantic]: isSemantic
68
68
  }, isSemantic && css({
69
- "& $selectAll div": {
69
+ [`& .${BulkActions_styles.staticClasses.selectAll} div`]: {
70
70
  color: uikitStyles.theme.colors.base_dark,
71
71
  "&:hover:not(:disabled)": {
72
72
  backgroundColor: hexToRgbA.hexToRgbA(baseColor, 0.3)
@@ -76,11 +76,7 @@ const HvBulkActions = (props) => {
76
76
  backgroundColor: "transparent"
77
77
  }
78
78
  },
79
- "& $selectAll:focus-within div": {
80
- backgroundColor: hexToRgbA.hexToRgbA(baseColor, 0.3)
81
- },
82
- // IE fallback code (using focus-within-polyfill)
83
- "& $selectAll.focus-within div": {
79
+ [`& .${BulkActions_styles.staticClasses.selectAll}:focus-within div`]: {
84
80
  backgroundColor: hexToRgbA.hexToRgbA(baseColor, 0.3)
85
81
  }
86
82
  }), className),
@@ -1 +1 @@
1
- {"version":3,"file":"BulkActions.cjs","sources":["../../../../src/components/BulkActions/BulkActions.tsx"],"sourcesContent":["import { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\nimport { setId } from \"@core/utils/setId\";\nimport { useTheme } from \"@core/hooks/useTheme\";\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { HvButton, HvButtonProps } from \"@core/components/Button\";\nimport { HvCheckBox, HvCheckBoxProps } from \"@core/components/CheckBox\";\nimport {\n HvActionGeneric,\n HvActionsGeneric,\n HvActionsGenericProps,\n} from \"@core/components/ActionsGeneric\";\nimport { HvTypography } from \"@core/components/Typography\";\nimport { ExtractNames } from \"@core/utils/classes\";\nimport { hexToRgbA } from \"@core/utils/hexToRgbA\";\n\nimport { staticClasses, useClasses } from \"./BulkActions.styles\";\n\nexport { staticClasses as bulkActionsClasses };\n\nexport type HvBulkActionsClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvBulkActionsProps extends HvBaseProps {\n /**\n * Custom label for select all checkbox\n */\n selectAllLabel?: React.ReactNode;\n /**\n * Custom label for select all checkbox conjunction\n */\n selectAllConjunctionLabel?: string;\n /**\n * Custom label for select all pages button\n */\n selectAllPagesLabel?: React.ReactNode;\n /**\n * Whether select all pages element should be visible\n */\n showSelectAllPages?: boolean;\n /**\n * The total number of elements\n */\n numTotal?: number;\n /**\n * The number of elements currently selected\n */\n numSelected?: number;\n /**\n * Function called when the \"select all\" Checkbox is toggled.\n */\n onSelectAll?: HvCheckBoxProps[\"onChange\"];\n /**\n * Function called when the \"select all pages\" button is clicked toggled.\n */\n onSelectAllPages?: HvButtonProps[\"onClick\"];\n /**\n * Whether the bulk actions should use the semantic styles when there are selected elements.\n */\n semantic?: boolean;\n /**\n * The renderable content inside the right actions slot,\n * or an Array of actions `{ id, label, icon, disabled, ... }`\n */\n actions?: React.ReactNode | HvActionGeneric[];\n /**\n * Whether actions should be all disabled\n */\n actionsDisabled?: boolean;\n /**\n * The callback function ran when an action is triggered, receiving `action` as param\n */\n actionsCallback?: HvActionsGenericProps[\"actionsCallback\"];\n /**\n * The number of maximum visible actions before they're collapsed into a `DropDownMenu`.\n */\n maxVisibleActions?: number;\n /**\n * Properties to be passed onto the checkbox component, the values of the object are equivalent to the\n * HvCheckbox API.\n */\n checkboxProps?: HvCheckBoxProps;\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes?: HvBulkActionsClasses;\n}\n\n/**\n * Bulk Actions allow users to perform an action on a single or multiple items.\n * Also known as \"batch production\" of multiple items at once, one stage at a time.\n */\nexport const HvBulkActions = (props: HvBulkActionsProps) => {\n const {\n id,\n className,\n classes: classesProp,\n selectAllPagesLabel,\n actionsDisabled,\n maxVisibleActions,\n checkboxProps,\n actions,\n numTotal = 0,\n numSelected = 0,\n selectAllLabel = \"All\",\n selectAllConjunctionLabel = \"/\",\n showSelectAllPages = false,\n semantic = true,\n actionsCallback,\n onSelectAll,\n onSelectAllPages,\n ...others\n } = useDefaultProps(\"HvBulkActions\", props);\n\n const { classes, cx, css } = useClasses(classesProp);\n\n const { activeTheme, selectedMode } = useTheme();\n\n const baseColor =\n activeTheme?.colors?.modes[selectedMode].base_light ||\n theme.colors.base_light;\n const anySelected = numSelected > 0;\n const isSemantic = semantic && anySelected;\n\n const selectAllLabelComponent = (\n <HvTypography\n component=\"span\"\n disabled={checkboxProps?.disabled}\n variant=\"body\"\n >\n {!anySelected ? (\n <>\n <HvTypography variant=\"label\">{selectAllLabel}</HvTypography>\n {` (${numTotal})`}\n </>\n ) : (\n <>\n <HvTypography variant=\"label\">{numSelected}</HvTypography>\n {` ${selectAllConjunctionLabel} ${numTotal}`}\n </>\n )}\n </HvTypography>\n );\n\n return (\n <div\n id={id}\n className={cx(\n classes.root,\n { [classes.semantic]: isSemantic },\n isSemantic &&\n css({\n \"& $selectAll div\": {\n color: theme.colors.base_dark,\n\n \"&:hover:not(:disabled)\": {\n backgroundColor: hexToRgbA(baseColor, 0.3),\n },\n\n \"& *\": {\n color: theme.colors.base_dark,\n backgroundColor: \"transparent\",\n },\n },\n\n \"& $selectAll:focus-within div\": {\n backgroundColor: hexToRgbA(baseColor, 0.3),\n },\n\n // IE fallback code (using focus-within-polyfill)\n \"& $selectAll.focus-within div\": {\n backgroundColor: hexToRgbA(baseColor, 0.3),\n },\n }),\n className\n )}\n {...others}\n >\n <div className={classes.selectAllContainer}>\n <HvCheckBox\n id={setId(id, \"select\")}\n className={classes.selectAll}\n checked={numSelected > 0}\n semantic={isSemantic}\n onChange={onSelectAll}\n indeterminate={numSelected > 0 && numSelected < numTotal}\n label={selectAllLabelComponent}\n {...checkboxProps}\n />\n {showSelectAllPages && anySelected && numSelected < numTotal && (\n <>\n <div className={classes.divider} />\n <HvButton\n id={setId(id, \"pages\")}\n className={classes.selectAllPages}\n variant={isSemantic ? \"semantic\" : \"secondaryGhost\"}\n onClick={onSelectAllPages}\n >\n {selectAllPagesLabel ??\n `Select all ${numTotal} items across all pages`}\n </HvButton>\n </>\n )}\n </div>\n <HvActionsGeneric\n id={setId(id, \"actions\")}\n classes={{ root: classes.actions }}\n category={isSemantic ? \"semantic\" : \"secondaryGhost\"}\n actions={actions}\n disabled={actionsDisabled ?? numSelected === 0}\n actionsCallback={actionsCallback}\n maxVisibleActions={maxVisibleActions}\n />\n </div>\n );\n};\n"],"names":["HvBulkActions","props","id","className","classes","classesProp","selectAllPagesLabel","actionsDisabled","maxVisibleActions","checkboxProps","actions","numTotal","numSelected","selectAllLabel","selectAllConjunctionLabel","showSelectAllPages","semantic","actionsCallback","onSelectAll","onSelectAllPages","others","useDefaultProps","cx","css","useClasses","activeTheme","selectedMode","useTheme","baseColor","colors","modes","base_light","theme","anySelected","isSemantic","selectAllLabelComponent","HvTypography","component","disabled","variant","children","_jsxs","_Fragment","_jsx","root","color","base_dark","backgroundColor","hexToRgbA","selectAllContainer","HvCheckBox","setId","selectAll","checked","onChange","indeterminate","label","divider","HvButton","selectAllPages","onClick","HvActionsGeneric","category"],"mappings":"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"}
1
+ {"version":3,"file":"BulkActions.cjs","sources":["../../../../src/components/BulkActions/BulkActions.tsx"],"sourcesContent":["import { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\nimport { setId } from \"@core/utils/setId\";\nimport { useTheme } from \"@core/hooks/useTheme\";\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { HvButton, HvButtonProps } from \"@core/components/Button\";\nimport { HvCheckBox, HvCheckBoxProps } from \"@core/components/CheckBox\";\nimport {\n HvActionGeneric,\n HvActionsGeneric,\n HvActionsGenericProps,\n} from \"@core/components/ActionsGeneric\";\nimport { HvTypography } from \"@core/components/Typography\";\nimport { ExtractNames } from \"@core/utils/classes\";\nimport { hexToRgbA } from \"@core/utils/hexToRgbA\";\n\nimport { staticClasses, useClasses } from \"./BulkActions.styles\";\n\nexport { staticClasses as bulkActionsClasses };\n\nexport type HvBulkActionsClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvBulkActionsProps extends HvBaseProps {\n /**\n * Custom label for select all checkbox\n */\n selectAllLabel?: React.ReactNode;\n /**\n * Custom label for select all checkbox conjunction\n */\n selectAllConjunctionLabel?: string;\n /**\n * Custom label for select all pages button\n */\n selectAllPagesLabel?: React.ReactNode;\n /**\n * Whether select all pages element should be visible\n */\n showSelectAllPages?: boolean;\n /**\n * The total number of elements\n */\n numTotal?: number;\n /**\n * The number of elements currently selected\n */\n numSelected?: number;\n /**\n * Function called when the \"select all\" Checkbox is toggled.\n */\n onSelectAll?: HvCheckBoxProps[\"onChange\"];\n /**\n * Function called when the \"select all pages\" button is clicked toggled.\n */\n onSelectAllPages?: HvButtonProps[\"onClick\"];\n /**\n * Whether the bulk actions should use the semantic styles when there are selected elements.\n */\n semantic?: boolean;\n /**\n * The renderable content inside the right actions slot,\n * or an Array of actions `{ id, label, icon, disabled, ... }`\n */\n actions?: React.ReactNode | HvActionGeneric[];\n /**\n * Whether actions should be all disabled\n */\n actionsDisabled?: boolean;\n /**\n * The callback function ran when an action is triggered, receiving `action` as param\n */\n actionsCallback?: HvActionsGenericProps[\"actionsCallback\"];\n /**\n * The number of maximum visible actions before they're collapsed into a `DropDownMenu`.\n */\n maxVisibleActions?: number;\n /**\n * Properties to be passed onto the checkbox component, the values of the object are equivalent to the\n * HvCheckbox API.\n */\n checkboxProps?: HvCheckBoxProps;\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes?: HvBulkActionsClasses;\n}\n\n/**\n * Bulk Actions allow users to perform an action on a single or multiple items.\n * Also known as \"batch production\" of multiple items at once, one stage at a time.\n */\nexport const HvBulkActions = (props: HvBulkActionsProps) => {\n const {\n id,\n className,\n classes: classesProp,\n selectAllPagesLabel,\n actionsDisabled,\n maxVisibleActions,\n checkboxProps,\n actions,\n numTotal = 0,\n numSelected = 0,\n selectAllLabel = \"All\",\n selectAllConjunctionLabel = \"/\",\n showSelectAllPages = false,\n semantic = true,\n actionsCallback,\n onSelectAll,\n onSelectAllPages,\n ...others\n } = useDefaultProps(\"HvBulkActions\", props);\n\n const { classes, cx, css } = useClasses(classesProp);\n\n const { activeTheme, selectedMode } = useTheme();\n\n const baseColor =\n activeTheme?.colors?.modes[selectedMode].base_light ||\n theme.colors.base_light;\n const anySelected = numSelected > 0;\n const isSemantic = semantic && anySelected;\n\n const selectAllLabelComponent = (\n <HvTypography\n component=\"span\"\n disabled={checkboxProps?.disabled}\n variant=\"body\"\n >\n {!anySelected ? (\n <>\n <HvTypography variant=\"label\">{selectAllLabel}</HvTypography>\n {` (${numTotal})`}\n </>\n ) : (\n <>\n <HvTypography variant=\"label\">{numSelected}</HvTypography>\n {` ${selectAllConjunctionLabel} ${numTotal}`}\n </>\n )}\n </HvTypography>\n );\n\n return (\n <div\n id={id}\n className={cx(\n classes.root,\n { [classes.semantic]: isSemantic },\n isSemantic &&\n css({\n [`& .${staticClasses.selectAll} div`]: {\n color: theme.colors.base_dark,\n\n \"&:hover:not(:disabled)\": {\n backgroundColor: hexToRgbA(baseColor, 0.3),\n },\n\n \"& *\": {\n color: theme.colors.base_dark,\n backgroundColor: \"transparent\",\n },\n },\n\n [`& .${staticClasses.selectAll}:focus-within div`]: {\n backgroundColor: hexToRgbA(baseColor, 0.3),\n },\n }),\n className\n )}\n {...others}\n >\n <div className={classes.selectAllContainer}>\n <HvCheckBox\n id={setId(id, \"select\")}\n className={classes.selectAll}\n checked={numSelected > 0}\n semantic={isSemantic}\n onChange={onSelectAll}\n indeterminate={numSelected > 0 && numSelected < numTotal}\n label={selectAllLabelComponent}\n {...checkboxProps}\n />\n {showSelectAllPages && anySelected && numSelected < numTotal && (\n <>\n <div className={classes.divider} />\n <HvButton\n id={setId(id, \"pages\")}\n className={classes.selectAllPages}\n variant={isSemantic ? \"semantic\" : \"secondaryGhost\"}\n onClick={onSelectAllPages}\n >\n {selectAllPagesLabel ??\n `Select all ${numTotal} items across all pages`}\n </HvButton>\n </>\n )}\n </div>\n <HvActionsGeneric\n id={setId(id, \"actions\")}\n classes={{ root: classes.actions }}\n category={isSemantic ? \"semantic\" : \"secondaryGhost\"}\n actions={actions}\n disabled={actionsDisabled ?? numSelected === 0}\n actionsCallback={actionsCallback}\n maxVisibleActions={maxVisibleActions}\n />\n </div>\n );\n};\n"],"names":["HvBulkActions","props","id","className","classes","classesProp","selectAllPagesLabel","actionsDisabled","maxVisibleActions","checkboxProps","actions","numTotal","numSelected","selectAllLabel","selectAllConjunctionLabel","showSelectAllPages","semantic","actionsCallback","onSelectAll","onSelectAllPages","others","useDefaultProps","cx","css","useClasses","activeTheme","selectedMode","useTheme","baseColor","colors","modes","base_light","theme","anySelected","isSemantic","selectAllLabelComponent","HvTypography","component","disabled","variant","children","_jsxs","_Fragment","_jsx","root","staticClasses","selectAll","color","base_dark","backgroundColor","hexToRgbA","selectAllContainer","HvCheckBox","setId","checked","onChange","indeterminate","label","divider","HvButton","selectAllPages","onClick","HvActionsGeneric","category"],"mappings":"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"}
@@ -12,7 +12,7 @@ const {
12
12
  position: "relative",
13
13
  outline: uikitStyles.theme.card.outline,
14
14
  borderRadius: uikitStyles.theme.card.borderRadius,
15
- "&.focus-visible": {
15
+ "&:focus-visible": {
16
16
  ...focusUtils.outlineStyles
17
17
  },
18
18
  "&:focus": {
@@ -1 +1 @@
1
- {"version":3,"file":"Card.styles.cjs","sources":["../../../../src/components/Card/Card.styles.tsx"],"sourcesContent":["import { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { outlineStyles } from \"@core/utils/focusUtils\";\nimport { createClasses } from \"@core/utils/classes\";\n\nexport const { staticClasses, useClasses } = createClasses(\"HvCard\", {\n root: {\n overflow: \"visible\",\n position: \"relative\",\n outline: theme.card.outline,\n borderRadius: theme.card.borderRadius,\n \"&.focus-visible\": {\n ...outlineStyles,\n },\n \"&:focus\": {\n outline: \"none\",\n },\n },\n selected: {\n outline: `1px solid ${theme.colors.secondary}`,\n \"&:hover\": {\n outline: `1px solid ${theme.colors.secondary}`,\n },\n \"&:focus\": {\n outline: `1px solid ${theme.colors.secondary}`,\n },\n },\n selectable: {\n \"&:hover\": {\n outline: `1px solid ${theme.card.hoverColor}`,\n },\n },\n semanticContainer: {\n position: \"relative\",\n \"& > *\": {\n position: \"absolute\",\n zIndex: 1,\n },\n },\n icon: {\n top: `calc(${theme.card.iconMargin} + ${theme.space.xs})`,\n right: `calc(${theme.card.iconMargin} + ${theme.space.xs})`,\n },\n semanticBar: {\n width: \"100%\",\n top: -1,\n right: 0,\n },\n});\n"],"names":["staticClasses","useClasses","createClasses","root","overflow","position","outline","theme","card","borderRadius","outlineStyles","selected","colors","secondary","selectable","hoverColor","semanticContainer","zIndex","icon","top","iconMargin","space","xs","right","semanticBar","width"],"mappings":";;;;;AAKa,MAAA;AAAA,EAAEA;AAAAA,EAAeC;AAAW,IAAIC,QAAAA,cAAc,UAAU;AAAA,EACnEC,MAAM;AAAA,IACJC,UAAU;AAAA,IACVC,UAAU;AAAA,IACVC,SAASC,YAAAA,MAAMC,KAAKF;AAAAA,IACpBG,cAAcF,YAAAA,MAAMC,KAAKC;AAAAA,IACzB,mBAAmB;AAAA,MACjB,GAAGC,WAAAA;AAAAA,IACL;AAAA,IACA,WAAW;AAAA,MACTJ,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EACAK,UAAU;AAAA,IACRL,SAAU,aAAYC,YAAAA,MAAMK,OAAOC;AAAAA,IACnC,WAAW;AAAA,MACTP,SAAU,aAAYC,YAAAA,MAAMK,OAAOC;AAAAA,IACrC;AAAA,IACA,WAAW;AAAA,MACTP,SAAU,aAAYC,YAAAA,MAAMK,OAAOC;AAAAA,IACrC;AAAA,EACF;AAAA,EACAC,YAAY;AAAA,IACV,WAAW;AAAA,MACTR,SAAU,aAAYC,YAAAA,MAAMC,KAAKO;AAAAA,IACnC;AAAA,EACF;AAAA,EACAC,mBAAmB;AAAA,IACjBX,UAAU;AAAA,IACV,SAAS;AAAA,MACPA,UAAU;AAAA,MACVY,QAAQ;AAAA,IACV;AAAA,EACF;AAAA,EACAC,MAAM;AAAA,IACJC,KAAM,QAAOZ,YAAAA,MAAMC,KAAKY,gBAAgBb,kBAAMc,MAAMC;AAAAA,IACpDC,OAAQ,QAAOhB,YAAAA,MAAMC,KAAKY,gBAAgBb,kBAAMc,MAAMC;AAAAA,EACxD;AAAA,EACAE,aAAa;AAAA,IACXC,OAAO;AAAA,IACPN,KAAK;AAAA,IACLI,OAAO;AAAA,EACT;AACF,CAAC;;;"}
1
+ {"version":3,"file":"Card.styles.cjs","sources":["../../../../src/components/Card/Card.styles.tsx"],"sourcesContent":["import { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { outlineStyles } from \"@core/utils/focusUtils\";\nimport { createClasses } from \"@core/utils/classes\";\n\nexport const { staticClasses, useClasses } = createClasses(\"HvCard\", {\n root: {\n overflow: \"visible\",\n position: \"relative\",\n outline: theme.card.outline,\n borderRadius: theme.card.borderRadius,\n \"&:focus-visible\": {\n ...outlineStyles,\n },\n \"&:focus\": {\n outline: \"none\",\n },\n },\n selected: {\n outline: `1px solid ${theme.colors.secondary}`,\n \"&:hover\": {\n outline: `1px solid ${theme.colors.secondary}`,\n },\n \"&:focus\": {\n outline: `1px solid ${theme.colors.secondary}`,\n },\n },\n selectable: {\n \"&:hover\": {\n outline: `1px solid ${theme.card.hoverColor}`,\n },\n },\n semanticContainer: {\n position: \"relative\",\n \"& > *\": {\n position: \"absolute\",\n zIndex: 1,\n },\n },\n icon: {\n top: `calc(${theme.card.iconMargin} + ${theme.space.xs})`,\n right: `calc(${theme.card.iconMargin} + ${theme.space.xs})`,\n },\n semanticBar: {\n width: \"100%\",\n top: -1,\n right: 0,\n },\n});\n"],"names":["staticClasses","useClasses","createClasses","root","overflow","position","outline","theme","card","borderRadius","outlineStyles","selected","colors","secondary","selectable","hoverColor","semanticContainer","zIndex","icon","top","iconMargin","space","xs","right","semanticBar","width"],"mappings":";;;;;AAKa,MAAA;AAAA,EAAEA;AAAAA,EAAeC;AAAW,IAAIC,QAAAA,cAAc,UAAU;AAAA,EACnEC,MAAM;AAAA,IACJC,UAAU;AAAA,IACVC,UAAU;AAAA,IACVC,SAASC,YAAAA,MAAMC,KAAKF;AAAAA,IACpBG,cAAcF,YAAAA,MAAMC,KAAKC;AAAAA,IACzB,mBAAmB;AAAA,MACjB,GAAGC,WAAAA;AAAAA,IACL;AAAA,IACA,WAAW;AAAA,MACTJ,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EACAK,UAAU;AAAA,IACRL,SAAU,aAAYC,YAAAA,MAAMK,OAAOC;AAAAA,IACnC,WAAW;AAAA,MACTP,SAAU,aAAYC,YAAAA,MAAMK,OAAOC;AAAAA,IACrC;AAAA,IACA,WAAW;AAAA,MACTP,SAAU,aAAYC,YAAAA,MAAMK,OAAOC;AAAAA,IACrC;AAAA,EACF;AAAA,EACAC,YAAY;AAAA,IACV,WAAW;AAAA,MACTR,SAAU,aAAYC,YAAAA,MAAMC,KAAKO;AAAAA,IACnC;AAAA,EACF;AAAA,EACAC,mBAAmB;AAAA,IACjBX,UAAU;AAAA,IACV,SAAS;AAAA,MACPA,UAAU;AAAA,MACVY,QAAQ;AAAA,IACV;AAAA,EACF;AAAA,EACAC,MAAM;AAAA,IACJC,KAAM,QAAOZ,YAAAA,MAAMC,KAAKY,gBAAgBb,kBAAMc,MAAMC;AAAAA,IACpDC,OAAQ,QAAOhB,YAAAA,MAAMC,KAAKY,gBAAgBb,kBAAMc,MAAMC;AAAAA,EACxD;AAAA,EACAE,aAAa;AAAA,IACXC,OAAO;AAAA,IACPN,KAAK;AAAA,IACLI,OAAO;AAAA,EACT;AACF,CAAC;;;"}
@@ -28,7 +28,7 @@ const HvCardHeader = ({
28
28
  subheader,
29
29
  action: icon,
30
30
  onClick,
31
- className: cx(className, classes.root),
31
+ className: cx(classes.root, className),
32
32
  classes: {
33
33
  title: cx(css({
34
34
  ...activeTheme == null ? void 0 : activeTheme.typography[activeTheme == null ? void 0 : activeTheme.card.titleVariant]
@@ -1 +1 @@
1
- {"version":3,"file":"Header.cjs","sources":["../../../../../src/components/Card/Header/Header.tsx"],"sourcesContent":["import MuiCardHeader, {\n CardHeaderProps as MuiCardHeaderProps,\n} from \"@mui/material/CardHeader\";\n\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { useTheme } from \"@core/hooks/useTheme\";\nimport { ExtractNames } from \"@core/utils/classes\";\n\nimport { staticClasses, useClasses } from \"./Header.styles\";\n\nexport { staticClasses as cardHeaderClasses };\n\nexport type HvCardHeaderClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvCardHeaderProps\n extends Omit<MuiCardHeaderProps, \"classes\">,\n HvBaseProps<HTMLDivElement, \"title\"> {\n /** The renderable content inside the title slot of the header. */\n title: React.ReactNode;\n /** The renderable content inside the subheader slot of the header. */\n subheader?: React.ReactNode;\n /** The renderable content inside the icon slot of the header. */\n icon?: React.ReactNode;\n /** The function that will be executed when this section is clicked. */\n onClick?: React.MouseEventHandler<HTMLDivElement> | undefined;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvCardHeaderClasses;\n}\n\nexport const HvCardHeader = ({\n classes: classesProp,\n className,\n title,\n subheader,\n icon,\n onClick,\n ...others\n}: HvCardHeaderProps) => {\n const { activeTheme } = useTheme();\n const { classes, css, cx } = useClasses(classesProp);\n\n return (\n <MuiCardHeader\n title={title}\n subheader={subheader}\n action={icon}\n onClick={onClick}\n className={cx(className, classes.root)}\n classes={{\n title: cx(\n css({\n ...activeTheme?.typography[activeTheme?.card.titleVariant],\n }),\n {\n [classes.titleShort]: icon,\n [classes.title]: !icon,\n }\n ),\n subheader: cx(\n css({\n ...activeTheme?.typography[activeTheme?.card.subheaderVariant],\n color: activeTheme?.card.subheaderColor,\n }),\n classes.subheader\n ),\n action: classes.action,\n content: classes.content,\n }}\n {...others}\n />\n );\n};\n"],"names":["HvCardHeader","classes","classesProp","className","title","subheader","icon","onClick","others","activeTheme","useTheme","css","cx","useClasses","MuiCardHeader","action","root","typography","card","titleVariant","titleShort","subheaderVariant","color","subheaderColor","content"],"mappings":";;;;;;;;AA6BO,MAAMA,eAAeA,CAAC;AAAA,EAC3BC,SAASC;AAAAA,EACTC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACA,GAAGC;AACc,MAAM;AACjB,QAAA;AAAA,IAAEC;AAAAA,MAAgBC,SAAS,SAAA;AAC3B,QAAA;AAAA,IAAET;AAAAA,IAASU;AAAAA,IAAKC;AAAAA,EAAAA,IAAOC,cAAAA,WAAWX,WAAW;AAEnD,wCACGY,uBAAAA,SAAa;AAAA,IACZV;AAAAA,IACAC;AAAAA,IACAU,QAAQT;AAAAA,IACRC;AAAAA,IACAJ,WAAWS,GAAGT,WAAWF,QAAQe,IAAI;AAAA,IACrCf,SAAS;AAAA,MACPG,OAAOQ,GACLD,IAAI;AAAA,QACF,GAAGF,2CAAaQ,WAAWR,2CAAaS,KAAKC;AAAAA,MAAY,CAC1D,GACD;AAAA,QACE,CAAClB,QAAQmB,UAAU,GAAGd;AAAAA,QACtB,CAACL,QAAQG,KAAK,GAAG,CAACE;AAAAA,MAAAA,CAEtB;AAAA,MACAD,WAAWO,GACTD,IAAI;AAAA,QACF,GAAGF,2CAAaQ,WAAWR,2CAAaS,KAAKG;AAAAA,QAC7CC,OAAOb,2CAAaS,KAAKK;AAAAA,MAAAA,CAC1B,GACDtB,QAAQI,SACV;AAAA,MACAU,QAAQd,QAAQc;AAAAA,MAChBS,SAASvB,QAAQuB;AAAAA,IACnB;AAAA,IAAE,GACEhB;AAAAA,EAAAA,CACL;AAEL;;;"}
1
+ {"version":3,"file":"Header.cjs","sources":["../../../../../src/components/Card/Header/Header.tsx"],"sourcesContent":["import MuiCardHeader, {\n CardHeaderProps as MuiCardHeaderProps,\n} from \"@mui/material/CardHeader\";\n\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { useTheme } from \"@core/hooks/useTheme\";\nimport { ExtractNames } from \"@core/utils/classes\";\n\nimport { staticClasses, useClasses } from \"./Header.styles\";\n\nexport { staticClasses as cardHeaderClasses };\n\nexport type HvCardHeaderClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvCardHeaderProps\n extends Omit<MuiCardHeaderProps, \"classes\">,\n HvBaseProps<HTMLDivElement, \"title\"> {\n /** The renderable content inside the title slot of the header. */\n title: React.ReactNode;\n /** The renderable content inside the subheader slot of the header. */\n subheader?: React.ReactNode;\n /** The renderable content inside the icon slot of the header. */\n icon?: React.ReactNode;\n /** The function that will be executed when this section is clicked. */\n onClick?: React.MouseEventHandler<HTMLDivElement> | undefined;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvCardHeaderClasses;\n}\n\nexport const HvCardHeader = ({\n classes: classesProp,\n className,\n title,\n subheader,\n icon,\n onClick,\n ...others\n}: HvCardHeaderProps) => {\n const { activeTheme } = useTheme();\n const { classes, css, cx } = useClasses(classesProp);\n\n return (\n <MuiCardHeader\n title={title}\n subheader={subheader}\n action={icon}\n onClick={onClick}\n className={cx(classes.root, className)}\n classes={{\n title: cx(\n css({\n ...activeTheme?.typography[activeTheme?.card.titleVariant],\n }),\n {\n [classes.titleShort]: icon,\n [classes.title]: !icon,\n }\n ),\n subheader: cx(\n css({\n ...activeTheme?.typography[activeTheme?.card.subheaderVariant],\n color: activeTheme?.card.subheaderColor,\n }),\n classes.subheader\n ),\n action: classes.action,\n content: classes.content,\n }}\n {...others}\n />\n );\n};\n"],"names":["HvCardHeader","classes","classesProp","className","title","subheader","icon","onClick","others","activeTheme","useTheme","css","cx","useClasses","MuiCardHeader","action","root","typography","card","titleVariant","titleShort","subheaderVariant","color","subheaderColor","content"],"mappings":";;;;;;;;AA6BO,MAAMA,eAAeA,CAAC;AAAA,EAC3BC,SAASC;AAAAA,EACTC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACA,GAAGC;AACc,MAAM;AACjB,QAAA;AAAA,IAAEC;AAAAA,MAAgBC,SAAS,SAAA;AAC3B,QAAA;AAAA,IAAET;AAAAA,IAASU;AAAAA,IAAKC;AAAAA,EAAAA,IAAOC,cAAAA,WAAWX,WAAW;AAEnD,wCACGY,uBAAAA,SAAa;AAAA,IACZV;AAAAA,IACAC;AAAAA,IACAU,QAAQT;AAAAA,IACRC;AAAAA,IACAJ,WAAWS,GAAGX,QAAQe,MAAMb,SAAS;AAAA,IACrCF,SAAS;AAAA,MACPG,OAAOQ,GACLD,IAAI;AAAA,QACF,GAAGF,2CAAaQ,WAAWR,2CAAaS,KAAKC;AAAAA,MAAY,CAC1D,GACD;AAAA,QACE,CAAClB,QAAQmB,UAAU,GAAGd;AAAAA,QACtB,CAACL,QAAQG,KAAK,GAAG,CAACE;AAAAA,MAAAA,CAEtB;AAAA,MACAD,WAAWO,GACTD,IAAI;AAAA,QACF,GAAGF,2CAAaQ,WAAWR,2CAAaS,KAAKG;AAAAA,QAC7CC,OAAOb,2CAAaS,KAAKK;AAAAA,MAAAA,CAC1B,GACDtB,QAAQI,SACV;AAAA,MACAU,QAAQd,QAAQc;AAAAA,MAChBS,SAASvB,QAAQuB;AAAAA,IACnB;AAAA,IAAE,GACEhB;AAAAA,EAAAA,CACL;AAEL;;;"}
@@ -27,10 +27,6 @@ const {
27
27
  },
28
28
  "&>*:focus-within": {
29
29
  zIndex: 1
30
- },
31
- // IE fallback code (using focus-within-polyfill)
32
- "&>*.focus-within": {
33
- zIndex: 1
34
30
  }
35
31
  },
36
32
  horizontal: {
@@ -1 +1 @@
1
- {"version":3,"file":"CheckBoxGroup.styles.cjs","sources":["../../../../src/components/CheckBoxGroup/CheckBoxGroup.styles.tsx"],"sourcesContent":["import { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { createClasses } from \"@core/utils/classes\";\n\nexport const { staticClasses, useClasses } = createClasses(\"HvCheckBoxGroup\", {\n root: {\n display: \"inline-block\",\n padding: 0,\n margin: 0,\n overflow: \"hidden\",\n verticalAlign: \"top\",\n },\n label: { marginBottom: theme.space.xs },\n group: { display: \"flex\" },\n vertical: {\n flexDirection: \"column\",\n\n // Prevent the focus ring to be hidden by sibling hover background\n \"&>*\": {\n zIndex: 0,\n },\n \"&>*:focus-within\": {\n zIndex: 1,\n },\n // IE fallback code (using focus-within-polyfill)\n \"&>*.focus-within\": {\n zIndex: 1,\n },\n },\n horizontal: {\n flexDirection: \"row\",\n flexWrap: \"wrap\",\n\n \"&>*:not(:first-of-type)\": {\n marginLeft: theme.space.sm,\n },\n },\n invalid: {\n paddingBottom: theme.space.xs,\n borderBottom: `1px solid ${theme.colors.negative}`,\n },\n selectAll: {},\n error: {},\n});\n"],"names":["staticClasses","useClasses","createClasses","root","display","padding","margin","overflow","verticalAlign","label","marginBottom","theme","space","xs","group","vertical","flexDirection","zIndex","horizontal","flexWrap","marginLeft","sm","invalid","paddingBottom","borderBottom","colors","negative","selectAll","error"],"mappings":";;;;AAIa,MAAA;AAAA,EAAEA;AAAAA,EAAeC;AAAW,IAAIC,QAAAA,cAAc,mBAAmB;AAAA,EAC5EC,MAAM;AAAA,IACJC,SAAS;AAAA,IACTC,SAAS;AAAA,IACTC,QAAQ;AAAA,IACRC,UAAU;AAAA,IACVC,eAAe;AAAA,EACjB;AAAA,EACAC,OAAO;AAAA,IAAEC,cAAcC,YAAAA,MAAMC,MAAMC;AAAAA,EAAG;AAAA,EACtCC,OAAO;AAAA,IAAEV,SAAS;AAAA,EAAO;AAAA,EACzBW,UAAU;AAAA,IACRC,eAAe;AAAA;AAAA,IAGf,OAAO;AAAA,MACLC,QAAQ;AAAA,IACV;AAAA,IACA,oBAAoB;AAAA,MAClBA,QAAQ;AAAA,IACV;AAAA;AAAA,IAEA,oBAAoB;AAAA,MAClBA,QAAQ;AAAA,IACV;AAAA,EACF;AAAA,EACAC,YAAY;AAAA,IACVF,eAAe;AAAA,IACfG,UAAU;AAAA,IAEV,2BAA2B;AAAA,MACzBC,YAAYT,YAAAA,MAAMC,MAAMS;AAAAA,IAC1B;AAAA,EACF;AAAA,EACAC,SAAS;AAAA,IACPC,eAAeZ,YAAAA,MAAMC,MAAMC;AAAAA,IAC3BW,cAAe,aAAYb,YAAAA,MAAMc,OAAOC;AAAAA,EAC1C;AAAA,EACAC,WAAW,CAAC;AAAA,EACZC,OAAO,CAAC;AACV,CAAC;;;"}
1
+ {"version":3,"file":"CheckBoxGroup.styles.cjs","sources":["../../../../src/components/CheckBoxGroup/CheckBoxGroup.styles.tsx"],"sourcesContent":["import { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { createClasses } from \"@core/utils/classes\";\n\nexport const { staticClasses, useClasses } = createClasses(\"HvCheckBoxGroup\", {\n root: {\n display: \"inline-block\",\n padding: 0,\n margin: 0,\n overflow: \"hidden\",\n verticalAlign: \"top\",\n },\n label: { marginBottom: theme.space.xs },\n group: { display: \"flex\" },\n vertical: {\n flexDirection: \"column\",\n\n // Prevent the focus ring to be hidden by sibling hover background\n \"&>*\": {\n zIndex: 0,\n },\n \"&>*:focus-within\": {\n zIndex: 1,\n },\n },\n horizontal: {\n flexDirection: \"row\",\n flexWrap: \"wrap\",\n\n \"&>*:not(:first-of-type)\": {\n marginLeft: theme.space.sm,\n },\n },\n invalid: {\n paddingBottom: theme.space.xs,\n borderBottom: `1px solid ${theme.colors.negative}`,\n },\n selectAll: {},\n error: {},\n});\n"],"names":["staticClasses","useClasses","createClasses","root","display","padding","margin","overflow","verticalAlign","label","marginBottom","theme","space","xs","group","vertical","flexDirection","zIndex","horizontal","flexWrap","marginLeft","sm","invalid","paddingBottom","borderBottom","colors","negative","selectAll","error"],"mappings":";;;;AAIa,MAAA;AAAA,EAAEA;AAAAA,EAAeC;AAAW,IAAIC,QAAAA,cAAc,mBAAmB;AAAA,EAC5EC,MAAM;AAAA,IACJC,SAAS;AAAA,IACTC,SAAS;AAAA,IACTC,QAAQ;AAAA,IACRC,UAAU;AAAA,IACVC,eAAe;AAAA,EACjB;AAAA,EACAC,OAAO;AAAA,IAAEC,cAAcC,YAAAA,MAAMC,MAAMC;AAAAA,EAAG;AAAA,EACtCC,OAAO;AAAA,IAAEV,SAAS;AAAA,EAAO;AAAA,EACzBW,UAAU;AAAA,IACRC,eAAe;AAAA;AAAA,IAGf,OAAO;AAAA,MACLC,QAAQ;AAAA,IACV;AAAA,IACA,oBAAoB;AAAA,MAClBA,QAAQ;AAAA,IACV;AAAA,EACF;AAAA,EACAC,YAAY;AAAA,IACVF,eAAe;AAAA,IACfG,UAAU;AAAA,IAEV,2BAA2B;AAAA,MACzBC,YAAYT,YAAAA,MAAMC,MAAMS;AAAAA,IAC1B;AAAA,EACF;AAAA,EACAC,SAAS;AAAA,IACPC,eAAeZ,YAAAA,MAAMC,MAAMC;AAAAA,IAC3BW,cAAe,aAAYb,YAAAA,MAAMc,OAAOC;AAAAA,EAC1C;AAAA,EACAC,WAAW,CAAC;AAAA,EACZC,OAAO,CAAC;AACV,CAAC;;;"}
@@ -101,7 +101,7 @@ const HvColorPicker = (props) => {
101
101
  name,
102
102
  disabled,
103
103
  required,
104
- className: cx(className, classes.root),
104
+ className: cx(classes.root, className),
105
105
  children: [(hasLabel || hasDescription) && /* @__PURE__ */ jsxRuntime.jsxs("div", {
106
106
  className: classes.labelContainer,
107
107
  children: [hasLabel && /* @__PURE__ */ jsxRuntime.jsx(Label.HvLabel, {
@@ -1 +1 @@
1
- {"version":3,"file":"ColorPicker.cjs","sources":["../../../../src/components/ColorPicker/ColorPicker.tsx"],"sourcesContent":["import { Checkbox, ColorPicker } from \"@hitachivantara/uikit-react-icons\";\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\n\nimport { ColorState } from \"react-color\";\n\nimport { useControlled } from \"@core/hooks/useControlled\";\nimport { useUniqueId } from \"@core/hooks/useUniqueId\";\nimport { useLabels } from \"@core/hooks/useLabels\";\nimport { useTheme } from \"@core/hooks/useTheme\";\nimport { ExtractNames } from \"@core/utils/classes\";\nimport { setId } from \"@core/utils/setId\";\nimport { HvTypography } from \"@core/components/Typography\";\nimport { HvPanel } from \"@core/components/Panel\";\nimport { HvFormElement, HvInfoMessage, HvLabel } from \"@core/components/Forms\";\nimport { HvBaseDropdown } from \"@core/components/BaseDropdown\";\nimport { HvDropdownProps } from \"@core/components/Dropdown\";\n\nimport { Picker } from \"./Picker\";\nimport { staticClasses, useClasses } from \"./ColorPicker.styles\";\nimport { PresetColors } from \"./PresetColors\";\nimport { SavedColors } from \"./SavedColors\";\n\nexport { staticClasses as colorPickerClasses };\n\nexport type HvColorPickerClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvColorPickerProps {\n \"aria-label\"?: string;\n \"aria-labelledby\"?: string;\n \"aria-describedby\"?: string;\n /** Class names to be applied. */\n className?: string;\n /** Id to be applied to the form element root node. */\n id?: string;\n /** The form element name. */\n name?: string;\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 /** Indicates that user input is required on the form element. */\n required?: boolean;\n /** The value color, in HEX format. */\n value?: string;\n /** The default value color, in HEX format. */\n defaultValue?: string;\n /** If `true` the dropdown is disabled unable to be interacted, if `false` it is enabled. */\n disabled?: boolean;\n /** If `true` the dropdown starts opened if `false` it starts closed. */\n expanded?: boolean;\n /** When uncontrolled, defines the initial expanded state. */\n defaultExpanded?: boolean;\n /** A function to be executed whenever the color changes. */\n onChange?: (color: string) => void;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvColorPickerClasses;\n /** The placeholder value when nothing is selected. */\n placeholder?: string;\n /** Recommended colors. The colors are HEX values. */\n recommendedColors?: string[];\n /** Recommended colors position. */\n recommendedColorsPosition?: \"top\" | \"bottom\";\n /** If `true`, the labels are shown. If `false`, they are not shown. */\n showLabels?: boolean;\n /** An object containing all the labels. */\n labels?: {\n recommendedColorsLabel?: string;\n customColorsLabel?: string;\n };\n /** Icon type for the input's end adornment. */\n dropdownIcon?: \"arrow\" | \"colorPicker\";\n /** If `true`, the input only shows an icon. If `false`, the input shows text and icons. */\n iconOnly?: boolean;\n /** If `true`, the saved colors area is shown. If `false`, it is not shown. */\n showSavedColors?: boolean;\n /** If `true`, the custom colors area is shown. If `false`, it is not shown. */\n showCustomColors?: boolean;\n /** The saved colors. The colors are HEX values. */\n savedColorsValue?: string[];\n /** The default saved colors. The colors are HEX values. */\n defaultSavedColorsValue?: string[];\n /** Callback fired when a new saved color is added. */\n onSavedColorAdded?: (color?: string) => void;\n /** Callback fired when a new saved color is removed. */\n onSavedColorRemoved?: (color?: string) => void;\n /** Aria label to apply to delete saved color button. */\n deleteSavedColorButtonArialLabel?: string;\n}\n\nconst DEFAULT_LABELS: HvColorPickerProps[\"labels\"] = {\n recommendedColorsLabel: \"Recommended colors:\",\n customColorsLabel: \"Custom colors:\",\n};\n\n/**\n * A color picker component which allows the user to select a color from a list of pre-defined colors or freely select one color via the Hue and Saturation.\n * It receives a color string in HEX format and outputs an HEX formatted color.\n */\nexport const HvColorPicker = (props: HvColorPickerProps) => {\n const {\n id,\n name,\n required = false,\n disabled = false,\n label,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n description,\n \"aria-describedby\": ariaDescribedBy,\n className,\n classes: classesProp,\n value,\n onChange,\n defaultValue = \"\",\n expanded,\n defaultExpanded = false,\n recommendedColorsPosition = \"top\",\n recommendedColors = [\n \"#95AFE8\",\n \"#E89E5D\",\n \"#83B8A6\",\n \"#70759C\",\n \"#C57E7E\",\n \"#FADA95\",\n \"#ADBFE8\",\n \"#E3B386\",\n \"#9AC6B7\",\n \"#8B90AF\",\n \"#CF9797\",\n \"#FAE1AA\",\n ],\n showLabels = true,\n labels: labelsProp,\n dropdownIcon = \"colorPicker\",\n placeholder = \"Select color...\",\n iconOnly = false,\n showSavedColors = true,\n showCustomColors = true,\n savedColorsValue,\n defaultSavedColorsValue = [],\n onSavedColorAdded,\n onSavedColorRemoved,\n deleteSavedColorButtonArialLabel = \"Delete saved color\",\n } = useDefaultProps(\"HvColorPicker\", props);\n\n const { classes, css, cx } = useClasses(classesProp);\n const { activeTheme } = useTheme();\n\n const labels = useLabels(DEFAULT_LABELS, labelsProp);\n\n const [isOpen, setIsOpen] = useControlled(expanded, Boolean(defaultExpanded));\n const [color, setColor] = useControlled(value, defaultValue);\n const [savedColors, setSavedColors] = useControlled(\n savedColorsValue,\n defaultSavedColorsValue\n );\n const elementId = useUniqueId(id, \"hvdropdown\");\n const hasLabel = label != null;\n const hasDescription = description != null;\n\n const handleToggle: HvDropdownProps[\"onToggle\"] = (_, open) => {\n setIsOpen(open);\n };\n\n const handleSelect = (val: ColorState | { hex: string; source: string }) => {\n onChange?.(val.hex);\n setColor(val.hex);\n };\n\n const handleAddColor = () => {\n // When no color is provided, react-color sets the picker to #000000.\n // This is the color that should be added in this case.\n const colorToAdd = color || \"#000000\";\n\n onSavedColorAdded?.(colorToAdd);\n setSavedColors([...savedColors, colorToAdd]);\n };\n\n const handleRemoveColor = (val: string, position: number) => {\n if (savedColors[position] === val) {\n const sColors = [...savedColors];\n sColors.splice(position, 1);\n onSavedColorRemoved?.(val);\n setSavedColors(sColors);\n }\n };\n\n const setFocusToContent = (containerRef: HTMLElement | null) => {\n const inputs = containerRef?.getElementsByTagName(\"input\");\n if (inputs && inputs.length > 0) {\n inputs[0].focus();\n }\n };\n\n return (\n <HvFormElement\n id={id}\n name={name}\n disabled={disabled}\n required={required}\n className={cx(className, classes.root)}\n >\n {(hasLabel || hasDescription) && (\n <div className={classes.labelContainer}>\n {hasLabel && (\n <HvLabel\n id={setId(elementId, \"label\")}\n label={label}\n className={classes.label}\n />\n )}\n\n {hasDescription && (\n <HvInfoMessage\n id={setId(elementId, \"description\")}\n className={classes.description}\n >\n {description}\n </HvInfoMessage>\n )}\n </div>\n )}\n <HvBaseDropdown\n variableWidth\n className={className}\n expanded={isOpen}\n onToggle={handleToggle}\n onContainerCreation={setFocusToContent}\n classes={{\n root: cx({ [classes.dropdownRootIconOnly]: iconOnly }),\n selection: cx(iconOnly && css({ padding: 0 })),\n }}\n adornment={\n iconOnly && color ? (\n <Checkbox\n className={classes.headerColorIconOnly}\n color={[color, \"transparent\"]}\n />\n ) : dropdownIcon === \"colorPicker\" ? (\n <ColorPicker className={classes.colorPickerIcon} />\n ) : undefined\n }\n placeholder={\n iconOnly ? undefined : color ? (\n <>\n <Checkbox\n className={classes.headerColorIcon}\n color={[color, \"transparent\"]}\n />\n <HvTypography\n className={classes.headerColorValue}\n variant={activeTheme?.colorPicker.inputValueVariant}\n >\n {color}\n </HvTypography>\n </>\n ) : (\n placeholder\n )\n }\n aria-label={ariaLabel}\n aria-labelledby={\n [label && setId(elementId, \"label\"), ariaLabelledBy]\n .join(\" \")\n .trim() || undefined\n }\n aria-describedby={\n [description && setId(elementId, \"description\"), ariaDescribedBy]\n .join(\" \")\n .trim() || undefined\n }\n >\n <HvPanel className={classes.panel}>\n <div className={classes.colorPicker}>\n {recommendedColorsPosition === \"top\" && (\n <PresetColors\n className={cx(\n (showCustomColors || showSavedColors) &&\n css({\n paddingBottom:\n activeTheme?.colorPicker.recommendedColorsBottomPadding,\n }),\n classes.recommendedColorsRoot\n )}\n colors={recommendedColors}\n onClick={handleSelect}\n title={showLabels ? labels?.recommendedColorsLabel : undefined}\n />\n )}\n {showCustomColors && (\n <Picker\n classes={{\n fields: cx({\n [classes.pickerFields]:\n recommendedColorsPosition === \"bottom\" || showSavedColors,\n }),\n }}\n title={showLabels ? labels?.customColorsLabel : undefined}\n color={color}\n onChange={handleSelect}\n />\n )}\n {showSavedColors && (\n <SavedColors\n colors={savedColors}\n onAddColor={handleAddColor}\n onClickColor={handleSelect}\n onRemoveColor={handleRemoveColor}\n deleteButtonArialLabel={deleteSavedColorButtonArialLabel}\n />\n )}\n {recommendedColorsPosition === \"bottom\" && (\n <PresetColors\n colors={recommendedColors}\n onClick={handleSelect}\n title={showLabels ? labels?.recommendedColorsLabel : undefined}\n />\n )}\n </div>\n </HvPanel>\n </HvBaseDropdown>\n </HvFormElement>\n );\n};\n"],"names":["DEFAULT_LABELS","recommendedColorsLabel","customColorsLabel","HvColorPicker","props","id","name","required","disabled","label","ariaLabel","ariaLabelledBy","description","ariaDescribedBy","className","classes","classesProp","value","onChange","defaultValue","expanded","defaultExpanded","recommendedColorsPosition","recommendedColors","showLabels","labels","labelsProp","dropdownIcon","placeholder","iconOnly","showSavedColors","showCustomColors","savedColorsValue","defaultSavedColorsValue","onSavedColorAdded","onSavedColorRemoved","deleteSavedColorButtonArialLabel","useDefaultProps","css","cx","useClasses","activeTheme","useTheme","useLabels","isOpen","setIsOpen","useControlled","Boolean","color","setColor","savedColors","setSavedColors","elementId","useUniqueId","hasLabel","hasDescription","handleToggle","_","open","handleSelect","val","hex","handleAddColor","colorToAdd","handleRemoveColor","position","sColors","splice","setFocusToContent","containerRef","inputs","getElementsByTagName","length","focus","HvFormElement","root","children","labelContainer","_jsx","HvLabel","setId","HvInfoMessage","HvBaseDropdown","variableWidth","onToggle","onContainerCreation","dropdownRootIconOnly","selection","padding","adornment","Checkbox","headerColorIconOnly","ColorPicker","colorPickerIcon","undefined","_Fragment","headerColorIcon","HvTypography","headerColorValue","variant","colorPicker","inputValueVariant","join","trim","HvPanel","panel","PresetColors","paddingBottom","recommendedColorsBottomPadding","recommendedColorsRoot","colors","onClick","title","Picker","fields","pickerFields","SavedColors","onAddColor","onClickColor","onRemoveColor","deleteButtonArialLabel"],"mappings":"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"}
1
+ {"version":3,"file":"ColorPicker.cjs","sources":["../../../../src/components/ColorPicker/ColorPicker.tsx"],"sourcesContent":["import { Checkbox, ColorPicker } from \"@hitachivantara/uikit-react-icons\";\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\n\nimport { ColorState } from \"react-color\";\n\nimport { useControlled } from \"@core/hooks/useControlled\";\nimport { useUniqueId } from \"@core/hooks/useUniqueId\";\nimport { useLabels } from \"@core/hooks/useLabels\";\nimport { useTheme } from \"@core/hooks/useTheme\";\nimport { ExtractNames } from \"@core/utils/classes\";\nimport { setId } from \"@core/utils/setId\";\nimport { HvTypography } from \"@core/components/Typography\";\nimport { HvPanel } from \"@core/components/Panel\";\nimport { HvFormElement, HvInfoMessage, HvLabel } from \"@core/components/Forms\";\nimport { HvBaseDropdown } from \"@core/components/BaseDropdown\";\nimport { HvDropdownProps } from \"@core/components/Dropdown\";\n\nimport { Picker } from \"./Picker\";\nimport { staticClasses, useClasses } from \"./ColorPicker.styles\";\nimport { PresetColors } from \"./PresetColors\";\nimport { SavedColors } from \"./SavedColors\";\n\nexport { staticClasses as colorPickerClasses };\n\nexport type HvColorPickerClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvColorPickerProps {\n \"aria-label\"?: string;\n \"aria-labelledby\"?: string;\n \"aria-describedby\"?: string;\n /** Class names to be applied. */\n className?: string;\n /** Id to be applied to the form element root node. */\n id?: string;\n /** The form element name. */\n name?: string;\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 /** Indicates that user input is required on the form element. */\n required?: boolean;\n /** The value color, in HEX format. */\n value?: string;\n /** The default value color, in HEX format. */\n defaultValue?: string;\n /** If `true` the dropdown is disabled unable to be interacted, if `false` it is enabled. */\n disabled?: boolean;\n /** If `true` the dropdown starts opened if `false` it starts closed. */\n expanded?: boolean;\n /** When uncontrolled, defines the initial expanded state. */\n defaultExpanded?: boolean;\n /** A function to be executed whenever the color changes. */\n onChange?: (color: string) => void;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvColorPickerClasses;\n /** The placeholder value when nothing is selected. */\n placeholder?: string;\n /** Recommended colors. The colors are HEX values. */\n recommendedColors?: string[];\n /** Recommended colors position. */\n recommendedColorsPosition?: \"top\" | \"bottom\";\n /** If `true`, the labels are shown. If `false`, they are not shown. */\n showLabels?: boolean;\n /** An object containing all the labels. */\n labels?: {\n recommendedColorsLabel?: string;\n customColorsLabel?: string;\n };\n /** Icon type for the input's end adornment. */\n dropdownIcon?: \"arrow\" | \"colorPicker\";\n /** If `true`, the input only shows an icon. If `false`, the input shows text and icons. */\n iconOnly?: boolean;\n /** If `true`, the saved colors area is shown. If `false`, it is not shown. */\n showSavedColors?: boolean;\n /** If `true`, the custom colors area is shown. If `false`, it is not shown. */\n showCustomColors?: boolean;\n /** The saved colors. The colors are HEX values. */\n savedColorsValue?: string[];\n /** The default saved colors. The colors are HEX values. */\n defaultSavedColorsValue?: string[];\n /** Callback fired when a new saved color is added. */\n onSavedColorAdded?: (color?: string) => void;\n /** Callback fired when a new saved color is removed. */\n onSavedColorRemoved?: (color?: string) => void;\n /** Aria label to apply to delete saved color button. */\n deleteSavedColorButtonArialLabel?: string;\n}\n\nconst DEFAULT_LABELS: HvColorPickerProps[\"labels\"] = {\n recommendedColorsLabel: \"Recommended colors:\",\n customColorsLabel: \"Custom colors:\",\n};\n\n/**\n * A color picker component which allows the user to select a color from a list of pre-defined colors or freely select one color via the Hue and Saturation.\n * It receives a color string in HEX format and outputs an HEX formatted color.\n */\nexport const HvColorPicker = (props: HvColorPickerProps) => {\n const {\n id,\n name,\n required = false,\n disabled = false,\n label,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n description,\n \"aria-describedby\": ariaDescribedBy,\n className,\n classes: classesProp,\n value,\n onChange,\n defaultValue = \"\",\n expanded,\n defaultExpanded = false,\n recommendedColorsPosition = \"top\",\n recommendedColors = [\n \"#95AFE8\",\n \"#E89E5D\",\n \"#83B8A6\",\n \"#70759C\",\n \"#C57E7E\",\n \"#FADA95\",\n \"#ADBFE8\",\n \"#E3B386\",\n \"#9AC6B7\",\n \"#8B90AF\",\n \"#CF9797\",\n \"#FAE1AA\",\n ],\n showLabels = true,\n labels: labelsProp,\n dropdownIcon = \"colorPicker\",\n placeholder = \"Select color...\",\n iconOnly = false,\n showSavedColors = true,\n showCustomColors = true,\n savedColorsValue,\n defaultSavedColorsValue = [],\n onSavedColorAdded,\n onSavedColorRemoved,\n deleteSavedColorButtonArialLabel = \"Delete saved color\",\n } = useDefaultProps(\"HvColorPicker\", props);\n\n const { classes, css, cx } = useClasses(classesProp);\n const { activeTheme } = useTheme();\n\n const labels = useLabels(DEFAULT_LABELS, labelsProp);\n\n const [isOpen, setIsOpen] = useControlled(expanded, Boolean(defaultExpanded));\n const [color, setColor] = useControlled(value, defaultValue);\n const [savedColors, setSavedColors] = useControlled(\n savedColorsValue,\n defaultSavedColorsValue\n );\n const elementId = useUniqueId(id, \"hvdropdown\");\n const hasLabel = label != null;\n const hasDescription = description != null;\n\n const handleToggle: HvDropdownProps[\"onToggle\"] = (_, open) => {\n setIsOpen(open);\n };\n\n const handleSelect = (val: ColorState | { hex: string; source: string }) => {\n onChange?.(val.hex);\n setColor(val.hex);\n };\n\n const handleAddColor = () => {\n // When no color is provided, react-color sets the picker to #000000.\n // This is the color that should be added in this case.\n const colorToAdd = color || \"#000000\";\n\n onSavedColorAdded?.(colorToAdd);\n setSavedColors([...savedColors, colorToAdd]);\n };\n\n const handleRemoveColor = (val: string, position: number) => {\n if (savedColors[position] === val) {\n const sColors = [...savedColors];\n sColors.splice(position, 1);\n onSavedColorRemoved?.(val);\n setSavedColors(sColors);\n }\n };\n\n const setFocusToContent = (containerRef: HTMLElement | null) => {\n const inputs = containerRef?.getElementsByTagName(\"input\");\n if (inputs && inputs.length > 0) {\n inputs[0].focus();\n }\n };\n\n return (\n <HvFormElement\n id={id}\n name={name}\n disabled={disabled}\n required={required}\n className={cx(classes.root, className)}\n >\n {(hasLabel || hasDescription) && (\n <div className={classes.labelContainer}>\n {hasLabel && (\n <HvLabel\n id={setId(elementId, \"label\")}\n label={label}\n className={classes.label}\n />\n )}\n\n {hasDescription && (\n <HvInfoMessage\n id={setId(elementId, \"description\")}\n className={classes.description}\n >\n {description}\n </HvInfoMessage>\n )}\n </div>\n )}\n <HvBaseDropdown\n variableWidth\n className={className}\n expanded={isOpen}\n onToggle={handleToggle}\n onContainerCreation={setFocusToContent}\n classes={{\n root: cx({ [classes.dropdownRootIconOnly]: iconOnly }),\n selection: cx(iconOnly && css({ padding: 0 })),\n }}\n adornment={\n iconOnly && color ? (\n <Checkbox\n className={classes.headerColorIconOnly}\n color={[color, \"transparent\"]}\n />\n ) : dropdownIcon === \"colorPicker\" ? (\n <ColorPicker className={classes.colorPickerIcon} />\n ) : undefined\n }\n placeholder={\n iconOnly ? undefined : color ? (\n <>\n <Checkbox\n className={classes.headerColorIcon}\n color={[color, \"transparent\"]}\n />\n <HvTypography\n className={classes.headerColorValue}\n variant={activeTheme?.colorPicker.inputValueVariant}\n >\n {color}\n </HvTypography>\n </>\n ) : (\n placeholder\n )\n }\n aria-label={ariaLabel}\n aria-labelledby={\n [label && setId(elementId, \"label\"), ariaLabelledBy]\n .join(\" \")\n .trim() || undefined\n }\n aria-describedby={\n [description && setId(elementId, \"description\"), ariaDescribedBy]\n .join(\" \")\n .trim() || undefined\n }\n >\n <HvPanel className={classes.panel}>\n <div className={classes.colorPicker}>\n {recommendedColorsPosition === \"top\" && (\n <PresetColors\n className={cx(\n (showCustomColors || showSavedColors) &&\n css({\n paddingBottom:\n activeTheme?.colorPicker.recommendedColorsBottomPadding,\n }),\n classes.recommendedColorsRoot\n )}\n colors={recommendedColors}\n onClick={handleSelect}\n title={showLabels ? labels?.recommendedColorsLabel : undefined}\n />\n )}\n {showCustomColors && (\n <Picker\n classes={{\n fields: cx({\n [classes.pickerFields]:\n recommendedColorsPosition === \"bottom\" || showSavedColors,\n }),\n }}\n title={showLabels ? labels?.customColorsLabel : undefined}\n color={color}\n onChange={handleSelect}\n />\n )}\n {showSavedColors && (\n <SavedColors\n colors={savedColors}\n onAddColor={handleAddColor}\n onClickColor={handleSelect}\n onRemoveColor={handleRemoveColor}\n deleteButtonArialLabel={deleteSavedColorButtonArialLabel}\n />\n )}\n {recommendedColorsPosition === \"bottom\" && (\n <PresetColors\n colors={recommendedColors}\n onClick={handleSelect}\n title={showLabels ? labels?.recommendedColorsLabel : undefined}\n />\n )}\n </div>\n </HvPanel>\n </HvBaseDropdown>\n </HvFormElement>\n );\n};\n"],"names":["DEFAULT_LABELS","recommendedColorsLabel","customColorsLabel","HvColorPicker","props","id","name","required","disabled","label","ariaLabel","ariaLabelledBy","description","ariaDescribedBy","className","classes","classesProp","value","onChange","defaultValue","expanded","defaultExpanded","recommendedColorsPosition","recommendedColors","showLabels","labels","labelsProp","dropdownIcon","placeholder","iconOnly","showSavedColors","showCustomColors","savedColorsValue","defaultSavedColorsValue","onSavedColorAdded","onSavedColorRemoved","deleteSavedColorButtonArialLabel","useDefaultProps","css","cx","useClasses","activeTheme","useTheme","useLabels","isOpen","setIsOpen","useControlled","Boolean","color","setColor","savedColors","setSavedColors","elementId","useUniqueId","hasLabel","hasDescription","handleToggle","_","open","handleSelect","val","hex","handleAddColor","colorToAdd","handleRemoveColor","position","sColors","splice","setFocusToContent","containerRef","inputs","getElementsByTagName","length","focus","HvFormElement","root","children","labelContainer","_jsx","HvLabel","setId","HvInfoMessage","HvBaseDropdown","variableWidth","onToggle","onContainerCreation","dropdownRootIconOnly","selection","padding","adornment","Checkbox","headerColorIconOnly","ColorPicker","colorPickerIcon","undefined","_Fragment","headerColorIcon","HvTypography","headerColorValue","variant","colorPicker","inputValueVariant","join","trim","HvPanel","panel","PresetColors","paddingBottom","recommendedColorsBottomPadding","recommendedColorsRoot","colors","onClick","title","Picker","fields","pickerFields","SavedColors","onAddColor","onClickColor","onRemoveColor","deleteButtonArialLabel"],"mappings":"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"}
@@ -94,7 +94,7 @@ const Fields = ({
94
94
  }, event);
95
95
  };
96
96
  return /* @__PURE__ */ jsxRuntime.jsxs("div", {
97
- className: cx(className, classes.fields),
97
+ className: cx(classes.fields, className),
98
98
  children: [/* @__PURE__ */ jsxRuntime.jsx(Input.HvInput, {
99
99
  ref: hexInputRef,
100
100
  className: classes.double,
@@ -1 +1 @@
1
- {"version":3,"file":"Fields.cjs","sources":["../../../../../src/components/ColorPicker/Fields/Fields.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from \"react\";\n\nimport { HSLColor, HSVColor, RGBColor } from \"react-color\";\n\nimport * as color from \"react-color/lib/helpers/color\";\n\nimport { HvInput } from \"@core/components/Input\";\nimport { ExtractNames } from \"@core/utils/classes\";\n\nimport { staticClasses, useClasses } from \"./Fields.styles\";\n\nexport { staticClasses as colorPickerFieldsClasses };\n\nexport type HvColorPickerFieldsClasses = ExtractNames<typeof useClasses>;\n\ninterface FieldsProps {\n className?: string;\n rgb?: RGBColor;\n hex?: string;\n onChange: (\n data:\n | HSLColor\n | HSVColor\n | RGBColor\n | {\n source?: string;\n hex?: string;\n },\n event: React.ChangeEvent<HTMLInputElement>\n ) => void;\n classes?: HvColorPickerFieldsClasses;\n}\n\nexport const Fields = ({\n className,\n onChange,\n rgb,\n hex,\n classes: classesProp,\n}: FieldsProps) => {\n const { classes, cx } = useClasses(classesProp);\n const [internalHex, setInternalHex] = useState(hex);\n const [internalRed, setInternalRed] = useState(rgb?.r);\n const [internalGreen, setInternalGreen] = useState(rgb?.g);\n const [internalBlue, setInternalBlue] = useState(rgb?.b);\n\n const hexInputRef = useRef<HTMLInputElement>(null);\n const redInputRef = useRef<HTMLInputElement>(null);\n const greenInputRef = useRef<HTMLInputElement>(null);\n const blueInputRef = useRef<HTMLInputElement>(null);\n\n useEffect(() => {\n if (document.activeElement !== hexInputRef.current) {\n setInternalHex(hex);\n }\n }, [hex]);\n\n useEffect(() => {\n if (document.activeElement !== redInputRef.current) {\n setInternalRed(rgb?.r);\n }\n\n if (document.activeElement !== greenInputRef.current) {\n setInternalGreen(rgb?.g);\n }\n\n if (document.activeElement !== blueInputRef.current) {\n setInternalBlue(rgb?.b);\n }\n }, [rgb]);\n\n const handleChange = (\n data: {\n hex?: string;\n r?: number;\n g?: number;\n b?: number;\n },\n event: React.ChangeEvent<HTMLInputElement>\n ) => {\n if (data.hex && color.isValidHex(data.hex)) {\n onChange(\n {\n hex: data.hex,\n source: \"hex\",\n },\n event\n );\n } else if (data.r || data.g || data.b) {\n onChange(\n {\n r: data.r || rgb?.r,\n g: data.g || rgb?.g,\n b: data.b || rgb?.b,\n source: \"rgb\",\n },\n event\n );\n }\n };\n\n const onChangeHex = (event: React.ChangeEvent<any>, value: string) => {\n setInternalHex(value);\n handleChange({ hex: value }, event);\n };\n\n const onChangeRbg = (\n event: React.ChangeEvent<any>,\n value: string,\n colorPart: \"r\" | \"g\" | \"b\"\n ) => {\n if (colorPart === \"r\") setInternalRed(Number(value));\n if (colorPart === \"g\") setInternalGreen(Number(value));\n if (colorPart === \"b\") setInternalBlue(Number(value));\n\n handleChange(\n {\n r: colorPart === \"r\" ? Number(value) : rgb?.r,\n g: colorPart === \"g\" ? Number(value) : rgb?.g,\n b: colorPart === \"b\" ? Number(value) : rgb?.b,\n },\n event\n );\n };\n\n return (\n <div className={cx(className, classes.fields)}>\n <HvInput\n ref={hexInputRef}\n className={classes.double}\n label=\"HEX\"\n value={internalHex?.replace(\"#\", \"\")}\n onChange={onChangeHex}\n onBlur={() => setInternalHex(hex)}\n disableClear\n />\n <HvInput\n ref={redInputRef}\n className={classes.single}\n label=\"R\"\n value={`${internalRed}`}\n onChange={(event, value) => onChangeRbg(event, value, \"r\")}\n onBlur={() => setInternalRed(rgb?.r)}\n disableClear\n />\n <HvInput\n ref={greenInputRef}\n className={classes.single}\n label=\"G\"\n value={`${internalGreen}`}\n onChange={(event, value) => onChangeRbg(event, value, \"g\")}\n onBlur={() => setInternalGreen(rgb?.g)}\n disableClear\n />\n <HvInput\n ref={blueInputRef}\n className={classes.single}\n label=\"B\"\n value={`${internalBlue}`}\n onChange={(event, value) => onChangeRbg(event, value, \"b\")}\n onBlur={() => setInternalBlue(rgb?.b)}\n disableClear\n />\n </div>\n );\n};\n"],"names":["Fields","className","onChange","rgb","hex","classes","classesProp","cx","useClasses","internalHex","setInternalHex","useState","internalRed","setInternalRed","r","internalGreen","setInternalGreen","g","internalBlue","setInternalBlue","b","hexInputRef","useRef","redInputRef","greenInputRef","blueInputRef","useEffect","document","activeElement","current","handleChange","data","event","color","isValidHex","source","onChangeHex","value","onChangeRbg","colorPart","Number","fields","children","_jsx","HvInput","ref","double","label","replace","onBlur","disableClear","single"],"mappings":"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"}
1
+ {"version":3,"file":"Fields.cjs","sources":["../../../../../src/components/ColorPicker/Fields/Fields.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from \"react\";\n\nimport { HSLColor, HSVColor, RGBColor } from \"react-color\";\n\nimport * as color from \"react-color/lib/helpers/color\";\n\nimport { HvInput } from \"@core/components/Input\";\nimport { ExtractNames } from \"@core/utils/classes\";\n\nimport { staticClasses, useClasses } from \"./Fields.styles\";\n\nexport { staticClasses as colorPickerFieldsClasses };\n\nexport type HvColorPickerFieldsClasses = ExtractNames<typeof useClasses>;\n\ninterface FieldsProps {\n className?: string;\n rgb?: RGBColor;\n hex?: string;\n onChange: (\n data:\n | HSLColor\n | HSVColor\n | RGBColor\n | {\n source?: string;\n hex?: string;\n },\n event: React.ChangeEvent<HTMLInputElement>\n ) => void;\n classes?: HvColorPickerFieldsClasses;\n}\n\nexport const Fields = ({\n className,\n onChange,\n rgb,\n hex,\n classes: classesProp,\n}: FieldsProps) => {\n const { classes, cx } = useClasses(classesProp);\n const [internalHex, setInternalHex] = useState(hex);\n const [internalRed, setInternalRed] = useState(rgb?.r);\n const [internalGreen, setInternalGreen] = useState(rgb?.g);\n const [internalBlue, setInternalBlue] = useState(rgb?.b);\n\n const hexInputRef = useRef<HTMLInputElement>(null);\n const redInputRef = useRef<HTMLInputElement>(null);\n const greenInputRef = useRef<HTMLInputElement>(null);\n const blueInputRef = useRef<HTMLInputElement>(null);\n\n useEffect(() => {\n if (document.activeElement !== hexInputRef.current) {\n setInternalHex(hex);\n }\n }, [hex]);\n\n useEffect(() => {\n if (document.activeElement !== redInputRef.current) {\n setInternalRed(rgb?.r);\n }\n\n if (document.activeElement !== greenInputRef.current) {\n setInternalGreen(rgb?.g);\n }\n\n if (document.activeElement !== blueInputRef.current) {\n setInternalBlue(rgb?.b);\n }\n }, [rgb]);\n\n const handleChange = (\n data: {\n hex?: string;\n r?: number;\n g?: number;\n b?: number;\n },\n event: React.ChangeEvent<HTMLInputElement>\n ) => {\n if (data.hex && color.isValidHex(data.hex)) {\n onChange(\n {\n hex: data.hex,\n source: \"hex\",\n },\n event\n );\n } else if (data.r || data.g || data.b) {\n onChange(\n {\n r: data.r || rgb?.r,\n g: data.g || rgb?.g,\n b: data.b || rgb?.b,\n source: \"rgb\",\n },\n event\n );\n }\n };\n\n const onChangeHex = (event: React.ChangeEvent<any>, value: string) => {\n setInternalHex(value);\n handleChange({ hex: value }, event);\n };\n\n const onChangeRbg = (\n event: React.ChangeEvent<any>,\n value: string,\n colorPart: \"r\" | \"g\" | \"b\"\n ) => {\n if (colorPart === \"r\") setInternalRed(Number(value));\n if (colorPart === \"g\") setInternalGreen(Number(value));\n if (colorPart === \"b\") setInternalBlue(Number(value));\n\n handleChange(\n {\n r: colorPart === \"r\" ? Number(value) : rgb?.r,\n g: colorPart === \"g\" ? Number(value) : rgb?.g,\n b: colorPart === \"b\" ? Number(value) : rgb?.b,\n },\n event\n );\n };\n\n return (\n <div className={cx(classes.fields, className)}>\n <HvInput\n ref={hexInputRef}\n className={classes.double}\n label=\"HEX\"\n value={internalHex?.replace(\"#\", \"\")}\n onChange={onChangeHex}\n onBlur={() => setInternalHex(hex)}\n disableClear\n />\n <HvInput\n ref={redInputRef}\n className={classes.single}\n label=\"R\"\n value={`${internalRed}`}\n onChange={(event, value) => onChangeRbg(event, value, \"r\")}\n onBlur={() => setInternalRed(rgb?.r)}\n disableClear\n />\n <HvInput\n ref={greenInputRef}\n className={classes.single}\n label=\"G\"\n value={`${internalGreen}`}\n onChange={(event, value) => onChangeRbg(event, value, \"g\")}\n onBlur={() => setInternalGreen(rgb?.g)}\n disableClear\n />\n <HvInput\n ref={blueInputRef}\n className={classes.single}\n label=\"B\"\n value={`${internalBlue}`}\n onChange={(event, value) => onChangeRbg(event, value, \"b\")}\n onBlur={() => setInternalBlue(rgb?.b)}\n disableClear\n />\n </div>\n );\n};\n"],"names":["Fields","className","onChange","rgb","hex","classes","classesProp","cx","useClasses","internalHex","setInternalHex","useState","internalRed","setInternalRed","r","internalGreen","setInternalGreen","g","internalBlue","setInternalBlue","b","hexInputRef","useRef","redInputRef","greenInputRef","blueInputRef","useEffect","document","activeElement","current","handleChange","data","event","color","isValidHex","source","onChangeHex","value","onChangeRbg","colorPart","Number","fields","children","_jsx","HvInput","ref","double","label","replace","onBlur","disableClear","single"],"mappings":"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"}
@@ -238,7 +238,7 @@ const HvDatePicker = (props) => {
238
238
  label: "StyledTypography"
239
239
  })({
240
240
  color: dateString ? uikitStyles.theme.colors.secondary : uikitStyles.theme.datePicker.dropdownPlaceholderColor
241
- }, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2h2LXVpa2l0LXJlYWN0L2h2LXVpa2l0LXJlYWN0L3BhY2thZ2VzL2NvcmUvc3JjL2NvbXBvbmVudHMvRGF0ZVBpY2tlci9EYXRlUGlja2VyLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFpZjZCIiwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3JrL2h2LXVpa2l0LXJlYWN0L2h2LXVpa2l0LXJlYWN0L3BhY2thZ2VzL2NvcmUvc3JjL2NvbXBvbmVudHMvRGF0ZVBpY2tlci9EYXRlUGlja2VyLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZVN0YXRlLCB1c2VFZmZlY3QsIHVzZVJlZiwgUmVhY3ROb2RlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VEZWZhdWx0UHJvcHMgfSBmcm9tIFwiQGNvcmUvaG9va3MvdXNlRGVmYXVsdFByb3BzXCI7XG5cbmltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuXG5pbXBvcnQgeyBDYWxlbmRhciB9IGZyb20gXCJAaGl0YWNoaXZhbnRhcmEvdWlraXQtcmVhY3QtaWNvbnNcIjtcbmltcG9ydCB7IHRoZW1lIH0gZnJvbSBcIkBoaXRhY2hpdmFudGFyYS91aWtpdC1zdHlsZXNcIjtcblxuaW1wb3J0IHsgdXNlQ29udHJvbGxlZCB9IGZyb20gXCJAY29yZS9ob29rcy91c2VDb250cm9sbGVkXCI7XG5pbXBvcnQgeyB1c2VVbmlxdWVJZCB9IGZyb20gXCJAY29yZS9ob29rcy91c2VVbmlxdWVJZFwiO1xuaW1wb3J0IHsgdXNlTGFiZWxzIH0gZnJvbSBcIkBjb3JlL2hvb2tzL3VzZUxhYmVsc1wiO1xuaW1wb3J0IHsgdXNlVGhlbWUgfSBmcm9tIFwiQGNvcmUvaG9va3MvdXNlVGhlbWVcIjtcbmltcG9ydCB7IEh2QmFzZVByb3BzIH0gZnJvbSBcIkBjb3JlL3R5cGVzL2dlbmVyaWNcIjtcbmltcG9ydCB7IEV4dHJhY3ROYW1lcyB9IGZyb20gXCJAY29yZS91dGlscy9jbGFzc2VzXCI7XG5pbXBvcnQgeyBzZXRJZCB9IGZyb20gXCJAY29yZS91dGlscy9zZXRJZFwiO1xuaW1wb3J0IHsgdXNlU2F2ZWRTdGF0ZSB9IGZyb20gXCJAY29yZS91dGlscy91c2VTYXZlZFN0YXRlXCI7XG5pbXBvcnQge1xuICBpc0ludmFsaWQsXG4gIEh2TGFiZWwsXG4gIEh2Rm9ybVN0YXR1cyxcbiAgSHZXYXJuaW5nVGV4dCxcbiAgSHZGb3JtRWxlbWVudCxcbiAgSHZJbmZvTWVzc2FnZSxcbn0gZnJvbSBcIkBjb3JlL2NvbXBvbmVudHMvRm9ybXNcIjtcbmltcG9ydCB7IGlzRGF0ZSB9IGZyb20gXCJAY29yZS9jb21wb25lbnRzL0NhbGVuZGFyL3V0aWxzXCI7XG5pbXBvcnQgeyBIdkNhbGVuZGFyLCBIdkNhbGVuZGFyUHJvcHMgfSBmcm9tIFwiQGNvcmUvY29tcG9uZW50cy9DYWxlbmRhclwiO1xuaW1wb3J0IHtcbiAgSHZCYXNlRHJvcGRvd24sXG4gIEh2QmFzZURyb3Bkb3duUHJvcHMsXG59IGZyb20gXCJAY29yZS9jb21wb25lbnRzL0Jhc2VEcm9wZG93blwiO1xuaW1wb3J0IHsgSHZUeXBvZ3JhcGh5IH0gZnJvbSBcIkBjb3JlL2NvbXBvbmVudHMvVHlwb2dyYXBoeVwiO1xuaW1wb3J0IHsgSHZBY3Rpb25CYXIgfSBmcm9tIFwiQGNvcmUvY29tcG9uZW50cy9BY3Rpb25CYXJcIjtcbmltcG9ydCB7IEh2QnV0dG9uIH0gZnJvbSBcIkBjb3JlL2NvbXBvbmVudHMvQnV0dG9uXCI7XG5cbmltcG9ydCB7IGdldERhdGVMYWJlbCB9IGZyb20gXCIuL3V0aWxzXCI7XG5pbXBvcnQgdXNlVmlzaWJsZURhdGUgZnJvbSBcIi4vdXNlVmlzaWJsZURhdGVcIjtcbmltcG9ydCB7IHN0YXRpY0NsYXNzZXMsIHVzZUNsYXNzZXMgfSBmcm9tIFwiLi9EYXRlUGlja2VyLnN0eWxlc1wiO1xuXG5leHBvcnQgeyBzdGF0aWNDbGFzc2VzIGFzIGRhdGVQaWNrZXJDbGFzc2VzIH07XG5cbmV4cG9ydCB0eXBlIEh2RGF0ZVBpY2tlckNsYXNzZXMgPSBFeHRyYWN0TmFtZXM8dHlwZW9mIHVzZUNsYXNzZXM+O1xuXG5jb25zdCBERUZBVUxUX0xBQkVMUyA9IHtcbiAgYXBwbHlMYWJlbDogXCJBcHBseVwiLFxuICBjYW5jZWxMYWJlbDogXCJDYW5jZWxcIixcbiAgY2xlYXJMYWJlbDogXCJDbGVhclwiLFxuICBpbnZhbGlkTGFiZWw6IFwiSW52YWxpZCBkYXRlXCIsXG59O1xuXG4vKiogQGRlcHJlY2F0ZWQgdXNlIGBIdkZvcm1TdGF0dXNgIGluc3RlYWQgKi9cbmV4cG9ydCB0eXBlIEh2RGF0ZVBpY2tlclN0YXR1cyA9IEh2Rm9ybVN0YXR1cztcblxuZXhwb3J0IGludGVyZmFjZSBIdkRhdGVQaWNrZXJQcm9wc1xuICBleHRlbmRzIEh2QmFzZVByb3BzPEhUTUxEaXZFbGVtZW50LCBcIm9uQ2hhbmdlXCI+IHtcbiAgLyoqXG4gICAqIENsYXNzIG5hbWVzIHRvIGJlIGFwcGxpZWQuXG4gICAqL1xuICBjbGFzc05hbWU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBIEpzcyBPYmplY3QgdXNlZCB0byBvdmVycmlkZSBvciBleHRlbmQgdGhlIGNvbXBvbmVudCBzdHlsZXMgYXBwbGllZC5cbiAgICovXG4gIGNsYXNzZXM/OiBIdkRhdGVQaWNrZXJDbGFzc2VzO1xuICAvKipcbiAgICogSWQgdG8gYmUgYXBwbGllZCB0byB0aGUgZm9ybSBlbGVtZW50IHJvb3Qgbm9kZS5cbiAgICovXG4gIGlkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZm9ybSBlbGVtZW50IG5hbWUuXG4gICAqL1xuICBuYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIGxhYmVsIG9mIHRoZSBmb3JtIGVsZW1lbnQuXG4gICAqXG4gICAqIFRoZSBmb3JtIGVsZW1lbnQgbXVzdCBiZSBsYWJlbGVkIGZvciBhY2Nlc3NpYmlsaXR5IHJlYXNvbnMuXG4gICAqIElmIG5vdCBwcm92aWRlZCwgYW4gYXJpYS1sYWJlbCBvciBhcmlhLWxhYmVsbGVkYnkgbXVzdCBiZSBwcm92aWRlZCBpbnN0ZWFkLlxuICAgKi9cbiAgbGFiZWw/OiBSZWFjdC5SZWFjdE5vZGU7XG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBcImFyaWEtbGFiZWxcIj86IHN0cmluZztcbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIFwiYXJpYS1sYWJlbGxlZGJ5XCI/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBQcm92aWRlIGFkZGl0aW9uYWwgZGVzY3JpcHRpdmUgdGV4dCBmb3IgdGhlIGZvcm0gZWxlbWVudC5cbiAgICovXG4gIGRlc2NyaXB0aW9uPzogUmVhY3QuUmVhY3ROb2RlO1xuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgXCJhcmlhLWRlc2NyaWJlZGJ5XCI/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgcGxhY2Vob2xkZXIgdmFsdWUgd2hlbiBub3RoaW5nIGlzIHNlbGVjdGVkLlxuICAgKi9cbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB0aGF0IHRoZSBmb3JtIGVsZW1lbnQgaXMgZGlzYWJsZWQuXG4gICAqL1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgdGhhdCB1c2VyIGlucHV0IGlzIHJlcXVpcmVkIG9uIHRoZSBmb3JtIGVsZW1lbnQuXG4gICAqL1xuICByZXF1aXJlZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBzdGF0dXMgb2YgdGhlIGZvcm0gZWxlbWVudC5cbiAgICpcbiAgICogVmFsaWQgaXMgY29ycmVjdCwgaW52YWxpZCBpcyBpbmNvcnJlY3QgYW5kIHN0YW5kQnkgbWVhbnMgbm8gdmFsaWRhdGlvbnMgaGF2ZSBydW4uXG4gICAqXG4gICAqIFdoZW4gdW5jb250cm9sbGVkIGFuZCB1bnNwZWNpZmllZCBpdCB3aWxsIGRlZmF1bHQgdG8gXCJzdGFuZEJ5XCIgYW5kIGNoYW5nZSB0byBlaXRoZXIgXCJ2YWxpZFwiXG4gICAqIG9yIFwiaW52YWxpZFwiIGFmdGVyIGFueSBjaGFuZ2UgdG8gdGhlIHN0YXRlLlxuICAgKi9cbiAgc3RhdHVzPzogSHZGb3JtU3RhdHVzO1xuICAvKipcbiAgICogVGhlIGVycm9yIG1lc3NhZ2UgdG8gc2hvdyB3aGVuIHRoZSB2YWxpZGF0aW9uIHN0YXR1cyBpcyBcImludmFsaWRcIi5cbiAgICpcbiAgICogRGVmYXVsdHMgdG8gXCJSZXF1aXJlZFwiIHdoZW4gdGhlIHN0YXR1cyBpcyB1bmNvbnRyb2xsZWQgYW5kIG5vIGBhcmlhLWVycm9ybWVzc2FnZWAgaXMgcHJvdmlkZWQuXG4gICAqL1xuICBzdGF0dXNNZXNzYWdlPzogUmVhY3QuUmVhY3ROb2RlO1xuICAvKipcbiAgICogSWRlbnRpZmllcyB0aGUgZWxlbWVudCB0aGF0IHByb3ZpZGVzIGFuIGVycm9yIG1lc3NhZ2UgZm9yIHRoZSBkYXRlIHBpY2tlci5cbiAgICpcbiAgICogV2lsbCBvbmx5IGJlIHVzZWQgd2hlbiB0aGUgdmFsaWRhdGlvbiBzdGF0dXMgaXMgaW52YWxpZC5cbiAgICovXG4gIFwiYXJpYS1lcnJvcm1lc3NhZ2VcIj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGNhbGxiYWNrIGZpcmVkIHdoZW4gdGhlIHZhbHVlIGNoYW5nZXMuXG4gICAqL1xuICBvbkNoYW5nZT86IChkYXRlPzogRGF0ZSwgZW5kRGF0ZT86IERhdGUpID0+IHZvaWQ7XG4gIC8qKlxuICAgKiBUaGUgY2FsbGJhY2sgZmlyZWQgd2hlbiB1c2VyIGNsaWNrcyBvbiBjYW5jZWwuXG4gICAqL1xuICBvbkNhbmNlbD86ICgpID0+IHZvaWQ7XG4gIC8qKlxuICAgKiBUaGUgY2FsbGJhY2sgZmlyZWQgd2hlbiB1c2VyIGNsaWNrcyBvbiBjbGVhci5cbiAgICovXG4gIG9uQ2xlYXI/OiAoKSA9PiB2b2lkO1xuICAvKipcbiAgICogQW4gb2JqZWN0IGNvbnRhaW5pbmcgYWxsIHRoZSBsYWJlbHMgZm9yIHRoZSBkYXRlcGlja2VyLlxuICAgKi9cbiAgbGFiZWxzPzoge1xuICAgIC8qKlxuICAgICAqIEFwcGx5IGJ1dHRvbiBsYWJlbC5cbiAgICAgKi9cbiAgICBhcHBseUxhYmVsPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIENhbmNlbCBidXR0b24gbGFiZWwuXG4gICAgICovXG4gICAgY2FuY2VsTGFiZWw/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogQ2xlYXIgYnV0dG9uIGxhYmVsLlxuICAgICAqL1xuICAgIGNsZWFyTGFiZWw/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogSW52YWxpZCBEYXRlIGxhYmVsLlxuICAgICAqL1xuICAgIGludmFsaWREYXRlTGFiZWw/OiBzdHJpbmc7XG4gIH07XG5cbiAgLyoqXG4gICAqIFRoZSBpbml0aWFsIHZhbHVlIG9mIHRoZSBpbnB1dCB3aGVuIGluIHNpbmdsZSBjYWxlbmRhciBtb2RlLlxuICAgKi9cbiAgdmFsdWU/OiBEYXRlO1xuICAvKipcbiAgICogVGhlIGluaXRpYWwgdmFsdWUgZm9yIHRoZSBzdGFydCBkYXRlIHdoZW4gaW4gcmFuZ2UgbW9kZS5cbiAgICovXG4gIHN0YXJ0VmFsdWU/OiBEYXRlO1xuICAvKipcbiAgICogVGhlIGluaXRpYWwgdmFsdWUgZm9yIHRoZSBlbmQgZGF0ZSB3aGVuIGluIHJhbmdlIG1vZGUuXG4gICAqL1xuICBlbmRWYWx1ZT86IERhdGU7XG4gIC8qKlxuICAgKiBGbGFnIGluZm9ybWluZyBpZiB0aGUgdGhlIGNvbXBvbmVudCBzaG91bGQgYmUgaW4gcmFuZ2UgbW9kZSBvciBpbiBzaW5nbGUgbW9kZS5cbiAgICogVE9ETzogcmVtb3ZlIHRoaXMgaW4gZmF2b3VyIG9mIGRpc2NyaW1pbmF0ZWQgdW5pb25cbiAgICovXG4gIHJhbmdlTW9kZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBUaGUgcGxhY2VtZW50IHdoZXJlIHRoZSBjYWxlbmRhciBzaG91bGQgYmUgcGxhY2VkIGFjY29yZGluZyB0byB0aGUgaW5wdXQuIE9wdGlvbnMgYXJlIGBsZWZ0YCBvciBgcmlnaHRgLlxuICAgKiBOb3RlIHRoaXMgcHJvcCBvbmx5IGFmZmVjdHMgdGhlIGNhbGVuZGFyIHdoZW4gaW4gYHJhbmdlTW9kZWAuXG4gICAqL1xuICBob3Jpem9udGFsUGxhY2VtZW50PzogXCJsZWZ0XCIgfCBcInJpZ2h0XCI7XG4gIC8qKlxuICAgKiBUaGUgY2FsZW5kYXIgbG9jYWxlLiBJZiB1bmRlZmluZWQsIGl0IHVzZXMgY2FsZW5kYXIgZGVmYXVsdFxuICAgKi9cbiAgbG9jYWxlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDb250cm9scyBpZiBhY3Rpb25zIGJ1dHRvbnMgYXJlIHZpc2libGUgYXQgdGhlIGNhbGVuZGFyLlxuICAgKi9cbiAgc2hvd0FjdGlvbnM/OiBib29sZWFuO1xuICAvKipcbiAgICogQ29udHJvbHMgaWYgY2xlYXIgYnV0dG9uIGlzIHZpc2libGUgYXQgdGhlIGNhbGVuZGFyLFxuICAgKiBvbmx5IHdvcmtzIGlmIHNob3dpbmcgYWN0aW9ucyBvciBpbiByYW5nZSBtb2RlLlxuICAgKi9cbiAgc2hvd0NsZWFyPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIERpc2FibGUgdGhlIHBvcnRhbCBiZWhhdmlvci4gVGhlIGNoaWxkcmVuIHN0YXkgd2l0aGluIGl0J3MgcGFyZW50IERPTSBoaWVyYXJjaHkuXG4gICAqL1xuICBkaXNhYmxlUG9ydGFsPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFNldHMgaWYgdGhlIGNhbGVuZGFyIGNvbnRhaW5lciBzaG91bGQgZm9sbG93IHRoZSBkYXRlIHBpY2tlciBpbnB1dCBvdXQgb2YgdGhlIHNjcmVlbiBvciBzdGF5IHZpc2libGUuXG4gICAqL1xuICBlc2NhcGVXaXRoUmVmZXJlbmNlPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEFuIGVsZW1lbnQgcGxhY2VkIGJlZm9yZSB0aGUgQ2FsZW5kYXJcbiAgICovXG4gIHN0YXJ0QWRvcm5tZW50PzogUmVhY3QuUmVhY3ROb2RlO1xuICAvKipcbiAgICogQW4gb2JqZWN0IGNvbnRhaW5pbmcgcHJvcHMgdG8gYmUgcGFzc2VkIG9udG8gdGhlIGJhc2VEcm9wZG93bi5cbiAgICovXG4gIGRyb3Bkb3duUHJvcHM/OiBPYmplY3Q7XG4gIC8qKlxuICAgKiBJZiBgdHJ1ZWAgdGhlIERhdGVQaWNrZXIgd2lsbCBiZSBpbiByZWFkIG9ubHkgbW9kZSwgdW5hYmxlIHRvIGJlIGludGVyYWN0ZWQuXG4gICAqL1xuICByZWFkT25seT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIHByb3BzIHBhc3NlZCB0byB0aGUgSHZDYWxlbmRhciBjb21wb25lbnQuXG4gICAqL1xuICBjYWxlbmRhclByb3BzPzogUGFydGlhbDxIdkNhbGVuZGFyUHJvcHM+O1xufVxuXG4vKipcbiAqIEEgZGF0ZSBwaWNrZXIsIHBvcHVwIGNhbGVuZGFyIG9yIGRhdGUgcmFuZ2UgcGlja2VyIGlzIGEgZ3JhcGhpY2FsIHVzZXJcbiAqIGludGVyZmFjZSB3aWRnZXQgd2hpY2ggYWxsb3dzIHRoZSB1c2VyIHRvIHNlbGVjdCBhIGRhdGUgZnJvbSBhIGNhbGVuZGFyLlxuICovXG5leHBvcnQgY29uc3QgSHZEYXRlUGlja2VyID0gKHByb3BzOiBIdkRhdGVQaWNrZXJQcm9wcykgPT4ge1xuICBjb25zdCB7XG4gICAgY2xhc3NlczogY2xhc3Nlc1Byb3AsXG4gICAgY2xhc3NOYW1lLFxuXG4gICAgaWQsXG4gICAgbmFtZSxcblxuICAgIHJlcXVpcmVkID0gZmFsc2UsXG4gICAgZGlzYWJsZWQgPSBmYWxzZSxcbiAgICByZWFkT25seSxcblxuICAgIGxhYmVsLFxuICAgIFwiYXJpYS1sYWJlbFwiOiBhcmlhTGFiZWwsXG4gICAgXCJhcmlhLWxhYmVsbGVkYnlcIjogYXJpYUxhYmVsbGVkQnksXG4gICAgZGVzY3JpcHRpb24sXG4gICAgXCJhcmlhLWRlc2NyaWJlZGJ5XCI6IGFyaWFEZXNjcmliZWRCeSxcblxuICAgIG9uQ2hhbmdlLFxuICAgIG9uQ2FuY2VsLFxuICAgIG9uQ2xlYXIsXG4gICAgc3RhdHVzLFxuICAgIHN0YXR1c01lc3NhZ2UsXG4gICAgXCJhcmlhLWVycm9ybWVzc2FnZVwiOiBhcmlhRXJyb3JNZXNzYWdlLFxuXG4gICAgcGxhY2Vob2xkZXIsXG5cbiAgICBsYWJlbHM6IGxhYmVsc1Byb3AsXG5cbiAgICB2YWx1ZSxcbiAgICBzdGFydFZhbHVlLFxuICAgIGVuZFZhbHVlLFxuXG4gICAgcmFuZ2VNb2RlID0gZmFsc2UsXG4gICAgc3RhcnRBZG9ybm1lbnQsXG4gICAgaG9yaXpvbnRhbFBsYWNlbWVudCA9IFwicmlnaHRcIixcbiAgICBsb2NhbGU6IGxvY2FsZVByb3AsXG4gICAgc2hvd0FjdGlvbnMgPSBmYWxzZSxcbiAgICBzaG93Q2xlYXIgPSBmYWxzZSxcbiAgICBkaXNhYmxlUG9ydGFsID0gdHJ1ZSxcbiAgICBlc2NhcGVXaXRoUmVmZXJlbmNlID0gdHJ1ZSxcbiAgICBkcm9wZG93blByb3BzLFxuICAgIGNhbGVuZGFyUHJvcHMsXG4gICAgLi4ub3RoZXJzXG4gIH0gPSB1c2VEZWZhdWx0UHJvcHMoXCJIdkRhdGVQaWNrZXJcIiwgcHJvcHMpO1xuXG4gIGNvbnN0IHsgY2xhc3NlcywgY3ggfSA9IHVzZUNsYXNzZXMoY2xhc3Nlc1Byb3ApO1xuICBjb25zdCBsYWJlbHMgPSB1c2VMYWJlbHMoREVGQVVMVF9MQUJFTFMsIGxhYmVsc1Byb3ApO1xuXG4gIGNvbnN0IGVsZW1lbnRJZCA9IHVzZVVuaXF1ZUlkKGlkLCBcImh2ZGF0ZXBpY2tlclwiKTtcblxuICBjb25zdCBbdmFsaWRhdGlvblN0YXRlLCBzZXRWYWxpZGF0aW9uU3RhdGVdID0gdXNlQ29udHJvbGxlZChcbiAgICBzdGF0dXMsXG4gICAgXCJzdGFuZEJ5XCJcbiAgKTtcblxuICBjb25zdCBbdmFsaWRhdGlvbk1lc3NhZ2VdID0gdXNlQ29udHJvbGxlZChzdGF0dXNNZXNzYWdlLCBcIlJlcXVpcmVkXCIpO1xuXG4gIGNvbnN0IGxvY2FsZSA9IGxvY2FsZVByb3AgfHwgXCJlbi1VU1wiO1xuXG4gIGNvbnN0IFtjYWxlbmRhck9wZW4sIHNldENhbGVuZGFyT3Blbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgY29uc3QgW3N0YXJ0RGF0ZSwgc2V0U3RhcnREYXRlLCByb2xsYmFja1N0YXJ0RGF0ZV0gPSB1c2VTYXZlZFN0YXRlKFxuICAgIHJhbmdlTW9kZSA/IHN0YXJ0VmFsdWUgOiB2YWx1ZVxuICApO1xuICBjb25zdCBbZW5kRGF0ZSwgc2V0RW5kRGF0ZSwgcm9sbGJhY2tFbmREYXRlXSA9IHVzZVNhdmVkU3RhdGUoZW5kVmFsdWUpO1xuXG4gIGNvbnN0IFt2aXNpYmxlRGF0ZSwgZGlzcGF0Y2hBY3Rpb25dID0gdXNlVmlzaWJsZURhdGUoc3RhcnREYXRlLCBlbmREYXRlKTtcblxuICBjb25zdCBmb2N1c1RhcmdldCA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG5cbiAgY29uc3QgeyBhY3RpdmVUaGVtZSB9ID0gdXNlVGhlbWUoKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHNldFN0YXJ0RGF0ZShyYW5nZU1vZGUgPyBzdGFydFZhbHVlIDogdmFsdWUsIHRydWUpO1xuICAgIHNldEVuZERhdGUoZW5kVmFsdWUsIHRydWUpO1xuICB9LCBbdmFsdWUsIHN0YXJ0VmFsdWUsIGVuZFZhbHVlLCByYW5nZU1vZGUsIHNldFN0YXJ0RGF0ZSwgc2V0RW5kRGF0ZV0pO1xuXG4gIGNvbnN0IGVuZERhdGVJc1NldCA9IHVzZVJlZihmYWxzZSk7XG4gIGVuZERhdGVJc1NldC5jdXJyZW50ID0gZW5kRGF0ZSAhPSBudWxsO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHN0YXJ0RGF0ZSAhPSBudWxsKSB7XG4gICAgICBkaXNwYXRjaEFjdGlvbih7XG4gICAgICAgIHR5cGU6IFwibW9udGhfeWVhclwiLFxuICAgICAgICB0YXJnZXQ6IGVuZERhdGVJc1NldC5jdXJyZW50ID8gXCJsZWZ0XCIgOiBcImJlc3RcIixcbiAgICAgICAgeWVhcjogc3RhcnREYXRlLmdldEZ1bGxZZWFyKCksXG4gICAgICAgIG1vbnRoOiBzdGFydERhdGUuZ2V0TW9udGgoKSArIDEsXG4gICAgICB9KTtcbiAgICB9XG4gIH0sIFtkaXNwYXRjaEFjdGlvbiwgc3RhcnREYXRlXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoZW5kRGF0ZSAhPSBudWxsKSB7XG4gICAgICBkaXNwYXRjaEFjdGlvbih7XG4gICAgICAgIHR5cGU6IFwibW9udGhfeWVhclwiLFxuICAgICAgICB0YXJnZXQ6IFwicmlnaHRcIixcbiAgICAgICAgeWVhcjogZW5kRGF0ZS5nZXRGdWxsWWVhcigpLFxuICAgICAgICBtb250aDogZW5kRGF0ZS5nZXRNb250aCgpICsgMSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfSwgW2Rpc3BhdGNoQWN0aW9uLCBlbmREYXRlXSk7XG5cbiAgLyoqXG4gICAqIEhhbmRsZXMgdGhlIGBBcHBseWAgYWN0aW9uLiBCb3RoIHNpbmdsZSBhbmQgcmFuZ2VkIG1vZGVzIGFyZSBoYW5kbGVkIGhlcmUuXG4gICAqL1xuICBjb25zdCBoYW5kbGVBcHBseSA9ICgpID0+IHtcbiAgICBzZXRTdGFydERhdGUoc3RhcnREYXRlLCB0cnVlKTtcbiAgICBzZXRFbmREYXRlKGVuZERhdGUgPz8gc3RhcnREYXRlLCB0cnVlKTtcblxuICAgIG9uQ2hhbmdlPy4oc3RhcnREYXRlLCBlbmREYXRlKTtcblxuICAgIHNldFZhbGlkYXRpb25TdGF0ZSgoKSA9PiB7XG4gICAgICAvLyB0aGlzIHdpbGwgb25seSBydW4gaWYgc3RhdHVzIGlzIHVuY29udHJvbGxlZFxuICAgICAgaWYgKHJlcXVpcmVkICYmICghaXNEYXRlKHN0YXJ0RGF0ZSkgfHwgKHJhbmdlTW9kZSAmJiAhaXNEYXRlKGVuZERhdGUpKSkpIHtcbiAgICAgICAgcmV0dXJuIFwiaW52YWxpZFwiO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gXCJ2YWxpZFwiO1xuICAgIH0pO1xuXG4gICAgc2V0Q2FsZW5kYXJPcGVuKGZhbHNlKTtcbiAgfTtcblxuICAvKipcbiAgICogSGFuZGxlcyB0aGUgYENhbmNlbGAgYWN0aW9uLiBCb3RoIHNpbmdsZSBhbmQgcmFuZ2VkIG1vZGVzIGFyZSBoYW5kbGVkIGhlcmUuXG4gICAqL1xuICBjb25zdCBoYW5kbGVDYW5jZWwgPSAoKSA9PiB7XG4gICAgcm9sbGJhY2tTdGFydERhdGUoKTtcbiAgICByb2xsYmFja0VuZERhdGUoKTtcblxuICAgIG9uQ2FuY2VsPy4oKTtcblxuICAgIHNldENhbGVuZGFyT3BlbihmYWxzZSk7XG4gIH07XG5cbiAgLyoqXG4gICAqIEhhbmRsZXMgdGhlIGBDYW5jZWxgIGFjdGlvbi4gQm90aCBzaW5nbGUgYW5kIHJhbmdlZCBtb2RlcyBhcmUgaGFuZGxlZCBoZXJlLlxuICAgKi9cbiAgY29uc3QgaGFuZGxlQ2xlYXIgPSAoKSA9PiB7XG4gICAgc2V0U3RhcnREYXRlKHVuZGVmaW5lZCwgZmFsc2UpO1xuICAgIHNldEVuZERhdGUodW5kZWZpbmVkLCBmYWxzZSk7XG4gICAgb25DbGVhcj8uKCk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlQ2FsZW5kYXJDbG9zZSA9ICgpID0+IHtcbiAgICBjb25zdCBzaG91bGRTYXZlID0gIShyYW5nZU1vZGUgfHwgc2hvd0FjdGlvbnMpO1xuICAgIGlmIChzaG91bGRTYXZlKSB7XG4gICAgICBoYW5kbGVBcHBseSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBoYW5kbGVDYW5jZWwoKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlVG9nZ2xlOiBIdkJhc2VEcm9wZG93blByb3BzW1wib25Ub2dnbGVcIl0gPSAoZXZ0LCBvcGVuKSA9PiB7XG4gICAgLyogXG4gICAgIElmIGV2dCBpcyBudWxsIHRoaXMgdG9nZ2xlIHdhc24ndCB0cmlnZ2VyZWQgYnkgdGhlIHVzZXIuXG4gICAgIGluc3RlYWQgaXQgd2FzIHRyaWdnZXJlZCBieSB0aGUgYmFzZURyb3Bkb3duIHVzZUVmZmVjdCBhZnRlclxuICAgICB0aGUgZGF0ZXBpY2tlciBjaGFuZ2VkIHRoZSBleHBhbmRlZCB2YWx1ZSB0aGlzIGJhc2VEcm9wZG93biBiZWhhdmlvciBuZWVkcyBhIHJldmlld1xuICAgICovXG4gICAgaWYgKGV2dCA9PT0gbnVsbCkgcmV0dXJuO1xuICAgIHNldENhbGVuZGFyT3BlbihvcGVuKTtcbiAgICBpZiAoIW9wZW4pIGhhbmRsZUNhbGVuZGFyQ2xvc2UoKTtcbiAgfTtcblxuICBjb25zdCBmb2N1c09uQ29udGFpbmVyID0gKCkgPT4ge1xuICAgIGZvY3VzVGFyZ2V0LmN1cnJlbnQ/LmZvY3VzKCk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlRGF0ZUNoYW5nZTogSHZDYWxlbmRhclByb3BzW1wib25DaGFuZ2VcIl0gPSAoZXZlbnQsIG5ld0RhdGUpID0+IHtcbiAgICBpZiAoIWlzRGF0ZShuZXdEYXRlKSkgcmV0dXJuO1xuXG4gICAgY29uc3QgYXV0b1NhdmUgPSAhc2hvd0FjdGlvbnMgJiYgIXJhbmdlTW9kZTtcblxuICAgIGlmIChyYW5nZU1vZGUpIHtcbiAgICAgIGlmICghc3RhcnREYXRlIHx8IChzdGFydERhdGUgJiYgZW5kRGF0ZSkgfHwgbmV3RGF0ZSA8IHN0YXJ0RGF0ZSkge1xuICAgICAgICBzZXRTdGFydERhdGUobmV3RGF0ZSk7XG4gICAgICAgIHNldEVuZERhdGUodW5kZWZpbmVkKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNldEVuZERhdGUobmV3RGF0ZSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHNldFN0YXJ0RGF0ZShuZXdEYXRlLCBhdXRvU2F2ZSk7XG4gICAgfVxuXG4gICAgaWYgKGF1dG9TYXZlKSB7XG4gICAgICBvbkNoYW5nZT8uKG5ld0RhdGUpO1xuXG4gICAgICBzZXRWYWxpZGF0aW9uU3RhdGUoKCkgPT4ge1xuICAgICAgICAvLyB0aGlzIHdpbGwgb25seSBydW4gaWYgc3RhdHVzIGlzIHVuY29udHJvbGxlZFxuICAgICAgICBpZiAocmVxdWlyZWQgJiYgIWlzRGF0ZShuZXdEYXRlKSkge1xuICAgICAgICAgIHJldHVybiBcImludmFsaWRcIjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBcInZhbGlkXCI7XG4gICAgICB9KTtcblxuICAgICAgc2V0Q2FsZW5kYXJPcGVuKGZhbHNlKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlSW5wdXREYXRlQ2hhbmdlOiBIdkNhbGVuZGFyUHJvcHNbXCJvbklucHV0Q2hhbmdlXCJdID0gKFxuICAgIGV2ZW50LFxuICAgIG5ld0RhdGUsXG4gICAgcG9zaXRpb25cbiAgKSA9PiB7XG4gICAgaWYgKCFpc0RhdGUobmV3RGF0ZSkpIHJldHVybjtcblxuICAgIGlmICghcmFuZ2VNb2RlKSB7XG4gICAgICBoYW5kbGVEYXRlQ2hhbmdlKGV2ZW50IGFzIGFueSwgbmV3RGF0ZSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHBvc2l0aW9uID09PSBcImxlZnRcIikge1xuICAgICAgaWYgKGVuZERhdGUpIHNldFN0YXJ0RGF0ZShuZXdEYXRlID4gZW5kRGF0ZSA/IGVuZERhdGUgOiBuZXdEYXRlKTtcbiAgICB9IGVsc2UgaWYgKHBvc2l0aW9uID09PSBcInJpZ2h0XCIpIHtcbiAgICAgIGlmICghc3RhcnREYXRlKSB7XG4gICAgICAgIGlmIChlbmREYXRlKSBzZXRTdGFydERhdGUobmV3RGF0ZSA+IGVuZERhdGUgPyBlbmREYXRlIDogbmV3RGF0ZSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHNldEVuZERhdGUobmV3RGF0ZSA8IHN0YXJ0RGF0ZSA/IHN0YXJ0RGF0ZSA6IG5ld0RhdGUpO1xuICAgIH1cbiAgfTtcblxuICAvKipcbiAgICogUmVuZGVycyB0aGUgY29udGFpbmVyIGZvciB0aGUgYWN0aW9uIGVsZW1lbnRzLlxuICAgKi9cbiAgY29uc3QgcmVuZGVyQWN0aW9ucyA9ICgpID0+IChcbiAgICA8SHZBY3Rpb25CYXIgY2xhc3NOYW1lPXtjeCh7IFtjbGFzc2VzLmFjdGlvbkNvbnRhaW5lcl06IHNob3dDbGVhciB9KX0+XG4gICAgICB7c2hvd0NsZWFyICYmIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXMubGVmdENvbnRhaW5lcn0+XG4gICAgICAgICAgPEh2QnV0dG9uXG4gICAgICAgICAgICBpZD17c2V0SWQoaWQsIFwiYWN0aW9uXCIsIFwiY2xlYXJcIil9XG4gICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzZXMuYWN0aW9ufVxuICAgICAgICAgICAgdmFyaWFudD1cInByaW1hcnlHaG9zdFwiXG4gICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVDbGVhcn1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7bGFiZWxzPy5jbGVhckxhYmVsfVxuICAgICAgICAgIDwvSHZCdXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKX1cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc2VzLnJpZ2h0Q29udGFpbmVyfT5cbiAgICAgICAgPEh2QnV0dG9uXG4gICAgICAgICAgaWQ9e3NldElkKGlkLCBcImFjdGlvblwiLCBcImFwcGx5XCIpfVxuICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3Nlcy5hY3Rpb259XG4gICAgICAgICAgdmFyaWFudD1cInByaW1hcnlHaG9zdFwiXG4gICAgICAgICAgb25DbGljaz17aGFuZGxlQXBwbHl9XG4gICAgICAgID5cbiAgICAgICAgICB7bGFiZWxzPy5hcHBseUxhYmVsfVxuICAgICAgICA8L0h2QnV0dG9uPlxuICAgICAgICA8SHZCdXR0b25cbiAgICAgICAgICBpZD17c2V0SWQoaWQsIFwiYWN0aW9uXCIsIFwiY2FuY2VsXCIpfVxuICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3Nlcy5hY3Rpb259XG4gICAgICAgICAgdmFyaWFudD1cInByaW1hcnlHaG9zdFwiXG4gICAgICAgICAgb25DbGljaz17aGFuZGxlQ2FuY2VsfVxuICAgICAgICA+XG4gICAgICAgICAge2xhYmVscz8uY2FuY2VsTGFiZWx9XG4gICAgICAgIDwvSHZCdXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L0h2QWN0aW9uQmFyPlxuICApO1xuXG4gIGNvbnN0IHN0eWxlZFR5cG9ncmFwaHkgPSAoXG4gICAgZGF0ZVN0cmluZzogc3RyaW5nLFxuICAgIHZhcmlhbnQ6IGFueSxcbiAgICB0ZXh0OiBSZWFjdE5vZGVcbiAgKSA9PiB7XG4gICAgY29uc3QgU3R5bGVkVHlwb2dyYXBoeSA9IHN0eWxlZChIdlR5cG9ncmFwaHkpKHtcbiAgICAgIGNvbG9yOiBkYXRlU3RyaW5nXG4gICAgICAgID8gdGhlbWUuY29sb3JzLnNlY29uZGFyeVxuICAgICAgICA6IHRoZW1lLmRhdGVQaWNrZXIuZHJvcGRvd25QbGFjZWhvbGRlckNvbG9yLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIDxTdHlsZWRUeXBvZ3JhcGh5IHZhcmlhbnQ9e3ZhcmlhbnR9Pnt0ZXh0fTwvU3R5bGVkVHlwb2dyYXBoeT47XG4gIH07XG5cbiAgY29uc3QgcmVuZGVySW5wdXQgPSAoZGF0ZVN0cmluZzogc3RyaW5nKSA9PlxuICAgIHN0eWxlZFR5cG9ncmFwaHkoXG4gICAgICBkYXRlU3RyaW5nLFxuICAgICAgYWN0aXZlVGhlbWU/LmRhdGVQaWNrZXIucGxhY2Vob2xkZXJWYXJpYW50LFxuICAgICAgKGRhdGVTdHJpbmcgfHwgcGxhY2Vob2xkZXIpID09PSB1bmRlZmluZWQgPyBcIlwiIDogZGF0ZVN0cmluZyB8fCBwbGFjZWhvbGRlclxuICAgICk7XG5cbiAgY29uc3QgZGF0ZVZhbHVlID0gcmFuZ2VNb2RlID8geyBzdGFydERhdGUsIGVuZERhdGUgfSA6IHN0YXJ0RGF0ZTtcblxuICBjb25zdCBoYXNMYWJlbCA9IGxhYmVsICE9IG51bGw7XG4gIGNvbnN0IGhhc0Rlc2NyaXB0aW9uID0gZGVzY3JpcHRpb24gIT0gbnVsbDtcblxuICAvLyB0aGUgZXJyb3IgbWVzc2FnZSBhcmVhIHdpbGwgb25seSBiZSBjcmVhdGVkIGlmOlxuICAvLyAtIGFuIGV4dGVybmFsIGVsZW1lbnQgdGhhdCBwcm92aWRlcyBhbiBlcnJvciBtZXNzYWdlIGlzbid0IGlkZW50aWZpZWQgdmlhIGFyaWEtZXJyb3JtZXNzYWdlIEFORFxuICAvLyAgIC0gYm90aCBzdGF0dXMgYW5kIHN0YXR1c01lc3NhZ2UgcHJvcGVydGllcyBhcmUgYmVpbmcgY29udHJvbGxlZCBPUlxuICAvLyAgIC0gc3RhdHVzIGlzIHVuY29udHJvbGxlZCBhbmQgcmVxdWlyZWQgaXMgdHJ1ZVxuICBjb25zdCBjYW5TaG93RXJyb3IgPVxuICAgIGFyaWFFcnJvck1lc3NhZ2UgPT0gbnVsbCAmJlxuICAgICgoc3RhdHVzICE9PSB1bmRlZmluZWQgJiYgc3RhdHVzTWVzc2FnZSAhPT0gdW5kZWZpbmVkKSB8fFxuICAgICAgKHN0YXR1cyA9PT0gdW5kZWZpbmVkICYmIHJlcXVpcmVkKSk7XG5cbiAgY29uc3QgaXNTdGF0ZUludmFsaWQgPSBpc0ludmFsaWQodmFsaWRhdGlvblN0YXRlKTtcblxuICBsZXQgZXJyb3JNZXNzYWdlSWQ7XG4gIGlmIChpc1N0YXRlSW52YWxpZCkge1xuICAgIGVycm9yTWVzc2FnZUlkID0gY2FuU2hvd0Vycm9yXG4gICAgICA/IHNldElkKGVsZW1lbnRJZCwgXCJlcnJvclwiKVxuICAgICAgOiBhcmlhRXJyb3JNZXNzYWdlO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8SHZGb3JtRWxlbWVudFxuICAgICAgaWQ9e2lkfVxuICAgICAgbmFtZT17bmFtZX1cbiAgICAgIHZhbHVlPXtkYXRlVmFsdWV9XG4gICAgICBzdGF0dXM9e3ZhbGlkYXRpb25TdGF0ZX1cbiAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgIHJlcXVpcmVkPXtyZXF1aXJlZH1cbiAgICAgIGNsYXNzTmFtZT17Y3goY2xhc3NOYW1lLCBjbGFzc2VzLnJvb3QpfVxuICAgICAgcmVhZE9ubHk9e3JlYWRPbmx5fVxuICAgICAgey4uLm90aGVyc31cbiAgICA+XG4gICAgICB7KGhhc0xhYmVsIHx8IGhhc0Rlc2NyaXB0aW9uKSAmJiAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc2VzLmxhYmVsQ29udGFpbmVyfT5cbiAgICAgICAgICB7aGFzTGFiZWwgJiYgKFxuICAgICAgICAgICAgPEh2TGFiZWxcbiAgICAgICAgICAgICAgaWQ9e3NldElkKGVsZW1lbnRJZCwgXCJsYWJlbFwiKX1cbiAgICAgICAgICAgICAgbGFiZWw9e2xhYmVsfVxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzZXMubGFiZWx9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICl9XG5cbiAgICAgICAgICB7aGFzRGVzY3JpcHRpb24gJiYgKFxuICAgICAgICAgICAgPEh2SW5mb01lc3NhZ2VcbiAgICAgICAgICAgICAgaWQ9e3NldElkKGVsZW1lbnRJZCwgXCJkZXNjcmlwdGlvblwiKX1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc2VzLmRlc2NyaXB0aW9ufVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7ZGVzY3JpcHRpb259XG4gICAgICAgICAgICA8L0h2SW5mb01lc3NhZ2U+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9kaXY+XG4gICAgICApfVxuICAgICAgPEh2QmFzZURyb3Bkb3duXG4gICAgICAgIHJvbGU9XCJjb21ib2JveFwiXG4gICAgICAgIGNsYXNzZXM9e3tcbiAgICAgICAgICByb290OiBjbGFzc2VzLmRyb3Bkb3duLFxuICAgICAgICAgIHBhbmVsOiBjbGFzc2VzLnBhbmVsLFxuICAgICAgICAgIGhlYWRlcjogY3goeyBbY2xhc3Nlcy5kcm9wZG93bkhlYWRlckludmFsaWRdOiBpc1N0YXRlSW52YWxpZCB9KSxcbiAgICAgICAgICBoZWFkZXJPcGVuOiBjbGFzc2VzLmRyb3Bkb3duSGVhZGVyT3BlbixcbiAgICAgICAgfX1cbiAgICAgICAgcmVhZE9ubHk9e3JlYWRPbmx5fVxuICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgIGRpc2FibGVQb3J0YWw9e2Rpc2FibGVQb3J0YWx9XG4gICAgICAgIHZhcmlhYmxlV2lkdGhcbiAgICAgICAgcGxhY2VtZW50PXtob3Jpem9udGFsUGxhY2VtZW50fVxuICAgICAgICBleHBhbmRlZD17Y2FsZW5kYXJPcGVufVxuICAgICAgICBvblRvZ2dsZT17aGFuZGxlVG9nZ2xlfVxuICAgICAgICBvbkNsaWNrT3V0c2lkZT17aGFuZGxlQ2FsZW5kYXJDbG9zZX1cbiAgICAgICAgb25Db250YWluZXJDcmVhdGlvbj17Zm9jdXNPbkNvbnRhaW5lcn1cbiAgICAgICAgcGxhY2Vob2xkZXI9e3JlbmRlcklucHV0KGdldERhdGVMYWJlbChkYXRlVmFsdWUsIHJhbmdlTW9kZSwgbG9jYWxlKSl9XG4gICAgICAgIGFkb3JubWVudD17XG4gICAgICAgICAgPENhbGVuZGFyXG4gICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzZXMuaWNvbn1cbiAgICAgICAgICAgIGNvbG9yPXtkaXNhYmxlZCA/IFwic2Vjb25kYXJ5XzgwXCIgOiB1bmRlZmluZWR9XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgICBwb3BwZXJQcm9wcz17e1xuICAgICAgICAgIG1vZGlmaWVyczogW1xuICAgICAgICAgICAgeyBuYW1lOiBcInByZXZlbnRPdmVyZmxvd1wiLCBlbmFibGVkOiBlc2NhcGVXaXRoUmVmZXJlbmNlIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfX1cbiAgICAgICAgYXJpYS1oYXNwb3B1cD1cImRpYWxvZ1wiXG4gICAgICAgIGFyaWEtbGFiZWw9e2FyaWFMYWJlbH1cbiAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PXtcbiAgICAgICAgICBbbGFiZWwgJiYgc2V0SWQoZWxlbWVudElkLCBcImxhYmVsXCIpLCBhcmlhTGFiZWxsZWRCeV1cbiAgICAgICAgICAgIC5qb2luKFwiIFwiKVxuICAgICAgICAgICAgLnRyaW0oKSB8fCB1bmRlZmluZWRcbiAgICAgICAgfVxuICAgICAgICBhcmlhLWludmFsaWQ9e2lzU3RhdGVJbnZhbGlkID8gdHJ1ZSA6IHVuZGVmaW5lZH1cbiAgICAgICAgYXJpYS1lcnJvcm1lc3NhZ2U9e2Vycm9yTWVzc2FnZUlkfVxuICAgICAgICBhcmlhLWRlc2NyaWJlZGJ5PXtcbiAgICAgICAgICBbZGVzY3JpcHRpb24gJiYgc2V0SWQoZWxlbWVudElkLCBcImRlc2NyaXB0aW9uXCIpLCBhcmlhRGVzY3JpYmVkQnldXG4gICAgICAgICAgICAuam9pbihcIiBcIilcbiAgICAgICAgICAgIC50cmltKCkgfHwgdW5kZWZpbmVkXG4gICAgICAgIH1cbiAgICAgICAgey4uLmRyb3Bkb3duUHJvcHN9XG4gICAgICA+XG4gICAgICAgIDxkaXYgcmVmPXtmb2N1c1RhcmdldH0gdGFiSW5kZXg9ey0xfSAvPlxuICAgICAgICA8SHZDYWxlbmRhclxuICAgICAgICAgIGlkPXtzZXRJZChpZCwgXCJjYWxlbmRhclwiKX1cbiAgICAgICAgICBzdGFydEFkb3JubWVudD17c3RhcnRBZG9ybm1lbnR9XG4gICAgICAgICAgb25DaGFuZ2U9e2hhbmRsZURhdGVDaGFuZ2V9XG4gICAgICAgICAgb25JbnB1dENoYW5nZT17aGFuZGxlSW5wdXREYXRlQ2hhbmdlfVxuICAgICAgICAgIG9uVmlzaWJsZURhdGVDaGFuZ2U9eyhfZXZlbnQsIHR5cGUsIG1vbnRoLCB0YXJnZXQpID0+IHtcbiAgICAgICAgICAgIGRpc3BhdGNoQWN0aW9uKHsgdHlwZSwgdGFyZ2V0LCBtb250aCB9KTtcbiAgICAgICAgICB9fVxuICAgICAgICAgIGxvY2FsZT17bG9jYWxlfVxuICAgICAgICAgIHsuLi52aXNpYmxlRGF0ZX1cbiAgICAgICAgICB7Li4uY2FsZW5kYXJQcm9wc31cbiAgICAgICAgICBpbnZhbGlkRGF0ZUxhYmVsPXtsYWJlbHM/LmludmFsaWREYXRlTGFiZWx9XG4gICAgICAgIC8+XG4gICAgICAgIHsocmFuZ2VNb2RlIHx8IHNob3dBY3Rpb25zKSAmJiByZW5kZXJBY3Rpb25zKCl9XG4gICAgICA8L0h2QmFzZURyb3Bkb3duPlxuICAgICAge2NhblNob3dFcnJvciAmJiAoXG4gICAgICAgIDxIdldhcm5pbmdUZXh0XG4gICAgICAgICAgaWQ9e3NldElkKGVsZW1lbnRJZCwgXCJlcnJvclwiKX1cbiAgICAgICAgICBkaXNhYmxlQm9yZGVyXG4gICAgICAgICAgY2xhc3NOYW1lPXtjeChjbGFzc2VzLmVycm9yKX1cbiAgICAgICAgPlxuICAgICAgICAgIHt2YWxpZGF0aW9uTWVzc2FnZX1cbiAgICAgICAgPC9Idldhcm5pbmdUZXh0PlxuICAgICAgKX1cbiAgICA8L0h2Rm9ybUVsZW1lbnQ+XG4gICk7XG59O1xuIl19 */");
241
+ }, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2h2LXVpa2l0LXJlYWN0L2h2LXVpa2l0LXJlYWN0L3BhY2thZ2VzL2NvcmUvc3JjL2NvbXBvbmVudHMvRGF0ZVBpY2tlci9EYXRlUGlja2VyLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFpZjZCIiwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3JrL2h2LXVpa2l0LXJlYWN0L2h2LXVpa2l0LXJlYWN0L3BhY2thZ2VzL2NvcmUvc3JjL2NvbXBvbmVudHMvRGF0ZVBpY2tlci9EYXRlUGlja2VyLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZVN0YXRlLCB1c2VFZmZlY3QsIHVzZVJlZiwgUmVhY3ROb2RlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VEZWZhdWx0UHJvcHMgfSBmcm9tIFwiQGNvcmUvaG9va3MvdXNlRGVmYXVsdFByb3BzXCI7XG5cbmltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuXG5pbXBvcnQgeyBDYWxlbmRhciB9IGZyb20gXCJAaGl0YWNoaXZhbnRhcmEvdWlraXQtcmVhY3QtaWNvbnNcIjtcbmltcG9ydCB7IHRoZW1lIH0gZnJvbSBcIkBoaXRhY2hpdmFudGFyYS91aWtpdC1zdHlsZXNcIjtcblxuaW1wb3J0IHsgdXNlQ29udHJvbGxlZCB9IGZyb20gXCJAY29yZS9ob29rcy91c2VDb250cm9sbGVkXCI7XG5pbXBvcnQgeyB1c2VVbmlxdWVJZCB9IGZyb20gXCJAY29yZS9ob29rcy91c2VVbmlxdWVJZFwiO1xuaW1wb3J0IHsgdXNlTGFiZWxzIH0gZnJvbSBcIkBjb3JlL2hvb2tzL3VzZUxhYmVsc1wiO1xuaW1wb3J0IHsgdXNlVGhlbWUgfSBmcm9tIFwiQGNvcmUvaG9va3MvdXNlVGhlbWVcIjtcbmltcG9ydCB7IEh2QmFzZVByb3BzIH0gZnJvbSBcIkBjb3JlL3R5cGVzL2dlbmVyaWNcIjtcbmltcG9ydCB7IEV4dHJhY3ROYW1lcyB9IGZyb20gXCJAY29yZS91dGlscy9jbGFzc2VzXCI7XG5pbXBvcnQgeyBzZXRJZCB9IGZyb20gXCJAY29yZS91dGlscy9zZXRJZFwiO1xuaW1wb3J0IHsgdXNlU2F2ZWRTdGF0ZSB9IGZyb20gXCJAY29yZS91dGlscy91c2VTYXZlZFN0YXRlXCI7XG5pbXBvcnQge1xuICBpc0ludmFsaWQsXG4gIEh2TGFiZWwsXG4gIEh2Rm9ybVN0YXR1cyxcbiAgSHZXYXJuaW5nVGV4dCxcbiAgSHZGb3JtRWxlbWVudCxcbiAgSHZJbmZvTWVzc2FnZSxcbn0gZnJvbSBcIkBjb3JlL2NvbXBvbmVudHMvRm9ybXNcIjtcbmltcG9ydCB7IGlzRGF0ZSB9IGZyb20gXCJAY29yZS9jb21wb25lbnRzL0NhbGVuZGFyL3V0aWxzXCI7XG5pbXBvcnQgeyBIdkNhbGVuZGFyLCBIdkNhbGVuZGFyUHJvcHMgfSBmcm9tIFwiQGNvcmUvY29tcG9uZW50cy9DYWxlbmRhclwiO1xuaW1wb3J0IHtcbiAgSHZCYXNlRHJvcGRvd24sXG4gIEh2QmFzZURyb3Bkb3duUHJvcHMsXG59IGZyb20gXCJAY29yZS9jb21wb25lbnRzL0Jhc2VEcm9wZG93blwiO1xuaW1wb3J0IHsgSHZUeXBvZ3JhcGh5IH0gZnJvbSBcIkBjb3JlL2NvbXBvbmVudHMvVHlwb2dyYXBoeVwiO1xuaW1wb3J0IHsgSHZBY3Rpb25CYXIgfSBmcm9tIFwiQGNvcmUvY29tcG9uZW50cy9BY3Rpb25CYXJcIjtcbmltcG9ydCB7IEh2QnV0dG9uIH0gZnJvbSBcIkBjb3JlL2NvbXBvbmVudHMvQnV0dG9uXCI7XG5cbmltcG9ydCB7IGdldERhdGVMYWJlbCB9IGZyb20gXCIuL3V0aWxzXCI7XG5pbXBvcnQgdXNlVmlzaWJsZURhdGUgZnJvbSBcIi4vdXNlVmlzaWJsZURhdGVcIjtcbmltcG9ydCB7IHN0YXRpY0NsYXNzZXMsIHVzZUNsYXNzZXMgfSBmcm9tIFwiLi9EYXRlUGlja2VyLnN0eWxlc1wiO1xuXG5leHBvcnQgeyBzdGF0aWNDbGFzc2VzIGFzIGRhdGVQaWNrZXJDbGFzc2VzIH07XG5cbmV4cG9ydCB0eXBlIEh2RGF0ZVBpY2tlckNsYXNzZXMgPSBFeHRyYWN0TmFtZXM8dHlwZW9mIHVzZUNsYXNzZXM+O1xuXG5jb25zdCBERUZBVUxUX0xBQkVMUyA9IHtcbiAgYXBwbHlMYWJlbDogXCJBcHBseVwiLFxuICBjYW5jZWxMYWJlbDogXCJDYW5jZWxcIixcbiAgY2xlYXJMYWJlbDogXCJDbGVhclwiLFxuICBpbnZhbGlkTGFiZWw6IFwiSW52YWxpZCBkYXRlXCIsXG59O1xuXG4vKiogQGRlcHJlY2F0ZWQgdXNlIGBIdkZvcm1TdGF0dXNgIGluc3RlYWQgKi9cbmV4cG9ydCB0eXBlIEh2RGF0ZVBpY2tlclN0YXR1cyA9IEh2Rm9ybVN0YXR1cztcblxuZXhwb3J0IGludGVyZmFjZSBIdkRhdGVQaWNrZXJQcm9wc1xuICBleHRlbmRzIEh2QmFzZVByb3BzPEhUTUxEaXZFbGVtZW50LCBcIm9uQ2hhbmdlXCI+IHtcbiAgLyoqXG4gICAqIENsYXNzIG5hbWVzIHRvIGJlIGFwcGxpZWQuXG4gICAqL1xuICBjbGFzc05hbWU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBIEpzcyBPYmplY3QgdXNlZCB0byBvdmVycmlkZSBvciBleHRlbmQgdGhlIGNvbXBvbmVudCBzdHlsZXMgYXBwbGllZC5cbiAgICovXG4gIGNsYXNzZXM/OiBIdkRhdGVQaWNrZXJDbGFzc2VzO1xuICAvKipcbiAgICogSWQgdG8gYmUgYXBwbGllZCB0byB0aGUgZm9ybSBlbGVtZW50IHJvb3Qgbm9kZS5cbiAgICovXG4gIGlkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZm9ybSBlbGVtZW50IG5hbWUuXG4gICAqL1xuICBuYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIGxhYmVsIG9mIHRoZSBmb3JtIGVsZW1lbnQuXG4gICAqXG4gICAqIFRoZSBmb3JtIGVsZW1lbnQgbXVzdCBiZSBsYWJlbGVkIGZvciBhY2Nlc3NpYmlsaXR5IHJlYXNvbnMuXG4gICAqIElmIG5vdCBwcm92aWRlZCwgYW4gYXJpYS1sYWJlbCBvciBhcmlhLWxhYmVsbGVkYnkgbXVzdCBiZSBwcm92aWRlZCBpbnN0ZWFkLlxuICAgKi9cbiAgbGFiZWw/OiBSZWFjdC5SZWFjdE5vZGU7XG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBcImFyaWEtbGFiZWxcIj86IHN0cmluZztcbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIFwiYXJpYS1sYWJlbGxlZGJ5XCI/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBQcm92aWRlIGFkZGl0aW9uYWwgZGVzY3JpcHRpdmUgdGV4dCBmb3IgdGhlIGZvcm0gZWxlbWVudC5cbiAgICovXG4gIGRlc2NyaXB0aW9uPzogUmVhY3QuUmVhY3ROb2RlO1xuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgXCJhcmlhLWRlc2NyaWJlZGJ5XCI/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgcGxhY2Vob2xkZXIgdmFsdWUgd2hlbiBub3RoaW5nIGlzIHNlbGVjdGVkLlxuICAgKi9cbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB0aGF0IHRoZSBmb3JtIGVsZW1lbnQgaXMgZGlzYWJsZWQuXG4gICAqL1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgdGhhdCB1c2VyIGlucHV0IGlzIHJlcXVpcmVkIG9uIHRoZSBmb3JtIGVsZW1lbnQuXG4gICAqL1xuICByZXF1aXJlZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBzdGF0dXMgb2YgdGhlIGZvcm0gZWxlbWVudC5cbiAgICpcbiAgICogVmFsaWQgaXMgY29ycmVjdCwgaW52YWxpZCBpcyBpbmNvcnJlY3QgYW5kIHN0YW5kQnkgbWVhbnMgbm8gdmFsaWRhdGlvbnMgaGF2ZSBydW4uXG4gICAqXG4gICAqIFdoZW4gdW5jb250cm9sbGVkIGFuZCB1bnNwZWNpZmllZCBpdCB3aWxsIGRlZmF1bHQgdG8gXCJzdGFuZEJ5XCIgYW5kIGNoYW5nZSB0byBlaXRoZXIgXCJ2YWxpZFwiXG4gICAqIG9yIFwiaW52YWxpZFwiIGFmdGVyIGFueSBjaGFuZ2UgdG8gdGhlIHN0YXRlLlxuICAgKi9cbiAgc3RhdHVzPzogSHZGb3JtU3RhdHVzO1xuICAvKipcbiAgICogVGhlIGVycm9yIG1lc3NhZ2UgdG8gc2hvdyB3aGVuIHRoZSB2YWxpZGF0aW9uIHN0YXR1cyBpcyBcImludmFsaWRcIi5cbiAgICpcbiAgICogRGVmYXVsdHMgdG8gXCJSZXF1aXJlZFwiIHdoZW4gdGhlIHN0YXR1cyBpcyB1bmNvbnRyb2xsZWQgYW5kIG5vIGBhcmlhLWVycm9ybWVzc2FnZWAgaXMgcHJvdmlkZWQuXG4gICAqL1xuICBzdGF0dXNNZXNzYWdlPzogUmVhY3QuUmVhY3ROb2RlO1xuICAvKipcbiAgICogSWRlbnRpZmllcyB0aGUgZWxlbWVudCB0aGF0IHByb3ZpZGVzIGFuIGVycm9yIG1lc3NhZ2UgZm9yIHRoZSBkYXRlIHBpY2tlci5cbiAgICpcbiAgICogV2lsbCBvbmx5IGJlIHVzZWQgd2hlbiB0aGUgdmFsaWRhdGlvbiBzdGF0dXMgaXMgaW52YWxpZC5cbiAgICovXG4gIFwiYXJpYS1lcnJvcm1lc3NhZ2VcIj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGNhbGxiYWNrIGZpcmVkIHdoZW4gdGhlIHZhbHVlIGNoYW5nZXMuXG4gICAqL1xuICBvbkNoYW5nZT86IChkYXRlPzogRGF0ZSwgZW5kRGF0ZT86IERhdGUpID0+IHZvaWQ7XG4gIC8qKlxuICAgKiBUaGUgY2FsbGJhY2sgZmlyZWQgd2hlbiB1c2VyIGNsaWNrcyBvbiBjYW5jZWwuXG4gICAqL1xuICBvbkNhbmNlbD86ICgpID0+IHZvaWQ7XG4gIC8qKlxuICAgKiBUaGUgY2FsbGJhY2sgZmlyZWQgd2hlbiB1c2VyIGNsaWNrcyBvbiBjbGVhci5cbiAgICovXG4gIG9uQ2xlYXI/OiAoKSA9PiB2b2lkO1xuICAvKipcbiAgICogQW4gb2JqZWN0IGNvbnRhaW5pbmcgYWxsIHRoZSBsYWJlbHMgZm9yIHRoZSBkYXRlcGlja2VyLlxuICAgKi9cbiAgbGFiZWxzPzoge1xuICAgIC8qKlxuICAgICAqIEFwcGx5IGJ1dHRvbiBsYWJlbC5cbiAgICAgKi9cbiAgICBhcHBseUxhYmVsPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIENhbmNlbCBidXR0b24gbGFiZWwuXG4gICAgICovXG4gICAgY2FuY2VsTGFiZWw/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogQ2xlYXIgYnV0dG9uIGxhYmVsLlxuICAgICAqL1xuICAgIGNsZWFyTGFiZWw/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogSW52YWxpZCBEYXRlIGxhYmVsLlxuICAgICAqL1xuICAgIGludmFsaWREYXRlTGFiZWw/OiBzdHJpbmc7XG4gIH07XG5cbiAgLyoqXG4gICAqIFRoZSBpbml0aWFsIHZhbHVlIG9mIHRoZSBpbnB1dCB3aGVuIGluIHNpbmdsZSBjYWxlbmRhciBtb2RlLlxuICAgKi9cbiAgdmFsdWU/OiBEYXRlO1xuICAvKipcbiAgICogVGhlIGluaXRpYWwgdmFsdWUgZm9yIHRoZSBzdGFydCBkYXRlIHdoZW4gaW4gcmFuZ2UgbW9kZS5cbiAgICovXG4gIHN0YXJ0VmFsdWU/OiBEYXRlO1xuICAvKipcbiAgICogVGhlIGluaXRpYWwgdmFsdWUgZm9yIHRoZSBlbmQgZGF0ZSB3aGVuIGluIHJhbmdlIG1vZGUuXG4gICAqL1xuICBlbmRWYWx1ZT86IERhdGU7XG4gIC8qKlxuICAgKiBGbGFnIGluZm9ybWluZyBpZiB0aGUgdGhlIGNvbXBvbmVudCBzaG91bGQgYmUgaW4gcmFuZ2UgbW9kZSBvciBpbiBzaW5nbGUgbW9kZS5cbiAgICogVE9ETzogcmVtb3ZlIHRoaXMgaW4gZmF2b3VyIG9mIGRpc2NyaW1pbmF0ZWQgdW5pb25cbiAgICovXG4gIHJhbmdlTW9kZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBUaGUgcGxhY2VtZW50IHdoZXJlIHRoZSBjYWxlbmRhciBzaG91bGQgYmUgcGxhY2VkIGFjY29yZGluZyB0byB0aGUgaW5wdXQuIE9wdGlvbnMgYXJlIGBsZWZ0YCBvciBgcmlnaHRgLlxuICAgKiBOb3RlIHRoaXMgcHJvcCBvbmx5IGFmZmVjdHMgdGhlIGNhbGVuZGFyIHdoZW4gaW4gYHJhbmdlTW9kZWAuXG4gICAqL1xuICBob3Jpem9udGFsUGxhY2VtZW50PzogXCJsZWZ0XCIgfCBcInJpZ2h0XCI7XG4gIC8qKlxuICAgKiBUaGUgY2FsZW5kYXIgbG9jYWxlLiBJZiB1bmRlZmluZWQsIGl0IHVzZXMgY2FsZW5kYXIgZGVmYXVsdFxuICAgKi9cbiAgbG9jYWxlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDb250cm9scyBpZiBhY3Rpb25zIGJ1dHRvbnMgYXJlIHZpc2libGUgYXQgdGhlIGNhbGVuZGFyLlxuICAgKi9cbiAgc2hvd0FjdGlvbnM/OiBib29sZWFuO1xuICAvKipcbiAgICogQ29udHJvbHMgaWYgY2xlYXIgYnV0dG9uIGlzIHZpc2libGUgYXQgdGhlIGNhbGVuZGFyLFxuICAgKiBvbmx5IHdvcmtzIGlmIHNob3dpbmcgYWN0aW9ucyBvciBpbiByYW5nZSBtb2RlLlxuICAgKi9cbiAgc2hvd0NsZWFyPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIERpc2FibGUgdGhlIHBvcnRhbCBiZWhhdmlvci4gVGhlIGNoaWxkcmVuIHN0YXkgd2l0aGluIGl0J3MgcGFyZW50IERPTSBoaWVyYXJjaHkuXG4gICAqL1xuICBkaXNhYmxlUG9ydGFsPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFNldHMgaWYgdGhlIGNhbGVuZGFyIGNvbnRhaW5lciBzaG91bGQgZm9sbG93IHRoZSBkYXRlIHBpY2tlciBpbnB1dCBvdXQgb2YgdGhlIHNjcmVlbiBvciBzdGF5IHZpc2libGUuXG4gICAqL1xuICBlc2NhcGVXaXRoUmVmZXJlbmNlPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEFuIGVsZW1lbnQgcGxhY2VkIGJlZm9yZSB0aGUgQ2FsZW5kYXJcbiAgICovXG4gIHN0YXJ0QWRvcm5tZW50PzogUmVhY3QuUmVhY3ROb2RlO1xuICAvKipcbiAgICogQW4gb2JqZWN0IGNvbnRhaW5pbmcgcHJvcHMgdG8gYmUgcGFzc2VkIG9udG8gdGhlIGJhc2VEcm9wZG93bi5cbiAgICovXG4gIGRyb3Bkb3duUHJvcHM/OiBPYmplY3Q7XG4gIC8qKlxuICAgKiBJZiBgdHJ1ZWAgdGhlIERhdGVQaWNrZXIgd2lsbCBiZSBpbiByZWFkIG9ubHkgbW9kZSwgdW5hYmxlIHRvIGJlIGludGVyYWN0ZWQuXG4gICAqL1xuICByZWFkT25seT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIHByb3BzIHBhc3NlZCB0byB0aGUgSHZDYWxlbmRhciBjb21wb25lbnQuXG4gICAqL1xuICBjYWxlbmRhclByb3BzPzogUGFydGlhbDxIdkNhbGVuZGFyUHJvcHM+O1xufVxuXG4vKipcbiAqIEEgZGF0ZSBwaWNrZXIsIHBvcHVwIGNhbGVuZGFyIG9yIGRhdGUgcmFuZ2UgcGlja2VyIGlzIGEgZ3JhcGhpY2FsIHVzZXJcbiAqIGludGVyZmFjZSB3aWRnZXQgd2hpY2ggYWxsb3dzIHRoZSB1c2VyIHRvIHNlbGVjdCBhIGRhdGUgZnJvbSBhIGNhbGVuZGFyLlxuICovXG5leHBvcnQgY29uc3QgSHZEYXRlUGlja2VyID0gKHByb3BzOiBIdkRhdGVQaWNrZXJQcm9wcykgPT4ge1xuICBjb25zdCB7XG4gICAgY2xhc3NlczogY2xhc3Nlc1Byb3AsXG4gICAgY2xhc3NOYW1lLFxuXG4gICAgaWQsXG4gICAgbmFtZSxcblxuICAgIHJlcXVpcmVkID0gZmFsc2UsXG4gICAgZGlzYWJsZWQgPSBmYWxzZSxcbiAgICByZWFkT25seSxcblxuICAgIGxhYmVsLFxuICAgIFwiYXJpYS1sYWJlbFwiOiBhcmlhTGFiZWwsXG4gICAgXCJhcmlhLWxhYmVsbGVkYnlcIjogYXJpYUxhYmVsbGVkQnksXG4gICAgZGVzY3JpcHRpb24sXG4gICAgXCJhcmlhLWRlc2NyaWJlZGJ5XCI6IGFyaWFEZXNjcmliZWRCeSxcblxuICAgIG9uQ2hhbmdlLFxuICAgIG9uQ2FuY2VsLFxuICAgIG9uQ2xlYXIsXG4gICAgc3RhdHVzLFxuICAgIHN0YXR1c01lc3NhZ2UsXG4gICAgXCJhcmlhLWVycm9ybWVzc2FnZVwiOiBhcmlhRXJyb3JNZXNzYWdlLFxuXG4gICAgcGxhY2Vob2xkZXIsXG5cbiAgICBsYWJlbHM6IGxhYmVsc1Byb3AsXG5cbiAgICB2YWx1ZSxcbiAgICBzdGFydFZhbHVlLFxuICAgIGVuZFZhbHVlLFxuXG4gICAgcmFuZ2VNb2RlID0gZmFsc2UsXG4gICAgc3RhcnRBZG9ybm1lbnQsXG4gICAgaG9yaXpvbnRhbFBsYWNlbWVudCA9IFwicmlnaHRcIixcbiAgICBsb2NhbGU6IGxvY2FsZVByb3AsXG4gICAgc2hvd0FjdGlvbnMgPSBmYWxzZSxcbiAgICBzaG93Q2xlYXIgPSBmYWxzZSxcbiAgICBkaXNhYmxlUG9ydGFsID0gdHJ1ZSxcbiAgICBlc2NhcGVXaXRoUmVmZXJlbmNlID0gdHJ1ZSxcbiAgICBkcm9wZG93blByb3BzLFxuICAgIGNhbGVuZGFyUHJvcHMsXG4gICAgLi4ub3RoZXJzXG4gIH0gPSB1c2VEZWZhdWx0UHJvcHMoXCJIdkRhdGVQaWNrZXJcIiwgcHJvcHMpO1xuXG4gIGNvbnN0IHsgY2xhc3NlcywgY3ggfSA9IHVzZUNsYXNzZXMoY2xhc3Nlc1Byb3ApO1xuICBjb25zdCBsYWJlbHMgPSB1c2VMYWJlbHMoREVGQVVMVF9MQUJFTFMsIGxhYmVsc1Byb3ApO1xuXG4gIGNvbnN0IGVsZW1lbnRJZCA9IHVzZVVuaXF1ZUlkKGlkLCBcImh2ZGF0ZXBpY2tlclwiKTtcblxuICBjb25zdCBbdmFsaWRhdGlvblN0YXRlLCBzZXRWYWxpZGF0aW9uU3RhdGVdID0gdXNlQ29udHJvbGxlZChcbiAgICBzdGF0dXMsXG4gICAgXCJzdGFuZEJ5XCJcbiAgKTtcblxuICBjb25zdCBbdmFsaWRhdGlvbk1lc3NhZ2VdID0gdXNlQ29udHJvbGxlZChzdGF0dXNNZXNzYWdlLCBcIlJlcXVpcmVkXCIpO1xuXG4gIGNvbnN0IGxvY2FsZSA9IGxvY2FsZVByb3AgfHwgXCJlbi1VU1wiO1xuXG4gIGNvbnN0IFtjYWxlbmRhck9wZW4sIHNldENhbGVuZGFyT3Blbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgY29uc3QgW3N0YXJ0RGF0ZSwgc2V0U3RhcnREYXRlLCByb2xsYmFja1N0YXJ0RGF0ZV0gPSB1c2VTYXZlZFN0YXRlKFxuICAgIHJhbmdlTW9kZSA/IHN0YXJ0VmFsdWUgOiB2YWx1ZVxuICApO1xuICBjb25zdCBbZW5kRGF0ZSwgc2V0RW5kRGF0ZSwgcm9sbGJhY2tFbmREYXRlXSA9IHVzZVNhdmVkU3RhdGUoZW5kVmFsdWUpO1xuXG4gIGNvbnN0IFt2aXNpYmxlRGF0ZSwgZGlzcGF0Y2hBY3Rpb25dID0gdXNlVmlzaWJsZURhdGUoc3RhcnREYXRlLCBlbmREYXRlKTtcblxuICBjb25zdCBmb2N1c1RhcmdldCA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG5cbiAgY29uc3QgeyBhY3RpdmVUaGVtZSB9ID0gdXNlVGhlbWUoKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHNldFN0YXJ0RGF0ZShyYW5nZU1vZGUgPyBzdGFydFZhbHVlIDogdmFsdWUsIHRydWUpO1xuICAgIHNldEVuZERhdGUoZW5kVmFsdWUsIHRydWUpO1xuICB9LCBbdmFsdWUsIHN0YXJ0VmFsdWUsIGVuZFZhbHVlLCByYW5nZU1vZGUsIHNldFN0YXJ0RGF0ZSwgc2V0RW5kRGF0ZV0pO1xuXG4gIGNvbnN0IGVuZERhdGVJc1NldCA9IHVzZVJlZihmYWxzZSk7XG4gIGVuZERhdGVJc1NldC5jdXJyZW50ID0gZW5kRGF0ZSAhPSBudWxsO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHN0YXJ0RGF0ZSAhPSBudWxsKSB7XG4gICAgICBkaXNwYXRjaEFjdGlvbih7XG4gICAgICAgIHR5cGU6IFwibW9udGhfeWVhclwiLFxuICAgICAgICB0YXJnZXQ6IGVuZERhdGVJc1NldC5jdXJyZW50ID8gXCJsZWZ0XCIgOiBcImJlc3RcIixcbiAgICAgICAgeWVhcjogc3RhcnREYXRlLmdldEZ1bGxZZWFyKCksXG4gICAgICAgIG1vbnRoOiBzdGFydERhdGUuZ2V0TW9udGgoKSArIDEsXG4gICAgICB9KTtcbiAgICB9XG4gIH0sIFtkaXNwYXRjaEFjdGlvbiwgc3RhcnREYXRlXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoZW5kRGF0ZSAhPSBudWxsKSB7XG4gICAgICBkaXNwYXRjaEFjdGlvbih7XG4gICAgICAgIHR5cGU6IFwibW9udGhfeWVhclwiLFxuICAgICAgICB0YXJnZXQ6IFwicmlnaHRcIixcbiAgICAgICAgeWVhcjogZW5kRGF0ZS5nZXRGdWxsWWVhcigpLFxuICAgICAgICBtb250aDogZW5kRGF0ZS5nZXRNb250aCgpICsgMSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfSwgW2Rpc3BhdGNoQWN0aW9uLCBlbmREYXRlXSk7XG5cbiAgLyoqXG4gICAqIEhhbmRsZXMgdGhlIGBBcHBseWAgYWN0aW9uLiBCb3RoIHNpbmdsZSBhbmQgcmFuZ2VkIG1vZGVzIGFyZSBoYW5kbGVkIGhlcmUuXG4gICAqL1xuICBjb25zdCBoYW5kbGVBcHBseSA9ICgpID0+IHtcbiAgICBzZXRTdGFydERhdGUoc3RhcnREYXRlLCB0cnVlKTtcbiAgICBzZXRFbmREYXRlKGVuZERhdGUgPz8gc3RhcnREYXRlLCB0cnVlKTtcblxuICAgIG9uQ2hhbmdlPy4oc3RhcnREYXRlLCBlbmREYXRlKTtcblxuICAgIHNldFZhbGlkYXRpb25TdGF0ZSgoKSA9PiB7XG4gICAgICAvLyB0aGlzIHdpbGwgb25seSBydW4gaWYgc3RhdHVzIGlzIHVuY29udHJvbGxlZFxuICAgICAgaWYgKHJlcXVpcmVkICYmICghaXNEYXRlKHN0YXJ0RGF0ZSkgfHwgKHJhbmdlTW9kZSAmJiAhaXNEYXRlKGVuZERhdGUpKSkpIHtcbiAgICAgICAgcmV0dXJuIFwiaW52YWxpZFwiO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gXCJ2YWxpZFwiO1xuICAgIH0pO1xuXG4gICAgc2V0Q2FsZW5kYXJPcGVuKGZhbHNlKTtcbiAgfTtcblxuICAvKipcbiAgICogSGFuZGxlcyB0aGUgYENhbmNlbGAgYWN0aW9uLiBCb3RoIHNpbmdsZSBhbmQgcmFuZ2VkIG1vZGVzIGFyZSBoYW5kbGVkIGhlcmUuXG4gICAqL1xuICBjb25zdCBoYW5kbGVDYW5jZWwgPSAoKSA9PiB7XG4gICAgcm9sbGJhY2tTdGFydERhdGUoKTtcbiAgICByb2xsYmFja0VuZERhdGUoKTtcblxuICAgIG9uQ2FuY2VsPy4oKTtcblxuICAgIHNldENhbGVuZGFyT3BlbihmYWxzZSk7XG4gIH07XG5cbiAgLyoqXG4gICAqIEhhbmRsZXMgdGhlIGBDYW5jZWxgIGFjdGlvbi4gQm90aCBzaW5nbGUgYW5kIHJhbmdlZCBtb2RlcyBhcmUgaGFuZGxlZCBoZXJlLlxuICAgKi9cbiAgY29uc3QgaGFuZGxlQ2xlYXIgPSAoKSA9PiB7XG4gICAgc2V0U3RhcnREYXRlKHVuZGVmaW5lZCwgZmFsc2UpO1xuICAgIHNldEVuZERhdGUodW5kZWZpbmVkLCBmYWxzZSk7XG4gICAgb25DbGVhcj8uKCk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlQ2FsZW5kYXJDbG9zZSA9ICgpID0+IHtcbiAgICBjb25zdCBzaG91bGRTYXZlID0gIShyYW5nZU1vZGUgfHwgc2hvd0FjdGlvbnMpO1xuICAgIGlmIChzaG91bGRTYXZlKSB7XG4gICAgICBoYW5kbGVBcHBseSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBoYW5kbGVDYW5jZWwoKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlVG9nZ2xlOiBIdkJhc2VEcm9wZG93blByb3BzW1wib25Ub2dnbGVcIl0gPSAoZXZ0LCBvcGVuKSA9PiB7XG4gICAgLyogXG4gICAgIElmIGV2dCBpcyBudWxsIHRoaXMgdG9nZ2xlIHdhc24ndCB0cmlnZ2VyZWQgYnkgdGhlIHVzZXIuXG4gICAgIGluc3RlYWQgaXQgd2FzIHRyaWdnZXJlZCBieSB0aGUgYmFzZURyb3Bkb3duIHVzZUVmZmVjdCBhZnRlclxuICAgICB0aGUgZGF0ZXBpY2tlciBjaGFuZ2VkIHRoZSBleHBhbmRlZCB2YWx1ZSB0aGlzIGJhc2VEcm9wZG93biBiZWhhdmlvciBuZWVkcyBhIHJldmlld1xuICAgICovXG4gICAgaWYgKGV2dCA9PT0gbnVsbCkgcmV0dXJuO1xuICAgIHNldENhbGVuZGFyT3BlbihvcGVuKTtcbiAgICBpZiAoIW9wZW4pIGhhbmRsZUNhbGVuZGFyQ2xvc2UoKTtcbiAgfTtcblxuICBjb25zdCBmb2N1c09uQ29udGFpbmVyID0gKCkgPT4ge1xuICAgIGZvY3VzVGFyZ2V0LmN1cnJlbnQ/LmZvY3VzKCk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlRGF0ZUNoYW5nZTogSHZDYWxlbmRhclByb3BzW1wib25DaGFuZ2VcIl0gPSAoZXZlbnQsIG5ld0RhdGUpID0+IHtcbiAgICBpZiAoIWlzRGF0ZShuZXdEYXRlKSkgcmV0dXJuO1xuXG4gICAgY29uc3QgYXV0b1NhdmUgPSAhc2hvd0FjdGlvbnMgJiYgIXJhbmdlTW9kZTtcblxuICAgIGlmIChyYW5nZU1vZGUpIHtcbiAgICAgIGlmICghc3RhcnREYXRlIHx8IChzdGFydERhdGUgJiYgZW5kRGF0ZSkgfHwgbmV3RGF0ZSA8IHN0YXJ0RGF0ZSkge1xuICAgICAgICBzZXRTdGFydERhdGUobmV3RGF0ZSk7XG4gICAgICAgIHNldEVuZERhdGUodW5kZWZpbmVkKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNldEVuZERhdGUobmV3RGF0ZSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHNldFN0YXJ0RGF0ZShuZXdEYXRlLCBhdXRvU2F2ZSk7XG4gICAgfVxuXG4gICAgaWYgKGF1dG9TYXZlKSB7XG4gICAgICBvbkNoYW5nZT8uKG5ld0RhdGUpO1xuXG4gICAgICBzZXRWYWxpZGF0aW9uU3RhdGUoKCkgPT4ge1xuICAgICAgICAvLyB0aGlzIHdpbGwgb25seSBydW4gaWYgc3RhdHVzIGlzIHVuY29udHJvbGxlZFxuICAgICAgICBpZiAocmVxdWlyZWQgJiYgIWlzRGF0ZShuZXdEYXRlKSkge1xuICAgICAgICAgIHJldHVybiBcImludmFsaWRcIjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBcInZhbGlkXCI7XG4gICAgICB9KTtcblxuICAgICAgc2V0Q2FsZW5kYXJPcGVuKGZhbHNlKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlSW5wdXREYXRlQ2hhbmdlOiBIdkNhbGVuZGFyUHJvcHNbXCJvbklucHV0Q2hhbmdlXCJdID0gKFxuICAgIGV2ZW50LFxuICAgIG5ld0RhdGUsXG4gICAgcG9zaXRpb25cbiAgKSA9PiB7XG4gICAgaWYgKCFpc0RhdGUobmV3RGF0ZSkpIHJldHVybjtcblxuICAgIGlmICghcmFuZ2VNb2RlKSB7XG4gICAgICBoYW5kbGVEYXRlQ2hhbmdlKGV2ZW50IGFzIGFueSwgbmV3RGF0ZSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHBvc2l0aW9uID09PSBcImxlZnRcIikge1xuICAgICAgaWYgKGVuZERhdGUpIHNldFN0YXJ0RGF0ZShuZXdEYXRlID4gZW5kRGF0ZSA/IGVuZERhdGUgOiBuZXdEYXRlKTtcbiAgICB9IGVsc2UgaWYgKHBvc2l0aW9uID09PSBcInJpZ2h0XCIpIHtcbiAgICAgIGlmICghc3RhcnREYXRlKSB7XG4gICAgICAgIGlmIChlbmREYXRlKSBzZXRTdGFydERhdGUobmV3RGF0ZSA+IGVuZERhdGUgPyBlbmREYXRlIDogbmV3RGF0ZSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHNldEVuZERhdGUobmV3RGF0ZSA8IHN0YXJ0RGF0ZSA/IHN0YXJ0RGF0ZSA6IG5ld0RhdGUpO1xuICAgIH1cbiAgfTtcblxuICAvKipcbiAgICogUmVuZGVycyB0aGUgY29udGFpbmVyIGZvciB0aGUgYWN0aW9uIGVsZW1lbnRzLlxuICAgKi9cbiAgY29uc3QgcmVuZGVyQWN0aW9ucyA9ICgpID0+IChcbiAgICA8SHZBY3Rpb25CYXIgY2xhc3NOYW1lPXtjeCh7IFtjbGFzc2VzLmFjdGlvbkNvbnRhaW5lcl06IHNob3dDbGVhciB9KX0+XG4gICAgICB7c2hvd0NsZWFyICYmIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXMubGVmdENvbnRhaW5lcn0+XG4gICAgICAgICAgPEh2QnV0dG9uXG4gICAgICAgICAgICBpZD17c2V0SWQoaWQsIFwiYWN0aW9uXCIsIFwiY2xlYXJcIil9XG4gICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzZXMuYWN0aW9ufVxuICAgICAgICAgICAgdmFyaWFudD1cInByaW1hcnlHaG9zdFwiXG4gICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVDbGVhcn1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7bGFiZWxzPy5jbGVhckxhYmVsfVxuICAgICAgICAgIDwvSHZCdXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKX1cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc2VzLnJpZ2h0Q29udGFpbmVyfT5cbiAgICAgICAgPEh2QnV0dG9uXG4gICAgICAgICAgaWQ9e3NldElkKGlkLCBcImFjdGlvblwiLCBcImFwcGx5XCIpfVxuICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3Nlcy5hY3Rpb259XG4gICAgICAgICAgdmFyaWFudD1cInByaW1hcnlHaG9zdFwiXG4gICAgICAgICAgb25DbGljaz17aGFuZGxlQXBwbHl9XG4gICAgICAgID5cbiAgICAgICAgICB7bGFiZWxzPy5hcHBseUxhYmVsfVxuICAgICAgICA8L0h2QnV0dG9uPlxuICAgICAgICA8SHZCdXR0b25cbiAgICAgICAgICBpZD17c2V0SWQoaWQsIFwiYWN0aW9uXCIsIFwiY2FuY2VsXCIpfVxuICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3Nlcy5hY3Rpb259XG4gICAgICAgICAgdmFyaWFudD1cInByaW1hcnlHaG9zdFwiXG4gICAgICAgICAgb25DbGljaz17aGFuZGxlQ2FuY2VsfVxuICAgICAgICA+XG4gICAgICAgICAge2xhYmVscz8uY2FuY2VsTGFiZWx9XG4gICAgICAgIDwvSHZCdXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L0h2QWN0aW9uQmFyPlxuICApO1xuXG4gIGNvbnN0IHN0eWxlZFR5cG9ncmFwaHkgPSAoXG4gICAgZGF0ZVN0cmluZzogc3RyaW5nLFxuICAgIHZhcmlhbnQ6IGFueSxcbiAgICB0ZXh0OiBSZWFjdE5vZGVcbiAgKSA9PiB7XG4gICAgY29uc3QgU3R5bGVkVHlwb2dyYXBoeSA9IHN0eWxlZChIdlR5cG9ncmFwaHkpKHtcbiAgICAgIGNvbG9yOiBkYXRlU3RyaW5nXG4gICAgICAgID8gdGhlbWUuY29sb3JzLnNlY29uZGFyeVxuICAgICAgICA6IHRoZW1lLmRhdGVQaWNrZXIuZHJvcGRvd25QbGFjZWhvbGRlckNvbG9yLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIDxTdHlsZWRUeXBvZ3JhcGh5IHZhcmlhbnQ9e3ZhcmlhbnR9Pnt0ZXh0fTwvU3R5bGVkVHlwb2dyYXBoeT47XG4gIH07XG5cbiAgY29uc3QgcmVuZGVySW5wdXQgPSAoZGF0ZVN0cmluZzogc3RyaW5nKSA9PlxuICAgIHN0eWxlZFR5cG9ncmFwaHkoXG4gICAgICBkYXRlU3RyaW5nLFxuICAgICAgYWN0aXZlVGhlbWU/LmRhdGVQaWNrZXIucGxhY2Vob2xkZXJWYXJpYW50LFxuICAgICAgKGRhdGVTdHJpbmcgfHwgcGxhY2Vob2xkZXIpID09PSB1bmRlZmluZWQgPyBcIlwiIDogZGF0ZVN0cmluZyB8fCBwbGFjZWhvbGRlclxuICAgICk7XG5cbiAgY29uc3QgZGF0ZVZhbHVlID0gcmFuZ2VNb2RlID8geyBzdGFydERhdGUsIGVuZERhdGUgfSA6IHN0YXJ0RGF0ZTtcblxuICBjb25zdCBoYXNMYWJlbCA9IGxhYmVsICE9IG51bGw7XG4gIGNvbnN0IGhhc0Rlc2NyaXB0aW9uID0gZGVzY3JpcHRpb24gIT0gbnVsbDtcblxuICAvLyB0aGUgZXJyb3IgbWVzc2FnZSBhcmVhIHdpbGwgb25seSBiZSBjcmVhdGVkIGlmOlxuICAvLyAtIGFuIGV4dGVybmFsIGVsZW1lbnQgdGhhdCBwcm92aWRlcyBhbiBlcnJvciBtZXNzYWdlIGlzbid0IGlkZW50aWZpZWQgdmlhIGFyaWEtZXJyb3JtZXNzYWdlIEFORFxuICAvLyAgIC0gYm90aCBzdGF0dXMgYW5kIHN0YXR1c01lc3NhZ2UgcHJvcGVydGllcyBhcmUgYmVpbmcgY29udHJvbGxlZCBPUlxuICAvLyAgIC0gc3RhdHVzIGlzIHVuY29udHJvbGxlZCBhbmQgcmVxdWlyZWQgaXMgdHJ1ZVxuICBjb25zdCBjYW5TaG93RXJyb3IgPVxuICAgIGFyaWFFcnJvck1lc3NhZ2UgPT0gbnVsbCAmJlxuICAgICgoc3RhdHVzICE9PSB1bmRlZmluZWQgJiYgc3RhdHVzTWVzc2FnZSAhPT0gdW5kZWZpbmVkKSB8fFxuICAgICAgKHN0YXR1cyA9PT0gdW5kZWZpbmVkICYmIHJlcXVpcmVkKSk7XG5cbiAgY29uc3QgaXNTdGF0ZUludmFsaWQgPSBpc0ludmFsaWQodmFsaWRhdGlvblN0YXRlKTtcblxuICBsZXQgZXJyb3JNZXNzYWdlSWQ7XG4gIGlmIChpc1N0YXRlSW52YWxpZCkge1xuICAgIGVycm9yTWVzc2FnZUlkID0gY2FuU2hvd0Vycm9yXG4gICAgICA/IHNldElkKGVsZW1lbnRJZCwgXCJlcnJvclwiKVxuICAgICAgOiBhcmlhRXJyb3JNZXNzYWdlO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8SHZGb3JtRWxlbWVudFxuICAgICAgaWQ9e2lkfVxuICAgICAgbmFtZT17bmFtZX1cbiAgICAgIHZhbHVlPXtkYXRlVmFsdWV9XG4gICAgICBzdGF0dXM9e3ZhbGlkYXRpb25TdGF0ZX1cbiAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgIHJlcXVpcmVkPXtyZXF1aXJlZH1cbiAgICAgIGNsYXNzTmFtZT17Y3goY2xhc3Nlcy5yb290LCBjbGFzc05hbWUpfVxuICAgICAgcmVhZE9ubHk9e3JlYWRPbmx5fVxuICAgICAgey4uLm90aGVyc31cbiAgICA+XG4gICAgICB7KGhhc0xhYmVsIHx8IGhhc0Rlc2NyaXB0aW9uKSAmJiAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc2VzLmxhYmVsQ29udGFpbmVyfT5cbiAgICAgICAgICB7aGFzTGFiZWwgJiYgKFxuICAgICAgICAgICAgPEh2TGFiZWxcbiAgICAgICAgICAgICAgaWQ9e3NldElkKGVsZW1lbnRJZCwgXCJsYWJlbFwiKX1cbiAgICAgICAgICAgICAgbGFiZWw9e2xhYmVsfVxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzZXMubGFiZWx9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICl9XG5cbiAgICAgICAgICB7aGFzRGVzY3JpcHRpb24gJiYgKFxuICAgICAgICAgICAgPEh2SW5mb01lc3NhZ2VcbiAgICAgICAgICAgICAgaWQ9e3NldElkKGVsZW1lbnRJZCwgXCJkZXNjcmlwdGlvblwiKX1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc2VzLmRlc2NyaXB0aW9ufVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7ZGVzY3JpcHRpb259XG4gICAgICAgICAgICA8L0h2SW5mb01lc3NhZ2U+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9kaXY+XG4gICAgICApfVxuICAgICAgPEh2QmFzZURyb3Bkb3duXG4gICAgICAgIHJvbGU9XCJjb21ib2JveFwiXG4gICAgICAgIGNsYXNzZXM9e3tcbiAgICAgICAgICByb290OiBjbGFzc2VzLmRyb3Bkb3duLFxuICAgICAgICAgIHBhbmVsOiBjbGFzc2VzLnBhbmVsLFxuICAgICAgICAgIGhlYWRlcjogY3goeyBbY2xhc3Nlcy5kcm9wZG93bkhlYWRlckludmFsaWRdOiBpc1N0YXRlSW52YWxpZCB9KSxcbiAgICAgICAgICBoZWFkZXJPcGVuOiBjbGFzc2VzLmRyb3Bkb3duSGVhZGVyT3BlbixcbiAgICAgICAgfX1cbiAgICAgICAgcmVhZE9ubHk9e3JlYWRPbmx5fVxuICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgIGRpc2FibGVQb3J0YWw9e2Rpc2FibGVQb3J0YWx9XG4gICAgICAgIHZhcmlhYmxlV2lkdGhcbiAgICAgICAgcGxhY2VtZW50PXtob3Jpem9udGFsUGxhY2VtZW50fVxuICAgICAgICBleHBhbmRlZD17Y2FsZW5kYXJPcGVufVxuICAgICAgICBvblRvZ2dsZT17aGFuZGxlVG9nZ2xlfVxuICAgICAgICBvbkNsaWNrT3V0c2lkZT17aGFuZGxlQ2FsZW5kYXJDbG9zZX1cbiAgICAgICAgb25Db250YWluZXJDcmVhdGlvbj17Zm9jdXNPbkNvbnRhaW5lcn1cbiAgICAgICAgcGxhY2Vob2xkZXI9e3JlbmRlcklucHV0KGdldERhdGVMYWJlbChkYXRlVmFsdWUsIHJhbmdlTW9kZSwgbG9jYWxlKSl9XG4gICAgICAgIGFkb3JubWVudD17XG4gICAgICAgICAgPENhbGVuZGFyXG4gICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzZXMuaWNvbn1cbiAgICAgICAgICAgIGNvbG9yPXtkaXNhYmxlZCA/IFwic2Vjb25kYXJ5XzgwXCIgOiB1bmRlZmluZWR9XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgICBwb3BwZXJQcm9wcz17e1xuICAgICAgICAgIG1vZGlmaWVyczogW1xuICAgICAgICAgICAgeyBuYW1lOiBcInByZXZlbnRPdmVyZmxvd1wiLCBlbmFibGVkOiBlc2NhcGVXaXRoUmVmZXJlbmNlIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfX1cbiAgICAgICAgYXJpYS1oYXNwb3B1cD1cImRpYWxvZ1wiXG4gICAgICAgIGFyaWEtbGFiZWw9e2FyaWFMYWJlbH1cbiAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PXtcbiAgICAgICAgICBbbGFiZWwgJiYgc2V0SWQoZWxlbWVudElkLCBcImxhYmVsXCIpLCBhcmlhTGFiZWxsZWRCeV1cbiAgICAgICAgICAgIC5qb2luKFwiIFwiKVxuICAgICAgICAgICAgLnRyaW0oKSB8fCB1bmRlZmluZWRcbiAgICAgICAgfVxuICAgICAgICBhcmlhLWludmFsaWQ9e2lzU3RhdGVJbnZhbGlkID8gdHJ1ZSA6IHVuZGVmaW5lZH1cbiAgICAgICAgYXJpYS1lcnJvcm1lc3NhZ2U9e2Vycm9yTWVzc2FnZUlkfVxuICAgICAgICBhcmlhLWRlc2NyaWJlZGJ5PXtcbiAgICAgICAgICBbZGVzY3JpcHRpb24gJiYgc2V0SWQoZWxlbWVudElkLCBcImRlc2NyaXB0aW9uXCIpLCBhcmlhRGVzY3JpYmVkQnldXG4gICAgICAgICAgICAuam9pbihcIiBcIilcbiAgICAgICAgICAgIC50cmltKCkgfHwgdW5kZWZpbmVkXG4gICAgICAgIH1cbiAgICAgICAgey4uLmRyb3Bkb3duUHJvcHN9XG4gICAgICA+XG4gICAgICAgIDxkaXYgcmVmPXtmb2N1c1RhcmdldH0gdGFiSW5kZXg9ey0xfSAvPlxuICAgICAgICA8SHZDYWxlbmRhclxuICAgICAgICAgIGlkPXtzZXRJZChpZCwgXCJjYWxlbmRhclwiKX1cbiAgICAgICAgICBzdGFydEFkb3JubWVudD17c3RhcnRBZG9ybm1lbnR9XG4gICAgICAgICAgb25DaGFuZ2U9e2hhbmRsZURhdGVDaGFuZ2V9XG4gICAgICAgICAgb25JbnB1dENoYW5nZT17aGFuZGxlSW5wdXREYXRlQ2hhbmdlfVxuICAgICAgICAgIG9uVmlzaWJsZURhdGVDaGFuZ2U9eyhfZXZlbnQsIHR5cGUsIG1vbnRoLCB0YXJnZXQpID0+IHtcbiAgICAgICAgICAgIGRpc3BhdGNoQWN0aW9uKHsgdHlwZSwgdGFyZ2V0LCBtb250aCB9KTtcbiAgICAgICAgICB9fVxuICAgICAgICAgIGxvY2FsZT17bG9jYWxlfVxuICAgICAgICAgIHsuLi52aXNpYmxlRGF0ZX1cbiAgICAgICAgICB7Li4uY2FsZW5kYXJQcm9wc31cbiAgICAgICAgICBpbnZhbGlkRGF0ZUxhYmVsPXtsYWJlbHM/LmludmFsaWREYXRlTGFiZWx9XG4gICAgICAgIC8+XG4gICAgICAgIHsocmFuZ2VNb2RlIHx8IHNob3dBY3Rpb25zKSAmJiByZW5kZXJBY3Rpb25zKCl9XG4gICAgICA8L0h2QmFzZURyb3Bkb3duPlxuICAgICAge2NhblNob3dFcnJvciAmJiAoXG4gICAgICAgIDxIdldhcm5pbmdUZXh0XG4gICAgICAgICAgaWQ9e3NldElkKGVsZW1lbnRJZCwgXCJlcnJvclwiKX1cbiAgICAgICAgICBkaXNhYmxlQm9yZGVyXG4gICAgICAgICAgY2xhc3NOYW1lPXtjeChjbGFzc2VzLmVycm9yKX1cbiAgICAgICAgPlxuICAgICAgICAgIHt2YWxpZGF0aW9uTWVzc2FnZX1cbiAgICAgICAgPC9Idldhcm5pbmdUZXh0PlxuICAgICAgKX1cbiAgICA8L0h2Rm9ybUVsZW1lbnQ+XG4gICk7XG59O1xuIl19 */");
242
242
  return /* @__PURE__ */ jsxRuntime.jsx(StyledTypography, {
243
243
  variant,
244
244
  children: text
@@ -264,7 +264,7 @@ const HvDatePicker = (props) => {
264
264
  status: validationState,
265
265
  disabled,
266
266
  required,
267
- className: cx(className, classes.root),
267
+ className: cx(classes.root, className),
268
268
  readOnly,
269
269
  ...others,
270
270
  children: [(hasLabel || hasDescription) && /* @__PURE__ */ jsxRuntime.jsxs("div", {