@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,26 +1,10 @@
1
- import _styled from "@emotion/styled/base";
2
- import { forwardRef, useMemo } from "react";
3
- import { transientOptions } from "../../utils/transientOptions.js";
4
- import { theme } from "@hitachivantara/uikit-styles";
5
- import { clsx } from "clsx";
1
+ import { forwardRef } from "react";
6
2
  import { mapVariant } from "./utils.js";
7
- import typographyClasses from "./typographyClasses.js";
3
+ import { useClasses } from "./Typography.styles.js";
4
+ import { staticClasses } from "./Typography.styles.js";
8
5
  import { jsx } from "@emotion/react/jsx-runtime";
9
6
  import { useTheme } from "../../hooks/useTheme.js";
10
- function _extends() {
11
- _extends = Object.assign ? Object.assign.bind() : function(target) {
12
- for (var i = 1; i < arguments.length; i++) {
13
- var source = arguments[i];
14
- for (var key in source) {
15
- if (Object.prototype.hasOwnProperty.call(source, key)) {
16
- target[key] = source[key];
17
- }
18
- }
19
- }
20
- return target;
21
- };
22
- return _extends.apply(this, arguments);
23
- }
7
+ const typographyVariants = ["display", "title1", "title2", "title3", "title4", "body", "label", "caption1", "caption2"];
24
8
  const HvTypographyMap = {
25
9
  display: "h1",
26
10
  title1: "h1",
@@ -46,134 +30,40 @@ const HvTypographyMap = {
46
30
  vizTextDisabled: "p",
47
31
  xsInlineLink: "p"
48
32
  };
49
- const getStyledComponent = (c) => /* @__PURE__ */ _styled(c, process.env.NODE_ENV === "production" ? _extends({}, {
50
- target: "e1tnpalo0"
51
- }, transientOptions) : _extends({}, {
52
- target: "e1tnpalo0",
53
- label: "getStyledComponent"
54
- }, transientOptions))(({
55
- $variant,
56
- $link = false,
57
- $disabled = false,
58
- $noWrap = false
59
- }) => ({
60
- ...$variant === "display" && {
61
- ...theme.typography.display
62
- },
63
- ...$variant === "title1" && {
64
- ...theme.typography.title1
65
- },
66
- ...$variant === "title2" && {
67
- ...theme.typography.title2
68
- },
69
- ...$variant === "title3" && {
70
- ...theme.typography.title3
71
- },
72
- ...$variant === "title4" && {
73
- ...theme.typography.title4
74
- },
75
- ...$variant === "body" && {
76
- ...theme.typography.body
77
- },
78
- ...$variant === "label" && {
79
- ...theme.typography.label
80
- },
81
- ...$variant === "caption1" && {
82
- ...theme.typography.caption1
83
- },
84
- ...$variant === "caption2" && {
85
- ...theme.typography.caption2
86
- },
87
- // LEGACY
88
- ...$variant === "5xlTitle" && {
89
- ...theme.typography["5xlTitle"]
90
- },
91
- ...$variant === "4xlTitle" && {
92
- ...theme.typography["4xlTitle"]
93
- },
94
- ...$variant === "xxlTitle" && {
95
- ...theme.typography.xxlTitle
96
- },
97
- ...$variant === "lTitle" && {
98
- ...theme.typography.lTitle
99
- },
100
- ...$variant === "sTitle" && {
101
- ...theme.typography.sTitle
102
- },
103
- ...$variant === "xxsTitle" && {
104
- ...theme.typography.xxsTitle
105
- },
106
- ...$variant === "sectionTitle" && {
107
- ...theme.typography.sectionTitle,
108
- textTransform: "uppercase"
109
- },
110
- ...$variant === "placeholderText" && {
111
- ...theme.typography.placeholderText
112
- },
113
- ...$variant === "link" && {
114
- ...theme.typography.link,
115
- textDecoration: "underline",
116
- cursor: "pointer"
117
- },
118
- ...$variant === "disabledText" && {
119
- ...theme.typography.disabledText
120
- },
121
- ...$variant === "selectedNavText" && {
122
- ...theme.typography.selectedNavText
123
- },
124
- ...$variant === "vizTextDisabled" && {
125
- ...theme.typography.vizTextDisabled
126
- },
127
- ...$variant === "xsInlineLink" && {
128
- ...theme.typography.xsInlineLink
129
- },
130
- fontFamily: theme.fontFamily.body,
131
- // ADDED PROPS
132
- ...$link && {
133
- color: theme.colors.primary,
134
- textDecoration: "underline",
135
- cursor: "pointer"
136
- },
137
- ...$disabled && {
138
- color: theme.colors.secondary_60
139
- },
140
- ...$noWrap && {
141
- overflow: "hidden",
142
- textOverflow: "ellipsis",
143
- whiteSpace: "nowrap"
144
- }
145
- }), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2h2LXVpa2l0LXJlYWN0L2h2LXVpa2l0LXJlYWN0L3BhY2thZ2VzL2NvcmUvc3JjL2NvbXBvbmVudHMvVHlwb2dyYXBoeS9UeXBvZ3JhcGh5LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE2RUUiLCJmaWxlIjoiL2hvbWUvcnVubmVyL3dvcmsvaHYtdWlraXQtcmVhY3QvaHYtdWlraXQtcmVhY3QvcGFja2FnZXMvY29yZS9zcmMvY29tcG9uZW50cy9UeXBvZ3JhcGh5L1R5cG9ncmFwaHkudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgZm9yd2FyZFJlZixcbiAgdXNlTWVtbyxcbiAgQ1NTUHJvcGVydGllcyxcbiAgQWxsSFRNTEF0dHJpYnV0ZXMsXG4gIFJlZixcbn0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBIdkJhc2VQcm9wcyB9IGZyb20gXCJAY29yZS90eXBlc1wiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgeyB0cmFuc2llbnRPcHRpb25zIH0gZnJvbSBcIkBjb3JlL3V0aWxzL3RyYW5zaWVudE9wdGlvbnNcIjtcbmltcG9ydCB7IHRoZW1lIH0gZnJvbSBcIkBoaXRhY2hpdmFudGFyYS91aWtpdC1zdHlsZXNcIjtcbmltcG9ydCB7IGNsc3ggfSBmcm9tIFwiY2xzeFwiO1xuaW1wb3J0IHsgdXNlVGhlbWUgfSBmcm9tIFwiQGNvcmUvaG9va3NcIjtcbmltcG9ydCB7IG1hcFZhcmlhbnQgfSBmcm9tIFwiLi91dGlsc1wiO1xuaW1wb3J0IHR5cG9ncmFwaHlDbGFzc2VzLCB7IEh2VHlwb2dyYXBoeUNsYXNzZXMgfSBmcm9tIFwiLi90eXBvZ3JhcGh5Q2xhc3Nlc1wiO1xuXG5leHBvcnQgdHlwZSBIdlR5cG9ncmFwaHlWYXJpYW50cyA9XG4gIHwgXCJkaXNwbGF5XCJcbiAgfCBcInRpdGxlMVwiXG4gIHwgXCJ0aXRsZTJcIlxuICB8IFwidGl0bGUzXCJcbiAgfCBcInRpdGxlNFwiXG4gIHwgXCJib2R5XCJcbiAgfCBcImxhYmVsXCJcbiAgfCBcImNhcHRpb24xXCJcbiAgfCBcImNhcHRpb24yXCI7XG5cbi8qKiBAZGVwcmVjYXRlZCAqL1xuZXhwb3J0IHR5cGUgSHZUeXBvZ3JhcGh5TGVnYWN5VmFyaWFudHMgPVxuICB8IFwiNXhsVGl0bGVcIlxuICB8IFwiNHhsVGl0bGVcIlxuICB8IFwiM3hsVGl0bGVcIlxuICB8IFwieHhsVGl0bGVcIlxuICB8IFwieGxUaXRsZVwiXG4gIHwgXCJsVGl0bGVcIlxuICB8IFwibVRpdGxlXCJcbiAgfCBcInNUaXRsZVwiXG4gIHwgXCJ4c1RpdGxlXCJcbiAgfCBcInh4c1RpdGxlXCJcbiAgfCBcInNlY3Rpb25UaXRsZVwiXG4gIHwgXCJoaWdobGlnaHRUZXh0XCJcbiAgfCBcIm5vcm1hbFRleHRcIlxuICB8IFwicGxhY2Vob2xkZXJUZXh0XCJcbiAgfCBcImxpbmtcIlxuICB8IFwiZGlzYWJsZWRUZXh0XCJcbiAgfCBcInNlbGVjdGVkTmF2VGV4dFwiXG4gIHwgXCJ2aXpUZXh0XCJcbiAgfCBcInZpelRleHREaXNhYmxlZFwiXG4gIHwgXCJ4c0lubGluZUxpbmtcIjtcblxuY29uc3QgSHZUeXBvZ3JhcGh5TWFwID0ge1xuICBkaXNwbGF5OiBcImgxXCIsXG4gIHRpdGxlMTogXCJoMVwiLFxuICB0aXRsZTI6IFwiaDJcIixcbiAgdGl0bGUzOiBcImgzXCIsXG4gIHRpdGxlNDogXCJoNFwiLFxuICBib2R5OiBcInBcIixcbiAgbGFiZWw6IFwibGFiZWxcIixcbiAgY2FwdGlvbjE6IFwicFwiLFxuICBjYXB0aW9uMjogXCJwXCIsXG4gIC8vIExFR0FDWVxuICBcIjV4bFRpdGxlXCI6IFwiaDFcIixcbiAgXCI0eGxUaXRsZVwiOiBcImgxXCIsXG4gIHh4bFRpdGxlOiBcImgxXCIsXG4gIGxUaXRsZTogXCJoMlwiLFxuICBzVGl0bGU6IFwiaDRcIixcbiAgeHhzVGl0bGU6IFwiaDZcIixcbiAgc2VjdGlvblRpdGxlOiBcInBcIixcbiAgcGxhY2Vob2xkZXJUZXh0OiBcInBcIixcbiAgbGluazogXCJwXCIsXG4gIGRpc2FibGVkVGV4dDogXCJwXCIsXG4gIHNlbGVjdGVkTmF2VGV4dDogXCJwXCIsXG4gIHZpelRleHREaXNhYmxlZDogXCJwXCIsXG4gIHhzSW5saW5lTGluazogXCJwXCIsXG59IGFzIGNvbnN0O1xuXG5jb25zdCBnZXRTdHlsZWRDb21wb25lbnQgPSA8VCBleHRlbmRzIGtleW9mIEpTWC5JbnRyaW5zaWNFbGVtZW50cz4oYzogVCkgPT5cbiAgc3R5bGVkKFxuICAgIGMsXG4gICAgdHJhbnNpZW50T3B0aW9uc1xuICApKFxuICAgICh7XG4gICAgICAkdmFyaWFudCxcbiAgICAgICRsaW5rID0gZmFsc2UsXG4gICAgICAkZGlzYWJsZWQgPSBmYWxzZSxcbiAgICAgICRub1dyYXAgPSBmYWxzZSxcbiAgICB9OiB7XG4gICAgICAkdmFyaWFudDogSHZUeXBvZ3JhcGh5VmFyaWFudHMgfCBIdlR5cG9ncmFwaHlMZWdhY3lWYXJpYW50cztcbiAgICAgICRsaW5rPzogYm9vbGVhbjtcbiAgICAgICRkaXNhYmxlZD86IGJvb2xlYW47XG4gICAgICAkbm9XcmFwPzogYm9vbGVhbjtcbiAgICB9KSA9PiAoe1xuICAgICAgLi4uKCR2YXJpYW50ID09PSBcImRpc3BsYXlcIiAmJiB7XG4gICAgICAgIC4uLih0aGVtZS50eXBvZ3JhcGh5LmRpc3BsYXkgYXMgQ1NTUHJvcGVydGllcyksXG4gICAgICB9KSxcbiAgICAgIC4uLigkdmFyaWFudCA9PT0gXCJ0aXRsZTFcIiAmJiB7XG4gICAgICAgIC4uLih0aGVtZS50eXBvZ3JhcGh5LnRpdGxlMSBhcyBDU1NQcm9wZXJ0aWVzKSxcbiAgICAgIH0pLFxuICAgICAgLi4uKCR2YXJpYW50ID09PSBcInRpdGxlMlwiICYmIHtcbiAgICAgICAgLi4uKHRoZW1lLnR5cG9ncmFwaHkudGl0bGUyIGFzIENTU1Byb3BlcnRpZXMpLFxuICAgICAgfSksXG4gICAgICAuLi4oJHZhcmlhbnQgPT09IFwidGl0bGUzXCIgJiYge1xuICAgICAgICAuLi4odGhlbWUudHlwb2dyYXBoeS50aXRsZTMgYXMgQ1NTUHJvcGVydGllcyksXG4gICAgICB9KSxcbiAgICAgIC4uLigkdmFyaWFudCA9PT0gXCJ0aXRsZTRcIiAmJiB7XG4gICAgICAgIC4uLih0aGVtZS50eXBvZ3JhcGh5LnRpdGxlNCBhcyBDU1NQcm9wZXJ0aWVzKSxcbiAgICAgIH0pLFxuICAgICAgLi4uKCR2YXJpYW50ID09PSBcImJvZHlcIiAmJiB7XG4gICAgICAgIC4uLih0aGVtZS50eXBvZ3JhcGh5LmJvZHkgYXMgQ1NTUHJvcGVydGllcyksXG4gICAgICB9KSxcbiAgICAgIC4uLigkdmFyaWFudCA9PT0gXCJsYWJlbFwiICYmIHtcbiAgICAgICAgLi4uKHRoZW1lLnR5cG9ncmFwaHkubGFiZWwgYXMgQ1NTUHJvcGVydGllcyksXG4gICAgICB9KSxcbiAgICAgIC4uLigkdmFyaWFudCA9PT0gXCJjYXB0aW9uMVwiICYmIHtcbiAgICAgICAgLi4uKHRoZW1lLnR5cG9ncmFwaHkuY2FwdGlvbjEgYXMgQ1NTUHJvcGVydGllcyksXG4gICAgICB9KSxcbiAgICAgIC4uLigkdmFyaWFudCA9PT0gXCJjYXB0aW9uMlwiICYmIHtcbiAgICAgICAgLi4uKHRoZW1lLnR5cG9ncmFwaHkuY2FwdGlvbjIgYXMgQ1NTUHJvcGVydGllcyksXG4gICAgICB9KSxcbiAgICAgIC8vIExFR0FDWVxuICAgICAgLi4uKCR2YXJpYW50ID09PSBcIjV4bFRpdGxlXCIgJiYge1xuICAgICAgICAuLi4odGhlbWUudHlwb2dyYXBoeVtcIjV4bFRpdGxlXCJdIGFzIENTU1Byb3BlcnRpZXMpLFxuICAgICAgfSksXG4gICAgICAuLi4oJHZhcmlhbnQgPT09IFwiNHhsVGl0bGVcIiAmJiB7XG4gICAgICAgIC4uLih0aGVtZS50eXBvZ3JhcGh5W1wiNHhsVGl0bGVcIl0gYXMgQ1NTUHJvcGVydGllcyksXG4gICAgICB9KSxcbiAgICAgIC4uLigkdmFyaWFudCA9PT0gXCJ4eGxUaXRsZVwiICYmIHtcbiAgICAgICAgLi4uKHRoZW1lLnR5cG9ncmFwaHkueHhsVGl0bGUgYXMgQ1NTUHJvcGVydGllcyksXG4gICAgICB9KSxcbiAgICAgIC4uLigkdmFyaWFudCA9PT0gXCJsVGl0bGVcIiAmJiB7XG4gICAgICAgIC4uLih0aGVtZS50eXBvZ3JhcGh5LmxUaXRsZSBhcyBDU1NQcm9wZXJ0aWVzKSxcbiAgICAgIH0pLFxuICAgICAgLi4uKCR2YXJpYW50ID09PSBcInNUaXRsZVwiICYmIHtcbiAgICAgICAgLi4uKHRoZW1lLnR5cG9ncmFwaHkuc1RpdGxlIGFzIENTU1Byb3BlcnRpZXMpLFxuICAgICAgfSksXG4gICAgICAuLi4oJHZhcmlhbnQgPT09IFwieHhzVGl0bGVcIiAmJiB7XG4gICAgICAgIC4uLih0aGVtZS50eXBvZ3JhcGh5Lnh4c1RpdGxlIGFzIENTU1Byb3BlcnRpZXMpLFxuICAgICAgfSksXG4gICAgICAuLi4oJHZhcmlhbnQgPT09IFwic2VjdGlvblRpdGxlXCIgJiYge1xuICAgICAgICAuLi4odGhlbWUudHlwb2dyYXBoeS5zZWN0aW9uVGl0bGUgYXMgQ1NTUHJvcGVydGllcyksXG4gICAgICAgIHRleHRUcmFuc2Zvcm06IFwidXBwZXJjYXNlXCIsXG4gICAgICB9KSxcbiAgICAgIC4uLigkdmFyaWFudCA9PT0gXCJwbGFjZWhvbGRlclRleHRcIiAmJiB7XG4gICAgICAgIC4uLih0aGVtZS50eXBvZ3JhcGh5LnBsYWNlaG9sZGVyVGV4dCBhcyBDU1NQcm9wZXJ0aWVzKSxcbiAgICAgIH0pLFxuICAgICAgLi4uKCR2YXJpYW50ID09PSBcImxpbmtcIiAmJiB7XG4gICAgICAgIC4uLih0aGVtZS50eXBvZ3JhcGh5LmxpbmsgYXMgQ1NTUHJvcGVydGllcyksXG4gICAgICAgIHRleHREZWNvcmF0aW9uOiBcInVuZGVybGluZVwiLFxuICAgICAgICBjdXJzb3I6IFwicG9pbnRlclwiLFxuICAgICAgfSksXG4gICAgICAuLi4oJHZhcmlhbnQgPT09IFwiZGlzYWJsZWRUZXh0XCIgJiYge1xuICAgICAgICAuLi4odGhlbWUudHlwb2dyYXBoeS5kaXNhYmxlZFRleHQgYXMgQ1NTUHJvcGVydGllcyksXG4gICAgICB9KSxcbiAgICAgIC4uLigkdmFyaWFudCA9PT0gXCJzZWxlY3RlZE5hdlRleHRcIiAmJiB7XG4gICAgICAgIC4uLih0aGVtZS50eXBvZ3JhcGh5LnNlbGVjdGVkTmF2VGV4dCBhcyBDU1NQcm9wZXJ0aWVzKSxcbiAgICAgIH0pLFxuICAgICAgLi4uKCR2YXJpYW50ID09PSBcInZpelRleHREaXNhYmxlZFwiICYmIHtcbiAgICAgICAgLi4uKHRoZW1lLnR5cG9ncmFwaHkudml6VGV4dERpc2FibGVkIGFzIENTU1Byb3BlcnRpZXMpLFxuICAgICAgfSksXG4gICAgICAuLi4oJHZhcmlhbnQgPT09IFwieHNJbmxpbmVMaW5rXCIgJiYge1xuICAgICAgICAuLi4odGhlbWUudHlwb2dyYXBoeS54c0lubGluZUxpbmsgYXMgQ1NTUHJvcGVydGllcyksXG4gICAgICB9KSxcbiAgICAgIGZvbnRGYW1pbHk6IHRoZW1lLmZvbnRGYW1pbHkuYm9keSxcbiAgICAgIC8vIEFEREVEIFBST1BTXG4gICAgICAuLi4oJGxpbmsgJiYge1xuICAgICAgICBjb2xvcjogdGhlbWUuY29sb3JzLnByaW1hcnksXG4gICAgICAgIHRleHREZWNvcmF0aW9uOiBcInVuZGVybGluZVwiLFxuICAgICAgICBjdXJzb3I6IFwicG9pbnRlclwiLFxuICAgICAgfSksXG4gICAgICAuLi4oJGRpc2FibGVkICYmIHtcbiAgICAgICAgY29sb3I6IHRoZW1lLmNvbG9ycy5zZWNvbmRhcnlfNjAsXG4gICAgICB9KSxcbiAgICAgIC4uLigkbm9XcmFwICYmIHtcbiAgICAgICAgb3ZlcmZsb3c6IFwiaGlkZGVuXCIsXG4gICAgICAgIHRleHRPdmVyZmxvdzogXCJlbGxpcHNpc1wiLFxuICAgICAgICB3aGl0ZVNwYWNlOiBcIm5vd3JhcFwiLFxuICAgICAgfSksXG4gICAgfSlcbiAgKTtcblxuZXhwb3J0IGludGVyZmFjZSBIdlR5cG9ncmFwaHlQcm9wc1xuICBleHRlbmRzIE9taXQ8QWxsSFRNTEF0dHJpYnV0ZXM8SFRNTEVsZW1lbnQ+LCBcImRpc2FibGVkXCI+LFxuICAgIEh2QmFzZVByb3BzPEhUTUxFbGVtZW50PiB7XG4gIGNvbXBvbmVudD86IFJlYWN0LlJlYWN0Tm9kZSB8IFJlYWN0LkVsZW1lbnRUeXBlO1xuICAvKiogVXNlIHRoZSB2YXJpYW50IHByb3AgdG8gY2hhbmdlIHRoZSB2aXN1YWwgc3R5bGUgb2YgdGhlIFR5cG9ncmFwaHkuICovXG4gIHZhcmlhbnQ/OiBIdlR5cG9ncmFwaHlWYXJpYW50cyB8IEh2VHlwb2dyYXBoeUxlZ2FjeVZhcmlhbnRzO1xuICAvKiogSWYgYHRydWVgIHRoZSB0eXBvZ3JhcGh5IHdpbGwgZGlzcGxheSB0aGUgbG9vayBvZiBhIGxpbmsuICovXG4gIGxpbms/OiBib29sZWFuO1xuICAvKiogSWYgYHRydWVgIHRoZSB0eXBvZ3JhcGh5IHdpbGwgZGlzcGxheSB0aGUgbG9vayBvZiBhIGRpc2FibGVkIHN0YXRlLiAqL1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIC8qKiBJZiBgdHJ1ZWAsIHRoZSB0ZXh0IHdpbGwgaGF2ZSBhIGJvdHRvbSBtYXJnaW4uICovXG4gIHBhcmFncmFwaD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBJZiBgdHJ1ZWAsIHRoZSB0ZXh0IHdpbGwgbm90IHdyYXAsIGJ1dCBpbnN0ZWFkIHdpbGwgdHJ1bmNhdGUgd2l0aCBhIHRleHQgb3ZlcmZsb3cgZWxsaXBzaXMuXG4gICAqXG4gICAqIE5vdGUgdGhhdCB0ZXh0IG92ZXJmbG93IGNhbiBvbmx5IGhhcHBlbiB3aXRoIGJsb2NrIG9yIGlubGluZS1ibG9jayBsZXZlbCBlbGVtZW50c1xuICAgKiAodGhlIGVsZW1lbnQgbmVlZHMgdG8gaGF2ZSBhIHdpZHRoIGluIG9yZGVyIHRvIG92ZXJmbG93KS5cbiAgICovXG4gIG5vV3JhcD86IGJvb2xlYW47XG4gIC8qKiBBIEpzcyBPYmplY3QgdXNlZCB0byBvdmVycmlkZSBvciBleHRlbmQgdGhlIHN0eWxlcyBhcHBsaWVkIHRvIHRoZSBjb21wb25lbnQuICovXG4gIGNsYXNzZXM/OiBIdlR5cG9ncmFwaHlDbGFzc2VzO1xufVxuXG4vKipcbiAqIFR5cG9ncmFwaHkgY29tcG9uZW50IGlzIHVzZWQgdG8gcmVuZGVyIHRleHQgYW5kIHBhcmFncmFwaHMgd2l0aGluIGFuIGludGVyZmFjZS5cbiAqL1xuZXhwb3J0IGNvbnN0IEh2VHlwb2dyYXBoeSA9IGZvcndhcmRSZWYoXG4gIChwcm9wczogSHZUeXBvZ3JhcGh5UHJvcHMsIHJlZjogUmVmPEhUTUxFbGVtZW50PikgPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgIGNoaWxkcmVuLFxuICAgICAgY2xhc3NOYW1lLFxuICAgICAgY29tcG9uZW50LFxuICAgICAgY2xhc3NlcyxcbiAgICAgIHZhcmlhbnQgPSBcImJvZHlcIixcbiAgICAgIGxpbmsgPSBmYWxzZSxcbiAgICAgIGRpc2FibGVkID0gZmFsc2UsXG4gICAgICBub1dyYXAgPSBmYWxzZSxcbiAgICAgIHBhcmFncmFwaCA9IGZhbHNlLFxuICAgICAgLi4ub3RoZXJzXG4gICAgfSA9IHByb3BzO1xuICAgIGNvbnN0IHsgYWN0aXZlVGhlbWUgfSA9IHVzZVRoZW1lKCk7XG5cbiAgICBjb25zdCBtYXBwZWRWYXJpYW50ID0gbWFwVmFyaWFudCh2YXJpYW50LCBhY3RpdmVUaGVtZT8ubmFtZSk7XG5cbiAgICBjb25zdCBjb21wID1cbiAgICAgIGNvbXBvbmVudCB8fCAocGFyYWdyYXBoID8gXCJwXCIgOiBIdlR5cG9ncmFwaHlNYXBbbWFwcGVkVmFyaWFudF0gfHwgXCJzcGFuXCIpO1xuXG4gICAgY29uc3QgU3R5bGVkQ29tcG9uZW50ID0gdXNlTWVtbyhcbiAgICAgICgpID0+IGdldFN0eWxlZENvbXBvbmVudChjb21wIHx8IFwicFwiKSxcbiAgICAgIFtjb21wXVxuICAgICk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZENvbXBvbmVudFxuICAgICAgICByZWY9e3JlZn1cbiAgICAgICAgY2xhc3NOYW1lPXtjbHN4KFxuICAgICAgICAgIGNsYXNzTmFtZSxcbiAgICAgICAgICBjbGFzc2VzPy5yb290LFxuICAgICAgICAgIHR5cG9ncmFwaHlDbGFzc2VzLnJvb3QsXG4gICAgICAgICAgY2xhc3Nlcz8uW3ZhcmlhbnRdLFxuICAgICAgICAgIHR5cG9ncmFwaHlDbGFzc2VzW3ZhcmlhbnRdLFxuICAgICAgICAgIG5vV3JhcCAmJiBjbHN4KHR5cG9ncmFwaHlDbGFzc2VzLm5vV3JhcCwgY2xhc3Nlcz8ubm9XcmFwKVxuICAgICAgICApfVxuICAgICAgICAkdmFyaWFudD17XG4gICAgICAgICAgbWFwcGVkVmFyaWFudCBhcyBIdlR5cG9ncmFwaHlWYXJpYW50cyB8IEh2VHlwb2dyYXBoeUxlZ2FjeVZhcmlhbnRzXG4gICAgICAgIH1cbiAgICAgICAgJGxpbms9e2xpbmt9XG4gICAgICAgICRkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICRub1dyYXA9e25vV3JhcH1cbiAgICAgICAgey4uLm90aGVyc31cbiAgICAgID5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9TdHlsZWRDb21wb25lbnQ+XG4gICAgKTtcbiAgfVxuKTtcbiJdfQ== */");
146
33
  const HvTypography = forwardRef((props, ref) => {
147
34
  const {
148
- children,
149
35
  className,
150
- component,
151
- classes,
152
- variant = "body",
36
+ component: ComponentProp,
37
+ classes: classesProp,
38
+ variant: variantProp = "body",
153
39
  link = false,
154
40
  disabled = false,
155
41
  noWrap = false,
156
42
  paragraph = false,
157
43
  ...others
158
44
  } = props;
45
+ const {
46
+ classes,
47
+ cx
48
+ } = useClasses(classesProp);
159
49
  const {
160
50
  activeTheme
161
51
  } = useTheme();
162
- const mappedVariant = mapVariant(variant, activeTheme == null ? void 0 : activeTheme.name);
163
- const comp = component || (paragraph ? "p" : HvTypographyMap[mappedVariant] || "span");
164
- const StyledComponent = useMemo(() => getStyledComponent(comp || "p"), [comp]);
165
- return /* @__PURE__ */ jsx(StyledComponent, {
52
+ const variant = mapVariant(variantProp, activeTheme == null ? void 0 : activeTheme.name);
53
+ const Component = ComponentProp || paragraph && "p" || HvTypographyMap[variant] || "span";
54
+ return /* @__PURE__ */ jsx(Component, {
166
55
  ref,
167
- className: clsx(className, classes == null ? void 0 : classes.root, typographyClasses.root, classes == null ? void 0 : classes[variant], typographyClasses[variant], noWrap && clsx(typographyClasses.noWrap, classes == null ? void 0 : classes.noWrap)),
168
- $variant: mappedVariant,
169
- $link: link,
170
- $disabled: disabled,
171
- $noWrap: noWrap,
172
- ...others,
173
- children
56
+ className: cx(classes.root, classes[variant], className, {
57
+ [classes.isLink]: link,
58
+ [classes.noWrap]: noWrap,
59
+ [classes.disabled]: disabled
60
+ }),
61
+ ...others
174
62
  });
175
63
  });
176
64
  export {
177
- HvTypography
65
+ HvTypography,
66
+ staticClasses as typographyClasses,
67
+ typographyVariants
178
68
  };
179
69
  //# sourceMappingURL=Typography.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Typography.js","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":";;;;;;;;;;;;;;;;;;;;;;;AAkDA,MAAMA,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;AAEA,MAAMC,qBAAqB,CAAwCC,MAE/DA,wBAAAA,GAACC,QAAAC,IAAAC,aAAA,eAAAC,SAAA,IAAA;AAAA,EAAAC,QAAA;AAAA,GACDC,gBAAgB,IAAAF,SAAA,IAAA;AAAA,EAAAC,QAAA;AAAA,EAAApB,OAAA;AAAA,GAAhBqB,gBAAgB,CAClB,EACE,CAAC;AAAA,EACCC;AAAAA,EACAC,QAAQ;AAAA,EACRC,YAAY;AAAA,EACZC,UAAU;AAMZ,OAAO;AAAA,EACL,GAAIH,aAAa,aAAa;AAAA,IAC5B,GAAII,MAAMC,WAAWjC;AAAAA,EACvB;AAAA,EACA,GAAI4B,aAAa,YAAY;AAAA,IAC3B,GAAII,MAAMC,WAAWhC;AAAAA,EACvB;AAAA,EACA,GAAI2B,aAAa,YAAY;AAAA,IAC3B,GAAII,MAAMC,WAAW/B;AAAAA,EACvB;AAAA,EACA,GAAI0B,aAAa,YAAY;AAAA,IAC3B,GAAII,MAAMC,WAAW9B;AAAAA,EACvB;AAAA,EACA,GAAIyB,aAAa,YAAY;AAAA,IAC3B,GAAII,MAAMC,WAAW7B;AAAAA,EACvB;AAAA,EACA,GAAIwB,aAAa,UAAU;AAAA,IACzB,GAAII,MAAMC,WAAW5B;AAAAA,EACvB;AAAA,EACA,GAAIuB,aAAa,WAAW;AAAA,IAC1B,GAAII,MAAMC,WAAW3B;AAAAA,EACvB;AAAA,EACA,GAAIsB,aAAa,cAAc;AAAA,IAC7B,GAAII,MAAMC,WAAW1B;AAAAA,EACvB;AAAA,EACA,GAAIqB,aAAa,cAAc;AAAA,IAC7B,GAAII,MAAMC,WAAWzB;AAAAA,EACvB;AAAA;AAAA,EAEA,GAAIoB,aAAa,cAAc;AAAA,IAC7B,GAAII,MAAMC,WAAW,UAAU;AAAA,EACjC;AAAA,EACA,GAAIL,aAAa,cAAc;AAAA,IAC7B,GAAII,MAAMC,WAAW,UAAU;AAAA,EACjC;AAAA,EACA,GAAIL,aAAa,cAAc;AAAA,IAC7B,GAAII,MAAMC,WAAWxB;AAAAA,EACvB;AAAA,EACA,GAAImB,aAAa,YAAY;AAAA,IAC3B,GAAII,MAAMC,WAAWvB;AAAAA,EACvB;AAAA,EACA,GAAIkB,aAAa,YAAY;AAAA,IAC3B,GAAII,MAAMC,WAAWtB;AAAAA,EACvB;AAAA,EACA,GAAIiB,aAAa,cAAc;AAAA,IAC7B,GAAII,MAAMC,WAAWrB;AAAAA,EACvB;AAAA,EACA,GAAIgB,aAAa,kBAAkB;AAAA,IACjC,GAAII,MAAMC,WAAWpB;AAAAA,IACrBqB,eAAe;AAAA,EACjB;AAAA,EACA,GAAIN,aAAa,qBAAqB;AAAA,IACpC,GAAII,MAAMC,WAAWnB;AAAAA,EACvB;AAAA,EACA,GAAIc,aAAa,UAAU;AAAA,IACzB,GAAII,MAAMC,WAAWlB;AAAAA,IACrBoB,gBAAgB;AAAA,IAChBC,QAAQ;AAAA,EACV;AAAA,EACA,GAAIR,aAAa,kBAAkB;AAAA,IACjC,GAAII,MAAMC,WAAWjB;AAAAA,EACvB;AAAA,EACA,GAAIY,aAAa,qBAAqB;AAAA,IACpC,GAAII,MAAMC,WAAWhB;AAAAA,EACvB;AAAA,EACA,GAAIW,aAAa,qBAAqB;AAAA,IACpC,GAAII,MAAMC,WAAWf;AAAAA,EACvB;AAAA,EACA,GAAIU,aAAa,kBAAkB;AAAA,IACjC,GAAII,MAAMC,WAAWd;AAAAA,EACvB;AAAA,EACAkB,YAAYL,MAAMK,WAAWhC;AAAAA;AAAAA,EAE7B,GAAIwB,SAAS;AAAA,IACXS,OAAON,MAAMO,OAAOC;AAAAA,IACpBL,gBAAgB;AAAA,IAChBC,QAAQ;AAAA,EACV;AAAA,EACA,GAAIN,aAAa;AAAA,IACfQ,OAAON,MAAMO,OAAOE;AAAAA,EACtB;AAAA,EACA,GAAIV,WAAW;AAAA,IACbW,UAAU;AAAA,IACVC,cAAc;AAAA,IACdC,YAAY;AAAA,EACd;AACF,IAAEtB,QAAAC,IAAAC,stUACJ;AA4BK,MAAMqB,eAAeC,WAC1B,CAACC,OAA0BC,QAA0B;AAC7C,QAAA;AAAA,IACJC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC,UAAU;AAAA,IACVtC,OAAO;AAAA,IACPuC,WAAW;AAAA,IACXC,SAAS;AAAA,IACTC,YAAY;AAAA,IACZ,GAAGC;AAAAA,EACDV,IAAAA;AACE,QAAA;AAAA,IAAEW;AAAAA,MAAgBC,SAAS;AAEjC,QAAMC,gBAAgBC,WAAWR,SAASK,2CAAaI,IAAI;AAE3D,QAAMC,OACJZ,cAAcK,YAAY,MAAMzD,gBAAgB6D,aAAa,KAAK;AAE9DI,QAAAA,kBAAkBC,QACtB,MAAM7C,mBAAmB2C,QAAQ,GAAG,GACpC,CAACA,IAAI,CACP;AAEA,6BACGC,iBAAe;AAAA,IACdhB;AAAAA,IACAE,WAAWgB,KACThB,WACAE,mCAASe,MACTC,kBAAkBD,MAClBf,mCAAUC,UACVe,kBAAkBf,OAAO,GACzBE,UAAUW,KAAKE,kBAAkBb,QAAQH,mCAASG,MAAM,CAC1D;AAAA,IACA3B,UACEgC;AAAAA,IAEF/B,OAAOd;AAAAA,IACPe,WAAWwB;AAAAA,IACXvB,SAASwB;AAAAA,IAAO,GACZE;AAAAA,IAAMR;AAAAA,EAAAA,CAGK;AAErB,CACF;"}
1
+ {"version":3,"file":"Typography.js","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,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,WAAWR,WAAW;AACxC,QAAA;AAAA,IAAES;AAAAA,MAAgBC,SAAS;AAEjC,QAAMT,UAAUU,WAAWT,aAAaO,2CAAaG,IAAI;AAEzD,QAAMC,YACJf,iBAAkBO,aAAa,OAAQlC,gBAAgB8B,OAAO,KAAK;AAErE,6BACGY,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
+ import { theme } from "@hitachivantara/uikit-styles";
2
+ import { createClasses } from "../../utils/classes.js";
3
+ const {
4
+ useClasses,
5
+ staticClasses
6
+ } = createClasses("HvTypography", {
7
+ root: {
8
+ fontFamily: theme.fontFamily.body
9
+ },
10
+ disabled: {
11
+ color: theme.colors.secondary_60
12
+ },
13
+ isLink: {
14
+ color: theme.colors.primary,
15
+ textDecoration: "underline"
16
+ },
17
+ noWrap: {
18
+ overflow: "hidden",
19
+ textOverflow: "ellipsis",
20
+ whiteSpace: "nowrap"
21
+ },
22
+ // variants
23
+ display: {
24
+ ...theme.typography.display
25
+ },
26
+ title1: {
27
+ ...theme.typography.title1
28
+ },
29
+ title2: {
30
+ ...theme.typography.title2
31
+ },
32
+ title3: {
33
+ ...theme.typography.title3
34
+ },
35
+ title4: {
36
+ ...theme.typography.title4
37
+ },
38
+ body: {
39
+ ...theme.typography.body
40
+ },
41
+ label: {
42
+ ...theme.typography.label
43
+ },
44
+ caption1: {
45
+ ...theme.typography.caption1
46
+ },
47
+ caption2: {
48
+ ...theme.typography.caption2
49
+ },
50
+ // legacy variants
51
+ "5xlTitle": {
52
+ ...theme.typography["5xlTitle"]
53
+ },
54
+ "4xlTitle": {
55
+ ...theme.typography["4xlTitle"]
56
+ },
57
+ "3xlTitle": {
58
+ ...theme.typography["3xlTitle"]
59
+ },
60
+ xxlTitle: {
61
+ ...theme.typography.xxlTitle
62
+ },
63
+ xlTitle: {},
64
+ lTitle: {
65
+ ...theme.typography.lTitle
66
+ },
67
+ mTitle: {},
68
+ sTitle: {
69
+ ...theme.typography.sTitle
70
+ },
71
+ xsTitle: {},
72
+ xxsTitle: {
73
+ ...theme.typography.xxsTitle
74
+ },
75
+ sectionTitle: {
76
+ ...theme.typography.sectionTitle,
77
+ textTransform: "uppercase"
78
+ },
79
+ highlightText: {},
80
+ normalText: {},
81
+ placeholderText: {
82
+ ...theme.typography.placeholderText
83
+ },
84
+ link: {
85
+ ...theme.typography.link,
86
+ cursor: "pointer",
87
+ textDecoration: "underline"
88
+ },
89
+ disabledText: {
90
+ ...theme.typography.disabledText
91
+ },
92
+ selectedNavText: {
93
+ ...theme.typography.selectedNavText
94
+ },
95
+ vizText: {},
96
+ vizTextDisabled: {
97
+ ...theme.typography.vizTextDisabled
98
+ },
99
+ xsInlineLink: {
100
+ ...theme.typography.xsInlineLink
101
+ }
102
+ });
103
+ export {
104
+ staticClasses,
105
+ useClasses
106
+ };
107
+ //# sourceMappingURL=Typography.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Typography.styles.js","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":";;AAGa,MAAA;AAAA,EAAEA;AAAAA,EAAYC;AAAc,IAAIC,cAAc,gBAAgB;AAAA,EACzEC,MAAM;AAAA,IACJC,YAAYC,MAAMD,WAAWE;AAAAA,EAC/B;AAAA,EACAC,UAAU;AAAA,IACRC,OAAOH,MAAMI,OAAOC;AAAAA,EACtB;AAAA,EACAC,QAAQ;AAAA,IACNH,OAAOH,MAAMI,OAAOG;AAAAA,IACpBC,gBAAgB;AAAA,EAClB;AAAA,EACAC,QAAQ;AAAA,IACNC,UAAU;AAAA,IACVC,cAAc;AAAA,IACdC,YAAY;AAAA,EACd;AAAA;AAAA,EAEAC,SAAS;AAAA,IAAE,GAAGb,MAAMc,WAAWD;AAAAA,EAAQ;AAAA,EACvCE,QAAQ;AAAA,IAAE,GAAGf,MAAMc,WAAWC;AAAAA,EAAO;AAAA,EACrCC,QAAQ;AAAA,IAAE,GAAGhB,MAAMc,WAAWE;AAAAA,EAAO;AAAA,EACrCC,QAAQ;AAAA,IAAE,GAAGjB,MAAMc,WAAWG;AAAAA,EAAO;AAAA,EACrCC,QAAQ;AAAA,IAAE,GAAGlB,MAAMc,WAAWI;AAAAA,EAAO;AAAA,EACrCjB,MAAM;AAAA,IAAE,GAAGD,MAAMc,WAAWb;AAAAA,EAAK;AAAA,EACjCkB,OAAO;AAAA,IAAE,GAAGnB,MAAMc,WAAWK;AAAAA,EAAM;AAAA,EACnCC,UAAU;AAAA,IAAE,GAAGpB,MAAMc,WAAWM;AAAAA,EAAS;AAAA,EACzCC,UAAU;AAAA,IAAE,GAAGrB,MAAMc,WAAWO;AAAAA,EAAS;AAAA;AAAA,EAEzC,YAAY;AAAA,IAAE,GAAGrB,MAAMc,WAAW,UAAU;AAAA,EAAE;AAAA,EAC9C,YAAY;AAAA,IAAE,GAAGd,MAAMc,WAAW,UAAU;AAAA,EAAE;AAAA,EAC9C,YAAY;AAAA,IAAE,GAAGd,MAAMc,WAAW,UAAU;AAAA,EAAE;AAAA,EAC9CQ,UAAU;AAAA,IAAE,GAAGtB,MAAMc,WAAWQ;AAAAA,EAAS;AAAA,EACzCC,SAAS,CAAC;AAAA,EACVC,QAAQ;AAAA,IAAE,GAAGxB,MAAMc,WAAWU;AAAAA,EAAO;AAAA,EACrCC,QAAQ,CAAC;AAAA,EACTC,QAAQ;AAAA,IAAE,GAAG1B,MAAMc,WAAWY;AAAAA,EAAO;AAAA,EACrCC,SAAS,CAAC;AAAA,EACVC,UAAU;AAAA,IAAE,GAAG5B,MAAMc,WAAWc;AAAAA,EAAS;AAAA,EACzCC,cAAc;AAAA,IACZ,GAAG7B,MAAMc,WAAWe;AAAAA,IACpBC,eAAe;AAAA,EACjB;AAAA,EACAC,eAAe,CAAC;AAAA,EAChBC,YAAY,CAAC;AAAA,EACbC,iBAAiB;AAAA,IAAE,GAAGjC,MAAMc,WAAWmB;AAAAA,EAAgB;AAAA,EACvDC,MAAM;AAAA,IACJ,GAAGlC,MAAMc,WAAWoB;AAAAA,IACpBC,QAAQ;AAAA,IACR3B,gBAAgB;AAAA,EAClB;AAAA,EACA4B,cAAc;AAAA,IAAE,GAAGpC,MAAMc,WAAWsB;AAAAA,EAAa;AAAA,EACjDC,iBAAiB;AAAA,IAAE,GAAGrC,MAAMc,WAAWuB;AAAAA,EAAgB;AAAA,EACvDC,SAAS,CAAC;AAAA,EACVC,iBAAiB;AAAA,IAAE,GAAGvC,MAAMc,WAAWyB;AAAAA,EAAgB;AAAA,EACvDC,cAAc;AAAA,IAAE,GAAGxC,MAAMc,WAAW0B;AAAAA,EAAa;AACnD,CAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","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.js","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;"}
@@ -31,7 +31,7 @@ const HvVerticalNavigationHeader = ({
31
31
  if (navigateToParentHandler)
32
32
  navigateToParentHandler();
33
33
  };
34
- const shouldShowTitle = useMemo(() => !slider || slider && !Array.isArray(parentItem), [parentItem]);
34
+ const shouldShowTitle = useMemo(() => !slider || slider && !Array.isArray(parentItem), [parentItem, slider]);
35
35
  return shouldShowTitle ? /* @__PURE__ */ jsxs(StyledHeader, {
36
36
  className: clsx(className, verticalNavigationHeaderClasses.root, classes == null ? void 0 : classes.root, !isOpen && clsx(verticalNavigationHeaderClasses.minimized, classes == null ? void 0 : classes.minimized)),
37
37
  ...others,
@@ -1 +1 @@
1
- {"version":3,"file":"Header.js","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,oBAACC,YAAU;AAAA,EACtBC,YAAYF,oBAACG,aAAW;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,WAAWC,yBAAyB;AAExClB,aAAW,CAACY,WAAWX,oBAACkB,MAAI,CAAA,CAAE,IAAInB;AAElC,QAAMoB,yBAAyBA,MAAM;AAC/BL,QAAAA;AAAiD;EAAA;AAKvD,QAAMM,kBAAkBC,QACtB,MAAM,CAACR,UAAWA,UAAU,CAACS,MAAMC,QAAQR,UAAU,GACrD,CAACA,UAAU,CACb;AAEOK,SAAAA,uCACJI,cAAY;AAAA,IACXlB,WAAWmB,KACTnB,WACAoB,gCAAgCC,MAChCpB,mCAASoB,MACT,CAACjB,UACCe,KAAKC,gCAAgCE,WAAWrB,mCAASqB,SAAS,CACtE;AAAA,IAAE,GACEnB;AAAAA,IAAMoB,UAAA,CAETnB,UAAUE,eAAeC,8BACvBiB,UAAQ;AAAA,MACPC,MAAI;AAAA,MACJC,SAAQ;AAAA,MACRC,SAASd;AAAAA,MAAuB,GAC5Bd;AAAAA,MAAewB,8BAElB1B,WAAS;AAAA,QAAC+B,UAAS;AAAA,MAAA,CAAM;AAAA,IAAA,CAClB,GAEXxB,UACCV,oBAACmC,cAAY;AAAA,MAACH,SAASnB,SAAS,UAAU;AAAA,MAASgB,UAChDjB,eAAeC,SAASD,cAAcd;AAAAA,IAAAA,CAC3B,GAEfU,yBACCR,oBAACoC,sBAAoB;AAAA,MACnBL,MAAI;AAAA,MACJC,SAAQ;AAAA,MACRC,SAASzB;AAAAA,MACTD,SAAS;AAAA,QACPoB,MAAMjB,SAAS,KAAKgB,gCAAgCE;AAAAA,MACtD;AAAA,MAAE,GACExB;AAAAA,MAAmByB,UAEtBnB,SAASR,YAAYH;AAAAA,IAAAA,CACF,CACvB;AAAA,EACW,CAAA,IACZ;AACN;"}
1
+ {"version":3,"file":"Header.js","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,oBAACC,YAAU;AAAA,EACtBC,YAAYF,oBAACG,aAAW;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,WAAWC,yBAAyB;AAExClB,aAAW,CAACY,WAAWX,oBAACkB,MAAI,CAAA,CAAE,IAAInB;AAElC,QAAMoB,yBAAyBA,MAAM;AAC/BL,QAAAA;AAAiD;EAAA;AAKvD,QAAMM,kBAAkBC,QACtB,MAAM,CAACR,UAAWA,UAAU,CAACS,MAAMC,QAAQR,UAAU,GACrD,CAACA,YAAYF,MAAM,CACrB;AAEOO,SAAAA,uCACJI,cAAY;AAAA,IACXlB,WAAWmB,KACTnB,WACAoB,gCAAgCC,MAChCpB,mCAASoB,MACT,CAACjB,UACCe,KAAKC,gCAAgCE,WAAWrB,mCAASqB,SAAS,CACtE;AAAA,IAAE,GACEnB;AAAAA,IAAMoB,UAAA,CAETnB,UAAUE,eAAeC,8BACvBiB,UAAQ;AAAA,MACPC,MAAI;AAAA,MACJC,SAAQ;AAAA,MACRC,SAASd;AAAAA,MAAuB,GAC5Bd;AAAAA,MAAewB,8BAElB1B,WAAS;AAAA,QAAC+B,UAAS;AAAA,MAAA,CAAM;AAAA,IAAA,CAClB,GAEXxB,UACCV,oBAACmC,cAAY;AAAA,MAACH,SAASnB,SAAS,UAAU;AAAA,MAASgB,UAChDjB,eAAeC,SAASD,cAAcd;AAAAA,IAAAA,CAC3B,GAEfU,yBACCR,oBAACoC,sBAAoB;AAAA,MACnBL,MAAI;AAAA,MACJC,SAAQ;AAAA,MACRC,SAASzB;AAAAA,MACTD,SAAS;AAAA,QACPoB,MAAMjB,SAAS,KAAKgB,gCAAgCE;AAAAA,MACtD;AAAA,MAAE,GACExB;AAAAA,MAAmByB,UAEtBnB,SAASR,YAAYH;AAAAA,IAAAA,CACF,CACvB;AAAA,EACW,CAAA,IACZ;AACN;"}
@@ -137,8 +137,8 @@ const HvVerticalNavigationTree = ({
137
137
  onChange(event, selectedItem);
138
138
  }
139
139
  }
140
- }, [onChange, setSelected]);
141
- const treeViewItemMouseEnterHandler = (event, item) => {
140
+ }, [onChange, setSelected, setExpanded, isOpen, useIcons, data]);
141
+ const treeViewItemMouseEnterHandler = useCallback((event, item) => {
142
142
  const isCollapsed = useIcons && !isOpen;
143
143
  if (isCollapsed && item.data && !(navigationPopup == null ? void 0 : navigationPopup.fixedMode)) {
144
144
  const currentEventTarget = event.currentTarget;
@@ -151,14 +151,14 @@ const HvVerticalNavigationTree = ({
151
151
  } else if (isCollapsed && !item.data && !(navigationPopup == null ? void 0 : navigationPopup.fixedMode)) {
152
152
  setNavigationPopup(null);
153
153
  }
154
- };
154
+ }, [isOpen, useIcons, navigationPopup]);
155
155
  const handleToggle = useCallback((event, newExpanded) => {
156
156
  setExpanded(newExpanded);
157
157
  if (onToggle) {
158
158
  onToggle(event, newExpanded);
159
159
  }
160
160
  }, [onToggle, setExpanded]);
161
- const children = useMemo(() => data && createListHierarchy(data, id, classes, treeViewItemMouseEnterHandler, navigationPopup == null ? void 0 : navigationPopup.fixedMode), [classes, data, id, navigationPopup, isOpen]);
161
+ const children = useMemo(() => data && createListHierarchy(data, id, classes, treeViewItemMouseEnterHandler, navigationPopup == null ? void 0 : navigationPopup.fixedMode), [classes, data, id, navigationPopup, treeViewItemMouseEnterHandler]);
162
162
  useEffect(() => {
163
163
  if (!isOpen) {
164
164
  setNavigationPopup == null ? void 0 : setNavigationPopup(null);
@@ -167,16 +167,16 @@ const HvVerticalNavigationTree = ({
167
167
  useEffect(() => {
168
168
  if (setParentSelected)
169
169
  setParentSelected(selected);
170
- }, [selected, setSelected]);
170
+ }, [selected, setSelected, setParentSelected]);
171
171
  useEffect(() => {
172
172
  if (setParentData)
173
173
  setParentData(data);
174
- }, [data]);
174
+ }, [data, setParentData]);
175
175
  useEffect(() => {
176
176
  if (withParentData && selected && setParentItem && getParentItemById(withParentData, selected)) {
177
177
  setParentItem(getParentItemById(withParentData, selected));
178
178
  }
179
- }, [withParentData]);
179
+ }, [withParentData, selected, setParentItem]);
180
180
  const navigateToTargetHandler = (event, selectedItem) => {
181
181
  handleChange(event, selectedItem.id, selectedItem);
182
182
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Navigation.js","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":"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"}
1
+ {"version":3,"file":"Navigation.js","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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"}
@@ -145,7 +145,7 @@ const HvVerticalNavigationTreeViewItem = forwardRef((props, ref) => {
145
145
  toggleExpansion(event, nodeId);
146
146
  }
147
147
  }
148
- }, [disabled, expandable, focus, focused, isExpanded, multiSelect, nodeId, toggleExpansion, treeviewMode]);
148
+ }, [disabled, expandable, focus, focused, isExpanded, multiSelect, nodeId, toggleExpansion, treeviewMode, isOpen]);
149
149
  const handleSelection = useCallback((event) => {
150
150
  if (selectable && !disabled) {
151
151
  if (treeviewMode && !focused && focus) {
@@ -184,7 +184,7 @@ const HvVerticalNavigationTreeViewItem = forwardRef((props, ref) => {
184
184
  if (onClick) {
185
185
  onClick(event);
186
186
  }
187
- }, [disabled, expandable, handleExpansion, handleSelection, onClick, selectable]);
187
+ }, [disabled, expandable, handleExpansion, handleSelection, onClick, selectable, isOpen]);
188
188
  const handleKeyDown = useCallback((event) => {
189
189
  let isEventHandled = false;
190
190
  const {
@@ -207,7 +207,7 @@ const HvVerticalNavigationTreeViewItem = forwardRef((props, ref) => {
207
207
  event.stopPropagation();
208
208
  }
209
209
  }
210
- }, [expandable, handleExpansion, handleSelection, selectable]);
210
+ }, [expandable, handleExpansion, handleSelection, selectable, isOpen]);
211
211
  const renderedContent = useMemo(() => /* @__PURE__ */ jsxs(StyledContent, {
212
212
  id: setId(id, "button"),
213
213
  component: href ? "a" : "div",
@@ -245,13 +245,13 @@ const HvVerticalNavigationTreeViewItem = forwardRef((props, ref) => {
245
245
  $expandable: !!expandable,
246
246
  children: label
247
247
  }), isOpen && expandable && (expanded ? /* @__PURE__ */ jsx(DropUpXS, {}) : /* @__PURE__ */ jsx(DropDownXS, {}))]
248
- }), [id, href, target, classes == null ? void 0 : classes.content, treeViewItemClasses.content, classes == null ? void 0 : classes.link, treeViewItemClasses.link, classes == null ? void 0 : classes.minimized, treeViewItemClasses.minimized, disabled, handleClick, handleMouseDown, expandable, icon, level, collapsible, treeviewMode, handleFocus, selectable, handleKeyDown, selected, expanded, label, disableTooltip]);
248
+ }), [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]);
249
249
  const renderedChildren = useMemo(() => children && /* @__PURE__ */ jsx(StyledGroup, {
250
250
  id: setId(id, "group"),
251
251
  className: clsx(treeViewItemClasses.group, classes == null ? void 0 : classes.group),
252
252
  role: treeviewMode ? "group" : void 0,
253
253
  children
254
- }), [children, treeViewItemClasses.group, classes == null ? void 0 : classes.group, id, treeviewMode]);
254
+ }), [children, classes == null ? void 0 : classes.group, id, treeviewMode]);
255
255
  return /* @__PURE__ */ jsxs(StyledNode, {
256
256
  ref: handleRef,
257
257
  id: id ?? void 0,