@hitachivantara/uikit-react-core 5.0.0-next.16 → 5.0.0-next.18

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 (179) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/components/AppSwitcher/Action/Action.cjs.map +1 -1
  3. package/dist/cjs/components/AppSwitcher/AppSwitcher.cjs.map +1 -1
  4. package/dist/cjs/components/Banner/Banner.cjs +1 -1
  5. package/dist/cjs/components/Banner/Banner.cjs.map +1 -1
  6. package/dist/cjs/components/Banner/BannerContent/ActionContainer/ActionContainer.cjs.map +1 -1
  7. package/dist/cjs/components/Banner/BannerContent/BannerContent.cjs +1 -1
  8. package/dist/cjs/components/Banner/BannerContent/BannerContent.cjs.map +1 -1
  9. package/dist/cjs/components/BaseDropdown/BaseDropdown.cjs +1 -1
  10. package/dist/cjs/components/DropDownMenu/DropDownMenu.cjs +1 -1
  11. package/dist/cjs/components/DropDownMenu/DropDownMenu.cjs.map +1 -1
  12. package/dist/cjs/components/FileUploader/DropZone/DropZone.cjs +1 -1
  13. package/dist/cjs/components/FileUploader/DropZone/DropZone.cjs.map +1 -1
  14. package/dist/cjs/components/Forms/FormElement/FormElement.cjs.map +1 -1
  15. package/dist/cjs/components/Forms/Suggestions/Suggestions.cjs +2 -2
  16. package/dist/cjs/components/Forms/Suggestions/Suggestions.cjs.map +1 -1
  17. package/dist/cjs/components/Input/Input.cjs.map +1 -1
  18. package/dist/cjs/components/List/List.cjs +4 -3
  19. package/dist/cjs/components/List/List.cjs.map +1 -1
  20. package/dist/cjs/components/List/utils.cjs +0 -10
  21. package/dist/cjs/components/List/utils.cjs.map +1 -1
  22. package/dist/cjs/components/Pagination/Pagination.cjs +4 -4
  23. package/dist/cjs/components/Pagination/Pagination.cjs.map +1 -1
  24. package/dist/cjs/components/SelectionList/SelectionList.cjs.map +1 -1
  25. package/dist/cjs/components/Table/TableHeader/TableHeader.cjs +7 -10
  26. package/dist/cjs/components/Table/TableHeader/TableHeader.cjs.map +1 -1
  27. package/dist/cjs/components/Table/TableHeader/TableHeader.styles.cjs +4 -5
  28. package/dist/cjs/components/Table/TableHeader/TableHeader.styles.cjs.map +1 -1
  29. package/dist/cjs/components/Table/TableRow/TableRow.cjs +8 -1
  30. package/dist/cjs/components/Table/TableRow/TableRow.cjs.map +1 -1
  31. package/dist/cjs/components/TagsInput/TagsInput.cjs.map +1 -1
  32. package/dist/cjs/components/ToggleButton/ToggleButton.cjs +2 -2
  33. package/dist/cjs/components/ToggleButton/ToggleButton.cjs.map +1 -1
  34. package/dist/cjs/components/VerticalNavigation/Actions/Action.cjs +45 -0
  35. package/dist/cjs/components/VerticalNavigation/Actions/Action.cjs.map +1 -0
  36. package/dist/cjs/components/VerticalNavigation/Actions/Action.styles.cjs +51 -0
  37. package/dist/cjs/components/VerticalNavigation/Actions/Action.styles.cjs.map +1 -0
  38. package/dist/cjs/components/VerticalNavigation/Actions/Actions.cjs +30 -0
  39. package/dist/cjs/components/VerticalNavigation/Actions/Actions.cjs.map +1 -0
  40. package/dist/cjs/components/VerticalNavigation/Actions/Actions.styles.cjs +26 -0
  41. package/dist/cjs/components/VerticalNavigation/Actions/Actions.styles.cjs.map +1 -0
  42. package/dist/cjs/components/VerticalNavigation/Actions/actionClasses.cjs +8 -0
  43. package/dist/cjs/components/VerticalNavigation/Actions/actionClasses.cjs.map +1 -0
  44. package/dist/cjs/components/VerticalNavigation/Actions/actionsClasses.cjs +8 -0
  45. package/dist/cjs/components/VerticalNavigation/Actions/actionsClasses.cjs.map +1 -0
  46. package/dist/cjs/components/VerticalNavigation/Header/Header.cjs +45 -0
  47. package/dist/cjs/components/VerticalNavigation/Header/Header.cjs.map +1 -0
  48. package/dist/cjs/components/VerticalNavigation/Header/Header.styles.cjs +23 -0
  49. package/dist/cjs/components/VerticalNavigation/Header/Header.styles.cjs.map +1 -0
  50. package/dist/cjs/components/VerticalNavigation/Header/headerClasses.cjs +8 -0
  51. package/dist/cjs/components/VerticalNavigation/Header/headerClasses.cjs.map +1 -0
  52. package/dist/cjs/components/VerticalNavigation/Navigation/Navigation.cjs +134 -0
  53. package/dist/cjs/components/VerticalNavigation/Navigation/Navigation.cjs.map +1 -0
  54. package/dist/cjs/components/VerticalNavigation/Navigation/Navigation.styles.cjs +22 -0
  55. package/dist/cjs/components/VerticalNavigation/Navigation/Navigation.styles.cjs.map +1 -0
  56. package/dist/cjs/components/VerticalNavigation/Navigation/navigationClasses.cjs +8 -0
  57. package/dist/cjs/components/VerticalNavigation/Navigation/navigationClasses.cjs.map +1 -0
  58. package/dist/cjs/components/VerticalNavigation/TreeView/TreeView.cjs +643 -0
  59. package/dist/cjs/components/VerticalNavigation/TreeView/TreeView.cjs.map +1 -0
  60. package/dist/cjs/components/VerticalNavigation/TreeView/TreeView.styles.cjs +21 -0
  61. package/dist/cjs/components/VerticalNavigation/TreeView/TreeView.styles.cjs.map +1 -0
  62. package/dist/cjs/components/VerticalNavigation/TreeView/TreeViewContext.cjs +10 -0
  63. package/dist/cjs/components/VerticalNavigation/TreeView/TreeViewContext.cjs.map +1 -0
  64. package/dist/cjs/components/VerticalNavigation/TreeView/TreeViewItem.cjs +282 -0
  65. package/dist/cjs/components/VerticalNavigation/TreeView/TreeViewItem.cjs.map +1 -0
  66. package/dist/cjs/components/VerticalNavigation/TreeView/TreeViewItem.styles.cjs +132 -0
  67. package/dist/cjs/components/VerticalNavigation/TreeView/TreeViewItem.styles.cjs.map +1 -0
  68. package/dist/cjs/components/VerticalNavigation/TreeView/descendants.cjs +134 -0
  69. package/dist/cjs/components/VerticalNavigation/TreeView/descendants.cjs.map +1 -0
  70. package/dist/cjs/components/VerticalNavigation/TreeView/treeViewClasses.cjs +8 -0
  71. package/dist/cjs/components/VerticalNavigation/TreeView/treeViewClasses.cjs.map +1 -0
  72. package/dist/cjs/components/VerticalNavigation/TreeView/treeViewItemClasses.cjs +8 -0
  73. package/dist/cjs/components/VerticalNavigation/TreeView/treeViewItemClasses.cjs.map +1 -0
  74. package/dist/cjs/components/VerticalNavigation/VerticalNavigation.cjs +40 -0
  75. package/dist/cjs/components/VerticalNavigation/VerticalNavigation.cjs.map +1 -0
  76. package/dist/cjs/components/VerticalNavigation/VerticalNavigation.styles.cjs +43 -0
  77. package/dist/cjs/components/VerticalNavigation/VerticalNavigation.styles.cjs.map +1 -0
  78. package/dist/cjs/components/VerticalNavigation/verticalNavigationClasses.cjs +8 -0
  79. package/dist/cjs/components/VerticalNavigation/verticalNavigationClasses.cjs.map +1 -0
  80. package/dist/cjs/hocs/withTooltip.cjs.map +1 -1
  81. package/dist/cjs/hooks/useClickOutside.cjs.map +1 -1
  82. package/dist/cjs/hooks/useEnhancedEffect.cjs +6 -0
  83. package/dist/cjs/hooks/useEnhancedEffect.cjs.map +1 -0
  84. package/dist/cjs/index.cjs +37 -0
  85. package/dist/cjs/index.cjs.map +1 -1
  86. package/dist/cjs/providers/ThemeProvider.cjs +4 -1
  87. package/dist/cjs/providers/ThemeProvider.cjs.map +1 -1
  88. package/dist/cjs/utils/wrapperTooltip.cjs +13 -0
  89. package/dist/cjs/utils/wrapperTooltip.cjs.map +1 -0
  90. package/dist/esm/components/AppSwitcher/Action/Action.js.map +1 -1
  91. package/dist/esm/components/AppSwitcher/AppSwitcher.js.map +1 -1
  92. package/dist/esm/components/Banner/Banner.js +1 -1
  93. package/dist/esm/components/Banner/Banner.js.map +1 -1
  94. package/dist/esm/components/Banner/BannerContent/ActionContainer/ActionContainer.js.map +1 -1
  95. package/dist/esm/components/Banner/BannerContent/BannerContent.js +1 -1
  96. package/dist/esm/components/Banner/BannerContent/BannerContent.js.map +1 -1
  97. package/dist/esm/components/BaseDropdown/BaseDropdown.js +1 -1
  98. package/dist/esm/components/DropDownMenu/DropDownMenu.js +1 -1
  99. package/dist/esm/components/DropDownMenu/DropDownMenu.js.map +1 -1
  100. package/dist/esm/components/FileUploader/DropZone/DropZone.js +1 -1
  101. package/dist/esm/components/FileUploader/DropZone/DropZone.js.map +1 -1
  102. package/dist/esm/components/Forms/FormElement/FormElement.js.map +1 -1
  103. package/dist/esm/components/Forms/Suggestions/Suggestions.js +2 -2
  104. package/dist/esm/components/Forms/Suggestions/Suggestions.js.map +1 -1
  105. package/dist/esm/components/Input/Input.js.map +1 -1
  106. package/dist/esm/components/List/List.js +2 -1
  107. package/dist/esm/components/List/List.js.map +1 -1
  108. package/dist/esm/components/List/utils.js +1 -11
  109. package/dist/esm/components/List/utils.js.map +1 -1
  110. package/dist/esm/components/Pagination/Pagination.js +4 -4
  111. package/dist/esm/components/Pagination/Pagination.js.map +1 -1
  112. package/dist/esm/components/SelectionList/SelectionList.js.map +1 -1
  113. package/dist/esm/components/Table/TableHeader/TableHeader.js +7 -10
  114. package/dist/esm/components/Table/TableHeader/TableHeader.js.map +1 -1
  115. package/dist/esm/components/Table/TableHeader/TableHeader.styles.js +4 -5
  116. package/dist/esm/components/Table/TableHeader/TableHeader.styles.js.map +1 -1
  117. package/dist/esm/components/Table/TableRow/TableRow.js +8 -1
  118. package/dist/esm/components/Table/TableRow/TableRow.js.map +1 -1
  119. package/dist/esm/components/TagsInput/TagsInput.js.map +1 -1
  120. package/dist/esm/components/ToggleButton/ToggleButton.js +2 -2
  121. package/dist/esm/components/ToggleButton/ToggleButton.js.map +1 -1
  122. package/dist/esm/components/VerticalNavigation/Actions/Action.js +43 -0
  123. package/dist/esm/components/VerticalNavigation/Actions/Action.js.map +1 -0
  124. package/dist/esm/components/VerticalNavigation/Actions/Action.styles.js +49 -0
  125. package/dist/esm/components/VerticalNavigation/Actions/Action.styles.js.map +1 -0
  126. package/dist/esm/components/VerticalNavigation/Actions/Actions.js +28 -0
  127. package/dist/esm/components/VerticalNavigation/Actions/Actions.js.map +1 -0
  128. package/dist/esm/components/VerticalNavigation/Actions/Actions.styles.js +24 -0
  129. package/dist/esm/components/VerticalNavigation/Actions/Actions.styles.js.map +1 -0
  130. package/dist/esm/components/VerticalNavigation/Actions/actionClasses.js +8 -0
  131. package/dist/esm/components/VerticalNavigation/Actions/actionClasses.js.map +1 -0
  132. package/dist/esm/components/VerticalNavigation/Actions/actionsClasses.js +8 -0
  133. package/dist/esm/components/VerticalNavigation/Actions/actionsClasses.js.map +1 -0
  134. package/dist/esm/components/VerticalNavigation/Header/Header.js +43 -0
  135. package/dist/esm/components/VerticalNavigation/Header/Header.js.map +1 -0
  136. package/dist/esm/components/VerticalNavigation/Header/Header.styles.js +21 -0
  137. package/dist/esm/components/VerticalNavigation/Header/Header.styles.js.map +1 -0
  138. package/dist/esm/components/VerticalNavigation/Header/headerClasses.js +8 -0
  139. package/dist/esm/components/VerticalNavigation/Header/headerClasses.js.map +1 -0
  140. package/dist/esm/components/VerticalNavigation/Navigation/Navigation.js +132 -0
  141. package/dist/esm/components/VerticalNavigation/Navigation/Navigation.js.map +1 -0
  142. package/dist/esm/components/VerticalNavigation/Navigation/Navigation.styles.js +20 -0
  143. package/dist/esm/components/VerticalNavigation/Navigation/Navigation.styles.js.map +1 -0
  144. package/dist/esm/components/VerticalNavigation/Navigation/navigationClasses.js +8 -0
  145. package/dist/esm/components/VerticalNavigation/Navigation/navigationClasses.js.map +1 -0
  146. package/dist/esm/components/VerticalNavigation/TreeView/TreeView.js +641 -0
  147. package/dist/esm/components/VerticalNavigation/TreeView/TreeView.js.map +1 -0
  148. package/dist/esm/components/VerticalNavigation/TreeView/TreeView.styles.js +19 -0
  149. package/dist/esm/components/VerticalNavigation/TreeView/TreeView.styles.js.map +1 -0
  150. package/dist/esm/components/VerticalNavigation/TreeView/TreeViewContext.js +10 -0
  151. package/dist/esm/components/VerticalNavigation/TreeView/TreeViewContext.js.map +1 -0
  152. package/dist/esm/components/VerticalNavigation/TreeView/TreeViewItem.js +280 -0
  153. package/dist/esm/components/VerticalNavigation/TreeView/TreeViewItem.js.map +1 -0
  154. package/dist/esm/components/VerticalNavigation/TreeView/TreeViewItem.styles.js +130 -0
  155. package/dist/esm/components/VerticalNavigation/TreeView/TreeViewItem.styles.js.map +1 -0
  156. package/dist/esm/components/VerticalNavigation/TreeView/descendants.js +134 -0
  157. package/dist/esm/components/VerticalNavigation/TreeView/descendants.js.map +1 -0
  158. package/dist/esm/components/VerticalNavigation/TreeView/treeViewClasses.js +8 -0
  159. package/dist/esm/components/VerticalNavigation/TreeView/treeViewClasses.js.map +1 -0
  160. package/dist/esm/components/VerticalNavigation/TreeView/treeViewItemClasses.js +8 -0
  161. package/dist/esm/components/VerticalNavigation/TreeView/treeViewItemClasses.js.map +1 -0
  162. package/dist/esm/components/VerticalNavigation/VerticalNavigation.js +38 -0
  163. package/dist/esm/components/VerticalNavigation/VerticalNavigation.js.map +1 -0
  164. package/dist/esm/components/VerticalNavigation/VerticalNavigation.styles.js +41 -0
  165. package/dist/esm/components/VerticalNavigation/VerticalNavigation.styles.js.map +1 -0
  166. package/dist/esm/components/VerticalNavigation/verticalNavigationClasses.js +8 -0
  167. package/dist/esm/components/VerticalNavigation/verticalNavigationClasses.js.map +1 -0
  168. package/dist/esm/hocs/withTooltip.js.map +1 -1
  169. package/dist/esm/hooks/useClickOutside.js.map +1 -1
  170. package/dist/esm/hooks/useEnhancedEffect.js +6 -0
  171. package/dist/esm/hooks/useEnhancedEffect.js.map +1 -0
  172. package/dist/esm/index.js +55 -18
  173. package/dist/esm/index.js.map +1 -1
  174. package/dist/esm/providers/ThemeProvider.js +4 -1
  175. package/dist/esm/providers/ThemeProvider.js.map +1 -1
  176. package/dist/esm/utils/wrapperTooltip.js +13 -0
  177. package/dist/esm/utils/wrapperTooltip.js.map +1 -0
  178. package/dist/types/index.d.ts +560 -50
  179. package/package.json +3 -3
@@ -46,6 +46,13 @@ const StyledTableRow = (c) => /* @__PURE__ */ _styled__default.default(c, proces
46
46
  $type
47
47
  }) => ({
48
48
  backgroundColor: uikitStyles.theme.table.rowBackgroundColor,
49
+ color: "inherit",
50
+ verticalAlign: "middle",
51
+ outline: 0,
52
+ minHeight: 32,
53
+ "tr&": {
54
+ height: 32
55
+ },
49
56
  ":hover": {
50
57
  ...$type === "body" && {
51
58
  backgroundColor: uikitStyles.theme.table.rowHoverColor
@@ -111,7 +118,7 @@ const StyledTableRow = (c) => /* @__PURE__ */ _styled__default.default(c, proces
111
118
  height: 16
112
119
  }
113
120
  }
114
- }), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2h2LXVpa2l0LXJlYWN0L2h2LXVpa2l0LXJlYWN0L3BhY2thZ2VzL2NvcmUvc3JjL2NvbXBvbmVudHMvVGFibGUvVGFibGVSb3cvVGFibGVSb3cudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlDRSIsImZpbGUiOiIvaG9tZS9ydW5uZXIvd29yay9odi11aWtpdC1yZWFjdC9odi11aWtpdC1yZWFjdC9wYWNrYWdlcy9jb3JlL3NyYy9jb21wb25lbnRzL1RhYmxlL1RhYmxlUm93L1RhYmxlUm93LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjbHN4IGZyb20gXCJjbHN4XCI7XG5pbXBvcnQgc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWRcIjtcbmltcG9ydCB7IGhleFRvUmdiLCBhbHBoYSB9IGZyb20gXCJAbXVpL21hdGVyaWFsXCI7XG5pbXBvcnQgeyBIdkJhc2VQcm9wcyB9IGZyb20gXCIuLi8uLi8uLi90eXBlcy9pbmRleFwiO1xuaW1wb3J0IHsgdGFibGVSb3dDbGFzc2VzLCBIdlRhYmxlUm93Q2xhc3NlcyB9IGZyb20gXCIuXCI7XG5pbXBvcnQgeyBmb3J3YXJkUmVmLCB1c2VDb250ZXh0LCB1c2VNZW1vIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgVGFibGVDb250ZXh0IGZyb20gXCIuLi9UYWJsZUNvbnRleHRcIjtcbmltcG9ydCB7IHRyYW5zaWVudE9wdGlvbnMgfSBmcm9tIFwidXRpbHMvdHJhbnNpZW50T3B0aW9uc1wiO1xuaW1wb3J0IFRhYmxlU2VjdGlvbkNvbnRleHQgZnJvbSBcIi4uL1RhYmxlU2VjdGlvbkNvbnRleHRcIjtcbmltcG9ydCB7IHRoZW1lIH0gZnJvbSBcIkBoaXRhY2hpdmFudGFyYS91aWtpdC1zdHlsZXNcIjtcbmltcG9ydCB7IGdldEJvcmRlclN0eWxlcyB9IGZyb20gXCIuLi91dGlscy91dGlsc1wiO1xuaW1wb3J0IHsgdXNlVGhlbWUgfSBmcm9tIFwiaG9va3NcIjtcblxuZXhwb3J0IHR5cGUgSHZUYWJsZVJvd1Byb3BzID0gT21pdDxIdkJhc2VQcm9wcywgXCJjaGlsZHJlblwiPiAmIHtcbiAgLyoqIENvbnRlbnQgdG8gYmUgcmVuZGVyZWQgKi9cbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZTtcbiAgLyoqIFRoZSBjb21wb25lbnQgdXNlZCBmb3IgdGhlIHJvb3Qgbm9kZS4gRWl0aGVyIGEgc3RyaW5nIHRvIHVzZSBhIEhUTUwgZWxlbWVudCBvciBhIGNvbXBvbmVudC4gRGVmYXVsdHMgdG8gdGJvZHkuICovXG4gIGNvbXBvbmVudD86IFJlYWN0LkVsZW1lbnRUeXBlO1xuICAvKiogV2hldGhlciB0aGUgdGFibGUgcm93IHdpbGwgc2hhZGUgb24gaG92ZXIuICovXG4gIGhvdmVyPzogYm9vbGVhbjtcbiAgLyoqIFdoZXRoZXIgdGhlIHRhYmxlIHJvdyB3aWxsIGhhdmUgdGhlIHNlbGVjdGVkIHNoYWRpbmcuICovXG4gIHNlbGVjdGVkPzogYm9vbGVhbjtcbiAgLyoqIFdoZXRoZXIgdGhlIHRhYmxlIHJvdyBpcyBleHBhbmRlZC4gKi9cbiAgZXhwYW5kZWQ/OiBib29sZWFuO1xuICAvKiogV2hldGhlciB0aGUgdGFibGUgcm93IGJhY2tncm91bmQgaXMgc3RyaXBlZC4gKi9cbiAgc3RyaXBlZD86IGJvb2xlYW47XG4gIC8qKiBBIEpzcyBPYmplY3QgdXNlZCB0byBvdmVycmlkZSBvciBleHRlbmQgdGhlIHN0eWxlcyBhcHBsaWVkIHRvIHRoZSBjb21wb25lbnQuICovXG4gIGNsYXNzZXM/OiBIdlRhYmxlUm93Q2xhc3Nlcztcbn07XG5cbmNvbnN0IGRlZmF1bHRDb21wb25lbnQgPSBcInRyXCI7XG5cbmNvbnN0IFN0eWxlZFRhYmxlUm93ID0gKGM6IGFueSkgPT5cbiAgc3R5bGVkKFxuICAgIGMsXG4gICAgdHJhbnNpZW50T3B0aW9uc1xuICApKFxuICAgICh7XG4gICAgICAkaG92ZXIsXG4gICAgICAkc2VsZWN0ZWQsXG4gICAgICAkZXhwYW5kZWQsXG4gICAgICAkc3RyaXBlZCxcbiAgICAgICR2YXJpYW50TGlzdCxcbiAgICAgICR2YXJpYW50TGlzdEhlYWQsXG4gICAgICAkc3RyaXBlZENvbG9yLFxuICAgICAgJHR5cGUsXG4gICAgfToge1xuICAgICAgJGhvdmVyOiBib29sZWFuO1xuICAgICAgJHNlbGVjdGVkOiBib29sZWFuO1xuICAgICAgJGV4cGFuZGVkOiBib29sZWFuO1xuICAgICAgJHN0cmlwZWQ6IGJvb2xlYW47XG4gICAgICAkdmFyaWFudExpc3Q6IGJvb2xlYW47XG4gICAgICAkdmFyaWFudExpc3RIZWFkOiBib29sZWFuO1xuICAgICAgJHR5cGU6IHN0cmluZztcbiAgICAgICRzdHJpcGVkQ29sb3I6IHN0cmluZztcbiAgICB9KSA9PiAoe1xuICAgICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS50YWJsZS5yb3dCYWNrZ3JvdW5kQ29sb3IsXG4gICAgICBcIjpob3ZlclwiOiB7XG4gICAgICAgIC4uLigkdHlwZSA9PT0gXCJib2R5XCIgJiYge1xuICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogdGhlbWUudGFibGUucm93SG92ZXJDb2xvcixcbiAgICAgICAgfSksXG4gICAgICB9LFxuICAgICAgLi4uKCRob3ZlciAmJiB7XG4gICAgICAgIHRyYW5zaXRpb246IFwiYmFja2dyb3VuZC1jb2xvciAxNTBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpIDBtc1wiLFxuICAgICAgICBcIiY6aG92ZXJcIjoge1xuICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogdGhlbWUudGFibGUucm93SG92ZXJDb2xvcixcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgICAgLi4uKCRzZWxlY3RlZCAmJiB7XG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogdGhlbWUudGFibGUuc2VsZWN0ZWRSb3dCYWNrZ3JvdW5kQ29sb3IsXG4gICAgICB9KSxcbiAgICAgIC4uLigkZXhwYW5kZWQgJiYge1xuICAgICAgICBcIiYgPiAqW3JvbGU9Y2VsbF1cIjoge1xuICAgICAgICAgIGJvcmRlckJvdHRvbTogXCJub25lXCIsXG4gICAgICAgIH0sXG4gICAgICAgIFtgJi4ke3RhYmxlUm93Q2xhc3Nlcy5leHBhbmRlZH1gXToge1xuICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogdGhlbWUuY29sb3JzLmF0bW8xLFxuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgICAuLi4oJHN0cmlwZWQgJiYge1xuICAgICAgICBcIiY6bnRoLW9mLXR5cGUoZXZlbilcIjoge1xuICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogJHN0cmlwZWRDb2xvcixcbiAgICAgICAgICBcIiY6aG92ZXJcIjoge1xuICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS50YWJsZS5yb3dIb3ZlckNvbG9yLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9KSxcblxuICAgICAgLy8gdHlwZVxuICAgICAgLi4uKCR0eXBlID09PSBcImhlYWRcIiAmJiB7XG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogXCJ0cmFuc3BhcmVudFwiLFxuICAgICAgICBcIiY6Zmlyc3Qtb2YtdHlwZVwiOiB7XG4gICAgICAgICAgaGVpZ2h0OiA1MixcbiAgICAgICAgfSxcblxuICAgICAgICBcInRyJjpmaXJzdC1vZi10eXBlXCI6IHtcbiAgICAgICAgICBoZWlnaHQ6IDUyLFxuICAgICAgICB9LFxuICAgICAgfSksXG5cbiAgICAgIC4uLigkdmFyaWFudExpc3QgJiYge1xuICAgICAgICBib3JkZXJCb3R0b206IDAsXG4gICAgICAgIC4uLighJHNlbGVjdGVkICYmIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLmNvbG9ycy5hdG1vMSxcbiAgICAgICAgfSksXG4gICAgICAgIGhlaWdodDogNTIsXG4gICAgICAgIFwiJjpob3ZlclwiOiB7XG4gICAgICAgICAgLi4uZ2V0Qm9yZGVyU3R5bGVzKFwicm93XCIsIHRoZW1lLnRhYmxlLnJvd0hvdmVyQm9yZGVyQ29sb3IpLFxuICAgICAgICB9LFxuICAgICAgICBbYCYuJHt0YWJsZVJvd0NsYXNzZXMuc2VsZWN0ZWR9YF06IHtcbiAgICAgICAgICAuLi5nZXRCb3JkZXJTdHlsZXMoXCJyb3dcIiwgdGhlbWUuY29sb3JzLmFjY2UxKSxcblxuICAgICAgICAgIFwiJjpob3ZlclwiOiB7XG4gICAgICAgICAgICAuLi5nZXRCb3JkZXJTdHlsZXMoXCJyb3dcIiwgdGhlbWUudGFibGUucm93SG92ZXJCb3JkZXJDb2xvciksXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgICAgLi4uKCR2YXJpYW50TGlzdEhlYWQgJiYge1xuICAgICAgICBoZWlnaHQ6IDE2LFxuICAgICAgICBcIiY6Zmlyc3Qtb2YtdHlwZVwiOiB7XG4gICAgICAgICAgaGVpZ2h0OiAxNixcbiAgICAgICAgfSxcblxuICAgICAgICBcInRyJjpmaXJzdC1vZi10eXBlXCI6IHtcbiAgICAgICAgICBoZWlnaHQ6IDE2LFxuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgfSlcbiAgKTtcblxuLyoqXG4gKiBgSHZUYWJsZVJvd2AgYWN0cyBhcyBhIGB0cmAgZWxlbWVudCBhbmQgaW5oZXJpdHMgc3R5bGVzIGZyb20gaXRzIGNvbnRleHRcbiAqL1xuZXhwb3J0IGNvbnN0IEh2VGFibGVSb3cgPSBmb3J3YXJkUmVmPEhUTUxFbGVtZW50LCBIdlRhYmxlUm93UHJvcHM+KFxuICAoXG4gICAge1xuICAgICAgY2xhc3NlcyxcbiAgICAgIGNsYXNzTmFtZSxcbiAgICAgIGNvbXBvbmVudCxcbiAgICAgIGhvdmVyID0gZmFsc2UsXG4gICAgICBzZWxlY3RlZCA9IGZhbHNlLFxuICAgICAgZXhwYW5kZWQgPSBmYWxzZSxcbiAgICAgIHN0cmlwZWQgPSBmYWxzZSxcbiAgICAgIC4uLm90aGVyc1xuICAgIH0sXG4gICAgZXh0ZXJuYWxSZWZcbiAgKSA9PiB7XG4gICAgY29uc3QgeyBhY3RpdmVUaGVtZSwgc2VsZWN0ZWRNb2RlIH0gPSB1c2VUaGVtZSgpO1xuICAgIGNvbnN0IHRhYmxlQ29udGV4dCA9IHVzZUNvbnRleHQoVGFibGVDb250ZXh0KTtcbiAgICBjb25zdCB0YWJsZVNlY3Rpb25Db250ZXh0ID0gdXNlQ29udGV4dChUYWJsZVNlY3Rpb25Db250ZXh0KTtcblxuICAgIGNvbnN0IHR5cGUgPSB0YWJsZVNlY3Rpb25Db250ZXh0Py50eXBlIHx8IFwiYm9keVwiO1xuXG4gICAgY29uc3QgaXNMaXN0ID0gdGFibGVDb250ZXh0LnZhcmlhbnQgPT09IFwibGlzdHJvd1wiO1xuXG4gICAgY29uc3QgQ29tcG9uZW50ID1cbiAgICAgIGNvbXBvbmVudCB8fCB0YWJsZUNvbnRleHQ/LmNvbXBvbmVudHM/LlRyIHx8IGRlZmF1bHRDb21wb25lbnQ7XG5cbiAgICBjb25zdCBUYWJsZVJvdyA9IHVzZU1lbW8oKCkgPT4gU3R5bGVkVGFibGVSb3coQ29tcG9uZW50KSwgW0NvbXBvbmVudF0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUYWJsZVJvd1xuICAgICAgICByZWY9e2V4dGVybmFsUmVmfVxuICAgICAgICBjbGFzc05hbWU9e2Nsc3goXG4gICAgICAgICAgY2xhc3NOYW1lLFxuICAgICAgICAgIHRhYmxlU2VjdGlvbkNvbnRleHQuZmlsdGVyQ2xhc3NOYW1lLFxuICAgICAgICAgIHRhYmxlUm93Q2xhc3Nlcy5yb290LFxuICAgICAgICAgIGNsYXNzZXM/LnJvb3QsXG4gICAgICAgICAgdGFibGVSb3dDbGFzc2VzW3R5cGVdLFxuICAgICAgICAgIGNsYXNzZXM/Llt0eXBlXSxcbiAgICAgICAgICBob3ZlciAmJiBjbHN4KHRhYmxlUm93Q2xhc3Nlcy5ob3ZlciwgY2xhc3Nlcz8uaG92ZXIpLFxuICAgICAgICAgIHNlbGVjdGVkICYmIGNsc3godGFibGVSb3dDbGFzc2VzLnNlbGVjdGVkLCBjbGFzc2VzPy5zZWxlY3RlZCksXG4gICAgICAgICAgZXhwYW5kZWQgJiYgY2xzeCh0YWJsZVJvd0NsYXNzZXMuZXhwYW5kZWQsIGNsYXNzZXM/LmV4cGFuZGVkKSxcbiAgICAgICAgICBzdHJpcGVkICYmIGNsc3godGFibGVSb3dDbGFzc2VzLnN0cmlwZWQsIGNsYXNzZXM/LnN0cmlwZWQpLFxuICAgICAgICAgIGlzTGlzdCAmJlxuICAgICAgICAgICAgdHlwZSA9PT0gXCJib2R5XCIgJiZcbiAgICAgICAgICAgIGNsc3godGFibGVSb3dDbGFzc2VzLnZhcmlhbnRMaXN0LCBjbGFzc2VzPy52YXJpYW50TGlzdCksXG4gICAgICAgICAgaXNMaXN0ICYmXG4gICAgICAgICAgICB0eXBlID09PSBcImhlYWRcIiAmJlxuICAgICAgICAgICAgY2xzeCh0YWJsZVJvd0NsYXNzZXMudmFyaWFudExpc3RIZWFkLCBjbGFzc2VzPy52YXJpYW50TGlzdEhlYWQpXG4gICAgICAgICl9XG4gICAgICAgIHJvbGU9e0NvbXBvbmVudCA9PT0gZGVmYXVsdENvbXBvbmVudCA/IG51bGwgOiBcInJvd1wifVxuICAgICAgICAkaG92ZXI9e2hvdmVyfVxuICAgICAgICAkc2VsZWN0ZWQ9e3NlbGVjdGVkfVxuICAgICAgICAkZXhwYW5kZWQ9e2V4cGFuZGVkfVxuICAgICAgICAkc3RyaXBlZD17c3RyaXBlZH1cbiAgICAgICAgJHZhcmlhbnRMaXN0PXtpc0xpc3QgJiYgdHlwZSA9PT0gXCJib2R5XCJ9XG4gICAgICAgICR2YXJpYW50TGlzdEhlYWQ9e2lzTGlzdCAmJiB0eXBlID09PSBcImhlYWRcIn1cbiAgICAgICAgJHR5cGU9e3R5cGV9XG4gICAgICAgICRzdHJpcGVkQ29sb3I9e2FscGhhKFxuICAgICAgICAgIGhleFRvUmdiKFxuICAgICAgICAgICAgYWN0aXZlVGhlbWU/LmNvbG9ycz8ubW9kZXNbc2VsZWN0ZWRNb2RlXS5hdG1vMSB8fCB0aGVtZS5jb2xvcnMuYXRtbzFcbiAgICAgICAgICApLFxuICAgICAgICAgIDAuNlxuICAgICAgICApfVxuICAgICAgICB7Li4ub3RoZXJzfVxuICAgICAgLz5cbiAgICApO1xuICB9XG4pO1xuIl19 */");
121
+ }), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2h2LXVpa2l0LXJlYWN0L2h2LXVpa2l0LXJlYWN0L3BhY2thZ2VzL2NvcmUvc3JjL2NvbXBvbmVudHMvVGFibGUvVGFibGVSb3cvVGFibGVSb3cudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlDRSIsImZpbGUiOiIvaG9tZS9ydW5uZXIvd29yay9odi11aWtpdC1yZWFjdC9odi11aWtpdC1yZWFjdC9wYWNrYWdlcy9jb3JlL3NyYy9jb21wb25lbnRzL1RhYmxlL1RhYmxlUm93L1RhYmxlUm93LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjbHN4IGZyb20gXCJjbHN4XCI7XG5pbXBvcnQgc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWRcIjtcbmltcG9ydCB7IGhleFRvUmdiLCBhbHBoYSB9IGZyb20gXCJAbXVpL21hdGVyaWFsXCI7XG5pbXBvcnQgeyBIdkJhc2VQcm9wcyB9IGZyb20gXCIuLi8uLi8uLi90eXBlcy9pbmRleFwiO1xuaW1wb3J0IHsgdGFibGVSb3dDbGFzc2VzLCBIdlRhYmxlUm93Q2xhc3NlcyB9IGZyb20gXCIuXCI7XG5pbXBvcnQgeyBmb3J3YXJkUmVmLCB1c2VDb250ZXh0LCB1c2VNZW1vIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgVGFibGVDb250ZXh0IGZyb20gXCIuLi9UYWJsZUNvbnRleHRcIjtcbmltcG9ydCB7IHRyYW5zaWVudE9wdGlvbnMgfSBmcm9tIFwidXRpbHMvdHJhbnNpZW50T3B0aW9uc1wiO1xuaW1wb3J0IFRhYmxlU2VjdGlvbkNvbnRleHQgZnJvbSBcIi4uL1RhYmxlU2VjdGlvbkNvbnRleHRcIjtcbmltcG9ydCB7IHRoZW1lIH0gZnJvbSBcIkBoaXRhY2hpdmFudGFyYS91aWtpdC1zdHlsZXNcIjtcbmltcG9ydCB7IGdldEJvcmRlclN0eWxlcyB9IGZyb20gXCIuLi91dGlscy91dGlsc1wiO1xuaW1wb3J0IHsgdXNlVGhlbWUgfSBmcm9tIFwiaG9va3NcIjtcblxuZXhwb3J0IHR5cGUgSHZUYWJsZVJvd1Byb3BzID0gT21pdDxIdkJhc2VQcm9wcywgXCJjaGlsZHJlblwiPiAmIHtcbiAgLyoqIENvbnRlbnQgdG8gYmUgcmVuZGVyZWQgKi9cbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZTtcbiAgLyoqIFRoZSBjb21wb25lbnQgdXNlZCBmb3IgdGhlIHJvb3Qgbm9kZS4gRWl0aGVyIGEgc3RyaW5nIHRvIHVzZSBhIEhUTUwgZWxlbWVudCBvciBhIGNvbXBvbmVudC4gRGVmYXVsdHMgdG8gdGJvZHkuICovXG4gIGNvbXBvbmVudD86IFJlYWN0LkVsZW1lbnRUeXBlO1xuICAvKiogV2hldGhlciB0aGUgdGFibGUgcm93IHdpbGwgc2hhZGUgb24gaG92ZXIuICovXG4gIGhvdmVyPzogYm9vbGVhbjtcbiAgLyoqIFdoZXRoZXIgdGhlIHRhYmxlIHJvdyB3aWxsIGhhdmUgdGhlIHNlbGVjdGVkIHNoYWRpbmcuICovXG4gIHNlbGVjdGVkPzogYm9vbGVhbjtcbiAgLyoqIFdoZXRoZXIgdGhlIHRhYmxlIHJvdyBpcyBleHBhbmRlZC4gKi9cbiAgZXhwYW5kZWQ/OiBib29sZWFuO1xuICAvKiogV2hldGhlciB0aGUgdGFibGUgcm93IGJhY2tncm91bmQgaXMgc3RyaXBlZC4gKi9cbiAgc3RyaXBlZD86IGJvb2xlYW47XG4gIC8qKiBBIEpzcyBPYmplY3QgdXNlZCB0byBvdmVycmlkZSBvciBleHRlbmQgdGhlIHN0eWxlcyBhcHBsaWVkIHRvIHRoZSBjb21wb25lbnQuICovXG4gIGNsYXNzZXM/OiBIdlRhYmxlUm93Q2xhc3Nlcztcbn07XG5cbmNvbnN0IGRlZmF1bHRDb21wb25lbnQgPSBcInRyXCI7XG5cbmNvbnN0IFN0eWxlZFRhYmxlUm93ID0gKGM6IGFueSkgPT5cbiAgc3R5bGVkKFxuICAgIGMsXG4gICAgdHJhbnNpZW50T3B0aW9uc1xuICApKFxuICAgICh7XG4gICAgICAkaG92ZXIsXG4gICAgICAkc2VsZWN0ZWQsXG4gICAgICAkZXhwYW5kZWQsXG4gICAgICAkc3RyaXBlZCxcbiAgICAgICR2YXJpYW50TGlzdCxcbiAgICAgICR2YXJpYW50TGlzdEhlYWQsXG4gICAgICAkc3RyaXBlZENvbG9yLFxuICAgICAgJHR5cGUsXG4gICAgfToge1xuICAgICAgJGhvdmVyOiBib29sZWFuO1xuICAgICAgJHNlbGVjdGVkOiBib29sZWFuO1xuICAgICAgJGV4cGFuZGVkOiBib29sZWFuO1xuICAgICAgJHN0cmlwZWQ6IGJvb2xlYW47XG4gICAgICAkdmFyaWFudExpc3Q6IGJvb2xlYW47XG4gICAgICAkdmFyaWFudExpc3RIZWFkOiBib29sZWFuO1xuICAgICAgJHR5cGU6IHN0cmluZztcbiAgICAgICRzdHJpcGVkQ29sb3I6IHN0cmluZztcbiAgICB9KSA9PiAoe1xuICAgICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS50YWJsZS5yb3dCYWNrZ3JvdW5kQ29sb3IsXG4gICAgICBjb2xvcjogXCJpbmhlcml0XCIsXG4gICAgICB2ZXJ0aWNhbEFsaWduOiBcIm1pZGRsZVwiLFxuICAgICAgb3V0bGluZTogMCxcbiAgICAgIG1pbkhlaWdodDogMzIsXG4gICAgICBcInRyJlwiOiB7XG4gICAgICAgIGhlaWdodDogMzIsXG4gICAgICB9LFxuXG4gICAgICBcIjpob3ZlclwiOiB7XG4gICAgICAgIC4uLigkdHlwZSA9PT0gXCJib2R5XCIgJiYge1xuICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogdGhlbWUudGFibGUucm93SG92ZXJDb2xvcixcbiAgICAgICAgfSksXG4gICAgICB9LFxuICAgICAgLi4uKCRob3ZlciAmJiB7XG4gICAgICAgIHRyYW5zaXRpb246IFwiYmFja2dyb3VuZC1jb2xvciAxNTBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpIDBtc1wiLFxuICAgICAgICBcIiY6aG92ZXJcIjoge1xuICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogdGhlbWUudGFibGUucm93SG92ZXJDb2xvcixcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgICAgLi4uKCRzZWxlY3RlZCAmJiB7XG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogdGhlbWUudGFibGUuc2VsZWN0ZWRSb3dCYWNrZ3JvdW5kQ29sb3IsXG4gICAgICB9KSxcbiAgICAgIC4uLigkZXhwYW5kZWQgJiYge1xuICAgICAgICBcIiYgPiAqW3JvbGU9Y2VsbF1cIjoge1xuICAgICAgICAgIGJvcmRlckJvdHRvbTogXCJub25lXCIsXG4gICAgICAgIH0sXG4gICAgICAgIFtgJi4ke3RhYmxlUm93Q2xhc3Nlcy5leHBhbmRlZH1gXToge1xuICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogdGhlbWUuY29sb3JzLmF0bW8xLFxuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgICAuLi4oJHN0cmlwZWQgJiYge1xuICAgICAgICBcIiY6bnRoLW9mLXR5cGUoZXZlbilcIjoge1xuICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogJHN0cmlwZWRDb2xvcixcbiAgICAgICAgICBcIiY6aG92ZXJcIjoge1xuICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS50YWJsZS5yb3dIb3ZlckNvbG9yLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9KSxcblxuICAgICAgLy8gdHlwZVxuICAgICAgLi4uKCR0eXBlID09PSBcImhlYWRcIiAmJiB7XG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogXCJ0cmFuc3BhcmVudFwiLFxuICAgICAgICBcIiY6Zmlyc3Qtb2YtdHlwZVwiOiB7XG4gICAgICAgICAgaGVpZ2h0OiA1MixcbiAgICAgICAgfSxcblxuICAgICAgICBcInRyJjpmaXJzdC1vZi10eXBlXCI6IHtcbiAgICAgICAgICBoZWlnaHQ6IDUyLFxuICAgICAgICB9LFxuICAgICAgfSksXG5cbiAgICAgIC4uLigkdmFyaWFudExpc3QgJiYge1xuICAgICAgICBib3JkZXJCb3R0b206IDAsXG4gICAgICAgIC4uLighJHNlbGVjdGVkICYmIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLmNvbG9ycy5hdG1vMSxcbiAgICAgICAgfSksXG4gICAgICAgIGhlaWdodDogNTIsXG4gICAgICAgIFwiJjpob3ZlclwiOiB7XG4gICAgICAgICAgLi4uZ2V0Qm9yZGVyU3R5bGVzKFwicm93XCIsIHRoZW1lLnRhYmxlLnJvd0hvdmVyQm9yZGVyQ29sb3IpLFxuICAgICAgICB9LFxuICAgICAgICBbYCYuJHt0YWJsZVJvd0NsYXNzZXMuc2VsZWN0ZWR9YF06IHtcbiAgICAgICAgICAuLi5nZXRCb3JkZXJTdHlsZXMoXCJyb3dcIiwgdGhlbWUuY29sb3JzLmFjY2UxKSxcblxuICAgICAgICAgIFwiJjpob3ZlclwiOiB7XG4gICAgICAgICAgICAuLi5nZXRCb3JkZXJTdHlsZXMoXCJyb3dcIiwgdGhlbWUudGFibGUucm93SG92ZXJCb3JkZXJDb2xvciksXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgICAgLi4uKCR2YXJpYW50TGlzdEhlYWQgJiYge1xuICAgICAgICBoZWlnaHQ6IDE2LFxuICAgICAgICBcIiY6Zmlyc3Qtb2YtdHlwZVwiOiB7XG4gICAgICAgICAgaGVpZ2h0OiAxNixcbiAgICAgICAgfSxcblxuICAgICAgICBcInRyJjpmaXJzdC1vZi10eXBlXCI6IHtcbiAgICAgICAgICBoZWlnaHQ6IDE2LFxuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgfSlcbiAgKTtcblxuLyoqXG4gKiBgSHZUYWJsZVJvd2AgYWN0cyBhcyBhIGB0cmAgZWxlbWVudCBhbmQgaW5oZXJpdHMgc3R5bGVzIGZyb20gaXRzIGNvbnRleHRcbiAqL1xuZXhwb3J0IGNvbnN0IEh2VGFibGVSb3cgPSBmb3J3YXJkUmVmPEhUTUxFbGVtZW50LCBIdlRhYmxlUm93UHJvcHM+KFxuICAoXG4gICAge1xuICAgICAgY2xhc3NlcyxcbiAgICAgIGNsYXNzTmFtZSxcbiAgICAgIGNvbXBvbmVudCxcbiAgICAgIGhvdmVyID0gZmFsc2UsXG4gICAgICBzZWxlY3RlZCA9IGZhbHNlLFxuICAgICAgZXhwYW5kZWQgPSBmYWxzZSxcbiAgICAgIHN0cmlwZWQgPSBmYWxzZSxcbiAgICAgIC4uLm90aGVyc1xuICAgIH0sXG4gICAgZXh0ZXJuYWxSZWZcbiAgKSA9PiB7XG4gICAgY29uc3QgeyBhY3RpdmVUaGVtZSwgc2VsZWN0ZWRNb2RlIH0gPSB1c2VUaGVtZSgpO1xuICAgIGNvbnN0IHRhYmxlQ29udGV4dCA9IHVzZUNvbnRleHQoVGFibGVDb250ZXh0KTtcbiAgICBjb25zdCB0YWJsZVNlY3Rpb25Db250ZXh0ID0gdXNlQ29udGV4dChUYWJsZVNlY3Rpb25Db250ZXh0KTtcblxuICAgIGNvbnN0IHR5cGUgPSB0YWJsZVNlY3Rpb25Db250ZXh0Py50eXBlIHx8IFwiYm9keVwiO1xuXG4gICAgY29uc3QgaXNMaXN0ID0gdGFibGVDb250ZXh0LnZhcmlhbnQgPT09IFwibGlzdHJvd1wiO1xuXG4gICAgY29uc3QgQ29tcG9uZW50ID1cbiAgICAgIGNvbXBvbmVudCB8fCB0YWJsZUNvbnRleHQ/LmNvbXBvbmVudHM/LlRyIHx8IGRlZmF1bHRDb21wb25lbnQ7XG5cbiAgICBjb25zdCBUYWJsZVJvdyA9IHVzZU1lbW8oKCkgPT4gU3R5bGVkVGFibGVSb3coQ29tcG9uZW50KSwgW0NvbXBvbmVudF0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUYWJsZVJvd1xuICAgICAgICByZWY9e2V4dGVybmFsUmVmfVxuICAgICAgICBjbGFzc05hbWU9e2Nsc3goXG4gICAgICAgICAgY2xhc3NOYW1lLFxuICAgICAgICAgIHRhYmxlU2VjdGlvbkNvbnRleHQuZmlsdGVyQ2xhc3NOYW1lLFxuICAgICAgICAgIHRhYmxlUm93Q2xhc3Nlcy5yb290LFxuICAgICAgICAgIGNsYXNzZXM/LnJvb3QsXG4gICAgICAgICAgdGFibGVSb3dDbGFzc2VzW3R5cGVdLFxuICAgICAgICAgIGNsYXNzZXM/Llt0eXBlXSxcbiAgICAgICAgICBob3ZlciAmJiBjbHN4KHRhYmxlUm93Q2xhc3Nlcy5ob3ZlciwgY2xhc3Nlcz8uaG92ZXIpLFxuICAgICAgICAgIHNlbGVjdGVkICYmIGNsc3godGFibGVSb3dDbGFzc2VzLnNlbGVjdGVkLCBjbGFzc2VzPy5zZWxlY3RlZCksXG4gICAgICAgICAgZXhwYW5kZWQgJiYgY2xzeCh0YWJsZVJvd0NsYXNzZXMuZXhwYW5kZWQsIGNsYXNzZXM/LmV4cGFuZGVkKSxcbiAgICAgICAgICBzdHJpcGVkICYmIGNsc3godGFibGVSb3dDbGFzc2VzLnN0cmlwZWQsIGNsYXNzZXM/LnN0cmlwZWQpLFxuICAgICAgICAgIGlzTGlzdCAmJlxuICAgICAgICAgICAgdHlwZSA9PT0gXCJib2R5XCIgJiZcbiAgICAgICAgICAgIGNsc3godGFibGVSb3dDbGFzc2VzLnZhcmlhbnRMaXN0LCBjbGFzc2VzPy52YXJpYW50TGlzdCksXG4gICAgICAgICAgaXNMaXN0ICYmXG4gICAgICAgICAgICB0eXBlID09PSBcImhlYWRcIiAmJlxuICAgICAgICAgICAgY2xzeCh0YWJsZVJvd0NsYXNzZXMudmFyaWFudExpc3RIZWFkLCBjbGFzc2VzPy52YXJpYW50TGlzdEhlYWQpXG4gICAgICAgICl9XG4gICAgICAgIHJvbGU9e0NvbXBvbmVudCA9PT0gZGVmYXVsdENvbXBvbmVudCA/IG51bGwgOiBcInJvd1wifVxuICAgICAgICAkaG92ZXI9e2hvdmVyfVxuICAgICAgICAkc2VsZWN0ZWQ9e3NlbGVjdGVkfVxuICAgICAgICAkZXhwYW5kZWQ9e2V4cGFuZGVkfVxuICAgICAgICAkc3RyaXBlZD17c3RyaXBlZH1cbiAgICAgICAgJHZhcmlhbnRMaXN0PXtpc0xpc3QgJiYgdHlwZSA9PT0gXCJib2R5XCJ9XG4gICAgICAgICR2YXJpYW50TGlzdEhlYWQ9e2lzTGlzdCAmJiB0eXBlID09PSBcImhlYWRcIn1cbiAgICAgICAgJHR5cGU9e3R5cGV9XG4gICAgICAgICRzdHJpcGVkQ29sb3I9e2FscGhhKFxuICAgICAgICAgIGhleFRvUmdiKFxuICAgICAgICAgICAgYWN0aXZlVGhlbWU/LmNvbG9ycz8ubW9kZXNbc2VsZWN0ZWRNb2RlXS5hdG1vMSB8fCB0aGVtZS5jb2xvcnMuYXRtbzFcbiAgICAgICAgICApLFxuICAgICAgICAgIDAuNlxuICAgICAgICApfVxuICAgICAgICB7Li4ub3RoZXJzfVxuICAgICAgLz5cbiAgICApO1xuICB9XG4pO1xuIl19 */");
115
122
  const HvTableRow = React.forwardRef(({
116
123
  classes,
117
124
  className,
@@ -1 +1 @@
1
- {"version":3,"file":"TableRow.cjs","sources":["../../../../../src/components/Table/TableRow/TableRow.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport styled from \"@emotion/styled\";\nimport { hexToRgb, alpha } from \"@mui/material\";\nimport { HvBaseProps } from \"../../../types/index\";\nimport { tableRowClasses, HvTableRowClasses } from \".\";\nimport { forwardRef, useContext, useMemo } from \"react\";\nimport TableContext from \"../TableContext\";\nimport { transientOptions } from \"utils/transientOptions\";\nimport TableSectionContext from \"../TableSectionContext\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\nimport { getBorderStyles } from \"../utils/utils\";\nimport { useTheme } from \"hooks\";\n\nexport type HvTableRowProps = Omit<HvBaseProps, \"children\"> & {\n /** Content to be rendered */\n children: React.ReactNode;\n /** The component used for the root node. Either a string to use a HTML element or a component. Defaults to tbody. */\n component?: React.ElementType;\n /** Whether the table row will shade on hover. */\n hover?: boolean;\n /** Whether the table row will have the selected shading. */\n selected?: boolean;\n /** Whether the table row is expanded. */\n expanded?: boolean;\n /** Whether the table row background is striped. */\n striped?: boolean;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvTableRowClasses;\n};\n\nconst defaultComponent = \"tr\";\n\nconst StyledTableRow = (c: any) =>\n styled(\n c,\n transientOptions\n )(\n ({\n $hover,\n $selected,\n $expanded,\n $striped,\n $variantList,\n $variantListHead,\n $stripedColor,\n $type,\n }: {\n $hover: boolean;\n $selected: boolean;\n $expanded: boolean;\n $striped: boolean;\n $variantList: boolean;\n $variantListHead: boolean;\n $type: string;\n $stripedColor: string;\n }) => ({\n backgroundColor: theme.table.rowBackgroundColor,\n \":hover\": {\n ...($type === \"body\" && {\n backgroundColor: theme.table.rowHoverColor,\n }),\n },\n ...($hover && {\n transition: \"background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms\",\n \"&:hover\": {\n backgroundColor: theme.table.rowHoverColor,\n },\n }),\n ...($selected && {\n backgroundColor: theme.table.selectedRowBackgroundColor,\n }),\n ...($expanded && {\n \"& > *[role=cell]\": {\n borderBottom: \"none\",\n },\n [`&.${tableRowClasses.expanded}`]: {\n backgroundColor: theme.colors.atmo1,\n },\n }),\n ...($striped && {\n \"&:nth-of-type(even)\": {\n backgroundColor: $stripedColor,\n \"&:hover\": {\n backgroundColor: theme.table.rowHoverColor,\n },\n },\n }),\n\n // type\n ...($type === \"head\" && {\n backgroundColor: \"transparent\",\n \"&:first-of-type\": {\n height: 52,\n },\n\n \"tr&:first-of-type\": {\n height: 52,\n },\n }),\n\n ...($variantList && {\n borderBottom: 0,\n ...(!$selected && {\n backgroundColor: theme.colors.atmo1,\n }),\n height: 52,\n \"&:hover\": {\n ...getBorderStyles(\"row\", theme.table.rowHoverBorderColor),\n },\n [`&.${tableRowClasses.selected}`]: {\n ...getBorderStyles(\"row\", theme.colors.acce1),\n\n \"&:hover\": {\n ...getBorderStyles(\"row\", theme.table.rowHoverBorderColor),\n },\n },\n }),\n ...($variantListHead && {\n height: 16,\n \"&:first-of-type\": {\n height: 16,\n },\n\n \"tr&:first-of-type\": {\n height: 16,\n },\n }),\n })\n );\n\n/**\n * `HvTableRow` acts as a `tr` element and inherits styles from its context\n */\nexport const HvTableRow = forwardRef<HTMLElement, HvTableRowProps>(\n (\n {\n classes,\n className,\n component,\n hover = false,\n selected = false,\n expanded = false,\n striped = false,\n ...others\n },\n externalRef\n ) => {\n const { activeTheme, selectedMode } = useTheme();\n const tableContext = useContext(TableContext);\n const tableSectionContext = useContext(TableSectionContext);\n\n const type = tableSectionContext?.type || \"body\";\n\n const isList = tableContext.variant === \"listrow\";\n\n const Component =\n component || tableContext?.components?.Tr || defaultComponent;\n\n const TableRow = useMemo(() => StyledTableRow(Component), [Component]);\n\n return (\n <TableRow\n ref={externalRef}\n className={clsx(\n className,\n tableSectionContext.filterClassName,\n tableRowClasses.root,\n classes?.root,\n tableRowClasses[type],\n classes?.[type],\n hover && clsx(tableRowClasses.hover, classes?.hover),\n selected && clsx(tableRowClasses.selected, classes?.selected),\n expanded && clsx(tableRowClasses.expanded, classes?.expanded),\n striped && clsx(tableRowClasses.striped, classes?.striped),\n isList &&\n type === \"body\" &&\n clsx(tableRowClasses.variantList, classes?.variantList),\n isList &&\n type === \"head\" &&\n clsx(tableRowClasses.variantListHead, classes?.variantListHead)\n )}\n role={Component === defaultComponent ? null : \"row\"}\n $hover={hover}\n $selected={selected}\n $expanded={expanded}\n $striped={striped}\n $variantList={isList && type === \"body\"}\n $variantListHead={isList && type === \"head\"}\n $type={type}\n $stripedColor={alpha(\n hexToRgb(\n activeTheme?.colors?.modes[selectedMode].atmo1 || theme.colors.atmo1\n ),\n 0.6\n )}\n {...others}\n />\n );\n }\n);\n"],"names":["defaultComponent","StyledTableRow","c","process","env","NODE_ENV","_extends","target","transientOptions","label","$hover","$selected","$expanded","$striped","$variantList","$variantListHead","$stripedColor","$type","backgroundColor","theme","table","rowBackgroundColor","rowHoverColor","transition","selectedRowBackgroundColor","borderBottom","tableRowClasses","expanded","colors","atmo1","height","getBorderStyles","rowHoverBorderColor","selected","acce1","HvTableRow","forwardRef","classes","className","component","hover","striped","others","externalRef","activeTheme","selectedMode","useTheme","tableContext","useContext","TableContext","tableSectionContext","TableSectionContext","type","isList","variant","Component","components","Tr","TableRow","useMemo","ref","clsx","filterClassName","root","variantList","variantListHead","role","alpha","hexToRgb","modes"],"mappings":"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"}
1
+ {"version":3,"file":"TableRow.cjs","sources":["../../../../../src/components/Table/TableRow/TableRow.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport styled from \"@emotion/styled\";\nimport { hexToRgb, alpha } from \"@mui/material\";\nimport { HvBaseProps } from \"../../../types/index\";\nimport { tableRowClasses, HvTableRowClasses } from \".\";\nimport { forwardRef, useContext, useMemo } from \"react\";\nimport TableContext from \"../TableContext\";\nimport { transientOptions } from \"utils/transientOptions\";\nimport TableSectionContext from \"../TableSectionContext\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\nimport { getBorderStyles } from \"../utils/utils\";\nimport { useTheme } from \"hooks\";\n\nexport type HvTableRowProps = Omit<HvBaseProps, \"children\"> & {\n /** Content to be rendered */\n children: React.ReactNode;\n /** The component used for the root node. Either a string to use a HTML element or a component. Defaults to tbody. */\n component?: React.ElementType;\n /** Whether the table row will shade on hover. */\n hover?: boolean;\n /** Whether the table row will have the selected shading. */\n selected?: boolean;\n /** Whether the table row is expanded. */\n expanded?: boolean;\n /** Whether the table row background is striped. */\n striped?: boolean;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvTableRowClasses;\n};\n\nconst defaultComponent = \"tr\";\n\nconst StyledTableRow = (c: any) =>\n styled(\n c,\n transientOptions\n )(\n ({\n $hover,\n $selected,\n $expanded,\n $striped,\n $variantList,\n $variantListHead,\n $stripedColor,\n $type,\n }: {\n $hover: boolean;\n $selected: boolean;\n $expanded: boolean;\n $striped: boolean;\n $variantList: boolean;\n $variantListHead: boolean;\n $type: string;\n $stripedColor: string;\n }) => ({\n backgroundColor: theme.table.rowBackgroundColor,\n color: \"inherit\",\n verticalAlign: \"middle\",\n outline: 0,\n minHeight: 32,\n \"tr&\": {\n height: 32,\n },\n\n \":hover\": {\n ...($type === \"body\" && {\n backgroundColor: theme.table.rowHoverColor,\n }),\n },\n ...($hover && {\n transition: \"background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms\",\n \"&:hover\": {\n backgroundColor: theme.table.rowHoverColor,\n },\n }),\n ...($selected && {\n backgroundColor: theme.table.selectedRowBackgroundColor,\n }),\n ...($expanded && {\n \"& > *[role=cell]\": {\n borderBottom: \"none\",\n },\n [`&.${tableRowClasses.expanded}`]: {\n backgroundColor: theme.colors.atmo1,\n },\n }),\n ...($striped && {\n \"&:nth-of-type(even)\": {\n backgroundColor: $stripedColor,\n \"&:hover\": {\n backgroundColor: theme.table.rowHoverColor,\n },\n },\n }),\n\n // type\n ...($type === \"head\" && {\n backgroundColor: \"transparent\",\n \"&:first-of-type\": {\n height: 52,\n },\n\n \"tr&:first-of-type\": {\n height: 52,\n },\n }),\n\n ...($variantList && {\n borderBottom: 0,\n ...(!$selected && {\n backgroundColor: theme.colors.atmo1,\n }),\n height: 52,\n \"&:hover\": {\n ...getBorderStyles(\"row\", theme.table.rowHoverBorderColor),\n },\n [`&.${tableRowClasses.selected}`]: {\n ...getBorderStyles(\"row\", theme.colors.acce1),\n\n \"&:hover\": {\n ...getBorderStyles(\"row\", theme.table.rowHoverBorderColor),\n },\n },\n }),\n ...($variantListHead && {\n height: 16,\n \"&:first-of-type\": {\n height: 16,\n },\n\n \"tr&:first-of-type\": {\n height: 16,\n },\n }),\n })\n );\n\n/**\n * `HvTableRow` acts as a `tr` element and inherits styles from its context\n */\nexport const HvTableRow = forwardRef<HTMLElement, HvTableRowProps>(\n (\n {\n classes,\n className,\n component,\n hover = false,\n selected = false,\n expanded = false,\n striped = false,\n ...others\n },\n externalRef\n ) => {\n const { activeTheme, selectedMode } = useTheme();\n const tableContext = useContext(TableContext);\n const tableSectionContext = useContext(TableSectionContext);\n\n const type = tableSectionContext?.type || \"body\";\n\n const isList = tableContext.variant === \"listrow\";\n\n const Component =\n component || tableContext?.components?.Tr || defaultComponent;\n\n const TableRow = useMemo(() => StyledTableRow(Component), [Component]);\n\n return (\n <TableRow\n ref={externalRef}\n className={clsx(\n className,\n tableSectionContext.filterClassName,\n tableRowClasses.root,\n classes?.root,\n tableRowClasses[type],\n classes?.[type],\n hover && clsx(tableRowClasses.hover, classes?.hover),\n selected && clsx(tableRowClasses.selected, classes?.selected),\n expanded && clsx(tableRowClasses.expanded, classes?.expanded),\n striped && clsx(tableRowClasses.striped, classes?.striped),\n isList &&\n type === \"body\" &&\n clsx(tableRowClasses.variantList, classes?.variantList),\n isList &&\n type === \"head\" &&\n clsx(tableRowClasses.variantListHead, classes?.variantListHead)\n )}\n role={Component === defaultComponent ? null : \"row\"}\n $hover={hover}\n $selected={selected}\n $expanded={expanded}\n $striped={striped}\n $variantList={isList && type === \"body\"}\n $variantListHead={isList && type === \"head\"}\n $type={type}\n $stripedColor={alpha(\n hexToRgb(\n activeTheme?.colors?.modes[selectedMode].atmo1 || theme.colors.atmo1\n ),\n 0.6\n )}\n {...others}\n />\n );\n }\n);\n"],"names":["defaultComponent","StyledTableRow","c","process","env","NODE_ENV","_extends","target","transientOptions","label","$hover","$selected","$expanded","$striped","$variantList","$variantListHead","$stripedColor","$type","backgroundColor","theme","table","rowBackgroundColor","color","verticalAlign","outline","minHeight","height","rowHoverColor","transition","selectedRowBackgroundColor","borderBottom","tableRowClasses","expanded","colors","atmo1","getBorderStyles","rowHoverBorderColor","selected","acce1","HvTableRow","forwardRef","classes","className","component","hover","striped","others","externalRef","activeTheme","selectedMode","useTheme","tableContext","useContext","TableContext","tableSectionContext","TableSectionContext","type","isList","variant","Component","components","Tr","TableRow","useMemo","ref","clsx","filterClassName","root","variantList","variantListHead","role","alpha","hexToRgb","modes"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"TagsInput.cjs","sources":["../../../../src/components/TagsInput/TagsInput.tsx"],"sourcesContent":["import React, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport clsx from \"clsx\";\nimport isNil from \"lodash/isNil\";\nimport { HvValidationMessages } from \"types/forms\";\nimport { HvBaseProps } from \"../../types\";\nimport {\n StyledCharCounter,\n StyledDescription,\n StyledError,\n StyledFormElement,\n StyledLabel,\n StyledLabelContainer,\n StyledListItem,\n StyledTag,\n StyledTagsList,\n StyledInputListItem,\n StyledInput,\n StyledSuggestions,\n} from \"./TagsInput.styles\";\nimport validationStates from \"../Forms/FormElement/validationStates\";\nimport { DEFAULT_ERROR_MESSAGES } from \"../BaseInput/validations\";\nimport { useControlled, useIsMounted, useUniqueId } from \"hooks\";\nimport { isKeypress, keyboardCodes, setId } from \"utils\";\nimport { HvTagProps } from \"components\";\nimport tagsInputClasses, { HvTagsInputClasses } from \"./tagsInputClasses\";\nimport { HvCharCounterProps, HvFormStatus } from \"../Forms\";\nimport { InputBaseComponentProps as MuiInputBaseComponentProps } from \"@mui/material\";\n\nexport type HvTagsInputProps = HvBaseProps<\n HTMLElement,\n { onChange; onBlur; onFocus; onKeyDown; color }\n> & {\n /** The form element name. */\n name?: string;\n /** The value of the form element. */\n value?: string[] | HvTagProps[];\n /** When uncontrolled, defines the initial input value. */\n defaultValue?: string[] | HvTagProps[];\n /**\n * The label of the form element.\n * The form element must be labeled for accessibility reasons.\n * If not provided, an aria-label or aria-labelledby must be inputted via inputProps.\n */\n label?: React.ReactNode;\n /** Provide additional descriptive text for the form element. */\n description?: React.ReactNode;\n /** Indicates that the form element is disabled. */\n disabled?: boolean;\n /** Indicates that the form element is not editable. */\n readOnly?: boolean;\n /** Indicates that the form element is required. */\n required?: boolean;\n /** The function that will be executed onChange. */\n onChange?: (\n event:\n | React.ChangeEvent<HTMLInputElement>\n | React.KeyboardEvent<HTMLInputElement>\n | React.MouseEvent<HTMLButtonElement>\n | React.MouseEvent<HTMLElement, MouseEvent>\n | React.KeyboardEventHandler<HTMLElement>,\n value: HvTagProps[]\n ) => void;\n /** The function that will be executed when the element is focused. */\n onFocus?: (event: React.FocusEvent<HTMLInputElement>, value: string) => void;\n /** The function that will be executed when the element is blurred. */\n onBlur?: (event: React.FocusEvent<HTMLInputElement>, value: string) => void;\n /** The function that will be executed when a tag is deleted. */\n onDelete?: (\n event:\n | React.ChangeEvent<HTMLInputElement>\n | React.KeyboardEvent<HTMLInputElement>\n | React.MouseEvent<HTMLButtonElement>\n | React.MouseEvent<HTMLElement, MouseEvent>\n | React.KeyboardEventHandler<HTMLElement>,\n value: HvTagProps,\n index: number\n ) => void;\n /** The function that will be executed when a tag is added. */\n onAdd?: (\n event:\n | React.ChangeEvent<HTMLInputElement>\n | React.KeyboardEvent<HTMLInputElement>\n | React.MouseEvent<HTMLButtonElement>\n | React.MouseEvent<HTMLElement, MouseEvent>\n | React.KeyboardEventHandler<HTMLElement>,\n value: HvTagProps,\n index: number\n ) => void;\n /** The placeholder value of the input. */\n placeholder?: string;\n /** If `true` the character counter isn't shown even if maxTagsQuantity is set. */\n hideCounter?: boolean;\n /** Text between the current char counter and max value. */\n middleCountLabel?: string;\n /** The maximum allowed length of the characters, if this value is null no check will be performed. */\n maxTagsQuantity?: number;\n /** Attributes applied to the input element. */\n inputProps?: MuiInputBaseComponentProps;\n /** If `true` it should autofocus. */\n autoFocus?: boolean;\n /** If `true` the component is resizable. */\n resizable?: boolean;\n /** Props passed to the HvCharCount component. */\n countCharProps?: Partial<HvCharCounterProps>;\n /** If `true` the component is in multiline mode. */\n multiline?: boolean;\n /** The status of the form element. */\n status?: HvFormStatus;\n /** The error message to show when `status` is \"invalid\". */\n statusMessage?: React.ReactNode;\n /** An Object containing the various texts associated with the input. */\n validationMessages?: HvValidationMessages;\n /** An array of strings that represent the character used to input a tag. This character is the string representation of the event.code from the input event. */\n commitTagOn?: string[];\n /** If `true` the tag will be committed when the blur event occurs. */\n commitOnBlur?: boolean;\n /** The function that will be executed to received an array of objects that has a label and id to create list of suggestion */\n suggestionListCallback?: Function;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvTagsInputClasses;\n};\n\n/**\n * A tags input is a single or multiline control that allows the input of tags.\n */\nexport const HvTagsInput = ({\n classes,\n className,\n id,\n name,\n value: valueProp,\n defaultValue = [],\n readOnly = false,\n disabled = false,\n required = false,\n label: textAreaLabel,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n description,\n \"aria-describedby\": ariaDescribedBy,\n onChange,\n onAdd,\n onDelete,\n onBlur,\n onFocus,\n placeholder,\n hideCounter = false,\n middleCountLabel = \"/\",\n maxTagsQuantity,\n autoFocus = false,\n resizable = true,\n inputProps = {},\n countCharProps = {},\n multiline = false,\n status,\n statusMessage,\n validationMessages,\n commitTagOn = [\"Enter\"],\n commitOnBlur = false,\n suggestionListCallback,\n ...others\n}: HvTagsInputProps) => {\n const elementId = useUniqueId(id, \"hvTagsInput\");\n\n const hasLabel = textAreaLabel != null;\n const hasDescription = description != null;\n\n const [value, setValue] = useControlled(valueProp, defaultValue);\n\n const [validationState, setValidationState] = useControlled(\n status,\n validationStates.standBy\n );\n const [validationMessage, setValidationMessage] = useControlled(\n statusMessage,\n \"\"\n );\n\n const [tagInput, setTagInput] = useState(\"\");\n const [tagCursorPos, setTagCursorPos] = useState(value.length);\n const [stateValid, setStateValid] = useState(true);\n\n const inputRef = useRef<any>();\n const containerRef = useRef<any>();\n const skipReset = useRef(false);\n const blurTimeout = useRef<any>();\n const materialInputRef = useRef<any>(null);\n\n const isTagSelected = tagCursorPos >= 0 && tagCursorPos < value.length;\n const hasCounter = maxTagsQuantity != null && !hideCounter;\n\n // suggestions related state\n const [suggestionValues, setSuggestionValues] = useState(null);\n\n const isStateInvalid = useMemo(() => {\n return hasCounter && value.length > maxTagsQuantity;\n }, [hasCounter, maxTagsQuantity, value.length]);\n\n const canShowSuggestions = suggestionListCallback != null;\n const hasSuggestions = !!suggestionValues;\n\n const errorMessages = useMemo(\n () => ({ ...DEFAULT_ERROR_MESSAGES, ...validationMessages }),\n [\n validationMessages?.error,\n validationMessages?.requiredError,\n validationMessages?.minCharError,\n validationMessages?.maxCharError,\n ]\n );\n\n const performValidation = useCallback(\n (currValue) => {\n if (\n maxTagsQuantity !== null &&\n maxTagsQuantity !== undefined &&\n currValue.length > maxTagsQuantity\n ) {\n setValidationState(validationStates.invalid);\n setValidationMessage(errorMessages.maxCharError);\n setStateValid(false);\n } else {\n setValidationState(validationStates.valid);\n setValidationMessage(\"\");\n setStateValid(true);\n }\n },\n [\n errorMessages.maxCharError,\n maxTagsQuantity,\n setValidationMessage,\n setValidationState,\n ]\n );\n\n /**\n * Deletes a Tag from the array of tags and sets the new position for the tag cursor.\n * Also executes the user provided onDelete and onChange events.\n *\n * @param {number} tagPos - the position at which to remove the tag\n * @param {Event} event - the event associated with the delete\n * @param {boolean} end - whether or not to set the cursor at the end of the array\n */\n const deleteTag = useCallback(\n (tagPos, event, end) => {\n const newTagsArr = [\n ...value.slice(0, tagPos),\n ...value.slice(tagPos + 1),\n ];\n setValue(newTagsArr);\n setTagCursorPos(\n end ? newTagsArr.length : tagCursorPos > 0 ? tagCursorPos - 1 : 0\n );\n inputRef.current?.focus();\n performValidation(newTagsArr);\n onDelete?.(event, value[tagPos], tagPos);\n onChange?.(event, newTagsArr);\n skipReset.current = true;\n },\n [onChange, onDelete, performValidation, setValue, tagCursorPos, value]\n );\n\n /**\n * Adds a Tag to the array of tags.\n * Also executes the user provided onAdd and onDelete events.\n *\n * @param {Event} event - whatever event triggered adding a tag\n * @param {string} tag - the string for the tag\n */\n const addTag = useCallback(\n (event, tag) => {\n event.preventDefault();\n if (tag !== \"\") {\n const newTag: HvTagProps = { label: tag, type: \"semantic\" };\n const newTagsArr = [...value, newTag];\n setValue(newTagsArr);\n performValidation(newTagsArr);\n onAdd?.(event, newTag, newTagsArr.length - 1);\n onChange?.(event, newTagsArr);\n }\n },\n [onAdd, onChange, performValidation, setValue, value]\n );\n\n const canShowError =\n (status !== undefined &&\n status === \"invalid\" &&\n statusMessage !== undefined) ||\n !stateValid;\n\n useEffect(() => {\n if (!multiline) {\n const element = containerRef?.current?.children[tagCursorPos];\n // this setTimeout is a workaround for Firefox not properly dealing\n // with setting the scrollLeft value.\n setTimeout(() => {\n const container = containerRef.current;\n if (isNil(container)) return;\n container.scrollLeft = element\n ? element.offsetLeft -\n container.getBoundingClientRect().width / 2 +\n element.getBoundingClientRect().width / 2\n : 0;\n }, 50);\n\n element?.focus();\n }\n }, [multiline, tagCursorPos]);\n\n useEffect(() => {\n if (!skipReset.current) {\n setTagInput(\"\");\n setTagCursorPos(value.length);\n }\n skipReset.current = false;\n }, [value]);\n\n const isMounted = useIsMounted();\n\n /**\n * Looks for the node that represent the input inside the material tree and focus it.\n */\n const focusInput = () => {\n materialInputRef.current.focus();\n };\n\n const getSuggestions = useCallback(\n (li) => {\n // TODO Replace with ref\n const listEl = document.getElementById(\n setId(elementId, \"suggestions-list\") || \"\"\n );\n return li != null ? listEl?.getElementsByTagName(\"li\")?.[li] : listEl;\n },\n [elementId]\n );\n\n /**\n * Clears the suggestion array.\n */\n const suggestionClearHandler = useCallback(() => {\n if (isMounted.current) {\n setSuggestionValues(null);\n }\n }, [isMounted]);\n\n /**\n * Fills of the suggestion array.\n */\n const suggestionHandler = useCallback(\n (val) => {\n const suggestionsArray = suggestionListCallback?.(val);\n if (suggestionsArray?.[0]?.label) {\n setSuggestionValues(suggestionsArray);\n } else {\n suggestionClearHandler();\n }\n },\n [suggestionClearHandler, suggestionListCallback]\n );\n\n /**\n * Executes the user callback adds the selection to the state and clears the suggestions.\n */\n const suggestionSelectedHandler = (event, item) => {\n addTag(event, item.value || item.label);\n\n // set the input value (only when value is uncontrolled)\n setTagInput(item.value || item.label);\n\n focusInput();\n suggestionClearHandler();\n };\n\n /**\n * Handler for the `onKeyDown` event on the suggestions component\n */\n const onSuggestionKeyDown = (event) => {\n if (isKeypress(event, keyboardCodes.Esc)) {\n suggestionClearHandler();\n focusInput();\n } else if (isKeypress(event, keyboardCodes.Tab)) {\n suggestionClearHandler();\n }\n };\n\n /**\n * Handler for the `onChange` event on the tag input\n */\n const onChangeHandler = useCallback(\n (_, input) => {\n setTagInput(input);\n\n if (canShowSuggestions) {\n // an edge case might be a controlled input whose onChange callback\n // doesn't change the value (or sets another): the suggestionListCallback\n // callback will still receive the original rejected value.\n // a refactor is needed so the suggestionListCallback might be called only\n // when the input is uncontrolled, providing a way to externally control\n // the suggestion values.\n suggestionHandler(input);\n }\n },\n [canShowSuggestions, suggestionHandler]\n );\n\n /**\n * Handler for the `onKeyDown` event on the form element\n */\n const onInputKeyDownHandler = useCallback(\n (event) => {\n if (!canShowSuggestions && commitTagOn.includes(event.code)) {\n addTag(event, tagInput);\n }\n },\n [addTag, canShowSuggestions, commitTagOn, tagInput]\n );\n\n /**\n * Handler for the `onKeyDown` event on the list container.\n */\n const onKeyDownHandler = useCallback(\n (event) => {\n if (tagInput === \"\") {\n switch (event.code) {\n case \"ArrowLeft\":\n setTagCursorPos(tagCursorPos > 0 ? tagCursorPos - 1 : 0);\n break;\n case \"ArrowRight\":\n setTagCursorPos(\n tagCursorPos < value.length ? tagCursorPos + 1 : value.length\n );\n break;\n case \"Backspace\":\n if (isTagSelected) {\n deleteTag(tagCursorPos, event, false);\n } else {\n setTagCursorPos(value.length - 1);\n }\n break;\n case \"Delete\":\n if (isTagSelected) {\n deleteTag(tagCursorPos, event, false);\n }\n break;\n default:\n break;\n }\n } else {\n switch (event.code) {\n case \"ArrowDown\":\n getSuggestions(0)?.focus();\n break;\n default:\n break;\n }\n }\n },\n [\n deleteTag,\n getSuggestions,\n isTagSelected,\n tagCursorPos,\n tagInput,\n value.length,\n ]\n );\n\n /**\n * Handler for the `onDelete` event on the tag component\n */\n const onDeleteTagHandler = useCallback(\n (event, i) => {\n deleteTag(i, event, true);\n setValidationState(validationStates.standBy);\n },\n [deleteTag, setValidationState]\n );\n\n /**\n * Handler for the `onClick` event on the list container\n */\n const onContainerClickHandler = useCallback(() => {\n inputRef.current?.focus();\n clearTimeout(blurTimeout.current);\n setTagCursorPos(value.length);\n }, [value.length]);\n\n const onBlurHandler = (evt) => {\n blurTimeout.current = setTimeout(() => {\n if (commitOnBlur) {\n addTag(evt, tagInput);\n }\n onBlur?.(evt, tagInput);\n }, 250);\n };\n\n const onFocusHandler = (evt) => {\n clearTimeout(blurTimeout.current);\n onFocus?.(evt, tagInput);\n };\n\n return (\n <StyledFormElement\n id={id}\n name={name}\n disabled={disabled}\n readOnly={readOnly}\n status={validationState}\n required={required}\n onBlur={onBlurHandler}\n onFocus={onFocusHandler}\n className={clsx(\n tagsInputClasses.root,\n classes?.root,\n className,\n disabled && clsx(tagsInputClasses.disabled, classes?.disabled)\n )}\n >\n {(hasLabel || hasDescription) && (\n <StyledLabelContainer\n className={clsx(\n tagsInputClasses.labelContainer,\n classes?.labelContainer\n )}\n >\n {hasLabel && (\n <StyledLabel\n className={clsx(tagsInputClasses.label, classes?.label)}\n id={setId(id, \"label\")}\n htmlFor={setId(elementId, \"input\")}\n label={textAreaLabel}\n />\n )}\n\n {hasDescription && (\n <StyledDescription\n className={clsx(\n tagsInputClasses.description,\n classes?.description\n )}\n id={setId(elementId, \"description\")}\n >\n {description}\n </StyledDescription>\n )}\n </StyledLabelContainer>\n )}\n\n {hasCounter && (\n <StyledCharCounter\n id={setId(elementId, \"charCounter\")}\n className={clsx(\n tagsInputClasses.characterCounter,\n classes?.characterCounter\n )}\n separator={middleCountLabel}\n currentCharQuantity={value.length}\n maxCharQuantity={maxTagsQuantity}\n {...countCharProps}\n />\n )}\n\n <StyledTagsList\n className={clsx(\n tagsInputClasses.tagsList,\n classes?.tagsList,\n canShowError && clsx(tagsInputClasses.error, classes?.error),\n resizable &&\n multiline &&\n clsx(tagsInputClasses.resizable, classes?.resizable),\n isStateInvalid && clsx(tagsInputClasses.invalid, classes?.invalid),\n !multiline && clsx(tagsInputClasses.singleLine, classes?.singleLine)\n )}\n $disabled={disabled}\n $singleLine={!multiline}\n $error={canShowError}\n $resizable={resizable && multiline}\n $invalid={isStateInvalid}\n $readOnly={readOnly}\n onKeyDown={onKeyDownHandler}\n onClick={onContainerClickHandler}\n ref={containerRef}\n >\n {value &&\n value.map((t, i) => {\n const tag =\n typeof t === \"string\"\n ? {\n label: t,\n type: \"semantic\",\n }\n : t;\n const { label, type, ...otherProps } = tag;\n return (\n <StyledListItem\n key={`${tag.label}-${i}`}\n tabIndex={-1}\n className={clsx(\n !multiline &&\n clsx(tagsInputClasses.singleLine, classes?.singleLine)\n )}\n classes={{\n gutters: clsx(\n tagsInputClasses.listItemGutters,\n classes?.listItemGutters\n ),\n root: clsx(\n tagsInputClasses.listItemRoot,\n classes?.listItemRoot\n ),\n }}\n id={`tag-${i}`}\n $singleLine={!multiline}\n >\n <StyledTag\n label={label}\n className={clsx(\n i === tagCursorPos &&\n clsx(tagsInputClasses.tagSelected, classes?.tagSelected)\n )}\n classes={{\n chipRoot: clsx(\n tagsInputClasses.chipRoot,\n classes?.chipRoot\n ),\n }}\n type={type}\n {...(!(readOnly || disabled || type === \"categorical\") && {\n onDelete: (event) => onDeleteTagHandler(event, i),\n })}\n deleteButtonProps={{\n tabIndex: -1,\n }}\n $selected={i === tagCursorPos}\n {...otherProps}\n />\n </StyledListItem>\n );\n })}\n {!(disabled || readOnly) && (\n <StyledInputListItem\n className={clsx(\n !multiline &&\n clsx(\n tagsInputClasses.singleLine,\n classes?.singleLine,\n value.length === 0 &&\n clsx(\n tagsInputClasses.tagInputRootEmpty,\n classes?.tagInputRootEmpty\n )\n )\n )}\n classes={{\n root: clsx(\n tagsInputClasses.tagInputContainerRoot,\n classes?.tagInputContainerRoot\n ),\n gutters: clsx(\n tagsInputClasses.listItemGutters,\n classes?.listItemGutters\n ),\n }}\n id={`tag-${value.length}`}\n $singleLine={!multiline}\n $isTagSelected={!!isTagSelected}\n >\n <StyledInput\n value={tagInput}\n disableClear\n onChange={onChangeHandler}\n onKeyDown={onInputKeyDownHandler}\n placeholder={value.length === 0 ? placeholder : \"\"}\n autoFocus={autoFocus}\n className={clsx(\n !multiline &&\n clsx(tagsInputClasses.singleLine, classes?.singleLine)\n )}\n classes={{\n root: clsx(\n tagsInputClasses.tagInputRoot,\n classes?.tagInputRoot\n ),\n input: clsx(tagsInputClasses.input, classes?.input),\n inputBorderContainer: clsx(\n tagsInputClasses.tagInputBorderContainer,\n classes?.tagInputBorderContainer\n ),\n inputRootFocused: clsx(\n tagsInputClasses.tagInputRootFocused,\n classes?.tagInputRootFocused\n ),\n }}\n disabled={disabled}\n readOnly={readOnly || isTagSelected}\n inputProps={{\n ref: materialInputRef,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-describedby\":\n ariaDescribedBy != null\n ? ariaDescribedBy\n : (description && setId(elementId, \"description\")) ||\n undefined,\n\n ...inputProps,\n }}\n inputRef={inputRef}\n $singleLine={!multiline}\n {...others}\n />\n </StyledInputListItem>\n )}\n </StyledTagsList>\n {canShowSuggestions && (\n <>\n {hasSuggestions && (\n <div\n role=\"presentation\"\n className={clsx(\n tagsInputClasses.inputExtension,\n classes?.inputExtension\n )}\n />\n )}\n <StyledSuggestions\n id={setId(elementId, \"suggestions\")}\n classes={{\n root: clsx(\n tagsInputClasses.suggestionsContainer,\n classes?.suggestionsContainer\n ),\n list: clsx(\n tagsInputClasses.suggestionList,\n classes?.suggestionList\n ),\n }}\n expanded={hasSuggestions}\n anchorEl={containerRef?.current?.parentElement}\n onClose={suggestionClearHandler}\n onKeyDown={onSuggestionKeyDown}\n onSuggestionSelected={suggestionSelectedHandler}\n suggestionValues={suggestionValues}\n />\n </>\n )}\n {canShowError && (\n <StyledError\n id={setId(elementId, \"error\")}\n disableBorder\n className={clsx(tagsInputClasses.error, classes?.error)}\n >\n {validationMessage}\n </StyledError>\n )}\n </StyledFormElement>\n );\n};\n"],"names":["HvTagsInput","classes","className","id","name","value","valueProp","defaultValue","readOnly","disabled","required","label","textAreaLabel","ariaLabel","ariaLabelledBy","description","ariaDescribedBy","onChange","onAdd","onDelete","onBlur","onFocus","placeholder","hideCounter","middleCountLabel","maxTagsQuantity","autoFocus","resizable","inputProps","countCharProps","multiline","status","statusMessage","validationMessages","commitTagOn","commitOnBlur","suggestionListCallback","others","elementId","useUniqueId","hasLabel","hasDescription","setValue","useControlled","validationState","setValidationState","validationStates","standBy","validationMessage","setValidationMessage","tagInput","setTagInput","useState","tagCursorPos","setTagCursorPos","length","stateValid","setStateValid","inputRef","useRef","containerRef","skipReset","blurTimeout","materialInputRef","isTagSelected","hasCounter","suggestionValues","setSuggestionValues","isStateInvalid","useMemo","canShowSuggestions","hasSuggestions","errorMessages","DEFAULT_ERROR_MESSAGES","error","requiredError","minCharError","maxCharError","performValidation","useCallback","currValue","undefined","invalid","valid","deleteTag","tagPos","event","end","newTagsArr","slice","current","focus","addTag","tag","preventDefault","newTag","type","canShowError","useEffect","element","children","setTimeout","container","isNil","scrollLeft","offsetLeft","getBoundingClientRect","width","isMounted","useIsMounted","focusInput","getSuggestions","li","listEl","document","getElementById","setId","getElementsByTagName","suggestionClearHandler","suggestionHandler","val","suggestionsArray","suggestionSelectedHandler","item","onSuggestionKeyDown","isKeypress","keyboardCodes","Esc","Tab","onChangeHandler","_","input","onInputKeyDownHandler","includes","code","onKeyDownHandler","_a","onDeleteTagHandler","i","onContainerClickHandler","clearTimeout","onBlurHandler","evt","onFocusHandler","StyledFormElement","clsx","tagsInputClasses","root","StyledLabelContainer","labelContainer","_jsx","StyledLabel","htmlFor","StyledDescription","StyledCharCounter","characterCounter","separator","currentCharQuantity","maxCharQuantity","_jsxs","StyledTagsList","tagsList","singleLine","$disabled","$singleLine","$error","$resizable","$invalid","$readOnly","onKeyDown","onClick","ref","map","t","otherProps","StyledListItem","tabIndex","gutters","listItemGutters","listItemRoot","StyledTag","tagSelected","chipRoot","deleteButtonProps","$selected","StyledInputListItem","tagInputRootEmpty","tagInputContainerRoot","$isTagSelected","StyledInput","disableClear","tagInputRoot","inputBorderContainer","tagInputBorderContainer","inputRootFocused","tagInputRootFocused","_Fragment","role","inputExtension","StyledSuggestions","suggestionsContainer","list","suggestionList","expanded","anchorEl","parentElement","onClose","onSuggestionSelected","StyledError","disableBorder"],"mappings":"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"}
1
+ {"version":3,"file":"TagsInput.cjs","sources":["../../../../src/components/TagsInput/TagsInput.tsx"],"sourcesContent":["import React, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport clsx from \"clsx\";\nimport isNil from \"lodash/isNil\";\nimport {\n HvBaseProps,\n HvTagSuggestion,\n HvValidationMessages,\n} from \"../../types\";\nimport {\n StyledCharCounter,\n StyledDescription,\n StyledError,\n StyledFormElement,\n StyledLabel,\n StyledLabelContainer,\n StyledListItem,\n StyledTag,\n StyledTagsList,\n StyledInputListItem,\n StyledInput,\n StyledSuggestions,\n} from \"./TagsInput.styles\";\nimport validationStates from \"../Forms/FormElement/validationStates\";\nimport { DEFAULT_ERROR_MESSAGES } from \"../BaseInput/validations\";\nimport { useControlled, useIsMounted, useUniqueId } from \"../../hooks\";\nimport { isKeypress, keyboardCodes, setId } from \"../../utils\";\nimport { HvTagProps } from \"../Tag\";\nimport tagsInputClasses, { HvTagsInputClasses } from \"./tagsInputClasses\";\nimport { HvCharCounterProps, HvFormStatus } from \"../Forms\";\nimport { InputBaseComponentProps as MuiInputBaseComponentProps } from \"@mui/material\";\n\nexport type HvTagsInputProps = HvBaseProps<\n HTMLElement,\n { onChange; onBlur; onFocus; onKeyDown; color }\n> & {\n /** The form element name. */\n name?: string;\n /** The value of the form element. */\n value?: string[] | HvTagProps[];\n /** When uncontrolled, defines the initial input value. */\n defaultValue?: string[] | HvTagProps[];\n /**\n * The label of the form element.\n * The form element must be labeled for accessibility reasons.\n * If not provided, an aria-label or aria-labelledby must be inputted via inputProps.\n */\n label?: React.ReactNode;\n /** Provide additional descriptive text for the form element. */\n description?: React.ReactNode;\n /** Indicates that the form element is disabled. */\n disabled?: boolean;\n /** Indicates that the form element is not editable. */\n readOnly?: boolean;\n /** Indicates that the form element is required. */\n required?: boolean;\n /** The function that will be executed onChange. */\n onChange?: (\n event:\n | React.ChangeEvent<HTMLInputElement>\n | React.KeyboardEvent<HTMLInputElement>\n | React.MouseEvent<HTMLButtonElement>\n | React.MouseEvent<HTMLElement, MouseEvent>\n | React.KeyboardEventHandler<HTMLElement>,\n value: HvTagProps[]\n ) => void;\n /** The function that will be executed when the element is focused. */\n onFocus?: (event: React.FocusEvent<HTMLInputElement>, value: string) => void;\n /** The function that will be executed when the element is blurred. */\n onBlur?: (event: React.FocusEvent<HTMLInputElement>, value: string) => void;\n /** The function that will be executed when a tag is deleted. */\n onDelete?: (\n event:\n | React.ChangeEvent<HTMLInputElement>\n | React.KeyboardEvent<HTMLInputElement>\n | React.MouseEvent<HTMLButtonElement>\n | React.MouseEvent<HTMLElement, MouseEvent>\n | React.KeyboardEventHandler<HTMLElement>,\n value: HvTagProps,\n index: number\n ) => void;\n /** The function that will be executed when a tag is added. */\n onAdd?: (\n event:\n | React.ChangeEvent<HTMLInputElement>\n | React.KeyboardEvent<HTMLInputElement>\n | React.MouseEvent<HTMLButtonElement>\n | React.MouseEvent<HTMLElement, MouseEvent>\n | React.KeyboardEventHandler<HTMLElement>,\n value: HvTagProps,\n index: number\n ) => void;\n /** The placeholder value of the input. */\n placeholder?: string;\n /** If `true` the character counter isn't shown even if maxTagsQuantity is set. */\n hideCounter?: boolean;\n /** Text between the current char counter and max value. */\n middleCountLabel?: string;\n /** The maximum allowed length of the characters, if this value is null no check will be performed. */\n maxTagsQuantity?: number;\n /** Attributes applied to the input element. */\n inputProps?: MuiInputBaseComponentProps;\n /** If `true` it should autofocus. */\n autoFocus?: boolean;\n /** If `true` the component is resizable. */\n resizable?: boolean;\n /** Props passed to the HvCharCount component. */\n countCharProps?: Partial<HvCharCounterProps>;\n /** If `true` the component is in multiline mode. */\n multiline?: boolean;\n /** The status of the form element. */\n status?: HvFormStatus;\n /** The error message to show when `status` is \"invalid\". */\n statusMessage?: React.ReactNode;\n /** An Object containing the various texts associated with the input. */\n validationMessages?: HvValidationMessages;\n /** An array of strings that represent the character used to input a tag. This character is the string representation of the event.code from the input event. */\n commitTagOn?: string[];\n /** If `true` the tag will be committed when the blur event occurs. */\n commitOnBlur?: boolean;\n /** The function that will be executed to received an array of objects that has a label and id to create list of suggestion */\n suggestionListCallback?: (value: string) => HvTagSuggestion[] | null;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvTagsInputClasses;\n};\n\n/**\n * A tags input is a single or multiline control that allows the input of tags.\n */\nexport const HvTagsInput = ({\n classes,\n className,\n id,\n name,\n value: valueProp,\n defaultValue = [],\n readOnly = false,\n disabled = false,\n required = false,\n label: textAreaLabel,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n description,\n \"aria-describedby\": ariaDescribedBy,\n onChange,\n onAdd,\n onDelete,\n onBlur,\n onFocus,\n placeholder,\n hideCounter = false,\n middleCountLabel = \"/\",\n maxTagsQuantity,\n autoFocus = false,\n resizable = true,\n inputProps = {},\n countCharProps = {},\n multiline = false,\n status,\n statusMessage,\n validationMessages,\n commitTagOn = [\"Enter\"],\n commitOnBlur = false,\n suggestionListCallback,\n ...others\n}: HvTagsInputProps) => {\n const elementId = useUniqueId(id, \"hvTagsInput\");\n\n const hasLabel = textAreaLabel != null;\n const hasDescription = description != null;\n\n const [value, setValue] = useControlled(valueProp, defaultValue);\n\n const [validationState, setValidationState] = useControlled(\n status,\n validationStates.standBy\n );\n const [validationMessage, setValidationMessage] = useControlled(\n statusMessage,\n \"\"\n );\n\n const [tagInput, setTagInput] = useState(\"\");\n const [tagCursorPos, setTagCursorPos] = useState(value.length);\n const [stateValid, setStateValid] = useState(true);\n\n const inputRef = useRef<any>();\n const containerRef = useRef<any>();\n const skipReset = useRef(false);\n const blurTimeout = useRef<any>();\n const materialInputRef = useRef<any>(null);\n\n const isTagSelected = tagCursorPos >= 0 && tagCursorPos < value.length;\n const hasCounter = maxTagsQuantity != null && !hideCounter;\n\n // suggestions related state\n const [suggestionValues, setSuggestionValues] = useState<\n HvTagSuggestion[] | null\n >(null);\n\n const isStateInvalid = useMemo(() => {\n return hasCounter && value.length > maxTagsQuantity;\n }, [hasCounter, maxTagsQuantity, value.length]);\n\n const canShowSuggestions = suggestionListCallback != null;\n const hasSuggestions = !!suggestionValues;\n\n const errorMessages = useMemo(\n () => ({ ...DEFAULT_ERROR_MESSAGES, ...validationMessages }),\n [\n validationMessages?.error,\n validationMessages?.requiredError,\n validationMessages?.minCharError,\n validationMessages?.maxCharError,\n ]\n );\n\n const performValidation = useCallback(\n (currValue) => {\n if (\n maxTagsQuantity !== null &&\n maxTagsQuantity !== undefined &&\n currValue.length > maxTagsQuantity\n ) {\n setValidationState(validationStates.invalid);\n setValidationMessage(errorMessages.maxCharError);\n setStateValid(false);\n } else {\n setValidationState(validationStates.valid);\n setValidationMessage(\"\");\n setStateValid(true);\n }\n },\n [\n errorMessages.maxCharError,\n maxTagsQuantity,\n setValidationMessage,\n setValidationState,\n ]\n );\n\n /**\n * Deletes a Tag from the array of tags and sets the new position for the tag cursor.\n * Also executes the user provided onDelete and onChange events.\n *\n * @param {number} tagPos - the position at which to remove the tag\n * @param {Event} event - the event associated with the delete\n * @param {boolean} end - whether or not to set the cursor at the end of the array\n */\n const deleteTag = useCallback(\n (tagPos, event, end) => {\n const newTagsArr = [\n ...value.slice(0, tagPos),\n ...value.slice(tagPos + 1),\n ];\n setValue(newTagsArr);\n setTagCursorPos(\n end ? newTagsArr.length : tagCursorPos > 0 ? tagCursorPos - 1 : 0\n );\n inputRef.current?.focus();\n performValidation(newTagsArr);\n onDelete?.(event, value[tagPos], tagPos);\n onChange?.(event, newTagsArr);\n skipReset.current = true;\n },\n [onChange, onDelete, performValidation, setValue, tagCursorPos, value]\n );\n\n /**\n * Adds a Tag to the array of tags.\n * Also executes the user provided onAdd and onDelete events.\n *\n * @param {Event} event - whatever event triggered adding a tag\n * @param {string} tag - the string for the tag\n */\n const addTag = useCallback(\n (event, tag) => {\n event.preventDefault();\n if (tag !== \"\") {\n const newTag: HvTagProps = { label: tag, type: \"semantic\" };\n const newTagsArr = [...value, newTag];\n setValue(newTagsArr);\n performValidation(newTagsArr);\n onAdd?.(event, newTag, newTagsArr.length - 1);\n onChange?.(event, newTagsArr);\n }\n },\n [onAdd, onChange, performValidation, setValue, value]\n );\n\n const canShowError =\n (status !== undefined &&\n status === \"invalid\" &&\n statusMessage !== undefined) ||\n !stateValid;\n\n useEffect(() => {\n if (!multiline) {\n const element = containerRef?.current?.children[tagCursorPos];\n // this setTimeout is a workaround for Firefox not properly dealing\n // with setting the scrollLeft value.\n setTimeout(() => {\n const container = containerRef.current;\n if (isNil(container)) return;\n container.scrollLeft = element\n ? element.offsetLeft -\n container.getBoundingClientRect().width / 2 +\n element.getBoundingClientRect().width / 2\n : 0;\n }, 50);\n\n element?.focus();\n }\n }, [multiline, tagCursorPos]);\n\n useEffect(() => {\n if (!skipReset.current) {\n setTagInput(\"\");\n setTagCursorPos(value.length);\n }\n skipReset.current = false;\n }, [value]);\n\n const isMounted = useIsMounted();\n\n /**\n * Looks for the node that represent the input inside the material tree and focus it.\n */\n const focusInput = () => {\n materialInputRef.current.focus();\n };\n\n const getSuggestions = useCallback(\n (li) => {\n // TODO Replace with ref\n const listEl = document.getElementById(\n setId(elementId, \"suggestions-list\") || \"\"\n );\n return li != null ? listEl?.getElementsByTagName(\"li\")?.[li] : listEl;\n },\n [elementId]\n );\n\n /**\n * Clears the suggestion array.\n */\n const suggestionClearHandler = useCallback(() => {\n if (isMounted.current) {\n setSuggestionValues(null);\n }\n }, [isMounted]);\n\n /**\n * Fills of the suggestion array.\n */\n const suggestionHandler = useCallback(\n (val) => {\n const suggestionsArray = suggestionListCallback?.(val);\n if (suggestionsArray?.[0]?.label) {\n setSuggestionValues(suggestionsArray);\n } else {\n suggestionClearHandler();\n }\n },\n [suggestionClearHandler, suggestionListCallback]\n );\n\n /**\n * Executes the user callback adds the selection to the state and clears the suggestions.\n */\n const suggestionSelectedHandler = (event, item) => {\n addTag(event, item.value || item.label);\n\n // set the input value (only when value is uncontrolled)\n setTagInput(item.value || item.label);\n\n focusInput();\n suggestionClearHandler();\n };\n\n /**\n * Handler for the `onKeyDown` event on the suggestions component\n */\n const onSuggestionKeyDown = (event) => {\n if (isKeypress(event, keyboardCodes.Esc)) {\n suggestionClearHandler();\n focusInput();\n } else if (isKeypress(event, keyboardCodes.Tab)) {\n suggestionClearHandler();\n }\n };\n\n /**\n * Handler for the `onChange` event on the tag input\n */\n const onChangeHandler = useCallback(\n (_, input) => {\n setTagInput(input);\n\n if (canShowSuggestions) {\n // an edge case might be a controlled input whose onChange callback\n // doesn't change the value (or sets another): the suggestionListCallback\n // callback will still receive the original rejected value.\n // a refactor is needed so the suggestionListCallback might be called only\n // when the input is uncontrolled, providing a way to externally control\n // the suggestion values.\n suggestionHandler(input);\n }\n },\n [canShowSuggestions, suggestionHandler]\n );\n\n /**\n * Handler for the `onKeyDown` event on the form element\n */\n const onInputKeyDownHandler = useCallback(\n (event) => {\n if (!canShowSuggestions && commitTagOn.includes(event.code)) {\n addTag(event, tagInput);\n }\n },\n [addTag, canShowSuggestions, commitTagOn, tagInput]\n );\n\n /**\n * Handler for the `onKeyDown` event on the list container.\n */\n const onKeyDownHandler = useCallback(\n (event) => {\n if (tagInput === \"\") {\n switch (event.code) {\n case \"ArrowLeft\":\n setTagCursorPos(tagCursorPos > 0 ? tagCursorPos - 1 : 0);\n break;\n case \"ArrowRight\":\n setTagCursorPos(\n tagCursorPos < value.length ? tagCursorPos + 1 : value.length\n );\n break;\n case \"Backspace\":\n if (isTagSelected) {\n deleteTag(tagCursorPos, event, false);\n } else {\n setTagCursorPos(value.length - 1);\n }\n break;\n case \"Delete\":\n if (isTagSelected) {\n deleteTag(tagCursorPos, event, false);\n }\n break;\n default:\n break;\n }\n } else {\n switch (event.code) {\n case \"ArrowDown\":\n getSuggestions(0)?.focus();\n break;\n default:\n break;\n }\n }\n },\n [\n deleteTag,\n getSuggestions,\n isTagSelected,\n tagCursorPos,\n tagInput,\n value.length,\n ]\n );\n\n /**\n * Handler for the `onDelete` event on the tag component\n */\n const onDeleteTagHandler = useCallback(\n (event, i) => {\n deleteTag(i, event, true);\n setValidationState(validationStates.standBy);\n },\n [deleteTag, setValidationState]\n );\n\n /**\n * Handler for the `onClick` event on the list container\n */\n const onContainerClickHandler = useCallback(() => {\n inputRef.current?.focus();\n clearTimeout(blurTimeout.current);\n setTagCursorPos(value.length);\n }, [value.length]);\n\n const onBlurHandler = (evt) => {\n blurTimeout.current = setTimeout(() => {\n if (commitOnBlur) {\n addTag(evt, tagInput);\n }\n onBlur?.(evt, tagInput);\n }, 250);\n };\n\n const onFocusHandler = (evt) => {\n clearTimeout(blurTimeout.current);\n onFocus?.(evt, tagInput);\n };\n\n return (\n <StyledFormElement\n id={id}\n name={name}\n disabled={disabled}\n readOnly={readOnly}\n status={validationState}\n required={required}\n onBlur={onBlurHandler}\n onFocus={onFocusHandler}\n className={clsx(\n tagsInputClasses.root,\n classes?.root,\n className,\n disabled && clsx(tagsInputClasses.disabled, classes?.disabled)\n )}\n >\n {(hasLabel || hasDescription) && (\n <StyledLabelContainer\n className={clsx(\n tagsInputClasses.labelContainer,\n classes?.labelContainer\n )}\n >\n {hasLabel && (\n <StyledLabel\n className={clsx(tagsInputClasses.label, classes?.label)}\n id={setId(id, \"label\")}\n htmlFor={setId(elementId, \"input\")}\n label={textAreaLabel}\n />\n )}\n\n {hasDescription && (\n <StyledDescription\n className={clsx(\n tagsInputClasses.description,\n classes?.description\n )}\n id={setId(elementId, \"description\")}\n >\n {description}\n </StyledDescription>\n )}\n </StyledLabelContainer>\n )}\n\n {hasCounter && (\n <StyledCharCounter\n id={setId(elementId, \"charCounter\")}\n className={clsx(\n tagsInputClasses.characterCounter,\n classes?.characterCounter\n )}\n separator={middleCountLabel}\n currentCharQuantity={value.length}\n maxCharQuantity={maxTagsQuantity}\n {...countCharProps}\n />\n )}\n\n <StyledTagsList\n className={clsx(\n tagsInputClasses.tagsList,\n classes?.tagsList,\n canShowError && clsx(tagsInputClasses.error, classes?.error),\n resizable &&\n multiline &&\n clsx(tagsInputClasses.resizable, classes?.resizable),\n isStateInvalid && clsx(tagsInputClasses.invalid, classes?.invalid),\n !multiline && clsx(tagsInputClasses.singleLine, classes?.singleLine)\n )}\n $disabled={disabled}\n $singleLine={!multiline}\n $error={canShowError}\n $resizable={resizable && multiline}\n $invalid={isStateInvalid}\n $readOnly={readOnly}\n onKeyDown={onKeyDownHandler}\n onClick={onContainerClickHandler}\n ref={containerRef}\n >\n {value &&\n value.map((t, i) => {\n const tag =\n typeof t === \"string\"\n ? {\n label: t,\n type: \"semantic\",\n }\n : t;\n const { label, type, ...otherProps } = tag;\n return (\n <StyledListItem\n key={`${tag.label}-${i}`}\n tabIndex={-1}\n className={clsx(\n !multiline &&\n clsx(tagsInputClasses.singleLine, classes?.singleLine)\n )}\n classes={{\n gutters: clsx(\n tagsInputClasses.listItemGutters,\n classes?.listItemGutters\n ),\n root: clsx(\n tagsInputClasses.listItemRoot,\n classes?.listItemRoot\n ),\n }}\n id={`tag-${i}`}\n $singleLine={!multiline}\n >\n <StyledTag\n label={label}\n className={clsx(\n i === tagCursorPos &&\n clsx(tagsInputClasses.tagSelected, classes?.tagSelected)\n )}\n classes={{\n chipRoot: clsx(\n tagsInputClasses.chipRoot,\n classes?.chipRoot\n ),\n }}\n type={type}\n {...(!(readOnly || disabled || type === \"categorical\") && {\n onDelete: (event) => onDeleteTagHandler(event, i),\n })}\n deleteButtonProps={{\n tabIndex: -1,\n }}\n $selected={i === tagCursorPos}\n {...otherProps}\n />\n </StyledListItem>\n );\n })}\n {!(disabled || readOnly) && (\n <StyledInputListItem\n className={clsx(\n !multiline &&\n clsx(\n tagsInputClasses.singleLine,\n classes?.singleLine,\n value.length === 0 &&\n clsx(\n tagsInputClasses.tagInputRootEmpty,\n classes?.tagInputRootEmpty\n )\n )\n )}\n classes={{\n root: clsx(\n tagsInputClasses.tagInputContainerRoot,\n classes?.tagInputContainerRoot\n ),\n gutters: clsx(\n tagsInputClasses.listItemGutters,\n classes?.listItemGutters\n ),\n }}\n id={`tag-${value.length}`}\n $singleLine={!multiline}\n $isTagSelected={!!isTagSelected}\n >\n <StyledInput\n value={tagInput}\n disableClear\n onChange={onChangeHandler}\n onKeyDown={onInputKeyDownHandler}\n placeholder={value.length === 0 ? placeholder : \"\"}\n autoFocus={autoFocus}\n className={clsx(\n !multiline &&\n clsx(tagsInputClasses.singleLine, classes?.singleLine)\n )}\n classes={{\n root: clsx(\n tagsInputClasses.tagInputRoot,\n classes?.tagInputRoot\n ),\n input: clsx(tagsInputClasses.input, classes?.input),\n inputBorderContainer: clsx(\n tagsInputClasses.tagInputBorderContainer,\n classes?.tagInputBorderContainer\n ),\n inputRootFocused: clsx(\n tagsInputClasses.tagInputRootFocused,\n classes?.tagInputRootFocused\n ),\n }}\n disabled={disabled}\n readOnly={readOnly || isTagSelected}\n inputProps={{\n ref: materialInputRef,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-describedby\":\n ariaDescribedBy != null\n ? ariaDescribedBy\n : (description && setId(elementId, \"description\")) ||\n undefined,\n\n ...inputProps,\n }}\n inputRef={inputRef}\n $singleLine={!multiline}\n {...others}\n />\n </StyledInputListItem>\n )}\n </StyledTagsList>\n {canShowSuggestions && (\n <>\n {hasSuggestions && (\n <div\n role=\"presentation\"\n className={clsx(\n tagsInputClasses.inputExtension,\n classes?.inputExtension\n )}\n />\n )}\n <StyledSuggestions\n id={setId(elementId, \"suggestions\")}\n classes={{\n root: clsx(\n tagsInputClasses.suggestionsContainer,\n classes?.suggestionsContainer\n ),\n list: clsx(\n tagsInputClasses.suggestionList,\n classes?.suggestionList\n ),\n }}\n expanded={hasSuggestions}\n anchorEl={containerRef?.current?.parentElement}\n onClose={suggestionClearHandler}\n onKeyDown={onSuggestionKeyDown}\n onSuggestionSelected={suggestionSelectedHandler}\n suggestionValues={suggestionValues}\n />\n </>\n )}\n {canShowError && (\n <StyledError\n id={setId(elementId, \"error\")}\n disableBorder\n className={clsx(tagsInputClasses.error, classes?.error)}\n >\n {validationMessage}\n </StyledError>\n )}\n </StyledFormElement>\n );\n};\n"],"names":["HvTagsInput","classes","className","id","name","value","valueProp","defaultValue","readOnly","disabled","required","label","textAreaLabel","ariaLabel","ariaLabelledBy","description","ariaDescribedBy","onChange","onAdd","onDelete","onBlur","onFocus","placeholder","hideCounter","middleCountLabel","maxTagsQuantity","autoFocus","resizable","inputProps","countCharProps","multiline","status","statusMessage","validationMessages","commitTagOn","commitOnBlur","suggestionListCallback","others","elementId","useUniqueId","hasLabel","hasDescription","setValue","useControlled","validationState","setValidationState","validationStates","standBy","validationMessage","setValidationMessage","tagInput","setTagInput","useState","tagCursorPos","setTagCursorPos","length","stateValid","setStateValid","inputRef","useRef","containerRef","skipReset","blurTimeout","materialInputRef","isTagSelected","hasCounter","suggestionValues","setSuggestionValues","isStateInvalid","useMemo","canShowSuggestions","hasSuggestions","errorMessages","DEFAULT_ERROR_MESSAGES","error","requiredError","minCharError","maxCharError","performValidation","useCallback","currValue","undefined","invalid","valid","deleteTag","tagPos","event","end","newTagsArr","slice","current","focus","addTag","tag","preventDefault","newTag","type","canShowError","useEffect","element","children","setTimeout","container","isNil","scrollLeft","offsetLeft","getBoundingClientRect","width","isMounted","useIsMounted","focusInput","getSuggestions","li","listEl","document","getElementById","setId","getElementsByTagName","suggestionClearHandler","suggestionHandler","val","suggestionsArray","suggestionSelectedHandler","item","onSuggestionKeyDown","isKeypress","keyboardCodes","Esc","Tab","onChangeHandler","_","input","onInputKeyDownHandler","includes","code","onKeyDownHandler","_a","onDeleteTagHandler","i","onContainerClickHandler","clearTimeout","onBlurHandler","evt","onFocusHandler","StyledFormElement","clsx","tagsInputClasses","root","StyledLabelContainer","labelContainer","_jsx","StyledLabel","htmlFor","StyledDescription","StyledCharCounter","characterCounter","separator","currentCharQuantity","maxCharQuantity","_jsxs","StyledTagsList","tagsList","singleLine","$disabled","$singleLine","$error","$resizable","$invalid","$readOnly","onKeyDown","onClick","ref","map","t","otherProps","StyledListItem","tabIndex","gutters","listItemGutters","listItemRoot","StyledTag","tagSelected","chipRoot","deleteButtonProps","$selected","StyledInputListItem","tagInputRootEmpty","tagInputContainerRoot","$isTagSelected","StyledInput","disableClear","tagInputRoot","inputBorderContainer","tagInputBorderContainer","inputRootFocused","tagInputRootFocused","_Fragment","role","inputExtension","StyledSuggestions","suggestionsContainer","list","suggestionList","expanded","anchorEl","parentElement","onClose","onSuggestionSelected","StyledError","disableBorder"],"mappings":"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"}
@@ -15,9 +15,9 @@ const HvToggleButton = React.forwardRef((props, ref) => {
15
15
  ...others
16
16
  } = props;
17
17
  const [isSelected, setIsSelected] = useControlled.useControlled(selected, Boolean(defaultSelected));
18
- const onClickHandler = (e) => {
18
+ const onClickHandler = (event) => {
19
19
  setIsSelected(!isSelected);
20
- onClick == null ? void 0 : onClick(e, !isSelected);
20
+ onClick == null ? void 0 : onClick(event, !isSelected);
21
21
  };
22
22
  return /* @__PURE__ */ jsxRuntime.jsx(Button.HvButton, {
23
23
  ref,
@@ -1 +1 @@
1
- {"version":3,"file":"ToggleButton.cjs","sources":["../../../../src/components/ToggleButton/ToggleButton.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport { HvButton } from \"components\";\nimport { useControlled } from \"hooks\";\nimport { HvBaseProps } from \"../../types\";\n\nexport type HvToggleButtonProps = HvBaseProps<\n HTMLButtonElement,\n { onClick }\n> & {\n /** When uncontrolled, defines the initial selected state. */\n defaultSelected?: boolean;\n /** Defines if the button is selected. When defined the button state becomes controlled. */\n selected?: boolean;\n /** Defines if the button is disabled. */\n disabled?: boolean;\n /** Icon for when not selected. Ignored if the component has children. */\n notSelectedIcon?: React.ReactNode;\n /** Icon for when selected. Ignored if the component has children. */\n selectedIcon?: React.ReactNode;\n /** Function called when icon is clicked. */\n onClick?: Function;\n};\n\nexport const HvToggleButton = forwardRef<\n HTMLButtonElement,\n HvToggleButtonProps\n>((props, ref) => {\n const {\n defaultSelected,\n selected,\n notSelectedIcon,\n selectedIcon = null,\n onClick,\n children,\n ...others\n } = props;\n\n const [isSelected, setIsSelected] = useControlled(\n selected,\n Boolean(defaultSelected)\n );\n\n const onClickHandler = (e) => {\n setIsSelected(!isSelected);\n onClick?.(e, !isSelected);\n };\n\n return (\n <HvButton\n ref={ref}\n icon\n variant=\"secondaryGhost\"\n aria-pressed={isSelected}\n onClick={onClickHandler}\n {...others}\n >\n {children || (!isSelected ? notSelectedIcon : selectedIcon)}\n </HvButton>\n );\n});\n"],"names":["HvToggleButton","forwardRef","props","ref","defaultSelected","selected","notSelectedIcon","selectedIcon","onClick","children","others","isSelected","setIsSelected","useControlled","Boolean","onClickHandler","e","HvButton","icon","variant"],"mappings":";;;;;;AAuBO,MAAMA,iBAAiBC,MAAAA,WAG5B,CAACC,OAAOC,QAAQ;AACV,QAAA;AAAA,IACJC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC,eAAe;AAAA,IACfC;AAAAA,IACAC;AAAAA,IACA,GAAGC;AAAAA,EACDR,IAAAA;AAEE,QAAA,CAACS,YAAYC,aAAa,IAAIC,cAAAA,cAClCR,UACAS,QAAQV,eAAe,CAAC;AAG1B,QAAMW,iBAAkBC,CAAM,MAAA;AAC5BJ,kBAAc,CAACD,UAAU;AACfK,uCAAAA,GAAG,CAACL;AAAAA,EAAU;AAG1B,wCACGM,OAAAA,UAAQ;AAAA,IACPd;AAAAA,IACAe,MAAI;AAAA,IACJC,SAAQ;AAAA,IACR,gBAAcR;AAAAA,IACdH,SAASO;AAAAA,IAAe,GACpBL;AAAAA,IAAMD,UAETA,aAAa,CAACE,aAAaL,kBAAkBC;AAAAA,EAAAA,CACrC;AAEf,CAAC;;"}
1
+ {"version":3,"file":"ToggleButton.cjs","sources":["../../../../src/components/ToggleButton/ToggleButton.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport { HvButton } from \"../Button\";\nimport { useControlled } from \"../../hooks\";\nimport { HvBaseProps } from \"../../types\";\n\nexport type HvToggleButtonProps = HvBaseProps<\n HTMLButtonElement,\n { onClick }\n> & {\n /** When uncontrolled, defines the initial selected state. */\n defaultSelected?: boolean;\n /** Defines if the button is selected. When defined the button state becomes controlled. */\n selected?: boolean;\n /** Defines if the button is disabled. */\n disabled?: boolean;\n /** Icon for when not selected. Ignored if the component has children. */\n notSelectedIcon?: React.ReactNode;\n /** Icon for when selected. Ignored if the component has children. */\n selectedIcon?: React.ReactNode;\n /** Function called when icon is clicked. */\n onClick?: (\n event: React.MouseEvent<HTMLButtonElement>,\n selected: boolean\n ) => void;\n};\n\nexport const HvToggleButton = forwardRef<\n HTMLButtonElement,\n HvToggleButtonProps\n>((props, ref) => {\n const {\n defaultSelected,\n selected,\n notSelectedIcon,\n selectedIcon = null,\n onClick,\n children,\n ...others\n } = props;\n\n const [isSelected, setIsSelected] = useControlled(\n selected,\n Boolean(defaultSelected)\n );\n\n const onClickHandler = (event: React.MouseEvent<HTMLButtonElement>) => {\n setIsSelected(!isSelected);\n onClick?.(event, !isSelected);\n };\n\n return (\n <HvButton\n ref={ref}\n icon\n variant=\"secondaryGhost\"\n aria-pressed={isSelected}\n onClick={onClickHandler}\n {...others}\n >\n {children || (!isSelected ? notSelectedIcon : selectedIcon)}\n </HvButton>\n );\n});\n"],"names":["HvToggleButton","forwardRef","props","ref","defaultSelected","selected","notSelectedIcon","selectedIcon","onClick","children","others","isSelected","setIsSelected","useControlled","Boolean","onClickHandler","event","HvButton","icon","variant"],"mappings":";;;;;;AA0BO,MAAMA,iBAAiBC,MAAAA,WAG5B,CAACC,OAAOC,QAAQ;AACV,QAAA;AAAA,IACJC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC,eAAe;AAAA,IACfC;AAAAA,IACAC;AAAAA,IACA,GAAGC;AAAAA,EACDR,IAAAA;AAEE,QAAA,CAACS,YAAYC,aAAa,IAAIC,cAAAA,cAClCR,UACAS,QAAQV,eAAe,CAAC;AAGpBW,QAAAA,iBAAiBA,CAACC,UAA+C;AACrEJ,kBAAc,CAACD,UAAU;AACfK,uCAAAA,OAAO,CAACL;AAAAA,EAAU;AAG9B,wCACGM,OAAAA,UAAQ;AAAA,IACPd;AAAAA,IACAe,MAAI;AAAA,IACJC,SAAQ;AAAA,IACR,gBAAcR;AAAAA,IACdH,SAASO;AAAAA,IAAe,GACpBL;AAAAA,IAAMD,UAETA,aAAa,CAACE,aAAaL,kBAAkBC;AAAAA,EAAAA,CACrC;AAEf,CAAC;;"}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const clsx = require("clsx");
4
+ const React = require("react");
5
+ const VerticalNavigation = require("../VerticalNavigation.cjs");
6
+ const Action_styles = require("./Action.styles.cjs");
7
+ const actionClasses = require("./actionClasses.cjs");
8
+ const jsxRuntime = require("@emotion/react/jsx-runtime");
9
+ const keyCheck = require("../../../utils/keyboardUtils/keyCheck.cjs");
10
+ const keyboardCodes = require("../../../utils/keyboardUtils/keyboardCodes.cjs");
11
+ const setId = require("../../../utils/setId.cjs");
12
+ const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
13
+ const clsx__default = /* @__PURE__ */ _interopDefault(clsx);
14
+ const HvVerticalNavigationAction = ({
15
+ className,
16
+ classes,
17
+ id,
18
+ label = "",
19
+ icon,
20
+ onClick,
21
+ ...others
22
+ }) => {
23
+ const {
24
+ isOpen
25
+ } = React.useContext(VerticalNavigation.VerticalNavigationContext);
26
+ const handleKeyDown = React.useCallback((event) => {
27
+ if (onClick == null || !keyCheck.isKeypress(event, keyboardCodes.keyboardCodes.Enter) && !keyCheck.isKeypress(event, keyboardCodes.keyboardCodes.SpaceBar)) {
28
+ return;
29
+ }
30
+ onClick(event);
31
+ }, [onClick]);
32
+ return /* @__PURE__ */ jsxRuntime.jsxs(Action_styles.StyledAction, {
33
+ id: setId.setId(id, "button"),
34
+ component: "div",
35
+ role: "button",
36
+ className: clsx__default.default(className, actionClasses.default.action, classes == null ? void 0 : classes.action, !icon && clsx__default.default(actionClasses.default.noIcon, classes == null ? void 0 : classes.noIcon), !isOpen && clsx__default.default(actionClasses.default.minimized, classes == null ? void 0 : classes.action)),
37
+ tabIndex: 0,
38
+ onKeyDown: handleKeyDown,
39
+ onClick,
40
+ ...others,
41
+ children: [icon, isOpen && label]
42
+ });
43
+ };
44
+ exports.HvVerticalNavigationAction = HvVerticalNavigationAction;
45
+ //# sourceMappingURL=Action.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Action.cjs","sources":["../../../../../src/components/VerticalNavigation/Actions/Action.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport { MouseEventHandler, useCallback, useContext } from \"react\";\nimport { isKeypress, keyboardCodes, setId } from \"utils\";\nimport { VerticalNavigationContext } from \"../VerticalNavigation\";\nimport { StyledAction } from \"./Action.styles\";\nimport actionClasses, {\n HvVerticalNavigationActionClasses,\n} from \"./actionClasses\";\n\nexport const HvVerticalNavigationAction = ({\n className,\n classes,\n id,\n label = \"\",\n icon,\n onClick,\n ...others\n}: HvVerticalNavigationActionProps) => {\n const { isOpen } = useContext(VerticalNavigationContext);\n\n const handleKeyDown = useCallback(\n (event) => {\n if (\n onClick == null ||\n (!isKeypress(event, keyboardCodes.Enter) &&\n !isKeypress(event, keyboardCodes.SpaceBar))\n ) {\n return;\n }\n\n onClick(event);\n },\n [onClick]\n );\n\n return (\n <StyledAction\n id={setId(id, \"button\")}\n component=\"div\"\n role=\"button\"\n className={clsx(\n className,\n actionClasses.action,\n classes?.action,\n !icon && clsx(actionClasses.noIcon, classes?.noIcon),\n !isOpen && clsx(actionClasses.minimized, classes?.action)\n )}\n tabIndex={0}\n onKeyDown={handleKeyDown}\n onClick={onClick}\n {...others}\n >\n {icon}\n {isOpen && label}\n </StyledAction>\n );\n};\n\nexport type HvVerticalNavigationActionProps = {\n /**\n * Class names to be applied.\n */\n className?: string;\n /**\n * A Jss Object used to override or extend the styles applied to the component.\n */\n classes?: HvVerticalNavigationActionClasses;\n /**\n * Id to be applied to the action.\n */\n id?: string;\n /**\n * Visual label.\n */\n label?: string;\n /**\n * Icon.\n */\n icon?: React.ReactNode;\n /**\n * Callback called when clicked.\n */\n onClick?: MouseEventHandler<HTMLElement>;\n};\n"],"names":["HvVerticalNavigationAction","className","classes","id","label","icon","onClick","others","isOpen","useContext","VerticalNavigationContext","handleKeyDown","useCallback","event","isKeypress","keyboardCodes","Enter","SpaceBar","StyledAction","setId","component","role","clsx","actionClasses","action","noIcon","minimized","tabIndex","onKeyDown","children"],"mappings":";;;;;;;;;;;;;AASO,MAAMA,6BAA6BA,CAAC;AAAA,EACzCC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC,QAAQ;AAAA,EACRC;AAAAA,EACAC;AAAAA,EACA,GAAGC;AAC4B,MAAM;AAC/B,QAAA;AAAA,IAAEC;AAAAA,EAAAA,IAAWC,MAAAA,WAAWC,mBAAAA,yBAAyB;AAEjDC,QAAAA,gBAAgBC,kBACnBC,CAAU,UAAA;AACT,QACEP,WAAW,QACV,CAACQ,SAAAA,WAAWD,OAAOE,cAAAA,cAAcC,KAAK,KACrC,CAACF,SAAAA,WAAWD,OAAOE,cAAAA,cAAcE,QAAQ,GAC3C;AACA;AAAA,IACF;AAEAX,YAAQO,KAAK;AAAA,EAAA,GAEf,CAACP,OAAO,CAAC;AAGX,yCACGY,cAAAA,cAAY;AAAA,IACXf,IAAIgB,MAAAA,MAAMhB,IAAI,QAAQ;AAAA,IACtBiB,WAAU;AAAA,IACVC,MAAK;AAAA,IACLpB,WAAWqB,cAAAA,QACTrB,WACAsB,sBAAcC,QACdtB,mCAASsB,QACT,CAACnB,QAAQiB,sBAAKC,cAAAA,QAAcE,QAAQvB,mCAASuB,MAAM,GACnD,CAACjB,UAAUc,sBAAKC,cAAAA,QAAcG,WAAWxB,mCAASsB,MAAM,CAAC;AAAA,IAE3DG,UAAU;AAAA,IACVC,WAAWjB;AAAAA,IACXL;AAAAA,IAAiB,GACbC;AAAAA,IAAMsB,UAETxB,CAAAA,MACAG,UAAUJ,KAAK;AAAA,EAAA,CACH;AAEnB;;"}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const _styled = require("@emotion/styled/base");
4
+ const uikitStyles = require("@hitachivantara/uikit-styles");
5
+ const actionClasses = require("./actionClasses.cjs");
6
+ const Typography = require("../../Typography/Typography.cjs");
7
+ const focusUtils = require("../../../utils/focusUtils.cjs");
8
+ const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
9
+ const _styled__default = /* @__PURE__ */ _interopDefault(_styled);
10
+ const hover = () => ({
11
+ background: uikitStyles.theme.verticalNavigation.hoverColor,
12
+ "& *": {
13
+ background: uikitStyles.theme.verticalNavigation.hoverColor
14
+ }
15
+ });
16
+ const StyledAction = /* @__PURE__ */ _styled__default.default(Typography.HvTypography, process.env.NODE_ENV === "production" ? {
17
+ target: "e13j4on70"
18
+ } : {
19
+ target: "e13j4on70",
20
+ label: "StyledAction"
21
+ })({
22
+ width: "100%",
23
+ display: "flex",
24
+ justifyContent: "flex-start",
25
+ alignItems: "center",
26
+ height: "32px",
27
+ color: uikitStyles.theme.colors.acce1,
28
+ // hover
29
+ "&:hover": hover(),
30
+ "&:focus": {
31
+ outline: "none",
32
+ ...hover()
33
+ },
34
+ "&:focus-visible": {
35
+ ...focusUtils.outlineStyles
36
+ },
37
+ // cursor
38
+ cursor: "pointer",
39
+ "& *": {
40
+ cursor: "pointer"
41
+ },
42
+ [`& .${actionClasses.default.noIcon}`]: {
43
+ paddingLeft: uikitStyles.theme.space.xs
44
+ },
45
+ [`&.${actionClasses.default.minimized}`]: {
46
+ justifyContent: "center",
47
+ paddingRight: 0
48
+ }
49
+ }, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2h2LXVpa2l0LXJlYWN0L2h2LXVpa2l0LXJlYWN0L3BhY2thZ2VzL2NvcmUvc3JjL2NvbXBvbmVudHMvVmVydGljYWxOYXZpZ2F0aW9uL0FjdGlvbnMvQWN0aW9uLnN0eWxlcy50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBYTRCIiwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3JrL2h2LXVpa2l0LXJlYWN0L2h2LXVpa2l0LXJlYWN0L3BhY2thZ2VzL2NvcmUvc3JjL2NvbXBvbmVudHMvVmVydGljYWxOYXZpZ2F0aW9uL0FjdGlvbnMvQWN0aW9uLnN0eWxlcy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWRcIjtcbmltcG9ydCB7IHRoZW1lIH0gZnJvbSBcIkBoaXRhY2hpdmFudGFyYS91aWtpdC1zdHlsZXNcIjtcbmltcG9ydCB7IEh2VHlwb2dyYXBoeSB9IGZyb20gXCJjb21wb25lbnRzXCI7XG5pbXBvcnQgeyBvdXRsaW5lU3R5bGVzIH0gZnJvbSBcInV0aWxzXCI7XG5pbXBvcnQgYWN0aW9uQ2xhc3NlcyBmcm9tIFwiLi9hY3Rpb25DbGFzc2VzXCI7XG5cbmNvbnN0IGhvdmVyID0gKCkgPT4gKHtcbiAgYmFja2dyb3VuZDogdGhlbWUudmVydGljYWxOYXZpZ2F0aW9uLmhvdmVyQ29sb3IsXG4gIFwiJiAqXCI6IHtcbiAgICBiYWNrZ3JvdW5kOiB0aGVtZS52ZXJ0aWNhbE5hdmlnYXRpb24uaG92ZXJDb2xvcixcbiAgfSxcbn0pO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkQWN0aW9uID0gc3R5bGVkKEh2VHlwb2dyYXBoeSkoe1xuICB3aWR0aDogXCIxMDAlXCIsXG4gIGRpc3BsYXk6IFwiZmxleFwiLFxuICBqdXN0aWZ5Q29udGVudDogXCJmbGV4LXN0YXJ0XCIsXG4gIGFsaWduSXRlbXM6IFwiY2VudGVyXCIsXG4gIGhlaWdodDogXCIzMnB4XCIsXG4gIGNvbG9yOiB0aGVtZS5jb2xvcnMuYWNjZTEsXG5cbiAgLy8gaG92ZXJcbiAgXCImOmhvdmVyXCI6IGhvdmVyKCksXG5cbiAgXCImOmZvY3VzXCI6IHtcbiAgICBvdXRsaW5lOiBcIm5vbmVcIixcbiAgICAuLi5ob3ZlcigpLFxuICB9LFxuXG4gIFwiJjpmb2N1cy12aXNpYmxlXCI6IHtcbiAgICAuLi5vdXRsaW5lU3R5bGVzLFxuICB9LFxuXG4gIC8vIGN1cnNvclxuICBjdXJzb3I6IFwicG9pbnRlclwiLFxuICBcIiYgKlwiOiB7XG4gICAgY3Vyc29yOiBcInBvaW50ZXJcIixcbiAgfSxcblxuICBbYCYgLiR7YWN0aW9uQ2xhc3Nlcy5ub0ljb259YF06IHtcbiAgICBwYWRkaW5nTGVmdDogdGhlbWUuc3BhY2UueHMsXG4gIH0sXG5cbiAgW2AmLiR7YWN0aW9uQ2xhc3Nlcy5taW5pbWl6ZWR9YF06IHtcbiAgICBqdXN0aWZ5Q29udGVudDogXCJjZW50ZXJcIixcbiAgICBwYWRkaW5nUmlnaHQ6IDAsXG4gIH0sXG59KTtcbiJdfQ== */");
50
+ exports.StyledAction = StyledAction;
51
+ //# sourceMappingURL=Action.styles.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Action.styles.cjs","sources":["../../../../../src/components/VerticalNavigation/Actions/Action.styles.tsx"],"sourcesContent":["import styled from \"@emotion/styled\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\nimport { HvTypography } from \"components\";\nimport { outlineStyles } from \"utils\";\nimport actionClasses from \"./actionClasses\";\n\nconst hover = () => ({\n background: theme.verticalNavigation.hoverColor,\n \"& *\": {\n background: theme.verticalNavigation.hoverColor,\n },\n});\n\nexport const StyledAction = styled(HvTypography)({\n width: \"100%\",\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n height: \"32px\",\n color: theme.colors.acce1,\n\n // hover\n \"&:hover\": hover(),\n\n \"&:focus\": {\n outline: \"none\",\n ...hover(),\n },\n\n \"&:focus-visible\": {\n ...outlineStyles,\n },\n\n // cursor\n cursor: \"pointer\",\n \"& *\": {\n cursor: \"pointer\",\n },\n\n [`& .${actionClasses.noIcon}`]: {\n paddingLeft: theme.space.xs,\n },\n\n [`&.${actionClasses.minimized}`]: {\n justifyContent: \"center\",\n paddingRight: 0,\n },\n});\n"],"names":["hover","background","theme","verticalNavigation","hoverColor","StyledAction","HvTypography","process","env","NODE_ENV","target","label","width","display","justifyContent","alignItems","height","color","colors","acce1","outline","outlineStyles","cursor","actionClasses","noIcon","paddingLeft","space","xs","minimized","paddingRight"],"mappings":";;;;;;;;;AAMA,MAAMA,QAAQA,OAAO;AAAA,EACnBC,YAAYC,YAAAA,MAAMC,mBAAmBC;AAAAA,EACrC,OAAO;AAAA,IACLH,YAAYC,YAAAA,MAAMC,mBAAmBC;AAAAA,EACvC;AACF;AAEO,MAAMC,eAAsBC,iCAAAA,QAAAA,WAAAA,cAAYC,QAAAC,IAAAC,aAAA,eAAA;AAAA,EAAAC,QAAA;AAAA,IAAA;AAAA,EAAAA,QAAA;AAAA,EAAAC,OAAA;AAAA,CAAA,EAAE;AAAA,EAC/CC,OAAO;AAAA,EACPC,SAAS;AAAA,EACTC,gBAAgB;AAAA,EAChBC,YAAY;AAAA,EACZC,QAAQ;AAAA,EACRC,OAAOf,YAAAA,MAAMgB,OAAOC;AAAAA;AAAAA,EAGpB,WAAWnB,MAAO;AAAA,EAElB,WAAW;AAAA,IACToB,SAAS;AAAA,IACT,GAAGpB,MAAK;AAAA,EACV;AAAA,EAEA,mBAAmB;AAAA,IACjB,GAAGqB,WAAAA;AAAAA,EACL;AAAA;AAAA,EAGAC,QAAQ;AAAA,EACR,OAAO;AAAA,IACLA,QAAQ;AAAA,EACV;AAAA,EAEA,CAAE,MAAKC,sBAAcC,QAAQ,GAAG;AAAA,IAC9BC,aAAavB,YAAAA,MAAMwB,MAAMC;AAAAA,EAC3B;AAAA,EAEA,CAAE,KAAIJ,sBAAcK,WAAW,GAAG;AAAA,IAChCd,gBAAgB;AAAA,IAChBe,cAAc;AAAA,EAChB;AACF,GAACtB,QAAAC,IAAAC,aAAC,eAAA,KAAA,q2DAAA;;"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const clsx = require("clsx");
4
+ const React = require("react");
5
+ const VerticalNavigation = require("../VerticalNavigation.cjs");
6
+ const Actions_styles = require("./Actions.styles.cjs");
7
+ const actionsClasses = require("./actionsClasses.cjs");
8
+ const jsxRuntime = require("@emotion/react/jsx-runtime");
9
+ const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
10
+ const clsx__default = /* @__PURE__ */ _interopDefault(clsx);
11
+ const HvVerticalNavigationActions = ({
12
+ className,
13
+ classes,
14
+ id,
15
+ children,
16
+ ...others
17
+ }) => {
18
+ const {
19
+ isOpen,
20
+ collapsedMode
21
+ } = React.useContext(VerticalNavigation.VerticalNavigationContext);
22
+ return /* @__PURE__ */ jsxRuntime.jsx(Actions_styles.StyledRoot, {
23
+ id,
24
+ className: clsx__default.default(className, actionsClasses.default.root, classes == null ? void 0 : classes.root, !isOpen && collapsedMode == "simple" && clsx__default.default(actionsClasses.default.hide, classes == null ? void 0 : classes.hide)),
25
+ ...others,
26
+ children
27
+ });
28
+ };
29
+ exports.HvVerticalNavigationActions = HvVerticalNavigationActions;
30
+ //# sourceMappingURL=Actions.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Actions.cjs","sources":["../../../../../src/components/VerticalNavigation/Actions/Actions.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport { useContext } from \"react\";\nimport { VerticalNavigationContext } from \"../VerticalNavigation\";\nimport { StyledRoot } from \"./Actions.styles\";\nimport actionsClasses, {\n HvVerticalNavigationActionsClasses,\n} from \"./actionsClasses\";\n\nexport const HvVerticalNavigationActions = ({\n className,\n classes,\n id,\n children,\n ...others\n}: HvVerticalNavigationActionsProps) => {\n const { isOpen, collapsedMode } = useContext(VerticalNavigationContext);\n\n return (\n <StyledRoot\n id={id}\n className={clsx(\n className,\n actionsClasses.root,\n classes?.root,\n !isOpen &&\n collapsedMode == \"simple\" &&\n clsx(actionsClasses.hide, classes?.hide)\n )}\n {...others}\n >\n {children}\n </StyledRoot>\n );\n};\n\nexport type HvVerticalNavigationActionsProps = {\n /**\n * Class names to be applied.\n */\n className?: string;\n /**\n * A Jss Object used to override or extend the styles applied to the component.\n */\n classes?: HvVerticalNavigationActionsClasses;\n /**\n * Id to be applied to the actions container.\n */\n id?: string;\n /**\n * Node to be rendered\n */\n children?: React.ReactNode;\n};\n"],"names":["HvVerticalNavigationActions","className","classes","id","children","others","isOpen","collapsedMode","useContext","VerticalNavigationContext","StyledRoot","clsx","actionsClasses","root","hide"],"mappings":";;;;;;;;;;AAQO,MAAMA,8BAA8BA,CAAC;AAAA,EAC1CC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACA,GAAGC;AAC6B,MAAM;AAChC,QAAA;AAAA,IAAEC;AAAAA,IAAQC;AAAAA,EAAAA,IAAkBC,MAAAA,WAAWC,mBAAAA,yBAAyB;AAEtE,wCACGC,eAAAA,YAAU;AAAA,IACTP;AAAAA,IACAF,WAAWU,cACTV,QAAAA,WACAW,eAAeC,QAAAA,MACfX,mCAASW,MACT,CAACP,UACCC,iBAAiB,YACjBI,sBAAKC,eAAAA,QAAeE,MAAMZ,mCAASY,IAAI,CAAC;AAAA,IAC1C,GACET;AAAAA,IAAMD;AAAAA,EAAAA,CAGC;AAEjB;;"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const _styled = require("@emotion/styled/base");
4
+ const uikitStyles = require("@hitachivantara/uikit-styles");
5
+ const actionsClasses = require("./actionsClasses.cjs");
6
+ const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
7
+ const _styled__default = /* @__PURE__ */ _interopDefault(_styled);
8
+ const StyledRoot = /* @__PURE__ */ _styled__default.default("div", process.env.NODE_ENV === "production" ? {
9
+ target: "e11q2fjk0"
10
+ } : {
11
+ target: "e11q2fjk0",
12
+ label: "StyledRoot"
13
+ })({
14
+ display: "block",
15
+ background: uikitStyles.theme.colors.atmo1,
16
+ marginTop: uikitStyles.theme.verticalNavigation.actionsMarginTop,
17
+ "& :not(:last-child)": {
18
+ // theme.verticalNavigation.actionsMarginTop,
19
+ marginBottom: "8px"
20
+ },
21
+ [`&.${actionsClasses.default.hide}`]: {
22
+ display: "none"
23
+ }
24
+ }, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2h2LXVpa2l0LXJlYWN0L2h2LXVpa2l0LXJlYWN0L3BhY2thZ2VzL2NvcmUvc3JjL2NvbXBvbmVudHMvVmVydGljYWxOYXZpZ2F0aW9uL0FjdGlvbnMvQWN0aW9ucy5zdHlsZXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUkwQiIsImZpbGUiOiIvaG9tZS9ydW5uZXIvd29yay9odi11aWtpdC1yZWFjdC9odi11aWtpdC1yZWFjdC9wYWNrYWdlcy9jb3JlL3NyYy9jb21wb25lbnRzL1ZlcnRpY2FsTmF2aWdhdGlvbi9BY3Rpb25zL0FjdGlvbnMuc3R5bGVzLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuaW1wb3J0IHsgdGhlbWUgfSBmcm9tIFwiQGhpdGFjaGl2YW50YXJhL3Vpa2l0LXN0eWxlc1wiO1xuaW1wb3J0IGFjdGlvbnNDbGFzc2VzIGZyb20gXCIuL2FjdGlvbnNDbGFzc2VzXCI7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRSb290ID0gc3R5bGVkKFwiZGl2XCIpKHtcbiAgZGlzcGxheTogXCJibG9ja1wiLFxuICBiYWNrZ3JvdW5kOiB0aGVtZS5jb2xvcnMuYXRtbzEsXG4gIG1hcmdpblRvcDogdGhlbWUudmVydGljYWxOYXZpZ2F0aW9uLmFjdGlvbnNNYXJnaW5Ub3AsXG5cbiAgXCImIDpub3QoOmxhc3QtY2hpbGQpXCI6IHtcbiAgICAvLyB0aGVtZS52ZXJ0aWNhbE5hdmlnYXRpb24uYWN0aW9uc01hcmdpblRvcCxcbiAgICBtYXJnaW5Cb3R0b206IFwiOHB4XCIsXG4gIH0sXG5cbiAgW2AmLiR7YWN0aW9uc0NsYXNzZXMuaGlkZX1gXToge1xuICAgIGRpc3BsYXk6IFwibm9uZVwiLFxuICB9LFxufSk7XG4iXX0= */");
25
+ exports.StyledRoot = StyledRoot;
26
+ //# sourceMappingURL=Actions.styles.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Actions.styles.cjs","sources":["../../../../../src/components/VerticalNavigation/Actions/Actions.styles.tsx"],"sourcesContent":["import styled from \"@emotion/styled\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\nimport actionsClasses from \"./actionsClasses\";\n\nexport const StyledRoot = styled(\"div\")({\n display: \"block\",\n background: theme.colors.atmo1,\n marginTop: theme.verticalNavigation.actionsMarginTop,\n\n \"& :not(:last-child)\": {\n // theme.verticalNavigation.actionsMarginTop,\n marginBottom: \"8px\",\n },\n\n [`&.${actionsClasses.hide}`]: {\n display: \"none\",\n },\n});\n"],"names":["StyledRoot","_styled","process","env","NODE_ENV","target","label","display","background","theme","colors","atmo1","marginTop","verticalNavigation","actionsMarginTop","marginBottom","actionsClasses","hide"],"mappings":";;;;;;;AAIO,MAAMA,aAAoBC,iCAAA,QAAA,OAAKC,QAAAC,IAAAC,aAAA,eAAA;AAAA,EAAAC,QAAA;AAAA,IAAA;AAAA,EAAAA,QAAA;AAAA,EAAAC,OAAA;AAAA,CAAA,EAAE;AAAA,EACtCC,SAAS;AAAA,EACTC,YAAYC,YAAAA,MAAMC,OAAOC;AAAAA,EACzBC,WAAWH,YAAAA,MAAMI,mBAAmBC;AAAAA,EAEpC,uBAAuB;AAAA;AAAA,IAErBC,cAAc;AAAA,EAChB;AAAA,EAEA,CAAE,KAAIC,uBAAeC,MAAM,GAAG;AAAA,IAC5BV,SAAS;AAAA,EACX;AACF,GAACL,QAAAC,IAAAC,aAAC,eAAA,KAAA,6pCAAA;;"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const classes = require("../../../utils/classes.cjs");
4
+ const classKeys = ["action", "noIcon", "minimized"];
5
+ const actionClasses = classes.getClasses(classKeys, "HvVerticalNavigationAction");
6
+ const actionClasses$1 = actionClasses;
7
+ exports.default = actionClasses$1;
8
+ //# sourceMappingURL=actionClasses.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actionClasses.cjs","sources":["../../../../../src/components/VerticalNavigation/Actions/actionClasses.ts"],"sourcesContent":["import { getClasses } from \"utils\";\n\nexport type HvVerticalNavigationActionClasses = {\n action?: string;\n noIcon?: string;\n minimized?: string;\n};\n\nconst classKeys: string[] = [\"action\", \"noIcon\", \"minimized\"];\n\nconst actionClasses = getClasses<HvVerticalNavigationActionClasses>(\n classKeys,\n \"HvVerticalNavigationAction\"\n);\n\nexport default actionClasses;\n"],"names":["classKeys","actionClasses","getClasses"],"mappings":";;;AAQA,MAAMA,YAAsB,CAAC,UAAU,UAAU,WAAW;AAE5D,MAAMC,gBAAgBC,QACpBF,WAAAA,WACA,4BAA4B;AAG9B,MAAA,kBAAeC;;"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const classes = require("../../../utils/classes.cjs");
4
+ const classKeys = ["root", "hide"];
5
+ const actionsClasses = classes.getClasses(classKeys, "HvVerticalNavigationActions");
6
+ const actionsClasses$1 = actionsClasses;
7
+ exports.default = actionsClasses$1;
8
+ //# sourceMappingURL=actionsClasses.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actionsClasses.cjs","sources":["../../../../../src/components/VerticalNavigation/Actions/actionsClasses.ts"],"sourcesContent":["import { getClasses } from \"utils\";\n\nexport type HvVerticalNavigationActionsClasses = {\n root?: string;\n hide?: string;\n};\n\nconst classKeys: string[] = [\"root\", \"hide\"];\n\nconst actionsClasses = getClasses<HvVerticalNavigationActionsClasses>(\n classKeys,\n \"HvVerticalNavigationActions\"\n);\n\nexport default actionsClasses;\n"],"names":["classKeys","actionsClasses","getClasses"],"mappings":";;;AAOA,MAAMA,YAAsB,CAAC,QAAQ,MAAM;AAE3C,MAAMC,iBAAiBC,QACrBF,WAAAA,WACA,6BAA6B;AAG/B,MAAA,mBAAeC;;"}