@hitachivantara/uikit-react-core 5.18.0 → 5.18.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (194) hide show
  1. package/dist/cjs/components/Accordion/Accordion.cjs +1 -1
  2. package/dist/cjs/components/Accordion/Accordion.cjs.map +1 -1
  3. package/dist/cjs/components/AppSwitcher/AppSwitcher.cjs +2 -5
  4. package/dist/cjs/components/AppSwitcher/AppSwitcher.cjs.map +1 -1
  5. package/dist/cjs/components/BaseInput/BaseInput.cjs +1 -1
  6. package/dist/cjs/components/BaseInput/BaseInput.cjs.map +1 -1
  7. package/dist/cjs/components/Box/Box.cjs +2 -2
  8. package/dist/cjs/components/Box/Box.cjs.map +1 -1
  9. package/dist/cjs/components/Button/Button.cjs +1 -1
  10. package/dist/cjs/components/Button/Button.cjs.map +1 -1
  11. package/dist/cjs/components/Button/Button.styles.cjs +6 -5
  12. package/dist/cjs/components/Button/Button.styles.cjs.map +1 -1
  13. package/dist/cjs/components/Carousel/Carousel.cjs +8 -8
  14. package/dist/cjs/components/Carousel/Carousel.cjs.map +1 -1
  15. package/dist/cjs/components/ColorPicker/Fields/Fields.cjs +8 -8
  16. package/dist/cjs/components/ColorPicker/Fields/Fields.cjs.map +1 -1
  17. package/dist/cjs/components/ColorPicker/Picker/Picker.cjs +2 -2
  18. package/dist/cjs/components/ColorPicker/Picker/Picker.cjs.map +1 -1
  19. package/dist/cjs/components/DatePicker/DatePicker.cjs +2 -2
  20. package/dist/cjs/components/DatePicker/DatePicker.cjs.map +1 -1
  21. package/dist/cjs/components/Dialog/Dialog.cjs +1 -1
  22. package/dist/cjs/components/Dialog/Dialog.cjs.map +1 -1
  23. package/dist/cjs/components/DotPagination/DotPagination.cjs +19 -13
  24. package/dist/cjs/components/DotPagination/DotPagination.cjs.map +1 -1
  25. package/dist/cjs/components/DotPagination/DotPagination.styles.cjs +20 -67
  26. package/dist/cjs/components/DotPagination/DotPagination.styles.cjs.map +1 -1
  27. package/dist/cjs/components/DropDownMenu/DropDownMenu.styles.cjs +1 -0
  28. package/dist/cjs/components/DropDownMenu/DropDownMenu.styles.cjs.map +1 -1
  29. package/dist/cjs/components/Dropdown/List/List.cjs +1 -1
  30. package/dist/cjs/components/Dropdown/List/List.cjs.map +1 -1
  31. package/dist/cjs/components/FilterGroup/RightPanel/RightPanel.cjs +1 -1
  32. package/dist/cjs/components/FilterGroup/RightPanel/RightPanel.cjs.map +1 -1
  33. package/dist/cjs/components/Forms/Suggestions/Suggestions.cjs +16 -13
  34. package/dist/cjs/components/Forms/Suggestions/Suggestions.cjs.map +1 -1
  35. package/dist/cjs/components/Header/Navigation/MenuItem/MenuItem.cjs +26 -15
  36. package/dist/cjs/components/Header/Navigation/MenuItem/MenuItem.cjs.map +1 -1
  37. package/dist/cjs/components/Input/Input.cjs +83 -75
  38. package/dist/cjs/components/Input/Input.cjs.map +1 -1
  39. package/dist/cjs/components/ListContainer/ListItem/ListItem.cjs +2 -2
  40. package/dist/cjs/components/ListContainer/ListItem/ListItem.cjs.map +1 -1
  41. package/dist/cjs/components/MultiButton/MultiButton.styles.cjs +10 -10
  42. package/dist/cjs/components/MultiButton/MultiButton.styles.cjs.map +1 -1
  43. package/dist/cjs/components/Pagination/Pagination.cjs.map +1 -1
  44. package/dist/cjs/components/Pagination/Pagination.styles.cjs +1 -3
  45. package/dist/cjs/components/Pagination/Pagination.styles.cjs.map +1 -1
  46. package/dist/cjs/components/ScrollTo/useScrollTo.cjs.map +1 -1
  47. package/dist/cjs/components/Slider/Slider.cjs +1 -1
  48. package/dist/cjs/components/Slider/Slider.cjs.map +1 -1
  49. package/dist/cjs/components/Snackbar/Snackbar.cjs +9 -14
  50. package/dist/cjs/components/Snackbar/Snackbar.cjs.map +1 -1
  51. package/dist/cjs/components/Snackbar/Snackbar.styles.cjs +38 -29
  52. package/dist/cjs/components/Snackbar/Snackbar.styles.cjs.map +1 -1
  53. package/dist/cjs/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.cjs +22 -18
  54. package/dist/cjs/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.cjs.map +1 -1
  55. package/dist/cjs/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.styles.cjs +37 -89
  56. package/dist/cjs/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.styles.cjs.map +1 -1
  57. package/dist/cjs/components/Snackbar/SnackbarProvider/SnackbarProvider.cjs +34 -64
  58. package/dist/cjs/components/Snackbar/SnackbarProvider/SnackbarProvider.cjs.map +1 -1
  59. package/dist/cjs/components/Snackbar/SnackbarProvider/SnackbarProvider.styles.cjs +28 -0
  60. package/dist/cjs/components/Snackbar/SnackbarProvider/SnackbarProvider.styles.cjs.map +1 -0
  61. package/dist/cjs/components/Table/TableCell/TableCell.cjs +6 -3
  62. package/dist/cjs/components/Table/TableCell/TableCell.cjs.map +1 -1
  63. package/dist/cjs/components/Table/TableRow/TableRow.cjs +9 -6
  64. package/dist/cjs/components/Table/TableRow/TableRow.cjs.map +1 -1
  65. package/dist/cjs/components/TagsInput/TagsInput.cjs +1 -1
  66. package/dist/cjs/components/TagsInput/TagsInput.cjs.map +1 -1
  67. package/dist/cjs/components/TextArea/TextArea.cjs +45 -43
  68. package/dist/cjs/components/TextArea/TextArea.cjs.map +1 -1
  69. package/dist/cjs/components/Typography/Typography.cjs +20 -133
  70. package/dist/cjs/components/Typography/Typography.cjs.map +1 -1
  71. package/dist/cjs/components/Typography/Typography.styles.cjs +107 -0
  72. package/dist/cjs/components/Typography/Typography.styles.cjs.map +1 -0
  73. package/dist/cjs/components/Typography/utils.cjs.map +1 -1
  74. package/dist/cjs/components/VerticalNavigation/Header/Header.cjs +1 -1
  75. package/dist/cjs/components/VerticalNavigation/Header/Header.cjs.map +1 -1
  76. package/dist/cjs/components/VerticalNavigation/Navigation/Navigation.cjs +7 -7
  77. package/dist/cjs/components/VerticalNavigation/Navigation/Navigation.cjs.map +1 -1
  78. package/dist/cjs/components/VerticalNavigation/TreeView/TreeViewItem.cjs +5 -5
  79. package/dist/cjs/components/VerticalNavigation/TreeView/TreeViewItem.cjs.map +1 -1
  80. package/dist/cjs/components/VerticalNavigation/TreeView/descendants.cjs +1 -4
  81. package/dist/cjs/components/VerticalNavigation/TreeView/descendants.cjs.map +1 -1
  82. package/dist/cjs/components/VerticalNavigation/VerticalNavigation.cjs +5 -5
  83. package/dist/cjs/components/VerticalNavigation/VerticalNavigation.cjs.map +1 -1
  84. package/dist/cjs/hooks/useWidth.cjs.map +1 -1
  85. package/dist/cjs/index.cjs +13 -10
  86. package/dist/cjs/index.cjs.map +1 -1
  87. package/dist/cjs/providers/ThemeProvider.cjs +20 -18
  88. package/dist/cjs/providers/ThemeProvider.cjs.map +1 -1
  89. package/dist/esm/components/Accordion/Accordion.js +1 -1
  90. package/dist/esm/components/Accordion/Accordion.js.map +1 -1
  91. package/dist/esm/components/AppSwitcher/AppSwitcher.js +2 -5
  92. package/dist/esm/components/AppSwitcher/AppSwitcher.js.map +1 -1
  93. package/dist/esm/components/BaseInput/BaseInput.js +1 -1
  94. package/dist/esm/components/BaseInput/BaseInput.js.map +1 -1
  95. package/dist/esm/components/Box/Box.js +2 -2
  96. package/dist/esm/components/Box/Box.js.map +1 -1
  97. package/dist/esm/components/Button/Button.js +1 -1
  98. package/dist/esm/components/Button/Button.js.map +1 -1
  99. package/dist/esm/components/Button/Button.styles.js +6 -5
  100. package/dist/esm/components/Button/Button.styles.js.map +1 -1
  101. package/dist/esm/components/Carousel/Carousel.js +9 -9
  102. package/dist/esm/components/Carousel/Carousel.js.map +1 -1
  103. package/dist/esm/components/ColorPicker/Fields/Fields.js +8 -8
  104. package/dist/esm/components/ColorPicker/Fields/Fields.js.map +1 -1
  105. package/dist/esm/components/ColorPicker/Picker/Picker.js +2 -2
  106. package/dist/esm/components/ColorPicker/Picker/Picker.js.map +1 -1
  107. package/dist/esm/components/DatePicker/DatePicker.js +2 -2
  108. package/dist/esm/components/DatePicker/DatePicker.js.map +1 -1
  109. package/dist/esm/components/Dialog/Dialog.js +1 -1
  110. package/dist/esm/components/Dialog/Dialog.js.map +1 -1
  111. package/dist/esm/components/DotPagination/DotPagination.js +22 -15
  112. package/dist/esm/components/DotPagination/DotPagination.js.map +1 -1
  113. package/dist/esm/components/DotPagination/DotPagination.styles.js +20 -65
  114. package/dist/esm/components/DotPagination/DotPagination.styles.js.map +1 -1
  115. package/dist/esm/components/DropDownMenu/DropDownMenu.styles.js +1 -0
  116. package/dist/esm/components/DropDownMenu/DropDownMenu.styles.js.map +1 -1
  117. package/dist/esm/components/Dropdown/List/List.js +1 -1
  118. package/dist/esm/components/Dropdown/List/List.js.map +1 -1
  119. package/dist/esm/components/FilterGroup/RightPanel/RightPanel.js +1 -1
  120. package/dist/esm/components/FilterGroup/RightPanel/RightPanel.js.map +1 -1
  121. package/dist/esm/components/Forms/Suggestions/Suggestions.js +17 -14
  122. package/dist/esm/components/Forms/Suggestions/Suggestions.js.map +1 -1
  123. package/dist/esm/components/Header/Navigation/MenuItem/MenuItem.js +26 -15
  124. package/dist/esm/components/Header/Navigation/MenuItem/MenuItem.js.map +1 -1
  125. package/dist/esm/components/Input/Input.js +84 -76
  126. package/dist/esm/components/Input/Input.js.map +1 -1
  127. package/dist/esm/components/ListContainer/ListItem/ListItem.js +2 -2
  128. package/dist/esm/components/ListContainer/ListItem/ListItem.js.map +1 -1
  129. package/dist/esm/components/MultiButton/MultiButton.styles.js +10 -10
  130. package/dist/esm/components/MultiButton/MultiButton.styles.js.map +1 -1
  131. package/dist/esm/components/Pagination/Pagination.js.map +1 -1
  132. package/dist/esm/components/Pagination/Pagination.styles.js +1 -3
  133. package/dist/esm/components/Pagination/Pagination.styles.js.map +1 -1
  134. package/dist/esm/components/ScrollTo/useScrollTo.js.map +1 -1
  135. package/dist/esm/components/Slider/Slider.js +2 -2
  136. package/dist/esm/components/Slider/Slider.js.map +1 -1
  137. package/dist/esm/components/Snackbar/Snackbar.js +12 -16
  138. package/dist/esm/components/Snackbar/Snackbar.js.map +1 -1
  139. package/dist/esm/components/Snackbar/Snackbar.styles.js +38 -26
  140. package/dist/esm/components/Snackbar/Snackbar.styles.js.map +1 -1
  141. package/dist/esm/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.js +21 -18
  142. package/dist/esm/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.js.map +1 -1
  143. package/dist/esm/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.styles.js +37 -86
  144. package/dist/esm/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.styles.js.map +1 -1
  145. package/dist/esm/components/Snackbar/SnackbarProvider/SnackbarProvider.js +35 -62
  146. package/dist/esm/components/Snackbar/SnackbarProvider/SnackbarProvider.js.map +1 -1
  147. package/dist/esm/components/Snackbar/SnackbarProvider/SnackbarProvider.styles.js +28 -0
  148. package/dist/esm/components/Snackbar/SnackbarProvider/SnackbarProvider.styles.js.map +1 -0
  149. package/dist/esm/components/Table/TableCell/TableCell.js +6 -3
  150. package/dist/esm/components/Table/TableCell/TableCell.js.map +1 -1
  151. package/dist/esm/components/Table/TableRow/TableRow.js +9 -6
  152. package/dist/esm/components/Table/TableRow/TableRow.js.map +1 -1
  153. package/dist/esm/components/TagsInput/TagsInput.js +1 -1
  154. package/dist/esm/components/TagsInput/TagsInput.js.map +1 -1
  155. package/dist/esm/components/TextArea/TextArea.js +46 -44
  156. package/dist/esm/components/TextArea/TextArea.js.map +1 -1
  157. package/dist/esm/components/Typography/Typography.js +23 -133
  158. package/dist/esm/components/Typography/Typography.js.map +1 -1
  159. package/dist/esm/components/Typography/Typography.styles.js +107 -0
  160. package/dist/esm/components/Typography/Typography.styles.js.map +1 -0
  161. package/dist/esm/components/Typography/utils.js.map +1 -1
  162. package/dist/esm/components/VerticalNavigation/Header/Header.js +1 -1
  163. package/dist/esm/components/VerticalNavigation/Header/Header.js.map +1 -1
  164. package/dist/esm/components/VerticalNavigation/Navigation/Navigation.js +7 -7
  165. package/dist/esm/components/VerticalNavigation/Navigation/Navigation.js.map +1 -1
  166. package/dist/esm/components/VerticalNavigation/TreeView/TreeViewItem.js +5 -5
  167. package/dist/esm/components/VerticalNavigation/TreeView/TreeViewItem.js.map +1 -1
  168. package/dist/esm/components/VerticalNavigation/TreeView/descendants.js +1 -4
  169. package/dist/esm/components/VerticalNavigation/TreeView/descendants.js.map +1 -1
  170. package/dist/esm/components/VerticalNavigation/VerticalNavigation.js +6 -6
  171. package/dist/esm/components/VerticalNavigation/VerticalNavigation.js.map +1 -1
  172. package/dist/esm/hooks/useWidth.js.map +1 -1
  173. package/dist/esm/index.js +270 -267
  174. package/dist/esm/index.js.map +1 -1
  175. package/dist/esm/providers/ThemeProvider.js +21 -19
  176. package/dist/esm/providers/ThemeProvider.js.map +1 -1
  177. package/dist/types/index.d.ts +265 -204
  178. package/package.json +3 -3
  179. package/dist/cjs/components/DotPagination/dotPaginationClasses.cjs +0 -8
  180. package/dist/cjs/components/DotPagination/dotPaginationClasses.cjs.map +0 -1
  181. package/dist/cjs/components/Snackbar/SnackbarContentWrapper/snackbarContentWrapperClasses.cjs +0 -8
  182. package/dist/cjs/components/Snackbar/SnackbarContentWrapper/snackbarContentWrapperClasses.cjs.map +0 -1
  183. package/dist/cjs/components/Snackbar/snackbarClasses.cjs +0 -8
  184. package/dist/cjs/components/Snackbar/snackbarClasses.cjs.map +0 -1
  185. package/dist/cjs/components/Typography/typographyClasses.cjs +0 -8
  186. package/dist/cjs/components/Typography/typographyClasses.cjs.map +0 -1
  187. package/dist/esm/components/DotPagination/dotPaginationClasses.js +0 -8
  188. package/dist/esm/components/DotPagination/dotPaginationClasses.js.map +0 -1
  189. package/dist/esm/components/Snackbar/SnackbarContentWrapper/snackbarContentWrapperClasses.js +0 -8
  190. package/dist/esm/components/Snackbar/SnackbarContentWrapper/snackbarContentWrapperClasses.js.map +0 -1
  191. package/dist/esm/components/Snackbar/snackbarClasses.js +0 -8
  192. package/dist/esm/components/Snackbar/snackbarClasses.js.map +0 -1
  193. package/dist/esm/components/Typography/typographyClasses.js +0 -8
  194. package/dist/esm/components/Typography/typographyClasses.js.map +0 -1
@@ -1,30 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const _styled = require("@emotion/styled/base");
4
3
  const React = require("react");
5
- const transientOptions = require("../../utils/transientOptions.cjs");
6
- const uikitStyles = require("@hitachivantara/uikit-styles");
7
- const clsx = require("clsx");
8
4
  const utils = require("./utils.cjs");
9
- const typographyClasses = require("./typographyClasses.cjs");
5
+ const Typography_styles = require("./Typography.styles.cjs");
10
6
  const jsxRuntime = require("@emotion/react/jsx-runtime");
11
7
  const useTheme = require("../../hooks/useTheme.cjs");
12
- const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
13
- const _styled__default = /* @__PURE__ */ _interopDefault(_styled);
14
- function _extends() {
15
- _extends = Object.assign ? Object.assign.bind() : function(target) {
16
- for (var i = 1; i < arguments.length; i++) {
17
- var source = arguments[i];
18
- for (var key in source) {
19
- if (Object.prototype.hasOwnProperty.call(source, key)) {
20
- target[key] = source[key];
21
- }
22
- }
23
- }
24
- return target;
25
- };
26
- return _extends.apply(this, arguments);
27
- }
8
+ const typographyVariants = ["display", "title1", "title2", "title3", "title4", "body", "label", "caption1", "caption2"];
28
9
  const HvTypographyMap = {
29
10
  display: "h1",
30
11
  title1: "h1",
@@ -50,132 +31,38 @@ const HvTypographyMap = {
50
31
  vizTextDisabled: "p",
51
32
  xsInlineLink: "p"
52
33
  };
53
- const getStyledComponent = (c) => /* @__PURE__ */ _styled__default.default(c, process.env.NODE_ENV === "production" ? _extends({}, {
54
- target: "e1tnpalo0"
55
- }, transientOptions.transientOptions) : _extends({}, {
56
- target: "e1tnpalo0",
57
- label: "getStyledComponent"
58
- }, transientOptions.transientOptions))(({
59
- $variant,
60
- $link = false,
61
- $disabled = false,
62
- $noWrap = false
63
- }) => ({
64
- ...$variant === "display" && {
65
- ...uikitStyles.theme.typography.display
66
- },
67
- ...$variant === "title1" && {
68
- ...uikitStyles.theme.typography.title1
69
- },
70
- ...$variant === "title2" && {
71
- ...uikitStyles.theme.typography.title2
72
- },
73
- ...$variant === "title3" && {
74
- ...uikitStyles.theme.typography.title3
75
- },
76
- ...$variant === "title4" && {
77
- ...uikitStyles.theme.typography.title4
78
- },
79
- ...$variant === "body" && {
80
- ...uikitStyles.theme.typography.body
81
- },
82
- ...$variant === "label" && {
83
- ...uikitStyles.theme.typography.label
84
- },
85
- ...$variant === "caption1" && {
86
- ...uikitStyles.theme.typography.caption1
87
- },
88
- ...$variant === "caption2" && {
89
- ...uikitStyles.theme.typography.caption2
90
- },
91
- // LEGACY
92
- ...$variant === "5xlTitle" && {
93
- ...uikitStyles.theme.typography["5xlTitle"]
94
- },
95
- ...$variant === "4xlTitle" && {
96
- ...uikitStyles.theme.typography["4xlTitle"]
97
- },
98
- ...$variant === "xxlTitle" && {
99
- ...uikitStyles.theme.typography.xxlTitle
100
- },
101
- ...$variant === "lTitle" && {
102
- ...uikitStyles.theme.typography.lTitle
103
- },
104
- ...$variant === "sTitle" && {
105
- ...uikitStyles.theme.typography.sTitle
106
- },
107
- ...$variant === "xxsTitle" && {
108
- ...uikitStyles.theme.typography.xxsTitle
109
- },
110
- ...$variant === "sectionTitle" && {
111
- ...uikitStyles.theme.typography.sectionTitle,
112
- textTransform: "uppercase"
113
- },
114
- ...$variant === "placeholderText" && {
115
- ...uikitStyles.theme.typography.placeholderText
116
- },
117
- ...$variant === "link" && {
118
- ...uikitStyles.theme.typography.link,
119
- textDecoration: "underline",
120
- cursor: "pointer"
121
- },
122
- ...$variant === "disabledText" && {
123
- ...uikitStyles.theme.typography.disabledText
124
- },
125
- ...$variant === "selectedNavText" && {
126
- ...uikitStyles.theme.typography.selectedNavText
127
- },
128
- ...$variant === "vizTextDisabled" && {
129
- ...uikitStyles.theme.typography.vizTextDisabled
130
- },
131
- ...$variant === "xsInlineLink" && {
132
- ...uikitStyles.theme.typography.xsInlineLink
133
- },
134
- fontFamily: uikitStyles.theme.fontFamily.body,
135
- // ADDED PROPS
136
- ...$link && {
137
- color: uikitStyles.theme.colors.primary,
138
- textDecoration: "underline",
139
- cursor: "pointer"
140
- },
141
- ...$disabled && {
142
- color: uikitStyles.theme.colors.secondary_60
143
- },
144
- ...$noWrap && {
145
- overflow: "hidden",
146
- textOverflow: "ellipsis",
147
- whiteSpace: "nowrap"
148
- }
149
- }), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2h2LXVpa2l0LXJlYWN0L2h2LXVpa2l0LXJlYWN0L3BhY2thZ2VzL2NvcmUvc3JjL2NvbXBvbmVudHMvVHlwb2dyYXBoeS9UeXBvZ3JhcGh5LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE2RUUiLCJmaWxlIjoiL2hvbWUvcnVubmVyL3dvcmsvaHYtdWlraXQtcmVhY3QvaHYtdWlraXQtcmVhY3QvcGFja2FnZXMvY29yZS9zcmMvY29tcG9uZW50cy9UeXBvZ3JhcGh5L1R5cG9ncmFwaHkudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgZm9yd2FyZFJlZixcbiAgdXNlTWVtbyxcbiAgQ1NTUHJvcGVydGllcyxcbiAgQWxsSFRNTEF0dHJpYnV0ZXMsXG4gIFJlZixcbn0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBIdkJhc2VQcm9wcyB9IGZyb20gXCJAY29yZS90eXBlc1wiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgeyB0cmFuc2llbnRPcHRpb25zIH0gZnJvbSBcIkBjb3JlL3V0aWxzL3RyYW5zaWVudE9wdGlvbnNcIjtcbmltcG9ydCB7IHRoZW1lIH0gZnJvbSBcIkBoaXRhY2hpdmFudGFyYS91aWtpdC1zdHlsZXNcIjtcbmltcG9ydCB7IGNsc3ggfSBmcm9tIFwiY2xzeFwiO1xuaW1wb3J0IHsgdXNlVGhlbWUgfSBmcm9tIFwiQGNvcmUvaG9va3NcIjtcbmltcG9ydCB7IG1hcFZhcmlhbnQgfSBmcm9tIFwiLi91dGlsc1wiO1xuaW1wb3J0IHR5cG9ncmFwaHlDbGFzc2VzLCB7IEh2VHlwb2dyYXBoeUNsYXNzZXMgfSBmcm9tIFwiLi90eXBvZ3JhcGh5Q2xhc3Nlc1wiO1xuXG5leHBvcnQgdHlwZSBIdlR5cG9ncmFwaHlWYXJpYW50cyA9XG4gIHwgXCJkaXNwbGF5XCJcbiAgfCBcInRpdGxlMVwiXG4gIHwgXCJ0aXRsZTJcIlxuICB8IFwidGl0bGUzXCJcbiAgfCBcInRpdGxlNFwiXG4gIHwgXCJib2R5XCJcbiAgfCBcImxhYmVsXCJcbiAgfCBcImNhcHRpb24xXCJcbiAgfCBcImNhcHRpb24yXCI7XG5cbi8qKiBAZGVwcmVjYXRlZCAqL1xuZXhwb3J0IHR5cGUgSHZUeXBvZ3JhcGh5TGVnYWN5VmFyaWFudHMgPVxuICB8IFwiNXhsVGl0bGVcIlxuICB8IFwiNHhsVGl0bGVcIlxuICB8IFwiM3hsVGl0bGVcIlxuICB8IFwieHhsVGl0bGVcIlxuICB8IFwieGxUaXRsZVwiXG4gIHwgXCJsVGl0bGVcIlxuICB8IFwibVRpdGxlXCJcbiAgfCBcInNUaXRsZVwiXG4gIHwgXCJ4c1RpdGxlXCJcbiAgfCBcInh4c1RpdGxlXCJcbiAgfCBcInNlY3Rpb25UaXRsZVwiXG4gIHwgXCJoaWdobGlnaHRUZXh0XCJcbiAgfCBcIm5vcm1hbFRleHRcIlxuICB8IFwicGxhY2Vob2xkZXJUZXh0XCJcbiAgfCBcImxpbmtcIlxuICB8IFwiZGlzYWJsZWRUZXh0XCJcbiAgfCBcInNlbGVjdGVkTmF2VGV4dFwiXG4gIHwgXCJ2aXpUZXh0XCJcbiAgfCBcInZpelRleHREaXNhYmxlZFwiXG4gIHwgXCJ4c0lubGluZUxpbmtcIjtcblxuY29uc3QgSHZUeXBvZ3JhcGh5TWFwID0ge1xuICBkaXNwbGF5OiBcImgxXCIsXG4gIHRpdGxlMTogXCJoMVwiLFxuICB0aXRsZTI6IFwiaDJcIixcbiAgdGl0bGUzOiBcImgzXCIsXG4gIHRpdGxlNDogXCJoNFwiLFxuICBib2R5OiBcInBcIixcbiAgbGFiZWw6IFwibGFiZWxcIixcbiAgY2FwdGlvbjE6IFwicFwiLFxuICBjYXB0aW9uMjogXCJwXCIsXG4gIC8vIExFR0FDWVxuICBcIjV4bFRpdGxlXCI6IFwiaDFcIixcbiAgXCI0eGxUaXRsZVwiOiBcImgxXCIsXG4gIHh4bFRpdGxlOiBcImgxXCIsXG4gIGxUaXRsZTogXCJoMlwiLFxuICBzVGl0bGU6IFwiaDRcIixcbiAgeHhzVGl0bGU6IFwiaDZcIixcbiAgc2VjdGlvblRpdGxlOiBcInBcIixcbiAgcGxhY2Vob2xkZXJUZXh0OiBcInBcIixcbiAgbGluazogXCJwXCIsXG4gIGRpc2FibGVkVGV4dDogXCJwXCIsXG4gIHNlbGVjdGVkTmF2VGV4dDogXCJwXCIsXG4gIHZpelRleHREaXNhYmxlZDogXCJwXCIsXG4gIHhzSW5saW5lTGluazogXCJwXCIsXG59IGFzIGNvbnN0O1xuXG5jb25zdCBnZXRTdHlsZWRDb21wb25lbnQgPSA8VCBleHRlbmRzIGtleW9mIEpTWC5JbnRyaW5zaWNFbGVtZW50cz4oYzogVCkgPT5cbiAgc3R5bGVkKFxuICAgIGMsXG4gICAgdHJhbnNpZW50T3B0aW9uc1xuICApKFxuICAgICh7XG4gICAgICAkdmFyaWFudCxcbiAgICAgICRsaW5rID0gZmFsc2UsXG4gICAgICAkZGlzYWJsZWQgPSBmYWxzZSxcbiAgICAgICRub1dyYXAgPSBmYWxzZSxcbiAgICB9OiB7XG4gICAgICAkdmFyaWFudDogSHZUeXBvZ3JhcGh5VmFyaWFudHMgfCBIdlR5cG9ncmFwaHlMZWdhY3lWYXJpYW50cztcbiAgICAgICRsaW5rPzogYm9vbGVhbjtcbiAgICAgICRkaXNhYmxlZD86IGJvb2xlYW47XG4gICAgICAkbm9XcmFwPzogYm9vbGVhbjtcbiAgICB9KSA9PiAoe1xuICAgICAgLi4uKCR2YXJpYW50ID09PSBcImRpc3BsYXlcIiAmJiB7XG4gICAgICAgIC4uLih0aGVtZS50eXBvZ3JhcGh5LmRpc3BsYXkgYXMgQ1NTUHJvcGVydGllcyksXG4gICAgICB9KSxcbiAgICAgIC4uLigkdmFyaWFudCA9PT0gXCJ0aXRsZTFcIiAmJiB7XG4gICAgICAgIC4uLih0aGVtZS50eXBvZ3JhcGh5LnRpdGxlMSBhcyBDU1NQcm9wZXJ0aWVzKSxcbiAgICAgIH0pLFxuICAgICAgLi4uKCR2YXJpYW50ID09PSBcInRpdGxlMlwiICYmIHtcbiAgICAgICAgLi4uKHRoZW1lLnR5cG9ncmFwaHkudGl0bGUyIGFzIENTU1Byb3BlcnRpZXMpLFxuICAgICAgfSksXG4gICAgICAuLi4oJHZhcmlhbnQgPT09IFwidGl0bGUzXCIgJiYge1xuICAgICAgICAuLi4odGhlbWUudHlwb2dyYXBoeS50aXRsZTMgYXMgQ1NTUHJvcGVydGllcyksXG4gICAgICB9KSxcbiAgICAgIC4uLigkdmFyaWFudCA9PT0gXCJ0aXRsZTRcIiAmJiB7XG4gICAgICAgIC4uLih0aGVtZS50eXBvZ3JhcGh5LnRpdGxlNCBhcyBDU1NQcm9wZXJ0aWVzKSxcbiAgICAgIH0pLFxuICAgICAgLi4uKCR2YXJpYW50ID09PSBcImJvZHlcIiAmJiB7XG4gICAgICAgIC4uLih0aGVtZS50eXBvZ3JhcGh5LmJvZHkgYXMgQ1NTUHJvcGVydGllcyksXG4gICAgICB9KSxcbiAgICAgIC4uLigkdmFyaWFudCA9PT0gXCJsYWJlbFwiICYmIHtcbiAgICAgICAgLi4uKHRoZW1lLnR5cG9ncmFwaHkubGFiZWwgYXMgQ1NTUHJvcGVydGllcyksXG4gICAgICB9KSxcbiAgICAgIC4uLigkdmFyaWFudCA9PT0gXCJjYXB0aW9uMVwiICYmIHtcbiAgICAgICAgLi4uKHRoZW1lLnR5cG9ncmFwaHkuY2FwdGlvbjEgYXMgQ1NTUHJvcGVydGllcyksXG4gICAgICB9KSxcbiAgICAgIC4uLigkdmFyaWFudCA9PT0gXCJjYXB0aW9uMlwiICYmIHtcbiAgICAgICAgLi4uKHRoZW1lLnR5cG9ncmFwaHkuY2FwdGlvbjIgYXMgQ1NTUHJvcGVydGllcyksXG4gICAgICB9KSxcbiAgICAgIC8vIExFR0FDWVxuICAgICAgLi4uKCR2YXJpYW50ID09PSBcIjV4bFRpdGxlXCIgJiYge1xuICAgICAgICAuLi4odGhlbWUudHlwb2dyYXBoeVtcIjV4bFRpdGxlXCJdIGFzIENTU1Byb3BlcnRpZXMpLFxuICAgICAgfSksXG4gICAgICAuLi4oJHZhcmlhbnQgPT09IFwiNHhsVGl0bGVcIiAmJiB7XG4gICAgICAgIC4uLih0aGVtZS50eXBvZ3JhcGh5W1wiNHhsVGl0bGVcIl0gYXMgQ1NTUHJvcGVydGllcyksXG4gICAgICB9KSxcbiAgICAgIC4uLigkdmFyaWFudCA9PT0gXCJ4eGxUaXRsZVwiICYmIHtcbiAgICAgICAgLi4uKHRoZW1lLnR5cG9ncmFwaHkueHhsVGl0bGUgYXMgQ1NTUHJvcGVydGllcyksXG4gICAgICB9KSxcbiAgICAgIC4uLigkdmFyaWFudCA9PT0gXCJsVGl0bGVcIiAmJiB7XG4gICAgICAgIC4uLih0aGVtZS50eXBvZ3JhcGh5LmxUaXRsZSBhcyBDU1NQcm9wZXJ0aWVzKSxcbiAgICAgIH0pLFxuICAgICAgLi4uKCR2YXJpYW50ID09PSBcInNUaXRsZVwiICYmIHtcbiAgICAgICAgLi4uKHRoZW1lLnR5cG9ncmFwaHkuc1RpdGxlIGFzIENTU1Byb3BlcnRpZXMpLFxuICAgICAgfSksXG4gICAgICAuLi4oJHZhcmlhbnQgPT09IFwieHhzVGl0bGVcIiAmJiB7XG4gICAgICAgIC4uLih0aGVtZS50eXBvZ3JhcGh5Lnh4c1RpdGxlIGFzIENTU1Byb3BlcnRpZXMpLFxuICAgICAgfSksXG4gICAgICAuLi4oJHZhcmlhbnQgPT09IFwic2VjdGlvblRpdGxlXCIgJiYge1xuICAgICAgICAuLi4odGhlbWUudHlwb2dyYXBoeS5zZWN0aW9uVGl0bGUgYXMgQ1NTUHJvcGVydGllcyksXG4gICAgICAgIHRleHRUcmFuc2Zvcm06IFwidXBwZXJjYXNlXCIsXG4gICAgICB9KSxcbiAgICAgIC4uLigkdmFyaWFudCA9PT0gXCJwbGFjZWhvbGRlclRleHRcIiAmJiB7XG4gICAgICAgIC4uLih0aGVtZS50eXBvZ3JhcGh5LnBsYWNlaG9sZGVyVGV4dCBhcyBDU1NQcm9wZXJ0aWVzKSxcbiAgICAgIH0pLFxuICAgICAgLi4uKCR2YXJpYW50ID09PSBcImxpbmtcIiAmJiB7XG4gICAgICAgIC4uLih0aGVtZS50eXBvZ3JhcGh5LmxpbmsgYXMgQ1NTUHJvcGVydGllcyksXG4gICAgICAgIHRleHREZWNvcmF0aW9uOiBcInVuZGVybGluZVwiLFxuICAgICAgICBjdXJzb3I6IFwicG9pbnRlclwiLFxuICAgICAgfSksXG4gICAgICAuLi4oJHZhcmlhbnQgPT09IFwiZGlzYWJsZWRUZXh0XCIgJiYge1xuICAgICAgICAuLi4odGhlbWUudHlwb2dyYXBoeS5kaXNhYmxlZFRleHQgYXMgQ1NTUHJvcGVydGllcyksXG4gICAgICB9KSxcbiAgICAgIC4uLigkdmFyaWFudCA9PT0gXCJzZWxlY3RlZE5hdlRleHRcIiAmJiB7XG4gICAgICAgIC4uLih0aGVtZS50eXBvZ3JhcGh5LnNlbGVjdGVkTmF2VGV4dCBhcyBDU1NQcm9wZXJ0aWVzKSxcbiAgICAgIH0pLFxuICAgICAgLi4uKCR2YXJpYW50ID09PSBcInZpelRleHREaXNhYmxlZFwiICYmIHtcbiAgICAgICAgLi4uKHRoZW1lLnR5cG9ncmFwaHkudml6VGV4dERpc2FibGVkIGFzIENTU1Byb3BlcnRpZXMpLFxuICAgICAgfSksXG4gICAgICAuLi4oJHZhcmlhbnQgPT09IFwieHNJbmxpbmVMaW5rXCIgJiYge1xuICAgICAgICAuLi4odGhlbWUudHlwb2dyYXBoeS54c0lubGluZUxpbmsgYXMgQ1NTUHJvcGVydGllcyksXG4gICAgICB9KSxcbiAgICAgIGZvbnRGYW1pbHk6IHRoZW1lLmZvbnRGYW1pbHkuYm9keSxcbiAgICAgIC8vIEFEREVEIFBST1BTXG4gICAgICAuLi4oJGxpbmsgJiYge1xuICAgICAgICBjb2xvcjogdGhlbWUuY29sb3JzLnByaW1hcnksXG4gICAgICAgIHRleHREZWNvcmF0aW9uOiBcInVuZGVybGluZVwiLFxuICAgICAgICBjdXJzb3I6IFwicG9pbnRlclwiLFxuICAgICAgfSksXG4gICAgICAuLi4oJGRpc2FibGVkICYmIHtcbiAgICAgICAgY29sb3I6IHRoZW1lLmNvbG9ycy5zZWNvbmRhcnlfNjAsXG4gICAgICB9KSxcbiAgICAgIC4uLigkbm9XcmFwICYmIHtcbiAgICAgICAgb3ZlcmZsb3c6IFwiaGlkZGVuXCIsXG4gICAgICAgIHRleHRPdmVyZmxvdzogXCJlbGxpcHNpc1wiLFxuICAgICAgICB3aGl0ZVNwYWNlOiBcIm5vd3JhcFwiLFxuICAgICAgfSksXG4gICAgfSlcbiAgKTtcblxuZXhwb3J0IGludGVyZmFjZSBIdlR5cG9ncmFwaHlQcm9wc1xuICBleHRlbmRzIE9taXQ8QWxsSFRNTEF0dHJpYnV0ZXM8SFRNTEVsZW1lbnQ+LCBcImRpc2FibGVkXCI+LFxuICAgIEh2QmFzZVByb3BzPEhUTUxFbGVtZW50PiB7XG4gIGNvbXBvbmVudD86IFJlYWN0LlJlYWN0Tm9kZSB8IFJlYWN0LkVsZW1lbnRUeXBlO1xuICAvKiogVXNlIHRoZSB2YXJpYW50IHByb3AgdG8gY2hhbmdlIHRoZSB2aXN1YWwgc3R5bGUgb2YgdGhlIFR5cG9ncmFwaHkuICovXG4gIHZhcmlhbnQ/OiBIdlR5cG9ncmFwaHlWYXJpYW50cyB8IEh2VHlwb2dyYXBoeUxlZ2FjeVZhcmlhbnRzO1xuICAvKiogSWYgYHRydWVgIHRoZSB0eXBvZ3JhcGh5IHdpbGwgZGlzcGxheSB0aGUgbG9vayBvZiBhIGxpbmsuICovXG4gIGxpbms/OiBib29sZWFuO1xuICAvKiogSWYgYHRydWVgIHRoZSB0eXBvZ3JhcGh5IHdpbGwgZGlzcGxheSB0aGUgbG9vayBvZiBhIGRpc2FibGVkIHN0YXRlLiAqL1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIC8qKiBJZiBgdHJ1ZWAsIHRoZSB0ZXh0IHdpbGwgaGF2ZSBhIGJvdHRvbSBtYXJnaW4uICovXG4gIHBhcmFncmFwaD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBJZiBgdHJ1ZWAsIHRoZSB0ZXh0IHdpbGwgbm90IHdyYXAsIGJ1dCBpbnN0ZWFkIHdpbGwgdHJ1bmNhdGUgd2l0aCBhIHRleHQgb3ZlcmZsb3cgZWxsaXBzaXMuXG4gICAqXG4gICAqIE5vdGUgdGhhdCB0ZXh0IG92ZXJmbG93IGNhbiBvbmx5IGhhcHBlbiB3aXRoIGJsb2NrIG9yIGlubGluZS1ibG9jayBsZXZlbCBlbGVtZW50c1xuICAgKiAodGhlIGVsZW1lbnQgbmVlZHMgdG8gaGF2ZSBhIHdpZHRoIGluIG9yZGVyIHRvIG92ZXJmbG93KS5cbiAgICovXG4gIG5vV3JhcD86IGJvb2xlYW47XG4gIC8qKiBBIEpzcyBPYmplY3QgdXNlZCB0byBvdmVycmlkZSBvciBleHRlbmQgdGhlIHN0eWxlcyBhcHBsaWVkIHRvIHRoZSBjb21wb25lbnQuICovXG4gIGNsYXNzZXM/OiBIdlR5cG9ncmFwaHlDbGFzc2VzO1xufVxuXG4vKipcbiAqIFR5cG9ncmFwaHkgY29tcG9uZW50IGlzIHVzZWQgdG8gcmVuZGVyIHRleHQgYW5kIHBhcmFncmFwaHMgd2l0aGluIGFuIGludGVyZmFjZS5cbiAqL1xuZXhwb3J0IGNvbnN0IEh2VHlwb2dyYXBoeSA9IGZvcndhcmRSZWYoXG4gIChwcm9wczogSHZUeXBvZ3JhcGh5UHJvcHMsIHJlZjogUmVmPEhUTUxFbGVtZW50PikgPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgIGNoaWxkcmVuLFxuICAgICAgY2xhc3NOYW1lLFxuICAgICAgY29tcG9uZW50LFxuICAgICAgY2xhc3NlcyxcbiAgICAgIHZhcmlhbnQgPSBcImJvZHlcIixcbiAgICAgIGxpbmsgPSBmYWxzZSxcbiAgICAgIGRpc2FibGVkID0gZmFsc2UsXG4gICAgICBub1dyYXAgPSBmYWxzZSxcbiAgICAgIHBhcmFncmFwaCA9IGZhbHNlLFxuICAgICAgLi4ub3RoZXJzXG4gICAgfSA9IHByb3BzO1xuICAgIGNvbnN0IHsgYWN0aXZlVGhlbWUgfSA9IHVzZVRoZW1lKCk7XG5cbiAgICBjb25zdCBtYXBwZWRWYXJpYW50ID0gbWFwVmFyaWFudCh2YXJpYW50LCBhY3RpdmVUaGVtZT8ubmFtZSk7XG5cbiAgICBjb25zdCBjb21wID1cbiAgICAgIGNvbXBvbmVudCB8fCAocGFyYWdyYXBoID8gXCJwXCIgOiBIdlR5cG9ncmFwaHlNYXBbbWFwcGVkVmFyaWFudF0gfHwgXCJzcGFuXCIpO1xuXG4gICAgY29uc3QgU3R5bGVkQ29tcG9uZW50ID0gdXNlTWVtbyhcbiAgICAgICgpID0+IGdldFN0eWxlZENvbXBvbmVudChjb21wIHx8IFwicFwiKSxcbiAgICAgIFtjb21wXVxuICAgICk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZENvbXBvbmVudFxuICAgICAgICByZWY9e3JlZn1cbiAgICAgICAgY2xhc3NOYW1lPXtjbHN4KFxuICAgICAgICAgIGNsYXNzTmFtZSxcbiAgICAgICAgICBjbGFzc2VzPy5yb290LFxuICAgICAgICAgIHR5cG9ncmFwaHlDbGFzc2VzLnJvb3QsXG4gICAgICAgICAgY2xhc3Nlcz8uW3ZhcmlhbnRdLFxuICAgICAgICAgIHR5cG9ncmFwaHlDbGFzc2VzW3ZhcmlhbnRdLFxuICAgICAgICAgIG5vV3JhcCAmJiBjbHN4KHR5cG9ncmFwaHlDbGFzc2VzLm5vV3JhcCwgY2xhc3Nlcz8ubm9XcmFwKVxuICAgICAgICApfVxuICAgICAgICAkdmFyaWFudD17XG4gICAgICAgICAgbWFwcGVkVmFyaWFudCBhcyBIdlR5cG9ncmFwaHlWYXJpYW50cyB8IEh2VHlwb2dyYXBoeUxlZ2FjeVZhcmlhbnRzXG4gICAgICAgIH1cbiAgICAgICAgJGxpbms9e2xpbmt9XG4gICAgICAgICRkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICRub1dyYXA9e25vV3JhcH1cbiAgICAgICAgey4uLm90aGVyc31cbiAgICAgID5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9TdHlsZWRDb21wb25lbnQ+XG4gICAgKTtcbiAgfVxuKTtcbiJdfQ== */");
150
34
  const HvTypography = React.forwardRef((props, ref) => {
151
35
  const {
152
- children,
153
36
  className,
154
- component,
155
- classes,
156
- variant = "body",
37
+ component: ComponentProp,
38
+ classes: classesProp,
39
+ variant: variantProp = "body",
157
40
  link = false,
158
41
  disabled = false,
159
42
  noWrap = false,
160
43
  paragraph = false,
161
44
  ...others
162
45
  } = props;
46
+ const {
47
+ classes,
48
+ cx
49
+ } = Typography_styles.useClasses(classesProp);
163
50
  const {
164
51
  activeTheme
165
52
  } = useTheme.useTheme();
166
- const mappedVariant = utils.mapVariant(variant, activeTheme == null ? void 0 : activeTheme.name);
167
- const comp = component || (paragraph ? "p" : HvTypographyMap[mappedVariant] || "span");
168
- const StyledComponent = React.useMemo(() => getStyledComponent(comp || "p"), [comp]);
169
- return /* @__PURE__ */ jsxRuntime.jsx(StyledComponent, {
53
+ const variant = utils.mapVariant(variantProp, activeTheme == null ? void 0 : activeTheme.name);
54
+ const Component = ComponentProp || paragraph && "p" || HvTypographyMap[variant] || "span";
55
+ return /* @__PURE__ */ jsxRuntime.jsx(Component, {
170
56
  ref,
171
- className: clsx.clsx(className, classes == null ? void 0 : classes.root, typographyClasses.default.root, classes == null ? void 0 : classes[variant], typographyClasses.default[variant], noWrap && clsx.clsx(typographyClasses.default.noWrap, classes == null ? void 0 : classes.noWrap)),
172
- $variant: mappedVariant,
173
- $link: link,
174
- $disabled: disabled,
175
- $noWrap: noWrap,
176
- ...others,
177
- children
57
+ className: cx(classes.root, classes[variant], className, {
58
+ [classes.isLink]: link,
59
+ [classes.noWrap]: noWrap,
60
+ [classes.disabled]: disabled
61
+ }),
62
+ ...others
178
63
  });
179
64
  });
65
+ exports.typographyClasses = Typography_styles.staticClasses;
180
66
  exports.HvTypography = HvTypography;
67
+ exports.typographyVariants = typographyVariants;
181
68
  //# sourceMappingURL=Typography.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Typography.cjs","sources":["../../../../src/components/Typography/Typography.tsx"],"sourcesContent":["import {\n forwardRef,\n useMemo,\n CSSProperties,\n AllHTMLAttributes,\n Ref,\n} from \"react\";\nimport { HvBaseProps } from \"@core/types\";\nimport styled from \"@emotion/styled\";\nimport { transientOptions } from \"@core/utils/transientOptions\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\nimport { clsx } from \"clsx\";\nimport { useTheme } from \"@core/hooks\";\nimport { mapVariant } from \"./utils\";\nimport typographyClasses, { HvTypographyClasses } from \"./typographyClasses\";\n\nexport type HvTypographyVariants =\n | \"display\"\n | \"title1\"\n | \"title2\"\n | \"title3\"\n | \"title4\"\n | \"body\"\n | \"label\"\n | \"caption1\"\n | \"caption2\";\n\n/** @deprecated */\nexport type HvTypographyLegacyVariants =\n | \"5xlTitle\"\n | \"4xlTitle\"\n | \"3xlTitle\"\n | \"xxlTitle\"\n | \"xlTitle\"\n | \"lTitle\"\n | \"mTitle\"\n | \"sTitle\"\n | \"xsTitle\"\n | \"xxsTitle\"\n | \"sectionTitle\"\n | \"highlightText\"\n | \"normalText\"\n | \"placeholderText\"\n | \"link\"\n | \"disabledText\"\n | \"selectedNavText\"\n | \"vizText\"\n | \"vizTextDisabled\"\n | \"xsInlineLink\";\n\nconst HvTypographyMap = {\n display: \"h1\",\n title1: \"h1\",\n title2: \"h2\",\n title3: \"h3\",\n title4: \"h4\",\n body: \"p\",\n label: \"label\",\n caption1: \"p\",\n caption2: \"p\",\n // LEGACY\n \"5xlTitle\": \"h1\",\n \"4xlTitle\": \"h1\",\n xxlTitle: \"h1\",\n lTitle: \"h2\",\n sTitle: \"h4\",\n xxsTitle: \"h6\",\n sectionTitle: \"p\",\n placeholderText: \"p\",\n link: \"p\",\n disabledText: \"p\",\n selectedNavText: \"p\",\n vizTextDisabled: \"p\",\n xsInlineLink: \"p\",\n} as const;\n\nconst getStyledComponent = <T extends keyof JSX.IntrinsicElements>(c: T) =>\n styled(\n c,\n transientOptions\n )(\n ({\n $variant,\n $link = false,\n $disabled = false,\n $noWrap = false,\n }: {\n $variant: HvTypographyVariants | HvTypographyLegacyVariants;\n $link?: boolean;\n $disabled?: boolean;\n $noWrap?: boolean;\n }) => ({\n ...($variant === \"display\" && {\n ...(theme.typography.display as CSSProperties),\n }),\n ...($variant === \"title1\" && {\n ...(theme.typography.title1 as CSSProperties),\n }),\n ...($variant === \"title2\" && {\n ...(theme.typography.title2 as CSSProperties),\n }),\n ...($variant === \"title3\" && {\n ...(theme.typography.title3 as CSSProperties),\n }),\n ...($variant === \"title4\" && {\n ...(theme.typography.title4 as CSSProperties),\n }),\n ...($variant === \"body\" && {\n ...(theme.typography.body as CSSProperties),\n }),\n ...($variant === \"label\" && {\n ...(theme.typography.label as CSSProperties),\n }),\n ...($variant === \"caption1\" && {\n ...(theme.typography.caption1 as CSSProperties),\n }),\n ...($variant === \"caption2\" && {\n ...(theme.typography.caption2 as CSSProperties),\n }),\n // LEGACY\n ...($variant === \"5xlTitle\" && {\n ...(theme.typography[\"5xlTitle\"] as CSSProperties),\n }),\n ...($variant === \"4xlTitle\" && {\n ...(theme.typography[\"4xlTitle\"] as CSSProperties),\n }),\n ...($variant === \"xxlTitle\" && {\n ...(theme.typography.xxlTitle as CSSProperties),\n }),\n ...($variant === \"lTitle\" && {\n ...(theme.typography.lTitle as CSSProperties),\n }),\n ...($variant === \"sTitle\" && {\n ...(theme.typography.sTitle as CSSProperties),\n }),\n ...($variant === \"xxsTitle\" && {\n ...(theme.typography.xxsTitle as CSSProperties),\n }),\n ...($variant === \"sectionTitle\" && {\n ...(theme.typography.sectionTitle as CSSProperties),\n textTransform: \"uppercase\",\n }),\n ...($variant === \"placeholderText\" && {\n ...(theme.typography.placeholderText as CSSProperties),\n }),\n ...($variant === \"link\" && {\n ...(theme.typography.link as CSSProperties),\n textDecoration: \"underline\",\n cursor: \"pointer\",\n }),\n ...($variant === \"disabledText\" && {\n ...(theme.typography.disabledText as CSSProperties),\n }),\n ...($variant === \"selectedNavText\" && {\n ...(theme.typography.selectedNavText as CSSProperties),\n }),\n ...($variant === \"vizTextDisabled\" && {\n ...(theme.typography.vizTextDisabled as CSSProperties),\n }),\n ...($variant === \"xsInlineLink\" && {\n ...(theme.typography.xsInlineLink as CSSProperties),\n }),\n fontFamily: theme.fontFamily.body,\n // ADDED PROPS\n ...($link && {\n color: theme.colors.primary,\n textDecoration: \"underline\",\n cursor: \"pointer\",\n }),\n ...($disabled && {\n color: theme.colors.secondary_60,\n }),\n ...($noWrap && {\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n }),\n })\n );\n\nexport interface HvTypographyProps\n extends Omit<AllHTMLAttributes<HTMLElement>, \"disabled\">,\n HvBaseProps<HTMLElement> {\n component?: React.ReactNode | React.ElementType;\n /** Use the variant prop to change the visual style of the Typography. */\n variant?: HvTypographyVariants | HvTypographyLegacyVariants;\n /** If `true` the typography will display the look of a link. */\n link?: boolean;\n /** If `true` the typography will display the look of a disabled state. */\n disabled?: boolean;\n /** If `true`, the text will have a bottom margin. */\n paragraph?: boolean;\n /**\n * If `true`, the text will not wrap, but instead will truncate with a text overflow ellipsis.\n *\n * Note that text overflow can only happen with block or inline-block level elements\n * (the element needs to have a width in order to overflow).\n */\n noWrap?: boolean;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvTypographyClasses;\n}\n\n/**\n * Typography component is used to render text and paragraphs within an interface.\n */\nexport const HvTypography = forwardRef(\n (props: HvTypographyProps, ref: Ref<HTMLElement>) => {\n const {\n children,\n className,\n component,\n classes,\n variant = \"body\",\n link = false,\n disabled = false,\n noWrap = false,\n paragraph = false,\n ...others\n } = props;\n const { activeTheme } = useTheme();\n\n const mappedVariant = mapVariant(variant, activeTheme?.name);\n\n const comp =\n component || (paragraph ? \"p\" : HvTypographyMap[mappedVariant] || \"span\");\n\n const StyledComponent = useMemo(\n () => getStyledComponent(comp || \"p\"),\n [comp]\n );\n\n return (\n <StyledComponent\n ref={ref}\n className={clsx(\n className,\n classes?.root,\n typographyClasses.root,\n classes?.[variant],\n typographyClasses[variant],\n noWrap && clsx(typographyClasses.noWrap, classes?.noWrap)\n )}\n $variant={\n mappedVariant as HvTypographyVariants | HvTypographyLegacyVariants\n }\n $link={link}\n $disabled={disabled}\n $noWrap={noWrap}\n {...others}\n >\n {children}\n </StyledComponent>\n );\n }\n);\n"],"names":["HvTypographyMap","display","title1","title2","title3","title4","body","label","caption1","caption2","xxlTitle","lTitle","sTitle","xxsTitle","sectionTitle","placeholderText","link","disabledText","selectedNavText","vizTextDisabled","xsInlineLink","getStyledComponent","c","process","env","NODE_ENV","_extends","target","transientOptions","$variant","$link","$disabled","$noWrap","theme","typography","textTransform","textDecoration","cursor","fontFamily","color","colors","primary","secondary_60","overflow","textOverflow","whiteSpace","HvTypography","forwardRef","props","ref","children","className","component","classes","variant","disabled","noWrap","paragraph","others","activeTheme","useTheme","mappedVariant","mapVariant","name","comp","StyledComponent","useMemo","clsx","root","typographyClasses"],"mappings":"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"}
1
+ {"version":3,"file":"Typography.cjs","sources":["../../../../src/components/Typography/Typography.tsx"],"sourcesContent":["import { forwardRef, AllHTMLAttributes, Ref } from \"react\";\nimport { HvBaseProps } from \"@core/types\";\nimport { ExtractNames } from \"@core/utils\";\nimport { useTheme } from \"@core/hooks\";\nimport { mapVariant } from \"./utils\";\nimport { staticClasses, useClasses } from \"./Typography.styles\";\n\nexport { staticClasses as typographyClasses };\n\nexport type HvTypographyClasses = ExtractNames<typeof useClasses>;\n\nexport const typographyVariants = [\n \"display\",\n \"title1\",\n \"title2\",\n \"title3\",\n \"title4\",\n \"body\",\n \"label\",\n \"caption1\",\n \"caption2\",\n] as const;\n\nexport type HvTypographyVariants = (typeof typographyVariants)[number];\n\n/** @deprecated */\nexport type HvTypographyLegacyVariants =\n | \"5xlTitle\"\n | \"4xlTitle\"\n | \"3xlTitle\"\n | \"xxlTitle\"\n | \"xlTitle\"\n | \"lTitle\"\n | \"mTitle\"\n | \"sTitle\"\n | \"xsTitle\"\n | \"xxsTitle\"\n | \"sectionTitle\"\n | \"highlightText\"\n | \"normalText\"\n | \"placeholderText\"\n | \"link\"\n | \"disabledText\"\n | \"selectedNavText\"\n | \"vizText\"\n | \"vizTextDisabled\"\n | \"xsInlineLink\";\n\nconst HvTypographyMap = {\n display: \"h1\",\n title1: \"h1\",\n title2: \"h2\",\n title3: \"h3\",\n title4: \"h4\",\n body: \"p\",\n label: \"label\",\n caption1: \"p\",\n caption2: \"p\",\n // LEGACY\n \"5xlTitle\": \"h1\",\n \"4xlTitle\": \"h1\",\n xxlTitle: \"h1\",\n lTitle: \"h2\",\n sTitle: \"h4\",\n xxsTitle: \"h6\",\n sectionTitle: \"p\",\n placeholderText: \"p\",\n link: \"p\",\n disabledText: \"p\",\n selectedNavText: \"p\",\n vizTextDisabled: \"p\",\n xsInlineLink: \"p\",\n} as const;\n\nexport interface HvTypographyProps\n extends Omit<AllHTMLAttributes<HTMLElement>, \"disabled\">,\n HvBaseProps<HTMLElement> {\n component?: React.ElementType;\n /** Use the variant prop to change the visual style of the Typography. */\n variant?: HvTypographyVariants | HvTypographyLegacyVariants;\n /** If `true` the typography will display the look of a link. */\n link?: boolean;\n /** If `true` the typography will display the look of a disabled state. */\n disabled?: boolean;\n /** If `true`, the text will have a bottom margin. */\n paragraph?: boolean;\n /**\n * If `true`, the text will not wrap, but instead will truncate with a text overflow ellipsis.\n *\n * Note that text overflow can only happen with block or inline-block level elements\n * (the element needs to have a width in order to overflow).\n */\n noWrap?: boolean;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvTypographyClasses;\n}\n\n/**\n * Typography component is used to render text and paragraphs within an interface.\n */\nexport const HvTypography = forwardRef(\n (props: HvTypographyProps, ref: Ref<HTMLElement>) => {\n const {\n className,\n component: ComponentProp,\n classes: classesProp,\n variant: variantProp = \"body\",\n link = false,\n disabled = false,\n noWrap = false,\n paragraph = false,\n ...others\n } = props;\n const { classes, cx } = useClasses(classesProp);\n const { activeTheme } = useTheme();\n\n const variant = mapVariant(variantProp, activeTheme?.name);\n\n const Component =\n ComponentProp || (paragraph && \"p\") || HvTypographyMap[variant] || \"span\";\n\n return (\n <Component\n ref={ref}\n className={cx(classes.root, classes[variant], className, {\n [classes.isLink]: link,\n [classes.noWrap]: noWrap,\n [classes.disabled]: disabled,\n })}\n {...others}\n />\n );\n }\n);\n"],"names":["typographyVariants","HvTypographyMap","display","title1","title2","title3","title4","body","label","caption1","caption2","xxlTitle","lTitle","sTitle","xxsTitle","sectionTitle","placeholderText","link","disabledText","selectedNavText","vizTextDisabled","xsInlineLink","HvTypography","forwardRef","props","ref","className","component","ComponentProp","classes","classesProp","variant","variantProp","disabled","noWrap","paragraph","others","cx","useClasses","activeTheme","useTheme","mapVariant","name","Component","root","isLink"],"mappings":";;;;;;;AAWaA,MAAAA,qBAAqB,CAChC,WACA,UACA,UACA,UACA,UACA,QACA,SACA,YACA,UAAU;AA4BZ,MAAMC,kBAAkB;AAAA,EACtBC,SAAS;AAAA,EACTC,QAAQ;AAAA,EACRC,QAAQ;AAAA,EACRC,QAAQ;AAAA,EACRC,QAAQ;AAAA,EACRC,MAAM;AAAA,EACNC,OAAO;AAAA,EACPC,UAAU;AAAA,EACVC,UAAU;AAAA;AAAA,EAEV,YAAY;AAAA,EACZ,YAAY;AAAA,EACZC,UAAU;AAAA,EACVC,QAAQ;AAAA,EACRC,QAAQ;AAAA,EACRC,UAAU;AAAA,EACVC,cAAc;AAAA,EACdC,iBAAiB;AAAA,EACjBC,MAAM;AAAA,EACNC,cAAc;AAAA,EACdC,iBAAiB;AAAA,EACjBC,iBAAiB;AAAA,EACjBC,cAAc;AAChB;AA4BO,MAAMC,eAAeC,MAAAA,WAC1B,CAACC,OAA0BC,QAA0B;AAC7C,QAAA;AAAA,IACJC;AAAAA,IACAC,WAAWC;AAAAA,IACXC,SAASC;AAAAA,IACTC,SAASC,cAAc;AAAA,IACvBf,OAAO;AAAA,IACPgB,WAAW;AAAA,IACXC,SAAS;AAAA,IACTC,YAAY;AAAA,IACZ,GAAGC;AAAAA,EACDZ,IAAAA;AACE,QAAA;AAAA,IAAEK;AAAAA,IAASQ;AAAAA,EAAAA,IAAOC,kBAAAA,WAAWR,WAAW;AACxC,QAAA;AAAA,IAAES;AAAAA,MAAgBC,SAAS,SAAA;AAEjC,QAAMT,UAAUU,MAAAA,WAAWT,aAAaO,2CAAaG,IAAI;AAEzD,QAAMC,YACJf,iBAAkBO,aAAa,OAAQlC,gBAAgB8B,OAAO,KAAK;AAErE,wCACGY,WAAS;AAAA,IACRlB;AAAAA,IACAC,WAAWW,GAAGR,QAAQe,MAAMf,QAAQE,OAAO,GAAGL,WAAW;AAAA,MACvD,CAACG,QAAQgB,MAAM,GAAG5B;AAAAA,MAClB,CAACY,QAAQK,MAAM,GAAGA;AAAAA,MAClB,CAACL,QAAQI,QAAQ,GAAGA;AAAAA,IAAAA,CACrB;AAAA,IAAE,GACCG;AAAAA,EAAAA,CACL;AAEL,CACF;;;;"}
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const uikitStyles = require("@hitachivantara/uikit-styles");
4
+ const classes = require("../../utils/classes.cjs");
5
+ const {
6
+ useClasses,
7
+ staticClasses
8
+ } = classes.createClasses("HvTypography", {
9
+ root: {
10
+ fontFamily: uikitStyles.theme.fontFamily.body
11
+ },
12
+ disabled: {
13
+ color: uikitStyles.theme.colors.secondary_60
14
+ },
15
+ isLink: {
16
+ color: uikitStyles.theme.colors.primary,
17
+ textDecoration: "underline"
18
+ },
19
+ noWrap: {
20
+ overflow: "hidden",
21
+ textOverflow: "ellipsis",
22
+ whiteSpace: "nowrap"
23
+ },
24
+ // variants
25
+ display: {
26
+ ...uikitStyles.theme.typography.display
27
+ },
28
+ title1: {
29
+ ...uikitStyles.theme.typography.title1
30
+ },
31
+ title2: {
32
+ ...uikitStyles.theme.typography.title2
33
+ },
34
+ title3: {
35
+ ...uikitStyles.theme.typography.title3
36
+ },
37
+ title4: {
38
+ ...uikitStyles.theme.typography.title4
39
+ },
40
+ body: {
41
+ ...uikitStyles.theme.typography.body
42
+ },
43
+ label: {
44
+ ...uikitStyles.theme.typography.label
45
+ },
46
+ caption1: {
47
+ ...uikitStyles.theme.typography.caption1
48
+ },
49
+ caption2: {
50
+ ...uikitStyles.theme.typography.caption2
51
+ },
52
+ // legacy variants
53
+ "5xlTitle": {
54
+ ...uikitStyles.theme.typography["5xlTitle"]
55
+ },
56
+ "4xlTitle": {
57
+ ...uikitStyles.theme.typography["4xlTitle"]
58
+ },
59
+ "3xlTitle": {
60
+ ...uikitStyles.theme.typography["3xlTitle"]
61
+ },
62
+ xxlTitle: {
63
+ ...uikitStyles.theme.typography.xxlTitle
64
+ },
65
+ xlTitle: {},
66
+ lTitle: {
67
+ ...uikitStyles.theme.typography.lTitle
68
+ },
69
+ mTitle: {},
70
+ sTitle: {
71
+ ...uikitStyles.theme.typography.sTitle
72
+ },
73
+ xsTitle: {},
74
+ xxsTitle: {
75
+ ...uikitStyles.theme.typography.xxsTitle
76
+ },
77
+ sectionTitle: {
78
+ ...uikitStyles.theme.typography.sectionTitle,
79
+ textTransform: "uppercase"
80
+ },
81
+ highlightText: {},
82
+ normalText: {},
83
+ placeholderText: {
84
+ ...uikitStyles.theme.typography.placeholderText
85
+ },
86
+ link: {
87
+ ...uikitStyles.theme.typography.link,
88
+ cursor: "pointer",
89
+ textDecoration: "underline"
90
+ },
91
+ disabledText: {
92
+ ...uikitStyles.theme.typography.disabledText
93
+ },
94
+ selectedNavText: {
95
+ ...uikitStyles.theme.typography.selectedNavText
96
+ },
97
+ vizText: {},
98
+ vizTextDisabled: {
99
+ ...uikitStyles.theme.typography.vizTextDisabled
100
+ },
101
+ xsInlineLink: {
102
+ ...uikitStyles.theme.typography.xsInlineLink
103
+ }
104
+ });
105
+ exports.staticClasses = staticClasses;
106
+ exports.useClasses = useClasses;
107
+ //# sourceMappingURL=Typography.styles.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Typography.styles.cjs","sources":["../../../../src/components/Typography/Typography.styles.ts"],"sourcesContent":["import { theme } from \"@hitachivantara/uikit-styles\";\nimport { createClasses } from \"../../utils\";\n\nexport const { useClasses, staticClasses } = createClasses(\"HvTypography\", {\n root: {\n fontFamily: theme.fontFamily.body,\n },\n disabled: {\n color: theme.colors.secondary_60,\n },\n isLink: {\n color: theme.colors.primary,\n textDecoration: \"underline\",\n },\n noWrap: {\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n },\n // variants\n display: { ...theme.typography.display },\n title1: { ...theme.typography.title1 },\n title2: { ...theme.typography.title2 },\n title3: { ...theme.typography.title3 },\n title4: { ...theme.typography.title4 },\n body: { ...theme.typography.body },\n label: { ...theme.typography.label },\n caption1: { ...theme.typography.caption1 },\n caption2: { ...theme.typography.caption2 },\n // legacy variants\n \"5xlTitle\": { ...theme.typography[\"5xlTitle\"] },\n \"4xlTitle\": { ...theme.typography[\"4xlTitle\"] },\n \"3xlTitle\": { ...theme.typography[\"3xlTitle\"] },\n xxlTitle: { ...theme.typography.xxlTitle },\n xlTitle: {},\n lTitle: { ...theme.typography.lTitle },\n mTitle: {},\n sTitle: { ...theme.typography.sTitle },\n xsTitle: {},\n xxsTitle: { ...theme.typography.xxsTitle },\n sectionTitle: {\n ...theme.typography.sectionTitle,\n textTransform: \"uppercase\",\n },\n highlightText: {},\n normalText: {},\n placeholderText: { ...theme.typography.placeholderText },\n link: {\n ...theme.typography.link,\n cursor: \"pointer\",\n textDecoration: \"underline\",\n },\n disabledText: { ...theme.typography.disabledText },\n selectedNavText: { ...theme.typography.selectedNavText },\n vizText: {},\n vizTextDisabled: { ...theme.typography.vizTextDisabled },\n xsInlineLink: { ...theme.typography.xsInlineLink },\n});\n"],"names":["useClasses","staticClasses","createClasses","root","fontFamily","theme","body","disabled","color","colors","secondary_60","isLink","primary","textDecoration","noWrap","overflow","textOverflow","whiteSpace","display","typography","title1","title2","title3","title4","label","caption1","caption2","xxlTitle","xlTitle","lTitle","mTitle","sTitle","xsTitle","xxsTitle","sectionTitle","textTransform","highlightText","normalText","placeholderText","link","cursor","disabledText","selectedNavText","vizText","vizTextDisabled","xsInlineLink"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.cjs","sources":["../../../../src/components/Typography/utils.ts"],"sourcesContent":["const mappableVariants = new Map([\n [\"3xlTitle\", \"display\"],\n [\"xlTitle\", \"title1\"],\n [\"mTitle\", \"title2\"],\n [\"xsTitle\", \"title3\"],\n [\"highlightText\", \"label\"],\n [\"normalText\", \"body\"],\n [\"vizText\", \"caption1\"],\n]);\n\nconst isLegacyVariant = (variant: string) => {\n return [\n \"5xlTitle\",\n \"4xlTitle\",\n \"3xlTitle\",\n \"xxlTitle\",\n \"xlTitle\",\n \"lTitle\",\n \"mTitle\",\n \"sTitle\",\n \"xsTitle\",\n \"xxsTitle\",\n \"sectionTitle\",\n \"highlightText\",\n \"normalText\",\n \"placeholderText\",\n \"link\",\n \"disabledText\",\n \"selectedNavText\",\n \"vizText\",\n \"vizTextDisabled\",\n \"xsInlineLink\",\n ].includes(variant);\n};\n\nexport const mapVariant = (variant: string, theme?: string) => {\n const mappedVariant = mappableVariants.get(variant);\n\n if (theme !== \"ds3\") {\n if (mappedVariant) {\n // eslint-disable-next-line no-console\n console.warn(\n `The typography variant ${variant} is deprecated. You should use ${mappedVariant} instead.`\n );\n return mappedVariant;\n }\n if (isLegacyVariant(variant)) {\n // eslint-disable-next-line no-console\n console.warn(`The typography variant ${variant} is deprecated.`);\n }\n }\n\n return variant;\n};\n"],"names":["mappableVariants","Map","isLegacyVariant","variant","includes","mapVariant","theme","mappedVariant","get","warn"],"mappings":";;AAAA,MAAMA,mBAAmB,oBAAIC,IAAI,CAC/B,CAAC,YAAY,SAAS,GACtB,CAAC,WAAW,QAAQ,GACpB,CAAC,UAAU,QAAQ,GACnB,CAAC,WAAW,QAAQ,GACpB,CAAC,iBAAiB,OAAO,GACzB,CAAC,cAAc,MAAM,GACrB,CAAC,WAAW,UAAU,CAAC,CACxB;AAED,MAAMC,kBAAkBA,CAACC,YAAoB;AACpC,SAAA,CACL,YACA,YACA,YACA,YACA,WACA,UACA,UACA,UACA,WACA,YACA,gBACA,iBACA,cACA,mBACA,QACA,gBACA,mBACA,WACA,mBACA,cAAc,EACdC,SAASD,OAAO;AACpB;AAEaE,MAAAA,aAAaA,CAACF,SAAiBG,UAAmB;AACvDC,QAAAA,gBAAgBP,iBAAiBQ,IAAIL,OAAO;AAElD,MAAIG,UAAU,OAAO;AACnB,QAAIC,eAAe;AAETE,cAAAA,KACL,0BAAyBN,yCAAyCI,wBACrE;AACOA,aAAAA;AAAAA,IACT;AACIL,QAAAA,gBAAgBC,OAAO,GAAG;AAEpBM,cAAAA,KAAM,0BAAyBN,wBAAwB;AAAA,IACjE;AAAA,EACF;AAEOA,SAAAA;AACT;;"}
1
+ {"version":3,"file":"utils.cjs","sources":["../../../../src/components/Typography/utils.ts"],"sourcesContent":["import { HvTypographyLegacyVariants, HvTypographyVariants } from \".\";\n\ntype Variant = HvTypographyVariants | HvTypographyLegacyVariants;\n\nconst mappableVariants = new Map<Variant, HvTypographyVariants>([\n [\"3xlTitle\", \"display\"],\n [\"xlTitle\", \"title1\"],\n [\"mTitle\", \"title2\"],\n [\"xsTitle\", \"title3\"],\n [\"highlightText\", \"label\"],\n [\"normalText\", \"body\"],\n [\"vizText\", \"caption1\"],\n]);\n\nconst isLegacyVariant = (variant: string) => {\n return [\n \"5xlTitle\",\n \"4xlTitle\",\n \"3xlTitle\",\n \"xxlTitle\",\n \"xlTitle\",\n \"lTitle\",\n \"mTitle\",\n \"sTitle\",\n \"xsTitle\",\n \"xxsTitle\",\n \"sectionTitle\",\n \"highlightText\",\n \"normalText\",\n \"placeholderText\",\n \"link\",\n \"disabledText\",\n \"selectedNavText\",\n \"vizText\",\n \"vizTextDisabled\",\n \"xsInlineLink\",\n ].includes(variant);\n};\n\nexport const mapVariant = (variant: Variant, theme?: string) => {\n const mappedVariant = mappableVariants.get(variant);\n\n if (theme !== \"ds3\") {\n if (mappedVariant) {\n // eslint-disable-next-line no-console\n console.warn(\n `The typography variant ${variant} is deprecated. You should use ${mappedVariant} instead.`\n );\n return mappedVariant;\n }\n if (isLegacyVariant(variant)) {\n // eslint-disable-next-line no-console\n console.warn(`The typography variant ${variant} is deprecated.`);\n }\n }\n\n return variant;\n};\n"],"names":["mappableVariants","Map","isLegacyVariant","variant","includes","mapVariant","theme","mappedVariant","get","warn"],"mappings":";;AAIA,MAAMA,mBAAmB,oBAAIC,IAAmC,CAC9D,CAAC,YAAY,SAAS,GACtB,CAAC,WAAW,QAAQ,GACpB,CAAC,UAAU,QAAQ,GACnB,CAAC,WAAW,QAAQ,GACpB,CAAC,iBAAiB,OAAO,GACzB,CAAC,cAAc,MAAM,GACrB,CAAC,WAAW,UAAU,CAAC,CACxB;AAED,MAAMC,kBAAkBA,CAACC,YAAoB;AACpC,SAAA,CACL,YACA,YACA,YACA,YACA,WACA,UACA,UACA,UACA,WACA,YACA,gBACA,iBACA,cACA,mBACA,QACA,gBACA,mBACA,WACA,mBACA,cAAc,EACdC,SAASD,OAAO;AACpB;AAEaE,MAAAA,aAAaA,CAACF,SAAkBG,UAAmB;AACxDC,QAAAA,gBAAgBP,iBAAiBQ,IAAIL,OAAO;AAElD,MAAIG,UAAU,OAAO;AACnB,QAAIC,eAAe;AAETE,cAAAA,KACL,0BAAyBN,yCAAyCI,wBACrE;AACOA,aAAAA;AAAAA,IACT;AACIL,QAAAA,gBAAgBC,OAAO,GAAG;AAEpBM,cAAAA,KAAM,0BAAyBN,wBAAwB;AAAA,IACjE;AAAA,EACF;AAEOA,SAAAA;AACT;;"}
@@ -33,7 +33,7 @@ const HvVerticalNavigationHeader = ({
33
33
  if (navigateToParentHandler)
34
34
  navigateToParentHandler();
35
35
  };
36
- const shouldShowTitle = React.useMemo(() => !slider || slider && !Array.isArray(parentItem), [parentItem]);
36
+ const shouldShowTitle = React.useMemo(() => !slider || slider && !Array.isArray(parentItem), [parentItem, slider]);
37
37
  return shouldShowTitle ? /* @__PURE__ */ jsxRuntime.jsxs(Header_styles.StyledHeader, {
38
38
  className: clsx.clsx(className, headerClasses.default.root, classes == null ? void 0 : classes.root, !isOpen && clsx.clsx(headerClasses.default.minimized, classes == null ? void 0 : classes.minimized)),
39
39
  ...others,
@@ -1 +1 @@
1
- {"version":3,"file":"Header.cjs","sources":["../../../../../src/components/VerticalNavigation/Header/Header.tsx"],"sourcesContent":["import { Backwards, Forwards, Menu } from \"@hitachivantara/uikit-react-icons\";\nimport { clsx } from \"clsx\";\nimport { HvButton, HvButtonProps, HvTypography } from \"@core/components\";\nimport { MouseEventHandler, useContext, useMemo } from \"react\";\nimport { VerticalNavigationContext } from \"../VerticalNavigationContext\";\nimport { StyledCollapseButton, StyledHeader } from \"./Header.styles\";\nimport verticalNavigationHeaderClasses, {\n HvVerticalNavigationHeaderClasses,\n} from \"./headerClasses\";\n\nexport interface HvVerticalNavigationHeaderProps {\n /**\n * Id to be applied to the root node.\n */\n id?: string;\n /**\n * The title text to show on Header.\n */\n title?: string;\n /**\n * Icon to show when Vertical Navigation is collapsed.\n */\n openIcon?: React.ReactNode;\n /**\n * Icon to show when Vertical Navigation is expanded.\n */\n closeIcon?: React.ReactNode;\n /**\n * Props for the collapse button.\n */\n collapseButtonProps?: HvButtonProps;\n /**\n * Props for the back button.\n */\n backButtonProps?: HvButtonProps;\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?: HvVerticalNavigationHeaderClasses;\n /**\n * Handler for the collapse button.\n */\n onCollapseButtonClick?: MouseEventHandler<HTMLElement>;\n}\n\nexport const HvVerticalNavigationHeader = ({\n title,\n openIcon = <Forwards />,\n closeIcon = <Backwards />,\n collapseButtonProps,\n backButtonProps,\n className,\n classes,\n onCollapseButtonClick,\n ...others\n}: HvVerticalNavigationHeaderProps) => {\n const {\n isOpen,\n useIcons,\n headerTitle,\n slider,\n navigateToParentHandler,\n parentItem,\n } = useContext(VerticalNavigationContext);\n\n openIcon = !useIcons ? <Menu /> : openIcon;\n\n const backButtonClickHandler = () => {\n if (navigateToParentHandler) navigateToParentHandler();\n };\n\n // whenever we're in a sublevel, the parentItem is always a single item.\n // In the first level it's always an array with the first level elements.\n const shouldShowTitle = useMemo(\n () => !slider || (slider && !Array.isArray(parentItem)),\n [parentItem]\n );\n\n return shouldShowTitle ? (\n <StyledHeader\n className={clsx(\n className,\n verticalNavigationHeaderClasses.root,\n classes?.root,\n !isOpen &&\n clsx(verticalNavigationHeaderClasses.minimized, classes?.minimized)\n )}\n {...others}\n >\n {isOpen && headerTitle && slider && (\n <HvButton\n icon\n variant=\"secondaryGhost\"\n onClick={backButtonClickHandler}\n {...backButtonProps}\n >\n <Backwards iconSize=\"XS\" />\n </HvButton>\n )}\n {isOpen && (\n <HvTypography variant={slider ? \"label\" : \"title3\"}>\n {headerTitle && slider ? headerTitle : title}\n </HvTypography>\n )}\n {onCollapseButtonClick && (\n <StyledCollapseButton\n icon\n variant=\"secondaryGhost\"\n onClick={onCollapseButtonClick}\n classes={{\n root: isOpen ? \"\" : verticalNavigationHeaderClasses.minimized,\n }}\n {...collapseButtonProps}\n >\n {isOpen ? closeIcon : openIcon}\n </StyledCollapseButton>\n )}\n </StyledHeader>\n ) : null;\n};\n"],"names":["HvVerticalNavigationHeader","title","openIcon","_jsx","Forwards","closeIcon","Backwards","collapseButtonProps","backButtonProps","className","classes","onCollapseButtonClick","others","isOpen","useIcons","headerTitle","slider","navigateToParentHandler","parentItem","useContext","VerticalNavigationContext","Menu","backButtonClickHandler","shouldShowTitle","useMemo","Array","isArray","StyledHeader","clsx","verticalNavigationHeaderClasses","root","minimized","children","HvButton","icon","variant","onClick","iconSize","HvTypography","StyledCollapseButton"],"mappings":";;;;;;;;;;;AAiDO,MAAMA,6BAA6BA,CAAC;AAAA,EACzCC;AAAAA,EACAC,WAAWC,2BAAAA,IAACC,4BAAU;AAAA,EACtBC,YAAYF,2BAAAA,IAACG,6BAAW;AAAA,EACxBC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACA,GAAGC;AAC4B,MAAM;AAC/B,QAAA;AAAA,IACJC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,EAAAA,IACEC,MAAAA,WAAWC,0BAAAA,yBAAyB;AAExClB,aAAW,CAACY,WAAWX,2BAAAA,IAACkB,gBAAAA,MAAI,CAAA,CAAE,IAAInB;AAElC,QAAMoB,yBAAyBA,MAAM;AAC/BL,QAAAA;AAAiD;EAAA;AAKvD,QAAMM,kBAAkBC,MAAAA,QACtB,MAAM,CAACR,UAAWA,UAAU,CAACS,MAAMC,QAAQR,UAAU,GACrD,CAACA,UAAU,CACb;AAEOK,SAAAA,kDACJI,4BAAY;AAAA,IACXlB,WAAWmB,KAAAA,KACTnB,WACAoB,cAAAA,QAAgCC,MAChCpB,mCAASoB,MACT,CAACjB,UACCe,KAAKC,KAAAA,cAAAA,QAAgCE,WAAWrB,mCAASqB,SAAS,CACtE;AAAA,IAAE,GACEnB;AAAAA,IAAMoB,UAAA,CAETnB,UAAUE,eAAeC,yCACvBiB,OAAAA,UAAQ;AAAA,MACPC,MAAI;AAAA,MACJC,SAAQ;AAAA,MACRC,SAASd;AAAAA,MAAuB,GAC5Bd;AAAAA,MAAewB,yCAElB1B,2BAAS;AAAA,QAAC+B,UAAS;AAAA,MAAA,CAAM;AAAA,IAAA,CAClB,GAEXxB,UACCV,2BAAAA,IAACmC,yBAAY;AAAA,MAACH,SAASnB,SAAS,UAAU;AAAA,MAASgB,UAChDjB,eAAeC,SAASD,cAAcd;AAAAA,IAAAA,CAC3B,GAEfU,yBACCR,2BAAAA,IAACoC,oCAAoB;AAAA,MACnBL,MAAI;AAAA,MACJC,SAAQ;AAAA,MACRC,SAASzB;AAAAA,MACTD,SAAS;AAAA,QACPoB,MAAMjB,SAAS,KAAKgB,cAAAA,QAAgCE;AAAAA,MACtD;AAAA,MAAE,GACExB;AAAAA,MAAmByB,UAEtBnB,SAASR,YAAYH;AAAAA,IAAAA,CACF,CACvB;AAAA,EACW,CAAA,IACZ;AACN;;"}
1
+ {"version":3,"file":"Header.cjs","sources":["../../../../../src/components/VerticalNavigation/Header/Header.tsx"],"sourcesContent":["import { Backwards, Forwards, Menu } from \"@hitachivantara/uikit-react-icons\";\nimport { clsx } from \"clsx\";\nimport { HvButton, HvButtonProps, HvTypography } from \"@core/components\";\nimport { MouseEventHandler, useContext, useMemo } from \"react\";\nimport { VerticalNavigationContext } from \"../VerticalNavigationContext\";\nimport { StyledCollapseButton, StyledHeader } from \"./Header.styles\";\nimport verticalNavigationHeaderClasses, {\n HvVerticalNavigationHeaderClasses,\n} from \"./headerClasses\";\n\nexport interface HvVerticalNavigationHeaderProps {\n /**\n * Id to be applied to the root node.\n */\n id?: string;\n /**\n * The title text to show on Header.\n */\n title?: string;\n /**\n * Icon to show when Vertical Navigation is collapsed.\n */\n openIcon?: React.ReactNode;\n /**\n * Icon to show when Vertical Navigation is expanded.\n */\n closeIcon?: React.ReactNode;\n /**\n * Props for the collapse button.\n */\n collapseButtonProps?: HvButtonProps;\n /**\n * Props for the back button.\n */\n backButtonProps?: HvButtonProps;\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?: HvVerticalNavigationHeaderClasses;\n /**\n * Handler for the collapse button.\n */\n onCollapseButtonClick?: MouseEventHandler<HTMLElement>;\n}\n\nexport const HvVerticalNavigationHeader = ({\n title,\n openIcon = <Forwards />,\n closeIcon = <Backwards />,\n collapseButtonProps,\n backButtonProps,\n className,\n classes,\n onCollapseButtonClick,\n ...others\n}: HvVerticalNavigationHeaderProps) => {\n const {\n isOpen,\n useIcons,\n headerTitle,\n slider,\n navigateToParentHandler,\n parentItem,\n } = useContext(VerticalNavigationContext);\n\n openIcon = !useIcons ? <Menu /> : openIcon;\n\n const backButtonClickHandler = () => {\n if (navigateToParentHandler) navigateToParentHandler();\n };\n\n // whenever we're in a sublevel, the parentItem is always a single item.\n // In the first level it's always an array with the first level elements.\n const shouldShowTitle = useMemo(\n () => !slider || (slider && !Array.isArray(parentItem)),\n [parentItem, slider]\n );\n\n return shouldShowTitle ? (\n <StyledHeader\n className={clsx(\n className,\n verticalNavigationHeaderClasses.root,\n classes?.root,\n !isOpen &&\n clsx(verticalNavigationHeaderClasses.minimized, classes?.minimized)\n )}\n {...others}\n >\n {isOpen && headerTitle && slider && (\n <HvButton\n icon\n variant=\"secondaryGhost\"\n onClick={backButtonClickHandler}\n {...backButtonProps}\n >\n <Backwards iconSize=\"XS\" />\n </HvButton>\n )}\n {isOpen && (\n <HvTypography variant={slider ? \"label\" : \"title3\"}>\n {headerTitle && slider ? headerTitle : title}\n </HvTypography>\n )}\n {onCollapseButtonClick && (\n <StyledCollapseButton\n icon\n variant=\"secondaryGhost\"\n onClick={onCollapseButtonClick}\n classes={{\n root: isOpen ? \"\" : verticalNavigationHeaderClasses.minimized,\n }}\n {...collapseButtonProps}\n >\n {isOpen ? closeIcon : openIcon}\n </StyledCollapseButton>\n )}\n </StyledHeader>\n ) : null;\n};\n"],"names":["HvVerticalNavigationHeader","title","openIcon","_jsx","Forwards","closeIcon","Backwards","collapseButtonProps","backButtonProps","className","classes","onCollapseButtonClick","others","isOpen","useIcons","headerTitle","slider","navigateToParentHandler","parentItem","useContext","VerticalNavigationContext","Menu","backButtonClickHandler","shouldShowTitle","useMemo","Array","isArray","StyledHeader","clsx","verticalNavigationHeaderClasses","root","minimized","children","HvButton","icon","variant","onClick","iconSize","HvTypography","StyledCollapseButton"],"mappings":";;;;;;;;;;;AAiDO,MAAMA,6BAA6BA,CAAC;AAAA,EACzCC;AAAAA,EACAC,WAAWC,2BAAAA,IAACC,4BAAU;AAAA,EACtBC,YAAYF,2BAAAA,IAACG,6BAAW;AAAA,EACxBC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACA,GAAGC;AAC4B,MAAM;AAC/B,QAAA;AAAA,IACJC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,EAAAA,IACEC,MAAAA,WAAWC,0BAAAA,yBAAyB;AAExClB,aAAW,CAACY,WAAWX,2BAAAA,IAACkB,gBAAAA,MAAI,CAAA,CAAE,IAAInB;AAElC,QAAMoB,yBAAyBA,MAAM;AAC/BL,QAAAA;AAAiD;EAAA;AAKvD,QAAMM,kBAAkBC,MAAAA,QACtB,MAAM,CAACR,UAAWA,UAAU,CAACS,MAAMC,QAAQR,UAAU,GACrD,CAACA,YAAYF,MAAM,CACrB;AAEOO,SAAAA,kDACJI,4BAAY;AAAA,IACXlB,WAAWmB,KAAAA,KACTnB,WACAoB,cAAAA,QAAgCC,MAChCpB,mCAASoB,MACT,CAACjB,UACCe,KAAKC,KAAAA,cAAAA,QAAgCE,WAAWrB,mCAASqB,SAAS,CACtE;AAAA,IAAE,GACEnB;AAAAA,IAAMoB,UAAA,CAETnB,UAAUE,eAAeC,yCACvBiB,OAAAA,UAAQ;AAAA,MACPC,MAAI;AAAA,MACJC,SAAQ;AAAA,MACRC,SAASd;AAAAA,MAAuB,GAC5Bd;AAAAA,MAAewB,yCAElB1B,2BAAS;AAAA,QAAC+B,UAAS;AAAA,MAAA,CAAM;AAAA,IAAA,CAClB,GAEXxB,UACCV,2BAAAA,IAACmC,yBAAY;AAAA,MAACH,SAASnB,SAAS,UAAU;AAAA,MAASgB,UAChDjB,eAAeC,SAASD,cAAcd;AAAAA,IAAAA,CAC3B,GAEfU,yBACCR,2BAAAA,IAACoC,oCAAoB;AAAA,MACnBL,MAAI;AAAA,MACJC,SAAQ;AAAA,MACRC,SAASzB;AAAAA,MACTD,SAAS;AAAA,QACPoB,MAAMjB,SAAS,KAAKgB,cAAAA,QAAgCE;AAAAA,MACtD;AAAA,MAAE,GACExB;AAAAA,MAAmByB,UAEtBnB,SAASR,YAAYH;AAAAA,IAAAA,CACF,CACvB;AAAA,EACW,CAAA,IACZ;AACN;;"}
@@ -141,8 +141,8 @@ const HvVerticalNavigationTree = ({
141
141
  onChange(event, selectedItem);
142
142
  }
143
143
  }
144
- }, [onChange, setSelected]);
145
- const treeViewItemMouseEnterHandler = (event, item) => {
144
+ }, [onChange, setSelected, setExpanded, isOpen, useIcons, data]);
145
+ const treeViewItemMouseEnterHandler = React.useCallback((event, item) => {
146
146
  const isCollapsed = useIcons && !isOpen;
147
147
  if (isCollapsed && item.data && !(navigationPopup == null ? void 0 : navigationPopup.fixedMode)) {
148
148
  const currentEventTarget = event.currentTarget;
@@ -155,14 +155,14 @@ const HvVerticalNavigationTree = ({
155
155
  } else if (isCollapsed && !item.data && !(navigationPopup == null ? void 0 : navigationPopup.fixedMode)) {
156
156
  setNavigationPopup(null);
157
157
  }
158
- };
158
+ }, [isOpen, useIcons, navigationPopup]);
159
159
  const handleToggle = React.useCallback((event, newExpanded) => {
160
160
  setExpanded(newExpanded);
161
161
  if (onToggle) {
162
162
  onToggle(event, newExpanded);
163
163
  }
164
164
  }, [onToggle, setExpanded]);
165
- const children = React.useMemo(() => data && createListHierarchy(data, id, classes, treeViewItemMouseEnterHandler, navigationPopup == null ? void 0 : navigationPopup.fixedMode), [classes, data, id, navigationPopup, isOpen]);
165
+ const children = React.useMemo(() => data && createListHierarchy(data, id, classes, treeViewItemMouseEnterHandler, navigationPopup == null ? void 0 : navigationPopup.fixedMode), [classes, data, id, navigationPopup, treeViewItemMouseEnterHandler]);
166
166
  React.useEffect(() => {
167
167
  if (!isOpen) {
168
168
  setNavigationPopup == null ? void 0 : setNavigationPopup(null);
@@ -171,16 +171,16 @@ const HvVerticalNavigationTree = ({
171
171
  React.useEffect(() => {
172
172
  if (setParentSelected)
173
173
  setParentSelected(selected);
174
- }, [selected, setSelected]);
174
+ }, [selected, setSelected, setParentSelected]);
175
175
  React.useEffect(() => {
176
176
  if (setParentData)
177
177
  setParentData(data);
178
- }, [data]);
178
+ }, [data, setParentData]);
179
179
  React.useEffect(() => {
180
180
  if (withParentData && selected && setParentItem && NavigationSlider_utils.getParentItemById(withParentData, selected)) {
181
181
  setParentItem(NavigationSlider_utils.getParentItemById(withParentData, selected));
182
182
  }
183
- }, [withParentData]);
183
+ }, [withParentData, selected, setParentItem]);
184
184
  const navigateToTargetHandler = (event, selectedItem) => {
185
185
  handleChange(event, selectedItem.id, selectedItem);
186
186
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Navigation.cjs","sources":["../../../../../src/components/VerticalNavigation/Navigation/Navigation.tsx"],"sourcesContent":["import {\n useCallback,\n useMemo,\n useContext,\n useEffect,\n useState,\n ComponentProps,\n} from \"react\";\nimport { clsx } from \"clsx\";\nimport uniqueId from \"lodash/uniqueId\";\nimport { setId, wrapperTooltip } from \"@core/utils\";\nimport { useControlled } from \"@core/hooks\";\nimport { HvBaseProps } from \"@core/types\";\nimport {\n HvVerticalNavigationTreeView,\n HvVerticalNavigationTreeViewItem,\n} from \"../TreeView\";\nimport verticalNavigationTreeClasses, {\n HvVerticalNavigationTreeClasses,\n} from \"./navigationClasses\";\nimport { StyledNav } from \"./Navigation.styles\";\nimport { HvVerticalNavigationSlider } from \"..\";\nimport { VerticalNavigationContext } from \"../VerticalNavigationContext\";\nimport { HvVerticalNavigationPopup } from \"../NavigationPopup/NavigationPopup\";\nimport { getParentItemById } from \"../NavigationSlider/utils/NavigationSlider.utils\";\n\nexport type NavigationData<T extends React.ElementType = \"a\"> =\n ComponentProps<T> &\n Record<string, any> & {\n /** The id to be applied to the root element. */\n id: string;\n /** The label to be rendered on the menu item. */\n label: string;\n /** The icon to be rendered. */\n icon?: React.ReactNode;\n /** The Data children subset. */\n data?: NavigationData<T>[];\n /** Whether the item is disabled and not interactive. */\n disabled?: boolean;\n /** Whether the item has a selected state. */\n selectable?: boolean;\n };\n\nconst createListHierarchy = (\n items,\n id,\n classes?: HvVerticalNavigationTreeClasses,\n mouseEnterHandler?: (event, item) => void,\n disableTooltip = false\n) =>\n items.map((item) => {\n const {\n id: itemId,\n label: itemLabel,\n icon,\n data: children,\n selectable,\n disabled,\n href,\n target,\n } = item;\n\n const ItemText = wrapperTooltip(true, itemLabel, itemLabel);\n\n const itemMouseEnterHandler = (event) => {\n mouseEnterHandler?.(event, item);\n };\n\n return (\n <HvVerticalNavigationTreeViewItem\n id={setId(id, itemId)}\n className={classes?.listItem}\n href={href}\n target={target}\n key={itemId}\n nodeId={itemId}\n label={<ItemText />}\n icon={icon}\n payload={item}\n selectable={selectable}\n disabled={disabled}\n onMouseEnter={itemMouseEnterHandler}\n disableTooltip={disableTooltip}\n >\n {children\n ? createListHierarchy(\n children,\n id,\n classes,\n mouseEnterHandler,\n disableTooltip\n )\n : undefined}\n </HvVerticalNavigationTreeViewItem>\n );\n });\n\nconst getAllParents = (items) => {\n const parents = items.filter(\n (item) => item.data != null && item.data.length > 0\n );\n const childParents = parents.flatMap((item) => getAllParents(item.data));\n\n return [...parents, ...childParents];\n};\n\nfunction pathToElement(data, targetId) {\n const path: string[] = [];\n\n if (data != null && data.length > 0) {\n for (let i = 0; i !== data.length; ++i) {\n const item = data[i];\n if (item.id === targetId) {\n path.push(item.id);\n break;\n }\n\n const subPaths = pathToElement(item.data, targetId);\n if (subPaths.length > 0) {\n path.push(item.id);\n path.push(...subPaths);\n break;\n }\n }\n }\n\n return path;\n}\n\nexport const HvVerticalNavigationTree = ({\n id,\n\n className,\n classes,\n\n data,\n\n mode = \"navigation\",\n\n collapsible = false,\n expanded: expandedProp,\n defaultExpanded,\n onToggle,\n\n selected: selectedProp,\n defaultSelected,\n onChange,\n\n ...others\n}: HvVerticalNavigationTreeProps) => {\n const [selected, setSelected] = useControlled(selectedProp, defaultSelected);\n const [expanded, setExpanded] = useControlled(expandedProp, () => {\n if (defaultExpanded === true) {\n // all parent nodes will be expanded by default\n return getAllParents(data).map((item) => item.id);\n }\n\n if (defaultExpanded === false) {\n // all parent nodes will be collapsed by default\n return [];\n }\n\n if (defaultExpanded == null) {\n if (selected != null) {\n // the path to the selected node will be expanded (default behaviour)\n const path = pathToElement(data, selected);\n return path.slice(0, -1);\n }\n\n // nothing is expanded\n return [];\n }\n\n return defaultExpanded;\n });\n\n const {\n isOpen,\n useIcons,\n slider,\n\n parentItem,\n setParentItem,\n withParentData,\n navigateToChildHandler,\n\n setParentData,\n setParentSelected,\n } = useContext(VerticalNavigationContext);\n\n const [navigationPopup, setNavigationPopup] = useState<{\n // This value is needed to guarantee that the NavigationPopup is fully re-rendered with keeping any previous values\n uniqueKey: string;\n anchorEl: HTMLButtonElement | null;\n fixedMode: boolean;\n data: NavigationData[];\n } | null>(null);\n\n const handleChange = useCallback(\n (event, selectedId, selectedItem) => {\n if (useIcons && !isOpen && selectedItem.data) {\n const currentEventTarget = event.currentTarget;\n setNavigationPopup((prevState) => {\n // We want to close the popup in case the clicked element is the same as the previous one\n return prevState?.anchorEl === currentEventTarget\n ? null\n : {\n uniqueKey: uniqueId(),\n anchorEl: currentEventTarget,\n fixedMode: true,\n data: selectedItem.data,\n };\n });\n\n // We need this stopPropagation or else the Popup will close due to the clickaway being triggered\n event.stopPropagation();\n } else {\n setSelected(selectedId);\n setExpanded((prevState) => {\n if (!isOpen) {\n return [...prevState, ...pathToElement(data, selectedId)];\n }\n return [...prevState];\n });\n setNavigationPopup(null);\n if (onChange) {\n onChange(event, selectedItem);\n }\n }\n },\n [onChange, setSelected]\n );\n\n const treeViewItemMouseEnterHandler = (event, item) => {\n const isCollapsed = useIcons && !isOpen;\n\n if (isCollapsed && item.data && !navigationPopup?.fixedMode) {\n const currentEventTarget = event.currentTarget;\n\n setNavigationPopup?.({\n uniqueKey: uniqueId(),\n anchorEl: currentEventTarget,\n fixedMode: false,\n data: item.data,\n });\n } else if (isCollapsed && !item.data && !navigationPopup?.fixedMode) {\n setNavigationPopup(null);\n }\n };\n\n const handleToggle = useCallback(\n (event, newExpanded) => {\n setExpanded(newExpanded);\n\n if (onToggle) {\n onToggle(event, newExpanded);\n }\n },\n [onToggle, setExpanded]\n );\n\n const children = useMemo(\n () =>\n data &&\n createListHierarchy(\n data,\n id,\n classes,\n treeViewItemMouseEnterHandler,\n navigationPopup?.fixedMode\n ),\n [classes, data, id, navigationPopup, isOpen]\n );\n\n useEffect(() => {\n if (!isOpen) {\n setNavigationPopup?.(null);\n }\n }, [isOpen]);\n\n useEffect(() => {\n if (setParentSelected) setParentSelected(selected);\n }, [selected, setSelected]);\n\n useEffect(() => {\n if (setParentData) setParentData(data);\n }, [data]);\n\n useEffect(() => {\n if (\n withParentData &&\n selected &&\n setParentItem &&\n getParentItemById(withParentData, selected)\n ) {\n setParentItem(getParentItemById(withParentData, selected));\n }\n }, [withParentData]);\n\n // navigation slider\n const navigateToTargetHandler = (event, selectedItem) => {\n handleChange(event, selectedItem.id, selectedItem);\n };\n\n const handleNavigationPopupClose = () => {\n setNavigationPopup(null);\n };\n\n const handleStyledNavMouseLeave = () => {\n if (useIcons && !isOpen && !navigationPopup?.fixedMode) {\n setNavigationPopup(null);\n }\n };\n\n return (\n <StyledNav\n id={id}\n className={clsx(\n className,\n verticalNavigationTreeClasses.root,\n classes?.root,\n !isOpen &&\n !useIcons &&\n clsx(verticalNavigationTreeClasses.collapsed, classes?.collapsed)\n )}\n onMouseLeave={handleStyledNavMouseLeave}\n {...others}\n >\n {slider ? (\n <HvVerticalNavigationSlider\n data={parentItem.data || withParentData}\n selected={selected}\n onNavigateToTarget={navigateToTargetHandler}\n onNavigateToChild={navigateToChildHandler}\n />\n ) : (\n <HvVerticalNavigationTreeView\n id={setId(id, \"tree\")}\n className={clsx(verticalNavigationTreeClasses.list, classes?.list)}\n selectable\n mode={mode}\n collapsible={collapsible}\n selected={selected}\n onChange={handleChange}\n expanded={expanded}\n onToggle={handleToggle}\n >\n {useIcons && !isOpen && navigationPopup && (\n <HvVerticalNavigationPopup\n id={setId(id, \"navigation-popup\")}\n key={navigationPopup.uniqueKey}\n anchorEl={navigationPopup.anchorEl}\n selected={selected}\n fixedMode={navigationPopup.fixedMode}\n data={navigationPopup.data}\n onClose={handleNavigationPopupClose}\n onChange={handleChange}\n className={clsx(\n verticalNavigationTreeClasses.navigationPopup,\n classes?.navigationPopup\n )}\n />\n )}\n {children}\n </HvVerticalNavigationTreeView>\n )}\n </StyledNav>\n );\n};\n\nexport interface HvVerticalNavigationTreeProps\n extends HvBaseProps<HTMLDivElement, \"onChange\"> {\n /**\n * Id to be applied to the root node.\n */\n id?: string;\n /**\n * Class names to be applied.\n */\n className?: string;\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes?: HvVerticalNavigationTreeClasses;\n /**\n * Modus operandi (role) of the widget instance.\n */\n mode?: NavigationMode;\n /**\n * Can non-leaf nodes be collapsed / expanded.\n */\n collapsible?: boolean;\n /**\n * The ID of the selected page.\n */\n selected?: string;\n /**\n * When uncontrolled, defines the initial selected page ID.\n */\n defaultSelected?: string;\n /**\n * Callback fired when a navigation item is selected.\n *\n * @param {object} event The event source of the callback.\n * @param {object} page The data of the selected page.\n */\n onChange?: (event, page) => void;\n /**\n * Expanded nodes' ids.\n */\n expanded?: string[];\n /**\n * When uncontrolled, defines the initial expanded nodes' ids.\n *\n * It also supports `true` for starting with all nodes expanded.\n * With `false` all nodes will be collapsed.\n *\n * By default it expands the needed nodes to display the current selection, if any.\n */\n defaultExpanded?: string[] | boolean;\n /**\n * Callback fired when tree items are expanded/collapsed.\n *\n * @param {object} event The event source of the callback.\n * @param {array} nodeIds The ids of the expanded nodes (old and new).\n */\n onToggle?: (event, nodeIds) => void;\n /**\n * An array containing the data for each menu item.\n *\n * id - the id to be applied to the root element.\n * label - the label to be rendered on the menu item.\n * data - sub-menu items\n * href - the url used for navigation.\n * target - the behavior when opening an url.\n */\n data?: NavigationData[];\n}\n\nexport type NavigationMode = \"treeview\" | \"navigation\" | \"slider\";\n"],"names":["createListHierarchy","items","id","classes","mouseEnterHandler","disableTooltip","map","item","itemId","label","itemLabel","icon","data","children","selectable","disabled","href","target","ItemText","wrapperTooltip","itemMouseEnterHandler","event","HvVerticalNavigationTreeViewItem","setId","className","listItem","nodeId","_jsx","payload","onMouseEnter","undefined","getAllParents","parents","filter","length","childParents","flatMap","pathToElement","targetId","path","i","push","subPaths","HvVerticalNavigationTree","mode","collapsible","expanded","expandedProp","defaultExpanded","onToggle","selected","selectedProp","defaultSelected","onChange","others","setSelected","useControlled","setExpanded","slice","isOpen","useIcons","slider","parentItem","setParentItem","withParentData","navigateToChildHandler","setParentData","setParentSelected","useContext","VerticalNavigationContext","navigationPopup","setNavigationPopup","useState","handleChange","useCallback","selectedId","selectedItem","currentEventTarget","currentTarget","prevState","anchorEl","uniqueKey","uniqueId","fixedMode","stopPropagation","treeViewItemMouseEnterHandler","isCollapsed","handleToggle","newExpanded","useMemo","useEffect","getParentItemById","navigateToTargetHandler","handleNavigationPopupClose","handleStyledNavMouseLeave","StyledNav","clsx","verticalNavigationTreeClasses","root","collapsed","onMouseLeave","HvVerticalNavigationSlider","onNavigateToTarget","onNavigateToChild","_jsxs","HvVerticalNavigationTreeView","list","HvVerticalNavigationPopup","onClose"],"mappings":";;;;;;;;;;;;;;;;;;;AA2CA,MAAMA,sBAAsBA,CAC1BC,OACAC,IACAC,SACAC,mBACAC,iBAAiB,UAEjBJ,MAAMK,IAAKC,CAAS,SAAA;AACZ,QAAA;AAAA,IACJL,IAAIM;AAAAA,IACJC,OAAOC;AAAAA,IACPC;AAAAA,IACAC,MAAMC;AAAAA,IACNC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,EACEV,IAAAA;AAEJ,QAAMW,WAAWC,eAAAA,eAAe,MAAMT,WAAWA,SAAS;AAE1D,QAAMU,wBAAyBC,CAAU,UAAA;AACvCjB,2DAAoBiB,OAAOd;AAAAA,EAAI;AAGjC,wCACGe,aAAAA,kCAAgC;AAAA,IAC/BpB,IAAIqB,MAAAA,MAAMrB,IAAIM,MAAM;AAAA,IACpBgB,WAAWrB,mCAASsB;AAAAA,IACpBT;AAAAA,IACAC;AAAAA,IAEAS,QAAQlB;AAAAA,IACRC,OAAOkB,2BAAAA,IAACT,YAAU;AAAA,IAClBP;AAAAA,IACAiB,SAASrB;AAAAA,IACTO;AAAAA,IACAC;AAAAA,IACAc,cAAcT;AAAAA,IACdf;AAAAA,IAA+BQ,UAE9BA,WACGb,oBACEa,UACAX,IACAC,SACAC,mBACAC,cACF,IACAyB;AAAAA,KAlBCtB,MAmB2B;AAEtC,CAAC;AAEH,MAAMuB,gBAAiB9B,CAAU,UAAA;AACzB+B,QAAAA,UAAU/B,MAAMgC,OACnB1B,CAASA,SAAAA,KAAKK,QAAQ,QAAQL,KAAKK,KAAKsB,SAAS,CACpD;AACA,QAAMC,eAAeH,QAAQI,QAAS7B,UAASwB,cAAcxB,KAAKK,IAAI,CAAC;AAEvE,SAAO,CAAC,GAAGoB,SAAS,GAAGG,YAAY;AACrC;AAEA,SAASE,cAAczB,MAAM0B,UAAU;AACrC,QAAMC,OAAiB,CAAA;AAEvB,MAAI3B,QAAQ,QAAQA,KAAKsB,SAAS,GAAG;AACnC,aAASM,IAAI,GAAGA,MAAM5B,KAAKsB,QAAQ,EAAEM,GAAG;AAChCjC,YAAAA,OAAOK,KAAK4B,CAAC;AACfjC,UAAAA,KAAKL,OAAOoC,UAAU;AACnBG,aAAAA,KAAKlC,KAAKL,EAAE;AACjB;AAAA,MACF;AAEA,YAAMwC,WAAWL,cAAc9B,KAAKK,MAAM0B,QAAQ;AAC9CI,UAAAA,SAASR,SAAS,GAAG;AAClBO,aAAAA,KAAKlC,KAAKL,EAAE;AACZuC,aAAAA,KAAK,GAAGC,QAAQ;AACrB;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEOH,SAAAA;AACT;AAEO,MAAMI,2BAA2BA,CAAC;AAAA,EACvCzC;AAAAA,EAEAsB;AAAAA,EACArB;AAAAA,EAEAS;AAAAA,EAEAgC,OAAO;AAAA,EAEPC,cAAc;AAAA,EACdC,UAAUC;AAAAA,EACVC;AAAAA,EACAC;AAAAA,EAEAC,UAAUC;AAAAA,EACVC;AAAAA,EACAC;AAAAA,EAEA,GAAGC;AAC0B,MAAM;AACnC,QAAM,CAACJ,UAAUK,WAAW,IAAIC,cAAAA,cAAcL,cAAcC,eAAe;AAC3E,QAAM,CAACN,UAAUW,WAAW,IAAID,cAAAA,cAAcT,cAAc,MAAM;AAChE,QAAIC,oBAAoB,MAAM;AAE5B,aAAOjB,cAAcnB,IAAI,EAAEN,IAAKC,CAAAA,SAASA,KAAKL,EAAE;AAAA,IAClD;AAEA,QAAI8C,oBAAoB,OAAO;AAE7B,aAAO;IACT;AAEA,QAAIA,mBAAmB,MAAM;AAC3B,UAAIE,YAAY,MAAM;AAEdX,cAAAA,OAAOF,cAAczB,MAAMsC,QAAQ;AAClCX,eAAAA,KAAKmB,MAAM,GAAG,EAAE;AAAA,MACzB;AAGA,aAAO;IACT;AAEOV,WAAAA;AAAAA,EAAAA,CACR;AAEK,QAAA;AAAA,IACJW;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IAEAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IAEAC;AAAAA,IACAC;AAAAA,EAAAA,IACEC,MAAAA,WAAWC,0BAAAA,yBAAyB;AAExC,QAAM,CAACC,iBAAiBC,kBAAkB,IAAIC,eAMpC,IAAI;AAEd,QAAMC,eAAeC,MAAAA,YACnB,CAACrD,OAAOsD,YAAYC,iBAAiB;AACnC,QAAIhB,YAAY,CAACD,UAAUiB,aAAahE,MAAM;AAC5C,YAAMiE,qBAAqBxD,MAAMyD;AACjCP,yBAAoBQ,CAAc,cAAA;AAEzBA,gBAAAA,uCAAWC,cAAaH,qBAC3B,OACA;AAAA,UACEI,WAAWC,kBAAAA,QAAS;AAAA,UACpBF,UAAUH;AAAAA,UACVM,WAAW;AAAA,UACXvE,MAAMgE,aAAahE;AAAAA,QAAAA;AAAAA,MACrB,CACL;AAGDS,YAAM+D,gBAAgB;AAAA,IAAA,OACjB;AACL7B,kBAAYoB,UAAU;AACtBlB,kBAAasB,CAAc,cAAA;AACzB,YAAI,CAACpB,QAAQ;AACX,iBAAO,CAAC,GAAGoB,WAAW,GAAG1C,cAAczB,MAAM+D,UAAU,CAAC;AAAA,QAC1D;AACO,eAAA,CAAC,GAAGI,SAAS;AAAA,MAAA,CACrB;AACDR,yBAAmB,IAAI;AACvB,UAAIlB,UAAU;AACZA,iBAAShC,OAAOuD,YAAY;AAAA,MAC9B;AAAA,IACF;AAAA,EAAA,GAEF,CAACvB,UAAUE,WAAW,CACxB;AAEM8B,QAAAA,gCAAgCA,CAAChE,OAAOd,SAAS;AAC/C+E,UAAAA,cAAc1B,YAAY,CAACD;AAEjC,QAAI2B,eAAe/E,KAAKK,QAAQ,EAAC0D,mDAAiBa,YAAW;AAC3D,YAAMN,qBAAqBxD,MAAMyD;AAEZ,+DAAA;AAAA,QACnBG,WAAWC,kBAAAA,QAAS;AAAA,QACpBF,UAAUH;AAAAA,QACVM,WAAW;AAAA,QACXvE,MAAML,KAAKK;AAAAA,MAAAA;AAAAA,IACZ,WACQ0E,eAAe,CAAC/E,KAAKK,QAAQ,EAAC0D,mDAAiBa,YAAW;AACnEZ,yBAAmB,IAAI;AAAA,IACzB;AAAA,EAAA;AAGF,QAAMgB,eAAeb,MAAAA,YACnB,CAACrD,OAAOmE,gBAAgB;AACtB/B,gBAAY+B,WAAW;AAEvB,QAAIvC,UAAU;AACZA,eAAS5B,OAAOmE,WAAW;AAAA,IAC7B;AAAA,EAAA,GAEF,CAACvC,UAAUQ,WAAW,CACxB;AAEA,QAAM5C,WAAW4E,MAAAA,QACf,MACE7E,QACAZ,oBACEY,MACAV,IACAC,SACAkF,+BACAf,mDAAiBa,SACnB,GACF,CAAChF,SAASS,MAAMV,IAAIoE,iBAAiBX,MAAM,CAC7C;AAEA+B,QAAAA,UAAU,MAAM;AACd,QAAI,CAAC/B,QAAQ;AACXY,+DAAqB;AAAA,IACvB;AAAA,EAAA,GACC,CAACZ,MAAM,CAAC;AAEX+B,QAAAA,UAAU,MAAM;AACVvB,QAAAA;AAAmBA,wBAAkBjB,QAAQ;AAAA,EAAA,GAChD,CAACA,UAAUK,WAAW,CAAC;AAE1BmC,QAAAA,UAAU,MAAM;AACVxB,QAAAA;AAAeA,oBAActD,IAAI;AAAA,EAAA,GACpC,CAACA,IAAI,CAAC;AAET8E,QAAAA,UAAU,MAAM;AACd,QACE1B,kBACAd,YACAa,iBACA4B,uBAAAA,kBAAkB3B,gBAAgBd,QAAQ,GAC1C;AACcyC,oBAAAA,uBAAAA,kBAAkB3B,gBAAgBd,QAAQ,CAAC;AAAA,IAC3D;AAAA,EAAA,GACC,CAACc,cAAc,CAAC;AAGb4B,QAAAA,0BAA0BA,CAACvE,OAAOuD,iBAAiB;AAC1CvD,iBAAAA,OAAOuD,aAAa1E,IAAI0E,YAAY;AAAA,EAAA;AAGnD,QAAMiB,6BAA6BA,MAAM;AACvCtB,uBAAmB,IAAI;AAAA,EAAA;AAGzB,QAAMuB,4BAA4BA,MAAM;AACtC,QAAIlC,YAAY,CAACD,UAAU,EAACW,mDAAiBa,YAAW;AACtDZ,yBAAmB,IAAI;AAAA,IACzB;AAAA,EAAA;AAGF,wCACGwB,kBAAAA,WAAS;AAAA,IACR7F;AAAAA,IACAsB,WAAWwE,KACTxE,KAAAA,WACAyE,kBAA8BC,QAAAA,MAC9B/F,mCAAS+F,MACT,CAACvC,UACC,CAACC,YACDoC,KAAAA,KAAKC,kBAAAA,QAA8BE,WAAWhG,mCAASgG,SAAS,CACpE;AAAA,IACAC,cAAcN;AAAAA,IAA0B,GACpCxC;AAAAA,IAAMzC,UAETgD,SACClC,2BAAAA,IAAC0E,6CAA0B;AAAA,MACzBzF,MAAMkD,WAAWlD,QAAQoD;AAAAA,MACzBd;AAAAA,MACAoD,oBAAoBV;AAAAA,MACpBW,mBAAmBtC;AAAAA,IAAAA,CACpB,IAEDuC,2BAAAA,KAACC,uCAA4B;AAAA,MAC3BvG,IAAIqB,MAAAA,MAAMrB,IAAI,MAAM;AAAA,MACpBsB,WAAWwE,KAAAA,KAAKC,kBAAAA,QAA8BS,MAAMvG,mCAASuG,IAAI;AAAA,MACjE5F,YAAU;AAAA,MACV8B;AAAAA,MACAC;AAAAA,MACAK;AAAAA,MACAG,UAAUoB;AAAAA,MACV3B;AAAAA,MACAG,UAAUsC;AAAAA,MAAa1E,UAAA,CAEtB+C,YAAY,CAACD,UAAUW,kDACrBqC,2CAAyB;AAAA,QACxBzG,IAAIqB,MAAAA,MAAMrB,IAAI,kBAAkB;AAAA,QAEhC8E,UAAUV,gBAAgBU;AAAAA,QAC1B9B;AAAAA,QACAiC,WAAWb,gBAAgBa;AAAAA,QAC3BvE,MAAM0D,gBAAgB1D;AAAAA,QACtBgG,SAASf;AAAAA,QACTxC,UAAUoB;AAAAA,QACVjD,WAAWwE,KAAAA,KACTC,kBAAAA,QAA8B3B,iBAC9BnE,mCAASmE,eACX;AAAA,MAAA,GAVKA,gBAAgBW,SAWtB,GAEFpE,QAAQ;AAAA,IAAA,CACmB;AAAA,EAAA,CAEvB;AAEf;;"}
1
+ {"version":3,"file":"Navigation.cjs","sources":["../../../../../src/components/VerticalNavigation/Navigation/Navigation.tsx"],"sourcesContent":["import {\n useCallback,\n useMemo,\n useContext,\n useEffect,\n useState,\n ComponentProps,\n} from \"react\";\nimport { clsx } from \"clsx\";\nimport uniqueId from \"lodash/uniqueId\";\nimport { setId, wrapperTooltip } from \"@core/utils\";\nimport { useControlled } from \"@core/hooks\";\nimport { HvBaseProps } from \"@core/types\";\nimport {\n HvVerticalNavigationTreeView,\n HvVerticalNavigationTreeViewItem,\n} from \"../TreeView\";\nimport verticalNavigationTreeClasses, {\n HvVerticalNavigationTreeClasses,\n} from \"./navigationClasses\";\nimport { StyledNav } from \"./Navigation.styles\";\nimport { HvVerticalNavigationSlider } from \"..\";\nimport { VerticalNavigationContext } from \"../VerticalNavigationContext\";\nimport { HvVerticalNavigationPopup } from \"../NavigationPopup/NavigationPopup\";\nimport { getParentItemById } from \"../NavigationSlider/utils/NavigationSlider.utils\";\n\nexport type NavigationData<T extends React.ElementType = \"a\"> =\n ComponentProps<T> &\n Record<string, any> & {\n /** The id to be applied to the root element. */\n id: string;\n /** The label to be rendered on the menu item. */\n label: string;\n /** The icon to be rendered. */\n icon?: React.ReactNode;\n /** The Data children subset. */\n data?: NavigationData<T>[];\n /** Whether the item is disabled and not interactive. */\n disabled?: boolean;\n /** Whether the item has a selected state. */\n selectable?: boolean;\n };\n\nconst createListHierarchy = (\n items,\n id,\n classes?: HvVerticalNavigationTreeClasses,\n mouseEnterHandler?: (event, item) => void,\n disableTooltip = false\n) =>\n items.map((item) => {\n const {\n id: itemId,\n label: itemLabel,\n icon,\n data: children,\n selectable,\n disabled,\n href,\n target,\n } = item;\n\n const ItemText = wrapperTooltip(true, itemLabel, itemLabel);\n\n const itemMouseEnterHandler = (event) => {\n mouseEnterHandler?.(event, item);\n };\n\n return (\n <HvVerticalNavigationTreeViewItem\n id={setId(id, itemId)}\n className={classes?.listItem}\n href={href}\n target={target}\n key={itemId}\n nodeId={itemId}\n label={<ItemText />}\n icon={icon}\n payload={item}\n selectable={selectable}\n disabled={disabled}\n onMouseEnter={itemMouseEnterHandler}\n disableTooltip={disableTooltip}\n >\n {children\n ? createListHierarchy(\n children,\n id,\n classes,\n mouseEnterHandler,\n disableTooltip\n )\n : undefined}\n </HvVerticalNavigationTreeViewItem>\n );\n });\n\nconst getAllParents = (items) => {\n const parents = items.filter(\n (item) => item.data != null && item.data.length > 0\n );\n const childParents = parents.flatMap((item) => getAllParents(item.data));\n\n return [...parents, ...childParents];\n};\n\nfunction pathToElement(data, targetId) {\n const path: string[] = [];\n\n if (data != null && data.length > 0) {\n for (let i = 0; i !== data.length; ++i) {\n const item = data[i];\n if (item.id === targetId) {\n path.push(item.id);\n break;\n }\n\n const subPaths = pathToElement(item.data, targetId);\n if (subPaths.length > 0) {\n path.push(item.id);\n path.push(...subPaths);\n break;\n }\n }\n }\n\n return path;\n}\n\nexport const HvVerticalNavigationTree = ({\n id,\n\n className,\n classes,\n\n data,\n\n mode = \"navigation\",\n\n collapsible = false,\n expanded: expandedProp,\n defaultExpanded,\n onToggle,\n\n selected: selectedProp,\n defaultSelected,\n onChange,\n\n ...others\n}: HvVerticalNavigationTreeProps) => {\n const [selected, setSelected] = useControlled(selectedProp, defaultSelected);\n const [expanded, setExpanded] = useControlled(expandedProp, () => {\n if (defaultExpanded === true) {\n // all parent nodes will be expanded by default\n return getAllParents(data).map((item) => item.id);\n }\n\n if (defaultExpanded === false) {\n // all parent nodes will be collapsed by default\n return [];\n }\n\n if (defaultExpanded == null) {\n if (selected != null) {\n // the path to the selected node will be expanded (default behaviour)\n const path = pathToElement(data, selected);\n return path.slice(0, -1);\n }\n\n // nothing is expanded\n return [];\n }\n\n return defaultExpanded;\n });\n\n const {\n isOpen,\n useIcons,\n slider,\n\n parentItem,\n setParentItem,\n withParentData,\n navigateToChildHandler,\n\n setParentData,\n setParentSelected,\n } = useContext(VerticalNavigationContext);\n\n const [navigationPopup, setNavigationPopup] = useState<{\n // This value is needed to guarantee that the NavigationPopup is fully re-rendered with keeping any previous values\n uniqueKey: string;\n anchorEl: HTMLButtonElement | null;\n fixedMode: boolean;\n data: NavigationData[];\n } | null>(null);\n\n const handleChange = useCallback(\n (event, selectedId, selectedItem) => {\n if (useIcons && !isOpen && selectedItem.data) {\n const currentEventTarget = event.currentTarget;\n setNavigationPopup((prevState) => {\n // We want to close the popup in case the clicked element is the same as the previous one\n return prevState?.anchorEl === currentEventTarget\n ? null\n : {\n uniqueKey: uniqueId(),\n anchorEl: currentEventTarget,\n fixedMode: true,\n data: selectedItem.data,\n };\n });\n\n // We need this stopPropagation or else the Popup will close due to the clickaway being triggered\n event.stopPropagation();\n } else {\n setSelected(selectedId);\n setExpanded((prevState) => {\n if (!isOpen) {\n return [...prevState, ...pathToElement(data, selectedId)];\n }\n return [...prevState];\n });\n setNavigationPopup(null);\n if (onChange) {\n onChange(event, selectedItem);\n }\n }\n },\n [onChange, setSelected, setExpanded, isOpen, useIcons, data]\n );\n\n const treeViewItemMouseEnterHandler = useCallback(\n (event, item) => {\n const isCollapsed = useIcons && !isOpen;\n\n if (isCollapsed && item.data && !navigationPopup?.fixedMode) {\n const currentEventTarget = event.currentTarget;\n\n setNavigationPopup?.({\n uniqueKey: uniqueId(),\n anchorEl: currentEventTarget,\n fixedMode: false,\n data: item.data,\n });\n } else if (isCollapsed && !item.data && !navigationPopup?.fixedMode) {\n setNavigationPopup(null);\n }\n },\n [isOpen, useIcons, navigationPopup]\n );\n\n const handleToggle = useCallback(\n (event, newExpanded) => {\n setExpanded(newExpanded);\n\n if (onToggle) {\n onToggle(event, newExpanded);\n }\n },\n [onToggle, setExpanded]\n );\n\n const children = useMemo(\n () =>\n data &&\n createListHierarchy(\n data,\n id,\n classes,\n treeViewItemMouseEnterHandler,\n navigationPopup?.fixedMode\n ),\n [classes, data, id, navigationPopup, treeViewItemMouseEnterHandler]\n );\n\n useEffect(() => {\n if (!isOpen) {\n setNavigationPopup?.(null);\n }\n }, [isOpen]);\n\n useEffect(() => {\n if (setParentSelected) setParentSelected(selected);\n }, [selected, setSelected, setParentSelected]);\n\n useEffect(() => {\n if (setParentData) setParentData(data);\n }, [data, setParentData]);\n\n useEffect(() => {\n if (\n withParentData &&\n selected &&\n setParentItem &&\n getParentItemById(withParentData, selected)\n ) {\n setParentItem(getParentItemById(withParentData, selected));\n }\n }, [withParentData, selected, setParentItem]);\n\n // navigation slider\n const navigateToTargetHandler = (event, selectedItem) => {\n handleChange(event, selectedItem.id, selectedItem);\n };\n\n const handleNavigationPopupClose = () => {\n setNavigationPopup(null);\n };\n\n const handleStyledNavMouseLeave = () => {\n if (useIcons && !isOpen && !navigationPopup?.fixedMode) {\n setNavigationPopup(null);\n }\n };\n\n return (\n <StyledNav\n id={id}\n className={clsx(\n className,\n verticalNavigationTreeClasses.root,\n classes?.root,\n !isOpen &&\n !useIcons &&\n clsx(verticalNavigationTreeClasses.collapsed, classes?.collapsed)\n )}\n onMouseLeave={handleStyledNavMouseLeave}\n {...others}\n >\n {slider ? (\n <HvVerticalNavigationSlider\n data={parentItem.data || withParentData}\n selected={selected}\n onNavigateToTarget={navigateToTargetHandler}\n onNavigateToChild={navigateToChildHandler}\n />\n ) : (\n <HvVerticalNavigationTreeView\n id={setId(id, \"tree\")}\n className={clsx(verticalNavigationTreeClasses.list, classes?.list)}\n selectable\n mode={mode}\n collapsible={collapsible}\n selected={selected}\n onChange={handleChange}\n expanded={expanded}\n onToggle={handleToggle}\n >\n {useIcons && !isOpen && navigationPopup && (\n <HvVerticalNavigationPopup\n id={setId(id, \"navigation-popup\")}\n key={navigationPopup.uniqueKey}\n anchorEl={navigationPopup.anchorEl}\n selected={selected}\n fixedMode={navigationPopup.fixedMode}\n data={navigationPopup.data}\n onClose={handleNavigationPopupClose}\n onChange={handleChange}\n className={clsx(\n verticalNavigationTreeClasses.navigationPopup,\n classes?.navigationPopup\n )}\n />\n )}\n {children}\n </HvVerticalNavigationTreeView>\n )}\n </StyledNav>\n );\n};\n\nexport interface HvVerticalNavigationTreeProps\n extends HvBaseProps<HTMLDivElement, \"onChange\"> {\n /**\n * Id to be applied to the root node.\n */\n id?: string;\n /**\n * Class names to be applied.\n */\n className?: string;\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes?: HvVerticalNavigationTreeClasses;\n /**\n * Modus operandi (role) of the widget instance.\n */\n mode?: NavigationMode;\n /**\n * Can non-leaf nodes be collapsed / expanded.\n */\n collapsible?: boolean;\n /**\n * The ID of the selected page.\n */\n selected?: string;\n /**\n * When uncontrolled, defines the initial selected page ID.\n */\n defaultSelected?: string;\n /**\n * Callback fired when a navigation item is selected.\n *\n * @param {object} event The event source of the callback.\n * @param {object} page The data of the selected page.\n */\n onChange?: (event, page) => void;\n /**\n * Expanded nodes' ids.\n */\n expanded?: string[];\n /**\n * When uncontrolled, defines the initial expanded nodes' ids.\n *\n * It also supports `true` for starting with all nodes expanded.\n * With `false` all nodes will be collapsed.\n *\n * By default it expands the needed nodes to display the current selection, if any.\n */\n defaultExpanded?: string[] | boolean;\n /**\n * Callback fired when tree items are expanded/collapsed.\n *\n * @param {object} event The event source of the callback.\n * @param {array} nodeIds The ids of the expanded nodes (old and new).\n */\n onToggle?: (event, nodeIds) => void;\n /**\n * An array containing the data for each menu item.\n *\n * id - the id to be applied to the root element.\n * label - the label to be rendered on the menu item.\n * data - sub-menu items\n * href - the url used for navigation.\n * target - the behavior when opening an url.\n */\n data?: NavigationData[];\n}\n\nexport type NavigationMode = \"treeview\" | \"navigation\" | \"slider\";\n"],"names":["createListHierarchy","items","id","classes","mouseEnterHandler","disableTooltip","map","item","itemId","label","itemLabel","icon","data","children","selectable","disabled","href","target","ItemText","wrapperTooltip","itemMouseEnterHandler","event","HvVerticalNavigationTreeViewItem","setId","className","listItem","nodeId","_jsx","payload","onMouseEnter","undefined","getAllParents","parents","filter","length","childParents","flatMap","pathToElement","targetId","path","i","push","subPaths","HvVerticalNavigationTree","mode","collapsible","expanded","expandedProp","defaultExpanded","onToggle","selected","selectedProp","defaultSelected","onChange","others","setSelected","useControlled","setExpanded","slice","isOpen","useIcons","slider","parentItem","setParentItem","withParentData","navigateToChildHandler","setParentData","setParentSelected","useContext","VerticalNavigationContext","navigationPopup","setNavigationPopup","useState","handleChange","useCallback","selectedId","selectedItem","currentEventTarget","currentTarget","prevState","anchorEl","uniqueKey","uniqueId","fixedMode","stopPropagation","treeViewItemMouseEnterHandler","isCollapsed","handleToggle","newExpanded","useMemo","useEffect","getParentItemById","navigateToTargetHandler","handleNavigationPopupClose","handleStyledNavMouseLeave","StyledNav","clsx","verticalNavigationTreeClasses","root","collapsed","onMouseLeave","HvVerticalNavigationSlider","onNavigateToTarget","onNavigateToChild","_jsxs","HvVerticalNavigationTreeView","list","HvVerticalNavigationPopup","onClose"],"mappings":"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"}
@@ -147,7 +147,7 @@ const HvVerticalNavigationTreeViewItem = React.forwardRef((props, ref) => {
147
147
  toggleExpansion(event, nodeId);
148
148
  }
149
149
  }
150
- }, [disabled, expandable, focus, focused, isExpanded, multiSelect, nodeId, toggleExpansion, treeviewMode]);
150
+ }, [disabled, expandable, focus, focused, isExpanded, multiSelect, nodeId, toggleExpansion, treeviewMode, isOpen]);
151
151
  const handleSelection = React.useCallback((event) => {
152
152
  if (selectable && !disabled) {
153
153
  if (treeviewMode && !focused && focus) {
@@ -186,7 +186,7 @@ const HvVerticalNavigationTreeViewItem = React.forwardRef((props, ref) => {
186
186
  if (onClick) {
187
187
  onClick(event);
188
188
  }
189
- }, [disabled, expandable, handleExpansion, handleSelection, onClick, selectable]);
189
+ }, [disabled, expandable, handleExpansion, handleSelection, onClick, selectable, isOpen]);
190
190
  const handleKeyDown = React.useCallback((event) => {
191
191
  let isEventHandled = false;
192
192
  const {
@@ -209,7 +209,7 @@ const HvVerticalNavigationTreeViewItem = React.forwardRef((props, ref) => {
209
209
  event.stopPropagation();
210
210
  }
211
211
  }
212
- }, [expandable, handleExpansion, handleSelection, selectable]);
212
+ }, [expandable, handleExpansion, handleSelection, selectable, isOpen]);
213
213
  const renderedContent = React.useMemo(() => /* @__PURE__ */ jsxRuntime.jsxs(TreeViewItem_styles.StyledContent, {
214
214
  id: setId.setId(id, "button"),
215
215
  component: href ? "a" : "div",
@@ -247,13 +247,13 @@ const HvVerticalNavigationTreeViewItem = React.forwardRef((props, ref) => {
247
247
  $expandable: !!expandable,
248
248
  children: label
249
249
  }), isOpen && expandable && (expanded ? /* @__PURE__ */ jsxRuntime.jsx(uikitReactIcons.DropUpXS, {}) : /* @__PURE__ */ jsxRuntime.jsx(uikitReactIcons.DropDownXS, {}))]
250
- }), [id, href, target, classes == null ? void 0 : classes.content, treeViewItemClasses.default.content, classes == null ? void 0 : classes.link, treeViewItemClasses.default.link, classes == null ? void 0 : classes.minimized, treeViewItemClasses.default.minimized, disabled, handleClick, handleMouseDown, expandable, icon, level, collapsible, treeviewMode, handleFocus, selectable, handleKeyDown, selected, expanded, label, disableTooltip]);
250
+ }), [id, href, target, classes == null ? void 0 : classes.content, classes == null ? void 0 : classes.link, classes == null ? void 0 : classes.minimized, disabled, handleClick, handleMouseDown, expandable, icon, level, collapsible, treeviewMode, handleFocus, selectable, handleKeyDown, selected, expanded, label, disableTooltip, payload == null ? void 0 : payload.label, children, isOpen, useIcons, isChildSelected, nodeId]);
251
251
  const renderedChildren = React.useMemo(() => children && /* @__PURE__ */ jsxRuntime.jsx(TreeViewItem_styles.StyledGroup, {
252
252
  id: setId.setId(id, "group"),
253
253
  className: clsx.clsx(treeViewItemClasses.default.group, classes == null ? void 0 : classes.group),
254
254
  role: treeviewMode ? "group" : void 0,
255
255
  children
256
- }), [children, treeViewItemClasses.default.group, classes == null ? void 0 : classes.group, id, treeviewMode]);
256
+ }), [children, classes == null ? void 0 : classes.group, id, treeviewMode]);
257
257
  return /* @__PURE__ */ jsxRuntime.jsxs(TreeViewItem_styles.StyledNode, {
258
258
  ref: handleRef,
259
259
  id: id ?? void 0,