@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.
- package/dist/cjs/components/ActionsGeneric/ActionsGeneric.cjs.map +1 -1
- package/dist/cjs/components/BaseInput/BaseInput.cjs +18 -1
- package/dist/cjs/components/BaseInput/BaseInput.cjs.map +1 -1
- package/dist/cjs/components/BreadCrumb/BreadCrumb.cjs +3 -3
- package/dist/cjs/components/BreadCrumb/BreadCrumb.cjs.map +1 -1
- package/dist/cjs/components/BreadCrumb/Page/Page.cjs +22 -12
- package/dist/cjs/components/BreadCrumb/Page/Page.cjs.map +1 -1
- package/dist/cjs/components/BreadCrumb/Page/Page.styles.cjs +19 -44
- package/dist/cjs/components/BreadCrumb/Page/Page.styles.cjs.map +1 -1
- package/dist/cjs/components/Calendar/CalendarHeader/CalendarHeader.styles.cjs +4 -8
- package/dist/cjs/components/Calendar/CalendarHeader/CalendarHeader.styles.cjs.map +1 -1
- package/dist/cjs/components/Calendar/SingleCalendar/CalendarCell.cjs +5 -17
- package/dist/cjs/components/Calendar/SingleCalendar/CalendarCell.cjs.map +1 -1
- package/dist/cjs/components/Calendar/utils.cjs +0 -8
- package/dist/cjs/components/Calendar/utils.cjs.map +1 -1
- package/dist/cjs/components/DropDownMenu/DropDownMenu.cjs +24 -29
- package/dist/cjs/components/DropDownMenu/DropDownMenu.cjs.map +1 -1
- package/dist/cjs/components/DropDownMenu/DropDownMenu.styles.cjs +27 -75
- package/dist/cjs/components/DropDownMenu/DropDownMenu.styles.cjs.map +1 -1
- package/dist/cjs/components/DropDownMenu/dropDownMenuClasses.cjs +1 -1
- package/dist/cjs/components/DropDownMenu/dropDownMenuClasses.cjs.map +1 -1
- package/dist/cjs/components/FileUploader/DropZone/DropZone.cjs +5 -4
- package/dist/cjs/components/FileUploader/DropZone/DropZone.cjs.map +1 -1
- package/dist/cjs/components/Pagination/Pagination.styles.cjs +10 -14
- package/dist/cjs/components/Pagination/Pagination.styles.cjs.map +1 -1
- package/dist/cjs/components/Table/TableCell/TableCell.cjs +4 -4
- package/dist/cjs/components/Table/TableCell/TableCell.cjs.map +1 -1
- package/dist/cjs/components/Table/TableCell/TableCell.styles.cjs +2 -14
- package/dist/cjs/components/Table/TableCell/TableCell.styles.cjs.map +1 -1
- package/dist/cjs/components/Table/TableRow/TableRow.cjs +6 -6
- package/dist/cjs/components/Table/TableRow/TableRow.cjs.map +1 -1
- package/dist/cjs/components/Table/utils/utils.cjs +0 -5
- package/dist/cjs/components/Table/utils/utils.cjs.map +1 -1
- package/dist/cjs/components/Tooltip/Tooltip.cjs.map +1 -1
- package/dist/cjs/components/Tooltip/Tooltip.styles.cjs +23 -37
- package/dist/cjs/components/Tooltip/Tooltip.styles.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/Actions/Actions.cjs +2 -2
- package/dist/cjs/components/VerticalNavigation/Actions/Actions.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/Header/Header.cjs +2 -2
- package/dist/cjs/components/VerticalNavigation/Header/Header.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/Navigation/Navigation.cjs +15 -8
- package/dist/cjs/components/VerticalNavigation/Navigation/Navigation.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/NavigationPopup/NavigationPopup.cjs +1 -0
- package/dist/cjs/components/VerticalNavigation/NavigationPopup/NavigationPopup.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/TreeView/TreeViewItem.cjs +5 -5
- package/dist/cjs/components/VerticalNavigation/TreeView/TreeViewItem.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/VerticalNavigation.cjs +7 -3
- package/dist/cjs/components/VerticalNavigation/VerticalNavigation.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/VerticalNavigationContext.cjs +1 -1
- package/dist/cjs/components/VerticalNavigation/VerticalNavigationContext.cjs.map +1 -1
- package/dist/cjs/hooks/useUniqueId.cjs +1 -1
- package/dist/cjs/hooks/useUniqueId.cjs.map +1 -1
- package/dist/cjs/index.cjs +2 -3
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/utils/checkValidHexColorValue.cjs +9 -0
- package/dist/cjs/utils/checkValidHexColorValue.cjs.map +1 -0
- package/dist/esm/components/ActionsGeneric/ActionsGeneric.js.map +1 -1
- package/dist/esm/components/BaseInput/BaseInput.js +18 -1
- package/dist/esm/components/BaseInput/BaseInput.js.map +1 -1
- package/dist/esm/components/BreadCrumb/BreadCrumb.js +3 -3
- package/dist/esm/components/BreadCrumb/BreadCrumb.js.map +1 -1
- package/dist/esm/components/BreadCrumb/Page/Page.js +23 -13
- package/dist/esm/components/BreadCrumb/Page/Page.js.map +1 -1
- package/dist/esm/components/BreadCrumb/Page/Page.styles.js +19 -42
- package/dist/esm/components/BreadCrumb/Page/Page.styles.js.map +1 -1
- package/dist/esm/components/Calendar/CalendarHeader/CalendarHeader.styles.js +4 -8
- package/dist/esm/components/Calendar/CalendarHeader/CalendarHeader.styles.js.map +1 -1
- package/dist/esm/components/Calendar/SingleCalendar/CalendarCell.js +6 -18
- package/dist/esm/components/Calendar/SingleCalendar/CalendarCell.js.map +1 -1
- package/dist/esm/components/Calendar/utils.js +1 -9
- package/dist/esm/components/Calendar/utils.js.map +1 -1
- package/dist/esm/components/DropDownMenu/DropDownMenu.js +25 -30
- package/dist/esm/components/DropDownMenu/DropDownMenu.js.map +1 -1
- package/dist/esm/components/DropDownMenu/DropDownMenu.styles.js +27 -73
- package/dist/esm/components/DropDownMenu/DropDownMenu.styles.js.map +1 -1
- package/dist/esm/components/DropDownMenu/dropDownMenuClasses.js +1 -1
- package/dist/esm/components/DropDownMenu/dropDownMenuClasses.js.map +1 -1
- package/dist/esm/components/FileUploader/DropZone/DropZone.js +5 -4
- package/dist/esm/components/FileUploader/DropZone/DropZone.js.map +1 -1
- package/dist/esm/components/Pagination/Pagination.styles.js +10 -14
- package/dist/esm/components/Pagination/Pagination.styles.js.map +1 -1
- package/dist/esm/components/Table/TableCell/TableCell.js +2 -2
- package/dist/esm/components/Table/TableCell/TableCell.js.map +1 -1
- package/dist/esm/components/Table/TableCell/TableCell.styles.js +2 -14
- package/dist/esm/components/Table/TableCell/TableCell.styles.js.map +1 -1
- package/dist/esm/components/Table/TableRow/TableRow.js +2 -2
- package/dist/esm/components/Table/TableRow/TableRow.js.map +1 -1
- package/dist/esm/components/Table/utils/utils.js +0 -5
- package/dist/esm/components/Table/utils/utils.js.map +1 -1
- package/dist/esm/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/esm/components/Tooltip/Tooltip.styles.js +24 -38
- package/dist/esm/components/Tooltip/Tooltip.styles.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/Actions/Actions.js +2 -2
- package/dist/esm/components/VerticalNavigation/Actions/Actions.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/Header/Header.js +2 -2
- package/dist/esm/components/VerticalNavigation/Header/Header.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/Navigation/Navigation.js +15 -8
- package/dist/esm/components/VerticalNavigation/Navigation/Navigation.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/NavigationPopup/NavigationPopup.js +1 -0
- package/dist/esm/components/VerticalNavigation/NavigationPopup/NavigationPopup.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/TreeView/TreeViewItem.js +5 -5
- package/dist/esm/components/VerticalNavigation/TreeView/TreeViewItem.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/VerticalNavigation.js +7 -3
- package/dist/esm/components/VerticalNavigation/VerticalNavigation.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/VerticalNavigationContext.js +1 -1
- package/dist/esm/components/VerticalNavigation/VerticalNavigationContext.js.map +1 -1
- package/dist/esm/hooks/useUniqueId.js +2 -2
- package/dist/esm/hooks/useUniqueId.js.map +1 -1
- package/dist/esm/index.js +5 -6
- package/dist/esm/utils/checkValidHexColorValue.js +9 -0
- package/dist/esm/utils/checkValidHexColorValue.js.map +1 -0
- package/dist/types/index.d.ts +41 -45
- package/package.json +5 -5
- package/dist/cjs/hocs/withId.cjs +0 -31
- package/dist/cjs/hocs/withId.cjs.map +0 -1
- package/dist/esm/hocs/withId.js +0 -28
- 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\";\
|
|
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
|
|
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 {
|
|
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}`]:
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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 &&
|
|
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,
|
|
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
|
-
|
|
23
|
+
useIcons,
|
|
24
24
|
headerTitle,
|
|
25
25
|
slider,
|
|
26
26
|
navigateToParentHandler,
|
|
27
27
|
parentItem
|
|
28
28
|
} = useContext(VerticalNavigationContext);
|
|
29
|
-
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
|
|
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
|
-
|
|
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 (
|
|
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
|
|
141
|
-
if (
|
|
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 (
|
|
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 (
|
|
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 &&
|
|
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: [
|
|
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":"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"}
|
|
1
|
+
{"version":3,"file":"Navigation.js","sources":["../../../../../src/components/VerticalNavigation/Navigation/Navigation.tsx"],"sourcesContent":["import {\n useCallback,\n useMemo,\n useContext,\n useEffect,\n useState,\n ComponentProps,\n} from \"react\";\nimport { clsx } from \"clsx\";\nimport uniqueId from \"lodash/uniqueId\";\nimport { setId, wrapperTooltip } from \"@core/utils\";\nimport { useControlled } from \"@core/hooks\";\nimport { HvBaseProps } from \"@core/types\";\nimport {\n HvVerticalNavigationTreeView,\n HvVerticalNavigationTreeViewItem,\n} from \"../TreeView\";\nimport verticalNavigationTreeClasses, {\n HvVerticalNavigationTreeClasses,\n} from \"./navigationClasses\";\nimport { StyledNav } from \"./Navigation.styles\";\nimport { HvVerticalNavigationSlider } from \"..\";\nimport { VerticalNavigationContext } from \"../VerticalNavigationContext\";\nimport { HvVerticalNavigationPopup } from \"../NavigationPopup/NavigationPopup\";\nimport { getParentItemById } from \"../NavigationSlider/utils/NavigationSlider.utils\";\n\nexport type NavigationData<T extends React.ElementType = \"a\"> =\n ComponentProps<T> &\n Record<string, any> & {\n /** The id to be applied to the root element. */\n id: string;\n /** The label to be rendered on the menu item. */\n label: string;\n /** The icon to be rendered. */\n icon?: React.ReactNode;\n /** The Data children subset. */\n data?: NavigationData<T>[];\n /** Whether the item is disabled and not interactive. */\n disabled?: boolean;\n /** Whether the item has a selected state. */\n selectable?: boolean;\n };\n\nconst createListHierarchy = (\n items,\n id,\n classes?: HvVerticalNavigationTreeClasses,\n mouseEnterHandler?: (event, item) => void,\n disableTooltip = false\n) =>\n items.map((item) => {\n const {\n id: itemId,\n label: itemLabel,\n icon,\n data: children,\n selectable,\n disabled,\n href,\n target,\n } = item;\n\n const ItemText = wrapperTooltip(true, itemLabel, itemLabel);\n\n const itemMouseEnterHandler = (event) => {\n mouseEnterHandler?.(event, item);\n };\n\n return (\n <HvVerticalNavigationTreeViewItem\n id={setId(id, itemId)}\n className={classes?.listItem}\n href={href}\n target={target}\n key={itemId}\n nodeId={itemId}\n label={<ItemText />}\n icon={icon}\n payload={item}\n selectable={selectable}\n disabled={disabled}\n onMouseEnter={itemMouseEnterHandler}\n disableTooltip={disableTooltip}\n >\n {children\n ? createListHierarchy(\n children,\n id,\n classes,\n mouseEnterHandler,\n disableTooltip\n )\n : undefined}\n </HvVerticalNavigationTreeViewItem>\n );\n });\n\nconst getAllParents = (items) => {\n const parents = items.filter(\n (item) => item.data != null && item.data.length > 0\n );\n const childParents = parents.flatMap((item) => getAllParents(item.data));\n\n return [...parents, ...childParents];\n};\n\nfunction pathToElement(data, targetId) {\n const path: string[] = [];\n\n if (data != null && data.length > 0) {\n for (let i = 0; i !== data.length; ++i) {\n const item = data[i];\n if (item.id === targetId) {\n path.push(item.id);\n break;\n }\n\n const subPaths = pathToElement(item.data, targetId);\n if (subPaths.length > 0) {\n path.push(item.id);\n path.push(...subPaths);\n break;\n }\n }\n }\n\n return path;\n}\n\nexport const HvVerticalNavigationTree = ({\n id,\n\n className,\n classes,\n\n data,\n\n mode = \"navigation\",\n\n collapsible = false,\n expanded: expandedProp,\n defaultExpanded,\n onToggle,\n\n selected: selectedProp,\n defaultSelected,\n onChange,\n\n ...others\n}: HvVerticalNavigationTreeProps) => {\n const [selected, setSelected] = useControlled(selectedProp, defaultSelected);\n const [expanded, setExpanded] = useControlled(expandedProp, () => {\n if (defaultExpanded === true) {\n // all parent nodes will be expanded by default\n return getAllParents(data).map((item) => item.id);\n }\n\n if (defaultExpanded === false) {\n // all parent nodes will be collapsed by default\n return [];\n }\n\n if (defaultExpanded == null) {\n if (selected != null) {\n // the path to the selected node will be expanded (default behaviour)\n const path = pathToElement(data, selected);\n return path.slice(0, -1);\n }\n\n // nothing is expanded\n return [];\n }\n\n return defaultExpanded;\n });\n\n const {\n isOpen,\n useIcons,\n slider,\n\n parentItem,\n setParentItem,\n withParentData,\n navigateToChildHandler,\n\n setParentData,\n setParentSelected,\n } = useContext(VerticalNavigationContext);\n\n const [navigationPopup, setNavigationPopup] = useState<{\n // This value is needed to guarantee that the NavigationPopup is fully re-rendered with keeping any previous values\n uniqueKey: string;\n anchorEl: HTMLButtonElement | null;\n fixedMode: boolean;\n data: NavigationData[];\n } | null>(null);\n\n const handleChange = useCallback(\n (event, selectedId, selectedItem) => {\n if (useIcons && !isOpen && selectedItem.data) {\n const currentEventTarget = event.currentTarget;\n setNavigationPopup((prevState) => {\n // We want to close the popup in case the clicked element is the same as the previous one\n return prevState?.anchorEl === currentEventTarget\n ? null\n : {\n uniqueKey: uniqueId(),\n anchorEl: currentEventTarget,\n fixedMode: true,\n data: selectedItem.data,\n };\n });\n\n // We need this stopPropagation or else the Popup will close due to the clickaway being triggered\n event.stopPropagation();\n } else {\n setSelected(selectedId);\n setExpanded((prevState) => {\n if (!isOpen) {\n return [...prevState, ...pathToElement(data, selectedId)];\n }\n return [...prevState];\n });\n setNavigationPopup(null);\n if (onChange) {\n onChange(event, selectedItem);\n }\n }\n },\n [onChange, setSelected]\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,
|
|
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
|
-
|
|
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 ||
|
|
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 &&
|
|
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 &&
|
|
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",
|