@hitachivantara/uikit-react-core 5.9.1 → 5.11.0

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 (117) hide show
  1. package/dist/cjs/components/ActionsGeneric/ActionsGeneric.cjs.map +1 -1
  2. package/dist/cjs/components/BaseInput/BaseInput.cjs +18 -1
  3. package/dist/cjs/components/BaseInput/BaseInput.cjs.map +1 -1
  4. package/dist/cjs/components/BreadCrumb/BreadCrumb.cjs +3 -3
  5. package/dist/cjs/components/BreadCrumb/BreadCrumb.cjs.map +1 -1
  6. package/dist/cjs/components/BreadCrumb/Page/Page.cjs +22 -12
  7. package/dist/cjs/components/BreadCrumb/Page/Page.cjs.map +1 -1
  8. package/dist/cjs/components/BreadCrumb/Page/Page.styles.cjs +19 -44
  9. package/dist/cjs/components/BreadCrumb/Page/Page.styles.cjs.map +1 -1
  10. package/dist/cjs/components/Calendar/CalendarHeader/CalendarHeader.styles.cjs +4 -8
  11. package/dist/cjs/components/Calendar/CalendarHeader/CalendarHeader.styles.cjs.map +1 -1
  12. package/dist/cjs/components/Calendar/SingleCalendar/CalendarCell.cjs +5 -17
  13. package/dist/cjs/components/Calendar/SingleCalendar/CalendarCell.cjs.map +1 -1
  14. package/dist/cjs/components/Calendar/utils.cjs +0 -8
  15. package/dist/cjs/components/Calendar/utils.cjs.map +1 -1
  16. package/dist/cjs/components/DropDownMenu/DropDownMenu.cjs +24 -29
  17. package/dist/cjs/components/DropDownMenu/DropDownMenu.cjs.map +1 -1
  18. package/dist/cjs/components/DropDownMenu/DropDownMenu.styles.cjs +27 -75
  19. package/dist/cjs/components/DropDownMenu/DropDownMenu.styles.cjs.map +1 -1
  20. package/dist/cjs/components/DropDownMenu/dropDownMenuClasses.cjs +1 -1
  21. package/dist/cjs/components/DropDownMenu/dropDownMenuClasses.cjs.map +1 -1
  22. package/dist/cjs/components/FileUploader/DropZone/DropZone.cjs +5 -4
  23. package/dist/cjs/components/FileUploader/DropZone/DropZone.cjs.map +1 -1
  24. package/dist/cjs/components/Pagination/Pagination.styles.cjs +10 -14
  25. package/dist/cjs/components/Pagination/Pagination.styles.cjs.map +1 -1
  26. package/dist/cjs/components/Table/TableCell/TableCell.cjs +4 -4
  27. package/dist/cjs/components/Table/TableCell/TableCell.cjs.map +1 -1
  28. package/dist/cjs/components/Table/TableCell/TableCell.styles.cjs +2 -14
  29. package/dist/cjs/components/Table/TableCell/TableCell.styles.cjs.map +1 -1
  30. package/dist/cjs/components/Table/TableRow/TableRow.cjs +6 -6
  31. package/dist/cjs/components/Table/TableRow/TableRow.cjs.map +1 -1
  32. package/dist/cjs/components/Table/utils/utils.cjs +0 -5
  33. package/dist/cjs/components/Table/utils/utils.cjs.map +1 -1
  34. package/dist/cjs/components/Tooltip/Tooltip.cjs.map +1 -1
  35. package/dist/cjs/components/Tooltip/Tooltip.styles.cjs +23 -37
  36. package/dist/cjs/components/Tooltip/Tooltip.styles.cjs.map +1 -1
  37. package/dist/cjs/components/VerticalNavigation/Actions/Actions.cjs +2 -2
  38. package/dist/cjs/components/VerticalNavigation/Actions/Actions.cjs.map +1 -1
  39. package/dist/cjs/components/VerticalNavigation/Header/Header.cjs +2 -2
  40. package/dist/cjs/components/VerticalNavigation/Header/Header.cjs.map +1 -1
  41. package/dist/cjs/components/VerticalNavigation/Navigation/Navigation.cjs +15 -8
  42. package/dist/cjs/components/VerticalNavigation/Navigation/Navigation.cjs.map +1 -1
  43. package/dist/cjs/components/VerticalNavigation/NavigationPopup/NavigationPopup.cjs +1 -0
  44. package/dist/cjs/components/VerticalNavigation/NavigationPopup/NavigationPopup.cjs.map +1 -1
  45. package/dist/cjs/components/VerticalNavigation/TreeView/TreeViewItem.cjs +5 -5
  46. package/dist/cjs/components/VerticalNavigation/TreeView/TreeViewItem.cjs.map +1 -1
  47. package/dist/cjs/components/VerticalNavigation/VerticalNavigation.cjs +7 -3
  48. package/dist/cjs/components/VerticalNavigation/VerticalNavigation.cjs.map +1 -1
  49. package/dist/cjs/components/VerticalNavigation/VerticalNavigationContext.cjs +1 -1
  50. package/dist/cjs/components/VerticalNavigation/VerticalNavigationContext.cjs.map +1 -1
  51. package/dist/cjs/hooks/useUniqueId.cjs +1 -1
  52. package/dist/cjs/hooks/useUniqueId.cjs.map +1 -1
  53. package/dist/cjs/index.cjs +2 -3
  54. package/dist/cjs/index.cjs.map +1 -1
  55. package/dist/cjs/utils/checkValidHexColorValue.cjs +9 -0
  56. package/dist/cjs/utils/checkValidHexColorValue.cjs.map +1 -0
  57. package/dist/esm/components/ActionsGeneric/ActionsGeneric.js.map +1 -1
  58. package/dist/esm/components/BaseInput/BaseInput.js +18 -1
  59. package/dist/esm/components/BaseInput/BaseInput.js.map +1 -1
  60. package/dist/esm/components/BreadCrumb/BreadCrumb.js +3 -3
  61. package/dist/esm/components/BreadCrumb/BreadCrumb.js.map +1 -1
  62. package/dist/esm/components/BreadCrumb/Page/Page.js +23 -13
  63. package/dist/esm/components/BreadCrumb/Page/Page.js.map +1 -1
  64. package/dist/esm/components/BreadCrumb/Page/Page.styles.js +19 -42
  65. package/dist/esm/components/BreadCrumb/Page/Page.styles.js.map +1 -1
  66. package/dist/esm/components/Calendar/CalendarHeader/CalendarHeader.styles.js +4 -8
  67. package/dist/esm/components/Calendar/CalendarHeader/CalendarHeader.styles.js.map +1 -1
  68. package/dist/esm/components/Calendar/SingleCalendar/CalendarCell.js +6 -18
  69. package/dist/esm/components/Calendar/SingleCalendar/CalendarCell.js.map +1 -1
  70. package/dist/esm/components/Calendar/utils.js +1 -9
  71. package/dist/esm/components/Calendar/utils.js.map +1 -1
  72. package/dist/esm/components/DropDownMenu/DropDownMenu.js +25 -30
  73. package/dist/esm/components/DropDownMenu/DropDownMenu.js.map +1 -1
  74. package/dist/esm/components/DropDownMenu/DropDownMenu.styles.js +27 -73
  75. package/dist/esm/components/DropDownMenu/DropDownMenu.styles.js.map +1 -1
  76. package/dist/esm/components/DropDownMenu/dropDownMenuClasses.js +1 -1
  77. package/dist/esm/components/DropDownMenu/dropDownMenuClasses.js.map +1 -1
  78. package/dist/esm/components/FileUploader/DropZone/DropZone.js +5 -4
  79. package/dist/esm/components/FileUploader/DropZone/DropZone.js.map +1 -1
  80. package/dist/esm/components/Pagination/Pagination.styles.js +10 -14
  81. package/dist/esm/components/Pagination/Pagination.styles.js.map +1 -1
  82. package/dist/esm/components/Table/TableCell/TableCell.js +2 -2
  83. package/dist/esm/components/Table/TableCell/TableCell.js.map +1 -1
  84. package/dist/esm/components/Table/TableCell/TableCell.styles.js +2 -14
  85. package/dist/esm/components/Table/TableCell/TableCell.styles.js.map +1 -1
  86. package/dist/esm/components/Table/TableRow/TableRow.js +2 -2
  87. package/dist/esm/components/Table/TableRow/TableRow.js.map +1 -1
  88. package/dist/esm/components/Table/utils/utils.js +0 -5
  89. package/dist/esm/components/Table/utils/utils.js.map +1 -1
  90. package/dist/esm/components/Tooltip/Tooltip.js.map +1 -1
  91. package/dist/esm/components/Tooltip/Tooltip.styles.js +24 -38
  92. package/dist/esm/components/Tooltip/Tooltip.styles.js.map +1 -1
  93. package/dist/esm/components/VerticalNavigation/Actions/Actions.js +2 -2
  94. package/dist/esm/components/VerticalNavigation/Actions/Actions.js.map +1 -1
  95. package/dist/esm/components/VerticalNavigation/Header/Header.js +2 -2
  96. package/dist/esm/components/VerticalNavigation/Header/Header.js.map +1 -1
  97. package/dist/esm/components/VerticalNavigation/Navigation/Navigation.js +15 -8
  98. package/dist/esm/components/VerticalNavigation/Navigation/Navigation.js.map +1 -1
  99. package/dist/esm/components/VerticalNavigation/NavigationPopup/NavigationPopup.js +1 -0
  100. package/dist/esm/components/VerticalNavigation/NavigationPopup/NavigationPopup.js.map +1 -1
  101. package/dist/esm/components/VerticalNavigation/TreeView/TreeViewItem.js +5 -5
  102. package/dist/esm/components/VerticalNavigation/TreeView/TreeViewItem.js.map +1 -1
  103. package/dist/esm/components/VerticalNavigation/VerticalNavigation.js +7 -3
  104. package/dist/esm/components/VerticalNavigation/VerticalNavigation.js.map +1 -1
  105. package/dist/esm/components/VerticalNavigation/VerticalNavigationContext.js +1 -1
  106. package/dist/esm/components/VerticalNavigation/VerticalNavigationContext.js.map +1 -1
  107. package/dist/esm/hooks/useUniqueId.js +2 -2
  108. package/dist/esm/hooks/useUniqueId.js.map +1 -1
  109. package/dist/esm/index.js +5 -6
  110. package/dist/esm/utils/checkValidHexColorValue.js +9 -0
  111. package/dist/esm/utils/checkValidHexColorValue.js.map +1 -0
  112. package/dist/types/index.d.ts +41 -45
  113. package/package.json +5 -5
  114. package/dist/cjs/hocs/withId.cjs +0 -31
  115. package/dist/cjs/hocs/withId.cjs.map +0 -1
  116. package/dist/esm/hocs/withId.js +0 -28
  117. package/dist/esm/hocs/withId.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"TableRow.js","sources":["../../../../../src/components/Table/TableRow/TableRow.tsx"],"sourcesContent":["import { forwardRef, useContext, useEffect, useMemo, useState } from \"react\";\nimport { ClassNames } from \"@emotion/react\";\nimport styled from \"@emotion/styled\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\nimport { getVarValue, hexToRgbA } from \"@core/utils\";\nimport { transientOptions } from \"@core/utils/transientOptions\";\nimport { HvBaseProps } from \"@core/types\";\nimport { useTheme } from \"@core/hooks\";\nimport tableRowClasses, { HvTableRowClasses } from \"./tableRowClasses\";\nimport TableContext from \"../TableContext\";\nimport TableSectionContext from \"../TableSectionContext\";\nimport { styles } from \"./TableRow.styles\";\nimport { checkValidHexColorValue } from \"../utils\";\n\nexport interface HvTableRowProps\n extends HvBaseProps<HTMLTableRowElement, \"children\"> {\n /** Content to be rendered */\n children: React.ReactNode;\n /** The component used for the root node. Either a string to use a HTML element or a component. Defaults to tbody. */\n component?: React.ElementType;\n /** Whether the table row will shade on hover. */\n hover?: boolean;\n /** Whether the table row will have the selected shading. */\n selected?: boolean;\n /** Whether the table row is expanded. */\n expanded?: boolean;\n /** Whether the table row background is striped. */\n striped?: boolean;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvTableRowClasses;\n}\n\nconst defaultComponent = \"tr\";\n\nconst StyledTableRow = (c: any) =>\n styled(\n c,\n transientOptions\n )(\n ({\n $striped,\n $stripedColorEven,\n $stripedColorOdd,\n }: {\n $striped: boolean;\n $stripedColorEven: string;\n $stripedColorOdd: string;\n }) => ({\n ...($striped && {\n \"&:nth-of-type(even)\": {\n backgroundColor: $stripedColorEven,\n \"&:hover\": {\n backgroundColor: theme.table.rowHoverColor,\n },\n },\n \"&:nth-of-type(odd)\": {\n backgroundColor: $stripedColorOdd,\n \"&:hover\": {\n backgroundColor: theme.table.rowHoverColor,\n },\n },\n }),\n })\n );\n\n/**\n * `HvTableRow` acts as a `tr` element and inherits styles from its context\n */\nexport const HvTableRow = forwardRef<HTMLElement, HvTableRowProps>(\n (\n {\n classes,\n className,\n component,\n hover = false,\n selected = false,\n expanded = false,\n striped = false,\n ...others\n },\n externalRef\n ) => {\n const { activeTheme, selectedMode } = useTheme();\n const tableContext = useContext(TableContext);\n const tableSectionContext = useContext(TableSectionContext);\n\n const [even, setEven] = useState<string | undefined>();\n const [odd, setOdd] = useState<string | undefined>();\n\n const type = tableSectionContext?.type || \"body\";\n\n const isList = tableContext.variant === \"listrow\";\n\n const Component =\n component || tableContext?.components?.Tr || defaultComponent;\n\n const TableRow = useMemo(() => StyledTableRow(Component), [Component]);\n\n let stripedColorEven = checkValidHexColorValue(even)\n ? hexToRgbA(even, 0.6)\n : even;\n\n let stripedColorOdd = checkValidHexColorValue(odd)\n ? hexToRgbA(odd, 0.6)\n : odd;\n\n useEffect(() => {\n setEven(getVarValue(theme.table.rowStripedBackgroundColorEven));\n setOdd(getVarValue(theme.table.rowStripedBackgroundColorOdd));\n stripedColorEven = checkValidHexColorValue(even)\n ? hexToRgbA(even, 0.6)\n : even;\n stripedColorOdd = checkValidHexColorValue(odd)\n ? hexToRgbA(odd, 0.6)\n : odd;\n }, [activeTheme?.colors?.modes[selectedMode], even, odd]);\n\n return (\n <ClassNames>\n {({ css, cx }) => (\n <TableRow\n ref={externalRef}\n className={cx(\n tableSectionContext.filterClassName,\n tableRowClasses.root,\n className,\n classes?.root,\n css(styles.root),\n tableRowClasses[type],\n classes?.[type],\n css(styles[type]),\n hover &&\n (tableRowClasses.hover, classes?.hover, css(styles.hover)),\n selected &&\n cx(\n tableRowClasses.selected,\n classes?.selected,\n css(styles.selected)\n ),\n expanded &&\n cx(\n tableRowClasses.expanded,\n classes?.expanded,\n css(styles.expanded)\n ),\n striped &&\n cx(\n tableRowClasses.striped,\n classes?.striped,\n css(styles.striped)\n ),\n isList &&\n type === \"body\" &&\n cx(\n tableRowClasses.variantList,\n classes?.variantList,\n css(styles.variantList)\n ),\n isList &&\n type === \"head\" &&\n cx(\n tableRowClasses.variantListHead,\n classes?.variantListHead,\n css(styles.variantListHead)\n )\n )}\n role={Component === defaultComponent ? null : \"row\"}\n $striped={striped}\n $stripedColorEven={stripedColorEven}\n $stripedColorOdd={stripedColorOdd}\n {...others}\n />\n )}\n </ClassNames>\n );\n }\n);\n"],"names":["defaultComponent","StyledTableRow","c","process","env","NODE_ENV","_extends","target","transientOptions","label","$striped","$stripedColorEven","$stripedColorOdd","backgroundColor","theme","table","rowHoverColor","HvTableRow","forwardRef","classes","className","component","hover","selected","expanded","striped","others","externalRef","activeTheme","selectedMode","useTheme","tableContext","useContext","TableContext","tableSectionContext","TableSectionContext","even","setEven","useState","odd","setOdd","type","isList","variant","Component","components","Tr","TableRow","useMemo","stripedColorEven","checkValidHexColorValue","hexToRgbA","stripedColorOdd","useEffect","getVarValue","rowStripedBackgroundColorEven","rowStripedBackgroundColorOdd","colors","modes","ClassNames","children","css","cx","ref","filterClassName","tableRowClasses","root","styles","variantList","variantListHead","role"],"mappings":"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"}
1
+ {"version":3,"file":"TableRow.js","sources":["../../../../../src/components/Table/TableRow/TableRow.tsx"],"sourcesContent":["import { forwardRef, useContext, useEffect, useMemo, useState } from \"react\";\nimport { ClassNames } from \"@emotion/react\";\nimport styled from \"@emotion/styled\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\nimport { checkValidHexColorValue, getVarValue, hexToRgbA } from \"@core/utils\";\nimport { transientOptions } from \"@core/utils/transientOptions\";\nimport { HvBaseProps } from \"@core/types\";\nimport { useTheme } from \"@core/hooks\";\nimport tableRowClasses, { HvTableRowClasses } from \"./tableRowClasses\";\nimport TableContext from \"../TableContext\";\nimport TableSectionContext from \"../TableSectionContext\";\nimport { styles } from \"./TableRow.styles\";\n\nexport interface HvTableRowProps\n extends HvBaseProps<HTMLTableRowElement, \"children\"> {\n /** Content to be rendered */\n children: React.ReactNode;\n /** The component used for the root node. Either a string to use a HTML element or a component. Defaults to tbody. */\n component?: React.ElementType;\n /** Whether the table row will shade on hover. */\n hover?: boolean;\n /** Whether the table row will have the selected shading. */\n selected?: boolean;\n /** Whether the table row is expanded. */\n expanded?: boolean;\n /** Whether the table row background is striped. */\n striped?: boolean;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvTableRowClasses;\n}\n\nconst defaultComponent = \"tr\";\n\nconst StyledTableRow = (c: any) =>\n styled(\n c,\n transientOptions\n )(\n ({\n $striped,\n $stripedColorEven,\n $stripedColorOdd,\n }: {\n $striped: boolean;\n $stripedColorEven: string;\n $stripedColorOdd: string;\n }) => ({\n ...($striped && {\n \"&:nth-of-type(even)\": {\n backgroundColor: $stripedColorEven,\n \"&:hover\": {\n backgroundColor: theme.table.rowHoverColor,\n },\n },\n \"&:nth-of-type(odd)\": {\n backgroundColor: $stripedColorOdd,\n \"&:hover\": {\n backgroundColor: theme.table.rowHoverColor,\n },\n },\n }),\n })\n );\n\n/**\n * `HvTableRow` acts as a `tr` element and inherits styles from its context\n */\nexport const HvTableRow = forwardRef<HTMLElement, HvTableRowProps>(\n (\n {\n classes,\n className,\n component,\n hover = false,\n selected = false,\n expanded = false,\n striped = false,\n ...others\n },\n externalRef\n ) => {\n const { activeTheme, selectedMode } = useTheme();\n const tableContext = useContext(TableContext);\n const tableSectionContext = useContext(TableSectionContext);\n\n const [even, setEven] = useState<string | undefined>();\n const [odd, setOdd] = useState<string | undefined>();\n\n const type = tableSectionContext?.type || \"body\";\n\n const isList = tableContext.variant === \"listrow\";\n\n const Component =\n component || tableContext?.components?.Tr || defaultComponent;\n\n const TableRow = useMemo(() => StyledTableRow(Component), [Component]);\n\n let stripedColorEven = checkValidHexColorValue(even)\n ? hexToRgbA(even, 0.6)\n : even;\n\n let stripedColorOdd = checkValidHexColorValue(odd)\n ? hexToRgbA(odd, 0.6)\n : odd;\n\n useEffect(() => {\n setEven(getVarValue(theme.table.rowStripedBackgroundColorEven));\n setOdd(getVarValue(theme.table.rowStripedBackgroundColorOdd));\n stripedColorEven = checkValidHexColorValue(even)\n ? hexToRgbA(even, 0.6)\n : even;\n stripedColorOdd = checkValidHexColorValue(odd)\n ? hexToRgbA(odd, 0.6)\n : odd;\n }, [activeTheme?.colors?.modes[selectedMode], even, odd]);\n\n return (\n <ClassNames>\n {({ css, cx }) => (\n <TableRow\n ref={externalRef}\n className={cx(\n tableSectionContext.filterClassName,\n tableRowClasses.root,\n className,\n classes?.root,\n css(styles.root),\n tableRowClasses[type],\n classes?.[type],\n css(styles[type]),\n hover &&\n (tableRowClasses.hover, classes?.hover, css(styles.hover)),\n selected &&\n cx(\n tableRowClasses.selected,\n classes?.selected,\n css(styles.selected)\n ),\n expanded &&\n cx(\n tableRowClasses.expanded,\n classes?.expanded,\n css(styles.expanded)\n ),\n striped &&\n cx(\n tableRowClasses.striped,\n classes?.striped,\n css(styles.striped)\n ),\n isList &&\n type === \"body\" &&\n cx(\n tableRowClasses.variantList,\n classes?.variantList,\n css(styles.variantList)\n ),\n isList &&\n type === \"head\" &&\n cx(\n tableRowClasses.variantListHead,\n classes?.variantListHead,\n css(styles.variantListHead)\n )\n )}\n role={Component === defaultComponent ? null : \"row\"}\n $striped={striped}\n $stripedColorEven={stripedColorEven}\n $stripedColorOdd={stripedColorOdd}\n {...others}\n />\n )}\n </ClassNames>\n );\n }\n);\n"],"names":["defaultComponent","StyledTableRow","c","process","env","NODE_ENV","_extends","target","transientOptions","label","$striped","$stripedColorEven","$stripedColorOdd","backgroundColor","theme","table","rowHoverColor","HvTableRow","forwardRef","classes","className","component","hover","selected","expanded","striped","others","externalRef","activeTheme","selectedMode","useTheme","tableContext","useContext","TableContext","tableSectionContext","TableSectionContext","even","setEven","useState","odd","setOdd","type","isList","variant","Component","components","Tr","TableRow","useMemo","stripedColorEven","checkValidHexColorValue","hexToRgbA","stripedColorOdd","useEffect","getVarValue","rowStripedBackgroundColorEven","rowStripedBackgroundColorOdd","colors","modes","ClassNames","children","css","cx","ref","filterClassName","tableRowClasses","root","styles","variantList","variantListHead","role"],"mappings":"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"}
@@ -42,12 +42,7 @@ const getBorderStyles = (type, color, borderRadius) => {
42
42
  };
43
43
  }
44
44
  };
45
- const checkValidHexColorValue = (value) => {
46
- const reg = /^#([0-9a-f]{3}){1,2}$/i;
47
- return value ? reg.test(value) : false;
48
- };
49
45
  export {
50
- checkValidHexColorValue,
51
46
  getBorderStyles
52
47
  };
53
48
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../../../../src/components/Table/utils/utils.ts"],"sourcesContent":["import { theme } from \"@hitachivantara/uikit-styles\";\n\nexport const getBorderStyles = (\n type: string,\n color: string,\n borderRadius?: string\n) => {\n const rowBorderRadius = borderRadius || theme.table.rowBorderRadius;\n if (type === \"row\") {\n return {\n \"& td:first-of-type\": {\n borderLeft: `1px solid ${color}`,\n borderTop: `1px solid ${color}`,\n borderBottom: `1px solid ${color}`,\n borderRadius: `${rowBorderRadius} 0 0 ${rowBorderRadius}`,\n },\n \"& td:last-child\": {\n borderRight: `1px solid ${color}`,\n borderTop: `1px solid ${color}`,\n borderBottom: `1px solid ${color}`,\n borderRadius: `0 ${rowBorderRadius} ${rowBorderRadius} 0`,\n },\n \"& td:not(:first-of-type):not(:last-child)\": {\n borderTop: `1px solid ${color}`,\n borderBottom: `1px solid ${color}`,\n },\n };\n }\n if (type === \"cell\") {\n return {\n \":first-of-type&\": {\n borderLeft: `1px solid ${theme.table.rowBorderColor}`,\n borderTop: `1px solid ${theme.table.rowBorderColor}`,\n borderBottom: `1px solid ${theme.table.rowBorderColor}`,\n borderRadius: `${rowBorderRadius} 0 0 ${rowBorderRadius}`,\n },\n \":last-child&\": {\n borderRight: `1px solid ${theme.table.rowBorderColor}`,\n borderTop: `1px solid ${theme.table.rowBorderColor}`,\n borderBottom: `1px solid ${theme.table.rowBorderColor}`,\n borderRadius: `0 ${rowBorderRadius} ${rowBorderRadius} 0`,\n },\n \":not(:first-of-type):not(:last-child)&\": {\n borderTop: `1px solid ${theme.table.rowBorderColor}`,\n borderBottom: `1px solid ${theme.table.rowBorderColor}`,\n },\n };\n }\n};\n\nexport const checkValidHexColorValue = (value?: string): boolean => {\n const reg = /^#([0-9a-f]{3}){1,2}$/i;\n return value ? reg.test(value) : false;\n};\n"],"names":["getBorderStyles","type","color","borderRadius","rowBorderRadius","theme","table","borderLeft","borderTop","borderBottom","borderRight","rowBorderColor","checkValidHexColorValue","value","reg","test"],"mappings":";AAEO,MAAMA,kBAAkBA,CAC7BC,MACAC,OACAC,iBACG;AACGC,QAAAA,kBAAkBD,gBAAgBE,MAAMC,MAAMF;AACpD,MAAIH,SAAS,OAAO;AACX,WAAA;AAAA,MACL,sBAAsB;AAAA,QACpBM,YAAa,aAAYL;AAAAA,QACzBM,WAAY,aAAYN;AAAAA,QACxBO,cAAe,aAAYP;AAAAA,QAC3BC,cAAe,GAAEC,uBAAuBA;AAAAA,MAC1C;AAAA,MACA,mBAAmB;AAAA,QACjBM,aAAc,aAAYR;AAAAA,QAC1BM,WAAY,aAAYN;AAAAA,QACxBO,cAAe,aAAYP;AAAAA,QAC3BC,cAAe,KAAIC,mBAAmBA;AAAAA,MACxC;AAAA,MACA,6CAA6C;AAAA,QAC3CI,WAAY,aAAYN;AAAAA,QACxBO,cAAe,aAAYP;AAAAA,MAC7B;AAAA,IAAA;AAAA,EAEJ;AACA,MAAID,SAAS,QAAQ;AACZ,WAAA;AAAA,MACL,mBAAmB;AAAA,QACjBM,YAAa,aAAYF,MAAMC,MAAMK;AAAAA,QACrCH,WAAY,aAAYH,MAAMC,MAAMK;AAAAA,QACpCF,cAAe,aAAYJ,MAAMC,MAAMK;AAAAA,QACvCR,cAAe,GAAEC,uBAAuBA;AAAAA,MAC1C;AAAA,MACA,gBAAgB;AAAA,QACdM,aAAc,aAAYL,MAAMC,MAAMK;AAAAA,QACtCH,WAAY,aAAYH,MAAMC,MAAMK;AAAAA,QACpCF,cAAe,aAAYJ,MAAMC,MAAMK;AAAAA,QACvCR,cAAe,KAAIC,mBAAmBA;AAAAA,MACxC;AAAA,MACA,0CAA0C;AAAA,QACxCI,WAAY,aAAYH,MAAMC,MAAMK;AAAAA,QACpCF,cAAe,aAAYJ,MAAMC,MAAMK;AAAAA,MACzC;AAAA,IAAA;AAAA,EAEJ;AACF;AAEaC,MAAAA,0BAA0BA,CAACC,UAA4B;AAClE,QAAMC,MAAM;AACZ,SAAOD,QAAQC,IAAIC,KAAKF,KAAK,IAAI;AACnC;"}
1
+ {"version":3,"file":"utils.js","sources":["../../../../../src/components/Table/utils/utils.ts"],"sourcesContent":["import { theme } from \"@hitachivantara/uikit-styles\";\n\nexport const getBorderStyles = (\n type: string,\n color: string,\n borderRadius?: string\n) => {\n const rowBorderRadius = borderRadius || theme.table.rowBorderRadius;\n if (type === \"row\") {\n return {\n \"& td:first-of-type\": {\n borderLeft: `1px solid ${color}`,\n borderTop: `1px solid ${color}`,\n borderBottom: `1px solid ${color}`,\n borderRadius: `${rowBorderRadius} 0 0 ${rowBorderRadius}`,\n },\n \"& td:last-child\": {\n borderRight: `1px solid ${color}`,\n borderTop: `1px solid ${color}`,\n borderBottom: `1px solid ${color}`,\n borderRadius: `0 ${rowBorderRadius} ${rowBorderRadius} 0`,\n },\n \"& td:not(:first-of-type):not(:last-child)\": {\n borderTop: `1px solid ${color}`,\n borderBottom: `1px solid ${color}`,\n },\n };\n }\n if (type === \"cell\") {\n return {\n \":first-of-type&\": {\n borderLeft: `1px solid ${theme.table.rowBorderColor}`,\n borderTop: `1px solid ${theme.table.rowBorderColor}`,\n borderBottom: `1px solid ${theme.table.rowBorderColor}`,\n borderRadius: `${rowBorderRadius} 0 0 ${rowBorderRadius}`,\n },\n \":last-child&\": {\n borderRight: `1px solid ${theme.table.rowBorderColor}`,\n borderTop: `1px solid ${theme.table.rowBorderColor}`,\n borderBottom: `1px solid ${theme.table.rowBorderColor}`,\n borderRadius: `0 ${rowBorderRadius} ${rowBorderRadius} 0`,\n },\n \":not(:first-of-type):not(:last-child)&\": {\n borderTop: `1px solid ${theme.table.rowBorderColor}`,\n borderBottom: `1px solid ${theme.table.rowBorderColor}`,\n },\n };\n }\n};\n"],"names":["getBorderStyles","type","color","borderRadius","rowBorderRadius","theme","table","borderLeft","borderTop","borderBottom","borderRight","rowBorderColor"],"mappings":";AAEO,MAAMA,kBAAkBA,CAC7BC,MACAC,OACAC,iBACG;AACGC,QAAAA,kBAAkBD,gBAAgBE,MAAMC,MAAMF;AACpD,MAAIH,SAAS,OAAO;AACX,WAAA;AAAA,MACL,sBAAsB;AAAA,QACpBM,YAAa,aAAYL;AAAAA,QACzBM,WAAY,aAAYN;AAAAA,QACxBO,cAAe,aAAYP;AAAAA,QAC3BC,cAAe,GAAEC,uBAAuBA;AAAAA,MAC1C;AAAA,MACA,mBAAmB;AAAA,QACjBM,aAAc,aAAYR;AAAAA,QAC1BM,WAAY,aAAYN;AAAAA,QACxBO,cAAe,aAAYP;AAAAA,QAC3BC,cAAe,KAAIC,mBAAmBA;AAAAA,MACxC;AAAA,MACA,6CAA6C;AAAA,QAC3CI,WAAY,aAAYN;AAAAA,QACxBO,cAAe,aAAYP;AAAAA,MAC7B;AAAA,IAAA;AAAA,EAEJ;AACA,MAAID,SAAS,QAAQ;AACZ,WAAA;AAAA,MACL,mBAAmB;AAAA,QACjBM,YAAa,aAAYF,MAAMC,MAAMK;AAAAA,QACrCH,WAAY,aAAYH,MAAMC,MAAMK;AAAAA,QACpCF,cAAe,aAAYJ,MAAMC,MAAMK;AAAAA,QACvCR,cAAe,GAAEC,uBAAuBA;AAAAA,MAC1C;AAAA,MACA,gBAAgB;AAAA,QACdM,aAAc,aAAYL,MAAMC,MAAMK;AAAAA,QACtCH,WAAY,aAAYH,MAAMC,MAAMK;AAAAA,QACpCF,cAAe,aAAYJ,MAAMC,MAAMK;AAAAA,QACvCR,cAAe,KAAIC,mBAAmBA;AAAAA,MACxC;AAAA,MACA,0CAA0C;AAAA,QACxCI,WAAY,aAAYH,MAAMC,MAAMK;AAAAA,QACpCF,cAAe,aAAYJ,MAAMC,MAAMK;AAAAA,MACzC;AAAA,IAAA;AAAA,EAEJ;AACF;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.js","sources":["../../../../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["import {\n Fade,\n Tooltip as MuiTooltip,\n TooltipProps as MuiTooltipProps,\n} from \"@mui/material\";\nimport { forwardRef, ReactElement } from \"react\";\nimport { TransitionProps as MuiTransitionProps } from \"@mui/material/transitions\";\nimport { clsx } from \"clsx\";\nimport { useTheme } from \"@core/hooks\";\nimport { popperSx } from \"./Tooltip.styles\";\nimport tooltipClasses, { HvTooltipClasses } from \"./tooltipClasses\";\n\nexport type HvTooltipPlacementType =\n | \"bottom-end\"\n | \"bottom-start\"\n | \"bottom\"\n | \"left-end\"\n | \"left-start\"\n | \"left\"\n | \"right-end\"\n | \"right-start\"\n | \"right\"\n | \"top-end\"\n | \"top-start\"\n | \"top\";\n\nexport interface HvTooltipProps\n extends Omit<MuiTooltipProps, \"classes\" | \"title\"> {\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?: HvTooltipClasses;\n /**\n * If true, the tooltip is shown.\n */\n open?: boolean;\n /**\n * Tooltip placement.\n */\n placement?: HvTooltipPlacementType;\n /**\n * The number of milliseconds to wait before showing the tooltip.\n * This property won't impact the enter touch delay (enterTouchDelay).\n */\n enterDelay?: number;\n /**\n * Tooltip title. Zero-length titles string are never displayed.\n */\n title?: string | ReactElement;\n /**\n * The component used for the transition\n */\n TransitionComponent?: React.JSXElementConstructor<\n MuiTransitionProps & { children: React.ReactElement<any, any> }\n >;\n /**\n * Properties applied to the Transition element.\n */\n TransitionProps?: MuiTransitionProps;\n /**\n * Defines if should use a single or multiline tooltip.\n */\n useSingle?: boolean;\n /**\n * Node to apply the tooltip.\n */\n children: ReactElement;\n}\n\n/**\n * Tooltips display informative text when users hover over, focus on, or tap an element.\n */\n\nexport const HvTooltip = forwardRef((props: HvTooltipProps, ref) => {\n const {\n className,\n classes,\n open,\n enterDelay = 300,\n placement = \"top\",\n useSingle = true,\n children,\n title,\n TransitionComponent = Fade,\n TransitionProps = { timeout: 400, placement },\n ...others\n } = props;\n\n const { rootId } = useTheme();\n\n return (\n <MuiTooltip\n ref={ref}\n open={open ?? undefined}\n enterDelay={enterDelay}\n placement={placement}\n TransitionComponent={TransitionComponent}\n TransitionProps={TransitionProps}\n className={className}\n classes={{\n tooltip: useSingle\n ? clsx(tooltipClasses.tooltip, classes?.tooltip)\n : clsx(tooltipClasses.tooltipMulti, classes?.tooltipMulti),\n popper: clsx(tooltipClasses.popper, classes?.popper),\n }}\n title={title}\n PopperProps={{\n sx: popperSx(useSingle),\n container: document.getElementById(rootId || \"\") || document.body,\n }}\n {...others}\n >\n {children}\n </MuiTooltip>\n );\n});\n"],"names":["HvTooltip","forwardRef","props","ref","className","classes","open","enterDelay","placement","useSingle","children","title","TransitionComponent","Fade","TransitionProps","timeout","others","rootId","useTheme","MuiTooltip","undefined","tooltip","clsx","tooltipClasses","tooltipMulti","popper","PopperProps","sx","popperSx","container","document","getElementById","body"],"mappings":";;;;;;;AA6EO,MAAMA,YAAYC,WAAW,CAACC,OAAuBC,QAAQ;AAC5D,QAAA;AAAA,IACJC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC,aAAa;AAAA,IACbC,YAAY;AAAA,IACZC,YAAY;AAAA,IACZC;AAAAA,IACAC;AAAAA,IACAC,sBAAsBC;AAAAA,IACtBC,kBAAkB;AAAA,MAAEC,SAAS;AAAA,MAAKP;AAAAA,IAAU;AAAA,IAC5C,GAAGQ;AAAAA,EACDd,IAAAA;AAEE,QAAA;AAAA,IAAEe;AAAAA,MAAWC,SAAU;AAE7B,6BACGC,SAAU;AAAA,IACThB;AAAAA,IACAG,MAAMA,QAAQc;AAAAA,IACdb;AAAAA,IACAC;AAAAA,IACAI;AAAAA,IACAE;AAAAA,IACAV;AAAAA,IACAC,SAAS;AAAA,MACPgB,SAASZ,YACLa,KAAKC,eAAeF,SAAShB,mCAASgB,OAAO,IAC7CC,KAAKC,eAAeC,cAAcnB,mCAASmB,YAAY;AAAA,MAC3DC,QAAQH,KAAKC,eAAeE,QAAQpB,mCAASoB,MAAM;AAAA,IACrD;AAAA,IACAd;AAAAA,IACAe,aAAa;AAAA,MACXC,IAAIC,SAASnB,SAAS;AAAA,MACtBoB,WAAWC,SAASC,eAAed,UAAU,EAAE,KAAKa,SAASE;AAAAA,IAC/D;AAAA,IAAE,GACEhB;AAAAA,IAAMN;AAAAA,EAAAA,CAGC;AAEjB,CAAC;"}
1
+ {"version":3,"file":"Tooltip.js","sources":["../../../../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["import {\n Fade,\n Tooltip as MuiTooltip,\n TooltipProps as MuiTooltipProps,\n} from \"@mui/material\";\nimport { forwardRef, ReactElement } from \"react\";\nimport { clsx } from \"clsx\";\nimport { useTheme } from \"@core/hooks\";\nimport { popperSx } from \"./Tooltip.styles\";\nimport tooltipClasses, { HvTooltipClasses } from \"./tooltipClasses\";\n\nexport type HvTooltipPlacementType = MuiTooltipProps[\"placement\"];\n\nexport interface HvTooltipProps extends Omit<MuiTooltipProps, \"classes\"> {\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?: HvTooltipClasses;\n /**\n * If true, the tooltip is shown.\n */\n open?: boolean;\n /**\n * Tooltip placement.\n */\n placement?: HvTooltipPlacementType;\n /**\n * The number of milliseconds to wait before showing the tooltip.\n * This property won't impact the enter touch delay (enterTouchDelay).\n */\n enterDelay?: number;\n /** @inheritdoc */\n title: MuiTooltipProps[\"title\"];\n /** @inheritdoc */\n TransitionComponent?: MuiTooltipProps[\"TransitionComponent\"];\n /** @inheritdoc */\n TransitionProps?: MuiTooltipProps[\"TransitionProps\"];\n /**\n * Defines if should use a single or multiline tooltip.\n */\n useSingle?: boolean;\n /**\n * Node to apply the tooltip.\n */\n children: ReactElement;\n}\n\n/**\n * Tooltips display informative text when users hover over, focus on, or tap an element.\n * Accessibility-wise, the tooltip automatically labels the `children` content.\n */\nexport const HvTooltip = forwardRef((props: HvTooltipProps, ref) => {\n const {\n className,\n classes,\n open,\n enterDelay = 300,\n placement = \"top\",\n useSingle = true,\n children,\n title,\n TransitionComponent = Fade,\n TransitionProps = { timeout: 400, placement },\n ...others\n } = props;\n\n const { rootId } = useTheme();\n\n return (\n <MuiTooltip\n ref={ref}\n open={open ?? undefined}\n enterDelay={enterDelay}\n placement={placement}\n TransitionComponent={TransitionComponent}\n TransitionProps={TransitionProps}\n className={className}\n classes={{\n tooltip: useSingle\n ? clsx(tooltipClasses.tooltip, classes?.tooltip)\n : clsx(tooltipClasses.tooltipMulti, classes?.tooltipMulti),\n popper: clsx(tooltipClasses.popper, classes?.popper),\n }}\n title={title}\n PopperProps={{\n sx: popperSx(useSingle),\n container: document.getElementById(rootId || \"\") || document.body,\n }}\n {...others}\n >\n {children}\n </MuiTooltip>\n );\n});\n"],"names":["HvTooltip","forwardRef","props","ref","className","classes","open","enterDelay","placement","useSingle","children","title","TransitionComponent","Fade","TransitionProps","timeout","others","rootId","useTheme","MuiTooltip","undefined","tooltip","clsx","tooltipClasses","tooltipMulti","popper","PopperProps","sx","popperSx","container","document","getElementById","body"],"mappings":";;;;;;;AAuDO,MAAMA,YAAYC,WAAW,CAACC,OAAuBC,QAAQ;AAC5D,QAAA;AAAA,IACJC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC,aAAa;AAAA,IACbC,YAAY;AAAA,IACZC,YAAY;AAAA,IACZC;AAAAA,IACAC;AAAAA,IACAC,sBAAsBC;AAAAA,IACtBC,kBAAkB;AAAA,MAAEC,SAAS;AAAA,MAAKP;AAAAA,IAAU;AAAA,IAC5C,GAAGQ;AAAAA,EACDd,IAAAA;AAEE,QAAA;AAAA,IAAEe;AAAAA,MAAWC,SAAU;AAE7B,6BACGC,SAAU;AAAA,IACThB;AAAAA,IACAG,MAAMA,QAAQc;AAAAA,IACdb;AAAAA,IACAC;AAAAA,IACAI;AAAAA,IACAE;AAAAA,IACAV;AAAAA,IACAC,SAAS;AAAA,MACPgB,SAASZ,YACLa,KAAKC,eAAeF,SAAShB,mCAASgB,OAAO,IAC7CC,KAAKC,eAAeC,cAAcnB,mCAASmB,YAAY;AAAA,MAC3DC,QAAQH,KAAKC,eAAeE,QAAQpB,mCAASoB,MAAM;AAAA,IACrD;AAAA,IACAd;AAAAA,IACAe,aAAa;AAAA,MACXC,IAAIC,SAASnB,SAAS;AAAA,MACtBoB,WAAWC,SAASC,eAAed,UAAU,EAAE,KAAKa,SAASE;AAAAA,IAC/D;AAAA,IAAE,GACEhB;AAAAA,IAAMN;AAAAA,EAAAA,CAGC;AAEjB,CAAC;"}
@@ -1,46 +1,34 @@
1
1
  import { tooltipClasses } from "@mui/material";
2
2
  import { theme } from "@hitachivantara/uikit-styles";
3
3
  import tooltipClasses$1 from "./tooltipClasses.js";
4
- const singleStyle = {
5
- maxWidth: 532,
6
- padding: "15px 20px",
7
- display: "flex",
8
- backgroundColor: theme.colors.atmo1,
9
- borderRadius: theme.tooltip.borderRadius,
10
- boxShadow: theme.colors.shadow,
11
- width: "fit-content",
12
- "& p": {
13
- display: "-webkit-box",
14
- width: "fit-content",
15
- boxOrient: "vertical",
16
- textOverflow: "ellipsis",
17
- overflow: "hidden",
18
- wordBreak: "break-word",
19
- color: theme.colors.secondary
20
- }
21
- };
22
- const multiStyle = {
23
- maxWidth: 532,
24
- padding: 0,
25
- display: "flex",
26
- backgroundColor: theme.colors.atmo1,
27
- boxShadow: theme.colors.shadow,
28
- width: "fit-content",
29
- "& p": {
30
- display: "-webkit-box",
31
- width: "fit-content",
32
- boxOrient: "vertical",
33
- textOverflow: "ellipsis",
34
- overflow: "hidden",
35
- color: theme.colors.secondary
36
- }
37
- };
38
4
  const popperSx = (useSingle) => {
39
5
  return {
40
6
  [`& .${tooltipClasses.popper}`]: {
41
7
  opacity: 1
42
8
  },
43
- [`& .${tooltipClasses.tooltip}`]: useSingle ? singleStyle : multiStyle,
9
+ [`& .${tooltipClasses.tooltip}`]: {
10
+ ...theme.typography.body,
11
+ display: "flex",
12
+ width: "fit-content",
13
+ maxWidth: 532,
14
+ backgroundColor: theme.colors.atmo1,
15
+ boxShadow: theme.colors.shadow,
16
+ padding: 0,
17
+ ...useSingle && {
18
+ padding: "15px 20px",
19
+ borderRadius: theme.tooltip.borderRadius
20
+ },
21
+ "& p": {
22
+ display: "-webkit-box",
23
+ width: "fit-content",
24
+ boxOrient: "vertical",
25
+ textOverflow: "ellipsis",
26
+ overflow: "hidden",
27
+ ...useSingle && {
28
+ wordBreak: "break-word"
29
+ }
30
+ }
31
+ },
44
32
  [`& .${tooltipClasses$1.title}`]: {
45
33
  padding: "15px 20px",
46
34
  borderBottom: `3px solid ${theme.colors.atmo2}`
@@ -71,8 +59,6 @@ const popperSx = (useSingle) => {
71
59
  };
72
60
  };
73
61
  export {
74
- multiStyle,
75
- popperSx,
76
- singleStyle
62
+ popperSx
77
63
  };
78
64
  //# sourceMappingURL=Tooltip.styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.styles.js","sources":["../../../../src/components/Tooltip/Tooltip.styles.tsx"],"sourcesContent":["import { tooltipClasses as MuitooltipClasses } from \"@mui/material\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\nimport tooltipClasses from \"./tooltipClasses\";\n\nexport const singleStyle = {\n maxWidth: 532,\n padding: \"15px 20px\",\n display: \"flex\",\n backgroundColor: theme.colors.atmo1,\n borderRadius: theme.tooltip.borderRadius,\n boxShadow: theme.colors.shadow,\n width: \"fit-content\",\n \"& p\": {\n display: \"-webkit-box\",\n width: \"fit-content\",\n boxOrient: \"vertical\",\n textOverflow: \"ellipsis\",\n overflow: \"hidden\",\n wordBreak: \"break-word\",\n color: theme.colors.secondary,\n },\n};\n\nexport const multiStyle = {\n maxWidth: 532,\n padding: 0,\n display: \"flex\",\n backgroundColor: theme.colors.atmo1,\n boxShadow: theme.colors.shadow,\n width: \"fit-content\",\n \"& p\": {\n display: \"-webkit-box\",\n width: \"fit-content\",\n boxOrient: \"vertical\",\n textOverflow: \"ellipsis\",\n overflow: \"hidden\",\n color: theme.colors.secondary,\n },\n};\n\nexport const popperSx = (useSingle: boolean) => {\n return {\n [`& .${MuitooltipClasses.popper}`]: {\n opacity: 1,\n },\n [`& .${MuitooltipClasses.tooltip}`]: useSingle ? singleStyle : multiStyle,\n [`& .${tooltipClasses.title}`]: {\n padding: \"15px 20px\",\n borderBottom: `3px solid ${theme.colors.atmo2}`,\n },\n [`& .${tooltipClasses.valuesContainer}`]: {\n padding: theme.space.sm,\n },\n [`& .${tooltipClasses.values}`]: {\n display: \"flex\",\n justifyContent: \"space-between\",\n paddingBottom: \"10px\",\n \"&:last-child\": {\n paddingBottom: 0,\n },\n },\n [`& .${tooltipClasses.color}`]: {\n width: theme.space.xs,\n },\n [`& .${tooltipClasses.separator}`]: {\n width: theme.space.xs,\n },\n [`& .${tooltipClasses.separatorColor}`]: {\n width: \"5px\",\n },\n [`& .${tooltipClasses.valueWrapper}`]: {\n padding: theme.space.sm,\n },\n };\n};\n"],"names":["singleStyle","maxWidth","padding","display","backgroundColor","theme","colors","atmo1","borderRadius","tooltip","boxShadow","shadow","width","boxOrient","textOverflow","overflow","wordBreak","color","secondary","multiStyle","popperSx","useSingle","MuitooltipClasses","popper","opacity","tooltipClasses","title","borderBottom","atmo2","valuesContainer","space","sm","values","justifyContent","paddingBottom","xs","separator","separatorColor","valueWrapper"],"mappings":";;;AAIO,MAAMA,cAAc;AAAA,EACzBC,UAAU;AAAA,EACVC,SAAS;AAAA,EACTC,SAAS;AAAA,EACTC,iBAAiBC,MAAMC,OAAOC;AAAAA,EAC9BC,cAAcH,MAAMI,QAAQD;AAAAA,EAC5BE,WAAWL,MAAMC,OAAOK;AAAAA,EACxBC,OAAO;AAAA,EACP,OAAO;AAAA,IACLT,SAAS;AAAA,IACTS,OAAO;AAAA,IACPC,WAAW;AAAA,IACXC,cAAc;AAAA,IACdC,UAAU;AAAA,IACVC,WAAW;AAAA,IACXC,OAAOZ,MAAMC,OAAOY;AAAAA,EACtB;AACF;AAEO,MAAMC,aAAa;AAAA,EACxBlB,UAAU;AAAA,EACVC,SAAS;AAAA,EACTC,SAAS;AAAA,EACTC,iBAAiBC,MAAMC,OAAOC;AAAAA,EAC9BG,WAAWL,MAAMC,OAAOK;AAAAA,EACxBC,OAAO;AAAA,EACP,OAAO;AAAA,IACLT,SAAS;AAAA,IACTS,OAAO;AAAA,IACPC,WAAW;AAAA,IACXC,cAAc;AAAA,IACdC,UAAU;AAAA,IACVE,OAAOZ,MAAMC,OAAOY;AAAAA,EACtB;AACF;AAEaE,MAAAA,WAAWA,CAACC,cAAuB;AACvC,SAAA;AAAA,IACL,CAAE,MAAKC,eAAkBC,QAAQ,GAAG;AAAA,MAClCC,SAAS;AAAA,IACX;AAAA,IACA,CAAE,MAAKF,eAAkBb,SAAS,GAAGY,YAAYrB,cAAcmB;AAAAA,IAC/D,CAAE,MAAKM,iBAAeC,OAAO,GAAG;AAAA,MAC9BxB,SAAS;AAAA,MACTyB,cAAe,aAAYtB,MAAMC,OAAOsB;AAAAA,IAC1C;AAAA,IACA,CAAE,MAAKH,iBAAeI,iBAAiB,GAAG;AAAA,MACxC3B,SAASG,MAAMyB,MAAMC;AAAAA,IACvB;AAAA,IACA,CAAE,MAAKN,iBAAeO,QAAQ,GAAG;AAAA,MAC/B7B,SAAS;AAAA,MACT8B,gBAAgB;AAAA,MAChBC,eAAe;AAAA,MACf,gBAAgB;AAAA,QACdA,eAAe;AAAA,MACjB;AAAA,IACF;AAAA,IACA,CAAE,MAAKT,iBAAeR,OAAO,GAAG;AAAA,MAC9BL,OAAOP,MAAMyB,MAAMK;AAAAA,IACrB;AAAA,IACA,CAAE,MAAKV,iBAAeW,WAAW,GAAG;AAAA,MAClCxB,OAAOP,MAAMyB,MAAMK;AAAAA,IACrB;AAAA,IACA,CAAE,MAAKV,iBAAeY,gBAAgB,GAAG;AAAA,MACvCzB,OAAO;AAAA,IACT;AAAA,IACA,CAAE,MAAKa,iBAAea,cAAc,GAAG;AAAA,MACrCpC,SAASG,MAAMyB,MAAMC;AAAAA,IACvB;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"Tooltip.styles.js","sources":["../../../../src/components/Tooltip/Tooltip.styles.tsx"],"sourcesContent":["import { tooltipClasses as MuitooltipClasses } from \"@mui/material\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\nimport tooltipClasses from \"./tooltipClasses\";\n\nexport const popperSx = (useSingle: boolean) => {\n return {\n [`& .${MuitooltipClasses.popper}`]: {\n opacity: 1,\n },\n [`& .${MuitooltipClasses.tooltip}`]: {\n ...theme.typography.body,\n display: \"flex\",\n width: \"fit-content\",\n maxWidth: 532,\n backgroundColor: theme.colors.atmo1,\n boxShadow: theme.colors.shadow,\n padding: 0,\n ...(useSingle && {\n padding: \"15px 20px\",\n borderRadius: theme.tooltip.borderRadius,\n }),\n\n \"& p\": {\n display: \"-webkit-box\",\n width: \"fit-content\",\n boxOrient: \"vertical\",\n textOverflow: \"ellipsis\",\n overflow: \"hidden\",\n ...(useSingle && { wordBreak: \"break-word\" }),\n },\n },\n [`& .${tooltipClasses.title}`]: {\n padding: \"15px 20px\",\n borderBottom: `3px solid ${theme.colors.atmo2}`,\n },\n [`& .${tooltipClasses.valuesContainer}`]: {\n padding: theme.space.sm,\n },\n [`& .${tooltipClasses.values}`]: {\n display: \"flex\",\n justifyContent: \"space-between\",\n paddingBottom: \"10px\",\n \"&:last-child\": {\n paddingBottom: 0,\n },\n },\n [`& .${tooltipClasses.color}`]: {\n width: theme.space.xs,\n },\n [`& .${tooltipClasses.separator}`]: {\n width: theme.space.xs,\n },\n [`& .${tooltipClasses.separatorColor}`]: {\n width: \"5px\",\n },\n [`& .${tooltipClasses.valueWrapper}`]: {\n padding: theme.space.sm,\n },\n };\n};\n"],"names":["popperSx","useSingle","MuitooltipClasses","popper","opacity","tooltip","theme","typography","body","display","width","maxWidth","backgroundColor","colors","atmo1","boxShadow","shadow","padding","borderRadius","boxOrient","textOverflow","overflow","wordBreak","tooltipClasses","title","borderBottom","atmo2","valuesContainer","space","sm","values","justifyContent","paddingBottom","color","xs","separator","separatorColor","valueWrapper"],"mappings":";;;AAIaA,MAAAA,WAAWA,CAACC,cAAuB;AACvC,SAAA;AAAA,IACL,CAAE,MAAKC,eAAkBC,QAAQ,GAAG;AAAA,MAClCC,SAAS;AAAA,IACX;AAAA,IACA,CAAE,MAAKF,eAAkBG,SAAS,GAAG;AAAA,MACnC,GAAGC,MAAMC,WAAWC;AAAAA,MACpBC,SAAS;AAAA,MACTC,OAAO;AAAA,MACPC,UAAU;AAAA,MACVC,iBAAiBN,MAAMO,OAAOC;AAAAA,MAC9BC,WAAWT,MAAMO,OAAOG;AAAAA,MACxBC,SAAS;AAAA,MACT,GAAIhB,aAAa;AAAA,QACfgB,SAAS;AAAA,QACTC,cAAcZ,MAAMD,QAAQa;AAAAA,MAC9B;AAAA,MAEA,OAAO;AAAA,QACLT,SAAS;AAAA,QACTC,OAAO;AAAA,QACPS,WAAW;AAAA,QACXC,cAAc;AAAA,QACdC,UAAU;AAAA,QACV,GAAIpB,aAAa;AAAA,UAAEqB,WAAW;AAAA,QAAa;AAAA,MAC7C;AAAA,IACF;AAAA,IACA,CAAE,MAAKC,iBAAeC,OAAO,GAAG;AAAA,MAC9BP,SAAS;AAAA,MACTQ,cAAe,aAAYnB,MAAMO,OAAOa;AAAAA,IAC1C;AAAA,IACA,CAAE,MAAKH,iBAAeI,iBAAiB,GAAG;AAAA,MACxCV,SAASX,MAAMsB,MAAMC;AAAAA,IACvB;AAAA,IACA,CAAE,MAAKN,iBAAeO,QAAQ,GAAG;AAAA,MAC/BrB,SAAS;AAAA,MACTsB,gBAAgB;AAAA,MAChBC,eAAe;AAAA,MACf,gBAAgB;AAAA,QACdA,eAAe;AAAA,MACjB;AAAA,IACF;AAAA,IACA,CAAE,MAAKT,iBAAeU,OAAO,GAAG;AAAA,MAC9BvB,OAAOJ,MAAMsB,MAAMM;AAAAA,IACrB;AAAA,IACA,CAAE,MAAKX,iBAAeY,WAAW,GAAG;AAAA,MAClCzB,OAAOJ,MAAMsB,MAAMM;AAAAA,IACrB;AAAA,IACA,CAAE,MAAKX,iBAAea,gBAAgB,GAAG;AAAA,MACvC1B,OAAO;AAAA,IACT;AAAA,IACA,CAAE,MAAKa,iBAAec,cAAc,GAAG;AAAA,MACrCpB,SAASX,MAAMsB,MAAMC;AAAAA,IACvB;AAAA,EAAA;AAEJ;"}
@@ -13,11 +13,11 @@ const HvVerticalNavigationActions = ({
13
13
  }) => {
14
14
  const {
15
15
  isOpen,
16
- collapsedMode
16
+ useIcons
17
17
  } = useContext(VerticalNavigationContext);
18
18
  return /* @__PURE__ */ jsx(StyledRoot, {
19
19
  id,
20
- className: clsx(className, actionsClasses.root, classes == null ? void 0 : classes.root, !isOpen && collapsedMode === "simple" && clsx(actionsClasses.hide, classes == null ? void 0 : classes.hide)),
20
+ className: clsx(className, actionsClasses.root, classes == null ? void 0 : classes.root, !isOpen && !useIcons && clsx(actionsClasses.hide, classes == null ? void 0 : classes.hide)),
21
21
  ...others,
22
22
  children
23
23
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Actions.js","sources":["../../../../../src/components/VerticalNavigation/Actions/Actions.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport { useContext } from \"react\";\nimport { VerticalNavigationContext } from \"..\";\nimport { StyledRoot } from \"./Actions.styles\";\nimport actionsClasses, {\n HvVerticalNavigationActionsClasses,\n} from \"./actionsClasses\";\n\nexport interface HvVerticalNavigationActionsProps {\n /**\n * Class names to be applied.\n */\n className?: string;\n /**\n * A Jss Object used to override or extend the styles applied to the component.\n */\n classes?: HvVerticalNavigationActionsClasses;\n /**\n * Id to be applied to the actions container.\n */\n id?: string;\n /**\n * Node to be rendered\n */\n children?: React.ReactNode;\n}\n\nexport const HvVerticalNavigationActions = ({\n className,\n classes,\n id,\n children,\n ...others\n}: HvVerticalNavigationActionsProps) => {\n const { isOpen, collapsedMode } = useContext(VerticalNavigationContext);\n\n return (\n <StyledRoot\n id={id}\n className={clsx(\n className,\n actionsClasses.root,\n classes?.root,\n !isOpen &&\n collapsedMode === \"simple\" &&\n clsx(actionsClasses.hide, classes?.hide)\n )}\n {...others}\n >\n {children}\n </StyledRoot>\n );\n};\n"],"names":["HvVerticalNavigationActions","className","classes","id","children","others","isOpen","collapsedMode","useContext","VerticalNavigationContext","StyledRoot","clsx","actionsClasses","root","hide"],"mappings":";;;;;;AA2BO,MAAMA,8BAA8BA,CAAC;AAAA,EAC1CC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACA,GAAGC;AAC6B,MAAM;AAChC,QAAA;AAAA,IAAEC;AAAAA,IAAQC;AAAAA,EAAAA,IAAkBC,WAAWC,yBAAyB;AAEtE,6BACGC,YAAU;AAAA,IACTP;AAAAA,IACAF,WAAWU,KACTV,WACAW,eAAeC,MACfX,mCAASW,MACT,CAACP,UACCC,kBAAkB,YAClBI,KAAKC,eAAeE,MAAMZ,mCAASY,IAAI,CAAC;AAAA,IAC1C,GACET;AAAAA,IAAMD;AAAAA,EAAAA,CAGC;AAEjB;"}
1
+ {"version":3,"file":"Actions.js","sources":["../../../../../src/components/VerticalNavigation/Actions/Actions.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport { useContext } from \"react\";\nimport { VerticalNavigationContext } from \"..\";\nimport { StyledRoot } from \"./Actions.styles\";\nimport actionsClasses, {\n HvVerticalNavigationActionsClasses,\n} from \"./actionsClasses\";\n\nexport interface HvVerticalNavigationActionsProps {\n /**\n * Class names to be applied.\n */\n className?: string;\n /**\n * A Jss Object used to override or extend the styles applied to the component.\n */\n classes?: HvVerticalNavigationActionsClasses;\n /**\n * Id to be applied to the actions container.\n */\n id?: string;\n /**\n * Node to be rendered\n */\n children?: React.ReactNode;\n}\n\nexport const HvVerticalNavigationActions = ({\n className,\n classes,\n id,\n children,\n ...others\n}: HvVerticalNavigationActionsProps) => {\n const { isOpen, useIcons } = useContext(VerticalNavigationContext);\n\n return (\n <StyledRoot\n id={id}\n className={clsx(\n className,\n actionsClasses.root,\n classes?.root,\n !isOpen && !useIcons && clsx(actionsClasses.hide, classes?.hide)\n )}\n {...others}\n >\n {children}\n </StyledRoot>\n );\n};\n"],"names":["HvVerticalNavigationActions","className","classes","id","children","others","isOpen","useIcons","useContext","VerticalNavigationContext","StyledRoot","clsx","actionsClasses","root","hide"],"mappings":";;;;;;AA2BO,MAAMA,8BAA8BA,CAAC;AAAA,EAC1CC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACA,GAAGC;AAC6B,MAAM;AAChC,QAAA;AAAA,IAAEC;AAAAA,IAAQC;AAAAA,EAAAA,IAAaC,WAAWC,yBAAyB;AAEjE,6BACGC,YAAU;AAAA,IACTP;AAAAA,IACAF,WAAWU,KACTV,WACAW,eAAeC,MACfX,mCAASW,MACT,CAACP,UAAU,CAACC,YAAYI,KAAKC,eAAeE,MAAMZ,mCAASY,IAAI,CAAC;AAAA,IAChE,GACET;AAAAA,IAAMD;AAAAA,EAAAA,CAGC;AAEjB;"}
@@ -20,13 +20,13 @@ const HvVerticalNavigationHeader = ({
20
20
  }) => {
21
21
  const {
22
22
  isOpen,
23
- collapsedMode,
23
+ useIcons,
24
24
  headerTitle,
25
25
  slider,
26
26
  navigateToParentHandler,
27
27
  parentItem
28
28
  } = useContext(VerticalNavigationContext);
29
- openIcon = collapsedMode === "simple" ? /* @__PURE__ */ jsx(Menu, {}) : openIcon;
29
+ openIcon = !useIcons ? /* @__PURE__ */ jsx(Menu, {}) : openIcon;
30
30
  const backButtonClickHandler = () => {
31
31
  if (navigateToParentHandler)
32
32
  navigateToParentHandler();
@@ -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 collapsedMode,\n headerTitle,\n slider,\n navigateToParentHandler,\n parentItem,\n } = useContext(VerticalNavigationContext);\n\n openIcon = collapsedMode === \"simple\" ? <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","collapsedMode","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,UAAW,EAAA;AAAA,EACvBC,YAAYF,oBAACG,WAAY,EAAA;AAAA,EACzBC;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,aAAWY,kBAAkB,WAAWX,oBAACkB,MAAO,CAAA,CAAA,IAAGnB;AAEnD,QAAMoB,yBAAyBA,MAAM;AAC/BL,QAAAA;AAAkD;EAAA;AAKxD,QAAMM,kBAAkBC,QACtB,MAAM,CAACR,UAAWA,UAAU,CAACS,MAAMC,QAAQR,UAAU,GACrD,CAACA,UAAU,CAAC;AAGPK,SAAAA,uCACJI,cAAY;AAAA,IACXlB,WAAWmB,KACTnB,WACAoB,gCAAgCC,MAChCpB,mCAASoB,MACT,CAACjB,UACCe,KAAKC,gCAAgCE,WAAWrB,mCAASqB,SAAS,CAAC;AAAA,IACrE,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,CAAI;AAAA,IAAA,CAAG,GAG9BxB,UACCV,oBAACmC,cAAY;AAAA,MAACH,SAASnB,SAAS,UAAU;AAAA,MAASgB,UAChDjB,eAAeC,SAASD,cAAcd;AAAAA,IAAAA,CAAK,GAG/CU,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,CAEzB,CAAA;AAAA,EAAA,CAAA,IAED;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]\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,UAAW,EAAA;AAAA,EACvBC,YAAYF,oBAACG,WAAY,EAAA;AAAA,EACzBC;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,MAAO,CAAA,CAAA,IAAGnB;AAElC,QAAMoB,yBAAyBA,MAAM;AAC/BL,QAAAA;AAAkD;EAAA;AAKxD,QAAMM,kBAAkBC,QACtB,MAAM,CAACR,UAAWA,UAAU,CAACS,MAAMC,QAAQR,UAAU,GACrD,CAACA,UAAU,CAAC;AAGPK,SAAAA,uCACJI,cAAY;AAAA,IACXlB,WAAWmB,KACTnB,WACAoB,gCAAgCC,MAChCpB,mCAASoB,MACT,CAACjB,UACCe,KAAKC,gCAAgCE,WAAWrB,mCAASqB,SAAS,CAAC;AAAA,IACrE,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,CAAI;AAAA,IAAA,CAAG,GAG9BxB,UACCV,oBAACmC,cAAY;AAAA,MAACH,SAASnB,SAAS,UAAU;AAAA,MAASgB,UAChDjB,eAAeC,SAASD,cAAcd;AAAAA,IAAAA,CAAK,GAG/CU,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,CAEzB,CAAA;AAAA,EAAA,CAAA,IAED;AACN;"}
@@ -5,6 +5,7 @@ import verticalNavigationTreeClasses from "./navigationClasses.js";
5
5
  import { StyledNav } from "./Navigation.styles.js";
6
6
  import { VerticalNavigationContext } from "../VerticalNavigationContext.js";
7
7
  import { HvVerticalNavigationPopup } from "../NavigationPopup/NavigationPopup.js";
8
+ import { getParentItemById } from "../NavigationSlider/utils/NavigationSlider.utils.js";
8
9
  import { jsx, jsxs } from "@emotion/react/jsx-runtime";
9
10
  import { HvVerticalNavigationSlider } from "../NavigationSlider/NavigationSlider.js";
10
11
  import { HvVerticalNavigationTreeView } from "../TreeView/TreeView.js";
@@ -101,9 +102,10 @@ const HvVerticalNavigationTree = ({
101
102
  });
102
103
  const {
103
104
  isOpen,
104
- collapsedMode,
105
+ useIcons,
105
106
  slider,
106
107
  parentItem,
108
+ setParentItem,
107
109
  withParentData,
108
110
  navigateToChildHandler,
109
111
  setParentData,
@@ -111,7 +113,7 @@ const HvVerticalNavigationTree = ({
111
113
  } = useContext(VerticalNavigationContext);
112
114
  const [navigationPopup, setNavigationPopup] = useState(null);
113
115
  const handleChange = useCallback((event, selectedId, selectedItem) => {
114
- if (collapsedMode === "icon" && !isOpen && selectedItem.data) {
116
+ if (useIcons && !isOpen && selectedItem.data) {
115
117
  const currentEventTarget = event.currentTarget;
116
118
  setNavigationPopup((prevState) => {
117
119
  return (prevState == null ? void 0 : prevState.anchorEl) === currentEventTarget ? null : {
@@ -137,8 +139,8 @@ const HvVerticalNavigationTree = ({
137
139
  }
138
140
  }, [onChange, setSelected]);
139
141
  const treeViewItemMouseEnterHandler = (event, item) => {
140
- const isCollapsedMode = collapsedMode === "icon" && !isOpen;
141
- if (isCollapsedMode && item.data && !(navigationPopup == null ? void 0 : navigationPopup.fixedMode)) {
142
+ const isCollapsed = useIcons && !isOpen;
143
+ if (isCollapsed && item.data && !(navigationPopup == null ? void 0 : navigationPopup.fixedMode)) {
142
144
  const currentEventTarget = event.currentTarget;
143
145
  setNavigationPopup == null ? void 0 : setNavigationPopup({
144
146
  uniqueKey: uniqueId(),
@@ -146,7 +148,7 @@ const HvVerticalNavigationTree = ({
146
148
  fixedMode: false,
147
149
  data: item.data
148
150
  });
149
- } else if (isCollapsedMode && !item.data && !(navigationPopup == null ? void 0 : navigationPopup.fixedMode)) {
151
+ } else if (isCollapsed && !item.data && !(navigationPopup == null ? void 0 : navigationPopup.fixedMode)) {
150
152
  setNavigationPopup(null);
151
153
  }
152
154
  };
@@ -170,6 +172,11 @@ const HvVerticalNavigationTree = ({
170
172
  if (setParentData)
171
173
  setParentData(data);
172
174
  }, [data]);
175
+ useEffect(() => {
176
+ if (withParentData && selected && setParentItem && getParentItemById(withParentData, selected)) {
177
+ setParentItem(getParentItemById(withParentData, selected));
178
+ }
179
+ }, [withParentData]);
173
180
  const navigateToTargetHandler = (event, selectedItem) => {
174
181
  handleChange(event, selectedItem.id, selectedItem);
175
182
  };
@@ -177,13 +184,13 @@ const HvVerticalNavigationTree = ({
177
184
  setNavigationPopup(null);
178
185
  };
179
186
  const handleStyledNavMouseLeave = () => {
180
- if (collapsedMode === "icon" && !isOpen && !(navigationPopup == null ? void 0 : navigationPopup.fixedMode)) {
187
+ if (useIcons && !isOpen && !(navigationPopup == null ? void 0 : navigationPopup.fixedMode)) {
181
188
  setNavigationPopup(null);
182
189
  }
183
190
  };
184
191
  return /* @__PURE__ */ jsx(StyledNav, {
185
192
  id,
186
- className: clsx(className, verticalNavigationTreeClasses.root, classes == null ? void 0 : classes.root, !isOpen && collapsedMode === "simple" && clsx(verticalNavigationTreeClasses.collapsed, classes == null ? void 0 : classes.collapsed)),
193
+ className: clsx(className, verticalNavigationTreeClasses.root, classes == null ? void 0 : classes.root, !isOpen && !useIcons && clsx(verticalNavigationTreeClasses.collapsed, classes == null ? void 0 : classes.collapsed)),
187
194
  onMouseLeave: handleStyledNavMouseLeave,
188
195
  ...others,
189
196
  children: slider ? /* @__PURE__ */ jsx(HvVerticalNavigationSlider, {
@@ -201,7 +208,7 @@ const HvVerticalNavigationTree = ({
201
208
  onChange: handleChange,
202
209
  expanded,
203
210
  onToggle: handleToggle,
204
- children: [collapsedMode === "icon" && !isOpen && navigationPopup && /* @__PURE__ */ jsx(HvVerticalNavigationPopup, {
211
+ children: [useIcons && !isOpen && navigationPopup && /* @__PURE__ */ jsx(HvVerticalNavigationPopup, {
205
212
  id: setId(id, "navigation-popup"),
206
213
  anchorEl: navigationPopup.anchorEl,
207
214
  selected,
@@ -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\";\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 collapsedMode,\n slider,\n\n parentItem,\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 (collapsedMode === \"icon\" && !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 isCollapsedMode = collapsedMode === \"icon\" && !isOpen;\n\n if (isCollapsedMode && 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 (isCollapsedMode && !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 // 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 (collapsedMode === \"icon\" && !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 collapsedMode === \"simple\" &&\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 {collapsedMode === \"icon\" && !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","collapsedMode","slider","parentItem","withParentData","navigateToChildHandler","setParentData","setParentSelected","useContext","VerticalNavigationContext","navigationPopup","setNavigationPopup","useState","handleChange","useCallback","selectedId","selectedItem","currentEventTarget","currentTarget","prevState","anchorEl","uniqueKey","uniqueId","fixedMode","stopPropagation","treeViewItemMouseEnterHandler","isCollapsedMode","handleToggle","newExpanded","useMemo","useEffect","navigateToTargetHandler","handleNavigationPopupClose","handleStyledNavMouseLeave","StyledNav","clsx","verticalNavigationTreeClasses","root","collapsed","onMouseLeave","HvVerticalNavigationSlider","onNavigateToTarget","onNavigateToChild","_jsxs","HvVerticalNavigationTreeView","list","HvVerticalNavigationPopup","onClose"],"mappings":";;;;;;;;;;;;;;AA0CA,MAAMA,sBAAsBA,CAC1BC,OACAC,IACAC,SACAC,mBACAC,iBAAiB,UAEjBJ,MAAMK,IAAKC,CAAS,SAAA;AACZ,QAAA;AAAA,IACJL,IAAIM;AAAAA,IACJC,OAAOC;AAAAA,IACPC;AAAAA,IACAC,MAAMC;AAAAA,IACNC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,EACEV,IAAAA;AAEJ,QAAMW,WAAWC,eAAe,MAAMT,WAAWA,SAAS;AAE1D,QAAMU,wBAAyBC,CAAU,UAAA;AACvCjB,2DAAoBiB,OAAOd;AAAAA,EAAI;AAGjC,6BACGe,kCAAgC;AAAA,IAC/BpB,IAAIqB,MAAMrB,IAAIM,MAAM;AAAA,IACpBgB,WAAWrB,mCAASsB;AAAAA,IACpBT;AAAAA,IACAC;AAAAA,IAEAS,QAAQlB;AAAAA,IACRC,OAAOkB,oBAACT,UAAY,EAAA;AAAA,IACpBP;AAAAA,IACAiB,SAASrB;AAAAA,IACTO;AAAAA,IACAC;AAAAA,IACAc,cAAcT;AAAAA,IACdf;AAAAA,IAA+BQ,UAE9BA,WACGb,oBACEa,UACAX,IACAC,SACAC,mBACAC,cAAc,IAEhByB;AAAAA,KAlBCtB,MAAM;AAqBjB,CAAC;AAEH,MAAMuB,gBAAiB9B,CAAU,UAAA;AACzB+B,QAAAA,UAAU/B,MAAMgC,OACnB1B,CAASA,SAAAA,KAAKK,QAAQ,QAAQL,KAAKK,KAAKsB,SAAS,CAAC;AAErD,QAAMC,eAAeH,QAAQI,QAAS7B,UAASwB,cAAcxB,KAAKK,IAAI,CAAC;AAEvE,SAAO,CAAC,GAAGoB,SAAS,GAAGG,YAAY;AACrC;AAEA,SAASE,cAAczB,MAAM0B,UAAU;AACrC,QAAMC,OAAiB,CAAA;AAEvB,MAAI3B,QAAQ,QAAQA,KAAKsB,SAAS,GAAG;AACnC,aAASM,IAAI,GAAGA,MAAM5B,KAAKsB,QAAQ,EAAEM,GAAG;AAChCjC,YAAAA,OAAOK,KAAK4B,CAAC;AACfjC,UAAAA,KAAKL,OAAOoC,UAAU;AACnBG,aAAAA,KAAKlC,KAAKL,EAAE;AACjB;AAAA,MACF;AAEA,YAAMwC,WAAWL,cAAc9B,KAAKK,MAAM0B,QAAQ;AAC9CI,UAAAA,SAASR,SAAS,GAAG;AAClBO,aAAAA,KAAKlC,KAAKL,EAAE;AACZuC,aAAAA,KAAK,GAAGC,QAAQ;AACrB;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEOH,SAAAA;AACT;AAEO,MAAMI,2BAA2BA,CAAC;AAAA,EACvCzC;AAAAA,EAEAsB;AAAAA,EACArB;AAAAA,EAEAS;AAAAA,EAEAgC,OAAO;AAAA,EAEPC,cAAc;AAAA,EACdC,UAAUC;AAAAA,EACVC;AAAAA,EACAC;AAAAA,EAEAC,UAAUC;AAAAA,EACVC;AAAAA,EACAC;AAAAA,EAEA,GAAGC;AAC0B,MAAM;AACnC,QAAM,CAACJ,UAAUK,WAAW,IAAIC,cAAcL,cAAcC,eAAe;AAC3E,QAAM,CAACN,UAAUW,WAAW,IAAID,cAAcT,cAAc,MAAM;AAChE,QAAIC,oBAAoB,MAAM;AAE5B,aAAOjB,cAAcnB,IAAI,EAAEN,IAAKC,CAAAA,SAASA,KAAKL,EAAE;AAAA,IAClD;AAEA,QAAI8C,oBAAoB,OAAO;AAE7B,aAAO;IACT;AAEA,QAAIA,mBAAmB,MAAM;AAC3B,UAAIE,YAAY,MAAM;AAEdX,cAAAA,OAAOF,cAAczB,MAAMsC,QAAQ;AAClCX,eAAAA,KAAKmB,MAAM,GAAG,EAAE;AAAA,MACzB;AAGA,aAAO;IACT;AAEOV,WAAAA;AAAAA,EAAAA,CACR;AAEK,QAAA;AAAA,IACJW;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IAEAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IAEAC;AAAAA,IACAC;AAAAA,EAAAA,IACEC,WAAWC,yBAAyB;AAExC,QAAM,CAACC,iBAAiBC,kBAAkB,IAAIC,SAMpC,IAAI;AAEd,QAAMC,eAAeC,YACnB,CAACpD,OAAOqD,YAAYC,iBAAiB;AACnC,QAAIf,kBAAkB,UAAU,CAACD,UAAUgB,aAAa/D,MAAM;AAC5D,YAAMgE,qBAAqBvD,MAAMwD;AACjCP,yBAAoBQ,CAAc,cAAA;AAEzBA,gBAAAA,uCAAWC,cAAaH,qBAC3B,OACA;AAAA,UACEI,WAAWC,SAAU;AAAA,UACrBF,UAAUH;AAAAA,UACVM,WAAW;AAAA,UACXtE,MAAM+D,aAAa/D;AAAAA,QAAAA;AAAAA,MACrB,CACL;AAGDS,YAAM8D,gBAAiB;AAAA,IAAA,OAClB;AACL5B,kBAAYmB,UAAU;AACtBjB,kBAAaqB,CAAc,cAAA;AACzB,YAAI,CAACnB,QAAQ;AACX,iBAAO,CAAC,GAAGmB,WAAW,GAAGzC,cAAczB,MAAM8D,UAAU,CAAC;AAAA,QAC1D;AACO,eAAA,CAAC,GAAGI,SAAS;AAAA,MAAA,CACrB;AACDR,yBAAmB,IAAI;AACvB,UAAIjB,UAAU;AACZA,iBAAShC,OAAOsD,YAAY;AAAA,MAC9B;AAAA,IACF;AAAA,EAAA,GAEF,CAACtB,UAAUE,WAAW,CAAC;AAGnB6B,QAAAA,gCAAgCA,CAAC/D,OAAOd,SAAS;AAC/C8E,UAAAA,kBAAkBzB,kBAAkB,UAAU,CAACD;AAErD,QAAI0B,mBAAmB9E,KAAKK,QAAQ,EAACyD,mDAAiBa,YAAW;AAC/D,YAAMN,qBAAqBvD,MAAMwD;AAEZ,+DAAA;AAAA,QACnBG,WAAWC,SAAU;AAAA,QACrBF,UAAUH;AAAAA,QACVM,WAAW;AAAA,QACXtE,MAAML,KAAKK;AAAAA,MAAAA;AAAAA,IACZ,WACQyE,mBAAmB,CAAC9E,KAAKK,QAAQ,EAACyD,mDAAiBa,YAAW;AACvEZ,yBAAmB,IAAI;AAAA,IACzB;AAAA,EAAA;AAGF,QAAMgB,eAAeb,YACnB,CAACpD,OAAOkE,gBAAgB;AACtB9B,gBAAY8B,WAAW;AAEvB,QAAItC,UAAU;AACZA,eAAS5B,OAAOkE,WAAW;AAAA,IAC7B;AAAA,EAAA,GAEF,CAACtC,UAAUQ,WAAW,CAAC;AAGzB,QAAM5C,WAAW2E,QACf,MACE5E,QACAZ,oBACEY,MACAV,IACAC,SACAiF,+BACAf,mDAAiBa,SAAS,GAE9B,CAAC/E,SAASS,MAAMV,IAAImE,iBAAiBV,MAAM,CAAC;AAG9C8B,YAAU,MAAM;AACd,QAAI,CAAC9B,QAAQ;AACXW,+DAAqB;AAAA,IACvB;AAAA,EAAA,GACC,CAACX,MAAM,CAAC;AAEX8B,YAAU,MAAM;AACVvB,QAAAA;AAAmBA,wBAAkBhB,QAAQ;AAAA,EAAA,GAChD,CAACA,UAAUK,WAAW,CAAC;AAE1BkC,YAAU,MAAM;AACVxB,QAAAA;AAAeA,oBAAcrD,IAAI;AAAA,EAAA,GACpC,CAACA,IAAI,CAAC;AAGH8E,QAAAA,0BAA0BA,CAACrE,OAAOsD,iBAAiB;AAC1CtD,iBAAAA,OAAOsD,aAAazE,IAAIyE,YAAY;AAAA,EAAA;AAGnD,QAAMgB,6BAA6BA,MAAM;AACvCrB,uBAAmB,IAAI;AAAA,EAAA;AAGzB,QAAMsB,4BAA4BA,MAAM;AACtC,QAAIhC,kBAAkB,UAAU,CAACD,UAAU,EAACU,mDAAiBa,YAAW;AACtEZ,yBAAmB,IAAI;AAAA,IACzB;AAAA,EAAA;AAGF,6BACGuB,WAAS;AAAA,IACR3F;AAAAA,IACAsB,WAAWsE,KACTtE,WACAuE,8BAA8BC,MAC9B7F,mCAAS6F,MACT,CAACrC,UACCC,kBAAkB,YAClBkC,KAAKC,8BAA8BE,WAAW9F,mCAAS8F,SAAS,CAAC;AAAA,IAErEC,cAAcN;AAAAA,IAA0B,GACpCtC;AAAAA,IAAMzC,UAETgD,SACClC,oBAACwE,4BAA0B;AAAA,MACzBvF,MAAMkD,WAAWlD,QAAQmD;AAAAA,MACzBb;AAAAA,MACAkD,oBAAoBV;AAAAA,MACpBW,mBAAmBrC;AAAAA,IAAAA,CACnB,IAEFsC,qBAACC,8BAA4B;AAAA,MAC3BrG,IAAIqB,MAAMrB,IAAI,MAAM;AAAA,MACpBsB,WAAWsE,KAAKC,8BAA8BS,MAAMrG,mCAASqG,IAAI;AAAA,MACjE1F,YAAU;AAAA,MACV8B;AAAAA,MACAC;AAAAA,MACAK;AAAAA,MACAG,UAAUmB;AAAAA,MACV1B;AAAAA,MACAG,UAAUqC;AAAAA,MAAazE,UAEtB+C,CAAAA,kBAAkB,UAAU,CAACD,UAAUU,uCACrCoC,2BAAyB;AAAA,QACxBvG,IAAIqB,MAAMrB,IAAI,kBAAkB;AAAA,QAEhC6E,UAAUV,gBAAgBU;AAAAA,QAC1B7B;AAAAA,QACAgC,WAAWb,gBAAgBa;AAAAA,QAC3BtE,MAAMyD,gBAAgBzD;AAAAA,QACtB8F,SAASf;AAAAA,QACTtC,UAAUmB;AAAAA,QACVhD,WAAWsE,KACTC,8BAA8B1B,iBAC9BlE,mCAASkE,eAAe;AAAA,MAAA,GATrBA,gBAAgBW,SAAS,GAajCnE,QAAQ;AAAA,IAAA,CAAA;AAAA,EAAA,CAGH;AAEhB;"}
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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"}
@@ -37,6 +37,7 @@ const HvVerticalNavigationPopup = ({
37
37
  children: /* @__PURE__ */ jsx(StyledPopupContainer, {
38
38
  children: /* @__PURE__ */ jsx(HvVerticalNavigation, {
39
39
  open: true,
40
+ useIcons: true,
40
41
  children: /* @__PURE__ */ jsx(HvVerticalNavigationTree, {
41
42
  className: clsx(verticalNavigationTreeClasses.popup),
42
43
  id: setId(id, "tree"),
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationPopup.js","sources":["../../../../../src/components/VerticalNavigation/NavigationPopup/NavigationPopup.tsx"],"sourcesContent":["import { ClickAwayListener } from \"@mui/material\";\nimport { clsx } from \"clsx\";\n\nimport {\n NavigationData,\n HvVerticalNavigationTree,\n HvVerticalNavigation,\n verticalNavigationTreeClasses,\n} from \"@core/components\";\nimport { HvBaseProps } from \"@core/types\";\nimport { setId } from \"@core/utils\";\n\nimport { StyledPopper, StyledPopupContainer } from \"./NavigationPopup.styles\";\n\nexport interface HvVerticalNavigationPopupProps\n extends HvBaseProps<HTMLDivElement> {\n id?: string;\n anchorEl?: HTMLElement | null;\n fixedMode?: boolean;\n data?: NavigationData[];\n selected?: string;\n onClose?: () => void;\n onChange?: any;\n}\n\nexport const HvVerticalNavigationPopup = ({\n id,\n anchorEl,\n fixedMode,\n onClose,\n data,\n selected,\n onChange,\n\n ...others\n}: HvVerticalNavigationPopupProps) => {\n const handleClickAway = () => {\n onClose?.();\n };\n\n const handleChange = (event, selectedItem) => {\n onChange(event, selectedItem.id, selectedItem);\n };\n\n const handleMouseLeave = () => {\n if (!fixedMode) {\n onClose?.();\n }\n };\n\n return (\n <StyledPopper open anchorEl={anchorEl} placement=\"right-start\" {...others}>\n <ClickAwayListener onClickAway={handleClickAway}>\n <StyledPopupContainer>\n <HvVerticalNavigation open>\n <HvVerticalNavigationTree\n className={clsx(verticalNavigationTreeClasses.popup)}\n id={setId(id, \"tree\")}\n collapsible\n defaultExpanded\n selected={selected}\n onChange={handleChange}\n data={data}\n onMouseLeave={handleMouseLeave}\n />\n </HvVerticalNavigation>\n </StyledPopupContainer>\n </ClickAwayListener>\n </StyledPopper>\n );\n};\n"],"names":["HvVerticalNavigationPopup","id","anchorEl","fixedMode","onClose","data","selected","onChange","others","handleClickAway","handleChange","event","selectedItem","handleMouseLeave","StyledPopper","open","placement","children","ClickAwayListener","onClickAway","StyledPopupContainer","HvVerticalNavigation","HvVerticalNavigationTree","className","clsx","verticalNavigationTreeClasses","popup","setId","collapsible","defaultExpanded","onMouseLeave"],"mappings":";;;;;;;;AAyBO,MAAMA,4BAA4BA,CAAC;AAAA,EACxCC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EAEA,GAAGC;AAC2B,MAAM;AACpC,QAAMC,kBAAkBA,MAAM;AACjB;AAAA,EAAA;AAGPC,QAAAA,eAAeA,CAACC,OAAOC,iBAAiB;AACnCD,aAAAA,OAAOC,aAAaX,IAAIW,YAAY;AAAA,EAAA;AAG/C,QAAMC,mBAAmBA,MAAM;AAC7B,QAAI,CAACV,WAAW;AACH;AAAA,IACb;AAAA,EAAA;AAGF,6BACGW,cAAY;AAAA,IAACC,MAAI;AAAA,IAACb;AAAAA,IAAoBc,WAAU;AAAA,IAAa,GAAKR;AAAAA,IAAMS,8BACtEC,mBAAiB;AAAA,MAACC,aAAaV;AAAAA,MAAgBQ,8BAC7CG,sBAAoB;AAAA,QAAAH,8BAClBI,sBAAoB;AAAA,UAACN,MAAI;AAAA,UAAAE,8BACvBK,0BAAwB;AAAA,YACvBC,WAAWC,KAAKC,8BAA8BC,KAAK;AAAA,YACnDzB,IAAI0B,MAAM1B,IAAI,MAAM;AAAA,YACpB2B,aAAW;AAAA,YACXC,iBAAe;AAAA,YACfvB;AAAAA,YACAC,UAAUG;AAAAA,YACVL;AAAAA,YACAyB,cAAcjB;AAAAA,UAAAA,CAAiB;AAAA,QAAA,CAC/B;AAAA,MAAA,CACmB;AAAA,IAAA,CACF;AAAA,EAAA,CAEZ;AAEnB;"}
1
+ {"version":3,"file":"NavigationPopup.js","sources":["../../../../../src/components/VerticalNavigation/NavigationPopup/NavigationPopup.tsx"],"sourcesContent":["import { ClickAwayListener } from \"@mui/material\";\nimport { clsx } from \"clsx\";\n\nimport {\n NavigationData,\n HvVerticalNavigationTree,\n HvVerticalNavigation,\n verticalNavigationTreeClasses,\n} from \"@core/components\";\nimport { HvBaseProps } from \"@core/types\";\nimport { setId } from \"@core/utils\";\n\nimport { StyledPopper, StyledPopupContainer } from \"./NavigationPopup.styles\";\n\nexport interface HvVerticalNavigationPopupProps\n extends HvBaseProps<HTMLDivElement> {\n id?: string;\n anchorEl?: HTMLElement | null;\n fixedMode?: boolean;\n data?: NavigationData[];\n selected?: string;\n onClose?: () => void;\n onChange?: any;\n}\n\nexport const HvVerticalNavigationPopup = ({\n id,\n anchorEl,\n fixedMode,\n onClose,\n data,\n selected,\n onChange,\n\n ...others\n}: HvVerticalNavigationPopupProps) => {\n const handleClickAway = () => {\n onClose?.();\n };\n\n const handleChange = (event, selectedItem) => {\n onChange(event, selectedItem.id, selectedItem);\n };\n\n const handleMouseLeave = () => {\n if (!fixedMode) {\n onClose?.();\n }\n };\n\n return (\n <StyledPopper open anchorEl={anchorEl} placement=\"right-start\" {...others}>\n <ClickAwayListener onClickAway={handleClickAway}>\n <StyledPopupContainer>\n <HvVerticalNavigation open useIcons>\n <HvVerticalNavigationTree\n className={clsx(verticalNavigationTreeClasses.popup)}\n id={setId(id, \"tree\")}\n collapsible\n defaultExpanded\n selected={selected}\n onChange={handleChange}\n data={data}\n onMouseLeave={handleMouseLeave}\n />\n </HvVerticalNavigation>\n </StyledPopupContainer>\n </ClickAwayListener>\n </StyledPopper>\n );\n};\n"],"names":["HvVerticalNavigationPopup","id","anchorEl","fixedMode","onClose","data","selected","onChange","others","handleClickAway","handleChange","event","selectedItem","handleMouseLeave","StyledPopper","open","placement","children","ClickAwayListener","onClickAway","StyledPopupContainer","HvVerticalNavigation","useIcons","HvVerticalNavigationTree","className","clsx","verticalNavigationTreeClasses","popup","setId","collapsible","defaultExpanded","onMouseLeave"],"mappings":";;;;;;;;AAyBO,MAAMA,4BAA4BA,CAAC;AAAA,EACxCC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EAEA,GAAGC;AAC2B,MAAM;AACpC,QAAMC,kBAAkBA,MAAM;AACjB;AAAA,EAAA;AAGPC,QAAAA,eAAeA,CAACC,OAAOC,iBAAiB;AACnCD,aAAAA,OAAOC,aAAaX,IAAIW,YAAY;AAAA,EAAA;AAG/C,QAAMC,mBAAmBA,MAAM;AAC7B,QAAI,CAACV,WAAW;AACH;AAAA,IACb;AAAA,EAAA;AAGF,6BACGW,cAAY;AAAA,IAACC,MAAI;AAAA,IAACb;AAAAA,IAAoBc,WAAU;AAAA,IAAa,GAAKR;AAAAA,IAAMS,8BACtEC,mBAAiB;AAAA,MAACC,aAAaV;AAAAA,MAAgBQ,8BAC7CG,sBAAoB;AAAA,QAAAH,8BAClBI,sBAAoB;AAAA,UAACN,MAAI;AAAA,UAACO,UAAQ;AAAA,UAAAL,8BAChCM,0BAAwB;AAAA,YACvBC,WAAWC,KAAKC,8BAA8BC,KAAK;AAAA,YACnD1B,IAAI2B,MAAM3B,IAAI,MAAM;AAAA,YACpB4B,aAAW;AAAA,YACXC,iBAAe;AAAA,YACfxB;AAAAA,YACAC,UAAUG;AAAAA,YACVL;AAAAA,YACA0B,cAAclB;AAAAA,UAAAA,CAAiB;AAAA,QAAA,CAC/B;AAAA,MAAA,CACmB;AAAA,IAAA,CACF;AAAA,EAAA,CAEZ;AAEnB;"}
@@ -75,7 +75,7 @@ const HvVerticalNavigationTreeViewItem = forwardRef((props, ref) => {
75
75
  }), [nodeId, treeitemElement]);
76
76
  const {
77
77
  isOpen,
78
- collapsedMode
78
+ useIcons
79
79
  } = useContext(VerticalNavigationContext);
80
80
  const {
81
81
  index,
@@ -220,7 +220,7 @@ const HvVerticalNavigationTreeViewItem = forwardRef((props, ref) => {
220
220
  onClick: handleClick,
221
221
  onMouseDown: handleMouseDown,
222
222
  style: {
223
- paddingLeft: (expandable || icon != null || !isOpen ? 0 : 10) + level * (collapsible ? 32 : 10)
223
+ paddingLeft: (expandable || useIcons || !isOpen ? 0 : 10) + level * (collapsible ? 32 : 10)
224
224
  },
225
225
  role: href ? void 0 : "button",
226
226
  ...treeviewMode ? {
@@ -235,10 +235,10 @@ const HvVerticalNavigationTreeViewItem = forwardRef((props, ref) => {
235
235
  "aria-label": payload == null ? void 0 : payload.label
236
236
  },
237
237
  children: [isOpen && expandable && (expanded ? /* @__PURE__ */ jsx(DropUpXS, {}) : /* @__PURE__ */ jsx(DropDownXS, {})), /* @__PURE__ */ jsx(IconWrapper, {
238
- icon,
238
+ icon: useIcons && icon,
239
239
  label: payload == null ? void 0 : payload.label,
240
240
  hasChildren: Boolean(children),
241
- showAvatar: !icon && level === 0 && !isOpen && collapsedMode === "icon",
241
+ showAvatar: !icon && useIcons,
242
242
  isOpen,
243
243
  disableTooltip
244
244
  }), isOpen && label]
@@ -252,7 +252,7 @@ const HvVerticalNavigationTreeViewItem = forwardRef((props, ref) => {
252
252
  return /* @__PURE__ */ jsxs(StyledNode, {
253
253
  ref: handleRef,
254
254
  id: id ?? void 0,
255
- className: clsx((_a = treeViewItemClasses) == null ? void 0 : _a.node, classes == null ? void 0 : classes.node, className, disabled && clsx(treeViewItemClasses.disabled, classes == null ? void 0 : classes.disabled), expandable && clsx(treeViewItemClasses.expandable, classes == null ? void 0 : classes.expandable), expandable && !expanded && clsx(treeViewItemClasses.collapsed, classes == null ? void 0 : classes.collapsed), expandable && expanded && clsx(treeViewItemClasses.expanded, classes == null ? void 0 : classes.expanded), selectable && !disabled && clsx(treeViewItemClasses.selectable, classes == null ? void 0 : classes.selectable), !disabled && !selectable && clsx(treeViewItemClasses.unselectable, classes == null ? void 0 : classes.unselectable), !disabled && selectable && selected && clsx(treeViewItemClasses.selected, classes == null ? void 0 : classes.selected), !disabled && selectable && !selected && clsx(treeViewItemClasses.unselected, classes == null ? void 0 : classes.unselected), focused && clsx(treeViewItemClasses.focused, classes == null ? void 0 : classes.focused), !isOpen && collapsedMode === "simple" && clsx(treeViewItemClasses.hide, classes == null ? void 0 : classes.hide), !isOpen && collapsedMode === "icon" && isChildSelected && isChildSelected(nodeId) && clsx(treeViewItemClasses.selected, classes == null ? void 0 : classes.selected)),
255
+ className: clsx((_a = treeViewItemClasses) == null ? void 0 : _a.node, classes == null ? void 0 : classes.node, className, disabled && clsx(treeViewItemClasses.disabled, classes == null ? void 0 : classes.disabled), expandable && clsx(treeViewItemClasses.expandable, classes == null ? void 0 : classes.expandable), expandable && !expanded && clsx(treeViewItemClasses.collapsed, classes == null ? void 0 : classes.collapsed), expandable && expanded && clsx(treeViewItemClasses.expanded, classes == null ? void 0 : classes.expanded), selectable && !disabled && clsx(treeViewItemClasses.selectable, classes == null ? void 0 : classes.selectable), !disabled && !selectable && clsx(treeViewItemClasses.unselectable, classes == null ? void 0 : classes.unselectable), !disabled && selectable && selected && clsx(treeViewItemClasses.selected, classes == null ? void 0 : classes.selected), !disabled && selectable && !selected && clsx(treeViewItemClasses.unselected, classes == null ? void 0 : classes.unselected), focused && clsx(treeViewItemClasses.focused, classes == null ? void 0 : classes.focused), !isOpen && !useIcons && clsx(treeViewItemClasses.hide, classes == null ? void 0 : classes.hide), !isOpen && useIcons && isChildSelected && isChildSelected(nodeId) && clsx(treeViewItemClasses.selected, classes == null ? void 0 : classes.selected)),
256
256
  "data-hasicon": icon != null ? true : void 0,
257
257
  ...mode === "treeview" && {
258
258
  role: "treeitem",