@razorpay/blade 12.32.0 → 12.32.1
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/build/lib/native/components/SideNav/tokens.js +1 -1
- package/build/lib/native/components/SideNav/tokens.js.map +1 -1
- package/build/lib/web/development/components/SideNav/SideNavItems/SideNavItem.web.js +13 -1
- package/build/lib/web/development/components/SideNav/SideNavItems/SideNavItem.web.js.map +1 -1
- package/build/lib/web/development/components/SideNav/SideNavLevel.web.js +9 -5
- package/build/lib/web/development/components/SideNav/SideNavLevel.web.js.map +1 -1
- package/build/lib/web/development/components/SideNav/tokens.js +1 -1
- package/build/lib/web/development/components/SideNav/tokens.js.map +1 -1
- package/build/lib/web/production/components/SideNav/SideNavItems/SideNavItem.web.js +13 -1
- package/build/lib/web/production/components/SideNav/SideNavItems/SideNavItem.web.js.map +1 -1
- package/build/lib/web/production/components/SideNav/SideNavLevel.web.js +9 -5
- package/build/lib/web/production/components/SideNav/SideNavLevel.web.js.map +1 -1
- package/build/lib/web/production/components/SideNav/tokens.js +1 -1
- package/build/lib/web/production/components/SideNav/tokens.js.map +1 -1
- package/build/types/components/index.d.ts +5 -4
- package/build/types/components/index.native.d.ts +3 -2
- package/package.json +1 -1
|
@@ -6,7 +6,7 @@ import '@babel/runtime/helpers/slicedToArray';
|
|
|
6
6
|
import 'react';
|
|
7
7
|
import '../BladeProvider/useTheme.js';
|
|
8
8
|
|
|
9
|
-
var SIDE_NAV_EXPANDED_L1_WIDTH_XL=size['264'];var SIDE_NAV_EXPANDED_L1_WIDTH_BASE=size['
|
|
9
|
+
var SIDE_NAV_EXPANDED_L1_WIDTH_XL=size['264'];var SIDE_NAV_EXPANDED_L1_WIDTH_BASE=size['240'];
|
|
10
10
|
|
|
11
11
|
export { SIDE_NAV_EXPANDED_L1_WIDTH_BASE, SIDE_NAV_EXPANDED_L1_WIDTH_XL };
|
|
12
12
|
//# sourceMappingURL=tokens.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.js","sources":["../../../../../src/components/SideNav/tokens.ts"],"sourcesContent":["import type { Theme } from '~components/BladeProvider';\nimport { size } from '~tokens/global';\nimport { makeMotionTime } from '~utils';\n\nconst classes = {\n SHOW_WHEN_COLLAPSED: 'show-when-collapsed',\n HIDE_WHEN_COLLAPSED: 'hide-when-collapsed',\n COLLAPSED: 'collapsed',\n TRANSITIONING: 'transitioning',\n L1_ITEM_WRAPPER: 'l1-item-wrapper',\n SHOW_ON_LINK_HOVER: 'show-on-link-hover',\n STYLED_NAV_LINK: 'styled-nav-link',\n} as const;\n\nconst SKIP_NAV_ID = 'blade-side-nav-skip';\n\nconst COLLAPSED_L1_WIDTH = size['56'];\nconst SIDE_NAV_EXPANDED_L1_WIDTH_XL = size['264'];\nconst SIDE_NAV_EXPANDED_L1_WIDTH_BASE = size['
|
|
1
|
+
{"version":3,"file":"tokens.js","sources":["../../../../../src/components/SideNav/tokens.ts"],"sourcesContent":["import type { Theme } from '~components/BladeProvider';\nimport { size } from '~tokens/global';\nimport { makeMotionTime } from '~utils';\n\nconst classes = {\n SHOW_WHEN_COLLAPSED: 'show-when-collapsed',\n HIDE_WHEN_COLLAPSED: 'hide-when-collapsed',\n COLLAPSED: 'collapsed',\n TRANSITIONING: 'transitioning',\n L1_ITEM_WRAPPER: 'l1-item-wrapper',\n SHOW_ON_LINK_HOVER: 'show-on-link-hover',\n STYLED_NAV_LINK: 'styled-nav-link',\n} as const;\n\nconst SKIP_NAV_ID = 'blade-side-nav-skip';\n\nconst COLLAPSED_L1_WIDTH = size['56'];\nconst SIDE_NAV_EXPANDED_L1_WIDTH_XL = size['264'];\nconst SIDE_NAV_EXPANDED_L1_WIDTH_BASE = size['240'];\nconst NAV_ITEM_HEIGHT = size['40'];\n\n// This is the delay after which transition cleanup happens for rare cases where transitionEnd is not triggered\nconst TRANSITION_CLEANUP_DELAY = 300; // A little more than the duration of transition end\n\nconst HOVER_AGAIN_DELAY = 500;\n\n// Delay between mouse out from L1 and L1 collapsing again\nconst L1_EXIT_HOVER_DELAY = 150;\n\nconst getNavItemTransition = ({ motion }: Theme): string => {\n return `background-color ${makeMotionTime(motion.duration['2xquick'])} ${motion.easing.standard}`;\n};\n\nexport {\n SKIP_NAV_ID,\n classes,\n COLLAPSED_L1_WIDTH,\n SIDE_NAV_EXPANDED_L1_WIDTH_XL,\n SIDE_NAV_EXPANDED_L1_WIDTH_BASE,\n NAV_ITEM_HEIGHT,\n TRANSITION_CLEANUP_DELAY,\n HOVER_AGAIN_DELAY,\n getNavItemTransition,\n L1_EXIT_HOVER_DELAY,\n};\n"],"names":["SIDE_NAV_EXPANDED_L1_WIDTH_XL","size","SIDE_NAV_EXPANDED_L1_WIDTH_BASE"],"mappings":";;;;;;;;AAiBM,IAAAA,6BAA6B,CAAGC,IAAI,CAAC,KAAK,EAC1C,IAAAC,+BAA+B,CAAGD,IAAI,CAAC,KAAK;;;;"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
2
2
|
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
3
|
+
import 'react';
|
|
3
4
|
import styled from 'styled-components';
|
|
4
5
|
import { getNavItemTransition, NAV_ITEM_HEIGHT, classes } from '../tokens.js';
|
|
5
6
|
import '../../Box/index.js';
|
|
@@ -27,6 +28,7 @@ var SideNavItemContainer = /*#__PURE__*/styled(BaseBox).withConfig({
|
|
|
27
28
|
};
|
|
28
29
|
});
|
|
29
30
|
var SideNavItem = function SideNavItem(_ref) {
|
|
31
|
+
var _leading$name;
|
|
30
32
|
var leading = _ref.leading,
|
|
31
33
|
trailing = _ref.trailing,
|
|
32
34
|
title = _ref.title,
|
|
@@ -35,6 +37,8 @@ var SideNavItem = function SideNavItem(_ref) {
|
|
|
35
37
|
_ref$as = _ref.as,
|
|
36
38
|
as = _ref$as === void 0 ? 'div' : _ref$as,
|
|
37
39
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
40
|
+
var isIcon = typeof leading === 'function' && ((_leading$name = leading.name) === null || _leading$name === void 0 ? void 0 : _leading$name.endsWith('Icon'));
|
|
41
|
+
var Icon = isIcon ? leading : undefined;
|
|
38
42
|
return /*#__PURE__*/jsx(TooltipifyComponent, {
|
|
39
43
|
tooltip: tooltip,
|
|
40
44
|
children: /*#__PURE__*/jsxs(SideNavItemContainer, _objectSpread(_objectSpread({
|
|
@@ -53,7 +57,15 @@ var SideNavItem = function SideNavItem(_ref) {
|
|
|
53
57
|
display: "inline-flex",
|
|
54
58
|
alignItems: "center",
|
|
55
59
|
gap: "spacing.3",
|
|
56
|
-
children: [
|
|
60
|
+
children: [Icon ? /*#__PURE__*/jsx(BaseBox, {
|
|
61
|
+
display: "flex",
|
|
62
|
+
alignItems: "center",
|
|
63
|
+
paddingX: "spacing.2",
|
|
64
|
+
children: /*#__PURE__*/jsx(Icon, {
|
|
65
|
+
size: "medium",
|
|
66
|
+
color: "interactive.icon.gray.subtle"
|
|
67
|
+
})
|
|
68
|
+
}) : leading, /*#__PURE__*/jsx(BaseBox, {
|
|
57
69
|
className: classes.HIDE_WHEN_COLLAPSED,
|
|
58
70
|
children: /*#__PURE__*/jsx(Text, {
|
|
59
71
|
truncateAfterLines: 1,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SideNavItem.web.js","sources":["../../../../../../../src/components/SideNav/SideNavItems/SideNavItem.web.tsx"],"sourcesContent":["import styled from 'styled-components';\nimport { classes, getNavItemTransition, NAV_ITEM_HEIGHT } from '../tokens';\nimport type { SideNavItemProps } from '../types';\nimport { Box } from '~components/Box';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Text } from '~components/Typography';\nimport { makeSize } from '~utils';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\nimport { TooltipifyComponent } from '~utils/TooltipifyComponent';\n\nconst SideNavItemContainer = styled(BaseBox)((props) => {\n return {\n transition: getNavItemTransition(props.theme),\n };\n});\n\nconst SideNavItem = ({\n leading,\n trailing,\n title,\n backgroundColor,\n tooltip,\n as = 'div',\n ...rest\n}: SideNavItemProps): React.ReactElement => {\n return (\n <TooltipifyComponent tooltip={tooltip}>\n <SideNavItemContainer\n display=\"flex\"\n flexDirection=\"row\"\n justifyContent=\"space-between\"\n alignItems=\"center\"\n paddingX=\"spacing.3\"\n height={makeSize(NAV_ITEM_HEIGHT)}\n backgroundColor={backgroundColor}\n borderRadius=\"medium\"\n as={as}\n cursor={as === 'label' ? 'pointer' : undefined}\n {...makeAnalyticsAttribute(rest)}\n >\n <Box display=\"inline-flex\" alignItems=\"center\" gap=\"spacing.3\">\n {leading}\n <BaseBox className={classes.HIDE_WHEN_COLLAPSED}>\n <Text\n truncateAfterLines={1}\n weight=\"medium\"\n size=\"medium\"\n color=\"surface.text.gray.subtle\"\n >\n {title}\n </Text>\n </BaseBox>\n </Box>\n <BaseBox className={classes.HIDE_WHEN_COLLAPSED}>{trailing}</BaseBox>\n </SideNavItemContainer>\n </TooltipifyComponent>\n );\n};\n\nexport { SideNavItem };\n"],"names":["SideNavItemContainer","styled","BaseBox","withConfig","displayName","componentId","props","transition","getNavItemTransition","theme","SideNavItem","_ref","leading","trailing","title","backgroundColor","tooltip","_ref$as","as","rest","_objectWithoutProperties","_excluded","_jsx","TooltipifyComponent","children","_jsxs","_objectSpread","display","flexDirection","justifyContent","alignItems","paddingX","height","makeSize","NAV_ITEM_HEIGHT","borderRadius","cursor","
|
|
1
|
+
{"version":3,"file":"SideNavItem.web.js","sources":["../../../../../../../src/components/SideNav/SideNavItems/SideNavItem.web.tsx"],"sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\nimport { classes, getNavItemTransition, NAV_ITEM_HEIGHT } from '../tokens';\nimport type { SideNavItemProps } from '../types';\nimport { Box } from '~components/Box';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Text } from '~components/Typography';\nimport { makeSize } from '~utils';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\nimport { TooltipifyComponent } from '~utils/TooltipifyComponent';\nimport type { IconComponent } from '~components/Icons';\n\nconst SideNavItemContainer = styled(BaseBox)((props) => {\n return {\n transition: getNavItemTransition(props.theme),\n };\n});\n\nconst SideNavItem = ({\n leading,\n trailing,\n title,\n backgroundColor,\n tooltip,\n as = 'div',\n ...rest\n}: SideNavItemProps): React.ReactElement => {\n const isIcon = typeof leading === 'function' && leading.name?.endsWith('Icon');\n const Icon: IconComponent | undefined = isIcon ? leading : undefined;\n\n return (\n <TooltipifyComponent tooltip={tooltip}>\n <SideNavItemContainer\n display=\"flex\"\n flexDirection=\"row\"\n justifyContent=\"space-between\"\n alignItems=\"center\"\n paddingX=\"spacing.3\"\n height={makeSize(NAV_ITEM_HEIGHT)}\n backgroundColor={backgroundColor}\n borderRadius=\"medium\"\n as={as}\n cursor={as === 'label' ? 'pointer' : undefined}\n {...makeAnalyticsAttribute(rest)}\n >\n <Box display=\"inline-flex\" alignItems=\"center\" gap=\"spacing.3\">\n {Icon ? (\n <BaseBox display=\"flex\" alignItems=\"center\" paddingX=\"spacing.2\">\n <Icon size=\"medium\" color=\"interactive.icon.gray.subtle\" />\n </BaseBox>\n ) : (\n (leading as React.ReactNode)\n )}\n <BaseBox className={classes.HIDE_WHEN_COLLAPSED}>\n <Text\n truncateAfterLines={1}\n weight=\"medium\"\n size=\"medium\"\n color=\"surface.text.gray.subtle\"\n >\n {title}\n </Text>\n </BaseBox>\n </Box>\n <BaseBox className={classes.HIDE_WHEN_COLLAPSED}>{trailing}</BaseBox>\n </SideNavItemContainer>\n </TooltipifyComponent>\n );\n};\n\nexport { SideNavItem };\n"],"names":["SideNavItemContainer","styled","BaseBox","withConfig","displayName","componentId","props","transition","getNavItemTransition","theme","SideNavItem","_ref","_leading$name","leading","trailing","title","backgroundColor","tooltip","_ref$as","as","rest","_objectWithoutProperties","_excluded","isIcon","name","endsWith","Icon","undefined","_jsx","TooltipifyComponent","children","_jsxs","_objectSpread","display","flexDirection","justifyContent","alignItems","paddingX","height","makeSize","NAV_ITEM_HEIGHT","borderRadius","cursor","makeAnalyticsAttribute","Box","gap","size","color","className","classes","HIDE_WHEN_COLLAPSED","Text","truncateAfterLines","weight"],"mappings":"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"}
|
|
@@ -10,12 +10,14 @@ import { makeSize } from '../../utils/makeSize/makeSize.js';
|
|
|
10
10
|
import { Text } from '../Typography/Text/Text.js';
|
|
11
11
|
|
|
12
12
|
var SideNavLevel = function SideNavLevel(_ref) {
|
|
13
|
-
var children = _ref.children
|
|
13
|
+
var children = _ref.children,
|
|
14
|
+
titleSuffix = _ref.titleSuffix;
|
|
14
15
|
var _useNavLink = useNavLink(),
|
|
15
16
|
_prevLevel = _useNavLink.level,
|
|
16
17
|
headingTitle = _useNavLink.title;
|
|
17
18
|
var prevLevel = _prevLevel !== null && _prevLevel !== void 0 ? _prevLevel : 0;
|
|
18
19
|
var currentLevel = prevLevel + 1;
|
|
20
|
+
var hasTrailing = !!titleSuffix;
|
|
19
21
|
return /*#__PURE__*/jsxs(BaseBox, {
|
|
20
22
|
marginLeft: currentLevel === 3 ? {
|
|
21
23
|
base: 'spacing.7',
|
|
@@ -39,21 +41,23 @@ var SideNavLevel = function SideNavLevel(_ref) {
|
|
|
39
41
|
height: "100%",
|
|
40
42
|
display: "flex",
|
|
41
43
|
flexDirection: "column",
|
|
42
|
-
children: [currentLevel === 2 && headingTitle ? /*#__PURE__*/
|
|
44
|
+
children: [currentLevel === 2 && headingTitle ? /*#__PURE__*/jsxs(BaseBox
|
|
43
45
|
// In mobile, we use DrawerHeader for this heading
|
|
44
46
|
, {
|
|
45
47
|
display: {
|
|
46
48
|
base: 'none',
|
|
47
|
-
m: 'block'
|
|
49
|
+
m: hasTrailing ? 'flex' : 'block'
|
|
48
50
|
},
|
|
49
51
|
padding: "spacing.4",
|
|
50
52
|
borderBottomWidth: "thin",
|
|
51
53
|
borderBottomColor: "surface.border.gray.muted",
|
|
52
|
-
|
|
54
|
+
gap: hasTrailing ? 'spacing.2' : 'spacing.0',
|
|
55
|
+
alignItems: hasTrailing ? 'center' : undefined,
|
|
56
|
+
children: [/*#__PURE__*/jsx(Text, {
|
|
53
57
|
size: "large",
|
|
54
58
|
weight: "semibold",
|
|
55
59
|
children: headingTitle
|
|
56
|
-
})
|
|
60
|
+
}), titleSuffix]
|
|
57
61
|
}) : null, /*#__PURE__*/jsx(BaseBox, {
|
|
58
62
|
padding: {
|
|
59
63
|
base: 'spacing.0',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SideNavLevel.web.js","sources":["../../../../../../src/components/SideNav/SideNavLevel.web.tsx"],"sourcesContent":["import React from 'react';\nimport { useNavLink } from './SideNavContext';\nimport { COLLAPSED_L1_WIDTH } from './tokens';\nimport type { SideNavLevelProps } from './types';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Text } from '~components/Typography';\nimport { makeSize } from '~utils';\n\nconst SideNavLevel = ({ children }: SideNavLevelProps): React.ReactElement => {\n const { level: _prevLevel, title: headingTitle } = useNavLink();\n const prevLevel = _prevLevel ?? 0;\n const currentLevel = prevLevel + 1;\n return (\n <BaseBox\n marginLeft={\n currentLevel === 3\n ? { base: 'spacing.7', m: 'spacing.6' }\n : { base: 'spacing.0', m: makeSize(COLLAPSED_L1_WIDTH) }\n }\n // When we're in level 2 or 3, we want to stop propagation of hover from its items.\n // L1 is only expected to open / close on hover of L1 menu and L1 items\n onMouseOver={(e) => {\n e.stopPropagation();\n }}\n // Although we don't use `onMouseOut` on SideNav, keeping it here in case we start using it in future as stopping propagation in child\n // is expected behaviour for us. Checkout https://react.dev/reference/react-dom/createPortal#caveats\n onMouseOut={(e) => {\n e.stopPropagation();\n }}\n height=\"100%\"\n display=\"flex\"\n flexDirection=\"column\"\n >\n {currentLevel === 2 && headingTitle ? (\n <BaseBox\n // In mobile, we use DrawerHeader for this heading\n display={{ base: 'none', m: 'block' }}\n padding=\"spacing.4\"\n borderBottomWidth=\"thin\"\n borderBottomColor=\"surface.border.gray.muted\"\n >\n <Text size=\"large\" weight=\"semibold\">\n {headingTitle}\n </Text>\n </BaseBox>\n ) : null}\n <BaseBox padding={{ base: 'spacing.0', m: 'spacing.3' }} overflowY=\"auto\">\n {children}\n </BaseBox>\n </BaseBox>\n );\n};\n\nexport { SideNavLevel };\n"],"names":["SideNavLevel","_ref","children","_useNavLink","useNavLink","_prevLevel","level","headingTitle","title","prevLevel","currentLevel","_jsxs","BaseBox","marginLeft","base","m","makeSize","COLLAPSED_L1_WIDTH","onMouseOver","e","stopPropagation","onMouseOut","height","display","flexDirection","
|
|
1
|
+
{"version":3,"file":"SideNavLevel.web.js","sources":["../../../../../../src/components/SideNav/SideNavLevel.web.tsx"],"sourcesContent":["import React from 'react';\nimport { useNavLink } from './SideNavContext';\nimport { COLLAPSED_L1_WIDTH } from './tokens';\nimport type { SideNavLevelProps } from './types';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Text } from '~components/Typography';\nimport { makeSize } from '~utils';\n\nconst SideNavLevel = ({ children, titleSuffix }: SideNavLevelProps): React.ReactElement => {\n const { level: _prevLevel, title: headingTitle } = useNavLink();\n\n const prevLevel = _prevLevel ?? 0;\n const currentLevel = prevLevel + 1;\n const hasTrailing = !!titleSuffix;\n return (\n <BaseBox\n marginLeft={\n currentLevel === 3\n ? { base: 'spacing.7', m: 'spacing.6' }\n : { base: 'spacing.0', m: makeSize(COLLAPSED_L1_WIDTH) }\n }\n // When we're in level 2 or 3, we want to stop propagation of hover from its items.\n // L1 is only expected to open / close on hover of L1 menu and L1 items\n onMouseOver={(e) => {\n e.stopPropagation();\n }}\n // Although we don't use `onMouseOut` on SideNav, keeping it here in case we start using it in future as stopping propagation in child\n // is expected behaviour for us. Checkout https://react.dev/reference/react-dom/createPortal#caveats\n onMouseOut={(e) => {\n e.stopPropagation();\n }}\n height=\"100%\"\n display=\"flex\"\n flexDirection=\"column\"\n >\n {currentLevel === 2 && headingTitle ? (\n <BaseBox\n // In mobile, we use DrawerHeader for this heading\n display={{ base: 'none', m: hasTrailing ? 'flex' : 'block' }}\n padding=\"spacing.4\"\n borderBottomWidth=\"thin\"\n borderBottomColor=\"surface.border.gray.muted\"\n gap={hasTrailing ? 'spacing.2' : 'spacing.0'}\n alignItems={hasTrailing ? 'center' : undefined}\n >\n <Text size=\"large\" weight=\"semibold\">\n {headingTitle}\n </Text>\n {titleSuffix}\n </BaseBox>\n ) : null}\n <BaseBox padding={{ base: 'spacing.0', m: 'spacing.3' }} overflowY=\"auto\">\n {children}\n </BaseBox>\n </BaseBox>\n );\n};\n\nexport { SideNavLevel };\n"],"names":["SideNavLevel","_ref","children","titleSuffix","_useNavLink","useNavLink","_prevLevel","level","headingTitle","title","prevLevel","currentLevel","hasTrailing","_jsxs","BaseBox","marginLeft","base","m","makeSize","COLLAPSED_L1_WIDTH","onMouseOver","e","stopPropagation","onMouseOut","height","display","flexDirection","padding","borderBottomWidth","borderBottomColor","gap","alignItems","undefined","_jsx","Text","size","weight","overflowY"],"mappings":";;;;;;;;;;;AAQA,IAAMA,YAAY,GAAG,SAAfA,YAAYA,CAAAC,IAAA,EAAyE;AAAA,EAAA,IAAnEC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IAAEC,WAAW,GAAAF,IAAA,CAAXE,WAAW,CAAA;AAC3C,EAAA,IAAAC,WAAA,GAAmDC,UAAU,EAAE;IAAhDC,UAAU,GAAAF,WAAA,CAAjBG,KAAK;IAAqBC,YAAY,GAAAJ,WAAA,CAAnBK,KAAK,CAAA;EAEhC,IAAMC,SAAS,GAAGJ,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAVA,KAAAA,CAAAA,GAAAA,UAAU,GAAI,CAAC,CAAA;AACjC,EAAA,IAAMK,YAAY,GAAGD,SAAS,GAAG,CAAC,CAAA;AAClC,EAAA,IAAME,WAAW,GAAG,CAAC,CAACT,WAAW,CAAA;EACjC,oBACEU,IAAA,CAACC,OAAO,EAAA;AACNC,IAAAA,UAAU,EACRJ,YAAY,KAAK,CAAC,GACd;AAAEK,MAAAA,IAAI,EAAE,WAAW;AAAEC,MAAAA,CAAC,EAAE,WAAA;AAAY,KAAC,GACrC;AAAED,MAAAA,IAAI,EAAE,WAAW;MAAEC,CAAC,EAAEC,QAAQ,CAACC,kBAAkB,CAAA;AAAE,KAAA;AAE3D;AACA;AAAA;AACAC,IAAAA,WAAW,EAAE,SAAAA,WAACC,CAAAA,CAAC,EAAK;MAClBA,CAAC,CAACC,eAAe,EAAE,CAAA;AACrB,KAAA;AACA;AACA;AAAA;AACAC,IAAAA,UAAU,EAAE,SAAAA,UAACF,CAAAA,CAAC,EAAK;MACjBA,CAAC,CAACC,eAAe,EAAE,CAAA;KACnB;AACFE,IAAAA,MAAM,EAAC,MAAM;AACbC,IAAAA,OAAO,EAAC,MAAM;AACdC,IAAAA,aAAa,EAAC,QAAQ;IAAAxB,QAAA,EAAA,CAErBS,YAAY,KAAK,CAAC,IAAIH,YAAY,gBACjCK,IAAA,CAACC,OAAAA;AACC;AAAA,MAAA;AACAW,MAAAA,OAAO,EAAE;AAAET,QAAAA,IAAI,EAAE,MAAM;AAAEC,QAAAA,CAAC,EAAEL,WAAW,GAAG,MAAM,GAAG,OAAA;OAAU;AAC7De,MAAAA,OAAO,EAAC,WAAW;AACnBC,MAAAA,iBAAiB,EAAC,MAAM;AACxBC,MAAAA,iBAAiB,EAAC,2BAA2B;AAC7CC,MAAAA,GAAG,EAAElB,WAAW,GAAG,WAAW,GAAG,WAAY;AAC7CmB,MAAAA,UAAU,EAAEnB,WAAW,GAAG,QAAQ,GAAGoB,SAAU;MAAA9B,QAAA,EAAA,cAE/C+B,GAAA,CAACC,IAAI,EAAA;AAACC,QAAAA,IAAI,EAAC,OAAO;AAACC,QAAAA,MAAM,EAAC,UAAU;AAAAlC,QAAAA,QAAA,EACjCM,YAAAA;OACG,CAAC,EACNL,WAAW,CAAA;AAAA,KACL,CAAC,GACR,IAAI,eACR8B,GAAA,CAACnB,OAAO,EAAA;AAACa,MAAAA,OAAO,EAAE;AAAEX,QAAAA,IAAI,EAAE,WAAW;AAAEC,QAAAA,CAAC,EAAE,WAAA;OAAc;AAACoB,MAAAA,SAAS,EAAC,MAAM;AAAAnC,MAAAA,QAAA,EACtEA,QAAAA;AAAQ,KACF,CAAC,CAAA;AAAA,GACH,CAAC,CAAA;AAEd;;;;"}
|
|
@@ -15,7 +15,7 @@ var classes = {
|
|
|
15
15
|
var SKIP_NAV_ID = 'blade-side-nav-skip';
|
|
16
16
|
var COLLAPSED_L1_WIDTH = size['56'];
|
|
17
17
|
var SIDE_NAV_EXPANDED_L1_WIDTH_XL = size['264'];
|
|
18
|
-
var SIDE_NAV_EXPANDED_L1_WIDTH_BASE = size['
|
|
18
|
+
var SIDE_NAV_EXPANDED_L1_WIDTH_BASE = size['240'];
|
|
19
19
|
var NAV_ITEM_HEIGHT = size['40'];
|
|
20
20
|
|
|
21
21
|
// This is the delay after which transition cleanup happens for rare cases where transitionEnd is not triggered
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.js","sources":["../../../../../../src/components/SideNav/tokens.ts"],"sourcesContent":["import type { Theme } from '~components/BladeProvider';\nimport { size } from '~tokens/global';\nimport { makeMotionTime } from '~utils';\n\nconst classes = {\n SHOW_WHEN_COLLAPSED: 'show-when-collapsed',\n HIDE_WHEN_COLLAPSED: 'hide-when-collapsed',\n COLLAPSED: 'collapsed',\n TRANSITIONING: 'transitioning',\n L1_ITEM_WRAPPER: 'l1-item-wrapper',\n SHOW_ON_LINK_HOVER: 'show-on-link-hover',\n STYLED_NAV_LINK: 'styled-nav-link',\n} as const;\n\nconst SKIP_NAV_ID = 'blade-side-nav-skip';\n\nconst COLLAPSED_L1_WIDTH = size['56'];\nconst SIDE_NAV_EXPANDED_L1_WIDTH_XL = size['264'];\nconst SIDE_NAV_EXPANDED_L1_WIDTH_BASE = size['
|
|
1
|
+
{"version":3,"file":"tokens.js","sources":["../../../../../../src/components/SideNav/tokens.ts"],"sourcesContent":["import type { Theme } from '~components/BladeProvider';\nimport { size } from '~tokens/global';\nimport { makeMotionTime } from '~utils';\n\nconst classes = {\n SHOW_WHEN_COLLAPSED: 'show-when-collapsed',\n HIDE_WHEN_COLLAPSED: 'hide-when-collapsed',\n COLLAPSED: 'collapsed',\n TRANSITIONING: 'transitioning',\n L1_ITEM_WRAPPER: 'l1-item-wrapper',\n SHOW_ON_LINK_HOVER: 'show-on-link-hover',\n STYLED_NAV_LINK: 'styled-nav-link',\n} as const;\n\nconst SKIP_NAV_ID = 'blade-side-nav-skip';\n\nconst COLLAPSED_L1_WIDTH = size['56'];\nconst SIDE_NAV_EXPANDED_L1_WIDTH_XL = size['264'];\nconst SIDE_NAV_EXPANDED_L1_WIDTH_BASE = size['240'];\nconst NAV_ITEM_HEIGHT = size['40'];\n\n// This is the delay after which transition cleanup happens for rare cases where transitionEnd is not triggered\nconst TRANSITION_CLEANUP_DELAY = 300; // A little more than the duration of transition end\n\nconst HOVER_AGAIN_DELAY = 500;\n\n// Delay between mouse out from L1 and L1 collapsing again\nconst L1_EXIT_HOVER_DELAY = 150;\n\nconst getNavItemTransition = ({ motion }: Theme): string => {\n return `background-color ${makeMotionTime(motion.duration['2xquick'])} ${motion.easing.standard}`;\n};\n\nexport {\n SKIP_NAV_ID,\n classes,\n COLLAPSED_L1_WIDTH,\n SIDE_NAV_EXPANDED_L1_WIDTH_XL,\n SIDE_NAV_EXPANDED_L1_WIDTH_BASE,\n NAV_ITEM_HEIGHT,\n TRANSITION_CLEANUP_DELAY,\n HOVER_AGAIN_DELAY,\n getNavItemTransition,\n L1_EXIT_HOVER_DELAY,\n};\n"],"names":["classes","SHOW_WHEN_COLLAPSED","HIDE_WHEN_COLLAPSED","COLLAPSED","TRANSITIONING","L1_ITEM_WRAPPER","SHOW_ON_LINK_HOVER","STYLED_NAV_LINK","SKIP_NAV_ID","COLLAPSED_L1_WIDTH","size","SIDE_NAV_EXPANDED_L1_WIDTH_XL","SIDE_NAV_EXPANDED_L1_WIDTH_BASE","NAV_ITEM_HEIGHT","TRANSITION_CLEANUP_DELAY","HOVER_AGAIN_DELAY","L1_EXIT_HOVER_DELAY","getNavItemTransition","_ref","motion","concat","makeMotionTime","duration","easing","standard"],"mappings":";;;;;AAIA,IAAMA,OAAO,GAAG;AACdC,EAAAA,mBAAmB,EAAE,qBAAqB;AAC1CC,EAAAA,mBAAmB,EAAE,qBAAqB;AAC1CC,EAAAA,SAAS,EAAE,WAAW;AACtBC,EAAAA,aAAa,EAAE,eAAe;AAC9BC,EAAAA,eAAe,EAAE,iBAAiB;AAClCC,EAAAA,kBAAkB,EAAE,oBAAoB;AACxCC,EAAAA,eAAe,EAAE,iBAAA;AACnB,EAAU;AAEJC,IAAAA,WAAW,GAAG,sBAAqB;AAEzC,IAAMC,kBAAkB,GAAGC,IAAI,CAAC,IAAI,EAAC;AACrC,IAAMC,6BAA6B,GAAGD,IAAI,CAAC,KAAK,EAAC;AACjD,IAAME,+BAA+B,GAAGF,IAAI,CAAC,KAAK,EAAC;AACnD,IAAMG,eAAe,GAAGH,IAAI,CAAC,IAAI,EAAC;;AAElC;AACA,IAAMI,wBAAwB,GAAG,IAAI;;AAE/BC,IAAAA,iBAAiB,GAAG,IAAG;;AAE7B;AACMC,IAAAA,mBAAmB,GAAG,IAAG;AAE/B,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAAC,IAAA,EAAkC;AAAA,EAAA,IAA5BC,MAAM,GAAAD,IAAA,CAANC,MAAM,CAAA;AACpC,EAAA,OAAA,mBAAA,CAAAC,MAAA,CAA2BC,cAAc,CAACF,MAAM,CAACG,QAAQ,CAAC,SAAS,CAAC,CAAC,OAAAF,MAAA,CAAID,MAAM,CAACI,MAAM,CAACC,QAAQ,CAAA,CAAA;AACjG;;;;"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
2
2
|
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
3
|
+
import 'react';
|
|
3
4
|
import styled from 'styled-components';
|
|
4
5
|
import { getNavItemTransition, NAV_ITEM_HEIGHT, classes } from '../tokens.js';
|
|
5
6
|
import '../../Box/index.js';
|
|
@@ -27,6 +28,7 @@ var SideNavItemContainer = /*#__PURE__*/styled(BaseBox).withConfig({
|
|
|
27
28
|
};
|
|
28
29
|
});
|
|
29
30
|
var SideNavItem = function SideNavItem(_ref) {
|
|
31
|
+
var _leading$name;
|
|
30
32
|
var leading = _ref.leading,
|
|
31
33
|
trailing = _ref.trailing,
|
|
32
34
|
title = _ref.title,
|
|
@@ -35,6 +37,8 @@ var SideNavItem = function SideNavItem(_ref) {
|
|
|
35
37
|
_ref$as = _ref.as,
|
|
36
38
|
as = _ref$as === void 0 ? 'div' : _ref$as,
|
|
37
39
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
40
|
+
var isIcon = typeof leading === 'function' && ((_leading$name = leading.name) === null || _leading$name === void 0 ? void 0 : _leading$name.endsWith('Icon'));
|
|
41
|
+
var Icon = isIcon ? leading : undefined;
|
|
38
42
|
return /*#__PURE__*/jsx(TooltipifyComponent, {
|
|
39
43
|
tooltip: tooltip,
|
|
40
44
|
children: /*#__PURE__*/jsxs(SideNavItemContainer, _objectSpread(_objectSpread({
|
|
@@ -53,7 +57,15 @@ var SideNavItem = function SideNavItem(_ref) {
|
|
|
53
57
|
display: "inline-flex",
|
|
54
58
|
alignItems: "center",
|
|
55
59
|
gap: "spacing.3",
|
|
56
|
-
children: [
|
|
60
|
+
children: [Icon ? /*#__PURE__*/jsx(BaseBox, {
|
|
61
|
+
display: "flex",
|
|
62
|
+
alignItems: "center",
|
|
63
|
+
paddingX: "spacing.2",
|
|
64
|
+
children: /*#__PURE__*/jsx(Icon, {
|
|
65
|
+
size: "medium",
|
|
66
|
+
color: "interactive.icon.gray.subtle"
|
|
67
|
+
})
|
|
68
|
+
}) : leading, /*#__PURE__*/jsx(BaseBox, {
|
|
57
69
|
className: classes.HIDE_WHEN_COLLAPSED,
|
|
58
70
|
children: /*#__PURE__*/jsx(Text, {
|
|
59
71
|
truncateAfterLines: 1,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SideNavItem.web.js","sources":["../../../../../../../src/components/SideNav/SideNavItems/SideNavItem.web.tsx"],"sourcesContent":["import styled from 'styled-components';\nimport { classes, getNavItemTransition, NAV_ITEM_HEIGHT } from '../tokens';\nimport type { SideNavItemProps } from '../types';\nimport { Box } from '~components/Box';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Text } from '~components/Typography';\nimport { makeSize } from '~utils';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\nimport { TooltipifyComponent } from '~utils/TooltipifyComponent';\n\nconst SideNavItemContainer = styled(BaseBox)((props) => {\n return {\n transition: getNavItemTransition(props.theme),\n };\n});\n\nconst SideNavItem = ({\n leading,\n trailing,\n title,\n backgroundColor,\n tooltip,\n as = 'div',\n ...rest\n}: SideNavItemProps): React.ReactElement => {\n return (\n <TooltipifyComponent tooltip={tooltip}>\n <SideNavItemContainer\n display=\"flex\"\n flexDirection=\"row\"\n justifyContent=\"space-between\"\n alignItems=\"center\"\n paddingX=\"spacing.3\"\n height={makeSize(NAV_ITEM_HEIGHT)}\n backgroundColor={backgroundColor}\n borderRadius=\"medium\"\n as={as}\n cursor={as === 'label' ? 'pointer' : undefined}\n {...makeAnalyticsAttribute(rest)}\n >\n <Box display=\"inline-flex\" alignItems=\"center\" gap=\"spacing.3\">\n {leading}\n <BaseBox className={classes.HIDE_WHEN_COLLAPSED}>\n <Text\n truncateAfterLines={1}\n weight=\"medium\"\n size=\"medium\"\n color=\"surface.text.gray.subtle\"\n >\n {title}\n </Text>\n </BaseBox>\n </Box>\n <BaseBox className={classes.HIDE_WHEN_COLLAPSED}>{trailing}</BaseBox>\n </SideNavItemContainer>\n </TooltipifyComponent>\n );\n};\n\nexport { SideNavItem };\n"],"names":["SideNavItemContainer","styled","BaseBox","withConfig","displayName","componentId","props","transition","getNavItemTransition","theme","SideNavItem","_ref","leading","trailing","title","backgroundColor","tooltip","_ref$as","as","rest","_objectWithoutProperties","_excluded","_jsx","TooltipifyComponent","children","_jsxs","_objectSpread","display","flexDirection","justifyContent","alignItems","paddingX","height","makeSize","NAV_ITEM_HEIGHT","borderRadius","cursor","
|
|
1
|
+
{"version":3,"file":"SideNavItem.web.js","sources":["../../../../../../../src/components/SideNav/SideNavItems/SideNavItem.web.tsx"],"sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\nimport { classes, getNavItemTransition, NAV_ITEM_HEIGHT } from '../tokens';\nimport type { SideNavItemProps } from '../types';\nimport { Box } from '~components/Box';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Text } from '~components/Typography';\nimport { makeSize } from '~utils';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\nimport { TooltipifyComponent } from '~utils/TooltipifyComponent';\nimport type { IconComponent } from '~components/Icons';\n\nconst SideNavItemContainer = styled(BaseBox)((props) => {\n return {\n transition: getNavItemTransition(props.theme),\n };\n});\n\nconst SideNavItem = ({\n leading,\n trailing,\n title,\n backgroundColor,\n tooltip,\n as = 'div',\n ...rest\n}: SideNavItemProps): React.ReactElement => {\n const isIcon = typeof leading === 'function' && leading.name?.endsWith('Icon');\n const Icon: IconComponent | undefined = isIcon ? leading : undefined;\n\n return (\n <TooltipifyComponent tooltip={tooltip}>\n <SideNavItemContainer\n display=\"flex\"\n flexDirection=\"row\"\n justifyContent=\"space-between\"\n alignItems=\"center\"\n paddingX=\"spacing.3\"\n height={makeSize(NAV_ITEM_HEIGHT)}\n backgroundColor={backgroundColor}\n borderRadius=\"medium\"\n as={as}\n cursor={as === 'label' ? 'pointer' : undefined}\n {...makeAnalyticsAttribute(rest)}\n >\n <Box display=\"inline-flex\" alignItems=\"center\" gap=\"spacing.3\">\n {Icon ? (\n <BaseBox display=\"flex\" alignItems=\"center\" paddingX=\"spacing.2\">\n <Icon size=\"medium\" color=\"interactive.icon.gray.subtle\" />\n </BaseBox>\n ) : (\n (leading as React.ReactNode)\n )}\n <BaseBox className={classes.HIDE_WHEN_COLLAPSED}>\n <Text\n truncateAfterLines={1}\n weight=\"medium\"\n size=\"medium\"\n color=\"surface.text.gray.subtle\"\n >\n {title}\n </Text>\n </BaseBox>\n </Box>\n <BaseBox className={classes.HIDE_WHEN_COLLAPSED}>{trailing}</BaseBox>\n </SideNavItemContainer>\n </TooltipifyComponent>\n );\n};\n\nexport { SideNavItem };\n"],"names":["SideNavItemContainer","styled","BaseBox","withConfig","displayName","componentId","props","transition","getNavItemTransition","theme","SideNavItem","_ref","_leading$name","leading","trailing","title","backgroundColor","tooltip","_ref$as","as","rest","_objectWithoutProperties","_excluded","isIcon","name","endsWith","Icon","undefined","_jsx","TooltipifyComponent","children","_jsxs","_objectSpread","display","flexDirection","justifyContent","alignItems","paddingX","height","makeSize","NAV_ITEM_HEIGHT","borderRadius","cursor","makeAnalyticsAttribute","Box","gap","size","color","className","classes","HIDE_WHEN_COLLAPSED","Text","truncateAfterLines","weight"],"mappings":"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"}
|
|
@@ -10,12 +10,14 @@ import { makeSize } from '../../utils/makeSize/makeSize.js';
|
|
|
10
10
|
import { Text } from '../Typography/Text/Text.js';
|
|
11
11
|
|
|
12
12
|
var SideNavLevel = function SideNavLevel(_ref) {
|
|
13
|
-
var children = _ref.children
|
|
13
|
+
var children = _ref.children,
|
|
14
|
+
titleSuffix = _ref.titleSuffix;
|
|
14
15
|
var _useNavLink = useNavLink(),
|
|
15
16
|
_prevLevel = _useNavLink.level,
|
|
16
17
|
headingTitle = _useNavLink.title;
|
|
17
18
|
var prevLevel = _prevLevel !== null && _prevLevel !== void 0 ? _prevLevel : 0;
|
|
18
19
|
var currentLevel = prevLevel + 1;
|
|
20
|
+
var hasTrailing = !!titleSuffix;
|
|
19
21
|
return /*#__PURE__*/jsxs(BaseBox, {
|
|
20
22
|
marginLeft: currentLevel === 3 ? {
|
|
21
23
|
base: 'spacing.7',
|
|
@@ -39,21 +41,23 @@ var SideNavLevel = function SideNavLevel(_ref) {
|
|
|
39
41
|
height: "100%",
|
|
40
42
|
display: "flex",
|
|
41
43
|
flexDirection: "column",
|
|
42
|
-
children: [currentLevel === 2 && headingTitle ? /*#__PURE__*/
|
|
44
|
+
children: [currentLevel === 2 && headingTitle ? /*#__PURE__*/jsxs(BaseBox
|
|
43
45
|
// In mobile, we use DrawerHeader for this heading
|
|
44
46
|
, {
|
|
45
47
|
display: {
|
|
46
48
|
base: 'none',
|
|
47
|
-
m: 'block'
|
|
49
|
+
m: hasTrailing ? 'flex' : 'block'
|
|
48
50
|
},
|
|
49
51
|
padding: "spacing.4",
|
|
50
52
|
borderBottomWidth: "thin",
|
|
51
53
|
borderBottomColor: "surface.border.gray.muted",
|
|
52
|
-
|
|
54
|
+
gap: hasTrailing ? 'spacing.2' : 'spacing.0',
|
|
55
|
+
alignItems: hasTrailing ? 'center' : undefined,
|
|
56
|
+
children: [/*#__PURE__*/jsx(Text, {
|
|
53
57
|
size: "large",
|
|
54
58
|
weight: "semibold",
|
|
55
59
|
children: headingTitle
|
|
56
|
-
})
|
|
60
|
+
}), titleSuffix]
|
|
57
61
|
}) : null, /*#__PURE__*/jsx(BaseBox, {
|
|
58
62
|
padding: {
|
|
59
63
|
base: 'spacing.0',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SideNavLevel.web.js","sources":["../../../../../../src/components/SideNav/SideNavLevel.web.tsx"],"sourcesContent":["import React from 'react';\nimport { useNavLink } from './SideNavContext';\nimport { COLLAPSED_L1_WIDTH } from './tokens';\nimport type { SideNavLevelProps } from './types';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Text } from '~components/Typography';\nimport { makeSize } from '~utils';\n\nconst SideNavLevel = ({ children }: SideNavLevelProps): React.ReactElement => {\n const { level: _prevLevel, title: headingTitle } = useNavLink();\n const prevLevel = _prevLevel ?? 0;\n const currentLevel = prevLevel + 1;\n return (\n <BaseBox\n marginLeft={\n currentLevel === 3\n ? { base: 'spacing.7', m: 'spacing.6' }\n : { base: 'spacing.0', m: makeSize(COLLAPSED_L1_WIDTH) }\n }\n // When we're in level 2 or 3, we want to stop propagation of hover from its items.\n // L1 is only expected to open / close on hover of L1 menu and L1 items\n onMouseOver={(e) => {\n e.stopPropagation();\n }}\n // Although we don't use `onMouseOut` on SideNav, keeping it here in case we start using it in future as stopping propagation in child\n // is expected behaviour for us. Checkout https://react.dev/reference/react-dom/createPortal#caveats\n onMouseOut={(e) => {\n e.stopPropagation();\n }}\n height=\"100%\"\n display=\"flex\"\n flexDirection=\"column\"\n >\n {currentLevel === 2 && headingTitle ? (\n <BaseBox\n // In mobile, we use DrawerHeader for this heading\n display={{ base: 'none', m: 'block' }}\n padding=\"spacing.4\"\n borderBottomWidth=\"thin\"\n borderBottomColor=\"surface.border.gray.muted\"\n >\n <Text size=\"large\" weight=\"semibold\">\n {headingTitle}\n </Text>\n </BaseBox>\n ) : null}\n <BaseBox padding={{ base: 'spacing.0', m: 'spacing.3' }} overflowY=\"auto\">\n {children}\n </BaseBox>\n </BaseBox>\n );\n};\n\nexport { SideNavLevel };\n"],"names":["SideNavLevel","_ref","children","_useNavLink","useNavLink","_prevLevel","level","headingTitle","title","prevLevel","currentLevel","_jsxs","BaseBox","marginLeft","base","m","makeSize","COLLAPSED_L1_WIDTH","onMouseOver","e","stopPropagation","onMouseOut","height","display","flexDirection","
|
|
1
|
+
{"version":3,"file":"SideNavLevel.web.js","sources":["../../../../../../src/components/SideNav/SideNavLevel.web.tsx"],"sourcesContent":["import React from 'react';\nimport { useNavLink } from './SideNavContext';\nimport { COLLAPSED_L1_WIDTH } from './tokens';\nimport type { SideNavLevelProps } from './types';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Text } from '~components/Typography';\nimport { makeSize } from '~utils';\n\nconst SideNavLevel = ({ children, titleSuffix }: SideNavLevelProps): React.ReactElement => {\n const { level: _prevLevel, title: headingTitle } = useNavLink();\n\n const prevLevel = _prevLevel ?? 0;\n const currentLevel = prevLevel + 1;\n const hasTrailing = !!titleSuffix;\n return (\n <BaseBox\n marginLeft={\n currentLevel === 3\n ? { base: 'spacing.7', m: 'spacing.6' }\n : { base: 'spacing.0', m: makeSize(COLLAPSED_L1_WIDTH) }\n }\n // When we're in level 2 or 3, we want to stop propagation of hover from its items.\n // L1 is only expected to open / close on hover of L1 menu and L1 items\n onMouseOver={(e) => {\n e.stopPropagation();\n }}\n // Although we don't use `onMouseOut` on SideNav, keeping it here in case we start using it in future as stopping propagation in child\n // is expected behaviour for us. Checkout https://react.dev/reference/react-dom/createPortal#caveats\n onMouseOut={(e) => {\n e.stopPropagation();\n }}\n height=\"100%\"\n display=\"flex\"\n flexDirection=\"column\"\n >\n {currentLevel === 2 && headingTitle ? (\n <BaseBox\n // In mobile, we use DrawerHeader for this heading\n display={{ base: 'none', m: hasTrailing ? 'flex' : 'block' }}\n padding=\"spacing.4\"\n borderBottomWidth=\"thin\"\n borderBottomColor=\"surface.border.gray.muted\"\n gap={hasTrailing ? 'spacing.2' : 'spacing.0'}\n alignItems={hasTrailing ? 'center' : undefined}\n >\n <Text size=\"large\" weight=\"semibold\">\n {headingTitle}\n </Text>\n {titleSuffix}\n </BaseBox>\n ) : null}\n <BaseBox padding={{ base: 'spacing.0', m: 'spacing.3' }} overflowY=\"auto\">\n {children}\n </BaseBox>\n </BaseBox>\n );\n};\n\nexport { SideNavLevel };\n"],"names":["SideNavLevel","_ref","children","titleSuffix","_useNavLink","useNavLink","_prevLevel","level","headingTitle","title","prevLevel","currentLevel","hasTrailing","_jsxs","BaseBox","marginLeft","base","m","makeSize","COLLAPSED_L1_WIDTH","onMouseOver","e","stopPropagation","onMouseOut","height","display","flexDirection","padding","borderBottomWidth","borderBottomColor","gap","alignItems","undefined","_jsx","Text","size","weight","overflowY"],"mappings":";;;;;;;;;;;AAQA,IAAMA,YAAY,GAAG,SAAfA,YAAYA,CAAAC,IAAA,EAAyE;AAAA,EAAA,IAAnEC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IAAEC,WAAW,GAAAF,IAAA,CAAXE,WAAW,CAAA;AAC3C,EAAA,IAAAC,WAAA,GAAmDC,UAAU,EAAE;IAAhDC,UAAU,GAAAF,WAAA,CAAjBG,KAAK;IAAqBC,YAAY,GAAAJ,WAAA,CAAnBK,KAAK,CAAA;EAEhC,IAAMC,SAAS,GAAGJ,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAVA,KAAAA,CAAAA,GAAAA,UAAU,GAAI,CAAC,CAAA;AACjC,EAAA,IAAMK,YAAY,GAAGD,SAAS,GAAG,CAAC,CAAA;AAClC,EAAA,IAAME,WAAW,GAAG,CAAC,CAACT,WAAW,CAAA;EACjC,oBACEU,IAAA,CAACC,OAAO,EAAA;AACNC,IAAAA,UAAU,EACRJ,YAAY,KAAK,CAAC,GACd;AAAEK,MAAAA,IAAI,EAAE,WAAW;AAAEC,MAAAA,CAAC,EAAE,WAAA;AAAY,KAAC,GACrC;AAAED,MAAAA,IAAI,EAAE,WAAW;MAAEC,CAAC,EAAEC,QAAQ,CAACC,kBAAkB,CAAA;AAAE,KAAA;AAE3D;AACA;AAAA;AACAC,IAAAA,WAAW,EAAE,SAAAA,WAACC,CAAAA,CAAC,EAAK;MAClBA,CAAC,CAACC,eAAe,EAAE,CAAA;AACrB,KAAA;AACA;AACA;AAAA;AACAC,IAAAA,UAAU,EAAE,SAAAA,UAACF,CAAAA,CAAC,EAAK;MACjBA,CAAC,CAACC,eAAe,EAAE,CAAA;KACnB;AACFE,IAAAA,MAAM,EAAC,MAAM;AACbC,IAAAA,OAAO,EAAC,MAAM;AACdC,IAAAA,aAAa,EAAC,QAAQ;IAAAxB,QAAA,EAAA,CAErBS,YAAY,KAAK,CAAC,IAAIH,YAAY,gBACjCK,IAAA,CAACC,OAAAA;AACC;AAAA,MAAA;AACAW,MAAAA,OAAO,EAAE;AAAET,QAAAA,IAAI,EAAE,MAAM;AAAEC,QAAAA,CAAC,EAAEL,WAAW,GAAG,MAAM,GAAG,OAAA;OAAU;AAC7De,MAAAA,OAAO,EAAC,WAAW;AACnBC,MAAAA,iBAAiB,EAAC,MAAM;AACxBC,MAAAA,iBAAiB,EAAC,2BAA2B;AAC7CC,MAAAA,GAAG,EAAElB,WAAW,GAAG,WAAW,GAAG,WAAY;AAC7CmB,MAAAA,UAAU,EAAEnB,WAAW,GAAG,QAAQ,GAAGoB,SAAU;MAAA9B,QAAA,EAAA,cAE/C+B,GAAA,CAACC,IAAI,EAAA;AAACC,QAAAA,IAAI,EAAC,OAAO;AAACC,QAAAA,MAAM,EAAC,UAAU;AAAAlC,QAAAA,QAAA,EACjCM,YAAAA;OACG,CAAC,EACNL,WAAW,CAAA;AAAA,KACL,CAAC,GACR,IAAI,eACR8B,GAAA,CAACnB,OAAO,EAAA;AAACa,MAAAA,OAAO,EAAE;AAAEX,QAAAA,IAAI,EAAE,WAAW;AAAEC,QAAAA,CAAC,EAAE,WAAA;OAAc;AAACoB,MAAAA,SAAS,EAAC,MAAM;AAAAnC,MAAAA,QAAA,EACtEA,QAAAA;AAAQ,KACF,CAAC,CAAA;AAAA,GACH,CAAC,CAAA;AAEd;;;;"}
|
|
@@ -15,7 +15,7 @@ var classes = {
|
|
|
15
15
|
var SKIP_NAV_ID = 'blade-side-nav-skip';
|
|
16
16
|
var COLLAPSED_L1_WIDTH = size['56'];
|
|
17
17
|
var SIDE_NAV_EXPANDED_L1_WIDTH_XL = size['264'];
|
|
18
|
-
var SIDE_NAV_EXPANDED_L1_WIDTH_BASE = size['
|
|
18
|
+
var SIDE_NAV_EXPANDED_L1_WIDTH_BASE = size['240'];
|
|
19
19
|
var NAV_ITEM_HEIGHT = size['40'];
|
|
20
20
|
|
|
21
21
|
// This is the delay after which transition cleanup happens for rare cases where transitionEnd is not triggered
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.js","sources":["../../../../../../src/components/SideNav/tokens.ts"],"sourcesContent":["import type { Theme } from '~components/BladeProvider';\nimport { size } from '~tokens/global';\nimport { makeMotionTime } from '~utils';\n\nconst classes = {\n SHOW_WHEN_COLLAPSED: 'show-when-collapsed',\n HIDE_WHEN_COLLAPSED: 'hide-when-collapsed',\n COLLAPSED: 'collapsed',\n TRANSITIONING: 'transitioning',\n L1_ITEM_WRAPPER: 'l1-item-wrapper',\n SHOW_ON_LINK_HOVER: 'show-on-link-hover',\n STYLED_NAV_LINK: 'styled-nav-link',\n} as const;\n\nconst SKIP_NAV_ID = 'blade-side-nav-skip';\n\nconst COLLAPSED_L1_WIDTH = size['56'];\nconst SIDE_NAV_EXPANDED_L1_WIDTH_XL = size['264'];\nconst SIDE_NAV_EXPANDED_L1_WIDTH_BASE = size['
|
|
1
|
+
{"version":3,"file":"tokens.js","sources":["../../../../../../src/components/SideNav/tokens.ts"],"sourcesContent":["import type { Theme } from '~components/BladeProvider';\nimport { size } from '~tokens/global';\nimport { makeMotionTime } from '~utils';\n\nconst classes = {\n SHOW_WHEN_COLLAPSED: 'show-when-collapsed',\n HIDE_WHEN_COLLAPSED: 'hide-when-collapsed',\n COLLAPSED: 'collapsed',\n TRANSITIONING: 'transitioning',\n L1_ITEM_WRAPPER: 'l1-item-wrapper',\n SHOW_ON_LINK_HOVER: 'show-on-link-hover',\n STYLED_NAV_LINK: 'styled-nav-link',\n} as const;\n\nconst SKIP_NAV_ID = 'blade-side-nav-skip';\n\nconst COLLAPSED_L1_WIDTH = size['56'];\nconst SIDE_NAV_EXPANDED_L1_WIDTH_XL = size['264'];\nconst SIDE_NAV_EXPANDED_L1_WIDTH_BASE = size['240'];\nconst NAV_ITEM_HEIGHT = size['40'];\n\n// This is the delay after which transition cleanup happens for rare cases where transitionEnd is not triggered\nconst TRANSITION_CLEANUP_DELAY = 300; // A little more than the duration of transition end\n\nconst HOVER_AGAIN_DELAY = 500;\n\n// Delay between mouse out from L1 and L1 collapsing again\nconst L1_EXIT_HOVER_DELAY = 150;\n\nconst getNavItemTransition = ({ motion }: Theme): string => {\n return `background-color ${makeMotionTime(motion.duration['2xquick'])} ${motion.easing.standard}`;\n};\n\nexport {\n SKIP_NAV_ID,\n classes,\n COLLAPSED_L1_WIDTH,\n SIDE_NAV_EXPANDED_L1_WIDTH_XL,\n SIDE_NAV_EXPANDED_L1_WIDTH_BASE,\n NAV_ITEM_HEIGHT,\n TRANSITION_CLEANUP_DELAY,\n HOVER_AGAIN_DELAY,\n getNavItemTransition,\n L1_EXIT_HOVER_DELAY,\n};\n"],"names":["classes","SHOW_WHEN_COLLAPSED","HIDE_WHEN_COLLAPSED","COLLAPSED","TRANSITIONING","L1_ITEM_WRAPPER","SHOW_ON_LINK_HOVER","STYLED_NAV_LINK","SKIP_NAV_ID","COLLAPSED_L1_WIDTH","size","SIDE_NAV_EXPANDED_L1_WIDTH_XL","SIDE_NAV_EXPANDED_L1_WIDTH_BASE","NAV_ITEM_HEIGHT","TRANSITION_CLEANUP_DELAY","HOVER_AGAIN_DELAY","L1_EXIT_HOVER_DELAY","getNavItemTransition","_ref","motion","concat","makeMotionTime","duration","easing","standard"],"mappings":";;;;;AAIA,IAAMA,OAAO,GAAG;AACdC,EAAAA,mBAAmB,EAAE,qBAAqB;AAC1CC,EAAAA,mBAAmB,EAAE,qBAAqB;AAC1CC,EAAAA,SAAS,EAAE,WAAW;AACtBC,EAAAA,aAAa,EAAE,eAAe;AAC9BC,EAAAA,eAAe,EAAE,iBAAiB;AAClCC,EAAAA,kBAAkB,EAAE,oBAAoB;AACxCC,EAAAA,eAAe,EAAE,iBAAA;AACnB,EAAU;AAEJC,IAAAA,WAAW,GAAG,sBAAqB;AAEzC,IAAMC,kBAAkB,GAAGC,IAAI,CAAC,IAAI,EAAC;AACrC,IAAMC,6BAA6B,GAAGD,IAAI,CAAC,KAAK,EAAC;AACjD,IAAME,+BAA+B,GAAGF,IAAI,CAAC,KAAK,EAAC;AACnD,IAAMG,eAAe,GAAGH,IAAI,CAAC,IAAI,EAAC;;AAElC;AACA,IAAMI,wBAAwB,GAAG,IAAI;;AAE/BC,IAAAA,iBAAiB,GAAG,IAAG;;AAE7B;AACMC,IAAAA,mBAAmB,GAAG,IAAG;AAE/B,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAAC,IAAA,EAAkC;AAAA,EAAA,IAA5BC,MAAM,GAAAD,IAAA,CAANC,MAAM,CAAA;AACpC,EAAA,OAAA,mBAAA,CAAAC,MAAA,CAA2BC,cAAc,CAACF,MAAM,CAACG,QAAQ,CAAC,SAAS,CAAC,CAAC,OAAAF,MAAA,CAAID,MAAM,CAACI,MAAM,CAACC,QAAQ,CAAA,CAAA;AACjG;;;;"}
|
|
@@ -21174,7 +21174,7 @@ type SideNavItemProps = {
|
|
|
21174
21174
|
*
|
|
21175
21175
|
* Meant for Indicator, Icon, etc
|
|
21176
21176
|
*/
|
|
21177
|
-
leading: React__default.ReactElement;
|
|
21177
|
+
leading: React__default.ReactElement | IconComponent;
|
|
21178
21178
|
/**
|
|
21179
21179
|
* Trailing slot for SideNavItem.
|
|
21180
21180
|
*
|
|
@@ -21216,22 +21216,23 @@ type SideNavBodyProps = {
|
|
|
21216
21216
|
};
|
|
21217
21217
|
type SideNavLevelProps = {
|
|
21218
21218
|
children: React__default.ReactElement | React__default.ReactElement[];
|
|
21219
|
+
titleSuffix?: React__default.ReactElement;
|
|
21219
21220
|
};
|
|
21220
21221
|
|
|
21221
21222
|
declare const SideNavLink: ({ title, description, href, children, titleSuffix, trailing, isActive, icon, tooltip, as, target, onClick, ...rest }: SideNavLinkProps) => React__default.ReactElement;
|
|
21222
21223
|
|
|
21223
|
-
declare const SideNavLevel: ({ children }: SideNavLevelProps) => React__default.ReactElement;
|
|
21224
|
+
declare const SideNavLevel: ({ children, titleSuffix }: SideNavLevelProps) => React__default.ReactElement;
|
|
21224
21225
|
|
|
21225
21226
|
declare const SideNavSection: ({ children, title, defaultIsExpanded, maxVisibleItems, onExpandChange, ...rest }: SideNavSectionProps) => React__default.ReactElement;
|
|
21226
21227
|
|
|
21227
|
-
declare const SideNavItem: ({ leading, trailing, title, backgroundColor, tooltip, as, ...rest }: SideNavItemProps) =>
|
|
21228
|
+
declare const SideNavItem: ({ leading, trailing, title, backgroundColor, tooltip, as, ...rest }: SideNavItemProps) => React__default.ReactElement;
|
|
21228
21229
|
|
|
21229
21230
|
declare const SideNavFooter: ({ children }: SideNavFooterProps) => React__default.ReactElement;
|
|
21230
21231
|
|
|
21231
21232
|
declare const SideNavBody: ({ children }: SideNavBodyProps) => React.ReactElement;
|
|
21232
21233
|
|
|
21233
21234
|
declare const SIDE_NAV_EXPANDED_L1_WIDTH_XL: 264;
|
|
21234
|
-
declare const SIDE_NAV_EXPANDED_L1_WIDTH_BASE:
|
|
21235
|
+
declare const SIDE_NAV_EXPANDED_L1_WIDTH_BASE: 240;
|
|
21235
21236
|
|
|
21236
21237
|
type SkeletonProps = StyledPropsBlade & Pick<BaseBoxProps, 'width' | 'maxWidth' | 'minWidth' | 'height' | 'maxHeight' | 'minHeight' | 'borderRadius'> & Partial<FlexboxProps> & {
|
|
21237
21238
|
testID?: string;
|
|
@@ -13231,7 +13231,7 @@ type SideNavItemProps = {
|
|
|
13231
13231
|
*
|
|
13232
13232
|
* Meant for Indicator, Icon, etc
|
|
13233
13233
|
*/
|
|
13234
|
-
leading: React__default.ReactElement;
|
|
13234
|
+
leading: React__default.ReactElement | IconComponent;
|
|
13235
13235
|
/**
|
|
13236
13236
|
* Trailing slot for SideNavItem.
|
|
13237
13237
|
*
|
|
@@ -13273,6 +13273,7 @@ type SideNavBodyProps = {
|
|
|
13273
13273
|
};
|
|
13274
13274
|
type SideNavLevelProps = {
|
|
13275
13275
|
children: React__default.ReactElement | React__default.ReactElement[];
|
|
13276
|
+
titleSuffix?: React__default.ReactElement;
|
|
13276
13277
|
};
|
|
13277
13278
|
|
|
13278
13279
|
declare const SideNav: (_props: SideNavProps) => React.ReactElement;
|
|
@@ -13290,7 +13291,7 @@ declare const SideNavFooter: (_props: SideNavFooterProps) => React.ReactElement;
|
|
|
13290
13291
|
declare const SideNavBody: (_props: SideNavBodyProps) => React.ReactElement;
|
|
13291
13292
|
|
|
13292
13293
|
declare const SIDE_NAV_EXPANDED_L1_WIDTH_XL: 264;
|
|
13293
|
-
declare const SIDE_NAV_EXPANDED_L1_WIDTH_BASE:
|
|
13294
|
+
declare const SIDE_NAV_EXPANDED_L1_WIDTH_BASE: 240;
|
|
13294
13295
|
|
|
13295
13296
|
type SkeletonProps = StyledPropsBlade & Pick<BaseBoxProps, 'width' | 'maxWidth' | 'minWidth' | 'height' | 'maxHeight' | 'minHeight' | 'borderRadius'> & Partial<FlexboxProps> & {
|
|
13296
13297
|
testID?: string;
|