@elliemae/ds-left-navigation 2.3.0-alpha.2 → 2.3.0-alpha.7
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/{cjs → dist/cjs}/LeftNavigation.js +0 -0
- package/{cjs → dist/cjs}/LeftNavigation.js.map +0 -0
- package/{cjs → dist/cjs}/LeftNavigationContext.js +0 -0
- package/dist/cjs/LeftNavigationContext.js.map +7 -0
- package/{cjs → dist/cjs}/common/getItemBackgroundStyle.js +0 -0
- package/{cjs → dist/cjs}/common/getItemBackgroundStyle.js.map +0 -0
- package/{cjs → dist/cjs}/common/getLeftBorderStyle.js +0 -0
- package/{cjs → dist/cjs}/common/getLeftBorderStyle.js.map +0 -0
- package/{cjs → dist/cjs}/common/getScrollbarStyle.js +0 -0
- package/{cjs → dist/cjs}/common/getScrollbarStyle.js.map +0 -0
- package/{cjs → dist/cjs}/common/index.js +0 -0
- package/{cjs → dist/cjs}/common/index.js.map +0 -0
- package/{cjs → dist/cjs}/configs/index.js +0 -0
- package/{cjs → dist/cjs}/configs/index.js.map +0 -0
- package/{cjs → dist/cjs}/configs/useLeftNavConfig.js +5 -1
- package/dist/cjs/configs/useLeftNavConfig.js.map +7 -0
- package/{cjs → dist/cjs}/configs/useLeftNavItems.js +0 -0
- package/{cjs → dist/cjs}/configs/useLeftNavItems.js.map +0 -0
- package/{cjs → dist/cjs}/configs/useLeftNavSmoothExpand.js +7 -7
- package/dist/cjs/configs/useLeftNavSmoothExpand.js.map +7 -0
- package/{cjs → dist/cjs}/exported-related/ChevronItem/index.js +0 -0
- package/{cjs → dist/cjs}/exported-related/ChevronItem/index.js.map +0 -0
- package/{cjs → dist/cjs}/exported-related/Icon/index.js +0 -0
- package/{cjs → dist/cjs}/exported-related/Icon/index.js.map +0 -0
- package/{cjs → dist/cjs}/exported-related/ItemRenderer/index.js +0 -0
- package/{cjs → dist/cjs}/exported-related/ItemRenderer/index.js.map +0 -0
- package/{cjs → dist/cjs}/exported-related/ItemRenderer/styled.js +0 -0
- package/{cjs → dist/cjs}/exported-related/ItemRenderer/styled.js.map +0 -0
- package/{cjs → dist/cjs}/exported-related/ItemRenderer/usePropsWithDefaults.js +0 -0
- package/{cjs → dist/cjs}/exported-related/ItemRenderer/usePropsWithDefaults.js.map +0 -0
- package/{cjs → dist/cjs}/exported-related/Notifications/index.js +0 -0
- package/{cjs → dist/cjs}/exported-related/Notifications/index.js.map +0 -0
- package/{cjs → dist/cjs}/exported-related/OpenWindowItem/index.js +0 -0
- package/{cjs → dist/cjs}/exported-related/OpenWindowItem/index.js.map +0 -0
- package/{cjs → dist/cjs}/exported-related/constants.js +0 -0
- package/{cjs → dist/cjs}/exported-related/constants.js.map +0 -0
- package/{cjs → dist/cjs}/exported-related/index.js +0 -0
- package/{cjs → dist/cjs}/exported-related/index.js.map +0 -0
- package/{cjs → dist/cjs}/hooks/index.js +0 -0
- package/{cjs → dist/cjs}/hooks/index.js.map +0 -0
- package/{cjs → dist/cjs}/hooks/useExpandableOnClickHandler.js +0 -0
- package/{cjs → dist/cjs}/hooks/useExpandableOnClickHandler.js.map +0 -0
- package/{cjs → dist/cjs}/hooks/useKeyboardNavigation.js +0 -0
- package/{cjs → dist/cjs}/hooks/useKeyboardNavigation.js.map +0 -0
- package/{cjs → dist/cjs}/hooks/useOpenableOnClickHandler.js +0 -0
- package/{cjs → dist/cjs}/hooks/useOpenableOnClickHandler.js.map +0 -0
- package/{cjs → dist/cjs}/hooks/useSelectFirstBodyItem.js +2 -2
- package/dist/cjs/hooks/useSelectFirstBodyItem.js.map +7 -0
- package/{cjs → dist/cjs}/index.d.js +0 -0
- package/dist/cjs/index.d.js.map +7 -0
- package/{cjs → dist/cjs}/index.js +0 -0
- package/{cjs → dist/cjs}/index.js.map +0 -0
- package/{cjs → dist/cjs}/outOfTheBox/ItemControlledDrilldown/index.js +0 -0
- package/{cjs → dist/cjs}/outOfTheBox/ItemControlledDrilldown/index.js.map +0 -0
- package/{cjs → dist/cjs}/outOfTheBox/ItemControlledDrilldown/styled.js +0 -0
- package/{cjs → dist/cjs}/outOfTheBox/ItemControlledDrilldown/styled.js.map +0 -0
- package/{cjs → dist/cjs}/outOfTheBox/ItemHeader/index.js +3 -2
- package/dist/cjs/outOfTheBox/ItemHeader/index.js.map +7 -0
- package/{cjs → dist/cjs}/outOfTheBox/ItemHeader/styled.js +0 -0
- package/{cjs → dist/cjs}/outOfTheBox/ItemHeader/styled.js.map +0 -0
- package/{cjs → dist/cjs}/outOfTheBox/ItemLink/index.js +3 -2
- package/dist/cjs/outOfTheBox/ItemLink/index.js.map +7 -0
- package/{cjs → dist/cjs}/outOfTheBox/ItemLink/styled.js +0 -0
- package/{cjs → dist/cjs}/outOfTheBox/ItemLink/styled.js.map +0 -0
- package/{cjs → dist/cjs}/outOfTheBox/ItemSection/index.js +0 -0
- package/{cjs → dist/cjs}/outOfTheBox/ItemSection/index.js.map +0 -0
- package/{cjs → dist/cjs}/outOfTheBox/ItemSection/styled.js +0 -0
- package/{cjs → dist/cjs}/outOfTheBox/ItemSection/styled.js.map +0 -0
- package/{cjs → dist/cjs}/outOfTheBox/ItemSeparator/index.js +0 -0
- package/{cjs → dist/cjs}/outOfTheBox/ItemSeparator/index.js.map +0 -0
- package/{cjs → dist/cjs}/outOfTheBox/ItemSubmenu/index.js +3 -2
- package/dist/cjs/outOfTheBox/ItemSubmenu/index.js.map +7 -0
- package/{cjs → dist/cjs}/outOfTheBox/ItemSubmenu/styled.js +0 -0
- package/{cjs → dist/cjs}/outOfTheBox/ItemSubmenu/styled.js.map +0 -0
- package/{cjs → dist/cjs}/outOfTheBox/ItemTextLabel/index.js +0 -0
- package/{cjs → dist/cjs}/outOfTheBox/ItemTextLabel/index.js.map +0 -0
- package/{cjs → dist/cjs}/outOfTheBox/ItemTextLabel/styled.js +0 -0
- package/{cjs → dist/cjs}/outOfTheBox/ItemTextLabel/styled.js.map +0 -0
- package/{cjs → dist/cjs}/outOfTheBox/ItemUncontrolledDrilldown/index.js +0 -0
- package/{cjs → dist/cjs}/outOfTheBox/ItemUncontrolledDrilldown/index.js.map +0 -0
- package/{cjs → dist/cjs}/outOfTheBox/ItemUncontrolledDrilldown/styled.js +0 -0
- package/{cjs → dist/cjs}/outOfTheBox/ItemUncontrolledDrilldown/styled.js.map +0 -0
- package/{cjs → dist/cjs}/outOfTheBox/ItemWithDate/index.js +0 -0
- package/{cjs → dist/cjs}/outOfTheBox/ItemWithDate/index.js.map +0 -0
- package/{cjs → dist/cjs}/outOfTheBox/ItemWithDate/styled.js +0 -0
- package/{cjs → dist/cjs}/outOfTheBox/ItemWithDate/styled.js.map +0 -0
- package/{cjs → dist/cjs}/outOfTheBox/index.js +0 -0
- package/{cjs → dist/cjs}/outOfTheBox/index.js.map +0 -0
- package/{cjs → dist/cjs}/parts/LeftNavContent/index.js +0 -0
- package/{cjs → dist/cjs}/parts/LeftNavContent/index.js.map +0 -0
- package/{cjs → dist/cjs}/parts/LeftNavContent/styled.js +0 -0
- package/{cjs → dist/cjs}/parts/LeftNavContent/styled.js.map +0 -0
- package/{cjs → dist/cjs}/parts/LeftNavContentWithScrollbar/index.js +0 -0
- package/{cjs → dist/cjs}/parts/LeftNavContentWithScrollbar/index.js.map +0 -0
- package/{cjs → dist/cjs}/parts/LeftNavFooterItem/index.js +0 -0
- package/{cjs → dist/cjs}/parts/LeftNavFooterItem/index.js.map +0 -0
- package/{cjs → dist/cjs}/parts/LeftNavFooterItem/styled.js +0 -0
- package/{cjs → dist/cjs}/parts/LeftNavFooterItem/styled.js.map +0 -0
- package/{cjs → dist/cjs}/parts/LeftNavLoading/index.js +0 -0
- package/{cjs → dist/cjs}/parts/LeftNavLoading/index.js.map +0 -0
- package/{cjs → dist/cjs}/parts/OutOfTheBoxMapItem.js +0 -0
- package/{cjs → dist/cjs}/parts/OutOfTheBoxMapItem.js.map +0 -0
- package/{cjs → dist/cjs}/prop-types.js +0 -0
- package/{cjs → dist/cjs}/prop-types.js.map +0 -0
- package/{esm → dist/esm}/LeftNavigation.js +0 -0
- package/{esm → dist/esm}/LeftNavigation.js.map +0 -0
- package/{esm → dist/esm}/LeftNavigationContext.js +0 -0
- package/dist/esm/LeftNavigationContext.js.map +7 -0
- package/{esm → dist/esm}/common/getItemBackgroundStyle.js +0 -0
- package/{esm → dist/esm}/common/getItemBackgroundStyle.js.map +0 -0
- package/{esm → dist/esm}/common/getLeftBorderStyle.js +0 -0
- package/{esm → dist/esm}/common/getLeftBorderStyle.js.map +0 -0
- package/{esm → dist/esm}/common/getScrollbarStyle.js +0 -0
- package/{esm → dist/esm}/common/getScrollbarStyle.js.map +0 -0
- package/{esm → dist/esm}/common/index.js +0 -0
- package/{esm → dist/esm}/common/index.js.map +0 -0
- package/{esm → dist/esm}/configs/index.js +0 -0
- package/{esm → dist/esm}/configs/index.js.map +0 -0
- package/{esm → dist/esm}/configs/useLeftNavConfig.js +5 -1
- package/dist/esm/configs/useLeftNavConfig.js.map +7 -0
- package/{esm → dist/esm}/configs/useLeftNavItems.js +0 -0
- package/{esm → dist/esm}/configs/useLeftNavItems.js.map +0 -0
- package/{esm → dist/esm}/configs/useLeftNavSmoothExpand.js +7 -7
- package/dist/esm/configs/useLeftNavSmoothExpand.js.map +7 -0
- package/{esm → dist/esm}/exported-related/ChevronItem/index.js +0 -0
- package/{esm → dist/esm}/exported-related/ChevronItem/index.js.map +0 -0
- package/{esm → dist/esm}/exported-related/Icon/index.js +0 -0
- package/{esm → dist/esm}/exported-related/Icon/index.js.map +0 -0
- package/{esm → dist/esm}/exported-related/ItemRenderer/index.js +0 -0
- package/{esm → dist/esm}/exported-related/ItemRenderer/index.js.map +0 -0
- package/{esm → dist/esm}/exported-related/ItemRenderer/styled.js +0 -0
- package/{esm → dist/esm}/exported-related/ItemRenderer/styled.js.map +0 -0
- package/{esm → dist/esm}/exported-related/ItemRenderer/usePropsWithDefaults.js +0 -0
- package/{esm → dist/esm}/exported-related/ItemRenderer/usePropsWithDefaults.js.map +0 -0
- package/{esm → dist/esm}/exported-related/Notifications/index.js +0 -0
- package/{esm → dist/esm}/exported-related/Notifications/index.js.map +0 -0
- package/{esm → dist/esm}/exported-related/OpenWindowItem/index.js +0 -0
- package/{esm → dist/esm}/exported-related/OpenWindowItem/index.js.map +0 -0
- package/{esm → dist/esm}/exported-related/constants.js +0 -0
- package/{esm → dist/esm}/exported-related/constants.js.map +0 -0
- package/{esm → dist/esm}/exported-related/index.js +0 -0
- package/{esm → dist/esm}/exported-related/index.js.map +0 -0
- package/{esm → dist/esm}/hooks/index.js +0 -0
- package/{esm → dist/esm}/hooks/index.js.map +0 -0
- package/{esm → dist/esm}/hooks/useExpandableOnClickHandler.js +0 -0
- package/{esm → dist/esm}/hooks/useExpandableOnClickHandler.js.map +0 -0
- package/{esm → dist/esm}/hooks/useKeyboardNavigation.js +0 -0
- package/{esm → dist/esm}/hooks/useKeyboardNavigation.js.map +0 -0
- package/{esm → dist/esm}/hooks/useOpenableOnClickHandler.js +0 -0
- package/{esm → dist/esm}/hooks/useOpenableOnClickHandler.js.map +0 -0
- package/{esm → dist/esm}/hooks/useSelectFirstBodyItem.js +2 -2
- package/dist/esm/hooks/useSelectFirstBodyItem.js.map +7 -0
- package/{esm → dist/esm}/index.d.js +0 -0
- package/{esm → dist/esm}/index.d.js.map +0 -0
- package/{esm → dist/esm}/index.js +0 -0
- package/{esm → dist/esm}/index.js.map +0 -0
- package/{esm → dist/esm}/outOfTheBox/ItemControlledDrilldown/index.js +0 -0
- package/{esm → dist/esm}/outOfTheBox/ItemControlledDrilldown/index.js.map +0 -0
- package/{esm → dist/esm}/outOfTheBox/ItemControlledDrilldown/styled.js +0 -0
- package/{esm → dist/esm}/outOfTheBox/ItemControlledDrilldown/styled.js.map +0 -0
- package/{esm → dist/esm}/outOfTheBox/ItemHeader/index.js +3 -2
- package/dist/esm/outOfTheBox/ItemHeader/index.js.map +7 -0
- package/{esm → dist/esm}/outOfTheBox/ItemHeader/styled.js +0 -0
- package/{esm → dist/esm}/outOfTheBox/ItemHeader/styled.js.map +0 -0
- package/{esm → dist/esm}/outOfTheBox/ItemLink/index.js +3 -2
- package/dist/esm/outOfTheBox/ItemLink/index.js.map +7 -0
- package/{esm → dist/esm}/outOfTheBox/ItemLink/styled.js +0 -0
- package/{esm → dist/esm}/outOfTheBox/ItemLink/styled.js.map +0 -0
- package/{esm → dist/esm}/outOfTheBox/ItemSection/index.js +0 -0
- package/{esm → dist/esm}/outOfTheBox/ItemSection/index.js.map +0 -0
- package/{esm → dist/esm}/outOfTheBox/ItemSection/styled.js +0 -0
- package/{esm → dist/esm}/outOfTheBox/ItemSection/styled.js.map +0 -0
- package/{esm → dist/esm}/outOfTheBox/ItemSeparator/index.js +0 -0
- package/{esm → dist/esm}/outOfTheBox/ItemSeparator/index.js.map +0 -0
- package/{esm → dist/esm}/outOfTheBox/ItemSubmenu/index.js +3 -2
- package/dist/esm/outOfTheBox/ItemSubmenu/index.js.map +7 -0
- package/{esm → dist/esm}/outOfTheBox/ItemSubmenu/styled.js +0 -0
- package/{esm → dist/esm}/outOfTheBox/ItemSubmenu/styled.js.map +0 -0
- package/{esm → dist/esm}/outOfTheBox/ItemTextLabel/index.js +0 -0
- package/{esm → dist/esm}/outOfTheBox/ItemTextLabel/index.js.map +0 -0
- package/{esm → dist/esm}/outOfTheBox/ItemTextLabel/styled.js +0 -0
- package/{esm → dist/esm}/outOfTheBox/ItemTextLabel/styled.js.map +0 -0
- package/{esm → dist/esm}/outOfTheBox/ItemUncontrolledDrilldown/index.js +0 -0
- package/{esm → dist/esm}/outOfTheBox/ItemUncontrolledDrilldown/index.js.map +0 -0
- package/{esm → dist/esm}/outOfTheBox/ItemUncontrolledDrilldown/styled.js +0 -0
- package/{esm → dist/esm}/outOfTheBox/ItemUncontrolledDrilldown/styled.js.map +0 -0
- package/{esm → dist/esm}/outOfTheBox/ItemWithDate/index.js +0 -0
- package/{esm → dist/esm}/outOfTheBox/ItemWithDate/index.js.map +0 -0
- package/{esm → dist/esm}/outOfTheBox/ItemWithDate/styled.js +0 -0
- package/{esm → dist/esm}/outOfTheBox/ItemWithDate/styled.js.map +0 -0
- package/{esm → dist/esm}/outOfTheBox/index.js +0 -0
- package/{esm → dist/esm}/outOfTheBox/index.js.map +0 -0
- package/{esm → dist/esm}/parts/LeftNavContent/index.js +0 -0
- package/{esm → dist/esm}/parts/LeftNavContent/index.js.map +0 -0
- package/{esm → dist/esm}/parts/LeftNavContent/styled.js +0 -0
- package/{esm → dist/esm}/parts/LeftNavContent/styled.js.map +0 -0
- package/{esm → dist/esm}/parts/LeftNavContentWithScrollbar/index.js +0 -0
- package/{esm → dist/esm}/parts/LeftNavContentWithScrollbar/index.js.map +0 -0
- package/{esm → dist/esm}/parts/LeftNavFooterItem/index.js +0 -0
- package/{esm → dist/esm}/parts/LeftNavFooterItem/index.js.map +0 -0
- package/{esm → dist/esm}/parts/LeftNavFooterItem/styled.js +0 -0
- package/{esm → dist/esm}/parts/LeftNavFooterItem/styled.js.map +0 -0
- package/{esm → dist/esm}/parts/LeftNavLoading/index.js +0 -0
- package/{esm → dist/esm}/parts/LeftNavLoading/index.js.map +0 -0
- package/{esm → dist/esm}/parts/OutOfTheBoxMapItem.js +0 -0
- package/{esm → dist/esm}/parts/OutOfTheBoxMapItem.js.map +0 -0
- package/{esm → dist/esm}/prop-types.js +0 -0
- package/{esm → dist/esm}/prop-types.js.map +0 -0
- package/package.json +123 -121
- package/cjs/LeftNavigationContext.js.map +0 -7
- package/cjs/configs/useLeftNavConfig.js.map +0 -7
- package/cjs/configs/useLeftNavSmoothExpand.js.map +0 -7
- package/cjs/hooks/useSelectFirstBodyItem.js.map +0 -7
- package/cjs/index.d.js.map +0 -7
- package/cjs/outOfTheBox/ItemHeader/index.js.map +0 -7
- package/cjs/outOfTheBox/ItemLink/index.js.map +0 -7
- package/cjs/outOfTheBox/ItemSubmenu/index.js.map +0 -7
- package/esm/LeftNavigationContext.js.map +0 -7
- package/esm/configs/useLeftNavConfig.js.map +0 -7
- package/esm/configs/useLeftNavSmoothExpand.js.map +0 -7
- package/esm/hooks/useSelectFirstBodyItem.js.map +0 -7
- package/esm/outOfTheBox/ItemHeader/index.js.map +0 -7
- package/esm/outOfTheBox/ItemLink/index.js.map +0 -7
- package/esm/outOfTheBox/ItemSubmenu/index.js.map +0 -7
- package/types/LeftNavigation.d.ts +0 -55
- package/types/LeftNavigationContext.d.ts +0 -18
- package/types/common/getItemBackgroundStyle.d.ts +0 -5
- package/types/common/getLeftBorderStyle.d.ts +0 -4
- package/types/common/getScrollbarStyle.d.ts +0 -1
- package/types/common/index.d.ts +0 -3
- package/types/configs/index.d.ts +0 -3
- package/types/configs/useLeftNavConfig.d.ts +0 -4
- package/types/configs/useLeftNavItems.d.ts +0 -12
- package/types/configs/useLeftNavSmoothExpand.d.ts +0 -10
- package/types/exported-related/ChevronItem/index.d.ts +0 -3
- package/types/exported-related/Icon/index.d.ts +0 -5
- package/types/exported-related/ItemRenderer/index.d.ts +0 -3
- package/types/exported-related/ItemRenderer/styled.d.ts +0 -16
- package/types/exported-related/ItemRenderer/usePropsWithDefaults.d.ts +0 -2
- package/types/exported-related/Notifications/index.d.ts +0 -8
- package/types/exported-related/OpenWindowItem/index.d.ts +0 -3
- package/types/exported-related/constants.d.ts +0 -19
- package/types/exported-related/index.d.ts +0 -6
- package/types/hooks/index.d.ts +0 -3
- package/types/hooks/useExpandableOnClickHandler.d.ts +0 -9
- package/types/hooks/useKeyboardNavigation.d.ts +0 -8
- package/types/hooks/useOpenableOnClickHandler.d.ts +0 -10
- package/types/hooks/useSelectFirstBodyItem.d.ts +0 -3
- package/types/index.d.d.ts +0 -74
- package/types/index.d.ts +0 -3
- package/types/outOfTheBox/ItemControlledDrilldown/index.d.ts +0 -3
- package/types/outOfTheBox/ItemControlledDrilldown/styled.d.ts +0 -5
- package/types/outOfTheBox/ItemHeader/index.d.ts +0 -3
- package/types/outOfTheBox/ItemHeader/styled.d.ts +0 -3
- package/types/outOfTheBox/ItemLink/index.d.ts +0 -3
- package/types/outOfTheBox/ItemLink/styled.d.ts +0 -2
- package/types/outOfTheBox/ItemSection/index.d.ts +0 -3
- package/types/outOfTheBox/ItemSection/styled.d.ts +0 -3
- package/types/outOfTheBox/ItemSeparator/index.d.ts +0 -3
- package/types/outOfTheBox/ItemSubmenu/index.d.ts +0 -3
- package/types/outOfTheBox/ItemSubmenu/styled.d.ts +0 -3
- package/types/outOfTheBox/ItemTextLabel/index.d.ts +0 -3
- package/types/outOfTheBox/ItemTextLabel/styled.d.ts +0 -2
- package/types/outOfTheBox/ItemUncontrolledDrilldown/index.d.ts +0 -3
- package/types/outOfTheBox/ItemUncontrolledDrilldown/styled.d.ts +0 -5
- package/types/outOfTheBox/ItemWithDate/index.d.ts +0 -3
- package/types/outOfTheBox/ItemWithDate/styled.d.ts +0 -5
- package/types/outOfTheBox/index.d.ts +0 -13
- package/types/parts/LeftNavContent/index.d.ts +0 -3
- package/types/parts/LeftNavContent/styled.d.ts +0 -14
- package/types/parts/LeftNavContentWithScrollbar/index.d.ts +0 -6
- package/types/parts/LeftNavFooterItem/index.d.ts +0 -8
- package/types/parts/LeftNavFooterItem/styled.d.ts +0 -14
- package/types/parts/LeftNavLoading/index.d.ts +0 -4
- package/types/parts/OutOfTheBoxMapItem.d.ts +0 -3
- package/types/prop-types.d.ts +0 -91
- package/types/tests/LeftNavigation.collapsed.test.d.ts +0 -1
- package/types/tests/LeftNavigation.expanded.test.d.ts +0 -1
- package/types/tests/LeftNavigation.opened.test.d.ts +0 -1
- package/types/tests/events/LeftNavigation.events.keyboard.test.d.ts +0 -1
- package/types/tests/events/LeftNavigation.events.subitems.test.d.ts +0 -1
- package/types/tests/events/LeftNavigation.events.test.d.ts +0 -1
- package/types/tests/events/LeftNavigation.focus.events.test.d.ts +0 -1
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/LeftNavigationContext.tsx", "../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
+
"sourcesContent": ["import React, { createContext, MutableRefObject, RefObject } from 'react';\nimport type { LeftNavProps, LabelOveflowT } from './index.d';\n\nexport type ContextProps = {\n selectedItem: string | null;\n setSelectedItem: React.Dispatch<React.SetStateAction<string | null>>;\n focusedItem: string | null;\n setFocusedItem: React.Dispatch<React.SetStateAction<string | null>>;\n openedDrilldowns: string[];\n setOpenedDrilldowns: React.Dispatch<React.SetStateAction<string[]>>;\n visibleItems: string[];\n visibleItemsRefs: MutableRefObject<Record<string, RefObject<HTMLElement>>>;\n leftNavProps: LeftNavProps;\n expandedForAnimation: boolean;\n};\n\nexport const defaultProps: LeftNavProps = {\n expandedWidth: '240px',\n tabIndex: 0,\n loading: false,\n expanded: false,\n openedItem: null,\n footerLabel: '',\n onSelectedChange: () => null,\n onFocusChange: () => null,\n onFooterExpand: () => null,\n onFooterClose: () => null,\n items: [],\n labelOverflow: 'wrap' as LabelOveflowT,\n onItemClick: () => null,\n};\n\nexport const defaultContext: ContextProps = {\n leftNavProps: defaultProps,\n selectedItem: null,\n setSelectedItem: () => null,\n focusedItem: null,\n setFocusedItem: () => null,\n expandedForAnimation: true,\n openedDrilldowns: [],\n setOpenedDrilldowns: () => null,\n visibleItems: [],\n visibleItemsRefs: { current: {} },\n};\n\nexport const LeftNavContext = createContext<ContextProps>(defaultContext);\n\nexport default LeftNavContext;\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAkE;AAgB3D,MAAM,eAA6B;AAAA,EACxC,eAAe;AAAA,EACf,UAAU;AAAA,EACV,SAAS;AAAA,EACT,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,kBAAkB,MAAM;AAAA,EACxB,eAAe,MAAM;AAAA,EACrB,gBAAgB,MAAM;AAAA,EACtB,eAAe,MAAM;AAAA,EACrB,OAAO;AAAA,EACP,eAAe;AAAA,EACf,aAAa,MAAM;AAAA;AAGd,MAAM,iBAA+B;AAAA,EAC1C,cAAc;AAAA,EACd,cAAc;AAAA,EACd,iBAAiB,MAAM;AAAA,EACvB,aAAa;AAAA,EACb,gBAAgB,MAAM;AAAA,EACtB,sBAAsB;AAAA,EACtB,kBAAkB;AAAA,EAClB,qBAAqB,MAAM;AAAA,EAC3B,cAAc;AAAA,EACd,kBAAkB,EAAE,SAAS;AAAA;AAGxB,MAAM,iBAAiB,gCAA4B;AAE1D,IAAO,gCAAQ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -38,7 +38,6 @@ var import_useSelectFirstBodyItem = require("../hooks/useSelectFirstBodyItem");
|
|
|
38
38
|
const useLeftNavConfig = (props) => {
|
|
39
39
|
const { expanded, openedItem, onSelectedChange, onFocusChange, items } = props;
|
|
40
40
|
const [selectedItem, setSelectedItem] = import_react.default.useState(null);
|
|
41
|
-
const [selectedSubitem, setSelectedSubitem] = import_react.default.useState(null);
|
|
42
41
|
const [selectedParent, setSelectedParent] = import_react.default.useState(null);
|
|
43
42
|
const [focusedItem, setFocusedItem] = import_react.default.useState(null);
|
|
44
43
|
const [openedDrilldowns, setOpenedDrilldowns] = import_react.default.useState([]);
|
|
@@ -53,6 +52,11 @@ const useLeftNavConfig = (props) => {
|
|
|
53
52
|
import_react.default.useEffect(() => {
|
|
54
53
|
onSelectedChange(selectedItem);
|
|
55
54
|
}, [selectedItem, onSelectedChange]);
|
|
55
|
+
import_react.default.useEffect(() => {
|
|
56
|
+
if (props.actionRef && props.actionRef.current) {
|
|
57
|
+
props.actionRef.current.setFocusedItem = setFocusedItem;
|
|
58
|
+
}
|
|
59
|
+
}, [props.actionRef]);
|
|
56
60
|
import_react.default.useEffect(() => {
|
|
57
61
|
if (openedItem !== null)
|
|
58
62
|
setSelectedParent(openedItem);
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/configs/useLeftNavConfig.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
+
"sourcesContent": ["import React from 'react';\nimport type { LeftNavProps } from '../index.d';\nimport { ContextProps } from '../LeftNavigationContext';\nimport useLeftNavItems from './useLeftNavItems';\nimport { useLeftNavSmoothExpand } from './useLeftNavSmoothExpand';\nimport { useSelectFirstBodyItem } from '../hooks/useSelectFirstBodyItem';\n\nexport const useLeftNavConfig = (props: LeftNavProps): ContextProps => {\n const { expanded, openedItem, onSelectedChange, onFocusChange, items } = props;\n\n // -----------------------------------------------------------------------------\n // ************************** ------------ **************************\n // * INTERNAL STATE *\n // ************************** ------------ **************************\n // Selection related\n const [selectedItem, setSelectedItem] = React.useState<string | null>(null);\n const [selectedParent, setSelectedParent] = React.useState<string | null>(null);\n // Focus related\n const [focusedItem, setFocusedItem] = React.useState<string | null>(null);\n // Opened uncontrolled drilldowns\n const [openedDrilldowns, setOpenedDrilldowns] = React.useState<string[]>([]);\n\n // -----------------------------------------------------------------------------\n // ************************** ------------ **************************\n // * EXPAND ANIMATION *\n // ************************** ------------ **************************\n const [expandedForAnimation, setExpandedForAnimation] = React.useState(expanded);\n const timeoutRef = React.useRef<ReturnType<typeof setTimeout>>(null);\n const smoothExpandOpts = React.useMemo(\n () => ({\n expandedForAnimation,\n timeoutRef,\n setExpandedForAnimation,\n }),\n [expandedForAnimation, timeoutRef, setExpandedForAnimation],\n );\n useLeftNavSmoothExpand(props, smoothExpandOpts);\n\n // -----------------------------------------------------------------------------\n // ************************** ------------ **************************\n // * SIDE EFFECTS *\n // ************************** ------------ **************************\n React.useEffect(() => {\n onSelectedChange(selectedItem);\n }, [selectedItem, onSelectedChange]);\n\n React.useEffect(() => {\n if (props.actionRef && props.actionRef.current) {\n props.actionRef.current.setFocusedItem = setFocusedItem;\n }\n }, [props.actionRef]);\n\n React.useEffect(() => {\n if (openedItem !== null) setSelectedParent(openedItem);\n }, [openedItem]);\n\n React.useEffect(() => {\n onFocusChange(focusedItem);\n }, [focusedItem, onFocusChange]);\n\n useSelectFirstBodyItem(\n items,\n openedItem,\n props.selectedItem !== undefined ? props.selectedItem : selectedItem,\n setSelectedItem,\n props.disableDefaultSelection,\n );\n\n // -----------------------------------------------------------------------------\n // ************************** ------------ **************************\n // * ITEMS MANAGEMENT *\n // ************************** ------------ **************************\n\n const leftNavItemsProps = React.useMemo(\n () => ({\n headerItem: props.HeaderComponent,\n bodyHeaderItem: props.BodyHeaderComponent,\n items: props.items,\n openedDrilldowns,\n }),\n [props.HeaderComponent, props.BodyHeaderComponent, props.items, openedDrilldowns],\n );\n\n // We need to know the current visible items since we have drilldowns\n const { visibleItems, visibleItemsRefs } = useLeftNavItems(leftNavItemsProps);\n\n // -----------------------------------------------------------------------------\n // ************************** ------------ **************************\n // * LEFTNAV CONFIG *\n // ************************** ------------ **************************\n const finalConfig = React.useMemo(\n () => ({\n leftNavProps: props,\n expandedForAnimation,\n selectedItem: props.selectedItem !== undefined ? props.selectedItem : selectedItem,\n setSelectedItem,\n selectedParent: props.selectedParent !== undefined ? props.selectedParent : selectedParent,\n setSelectedParent,\n focusedItem,\n setFocusedItem,\n openedDrilldowns,\n setOpenedDrilldowns,\n visibleItems,\n visibleItemsRefs,\n }),\n [\n props,\n expandedForAnimation,\n selectedItem,\n setSelectedItem,\n setSelectedParent,\n selectedParent,\n focusedItem,\n setFocusedItem,\n openedDrilldowns,\n setOpenedDrilldowns,\n visibleItems,\n visibleItemsRefs,\n ],\n );\n\n return finalConfig;\n};\n\nexport default useLeftNavConfig;\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAkB;AAGlB,6BAA4B;AAC5B,oCAAuC;AACvC,oCAAuC;AAEhC,MAAM,mBAAmB,CAAC,UAAsC;AACrE,QAAM,EAAE,UAAU,YAAY,kBAAkB,eAAe,UAAU;AAOzE,QAAM,CAAC,cAAc,mBAAmB,qBAAM,SAAwB;AACtE,QAAM,CAAC,gBAAgB,qBAAqB,qBAAM,SAAwB;AAE1E,QAAM,CAAC,aAAa,kBAAkB,qBAAM,SAAwB;AAEpE,QAAM,CAAC,kBAAkB,uBAAuB,qBAAM,SAAmB;AAMzE,QAAM,CAAC,sBAAsB,2BAA2B,qBAAM,SAAS;AACvE,QAAM,aAAa,qBAAM,OAAsC;AAC/D,QAAM,mBAAmB,qBAAM,QAC7B,MAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,MAEF,CAAC,sBAAsB,YAAY;AAErC,4DAAuB,OAAO;AAM9B,uBAAM,UAAU,MAAM;AACpB,qBAAiB;AAAA,KAChB,CAAC,cAAc;AAElB,uBAAM,UAAU,MAAM;AACpB,QAAI,MAAM,aAAa,MAAM,UAAU,SAAS;AAC9C,YAAM,UAAU,QAAQ,iBAAiB;AAAA;AAAA,KAE1C,CAAC,MAAM;AAEV,uBAAM,UAAU,MAAM;AACpB,QAAI,eAAe;AAAM,wBAAkB;AAAA,KAC1C,CAAC;AAEJ,uBAAM,UAAU,MAAM;AACpB,kBAAc;AAAA,KACb,CAAC,aAAa;AAEjB,4DACE,OACA,YACA,MAAM,iBAAiB,SAAY,MAAM,eAAe,cACxD,iBACA,MAAM;AAQR,QAAM,oBAAoB,qBAAM,QAC9B,MAAO;AAAA,IACL,YAAY,MAAM;AAAA,IAClB,gBAAgB,MAAM;AAAA,IACtB,OAAO,MAAM;AAAA,IACb;AAAA,MAEF,CAAC,MAAM,iBAAiB,MAAM,qBAAqB,MAAM,OAAO;AAIlE,QAAM,EAAE,cAAc,qBAAqB,oCAAgB;AAM3D,QAAM,cAAc,qBAAM,QACxB,MAAO;AAAA,IACL,cAAc;AAAA,IACd;AAAA,IACA,cAAc,MAAM,iBAAiB,SAAY,MAAM,eAAe;AAAA,IACtE;AAAA,IACA,gBAAgB,MAAM,mBAAmB,SAAY,MAAM,iBAAiB;AAAA,IAC5E;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MAEF;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAIJ,SAAO;AAAA;AAGT,IAAO,2BAAQ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
File without changes
|
|
File without changes
|
|
@@ -34,19 +34,19 @@ var React = __toESM(require("react"));
|
|
|
34
34
|
var import_react = __toESM(require("react"));
|
|
35
35
|
const useLeftNavSmoothExpand = (props, smoothExpandOpts) => {
|
|
36
36
|
const { expanded } = props;
|
|
37
|
-
const {
|
|
38
|
-
expandedForAnimation,
|
|
39
|
-
timeoutRef,
|
|
40
|
-
setExpandedForAnimation
|
|
41
|
-
} = smoothExpandOpts;
|
|
37
|
+
const { expandedForAnimation, timeoutRef, setExpandedForAnimation } = smoothExpandOpts;
|
|
42
38
|
import_react.default.useEffect(() => {
|
|
43
39
|
if (!expanded && expandedForAnimation) {
|
|
44
|
-
|
|
40
|
+
if (timeoutRef.current)
|
|
41
|
+
clearTimeout(timeoutRef.current);
|
|
45
42
|
timeoutRef.current = setTimeout(() => setExpandedForAnimation(false), 350);
|
|
46
43
|
} else if (expanded)
|
|
47
44
|
setExpandedForAnimation(true);
|
|
48
45
|
}, [expanded]);
|
|
49
|
-
import_react.default.useEffect(() => () =>
|
|
46
|
+
import_react.default.useEffect(() => () => {
|
|
47
|
+
if (timeoutRef.current)
|
|
48
|
+
clearTimeout(timeoutRef.current);
|
|
49
|
+
}, [timeoutRef]);
|
|
50
50
|
};
|
|
51
51
|
var useLeftNavSmoothExpand_default = useLeftNavSmoothExpand;
|
|
52
52
|
module.exports = __toCommonJS(useLeftNavSmoothExpand_exports);
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/configs/useLeftNavSmoothExpand.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
+
"sourcesContent": ["import React from 'react';\nimport type { LeftNavProps } from '../index.d';\n\ninterface SmoothExpandOptsT {\n expandedForAnimation: boolean;\n timeoutRef: React.MutableRefObject<NodeJS.Timeout | null>;\n setExpandedForAnimation: React.Dispatch<React.SetStateAction<boolean>>;\n}\nexport const useLeftNavSmoothExpand = (props: LeftNavProps, smoothExpandOpts: SmoothExpandOptsT): void => {\n const { expanded } = props;\n const { expandedForAnimation, timeoutRef, setExpandedForAnimation } = smoothExpandOpts;\n\n React.useEffect(() => {\n // If expanded changes, we need to smoothly transition to the non-expanded state\n // so we need to wait for 350ms\n if (!expanded && expandedForAnimation) {\n if (timeoutRef.current) clearTimeout(timeoutRef.current);\n timeoutRef.current = setTimeout(() => setExpandedForAnimation(false), 350);\n } else if (expanded) setExpandedForAnimation(true);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [expanded]);\n\n React.useEffect(\n () => () => {\n if (timeoutRef.current) clearTimeout(timeoutRef.current);\n },\n [timeoutRef],\n );\n};\n\nexport default useLeftNavSmoothExpand;\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAkB;AAQX,MAAM,yBAAyB,CAAC,OAAqB,qBAA8C;AACxG,QAAM,EAAE,aAAa;AACrB,QAAM,EAAE,sBAAsB,YAAY,4BAA4B;AAEtE,uBAAM,UAAU,MAAM;AAGpB,QAAI,CAAC,YAAY,sBAAsB;AACrC,UAAI,WAAW;AAAS,qBAAa,WAAW;AAChD,iBAAW,UAAU,WAAW,MAAM,wBAAwB,QAAQ;AAAA,eAC7D;AAAU,8BAAwB;AAAA,KAE5C,CAAC;AAEJ,uBAAM,UACJ,MAAM,MAAM;AACV,QAAI,WAAW;AAAS,mBAAa,WAAW;AAAA,KAElD,CAAC;AAAA;AAIL,IAAO,iCAAQ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -35,7 +35,7 @@ var import_constants = require("../exported-related/constants");
|
|
|
35
35
|
const { LEFT_NAV_ITEM_SEPARATOR, LEFT_NAV_ITEM_SECTION } = import_constants.ITEM_TYPES;
|
|
36
36
|
const isSelectableOutOfTheBox = (elem) => typeof elem.type === "string" && elem.type !== LEFT_NAV_ITEM_SEPARATOR && elem.type !== LEFT_NAV_ITEM_SECTION;
|
|
37
37
|
const isSelectableCustom = (elem) => elem.itemOpts.selectable;
|
|
38
|
-
const isItemInsideTheTree = (item, itemID) => item.dsId === itemID || item?.itemOpts?.items?.some((it) => isItemInsideTheTree(it, itemID));
|
|
38
|
+
const isItemInsideTheTree = (item, itemID) => item.dsId === itemID || !!item?.itemOpts?.items?.some((it) => isItemInsideTheTree(it, itemID));
|
|
39
39
|
const useSelectFirstBodyItem = (items, openedItem, selectedItem, setSelectedItem, disableDefaultSelection) => {
|
|
40
40
|
(0, import_react.useEffect)(() => {
|
|
41
41
|
if (!disableDefaultSelection && items && items.length && openedItem) {
|
|
@@ -44,7 +44,7 @@ const useSelectFirstBodyItem = (items, openedItem, selectedItem, setSelectedItem
|
|
|
44
44
|
if (isItemInside)
|
|
45
45
|
setSelectedItem(selectedItem);
|
|
46
46
|
else if (index !== -1)
|
|
47
|
-
setSelectedItem(items[index].dsId);
|
|
47
|
+
setSelectedItem(items[index].dsId ?? "");
|
|
48
48
|
}
|
|
49
49
|
}, [openedItem, setSelectedItem, disableDefaultSelection]);
|
|
50
50
|
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/hooks/useSelectFirstBodyItem.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
+
"sourcesContent": ["/* eslint-disable max-params */\nimport React, { useEffect } from 'react';\nimport { GenericItemItemProps } from '../index.d';\nimport { ITEM_TYPES } from '../exported-related/constants';\n\nconst { LEFT_NAV_ITEM_SEPARATOR, LEFT_NAV_ITEM_SECTION } = ITEM_TYPES;\n\nconst isSelectableOutOfTheBox = (elem: GenericItemItemProps) =>\n typeof elem.type === 'string' && elem.type !== LEFT_NAV_ITEM_SEPARATOR && elem.type !== LEFT_NAV_ITEM_SECTION;\nconst isSelectableCustom = (elem: GenericItemItemProps) => elem.itemOpts.selectable;\n\nconst isItemInsideTheTree = (item: GenericItemItemProps, itemID: string | null): boolean =>\n item.dsId === itemID || !!item?.itemOpts?.items?.some((it) => isItemInsideTheTree(it, itemID));\n\nexport const useSelectFirstBodyItem = (\n items: GenericItemItemProps[],\n openedItem: string | null,\n selectedItem: string | null,\n setSelectedItem: React.Dispatch<React.SetStateAction<string | null>>,\n disableDefaultSelection: boolean | undefined,\n): void => {\n useEffect(() => {\n if (!disableDefaultSelection && items && items.length && openedItem) {\n const index = items.findIndex((elem) => isSelectableOutOfTheBox(elem) || isSelectableCustom(elem));\n const isItemInside = items.some((it) => isItemInsideTheTree(it, selectedItem));\n if (isItemInside) setSelectedItem(selectedItem);\n else if (index !== -1) setSelectedItem(items[index].dsId ?? '');\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [openedItem, setSelectedItem, disableDefaultSelection]);\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADCvB,mBAAiC;AAEjC,uBAA2B;AAE3B,MAAM,EAAE,yBAAyB,0BAA0B;AAE3D,MAAM,0BAA0B,CAAC,SAC/B,OAAO,KAAK,SAAS,YAAY,KAAK,SAAS,2BAA2B,KAAK,SAAS;AAC1F,MAAM,qBAAqB,CAAC,SAA+B,KAAK,SAAS;AAEzE,MAAM,sBAAsB,CAAC,MAA4B,WACvD,KAAK,SAAS,UAAU,CAAC,CAAC,MAAM,UAAU,OAAO,KAAK,CAAC,OAAO,oBAAoB,IAAI;AAEjF,MAAM,yBAAyB,CACpC,OACA,YACA,cACA,iBACA,4BACS;AACT,8BAAU,MAAM;AACd,QAAI,CAAC,2BAA2B,SAAS,MAAM,UAAU,YAAY;AACnE,YAAM,QAAQ,MAAM,UAAU,CAAC,SAAS,wBAAwB,SAAS,mBAAmB;AAC5F,YAAM,eAAe,MAAM,KAAK,CAAC,OAAO,oBAAoB,IAAI;AAChE,UAAI;AAAc,wBAAgB;AAAA,eACzB,UAAU;AAAI,wBAAgB,MAAM,OAAO,QAAQ;AAAA;AAAA,KAG7D,CAAC,YAAY,iBAAiB;AAAA;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/index.d.tsx", "../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
+
"sourcesContent": ["import React from 'react';\nimport type { ContextProps } from './LeftNavigationContext';\n\nexport type LabelOveflowT = 'wrap' | 'wrapAll' | 'truncate';\nexport interface LeftNavProps {\n expanded: boolean;\n expandedWidth: string;\n openedItem: string;\n items: GenericItemItemProps[];\n footerLabel: string;\n labelOverflow: LabelOveflowT;\n onSelectedChange: (item: string | null) => void;\n onFocusChange: (item: string | null) => void;\n onFooterExpand: () => void;\n onFooterClose: () => void;\n onItemClick: (item: GenericItemItemProps, e: React.MouseEvent<HTMLElement>) => void;\n HeaderComponent?: GenericItemItemProps;\n BodyHeaderComponent?: GenericItemItemProps;\n tabIndex: number;\n loading: boolean;\n selectedItem?: string;\n selectedParent?: string;\n disableDefaultSelection?: boolean;\n withoutBodyShadow?: boolean;\n actionRef?: React.RefObject<{ setFocusedItem: React.Dispatch<React.SetStateAction<string | null>> }>;\n}\nexport type OutOfTheBoxT =\n | 'ds-left-nav-item-header'\n | 'ds-left-nav-item-link'\n | 'ds-left-nav-item-submenu'\n | 'ds-left-nav-item-controlled-drilldown'\n | 'ds-left-nav-item-uncontrolled-drilldown'\n | 'ds-left-nav-item-section'\n | 'ds-left-nav-item-separator'\n | 'ds-left-nav-item-text-label'\n | 'ds-left-nav-item-with-date';\n\nexport interface itemOptsT {\n label?: string | JSX.Element;\n labelBold?: boolean;\n labelColor?: [string, string];\n labelOverflow?: LabelOveflowT;\n labelRightSection?: string | React.ComponentType;\n selectable?: boolean;\n focuseable?: boolean;\n startOpened?: boolean;\n isOpened?: boolean;\n openable?: boolean;\n closable?: boolean;\n indent?: number;\n LeftComponent?: React.ComponentType<ComponentProps>;\n RightComponent?: React.ComponentType<ComponentProps>;\n BottomComponent?: React.ComponentType<ComponentProps>;\n ariaLabel?: string;\n ariaRole?: string;\n ariaLive?: string;\n ariaExpanded?: boolean;\n ariaDescribedBy?: string;\n items?: GenericItemItemProps[];\n labelDataTestId?: string;\n}\n\nexport interface ComponentProps {\n item: GenericItemItemProps;\n ctx: ContextProps;\n}\nexport interface GenericItemItemProps {\n dsId?: string;\n type?: string;\n CollapsedComponent?: React.ComponentType<ComponentProps>;\n Component?: React.ComponentType<ComponentProps>;\n itemOpts: itemOptsT;\n}\nexport interface OutOfTheBoxMapItemT {\n item: GenericItemItemProps;\n}\nexport interface ItemRendererT {\n item: GenericItemItemProps;\n subitems?: JSX.Element[];\n minHeight?: string;\n paddingTop?: string;\n onClick?: () => void;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n shadowStyle?: (theme: any) => string;\n hasBorderBottom?: boolean;\n borderBottomMr?: string;\n children: React.ReactNode;\n}\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;AAAA;ACAA,YAAuB;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -52,18 +52,19 @@ const ItemHeader = (props) => {
|
|
|
52
52
|
item,
|
|
53
53
|
item: {
|
|
54
54
|
dsId,
|
|
55
|
-
itemOpts: { label, RightComponent, BottomComponent, labelDataTestId },
|
|
55
|
+
itemOpts: { label, RightComponent, BottomComponent, labelDataTestId, labelOverflow: itemLabelOverflow },
|
|
56
56
|
CollapsedComponent = () => null
|
|
57
57
|
},
|
|
58
58
|
ctx,
|
|
59
59
|
ctx: {
|
|
60
|
-
leftNavProps: { openedItem, labelOverflow, onItemClick },
|
|
60
|
+
leftNavProps: { openedItem, labelOverflow: leftNavLabelOverflow, onItemClick },
|
|
61
61
|
expandedForAnimation,
|
|
62
62
|
setFocusedItem,
|
|
63
63
|
selectedItem,
|
|
64
64
|
selectedParent
|
|
65
65
|
}
|
|
66
66
|
} = props;
|
|
67
|
+
const labelOverflow = itemLabelOverflow || leftNavLabelOverflow;
|
|
67
68
|
const opened = openedItem === dsId;
|
|
68
69
|
const ariaLabel = item.itemOpts.ariaLabel ?? (typeof label === "string" ? label : "menuitem");
|
|
69
70
|
const isSelected = selectedItem === dsId || selectedParent === dsId;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/outOfTheBox/ItemHeader/index.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
+
"sourcesContent": ["/* eslint-disable max-lines */\n/* eslint-disable complexity */\nimport React, { useCallback } from 'react';\nimport Grid from '@elliemae/ds-grid';\nimport { SimpleTruncatedTooltipText } from '@elliemae/ds-truncated-tooltip-text';\nimport { ItemRenderer } from '../../exported-related/index';\nimport type { ComponentProps } from '../../index.d';\nimport { StyledLabel, StyledChevronLeft } from './styled';\nimport { CHEVRON_BACK_DS_ID } from '../../exported-related/constants';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst notOpenedShadowStyle = (isSelected: boolean) => (theme: any) =>\n `\n box-shadow: inset 4px 0 0 0 ${isSelected ? theme.colors.brand[400] : 'transparent'};\n\n :hover {\n box-shadow: inset 4px 0 0 0 ${isSelected ? theme.colors.brand[400] : theme.colors.brand[300]};\n }\n\n :active {\n box-shadow: inset 4px 0 0 0 ${theme.colors.brand[400]};\n }\n`;\n\nexport const ItemHeader = (props: ComponentProps): JSX.Element => {\n const {\n item,\n item: {\n dsId,\n itemOpts: { label, RightComponent, BottomComponent, labelDataTestId, labelOverflow: itemLabelOverflow },\n CollapsedComponent = () => null,\n },\n ctx,\n ctx: {\n leftNavProps: { openedItem, labelOverflow: leftNavLabelOverflow, onItemClick },\n expandedForAnimation,\n setFocusedItem,\n selectedItem,\n selectedParent,\n },\n } = props;\n\n const labelOverflow = itemLabelOverflow || leftNavLabelOverflow;\n\n const opened = openedItem === dsId;\n\n const ariaLabel = item.itemOpts.ariaLabel ?? (typeof label === 'string' ? label : 'menuitem');\n\n const isSelected = selectedItem === dsId || selectedParent === dsId;\n\n const shadowStyle = useCallback(\n (opened) => (theme: any) =>\n !opened ? notOpenedShadowStyle(isSelected)(theme) : `box-shadow: inset 4px 0 0 0 #52A6EC`,\n [isSelected, openedItem],\n );\n\n return (\n <ItemRenderer\n item={{\n ...item,\n itemOpts: {\n ariaLabel,\n ariaExpanded: opened,\n ...item.itemOpts,\n openable: expandedForAnimation && !opened,\n closable: expandedForAnimation && opened,\n selectable: !opened,\n },\n }}\n hasBorderBottom\n borderBottomMr={opened ? '12px' : '0px'}\n shadowStyle={shadowStyle}\n >\n <Grid\n cols={opened ? ['auto', 'auto'] : ['38px']}\n gutter=\"1px\"\n pl={opened ? 'xxs' : 0}\n justifyItems=\"center\"\n data-testid=\"leftnav-leftcomponent\"\n >\n {opened && (\n <StyledChevronLeft\n size=\"m\"\n color={['brand-primary', 800]}\n onClick={(e) => {\n onItemClick(item, e);\n }}\n data-testid=\"leftnav-leftcomponent-chevron\"\n tabIndex={0}\n onFocus={(e) => {\n e.stopPropagation();\n setFocusedItem(CHEVRON_BACK_DS_ID);\n }}\n role=\"button\"\n aria-label={`Close ${ariaLabel}`}\n />\n )}\n <CollapsedComponent item={item} ctx={ctx} />\n </Grid>\n <StyledLabel\n ml={opened ? 'xxs' : '1px'}\n mt=\"xxxs\"\n mb=\"15px\"\n data-testid={labelDataTestId || 'leftnav-itemlabel'}\n labelOverflow={labelOverflow}\n >\n {labelOverflow === 'truncate' ? <SimpleTruncatedTooltipText value={label} placement=\"bottom-start\" /> : label}\n </StyledLabel>\n <Grid\n pl=\"xs\"\n pr={opened ? 'xxs2' : 'xxs'}\n onFocus={(e) => {\n setFocusedItem(null);\n e.stopPropagation();\n }}\n onKeyDown={(e) => e.stopPropagation()}\n data-testid=\"leftnav-right-component\"\n >\n {RightComponent && <RightComponent ctx={ctx} item={item} />}\n </Grid>\n {BottomComponent && (\n <Grid\n style={{ gridColumn: 'span 3' }}\n pb=\"xxxs\"\n pl=\"xxs\"\n pr=\"xxs\"\n onFocus={(e) => {\n setFocusedItem(null);\n e.stopPropagation();\n }}\n onKeyDown={(e) => e.stopPropagation()}\n >\n <BottomComponent ctx={ctx} item={item} />\n </Grid>\n )}\n </ItemRenderer>\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADEvB,mBAAmC;AACnC,qBAAiB;AACjB,uCAA2C;AAC3C,8BAA6B;AAE7B,oBAA+C;AAC/C,uBAAmC;AAGnC,MAAM,uBAAuB,CAAC,eAAwB,CAAC,UACrD;AAAA,gCAC8B,aAAa,MAAM,OAAO,MAAM,OAAO;AAAA;AAAA;AAAA,kCAGrC,aAAa,MAAM,OAAO,MAAM,OAAO,MAAM,OAAO,MAAM;AAAA;AAAA;AAAA;AAAA,kCAI1D,MAAM,OAAO,MAAM;AAAA;AAAA;AAI9C,MAAM,aAAa,CAAC,UAAuC;AAChE,QAAM;AAAA,IACJ;AAAA,IACA,MAAM;AAAA,MACJ;AAAA,MACA,UAAU,EAAE,OAAO,gBAAgB,iBAAiB,iBAAiB,eAAe;AAAA,MACpF,qBAAqB,MAAM;AAAA;AAAA,IAE7B;AAAA,IACA,KAAK;AAAA,MACH,cAAc,EAAE,YAAY,eAAe,sBAAsB;AAAA,MACjE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA,MAEA;AAEJ,QAAM,gBAAgB,qBAAqB;AAE3C,QAAM,SAAS,eAAe;AAE9B,QAAM,YAAY,KAAK,SAAS,aAAc,QAAO,UAAU,WAAW,QAAQ;AAElF,QAAM,aAAa,iBAAiB,QAAQ,mBAAmB;AAE/D,QAAM,cAAc,8BAClB,CAAC,YAAW,CAAC,UACX,CAAC,UAAS,qBAAqB,YAAY,SAAS,uCACtD,CAAC,YAAY;AAGf,SACE,mDAAC,sCAAD;AAAA,IACE,MAAM;AAAA,SACD;AAAA,MACH,UAAU;AAAA,QACR;AAAA,QACA,cAAc;AAAA,WACX,KAAK;AAAA,QACR,UAAU,wBAAwB,CAAC;AAAA,QACnC,UAAU,wBAAwB;AAAA,QAClC,YAAY,CAAC;AAAA;AAAA;AAAA,IAGjB,iBAAe;AAAA,IACf,gBAAgB,SAAS,SAAS;AAAA,IAClC;AAAA,KAEA,mDAAC,wBAAD;AAAA,IACE,MAAM,SAAS,CAAC,QAAQ,UAAU,CAAC;AAAA,IACnC,QAAO;AAAA,IACP,IAAI,SAAS,QAAQ;AAAA,IACrB,cAAa;AAAA,IACb,eAAY;AAAA,KAEX,UACC,mDAAC,iCAAD;AAAA,IACE,MAAK;AAAA,IACL,OAAO,CAAC,iBAAiB;AAAA,IACzB,SAAS,CAAC,MAAM;AACd,kBAAY,MAAM;AAAA;AAAA,IAEpB,eAAY;AAAA,IACZ,UAAU;AAAA,IACV,SAAS,CAAC,MAAM;AACd,QAAE;AACF,qBAAe;AAAA;AAAA,IAEjB,MAAK;AAAA,IACL,cAAY,SAAS;AAAA,MAGzB,mDAAC,oBAAD;AAAA,IAAoB;AAAA,IAAY;AAAA,OAElC,mDAAC,2BAAD;AAAA,IACE,IAAI,SAAS,QAAQ;AAAA,IACrB,IAAG;AAAA,IACH,IAAG;AAAA,IACH,eAAa,mBAAmB;AAAA,IAChC;AAAA,KAEC,kBAAkB,aAAa,mDAAC,6DAAD;AAAA,IAA4B,OAAO;AAAA,IAAO,WAAU;AAAA,OAAoB,QAE1G,mDAAC,wBAAD;AAAA,IACE,IAAG;AAAA,IACH,IAAI,SAAS,SAAS;AAAA,IACtB,SAAS,CAAC,MAAM;AACd,qBAAe;AACf,QAAE;AAAA;AAAA,IAEJ,WAAW,CAAC,MAAM,EAAE;AAAA,IACpB,eAAY;AAAA,KAEX,kBAAkB,mDAAC,gBAAD;AAAA,IAAgB;AAAA,IAAU;AAAA,OAE9C,mBACC,mDAAC,wBAAD;AAAA,IACE,OAAO,EAAE,YAAY;AAAA,IACrB,IAAG;AAAA,IACH,IAAG;AAAA,IACH,IAAG;AAAA,IACH,SAAS,CAAC,MAAM;AACd,qBAAe;AACf,QAAE;AAAA;AAAA,IAEJ,WAAW,CAAC,MAAM,EAAE;AAAA,KAEpB,mDAAC,iBAAD;AAAA,IAAiB;AAAA,IAAU;AAAA;AAAA;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
File without changes
|
|
File without changes
|
|
@@ -51,16 +51,17 @@ const ItemLink = (props) => {
|
|
|
51
51
|
item,
|
|
52
52
|
item: {
|
|
53
53
|
dsId,
|
|
54
|
-
itemOpts: { label, RightComponent, labelDataTestId },
|
|
54
|
+
itemOpts: { label, RightComponent, labelDataTestId, labelOverflow: itemLabelOverflow },
|
|
55
55
|
CollapsedComponent = () => null
|
|
56
56
|
},
|
|
57
57
|
ctx,
|
|
58
58
|
ctx: {
|
|
59
|
-
leftNavProps: { labelOverflow, openedItem },
|
|
59
|
+
leftNavProps: { labelOverflow: leftNavLabelOverflow, openedItem },
|
|
60
60
|
selectedItem,
|
|
61
61
|
selectedParent
|
|
62
62
|
}
|
|
63
63
|
} = props;
|
|
64
|
+
const labelOverflow = itemLabelOverflow || leftNavLabelOverflow;
|
|
64
65
|
const isSelected = selectedItem === dsId || selectedParent === dsId;
|
|
65
66
|
const shadowStyle = (0, import_react.useCallback)((opened) => (theme) => !opened ? notOpenedShadowStyle(isSelected)(theme) : `box-shadow: inset 4px 0 0 0 #52A6EC`, [isSelected, openedItem]);
|
|
66
67
|
return /* @__PURE__ */ import_react.default.createElement(import_exported_related.ItemRenderer, {
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/outOfTheBox/ItemLink/index.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
+
"sourcesContent": ["/* eslint-disable indent */\nimport React, { useCallback } from 'react';\nimport Grid from '@elliemae/ds-grid';\nimport { SimpleTruncatedTooltipText } from '@elliemae/ds-truncated-tooltip-text';\nimport { ItemRenderer } from '../../exported-related/index';\nimport type { ComponentProps } from '../../index.d';\nimport { StyledLabel } from './styled';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst notOpenedShadowStyle = (isSelected: boolean) => (theme: any) =>\n `\n box-shadow: inset 4px 0 0 0 ${isSelected ? theme.colors.brand[400] : 'transparent'};\n\n :hover {\n box-shadow: inset 4px 0 0 0 ${isSelected ? theme.colors.brand[400] : theme.colors.brand[300]};\n }\n\n :active {\n box-shadow: inset 4px 0 0 0 ${theme.colors.brand[400]};\n }\n`;\n\nexport const ItemLink = (props: ComponentProps): JSX.Element => {\n const {\n item,\n item: {\n dsId,\n itemOpts: { label, RightComponent, labelDataTestId, labelOverflow: itemLabelOverflow },\n CollapsedComponent = () => null,\n },\n ctx,\n ctx: {\n leftNavProps: { labelOverflow: leftNavLabelOverflow, openedItem },\n selectedItem,\n selectedParent,\n },\n } = props;\n\n const labelOverflow = itemLabelOverflow || leftNavLabelOverflow;\n\n const isSelected = selectedItem === dsId || selectedParent === dsId;\n\n const shadowStyle = useCallback(\n (opened) => (theme: any) => !opened ? notOpenedShadowStyle(isSelected)(theme) : `box-shadow: inset 4px 0 0 0 #52A6EC`,\n [isSelected, openedItem],\n );\n\n return (\n <ItemRenderer\n item={{\n ...item,\n itemOpts: {\n ariaLabel: typeof label === 'string' ? label : '',\n ariaRole: 'link',\n ...item.itemOpts,\n selectable: true,\n },\n }}\n shadowStyle={shadowStyle}\n >\n <Grid cols={['38px']} gutter=\"1px\" pl={0} justifyItems=\"center\" data-testid=\"leftnav-leftcomponent\">\n <CollapsedComponent item={item} ctx={ctx} />\n </Grid>\n <StyledLabel\n ml=\"1px\"\n mt=\"xxxs\"\n mb=\"15px\"\n data-testid={labelDataTestId || 'leftnav-itemlabel'}\n labelOverflow={labelOverflow}\n >\n {labelOverflow === 'truncate' ? <SimpleTruncatedTooltipText value={label} placement=\"bottom-start\" /> : label}\n </StyledLabel>\n <Grid mt=\"xxxs\" pr=\"xxs2\" data-testid=\"leftnav-right-component\">\n {RightComponent && <RightComponent ctx={ctx} item={item} />}\n </Grid>\n </ItemRenderer>\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADCvB,mBAAmC;AACnC,qBAAiB;AACjB,uCAA2C;AAC3C,8BAA6B;AAE7B,oBAA4B;AAG5B,MAAM,uBAAuB,CAAC,eAAwB,CAAC,UACrD;AAAA,gCAC8B,aAAa,MAAM,OAAO,MAAM,OAAO;AAAA;AAAA;AAAA,kCAGrC,aAAa,MAAM,OAAO,MAAM,OAAO,MAAM,OAAO,MAAM;AAAA;AAAA;AAAA;AAAA,kCAI1D,MAAM,OAAO,MAAM;AAAA;AAAA;AAI9C,MAAM,WAAW,CAAC,UAAuC;AAC9D,QAAM;AAAA,IACJ;AAAA,IACA,MAAM;AAAA,MACJ;AAAA,MACA,UAAU,EAAE,OAAO,gBAAgB,iBAAiB,eAAe;AAAA,MACnE,qBAAqB,MAAM;AAAA;AAAA,IAE7B;AAAA,IACA,KAAK;AAAA,MACH,cAAc,EAAE,eAAe,sBAAsB;AAAA,MACrD;AAAA,MACA;AAAA;AAAA,MAEA;AAEJ,QAAM,gBAAgB,qBAAqB;AAE3C,QAAM,aAAa,iBAAiB,QAAQ,mBAAmB;AAE/D,QAAM,cAAc,8BAClB,CAAC,WAAW,CAAC,UAAe,CAAC,SAAS,qBAAqB,YAAY,SAAS,uCAChF,CAAC,YAAY;AAGf,SACE,mDAAC,sCAAD;AAAA,IACE,MAAM;AAAA,SACD;AAAA,MACH,UAAU;AAAA,QACR,WAAW,OAAO,UAAU,WAAW,QAAQ;AAAA,QAC/C,UAAU;AAAA,WACP,KAAK;AAAA,QACR,YAAY;AAAA;AAAA;AAAA,IAGhB;AAAA,KAEA,mDAAC,wBAAD;AAAA,IAAM,MAAM,CAAC;AAAA,IAAS,QAAO;AAAA,IAAM,IAAI;AAAA,IAAG,cAAa;AAAA,IAAS,eAAY;AAAA,KAC1E,mDAAC,oBAAD;AAAA,IAAoB;AAAA,IAAY;AAAA,OAElC,mDAAC,2BAAD;AAAA,IACE,IAAG;AAAA,IACH,IAAG;AAAA,IACH,IAAG;AAAA,IACH,eAAa,mBAAmB;AAAA,IAChC;AAAA,KAEC,kBAAkB,aAAa,mDAAC,6DAAD;AAAA,IAA4B,OAAO;AAAA,IAAO,WAAU;AAAA,OAAoB,QAE1G,mDAAC,wBAAD;AAAA,IAAM,IAAG;AAAA,IAAO,IAAG;AAAA,IAAO,eAAY;AAAA,KACnC,kBAAkB,mDAAC,gBAAD;AAAA,IAAgB;AAAA,IAAU;AAAA;AAAA;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -52,18 +52,19 @@ const ItemSubmenu = (props) => {
|
|
|
52
52
|
item,
|
|
53
53
|
item: {
|
|
54
54
|
dsId,
|
|
55
|
-
itemOpts: { label, RightComponent, BottomComponent, labelDataTestId },
|
|
55
|
+
itemOpts: { label, RightComponent, BottomComponent, labelDataTestId, labelOverflow: itemLabelOverflow },
|
|
56
56
|
CollapsedComponent = () => null
|
|
57
57
|
},
|
|
58
58
|
ctx,
|
|
59
59
|
ctx: {
|
|
60
|
-
leftNavProps: { openedItem, labelOverflow, onItemClick },
|
|
60
|
+
leftNavProps: { openedItem, labelOverflow: leftNavLabelOverflow, onItemClick },
|
|
61
61
|
expandedForAnimation,
|
|
62
62
|
selectedItem,
|
|
63
63
|
selectedParent,
|
|
64
64
|
setFocusedItem
|
|
65
65
|
}
|
|
66
66
|
} = props;
|
|
67
|
+
const labelOverflow = itemLabelOverflow || leftNavLabelOverflow;
|
|
67
68
|
const opened = openedItem === dsId;
|
|
68
69
|
const isSelected = selectedItem === dsId;
|
|
69
70
|
const shadowStyle = (0, import_react.useCallback)((opened2) => (theme) => !opened2 ? notOpenedShadowStyle(isSelected || selectedParent === dsId)(theme) : `box-shadow: inset 4px 0 0 0 #52A6EC`, [dsId, isSelected, openedItem, selectedParent]);
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/outOfTheBox/ItemSubmenu/index.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
+
"sourcesContent": ["/* eslint-disable max-lines */\n/* eslint-disable complexity */\n/* eslint-disable indent */\nimport React, { useCallback } from 'react';\nimport Grid from '@elliemae/ds-grid';\nimport { SimpleTruncatedTooltipText } from '@elliemae/ds-truncated-tooltip-text';\nimport { ItemRenderer } from '../../exported-related/index';\nimport type { ComponentProps } from '../../index.d';\nimport { StyledLabel, StyledChevronLeft } from './styled';\nimport { CHEVRON_BACK_DS_ID } from '../../exported-related/constants';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst notOpenedShadowStyle = (isSelected: boolean) => (theme: any) =>\n `\n box-shadow: inset 4px 0 0 0 ${isSelected ? theme.colors.brand[400] : 'transparent'};\n\n :hover {\n box-shadow: inset 4px 0 0 0 ${isSelected ? theme.colors.brand[400] : theme.colors.brand[300]};\n }\n\n :active {\n box-shadow: inset 4px 0 0 0 ${theme.colors.brand[400]};\n }\n`;\n\nexport const ItemSubmenu = (props: ComponentProps): JSX.Element => {\n const {\n item,\n item: {\n dsId,\n itemOpts: { label, RightComponent, BottomComponent, labelDataTestId, labelOverflow: itemLabelOverflow },\n CollapsedComponent = () => null,\n },\n ctx,\n ctx: {\n leftNavProps: { openedItem, labelOverflow: leftNavLabelOverflow, onItemClick },\n expandedForAnimation,\n selectedItem,\n selectedParent,\n setFocusedItem,\n },\n } = props;\n\n const labelOverflow = itemLabelOverflow || leftNavLabelOverflow;\n\n const opened = openedItem === dsId;\n\n const isSelected = selectedItem === dsId;\n\n const shadowStyle = useCallback(\n (opened) => (theme: any) =>\n !opened ? notOpenedShadowStyle(isSelected || selectedParent === dsId)(theme) : `box-shadow: inset 4px 0 0 0 #52A6EC`,\n [dsId, isSelected, openedItem, selectedParent],\n );\n\n const ariaLabel = item.itemOpts.ariaLabel ?? (typeof label === 'string' ? label : 'menuitem');\n\n return (\n <ItemRenderer\n item={{\n ...item,\n itemOpts: {\n ...item.itemOpts,\n ariaLabel,\n ariaExpanded: opened,\n openable: expandedForAnimation && !opened,\n closable: expandedForAnimation && opened,\n selectable: !opened,\n },\n }}\n shadowStyle={shadowStyle}\n hasBorderBottom={opened}\n borderBottomMr=\"12px\"\n >\n <Grid\n cols={opened ? ['auto', 'auto'] : ['38px']}\n gutter=\"1px\"\n pl={opened ? 'xxs' : 0}\n justifyItems=\"center\"\n data-testid=\"leftnav-leftcomponent\"\n >\n {opened && (\n <StyledChevronLeft\n size=\"m\"\n color={['brand-primary', 800]}\n onClick={(e) => {\n onItemClick(item, e);\n }}\n data-testid=\"leftnav-leftcomponent-chevron\"\n tabIndex={0}\n onFocus={(e) => {\n e.stopPropagation();\n setFocusedItem(CHEVRON_BACK_DS_ID);\n }}\n role=\"button\"\n aria-label={`Close ${ariaLabel}`}\n />\n )}\n <CollapsedComponent item={item} ctx={ctx} />\n </Grid>\n <StyledLabel\n ml={opened ? 'xxs' : '1px'}\n mt=\"xxxs\"\n mb=\"15px\"\n data-testid={labelDataTestId || 'leftnav-itemlabel'}\n labelOverflow={labelOverflow}\n >\n {labelOverflow === 'truncate' ? <SimpleTruncatedTooltipText value={label} placement=\"bottom-start\" /> : label}\n </StyledLabel>\n <Grid\n pl=\"xs\"\n pr={opened ? 'xxs2' : 'xxs'}\n onFocus={(e) => {\n e.stopPropagation();\n setFocusedItem(null);\n }}\n onKeyDown={(e) => e.stopPropagation()}\n onClick={(e) => (openedItem === dsId) && e.stopPropagation()}\n data-testid=\"leftnav-right-component\"\n >\n {RightComponent && <RightComponent ctx={ctx} item={item} />}\n </Grid>\n {BottomComponent && (\n <Grid\n style={{ gridColumn: 'span 3' }}\n pb=\"xxxs\"\n pl=\"xxs\"\n pr=\"xxs\"\n onFocus={(e) => {\n e.stopPropagation();\n setFocusedItem(null);\n }}\n onKeyDown={(e) => e.stopPropagation()}\n onClick={(e) => openedItem && e.stopPropagation()}\n >\n <BottomComponent ctx={ctx} item={item} />\n </Grid>\n )}\n </ItemRenderer>\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/LeftNavigationContext.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { createContext, MutableRefObject, RefObject } from 'react';\nimport type { LeftNavProps, LabelOveflowT } from './index.d';\n\nexport type ContextProps = {\n selectedItem: string | null;\n setSelectedItem: React.Dispatch<React.SetStateAction<string | null>>;\n focusedItem: string | null;\n setFocusedItem: React.Dispatch<React.SetStateAction<string | null>>;\n openedDrilldowns: string[];\n setOpenedDrilldowns: React.Dispatch<React.SetStateAction<string[]>>;\n visibleItems: string[];\n visibleItemsRefs: MutableRefObject<Record<string, RefObject<HTMLElement>>>;\n leftNavProps: LeftNavProps;\n expandedForAnimation: boolean;\n};\n\nexport const defaultProps: LeftNavProps = {\n expandedWidth: '240px',\n tabIndex: 0,\n loading: false,\n expanded: false,\n openedItem: null,\n footerLabel: '',\n onSelectedChange: () => null,\n onFocusChange: () => null,\n onFooterExpand: () => null,\n onFooterClose: () => null,\n items: [],\n labelOverflow: 'wrap' as LabelOveflowT,\n onItemClick: () => null,\n};\n\nexport const defaultContext: ContextProps = {\n leftNavProps: defaultProps,\n selectedItem: null,\n setSelectedItem: () => null,\n focusedItem: null,\n setFocusedItem: () => null,\n expandedForAnimation: true,\n openedDrilldowns: [],\n setOpenedDrilldowns: () => null,\n visibleItems: [],\n visibleItemsRefs: { current: {} },\n};\n\nexport const LeftNavContext = createContext<ContextProps>(defaultContext);\n\nexport default LeftNavContext;\n"],
|
|
5
|
+
"mappings": "AAAA;ACAA;AAgBO,MAAM,eAA6B;AAAA,EACxC,eAAe;AAAA,EACf,UAAU;AAAA,EACV,SAAS;AAAA,EACT,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,kBAAkB,MAAM;AAAA,EACxB,eAAe,MAAM;AAAA,EACrB,gBAAgB,MAAM;AAAA,EACtB,eAAe,MAAM;AAAA,EACrB,OAAO;AAAA,EACP,eAAe;AAAA,EACf,aAAa,MAAM;AAAA;AAGd,MAAM,iBAA+B;AAAA,EAC1C,cAAc;AAAA,EACd,cAAc;AAAA,EACd,iBAAiB,MAAM;AAAA,EACvB,aAAa;AAAA,EACb,gBAAgB,MAAM;AAAA,EACtB,sBAAsB;AAAA,EACtB,kBAAkB;AAAA,EAClB,qBAAqB,MAAM;AAAA,EAC3B,cAAc;AAAA,EACd,kBAAkB,EAAE,SAAS;AAAA;AAGxB,MAAM,iBAAiB,cAA4B;AAE1D,IAAO,gCAAQ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -6,7 +6,6 @@ import { useSelectFirstBodyItem } from "../hooks/useSelectFirstBodyItem";
|
|
|
6
6
|
const useLeftNavConfig = (props) => {
|
|
7
7
|
const { expanded, openedItem, onSelectedChange, onFocusChange, items } = props;
|
|
8
8
|
const [selectedItem, setSelectedItem] = React2.useState(null);
|
|
9
|
-
const [selectedSubitem, setSelectedSubitem] = React2.useState(null);
|
|
10
9
|
const [selectedParent, setSelectedParent] = React2.useState(null);
|
|
11
10
|
const [focusedItem, setFocusedItem] = React2.useState(null);
|
|
12
11
|
const [openedDrilldowns, setOpenedDrilldowns] = React2.useState([]);
|
|
@@ -21,6 +20,11 @@ const useLeftNavConfig = (props) => {
|
|
|
21
20
|
React2.useEffect(() => {
|
|
22
21
|
onSelectedChange(selectedItem);
|
|
23
22
|
}, [selectedItem, onSelectedChange]);
|
|
23
|
+
React2.useEffect(() => {
|
|
24
|
+
if (props.actionRef && props.actionRef.current) {
|
|
25
|
+
props.actionRef.current.setFocusedItem = setFocusedItem;
|
|
26
|
+
}
|
|
27
|
+
}, [props.actionRef]);
|
|
24
28
|
React2.useEffect(() => {
|
|
25
29
|
if (openedItem !== null)
|
|
26
30
|
setSelectedParent(openedItem);
|