@elliemae/ds-left-navigation 3.0.0-next.0 → 3.0.0-next.4
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/LeftNavigation.js +51 -0
- package/dist/cjs/LeftNavigation.js.map +7 -0
- package/dist/cjs/LeftNavigationContext.js +67 -0
- package/dist/cjs/LeftNavigationContext.js.map +7 -0
- package/dist/cjs/common/getItemBackgroundStyle.js +51 -0
- package/dist/cjs/common/getItemBackgroundStyle.js.map +7 -0
- package/dist/cjs/common/getLeftBorderStyle.js +54 -0
- package/dist/cjs/common/getLeftBorderStyle.js.map +7 -0
- package/dist/cjs/common/getScrollbarStyle.js +58 -0
- package/dist/cjs/common/getScrollbarStyle.js.map +7 -0
- package/dist/cjs/common/index.js +30 -0
- package/dist/cjs/common/index.js.map +7 -0
- package/dist/cjs/configs/index.js +38 -0
- package/dist/cjs/configs/index.js.map +7 -0
- package/dist/cjs/configs/useLeftNavConfig.js +106 -0
- package/dist/cjs/configs/useLeftNavConfig.js.map +7 -0
- package/dist/cjs/configs/useLeftNavItems.js +82 -0
- package/dist/cjs/configs/useLeftNavItems.js.map +7 -0
- package/dist/cjs/configs/useLeftNavSmoothExpand.js +53 -0
- package/dist/cjs/configs/useLeftNavSmoothExpand.js.map +7 -0
- package/dist/cjs/exported-related/ChevronItem/index.js +56 -0
- package/dist/cjs/exported-related/ChevronItem/index.js.map +7 -0
- package/dist/cjs/exported-related/Icon/index.js +66 -0
- package/dist/cjs/exported-related/Icon/index.js.map +7 -0
- package/dist/cjs/exported-related/ItemRenderer/index.js +133 -0
- package/dist/cjs/exported-related/ItemRenderer/index.js.map +7 -0
- package/dist/cjs/exported-related/ItemRenderer/styled.js +90 -0
- package/dist/cjs/exported-related/ItemRenderer/styled.js.map +7 -0
- package/dist/cjs/exported-related/ItemRenderer/usePropsWithDefaults.js +86 -0
- package/dist/cjs/exported-related/ItemRenderer/usePropsWithDefaults.js.map +7 -0
- package/dist/cjs/exported-related/Notifications/index.js +82 -0
- package/dist/cjs/exported-related/Notifications/index.js.map +7 -0
- package/dist/cjs/exported-related/OpenWindowItem/index.js +63 -0
- package/dist/cjs/exported-related/OpenWindowItem/index.js.map +7 -0
- package/dist/cjs/exported-related/constants.js +57 -0
- package/dist/cjs/exported-related/constants.js.map +7 -0
- package/dist/cjs/exported-related/index.js +33 -0
- package/dist/cjs/exported-related/index.js.map +7 -0
- package/dist/cjs/hooks/index.js +30 -0
- package/dist/cjs/hooks/index.js.map +7 -0
- package/dist/cjs/hooks/useExpandableOnClickHandler.js +64 -0
- package/dist/cjs/hooks/useExpandableOnClickHandler.js.map +7 -0
- package/dist/cjs/hooks/useKeyboardNavigation.js +118 -0
- package/dist/cjs/hooks/useKeyboardNavigation.js.map +7 -0
- package/dist/cjs/hooks/useOpenableOnClickHandler.js +69 -0
- package/dist/cjs/hooks/useOpenableOnClickHandler.js.map +7 -0
- package/dist/cjs/hooks/useSelectFirstBodyItem.js +52 -0
- package/dist/cjs/hooks/useSelectFirstBodyItem.js.map +7 -0
- package/dist/cjs/index.d.js +27 -0
- package/dist/cjs/index.d.js.map +7 -0
- package/dist/cjs/index.js +41 -0
- package/dist/cjs/index.js.map +7 -0
- package/dist/cjs/outOfTheBox/ItemControlledDrilldown/index.js +167 -0
- package/dist/cjs/outOfTheBox/ItemControlledDrilldown/index.js.map +7 -0
- package/dist/cjs/outOfTheBox/ItemControlledDrilldown/styled.js +49 -0
- package/dist/cjs/outOfTheBox/ItemControlledDrilldown/styled.js.map +7 -0
- package/dist/cjs/outOfTheBox/ItemHeader/index.js +163 -0
- package/dist/cjs/outOfTheBox/ItemHeader/index.js.map +7 -0
- package/dist/cjs/outOfTheBox/ItemHeader/styled.js +49 -0
- package/dist/cjs/outOfTheBox/ItemHeader/styled.js.map +7 -0
- package/dist/cjs/outOfTheBox/ItemLink/index.js +122 -0
- package/dist/cjs/outOfTheBox/ItemLink/index.js.map +7 -0
- package/dist/cjs/outOfTheBox/ItemLink/styled.js +41 -0
- package/dist/cjs/outOfTheBox/ItemLink/styled.js.map +7 -0
- package/dist/cjs/outOfTheBox/ItemSection/index.js +95 -0
- package/dist/cjs/outOfTheBox/ItemSection/index.js.map +7 -0
- package/dist/cjs/outOfTheBox/ItemSection/styled.js +53 -0
- package/dist/cjs/outOfTheBox/ItemSection/styled.js.map +7 -0
- package/dist/cjs/outOfTheBox/ItemSeparator/index.js +78 -0
- package/dist/cjs/outOfTheBox/ItemSeparator/index.js.map +7 -0
- package/dist/cjs/outOfTheBox/ItemSubmenu/index.js +164 -0
- package/dist/cjs/outOfTheBox/ItemSubmenu/index.js.map +7 -0
- package/dist/cjs/outOfTheBox/ItemSubmenu/styled.js +49 -0
- package/dist/cjs/outOfTheBox/ItemSubmenu/styled.js.map +7 -0
- package/dist/cjs/outOfTheBox/ItemTextLabel/index.js +85 -0
- package/dist/cjs/outOfTheBox/ItemTextLabel/index.js.map +7 -0
- package/dist/cjs/outOfTheBox/ItemTextLabel/styled.js +43 -0
- package/dist/cjs/outOfTheBox/ItemTextLabel/styled.js.map +7 -0
- package/dist/cjs/outOfTheBox/ItemUncontrolledDrilldown/index.js +181 -0
- package/dist/cjs/outOfTheBox/ItemUncontrolledDrilldown/index.js.map +7 -0
- package/dist/cjs/outOfTheBox/ItemUncontrolledDrilldown/styled.js +49 -0
- package/dist/cjs/outOfTheBox/ItemUncontrolledDrilldown/styled.js.map +7 -0
- package/dist/cjs/outOfTheBox/ItemWithDate/index.js +107 -0
- package/dist/cjs/outOfTheBox/ItemWithDate/index.js.map +7 -0
- package/dist/cjs/outOfTheBox/ItemWithDate/styled.js +49 -0
- package/dist/cjs/outOfTheBox/ItemWithDate/styled.js.map +7 -0
- package/dist/cjs/outOfTheBox/index.js +77 -0
- package/dist/cjs/outOfTheBox/index.js.map +7 -0
- package/dist/cjs/parts/LeftNavContent/index.js +88 -0
- package/dist/cjs/parts/LeftNavContent/index.js.map +7 -0
- package/dist/cjs/parts/LeftNavContent/styled.js +113 -0
- package/dist/cjs/parts/LeftNavContent/styled.js.map +7 -0
- package/dist/cjs/parts/LeftNavContentWithScrollbar/index.js +115 -0
- package/dist/cjs/parts/LeftNavContentWithScrollbar/index.js.map +7 -0
- package/dist/cjs/parts/LeftNavFooterItem/index.js +125 -0
- package/dist/cjs/parts/LeftNavFooterItem/index.js.map +7 -0
- package/dist/cjs/parts/LeftNavFooterItem/styled.js +94 -0
- package/dist/cjs/parts/LeftNavFooterItem/styled.js.map +7 -0
- package/dist/cjs/parts/LeftNavLoading/index.js +52 -0
- package/dist/cjs/parts/LeftNavLoading/index.js.map +7 -0
- package/dist/cjs/parts/OutOfTheBoxMapItem.js +69 -0
- package/dist/cjs/parts/OutOfTheBoxMapItem.js.map +7 -0
- package/dist/cjs/prop-types.js +66 -0
- package/dist/cjs/prop-types.js.map +7 -0
- package/dist/esm/LeftNavigation.js +22 -0
- package/dist/esm/LeftNavigation.js.map +7 -0
- package/{esm → dist/esm}/LeftNavigationContext.js +15 -11
- package/dist/esm/LeftNavigationContext.js.map +7 -0
- package/dist/esm/common/getItemBackgroundStyle.js +22 -0
- package/dist/esm/common/getItemBackgroundStyle.js.map +7 -0
- package/dist/esm/common/getLeftBorderStyle.js +25 -0
- package/dist/esm/common/getLeftBorderStyle.js.map +7 -0
- package/dist/esm/common/getScrollbarStyle.js +29 -0
- package/dist/esm/common/getScrollbarStyle.js.map +7 -0
- package/dist/esm/common/index.js +5 -0
- package/dist/esm/common/index.js.map +7 -0
- package/dist/esm/configs/index.js +9 -0
- package/dist/esm/configs/index.js.map +7 -0
- package/dist/esm/configs/useLeftNavConfig.js +77 -0
- package/dist/esm/configs/useLeftNavConfig.js.map +7 -0
- package/dist/esm/configs/useLeftNavItems.js +53 -0
- package/dist/esm/configs/useLeftNavItems.js.map +7 -0
- package/dist/esm/configs/useLeftNavSmoothExpand.js +24 -0
- package/dist/esm/configs/useLeftNavSmoothExpand.js.map +7 -0
- package/dist/esm/exported-related/ChevronItem/index.js +29 -0
- package/dist/esm/exported-related/ChevronItem/index.js.map +7 -0
- package/dist/esm/exported-related/Icon/index.js +39 -0
- package/dist/esm/exported-related/Icon/index.js.map +7 -0
- package/dist/esm/exported-related/ItemRenderer/index.js +104 -0
- package/dist/esm/exported-related/ItemRenderer/index.js.map +7 -0
- package/dist/esm/exported-related/ItemRenderer/styled.js +61 -0
- package/dist/esm/exported-related/ItemRenderer/styled.js.map +7 -0
- package/dist/esm/exported-related/ItemRenderer/usePropsWithDefaults.js +59 -0
- package/dist/esm/exported-related/ItemRenderer/usePropsWithDefaults.js.map +7 -0
- package/dist/esm/exported-related/Notifications/index.js +58 -0
- package/dist/esm/exported-related/Notifications/index.js.map +7 -0
- package/dist/esm/exported-related/OpenWindowItem/index.js +36 -0
- package/dist/esm/exported-related/OpenWindowItem/index.js.map +7 -0
- package/dist/esm/exported-related/constants.js +28 -0
- package/dist/esm/exported-related/constants.js.map +7 -0
- package/dist/esm/exported-related/index.js +8 -0
- package/dist/esm/exported-related/index.js.map +7 -0
- package/dist/esm/hooks/index.js +5 -0
- package/dist/esm/hooks/index.js.map +7 -0
- package/dist/esm/hooks/useExpandableOnClickHandler.js +35 -0
- package/dist/esm/hooks/useExpandableOnClickHandler.js.map +7 -0
- package/{esm → dist/esm}/hooks/useKeyboardNavigation.js +30 -47
- package/dist/esm/hooks/useKeyboardNavigation.js.map +7 -0
- package/dist/esm/hooks/useOpenableOnClickHandler.js +40 -0
- package/dist/esm/hooks/useOpenableOnClickHandler.js.map +7 -0
- package/dist/esm/hooks/useSelectFirstBodyItem.js +23 -0
- package/dist/esm/hooks/useSelectFirstBodyItem.js.map +7 -0
- package/dist/esm/index.d.js +2 -0
- package/dist/esm/index.d.js.map +7 -0
- package/dist/esm/index.js +12 -0
- package/dist/esm/index.js.map +7 -0
- package/dist/esm/outOfTheBox/ItemControlledDrilldown/index.js +140 -0
- package/dist/esm/outOfTheBox/ItemControlledDrilldown/index.js.map +7 -0
- package/dist/esm/outOfTheBox/ItemControlledDrilldown/styled.js +20 -0
- package/dist/esm/outOfTheBox/ItemControlledDrilldown/styled.js.map +7 -0
- package/dist/esm/outOfTheBox/ItemHeader/index.js +136 -0
- package/dist/esm/outOfTheBox/ItemHeader/index.js.map +7 -0
- package/dist/esm/outOfTheBox/ItemHeader/styled.js +20 -0
- package/dist/esm/outOfTheBox/ItemHeader/styled.js.map +7 -0
- package/dist/esm/outOfTheBox/ItemLink/index.js +95 -0
- package/dist/esm/outOfTheBox/ItemLink/index.js.map +7 -0
- package/dist/esm/outOfTheBox/ItemLink/styled.js +12 -0
- package/dist/esm/outOfTheBox/ItemLink/styled.js.map +7 -0
- package/dist/esm/outOfTheBox/ItemSection/index.js +68 -0
- package/dist/esm/outOfTheBox/ItemSection/index.js.map +7 -0
- package/dist/esm/outOfTheBox/ItemSection/styled.js +24 -0
- package/dist/esm/outOfTheBox/ItemSection/styled.js.map +7 -0
- package/dist/esm/outOfTheBox/ItemSeparator/index.js +51 -0
- package/dist/esm/outOfTheBox/ItemSeparator/index.js.map +7 -0
- package/dist/esm/outOfTheBox/ItemSubmenu/index.js +137 -0
- package/dist/esm/outOfTheBox/ItemSubmenu/index.js.map +7 -0
- package/dist/esm/outOfTheBox/ItemSubmenu/styled.js +20 -0
- package/dist/esm/outOfTheBox/ItemSubmenu/styled.js.map +7 -0
- package/dist/esm/outOfTheBox/ItemTextLabel/index.js +58 -0
- package/dist/esm/outOfTheBox/ItemTextLabel/index.js.map +7 -0
- package/dist/esm/outOfTheBox/ItemTextLabel/styled.js +14 -0
- package/dist/esm/outOfTheBox/ItemTextLabel/styled.js.map +7 -0
- package/dist/esm/outOfTheBox/ItemUncontrolledDrilldown/index.js +154 -0
- package/dist/esm/outOfTheBox/ItemUncontrolledDrilldown/index.js.map +7 -0
- package/dist/esm/outOfTheBox/ItemUncontrolledDrilldown/styled.js +20 -0
- package/dist/esm/outOfTheBox/ItemUncontrolledDrilldown/styled.js.map +7 -0
- package/dist/esm/outOfTheBox/ItemWithDate/index.js +80 -0
- package/dist/esm/outOfTheBox/ItemWithDate/index.js.map +7 -0
- package/dist/esm/outOfTheBox/ItemWithDate/styled.js +20 -0
- package/dist/esm/outOfTheBox/ItemWithDate/styled.js.map +7 -0
- package/dist/esm/outOfTheBox/index.js +48 -0
- package/dist/esm/outOfTheBox/index.js.map +7 -0
- package/dist/esm/parts/LeftNavContent/index.js +67 -0
- package/dist/esm/parts/LeftNavContent/index.js.map +7 -0
- package/dist/esm/parts/LeftNavContent/styled.js +84 -0
- package/dist/esm/parts/LeftNavContent/styled.js.map +7 -0
- package/dist/esm/parts/LeftNavContentWithScrollbar/index.js +88 -0
- package/dist/esm/parts/LeftNavContentWithScrollbar/index.js.map +7 -0
- package/dist/esm/parts/LeftNavFooterItem/index.js +103 -0
- package/dist/esm/parts/LeftNavFooterItem/index.js.map +7 -0
- package/dist/esm/parts/LeftNavFooterItem/styled.js +65 -0
- package/dist/esm/parts/LeftNavFooterItem/styled.js.map +7 -0
- package/dist/esm/parts/LeftNavLoading/index.js +23 -0
- package/dist/esm/parts/LeftNavLoading/index.js.map +7 -0
- package/dist/esm/parts/OutOfTheBoxMapItem.js +42 -0
- package/dist/esm/parts/OutOfTheBoxMapItem.js.map +7 -0
- package/dist/esm/prop-types.js +37 -0
- package/dist/esm/prop-types.js.map +7 -0
- package/package.json +129 -120
- package/cjs/LeftNavigation.js +0 -29
- package/cjs/LeftNavigationContext.js +0 -41
- package/cjs/common/getItemBackgroundStyle.js +0 -12
- package/cjs/common/getLeftBorderStyle.js +0 -12
- package/cjs/common/getScrollbarStyle.js +0 -7
- package/cjs/common/index.js +0 -13
- package/cjs/configs/index.js +0 -10
- package/cjs/configs/useLeftNavConfig.js +0 -102
- package/cjs/configs/useLeftNavItems.js +0 -80
- package/cjs/configs/useLeftNavSmoothExpand.js +0 -35
- package/cjs/exported-related/ChevronItem/index.js +0 -28
- package/cjs/exported-related/Icon/index.js +0 -36
- package/cjs/exported-related/ItemRenderer/index.js +0 -128
- package/cjs/exported-related/ItemRenderer/styled.js +0 -58
- package/cjs/exported-related/ItemRenderer/usePropsWithDefaults.js +0 -57
- package/cjs/exported-related/Notifications/index.js +0 -62
- package/cjs/exported-related/OpenWindowItem/index.js +0 -33
- package/cjs/exported-related/constants.js +0 -29
- package/cjs/exported-related/index.js +0 -23
- package/cjs/hooks/index.js +0 -13
- package/cjs/hooks/useExpandableOnClickHandler.js +0 -35
- package/cjs/hooks/useKeyboardNavigation.js +0 -110
- package/cjs/hooks/useOpenableOnClickHandler.js +0 -40
- package/cjs/hooks/useSelectFirstBodyItem.js +0 -39
- package/cjs/index.d.js +0 -2
- package/cjs/index.js +0 -30
- package/cjs/outOfTheBox/ItemControlledDrilldown/index.js +0 -158
- package/cjs/outOfTheBox/ItemControlledDrilldown/styled.js +0 -27
- package/cjs/outOfTheBox/ItemHeader/index.js +0 -144
- package/cjs/outOfTheBox/ItemHeader/styled.js +0 -22
- package/cjs/outOfTheBox/ItemLink/index.js +0 -97
- package/cjs/outOfTheBox/ItemLink/styled.js +0 -17
- package/cjs/outOfTheBox/ItemSection/index.js +0 -83
- package/cjs/outOfTheBox/ItemSection/styled.js +0 -23
- package/cjs/outOfTheBox/ItemSeparator/index.js +0 -52
- package/cjs/outOfTheBox/ItemSubmenu/index.js +0 -145
- package/cjs/outOfTheBox/ItemSubmenu/styled.js +0 -22
- package/cjs/outOfTheBox/ItemTextLabel/index.js +0 -70
- package/cjs/outOfTheBox/ItemTextLabel/styled.js +0 -23
- package/cjs/outOfTheBox/ItemUncontrolledDrilldown/index.js +0 -172
- package/cjs/outOfTheBox/ItemUncontrolledDrilldown/styled.js +0 -27
- package/cjs/outOfTheBox/ItemWithDate/index.js +0 -86
- package/cjs/outOfTheBox/ItemWithDate/styled.js +0 -27
- package/cjs/outOfTheBox/index.js +0 -62
- package/cjs/parts/LeftNavContent/index.js +0 -84
- package/cjs/parts/LeftNavContent/styled.js +0 -53
- package/cjs/parts/LeftNavContentWithScrollbar/index.js +0 -91
- package/cjs/parts/LeftNavFooterItem/index.js +0 -108
- package/cjs/parts/LeftNavFooterItem/styled.js +0 -39
- package/cjs/parts/LeftNavLoading/index.js +0 -34
- package/cjs/parts/OutOfTheBoxMapItem.js +0 -52
- package/cjs/prop-types.js +0 -47
- package/esm/LeftNavigation.js +0 -20
- package/esm/common/getItemBackgroundStyle.js +0 -8
- package/esm/common/getLeftBorderStyle.js +0 -8
- package/esm/common/getScrollbarStyle.js +0 -3
- package/esm/common/index.js +0 -3
- package/esm/configs/index.js +0 -2
- package/esm/configs/useLeftNavConfig.js +0 -93
- package/esm/configs/useLeftNavItems.js +0 -75
- package/esm/configs/useLeftNavSmoothExpand.js +0 -26
- package/esm/exported-related/ChevronItem/index.js +0 -19
- package/esm/exported-related/Icon/index.js +0 -27
- package/esm/exported-related/ItemRenderer/index.js +0 -119
- package/esm/exported-related/ItemRenderer/styled.js +0 -47
- package/esm/exported-related/ItemRenderer/usePropsWithDefaults.js +0 -49
- package/esm/exported-related/Notifications/index.js +0 -51
- package/esm/exported-related/OpenWindowItem/index.js +0 -23
- package/esm/exported-related/constants.js +0 -21
- package/esm/exported-related/index.js +0 -6
- package/esm/hooks/index.js +0 -3
- package/esm/hooks/useExpandableOnClickHandler.js +0 -31
- package/esm/hooks/useOpenableOnClickHandler.js +0 -36
- package/esm/hooks/useSelectFirstBodyItem.js +0 -35
- package/esm/index.d.js +0 -1
- package/esm/index.js +0 -8
- package/esm/outOfTheBox/ItemControlledDrilldown/index.js +0 -148
- package/esm/outOfTheBox/ItemControlledDrilldown/styled.js +0 -17
- package/esm/outOfTheBox/ItemHeader/index.js +0 -134
- package/esm/outOfTheBox/ItemHeader/styled.js +0 -12
- package/esm/outOfTheBox/ItemLink/index.js +0 -87
- package/esm/outOfTheBox/ItemLink/styled.js +0 -8
- package/esm/outOfTheBox/ItemSection/index.js +0 -73
- package/esm/outOfTheBox/ItemSection/styled.js +0 -13
- package/esm/outOfTheBox/ItemSeparator/index.js +0 -42
- package/esm/outOfTheBox/ItemSubmenu/index.js +0 -135
- package/esm/outOfTheBox/ItemSubmenu/styled.js +0 -12
- package/esm/outOfTheBox/ItemTextLabel/index.js +0 -61
- package/esm/outOfTheBox/ItemTextLabel/styled.js +0 -14
- package/esm/outOfTheBox/ItemUncontrolledDrilldown/index.js +0 -162
- package/esm/outOfTheBox/ItemUncontrolledDrilldown/styled.js +0 -17
- package/esm/outOfTheBox/ItemWithDate/index.js +0 -76
- package/esm/outOfTheBox/ItemWithDate/styled.js +0 -17
- package/esm/outOfTheBox/index.js +0 -57
- package/esm/parts/LeftNavContent/index.js +0 -77
- package/esm/parts/LeftNavContent/styled.js +0 -39
- package/esm/parts/LeftNavContentWithScrollbar/index.js +0 -80
- package/esm/parts/LeftNavFooterItem/index.js +0 -98
- package/esm/parts/LeftNavFooterItem/styled.js +0 -26
- package/esm/parts/LeftNavLoading/index.js +0 -23
- package/esm/parts/OutOfTheBoxMapItem.js +0 -42
- package/esm/prop-types.js +0 -40
- 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 -77
- 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
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import React2 from "react";
|
|
3
|
+
import useLeftNavItems from "./useLeftNavItems";
|
|
4
|
+
import { useLeftNavSmoothExpand } from "./useLeftNavSmoothExpand";
|
|
5
|
+
import { useSelectFirstBodyItem } from "../hooks/useSelectFirstBodyItem";
|
|
6
|
+
const useLeftNavConfig = (props) => {
|
|
7
|
+
const { expanded, openedItem, onSelectedChange, onFocusChange, items } = props;
|
|
8
|
+
const [selectedItem, setSelectedItem] = React2.useState(null);
|
|
9
|
+
const [selectedParent, setSelectedParent] = React2.useState(null);
|
|
10
|
+
const [focusedItem, setFocusedItem] = React2.useState(null);
|
|
11
|
+
const [openedDrilldowns, setOpenedDrilldowns] = React2.useState([]);
|
|
12
|
+
const [expandedForAnimation, setExpandedForAnimation] = React2.useState(expanded);
|
|
13
|
+
const timeoutRef = React2.useRef(null);
|
|
14
|
+
const smoothExpandOpts = React2.useMemo(() => ({
|
|
15
|
+
expandedForAnimation,
|
|
16
|
+
timeoutRef,
|
|
17
|
+
setExpandedForAnimation
|
|
18
|
+
}), [expandedForAnimation, timeoutRef, setExpandedForAnimation]);
|
|
19
|
+
useLeftNavSmoothExpand(props, smoothExpandOpts);
|
|
20
|
+
React2.useEffect(() => {
|
|
21
|
+
onSelectedChange(selectedItem);
|
|
22
|
+
}, [selectedItem, onSelectedChange]);
|
|
23
|
+
React2.useEffect(() => {
|
|
24
|
+
if (props.actionRef && props.actionRef.current) {
|
|
25
|
+
props.actionRef.current.setFocusedItem = setFocusedItem;
|
|
26
|
+
}
|
|
27
|
+
}, [props.actionRef]);
|
|
28
|
+
React2.useEffect(() => {
|
|
29
|
+
if (openedItem !== null)
|
|
30
|
+
setSelectedParent(openedItem);
|
|
31
|
+
}, [openedItem]);
|
|
32
|
+
React2.useEffect(() => {
|
|
33
|
+
onFocusChange(focusedItem);
|
|
34
|
+
}, [focusedItem, onFocusChange]);
|
|
35
|
+
useSelectFirstBodyItem(items, openedItem, props.selectedItem !== void 0 ? props.selectedItem : selectedItem, setSelectedItem, props.disableDefaultSelection);
|
|
36
|
+
const leftNavItemsProps = React2.useMemo(() => ({
|
|
37
|
+
headerItem: props.HeaderComponent,
|
|
38
|
+
bodyHeaderItem: props.BodyHeaderComponent,
|
|
39
|
+
items: props.items,
|
|
40
|
+
openedDrilldowns
|
|
41
|
+
}), [props.HeaderComponent, props.BodyHeaderComponent, props.items, openedDrilldowns]);
|
|
42
|
+
const { visibleItems, visibleItemsRefs } = useLeftNavItems(leftNavItemsProps);
|
|
43
|
+
const finalConfig = React2.useMemo(() => ({
|
|
44
|
+
leftNavProps: props,
|
|
45
|
+
expandedForAnimation,
|
|
46
|
+
selectedItem: props.selectedItem !== void 0 ? props.selectedItem : selectedItem,
|
|
47
|
+
setSelectedItem,
|
|
48
|
+
selectedParent: props.selectedParent !== void 0 ? props.selectedParent : selectedParent,
|
|
49
|
+
setSelectedParent,
|
|
50
|
+
focusedItem,
|
|
51
|
+
setFocusedItem,
|
|
52
|
+
openedDrilldowns,
|
|
53
|
+
setOpenedDrilldowns,
|
|
54
|
+
visibleItems,
|
|
55
|
+
visibleItemsRefs
|
|
56
|
+
}), [
|
|
57
|
+
props,
|
|
58
|
+
expandedForAnimation,
|
|
59
|
+
selectedItem,
|
|
60
|
+
setSelectedItem,
|
|
61
|
+
setSelectedParent,
|
|
62
|
+
selectedParent,
|
|
63
|
+
focusedItem,
|
|
64
|
+
setFocusedItem,
|
|
65
|
+
openedDrilldowns,
|
|
66
|
+
setOpenedDrilldowns,
|
|
67
|
+
visibleItems,
|
|
68
|
+
visibleItemsRefs
|
|
69
|
+
]);
|
|
70
|
+
return finalConfig;
|
|
71
|
+
};
|
|
72
|
+
var useLeftNavConfig_default = useLeftNavConfig;
|
|
73
|
+
export {
|
|
74
|
+
useLeftNavConfig_default as default,
|
|
75
|
+
useLeftNavConfig
|
|
76
|
+
};
|
|
77
|
+
//# sourceMappingURL=useLeftNavConfig.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/configs/useLeftNavConfig.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "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"],
|
|
5
|
+
"mappings": "AAAA;ACAA;AAGA;AACA;AACA;AAEO,MAAM,mBAAmB,CAAC,UAAsC;AACrE,QAAM,EAAE,UAAU,YAAY,kBAAkB,eAAe,UAAU;AAOzE,QAAM,CAAC,cAAc,mBAAmB,OAAM,SAAwB;AACtE,QAAM,CAAC,gBAAgB,qBAAqB,OAAM,SAAwB;AAE1E,QAAM,CAAC,aAAa,kBAAkB,OAAM,SAAwB;AAEpE,QAAM,CAAC,kBAAkB,uBAAuB,OAAM,SAAmB;AAMzE,QAAM,CAAC,sBAAsB,2BAA2B,OAAM,SAAS;AACvE,QAAM,aAAa,OAAM,OAAsC;AAC/D,QAAM,mBAAmB,OAAM,QAC7B,MAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,MAEF,CAAC,sBAAsB,YAAY;AAErC,yBAAuB,OAAO;AAM9B,SAAM,UAAU,MAAM;AACpB,qBAAiB;AAAA,KAChB,CAAC,cAAc;AAElB,SAAM,UAAU,MAAM;AACpB,QAAI,MAAM,aAAa,MAAM,UAAU,SAAS;AAC9C,YAAM,UAAU,QAAQ,iBAAiB;AAAA;AAAA,KAE1C,CAAC,MAAM;AAEV,SAAM,UAAU,MAAM;AACpB,QAAI,eAAe;AAAM,wBAAkB;AAAA,KAC1C,CAAC;AAEJ,SAAM,UAAU,MAAM;AACpB,kBAAc;AAAA,KACb,CAAC,aAAa;AAEjB,yBACE,OACA,YACA,MAAM,iBAAiB,SAAY,MAAM,eAAe,cACxD,iBACA,MAAM;AAQR,QAAM,oBAAoB,OAAM,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,gBAAgB;AAM3D,QAAM,cAAc,OAAM,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
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { createRef, useMemo, useRef } from "react";
|
|
3
|
+
import { ITEM_TYPES } from "../exported-related";
|
|
4
|
+
import { FOOTER_DS_ID } from "../exported-related/constants";
|
|
5
|
+
const notFocuseableItems = [ITEM_TYPES.LEFT_NAV_ITEM_SEPARATOR, ITEM_TYPES.LEFT_NAV_ITEM_SECTION];
|
|
6
|
+
const walkItems = (items, openedDrilldowns, callback) => {
|
|
7
|
+
items.forEach((item) => {
|
|
8
|
+
if (typeof item.type === "string") {
|
|
9
|
+
if (notFocuseableItems.includes(item.type))
|
|
10
|
+
return;
|
|
11
|
+
callback(item.dsId);
|
|
12
|
+
if (item.type === ITEM_TYPES.LEFT_NAV_ITEM_UNCONTROLLED_DRILLDOWN && openedDrilldowns.includes(item.dsId))
|
|
13
|
+
walkItems(item.itemOpts?.items ?? [], openedDrilldowns, callback);
|
|
14
|
+
if (item.type === ITEM_TYPES.LEFT_NAV_ITEM_CONTROLLED_DRILLDOWN && item.itemOpts?.isOpened)
|
|
15
|
+
walkItems(item.itemOpts?.items ?? [], openedDrilldowns, callback);
|
|
16
|
+
} else {
|
|
17
|
+
if (!item.itemOpts?.focuseable)
|
|
18
|
+
return;
|
|
19
|
+
callback(item.dsId);
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
const useLeftNavItems = (props) => {
|
|
24
|
+
const { headerItem, bodyHeaderItem, items: bodyItems, openedDrilldowns } = props;
|
|
25
|
+
const items = useMemo(() => {
|
|
26
|
+
const itemsArray = [...bodyItems];
|
|
27
|
+
if (bodyHeaderItem)
|
|
28
|
+
itemsArray.unshift(bodyHeaderItem);
|
|
29
|
+
if (headerItem)
|
|
30
|
+
itemsArray.unshift(headerItem);
|
|
31
|
+
return itemsArray;
|
|
32
|
+
}, [headerItem, bodyHeaderItem, bodyItems]);
|
|
33
|
+
const visibleItemsRefs = useRef({});
|
|
34
|
+
const visibleItems = useMemo(() => {
|
|
35
|
+
const visibleItemsArray = [];
|
|
36
|
+
walkItems(items, openedDrilldowns, (dsId) => {
|
|
37
|
+
visibleItemsArray.push(dsId);
|
|
38
|
+
});
|
|
39
|
+
visibleItemsArray.push(FOOTER_DS_ID);
|
|
40
|
+
return visibleItemsArray;
|
|
41
|
+
}, [items, openedDrilldowns]);
|
|
42
|
+
visibleItems.forEach((dsId) => {
|
|
43
|
+
if (!(dsId in visibleItemsRefs.current))
|
|
44
|
+
visibleItemsRefs.current[dsId] = createRef();
|
|
45
|
+
});
|
|
46
|
+
return { visibleItems, visibleItemsRefs };
|
|
47
|
+
};
|
|
48
|
+
var useLeftNavItems_default = useLeftNavItems;
|
|
49
|
+
export {
|
|
50
|
+
useLeftNavItems_default as default,
|
|
51
|
+
useLeftNavItems
|
|
52
|
+
};
|
|
53
|
+
//# sourceMappingURL=useLeftNavItems.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/configs/useLeftNavItems.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable complexity */\nimport { createRef, MutableRefObject, RefObject, useMemo, useRef } from 'react';\nimport { ITEM_TYPES } from '../exported-related';\nimport type { GenericItemItemProps } from '../index.d';\nimport { FOOTER_DS_ID } from '../exported-related/constants';\n\nconst notFocuseableItems = [ITEM_TYPES.LEFT_NAV_ITEM_SEPARATOR, ITEM_TYPES.LEFT_NAV_ITEM_SECTION];\n\n// Walks the array of items\n// Drilldowns are tree-like structures\nconst walkItems = (items: GenericItemItemProps[], openedDrilldowns: string[], callback: (dsId: string) => void) => {\n items.forEach((item) => {\n if (typeof item.type === 'string') {\n // Out of the box item\n if (notFocuseableItems.includes(item.type)) return; // not focuseable\n\n callback(item.dsId);\n\n // If it's an opened uncontrolled drilldown\n if (item.type === ITEM_TYPES.LEFT_NAV_ITEM_UNCONTROLLED_DRILLDOWN && openedDrilldowns.includes(item.dsId))\n walkItems(item.itemOpts?.items ?? [], openedDrilldowns, callback);\n\n // If it's an opened controlled drilldown\n if (item.type === ITEM_TYPES.LEFT_NAV_ITEM_CONTROLLED_DRILLDOWN && item.itemOpts?.isOpened)\n walkItems(item.itemOpts?.items ?? [], openedDrilldowns, callback);\n } else {\n // Custom item\n if (!item.itemOpts?.focuseable) return; // not focuseable specified\n callback(item.dsId);\n }\n });\n};\n\nexport const useLeftNavItems = (props: {\n headerItem: GenericItemItemProps;\n bodyHeaderItem: GenericItemItemProps;\n items: GenericItemItemProps[];\n openedDrilldowns: string[];\n}): {\n visibleItems: string[];\n visibleItemsRefs: MutableRefObject<Record<string, RefObject<HTMLElement>>>;\n} => {\n const { headerItem, bodyHeaderItem, items: bodyItems, openedDrilldowns } = props;\n\n // Place the header and body header items into the array of items\n const items = useMemo(() => {\n const itemsArray: GenericItemItemProps[] = [...bodyItems];\n if (bodyHeaderItem) itemsArray.unshift(bodyHeaderItem);\n if (headerItem) itemsArray.unshift(headerItem);\n return itemsArray;\n }, [headerItem, bodyHeaderItem, bodyItems]);\n\n const visibleItemsRefs = useRef<Record<string, RefObject<HTMLElement>>>({});\n\n const visibleItems: string[] = useMemo(() => {\n const visibleItemsArray: string[] = [];\n walkItems(items, openedDrilldowns, (dsId: string) => {\n visibleItemsArray.push(dsId);\n });\n visibleItemsArray.push(FOOTER_DS_ID);\n return visibleItemsArray;\n }, [items, openedDrilldowns]);\n\n visibleItems.forEach((dsId) => {\n if (!(dsId in visibleItemsRefs.current)) visibleItemsRefs.current[dsId] = createRef();\n });\n\n return { visibleItems, visibleItemsRefs };\n};\n\nexport default useLeftNavItems;\n"],
|
|
5
|
+
"mappings": "AAAA;ACCA;AACA;AAEA;AAEA,MAAM,qBAAqB,CAAC,WAAW,yBAAyB,WAAW;AAI3E,MAAM,YAAY,CAAC,OAA+B,kBAA4B,aAAqC;AACjH,QAAM,QAAQ,CAAC,SAAS;AACtB,QAAI,OAAO,KAAK,SAAS,UAAU;AAEjC,UAAI,mBAAmB,SAAS,KAAK;AAAO;AAE5C,eAAS,KAAK;AAGd,UAAI,KAAK,SAAS,WAAW,wCAAwC,iBAAiB,SAAS,KAAK;AAClG,kBAAU,KAAK,UAAU,SAAS,IAAI,kBAAkB;AAG1D,UAAI,KAAK,SAAS,WAAW,sCAAsC,KAAK,UAAU;AAChF,kBAAU,KAAK,UAAU,SAAS,IAAI,kBAAkB;AAAA,WACrD;AAEL,UAAI,CAAC,KAAK,UAAU;AAAY;AAChC,eAAS,KAAK;AAAA;AAAA;AAAA;AAKb,MAAM,kBAAkB,CAAC,UAQ3B;AACH,QAAM,EAAE,YAAY,gBAAgB,OAAO,WAAW,qBAAqB;AAG3E,QAAM,QAAQ,QAAQ,MAAM;AAC1B,UAAM,aAAqC,CAAC,GAAG;AAC/C,QAAI;AAAgB,iBAAW,QAAQ;AACvC,QAAI;AAAY,iBAAW,QAAQ;AACnC,WAAO;AAAA,KACN,CAAC,YAAY,gBAAgB;AAEhC,QAAM,mBAAmB,OAA+C;AAExE,QAAM,eAAyB,QAAQ,MAAM;AAC3C,UAAM,oBAA8B;AACpC,cAAU,OAAO,kBAAkB,CAAC,SAAiB;AACnD,wBAAkB,KAAK;AAAA;AAEzB,sBAAkB,KAAK;AACvB,WAAO;AAAA,KACN,CAAC,OAAO;AAEX,eAAa,QAAQ,CAAC,SAAS;AAC7B,QAAI,CAAE,SAAQ,iBAAiB;AAAU,uBAAiB,QAAQ,QAAQ;AAAA;AAG5E,SAAO,EAAE,cAAc;AAAA;AAGzB,IAAO,0BAAQ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import React2 from "react";
|
|
3
|
+
const useLeftNavSmoothExpand = (props, smoothExpandOpts) => {
|
|
4
|
+
const { expanded } = props;
|
|
5
|
+
const { expandedForAnimation, timeoutRef, setExpandedForAnimation } = smoothExpandOpts;
|
|
6
|
+
React2.useEffect(() => {
|
|
7
|
+
if (!expanded && expandedForAnimation) {
|
|
8
|
+
if (timeoutRef.current)
|
|
9
|
+
clearTimeout(timeoutRef.current);
|
|
10
|
+
timeoutRef.current = setTimeout(() => setExpandedForAnimation(false), 350);
|
|
11
|
+
} else if (expanded)
|
|
12
|
+
setExpandedForAnimation(true);
|
|
13
|
+
}, [expanded]);
|
|
14
|
+
React2.useEffect(() => () => {
|
|
15
|
+
if (timeoutRef.current)
|
|
16
|
+
clearTimeout(timeoutRef.current);
|
|
17
|
+
}, [timeoutRef]);
|
|
18
|
+
};
|
|
19
|
+
var useLeftNavSmoothExpand_default = useLeftNavSmoothExpand;
|
|
20
|
+
export {
|
|
21
|
+
useLeftNavSmoothExpand_default as default,
|
|
22
|
+
useLeftNavSmoothExpand
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=useLeftNavSmoothExpand.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/configs/useLeftNavSmoothExpand.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "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"],
|
|
5
|
+
"mappings": "AAAA;ACAA;AAQO,MAAM,yBAAyB,CAAC,OAAqB,qBAA8C;AACxG,QAAM,EAAE,aAAa;AACrB,QAAM,EAAE,sBAAsB,YAAY,4BAA4B;AAEtE,SAAM,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,SAAM,UACJ,MAAM,MAAM;AACV,QAAI,WAAW;AAAS,mBAAa,WAAW;AAAA,KAElD,CAAC;AAAA;AAIL,IAAO,iCAAQ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
3
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
4
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
5
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
6
|
+
var __spreadValues = (a, b) => {
|
|
7
|
+
for (var prop in b || (b = {}))
|
|
8
|
+
if (__hasOwnProp.call(b, prop))
|
|
9
|
+
__defNormalProp(a, prop, b[prop]);
|
|
10
|
+
if (__getOwnPropSymbols)
|
|
11
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
12
|
+
if (__propIsEnum.call(b, prop))
|
|
13
|
+
__defNormalProp(a, prop, b[prop]);
|
|
14
|
+
}
|
|
15
|
+
return a;
|
|
16
|
+
};
|
|
17
|
+
import * as React from "react";
|
|
18
|
+
import React2 from "react";
|
|
19
|
+
import { ChevronSmallRight } from "@elliemae/ds-icons";
|
|
20
|
+
const ChevronItem = (props) => /* @__PURE__ */ React2.createElement(ChevronSmallRight, __spreadValues({
|
|
21
|
+
size: "m",
|
|
22
|
+
color: ["brand-primary", 800]
|
|
23
|
+
}, props));
|
|
24
|
+
var ChevronItem_default = ChevronItem;
|
|
25
|
+
export {
|
|
26
|
+
ChevronItem,
|
|
27
|
+
ChevronItem_default as default
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/exported-related/ChevronItem/index.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport { ChevronSmallRight } from '@elliemae/ds-icons';\n\nexport const ChevronItem = (props: unknown): JSX.Element => (\n <ChevronSmallRight size=\"m\" color={['brand-primary', 800]} {...props} />\n);\n\nexport default ChevronItem;\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;AAAA;ACAA;AACA;AAEO,MAAM,cAAc,CAAC,UAC1B,qCAAC,mBAAD;AAAA,EAAmB,MAAK;AAAA,EAAI,OAAO,CAAC,iBAAiB;AAAA,GAAU;AAGjE,IAAO,sBAAQ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
3
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
4
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
5
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
6
|
+
var __spreadValues = (a, b) => {
|
|
7
|
+
for (var prop in b || (b = {}))
|
|
8
|
+
if (__hasOwnProp.call(b, prop))
|
|
9
|
+
__defNormalProp(a, prop, b[prop]);
|
|
10
|
+
if (__getOwnPropSymbols)
|
|
11
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
12
|
+
if (__propIsEnum.call(b, prop))
|
|
13
|
+
__defNormalProp(a, prop, b[prop]);
|
|
14
|
+
}
|
|
15
|
+
return a;
|
|
16
|
+
};
|
|
17
|
+
import * as React from "react";
|
|
18
|
+
import React2 from "react";
|
|
19
|
+
import styled from "styled-components";
|
|
20
|
+
const AugmentedIcon = (Icon2) => styled(Icon2)`
|
|
21
|
+
cursor: pointer;
|
|
22
|
+
|
|
23
|
+
outline: 0;
|
|
24
|
+
:focus,
|
|
25
|
+
:active {
|
|
26
|
+
outline: 1px solid #1e79c2;
|
|
27
|
+
}
|
|
28
|
+
`;
|
|
29
|
+
const Icon = (IconComponent) => (props) => {
|
|
30
|
+
const StyledComponent = AugmentedIcon(IconComponent);
|
|
31
|
+
return /* @__PURE__ */ React2.createElement(StyledComponent, __spreadValues({
|
|
32
|
+
color: ["brand-primary", 800],
|
|
33
|
+
tabIndex: 0
|
|
34
|
+
}, props));
|
|
35
|
+
};
|
|
36
|
+
export {
|
|
37
|
+
Icon
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/exported-related/Icon/index.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport styled from 'styled-components';\n\nconst AugmentedIcon = (\n Icon: React.ComponentType<{ color: unknown; tabIndex: number }>,\n) => styled(Icon)`\n cursor: pointer;\n\n outline: 0;\n :focus,\n :active {\n outline: 1px solid #1e79c2;\n }\n`;\n\nexport const Icon = (\n IconComponent: React.ComponentType<{ color: unknown; tabIndex: number }>,\n) => (props: unknown): JSX.Element => {\n const StyledComponent = AugmentedIcon(IconComponent);\n return (\n <StyledComponent color={['brand-primary', 800]} tabIndex={0} {...props} />\n );\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;AAAA;ACAA;AACA;AAEA,MAAM,gBAAgB,CACpB,UACG,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUL,MAAM,OAAO,CAClB,kBACG,CAAC,UAAgC;AACpC,QAAM,kBAAkB,cAAc;AACtC,SACE,qCAAC,iBAAD;AAAA,IAAiB,OAAO,CAAC,iBAAiB;AAAA,IAAM,UAAU;AAAA,KAAO;AAAA;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import React2, { useContext, useMemo, useCallback } from "react";
|
|
3
|
+
import Grid from "@elliemae/ds-grid";
|
|
4
|
+
import { StyledItemWrapper, StyledItem } from "./styled";
|
|
5
|
+
import { LeftNavContext } from "../../LeftNavigationContext";
|
|
6
|
+
import { usePropsWithDefaults } from "./usePropsWithDefaults";
|
|
7
|
+
import { useKeyboardNavigation } from "../../hooks";
|
|
8
|
+
const ItemRenderer = (props) => {
|
|
9
|
+
const propsWithDefault = usePropsWithDefaults(props);
|
|
10
|
+
const {
|
|
11
|
+
item,
|
|
12
|
+
item: {
|
|
13
|
+
dsId,
|
|
14
|
+
itemOpts: { selectable, focuseable, indent, ariaLabel, ariaRole, ariaLive, ariaExpanded, ariaDescribedBy },
|
|
15
|
+
CollapsedComponent
|
|
16
|
+
},
|
|
17
|
+
subitems,
|
|
18
|
+
minHeight,
|
|
19
|
+
paddingTop,
|
|
20
|
+
onClick,
|
|
21
|
+
shadowStyle,
|
|
22
|
+
hasBorderBottom,
|
|
23
|
+
borderBottomMr,
|
|
24
|
+
children
|
|
25
|
+
} = propsWithDefault;
|
|
26
|
+
const ctx = useContext(LeftNavContext);
|
|
27
|
+
const {
|
|
28
|
+
leftNavProps: { onItemClick, openedItem },
|
|
29
|
+
expandedForAnimation,
|
|
30
|
+
selectedParent,
|
|
31
|
+
selectedItem,
|
|
32
|
+
setSelectedItem,
|
|
33
|
+
setFocusedItem,
|
|
34
|
+
visibleItemsRefs
|
|
35
|
+
} = ctx;
|
|
36
|
+
const opened = dsId === openedItem;
|
|
37
|
+
const handleOnClick = useCallback((e) => {
|
|
38
|
+
if (onClick)
|
|
39
|
+
onClick();
|
|
40
|
+
onItemClick(item, e);
|
|
41
|
+
if (selectable)
|
|
42
|
+
setSelectedItem(item.dsId);
|
|
43
|
+
}, [onItemClick, item, setSelectedItem, selectable, onClick]);
|
|
44
|
+
const handleFocus = useCallback(() => {
|
|
45
|
+
if (focuseable)
|
|
46
|
+
setFocusedItem(dsId);
|
|
47
|
+
}, [dsId, setFocusedItem, focuseable]);
|
|
48
|
+
const onKeyDown = useKeyboardNavigation({
|
|
49
|
+
item,
|
|
50
|
+
onClick: handleOnClick
|
|
51
|
+
});
|
|
52
|
+
const cols = useMemo(() => expandedForAnimation ? ["auto", "1fr", "auto"] : ["38px"], [expandedForAnimation]);
|
|
53
|
+
const isSelected = useMemo(() => selectedItem === dsId, [selectedItem, dsId]);
|
|
54
|
+
if (!expandedForAnimation && !CollapsedComponent) {
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
return /* @__PURE__ */ React2.createElement(React2.Fragment, null, /* @__PURE__ */ React2.createElement(StyledItemWrapper, {
|
|
58
|
+
shadowStyle: shadowStyle(opened, item.type),
|
|
59
|
+
"data-testid": "leftnav-item-wrapper"
|
|
60
|
+
}, /* @__PURE__ */ React2.createElement(StyledItem, {
|
|
61
|
+
ref: visibleItemsRefs.current[dsId],
|
|
62
|
+
pt: paddingTop,
|
|
63
|
+
pl: indent === void 0 ? "xxxs" : `${indent}px`,
|
|
64
|
+
minHeight,
|
|
65
|
+
shadowStyle: shadowStyle(opened, item.type),
|
|
66
|
+
alignItems: "flex-start",
|
|
67
|
+
cols,
|
|
68
|
+
onClick: !opened ? handleOnClick : () => null,
|
|
69
|
+
onKeyDown,
|
|
70
|
+
selectable,
|
|
71
|
+
selected: isSelected,
|
|
72
|
+
selectedParent: selectedParent === dsId,
|
|
73
|
+
opened,
|
|
74
|
+
onFocus: handleFocus,
|
|
75
|
+
"data-testid": "leftnav-item-container",
|
|
76
|
+
tabIndex: focuseable ? 0 : -1,
|
|
77
|
+
"aria-describedby": ariaDescribedBy,
|
|
78
|
+
"aria-expanded": ariaExpanded,
|
|
79
|
+
role: ariaRole,
|
|
80
|
+
"data-selected": isSelected,
|
|
81
|
+
"data-selectedparent": selectedParent === dsId,
|
|
82
|
+
"aria-label": ariaLabel,
|
|
83
|
+
"aria-hidden": !focuseable,
|
|
84
|
+
"aria-live": ariaLive
|
|
85
|
+
}, !expandedForAnimation ? /* @__PURE__ */ React2.createElement(Grid, {
|
|
86
|
+
"data-testid": "leftnav-leftcomponent",
|
|
87
|
+
justifyContent: "center"
|
|
88
|
+
}, /* @__PURE__ */ React2.createElement(CollapsedComponent, {
|
|
89
|
+
item,
|
|
90
|
+
ctx
|
|
91
|
+
})) : children), hasBorderBottom && /* @__PURE__ */ React2.createElement("div", {
|
|
92
|
+
style: {
|
|
93
|
+
marginLeft: opened ? "16px" : "0px",
|
|
94
|
+
marginRight: borderBottomMr,
|
|
95
|
+
height: "1px",
|
|
96
|
+
width: `calc(100% - ${borderBottomMr} - ${opened ? "16px" : "0px"})`,
|
|
97
|
+
backgroundColor: "#E0E3E8"
|
|
98
|
+
}
|
|
99
|
+
})), subitems);
|
|
100
|
+
};
|
|
101
|
+
export {
|
|
102
|
+
ItemRenderer
|
|
103
|
+
};
|
|
104
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/exported-related/ItemRenderer/index.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable complexity */\n/* eslint-disable max-lines */\nimport React, { useContext, useMemo, useCallback } from 'react';\nimport Grid from '@elliemae/ds-grid';\nimport { StyledItemWrapper, StyledItem } from './styled';\n\nimport { ItemRendererT } from '../../index.d';\nimport { LeftNavContext } from '../../LeftNavigationContext';\nimport { usePropsWithDefaults } from './usePropsWithDefaults';\nimport { useKeyboardNavigation } from '../../hooks';\n\nexport const ItemRenderer = (props: ItemRendererT): JSX.Element => {\n const propsWithDefault = usePropsWithDefaults(props);\n const {\n item,\n item: {\n dsId,\n itemOpts: { selectable, focuseable, indent, ariaLabel, ariaRole, ariaLive, ariaExpanded, ariaDescribedBy },\n CollapsedComponent,\n },\n subitems,\n minHeight,\n paddingTop,\n onClick,\n shadowStyle,\n hasBorderBottom,\n borderBottomMr,\n children,\n } = propsWithDefault;\n\n const ctx = useContext(LeftNavContext);\n const {\n leftNavProps: { onItemClick, openedItem },\n expandedForAnimation,\n selectedParent,\n selectedItem,\n setSelectedItem,\n setFocusedItem,\n visibleItemsRefs,\n } = ctx;\n\n const opened = dsId === openedItem;\n\n const handleOnClick = useCallback(\n (e) => {\n if (onClick) onClick(); // used by uncontrolled drilldowns\n onItemClick(item, e);\n if (selectable) setSelectedItem(item.dsId);\n },\n [onItemClick, item, setSelectedItem, selectable, onClick],\n );\n\n const handleFocus = useCallback(() => {\n if (focuseable) setFocusedItem(dsId);\n }, [dsId, setFocusedItem, focuseable]);\n\n const onKeyDown = useKeyboardNavigation({\n item,\n onClick: handleOnClick,\n });\n\n const cols = useMemo(() => (expandedForAnimation ? ['auto', '1fr', 'auto'] : ['38px']), [expandedForAnimation]);\n const isSelected = useMemo(() => selectedItem === dsId, [selectedItem, dsId]);\n\n if (!expandedForAnimation && !CollapsedComponent) {\n return null;\n }\n\n return (\n <>\n <StyledItemWrapper shadowStyle={shadowStyle(opened, item.type)} data-testid=\"leftnav-item-wrapper\">\n <StyledItem\n ref={visibleItemsRefs.current[dsId]}\n pt={paddingTop}\n pl={indent === undefined ? 'xxxs' : `${indent}px`}\n minHeight={minHeight}\n shadowStyle={shadowStyle(opened, item.type)}\n alignItems=\"flex-start\"\n cols={cols}\n onClick={!opened ? handleOnClick : () => null}\n onKeyDown={onKeyDown}\n selectable={selectable}\n selected={isSelected}\n selectedParent={selectedParent === dsId}\n opened={opened}\n onFocus={handleFocus}\n data-testid=\"leftnav-item-container\"\n tabIndex={focuseable ? 0 : -1}\n aria-describedby={ariaDescribedBy}\n aria-expanded={ariaExpanded}\n role={ariaRole}\n data-selected={isSelected}\n data-selectedparent={selectedParent === dsId}\n aria-label={ariaLabel}\n aria-hidden={!focuseable}\n aria-live={ariaLive}\n >\n {!expandedForAnimation ? (\n <Grid data-testid=\"leftnav-leftcomponent\" justifyContent=\"center\">\n <CollapsedComponent item={item} ctx={ctx} />\n </Grid>\n ) : (\n children\n )}\n </StyledItem>\n {hasBorderBottom && (\n <div\n style={{\n marginLeft: opened ? '16px' : '0px',\n marginRight: borderBottomMr,\n height: '1px',\n width: `calc(100% - ${borderBottomMr} - ${opened ? '16px' : '0px'})`,\n backgroundColor: '#E0E3E8',\n }}\n />\n )}\n </StyledItemWrapper>\n {subitems}\n </>\n );\n};\n"],
|
|
5
|
+
"mappings": "AAAA;ACEA;AACA;AACA;AAGA;AACA;AACA;AAEO,MAAM,eAAe,CAAC,UAAsC;AACjE,QAAM,mBAAmB,qBAAqB;AAC9C,QAAM;AAAA,IACJ;AAAA,IACA,MAAM;AAAA,MACJ;AAAA,MACA,UAAU,EAAE,YAAY,YAAY,QAAQ,WAAW,UAAU,UAAU,cAAc;AAAA,MACzF;AAAA;AAAA,IAEF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACE;AAEJ,QAAM,MAAM,WAAW;AACvB,QAAM;AAAA,IACJ,cAAc,EAAE,aAAa;AAAA,IAC7B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACE;AAEJ,QAAM,SAAS,SAAS;AAExB,QAAM,gBAAgB,YACpB,CAAC,MAAM;AACL,QAAI;AAAS;AACb,gBAAY,MAAM;AAClB,QAAI;AAAY,sBAAgB,KAAK;AAAA,KAEvC,CAAC,aAAa,MAAM,iBAAiB,YAAY;AAGnD,QAAM,cAAc,YAAY,MAAM;AACpC,QAAI;AAAY,qBAAe;AAAA,KAC9B,CAAC,MAAM,gBAAgB;AAE1B,QAAM,YAAY,sBAAsB;AAAA,IACtC;AAAA,IACA,SAAS;AAAA;AAGX,QAAM,OAAO,QAAQ,MAAO,uBAAuB,CAAC,QAAQ,OAAO,UAAU,CAAC,SAAU,CAAC;AACzF,QAAM,aAAa,QAAQ,MAAM,iBAAiB,MAAM,CAAC,cAAc;AAEvE,MAAI,CAAC,wBAAwB,CAAC,oBAAoB;AAChD,WAAO;AAAA;AAGT,SACE,4DACE,qCAAC,mBAAD;AAAA,IAAmB,aAAa,YAAY,QAAQ,KAAK;AAAA,IAAO,eAAY;AAAA,KAC1E,qCAAC,YAAD;AAAA,IACE,KAAK,iBAAiB,QAAQ;AAAA,IAC9B,IAAI;AAAA,IACJ,IAAI,WAAW,SAAY,SAAS,GAAG;AAAA,IACvC;AAAA,IACA,aAAa,YAAY,QAAQ,KAAK;AAAA,IACtC,YAAW;AAAA,IACX;AAAA,IACA,SAAS,CAAC,SAAS,gBAAgB,MAAM;AAAA,IACzC;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV,gBAAgB,mBAAmB;AAAA,IACnC;AAAA,IACA,SAAS;AAAA,IACT,eAAY;AAAA,IACZ,UAAU,aAAa,IAAI;AAAA,IAC3B,oBAAkB;AAAA,IAClB,iBAAe;AAAA,IACf,MAAM;AAAA,IACN,iBAAe;AAAA,IACf,uBAAqB,mBAAmB;AAAA,IACxC,cAAY;AAAA,IACZ,eAAa,CAAC;AAAA,IACd,aAAW;AAAA,KAEV,CAAC,uBACA,qCAAC,MAAD;AAAA,IAAM,eAAY;AAAA,IAAwB,gBAAe;AAAA,KACvD,qCAAC,oBAAD;AAAA,IAAoB;AAAA,IAAY;AAAA,QAGlC,WAGH,mBACC,qCAAC,OAAD;AAAA,IACE,OAAO;AAAA,MACL,YAAY,SAAS,SAAS;AAAA,MAC9B,aAAa;AAAA,MACb,QAAQ;AAAA,MACR,OAAO,eAAe,oBAAoB,SAAS,SAAS;AAAA,MAC5D,iBAAiB;AAAA;AAAA,OAKxB;AAAA;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import Grid from "@elliemae/ds-grid";
|
|
3
|
+
import styled from "styled-components";
|
|
4
|
+
const borderOutside = (color, weight = 2) => `&:before {
|
|
5
|
+
content: '';
|
|
6
|
+
position: absolute;
|
|
7
|
+
top: 0;
|
|
8
|
+
left: 0;
|
|
9
|
+
right: 0;
|
|
10
|
+
bottom: 0;
|
|
11
|
+
border: ${weight}px solid ${color};
|
|
12
|
+
pointer-events: none;
|
|
13
|
+
}`;
|
|
14
|
+
const StyledItemWrapper = styled(Grid)`
|
|
15
|
+
position: relative;
|
|
16
|
+
${(props) => props.shadowStyle(props.theme)}
|
|
17
|
+
`;
|
|
18
|
+
const getItemBackground = ({ selectable, opened, selected, theme }) => {
|
|
19
|
+
if (!selectable)
|
|
20
|
+
return "white";
|
|
21
|
+
if (selected && !opened)
|
|
22
|
+
return theme.colors.brand[200];
|
|
23
|
+
return theme.colors.neutral["000"];
|
|
24
|
+
};
|
|
25
|
+
const getItemHoverBackground = ({ selectable, opened, selected, theme }) => {
|
|
26
|
+
if (!selectable)
|
|
27
|
+
return "white";
|
|
28
|
+
if (selected && !opened)
|
|
29
|
+
return theme.colors.brand[200];
|
|
30
|
+
return theme.colors.brand["200"];
|
|
31
|
+
};
|
|
32
|
+
const StyledItem = styled(Grid)`
|
|
33
|
+
cursor: ${(props) => props.selectable && !props.opened ? "pointer" : "auto"};
|
|
34
|
+
min-height: ${(props) => props.minHeight};
|
|
35
|
+
|
|
36
|
+
background: ${getItemBackground};
|
|
37
|
+
|
|
38
|
+
${(props) => props.selected && !props.opened ? borderOutside(props.theme.colors.brand[500], 1) : ""}
|
|
39
|
+
|
|
40
|
+
:hover {
|
|
41
|
+
background: ${getItemHoverBackground};
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
:active {
|
|
45
|
+
background: ${({ selectable, theme }) => selectable ? theme.colors.brand[200] : "white"};
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
${(props) => props.shadowStyle(props.theme)};
|
|
49
|
+
|
|
50
|
+
outline: none;
|
|
51
|
+
|
|
52
|
+
${(props) => props.tabIndex !== -1 ? `:focus {
|
|
53
|
+
${borderOutside(props.theme.colors.brand[700])}
|
|
54
|
+
}` : ""}
|
|
55
|
+
`;
|
|
56
|
+
export {
|
|
57
|
+
StyledItem,
|
|
58
|
+
StyledItemWrapper,
|
|
59
|
+
borderOutside
|
|
60
|
+
};
|
|
61
|
+
//# sourceMappingURL=styled.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/exported-related/ItemRenderer/styled.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable indent */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport Grid from '@elliemae/ds-grid';\nimport styled from 'styled-components';\n\ninterface ItemProps {\n selected: boolean;\n selectable: boolean;\n opened: boolean;\n theme: any;\n shadowStyle: (theme: any) => string;\n}\n\nexport const borderOutside = (color, weight = 2): string => `&:before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border: ${weight}px solid ${color};\n pointer-events: none;\n}`;\n\nexport const StyledItemWrapper = styled(Grid)<{\n shadowStyle: (theme: any) => string;\n}>`\n position: relative;\n ${(props) => props.shadowStyle(props.theme)}\n`;\n\nconst getItemBackground = ({ selectable, opened, selected, theme }: ItemProps) => {\n if (!selectable) return 'white';\n if (selected && !opened) return theme.colors.brand[200];\n return theme.colors.neutral['000'];\n};\n\nconst getItemHoverBackground = ({ selectable, opened, selected, theme }: ItemProps) => {\n if (!selectable) return 'white';\n if (selected && !opened) return theme.colors.brand[200];\n return theme.colors.brand['200'];\n};\n\nexport const StyledItem = styled(Grid)<{ minHeight: string } & ItemProps>`\n cursor: ${(props) => (props.selectable && !props.opened ? 'pointer' : 'auto')};\n min-height: ${(props) => props.minHeight};\n\n background: ${getItemBackground};\n\n ${(props) => (props.selected && !props.opened ? borderOutside(props.theme.colors.brand[500], 1) : '')}\n\n :hover {\n background: ${getItemHoverBackground};\n }\n\n :active {\n background: ${({ selectable, theme }) => (selectable ? theme.colors.brand[200] : 'white')};\n }\n\n ${(props) => props.shadowStyle(props.theme)};\n\n outline: none;\n\n ${(props) =>\n props.tabIndex !== -1\n ? `:focus {\n ${borderOutside(props.theme.colors.brand[700])}\n }`\n : ''}\n`;\n"],
|
|
5
|
+
"mappings": "AAAA;ACEA;AACA;AAUO,MAAM,gBAAgB,CAAC,OAAO,SAAS,MAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAOhD,kBAAkB;AAAA;AAAA;AAIvB,MAAM,oBAAoB,OAAO;AAAA;AAAA,IAIpC,CAAC,UAAU,MAAM,YAAY,MAAM;AAAA;AAGvC,MAAM,oBAAoB,CAAC,EAAE,YAAY,QAAQ,UAAU,YAAuB;AAChF,MAAI,CAAC;AAAY,WAAO;AACxB,MAAI,YAAY,CAAC;AAAQ,WAAO,MAAM,OAAO,MAAM;AACnD,SAAO,MAAM,OAAO,QAAQ;AAAA;AAG9B,MAAM,yBAAyB,CAAC,EAAE,YAAY,QAAQ,UAAU,YAAuB;AACrF,MAAI,CAAC;AAAY,WAAO;AACxB,MAAI,YAAY,CAAC;AAAQ,WAAO,MAAM,OAAO,MAAM;AACnD,SAAO,MAAM,OAAO,MAAM;AAAA;AAGrB,MAAM,aAAa,OAAO;AAAA,YACrB,CAAC,UAAW,MAAM,cAAc,CAAC,MAAM,SAAS,YAAY;AAAA,gBACxD,CAAC,UAAU,MAAM;AAAA;AAAA,gBAEjB;AAAA;AAAA,IAEZ,CAAC,UAAW,MAAM,YAAY,CAAC,MAAM,SAAS,cAAc,MAAM,MAAM,OAAO,MAAM,MAAM,KAAK;AAAA;AAAA;AAAA,kBAGlF;AAAA;AAAA;AAAA;AAAA,kBAIA,CAAC,EAAE,YAAY,YAAa,aAAa,MAAM,OAAO,MAAM,OAAO;AAAA;AAAA;AAAA,IAGjF,CAAC,UAAU,MAAM,YAAY,MAAM;AAAA;AAAA;AAAA;AAAA,IAInC,CAAC,UACD,MAAM,aAAa,KACf;AAAA,MACF,cAAc,MAAM,MAAM,OAAO,MAAM;AAAA,aAErC;AAAA;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defProps = Object.defineProperties;
|
|
3
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
4
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
7
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
+
var __spreadValues = (a, b) => {
|
|
9
|
+
for (var prop in b || (b = {}))
|
|
10
|
+
if (__hasOwnProp.call(b, prop))
|
|
11
|
+
__defNormalProp(a, prop, b[prop]);
|
|
12
|
+
if (__getOwnPropSymbols)
|
|
13
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
14
|
+
if (__propIsEnum.call(b, prop))
|
|
15
|
+
__defNormalProp(a, prop, b[prop]);
|
|
16
|
+
}
|
|
17
|
+
return a;
|
|
18
|
+
};
|
|
19
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
20
|
+
import * as React from "react";
|
|
21
|
+
import { useMemo } from "react";
|
|
22
|
+
const itemDefaultProps = {
|
|
23
|
+
label: "",
|
|
24
|
+
labelOverflow: "truncate",
|
|
25
|
+
selectable: true,
|
|
26
|
+
focuseable: true,
|
|
27
|
+
openable: false,
|
|
28
|
+
closable: false,
|
|
29
|
+
ariaLabel: "",
|
|
30
|
+
ariaRole: "menuitem",
|
|
31
|
+
ariaLive: "off",
|
|
32
|
+
ariaExpanded: void 0,
|
|
33
|
+
ariaDescribedBy: void 0
|
|
34
|
+
};
|
|
35
|
+
const itemWithoutShadows = ["ds-left-nav-item-header", "ds-left-nav-item-link", "ds-left-nav-item-submenu"];
|
|
36
|
+
const usePropsWithDefaults = (props) => {
|
|
37
|
+
const propsWithDefault = useMemo(() => {
|
|
38
|
+
const itemWithDefaults = __spreadProps(__spreadValues({
|
|
39
|
+
CollapsedComponent: () => null
|
|
40
|
+
}, props.item), {
|
|
41
|
+
itemOpts: __spreadValues(__spreadValues({}, itemDefaultProps), props.item.itemOpts)
|
|
42
|
+
});
|
|
43
|
+
return __spreadProps(__spreadValues({
|
|
44
|
+
minHeight: "48px",
|
|
45
|
+
paddingTop: "12px",
|
|
46
|
+
subitems: [],
|
|
47
|
+
shadowStyle: (opened, type) => (theme) => `box-shadow: ${opened || !itemWithoutShadows.includes(type) ? "inset 4px 0 0 0 #52A6EC" : "inset 4px 0 0 0 white"}`,
|
|
48
|
+
hasBorderBottom: false,
|
|
49
|
+
borderBottomMr: "0px"
|
|
50
|
+
}, props), {
|
|
51
|
+
item: itemWithDefaults
|
|
52
|
+
});
|
|
53
|
+
}, [props]);
|
|
54
|
+
return propsWithDefault;
|
|
55
|
+
};
|
|
56
|
+
export {
|
|
57
|
+
usePropsWithDefaults
|
|
58
|
+
};
|
|
59
|
+
//# sourceMappingURL=usePropsWithDefaults.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/exported-related/ItemRenderer/usePropsWithDefaults.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { useMemo } from 'react';\nimport { itemOptsT, ItemRendererT } from '../../index.d';\n\nconst itemDefaultProps: itemOptsT = {\n label: '',\n labelOverflow: 'truncate',\n selectable: true,\n focuseable: true,\n openable: false,\n closable: false,\n ariaLabel: '',\n ariaRole: 'menuitem',\n ariaLive: 'off',\n ariaExpanded: undefined,\n ariaDescribedBy: undefined,\n};\n\nconst itemWithoutShadows = ['ds-left-nav-item-header', 'ds-left-nav-item-link', 'ds-left-nav-item-submenu'];\n\n// Make use Item props with defaults\nexport const usePropsWithDefaults = (props: ItemRendererT): ItemRendererT => {\n const propsWithDefault = useMemo(() => {\n const itemWithDefaults = {\n CollapsedComponent: () => null,\n ...props.item,\n itemOpts: { ...itemDefaultProps, ...props.item.itemOpts },\n };\n return {\n minHeight: '48px',\n paddingTop: '12px',\n subitems: [],\n shadowStyle: (opened: boolean, type: string) => (theme: any) =>\n `box-shadow: ${\n opened || !itemWithoutShadows.includes(type) ? 'inset 4px 0 0 0 #52A6EC' : 'inset 4px 0 0 0 white'\n }`,\n hasBorderBottom: false,\n borderBottomMr: '0px',\n ...props,\n item: itemWithDefaults,\n };\n }, [props]);\n\n return propsWithDefault;\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA;ACAA;AAGA,MAAM,mBAA8B;AAAA,EAClC,OAAO;AAAA,EACP,eAAe;AAAA,EACf,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,UAAU;AAAA,EACV,WAAW;AAAA,EACX,UAAU;AAAA,EACV,UAAU;AAAA,EACV,cAAc;AAAA,EACd,iBAAiB;AAAA;AAGnB,MAAM,qBAAqB,CAAC,2BAA2B,yBAAyB;AAGzE,MAAM,uBAAuB,CAAC,UAAwC;AAC3E,QAAM,mBAAmB,QAAQ,MAAM;AACrC,UAAM,mBAAmB;AAAA,MACvB,oBAAoB,MAAM;AAAA,OACvB,MAAM,OAFc;AAAA,MAGvB,UAAU,kCAAK,mBAAqB,MAAM,KAAK;AAAA;AAEjD,WAAO;AAAA,MACL,WAAW;AAAA,MACX,YAAY;AAAA,MACZ,UAAU;AAAA,MACV,aAAa,CAAC,QAAiB,SAAiB,CAAC,UAC/C,eACE,UAAU,CAAC,mBAAmB,SAAS,QAAQ,4BAA4B;AAAA,MAE/E,iBAAiB;AAAA,MACjB,gBAAgB;AAAA,OACb,QAVE;AAAA,MAWL,MAAM;AAAA;AAAA,KAEP,CAAC;AAEJ,SAAO;AAAA;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import React2 from "react";
|
|
3
|
+
import {
|
|
4
|
+
AlertsSmallFill,
|
|
5
|
+
Notifications as InternalNotifications,
|
|
6
|
+
ExceptionsSmallFill,
|
|
7
|
+
MessagesSmallFill
|
|
8
|
+
} from "@elliemae/ds-icons";
|
|
9
|
+
import styled from "styled-components";
|
|
10
|
+
import Grid from "@elliemae/ds-grid";
|
|
11
|
+
const StyledIcon = styled.div`
|
|
12
|
+
display: flex;
|
|
13
|
+
flex-direction: column;
|
|
14
|
+
align-items: center;
|
|
15
|
+
`;
|
|
16
|
+
const Notifications = ({
|
|
17
|
+
exceptions = false,
|
|
18
|
+
alerts = false,
|
|
19
|
+
messages = false
|
|
20
|
+
}) => /* @__PURE__ */ React2.createElement(StyledIcon, null, /* @__PURE__ */ React2.createElement(InternalNotifications, {
|
|
21
|
+
size: "m",
|
|
22
|
+
color: ["brand-primary", 800],
|
|
23
|
+
"data-testid": "left-nav-notifications-icon"
|
|
24
|
+
}), (exceptions || alerts || messages) && /* @__PURE__ */ React2.createElement(Grid, {
|
|
25
|
+
cols: ["1fr", "1fr", "1fr"],
|
|
26
|
+
gutter: "xxxs",
|
|
27
|
+
mt: "2px"
|
|
28
|
+
}, /* @__PURE__ */ React2.createElement(Grid, {
|
|
29
|
+
width: "6px",
|
|
30
|
+
height: "6px",
|
|
31
|
+
"data-testid": "left-nav-exceptions-icon"
|
|
32
|
+
}, exceptions && /* @__PURE__ */ React2.createElement(ExceptionsSmallFill, {
|
|
33
|
+
width: "6px",
|
|
34
|
+
height: "6px",
|
|
35
|
+
color: ["warning", 900]
|
|
36
|
+
})), /* @__PURE__ */ React2.createElement(Grid, {
|
|
37
|
+
width: "6px",
|
|
38
|
+
height: "6px",
|
|
39
|
+
"data-testid": "left-nav-alerts-icon"
|
|
40
|
+
}, alerts && /* @__PURE__ */ React2.createElement(AlertsSmallFill, {
|
|
41
|
+
width: "6px",
|
|
42
|
+
height: "6px",
|
|
43
|
+
color: ["danger", 900]
|
|
44
|
+
})), /* @__PURE__ */ React2.createElement(Grid, {
|
|
45
|
+
width: "6px",
|
|
46
|
+
height: "6px",
|
|
47
|
+
"data-testid": "left-nav-messages-icon"
|
|
48
|
+
}, messages && /* @__PURE__ */ React2.createElement(MessagesSmallFill, {
|
|
49
|
+
width: "6px",
|
|
50
|
+
height: "6px",
|
|
51
|
+
color: ["success", 900]
|
|
52
|
+
}))));
|
|
53
|
+
var Notifications_default = Notifications;
|
|
54
|
+
export {
|
|
55
|
+
Notifications,
|
|
56
|
+
Notifications_default as default
|
|
57
|
+
};
|
|
58
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/exported-related/Notifications/index.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport {\n AlertsSmallFill,\n Notifications as InternalNotifications,\n ExceptionsSmallFill,\n MessagesSmallFill,\n} from '@elliemae/ds-icons';\nimport styled from 'styled-components';\nimport Grid from '@elliemae/ds-grid';\n\nconst StyledIcon = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n`;\n\ntype NotificationsProps = {\n exceptions?: boolean;\n alerts?: boolean;\n messages?: boolean;\n};\n\nexport const Notifications = ({\n exceptions = false,\n alerts = false,\n messages = false,\n}: NotificationsProps): JSX.Element => (\n <StyledIcon>\n <InternalNotifications size=\"m\" color={['brand-primary', 800]} data-testid=\"left-nav-notifications-icon\" />\n {(exceptions || alerts || messages) && (\n <Grid cols={['1fr', '1fr', '1fr']} gutter=\"xxxs\" mt=\"2px\">\n <Grid width=\"6px\" height=\"6px\" data-testid=\"left-nav-exceptions-icon\">\n {exceptions && <ExceptionsSmallFill width=\"6px\" height=\"6px\" color={['warning', 900]} />}\n </Grid>\n <Grid width=\"6px\" height=\"6px\" data-testid=\"left-nav-alerts-icon\">\n {alerts && <AlertsSmallFill width=\"6px\" height=\"6px\" color={['danger', 900]} />}\n </Grid>\n <Grid width=\"6px\" height=\"6px\" data-testid=\"left-nav-messages-icon\">\n {messages && <MessagesSmallFill width=\"6px\" height=\"6px\" color={['success', 900]} />}\n </Grid>\n </Grid>\n )}\n </StyledIcon>\n);\n\nexport default Notifications;\n"],
|
|
5
|
+
"mappings": "AAAA;ACAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA;AACA;AAEA,MAAM,aAAa,OAAO;AAAA;AAAA;AAAA;AAAA;AAYnB,MAAM,gBAAgB,CAAC;AAAA,EAC5B,aAAa;AAAA,EACb,SAAS;AAAA,EACT,WAAW;AAAA,MAEX,qCAAC,YAAD,MACE,qCAAC,uBAAD;AAAA,EAAuB,MAAK;AAAA,EAAI,OAAO,CAAC,iBAAiB;AAAA,EAAM,eAAY;AAAA,IACzE,eAAc,UAAU,aACxB,qCAAC,MAAD;AAAA,EAAM,MAAM,CAAC,OAAO,OAAO;AAAA,EAAQ,QAAO;AAAA,EAAO,IAAG;AAAA,GAClD,qCAAC,MAAD;AAAA,EAAM,OAAM;AAAA,EAAM,QAAO;AAAA,EAAM,eAAY;AAAA,GACxC,cAAc,qCAAC,qBAAD;AAAA,EAAqB,OAAM;AAAA,EAAM,QAAO;AAAA,EAAM,OAAO,CAAC,WAAW;AAAA,KAElF,qCAAC,MAAD;AAAA,EAAM,OAAM;AAAA,EAAM,QAAO;AAAA,EAAM,eAAY;AAAA,GACxC,UAAU,qCAAC,iBAAD;AAAA,EAAiB,OAAM;AAAA,EAAM,QAAO;AAAA,EAAM,OAAO,CAAC,UAAU;AAAA,KAEzE,qCAAC,MAAD;AAAA,EAAM,OAAM;AAAA,EAAM,QAAO;AAAA,EAAM,eAAY;AAAA,GACxC,YAAY,qCAAC,mBAAD;AAAA,EAAmB,OAAM;AAAA,EAAM,QAAO;AAAA,EAAM,OAAO,CAAC,WAAW;AAAA;AAOtF,IAAO,wBAAQ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|