@toptal/picasso 28.14.2 → 29.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/MenuItem/styles.js +1 -0
- package/MenuItem/styles.js.map +1 -1
- package/SidebarItem/ParentItemContextProvider.d.ts +22 -0
- package/SidebarItem/ParentItemContextProvider.js +20 -0
- package/SidebarItem/ParentItemContextProvider.js.map +1 -0
- package/SidebarItem/SidebarItemAccordion.js +10 -10
- package/SidebarItem/SidebarItemAccordion.js.map +1 -1
- package/SidebarItem/SidebarItemCompact.js +9 -3
- package/SidebarItem/SidebarItemCompact.js.map +1 -1
- package/SidebarItem/SidebarItemHeader.js +5 -3
- package/SidebarItem/SidebarItemHeader.js.map +1 -1
- package/SidebarItem/styles.js +2 -2
- package/SidebarItem/styles.js.map +1 -1
- package/SidebarItem/types.d.ts +4 -2
- package/SidebarItem/utils/getBadgeProps/getBadgeProps.d.ts +3 -0
- package/SidebarItem/utils/getBadgeProps/getBadgeProps.js +8 -0
- package/SidebarItem/utils/getBadgeProps/getBadgeProps.js.map +1 -0
- package/SidebarItem/utils/getTagProps/getTagProps.d.ts +3 -0
- package/SidebarItem/utils/getTagProps/getTagProps.js +8 -0
- package/SidebarItem/utils/getTagProps/getTagProps.js.map +1 -0
- package/SidebarItemContent/SidebarItemContent.d.ts +1 -12
- package/SidebarItemContent/SidebarItemContent.js +31 -16
- package/SidebarItemContent/SidebarItemContent.js.map +1 -1
- package/SidebarItemContent/index.d.ts +2 -1
- package/SidebarItemContent/index.js.map +1 -1
- package/SidebarItemContent/styles.d.ts +1 -1
- package/SidebarItemContent/styles.js +11 -3
- package/SidebarItemContent/styles.js.map +1 -1
- package/SidebarItemContent/types.d.ts +22 -0
- package/SidebarItemContent/types.js +2 -0
- package/SidebarItemContent/types.js.map +1 -0
- package/SidebarItemContent/useIndicatorOnParentItem.d.ts +7 -0
- package/SidebarItemContent/useIndicatorOnParentItem.js +20 -0
- package/SidebarItemContent/useIndicatorOnParentItem.js.map +1 -0
- package/TagCompound/index.d.ts +1 -1
- package/TagRectangular/TagRectangular.d.ts +2 -16
- package/TagRectangular/TagRectangular.js.map +1 -1
- package/TagRectangular/index.d.ts +1 -1
- package/TagRectangular/types.d.ts +16 -0
- package/TagRectangular/types.js +2 -0
- package/TagRectangular/types.js.map +1 -0
- package/package.json +1 -1
package/MenuItem/styles.js
CHANGED
package/MenuItem/styles.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/MenuItem/styles.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/MenuItem/styles.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface ContextProps {
|
|
3
|
+
/**
|
|
4
|
+
* Render indicator on the parent item
|
|
5
|
+
* when some of children has badge or tag rendered
|
|
6
|
+
*/
|
|
7
|
+
isIndicatorVisible: boolean;
|
|
8
|
+
/**
|
|
9
|
+
* When submenu item with badge or tag is mounted
|
|
10
|
+
*/
|
|
11
|
+
handleDecoratedItemMount: () => void;
|
|
12
|
+
/**
|
|
13
|
+
* When submenu item with badge or tag is unmounted
|
|
14
|
+
*/
|
|
15
|
+
handleDecoratedItemUnmount: () => void;
|
|
16
|
+
}
|
|
17
|
+
export interface Props {
|
|
18
|
+
children?: ReactNode;
|
|
19
|
+
isOpened: boolean;
|
|
20
|
+
}
|
|
21
|
+
export declare const ParentItemContextProvider: ({ children, isOpened }: Props) => JSX.Element;
|
|
22
|
+
export declare const useParentItemContext: () => ContextProps;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React, { createContext, useContext, useState } from 'react';
|
|
2
|
+
const Context = createContext({
|
|
3
|
+
isIndicatorVisible: false,
|
|
4
|
+
handleDecoratedItemMount: () => { },
|
|
5
|
+
handleDecoratedItemUnmount: () => { },
|
|
6
|
+
});
|
|
7
|
+
export const ParentItemContextProvider = ({ children, isOpened }) => {
|
|
8
|
+
const [countItemsWithBadgeOrTag, updateCount] = useState(0);
|
|
9
|
+
const isIndicatorVisible = countItemsWithBadgeOrTag > 0 && !isOpened;
|
|
10
|
+
const handleDecoratedItemMount = () => updateCount(count => count + 1);
|
|
11
|
+
const handleDecoratedItemUnmount = () => updateCount(count => count - 1);
|
|
12
|
+
const value = {
|
|
13
|
+
isIndicatorVisible,
|
|
14
|
+
handleDecoratedItemMount,
|
|
15
|
+
handleDecoratedItemUnmount,
|
|
16
|
+
};
|
|
17
|
+
return React.createElement(Context.Provider, { value: value }, children);
|
|
18
|
+
};
|
|
19
|
+
export const useParentItemContext = () => useContext(Context);
|
|
20
|
+
//# sourceMappingURL=ParentItemContextProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ParentItemContextProvider.js","sourceRoot":"","sources":["../../src/SidebarItem/ParentItemContextProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,UAAU,EAAa,QAAQ,EAAE,MAAM,OAAO,CAAA;AAkB7E,MAAM,OAAO,GAAG,aAAa,CAAe;IAC1C,kBAAkB,EAAE,KAAK;IACzB,wBAAwB,EAAE,GAAG,EAAE,GAAE,CAAC;IAClC,0BAA0B,EAAE,GAAG,EAAE,GAAE,CAAC;CACrC,CAAC,CAAA;AAOF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAS,EAAE,EAAE;IACzE,MAAM,CAAC,wBAAwB,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IAE3D,MAAM,kBAAkB,GAAG,wBAAwB,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAA;IACpE,MAAM,wBAAwB,GAAG,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;IACtE,MAAM,0BAA0B,GAAG,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;IAExE,MAAM,KAAK,GAAG;QACZ,kBAAkB;QAClB,wBAAwB;QACxB,0BAA0B;KAC3B,CAAA;IAED,OAAO,oBAAC,OAAO,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,IAAG,QAAQ,CAAoB,CAAA;AACtE,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA"}
|
|
@@ -5,6 +5,7 @@ import Accordion from '../Accordion';
|
|
|
5
5
|
import { ArrowDownMinor16 } from '../Icon';
|
|
6
6
|
import styles from './styles';
|
|
7
7
|
import { SubMenuContextProvider } from './SubMenuContextProvider';
|
|
8
|
+
import { ParentItemContextProvider } from './ParentItemContextProvider';
|
|
8
9
|
import { SidebarItemHeader } from './SidebarItemHeader';
|
|
9
10
|
const useStyles = makeStyles(styles, {
|
|
10
11
|
name: 'PicassoSidebarItemAccordion',
|
|
@@ -14,17 +15,16 @@ export const SidebarItemAccordion = forwardRef(function SidebarItemAccordion(pro
|
|
|
14
15
|
const classes = useStyles();
|
|
15
16
|
const handleAccordionChange = useCallback((event, isAccordionExpanded) => {
|
|
16
17
|
event.stopPropagation();
|
|
17
|
-
|
|
18
|
-
expand === null || expand === void 0 ? void 0 : expand(index !== null && index !== void 0 ? index : null);
|
|
19
|
-
}
|
|
18
|
+
expand === null || expand === void 0 ? void 0 : expand((isAccordionExpanded && index) || null);
|
|
20
19
|
}, [index, expand]);
|
|
21
20
|
const content = (React.createElement(SubMenuContextProvider, { parentMenu: { icon, compact }, parentSidebarItemIndex: index }, menu));
|
|
22
|
-
return (React.createElement(
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
21
|
+
return (React.createElement(ParentItemContextProvider, { isOpened: isExpanded || false },
|
|
22
|
+
React.createElement(Accordion, { onChange: handleAccordionChange, classes: {
|
|
23
|
+
summary: classes.collapsibleWrapper,
|
|
24
|
+
content: classes.content,
|
|
25
|
+
}, content: content, borders: 'none', disabled: disabled, expanded: isExpanded, expandIcon: React.createElement(ArrowDownMinor16, { className: cx(classes.expandIcon, classes[`${variant}ExpandIcon`], {
|
|
26
|
+
[classes.expandIconDisabled]: disabled,
|
|
27
|
+
}) }) },
|
|
28
|
+
React.createElement(SidebarItemHeader, Object.assign({}, props, { ref: ref })))));
|
|
29
29
|
});
|
|
30
30
|
//# sourceMappingURL=SidebarItemAccordion.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SidebarItemAccordion.js","sourceRoot":"","sources":["../../src/SidebarItem/SidebarItemAccordion.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAS,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,KAAK,EAAE,EAAe,UAAU,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AAEnE,OAAO,SAAS,MAAM,cAAc,CAAA;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAC1C,OAAO,MAAM,MAAM,UAAU,CAAA;AAC7B,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"SidebarItemAccordion.js","sourceRoot":"","sources":["../../src/SidebarItem/SidebarItemAccordion.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAS,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,KAAK,EAAE,EAAe,UAAU,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AAEnE,OAAO,SAAS,MAAM,cAAc,CAAA;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAC1C,OAAO,MAAM,MAAM,UAAU,CAAA;AAC7B,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAA;AAEvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEvD,MAAM,SAAS,GAAG,UAAU,CAAQ,MAAM,EAAE;IAC1C,IAAI,EAAE,6BAA6B;CACpC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,UAAU,CAC5C,SAAS,oBAAoB,CAAC,KAAY,EAAE,GAAG;IAC7C,MAAM,EACJ,MAAM,EACN,KAAK,EACL,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,UAAU,EACV,IAAI,EACJ,OAAO,GACR,GAAG,KAAK,CAAA;IACT,MAAM,OAAO,GAAG,SAAS,EAAE,CAAA;IAE3B,MAAM,qBAAqB,GAAG,WAAW,CACvC,CAAC,KAAsB,EAAE,mBAA4B,EAAE,EAAE;QACvD,KAAK,CAAC,eAAe,EAAE,CAAA;QAEvB,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,CAAC,mBAAmB,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,CAAA;IAClD,CAAC,EACD,CAAC,KAAK,EAAE,MAAM,CAAC,CAChB,CAAA;IAED,MAAM,OAAO,GAAG,CACd,oBAAC,sBAAsB,IACrB,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAC7B,sBAAsB,EAAE,KAAK,IAE5B,IAAI,CACkB,CAC1B,CAAA;IAED,OAAO,CACL,oBAAC,yBAAyB,IAAC,QAAQ,EAAE,UAAU,IAAI,KAAK;QACtD,oBAAC,SAAS,IACR,QAAQ,EAAE,qBAAqB,EAC/B,OAAO,EAAE;gBACP,OAAO,EAAE,OAAO,CAAC,kBAAkB;gBACnC,OAAO,EAAE,OAAO,CAAC,OAAO;aACzB,EACD,OAAO,EAAE,OAAO,EAChB,OAAO,EAAC,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,UAAU,EACpB,UAAU,EACR,oBAAC,gBAAgB,IACf,SAAS,EAAE,EAAE,CACX,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,GAAG,OAAO,YAAY,CAAC,EAC/B;oBACE,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,QAAQ;iBACvC,CACF,GACD;YAGJ,oBAAC,iBAAiB,oBAAK,KAAK,IAAE,GAAG,EAAE,GAAG,IAAI,CAChC,CACc,CAC7B,CAAA;AACH,CAAC,CACF,CAAA"}
|
|
@@ -5,15 +5,21 @@ import Dropdown from '../Dropdown';
|
|
|
5
5
|
import { SidebarItemHeader } from './SidebarItemHeader';
|
|
6
6
|
import { SubMenuContextProvider } from './SubMenuContextProvider';
|
|
7
7
|
import styles from './styles';
|
|
8
|
+
import { ParentItemContextProvider } from './ParentItemContextProvider';
|
|
9
|
+
import useOpen from '../utils/useBoolean';
|
|
8
10
|
const useStyles = makeStyles(styles, {
|
|
9
11
|
name: 'PicassoSidebarItemCompact',
|
|
10
12
|
});
|
|
11
13
|
export const SidebarItemCompact = forwardRef(function CompactSidebarItem(props, ref) {
|
|
12
14
|
const { menu, index, compact, icon } = props;
|
|
15
|
+
const [isOpened, handleOpen, handleClose] = useOpen();
|
|
13
16
|
const classes = useStyles();
|
|
14
17
|
const subMenu = (React.createElement(SubMenuContextProvider, { parentMenu: { compact, icon }, parentSidebarItemIndex: index }, menu));
|
|
15
|
-
return (React.createElement(
|
|
16
|
-
React.createElement(
|
|
17
|
-
React.createElement(
|
|
18
|
+
return (React.createElement(ParentItemContextProvider, { isOpened: isOpened },
|
|
19
|
+
React.createElement(Container, { left: 'small', right: 'small' },
|
|
20
|
+
React.createElement(Dropdown, { classes: { popper: classes.compactDropdown }, placement: 'right-start', content: subMenu, keepMounted: true, onOpen: handleOpen, onClose: handleClose, popperProps: {
|
|
21
|
+
role: 'menu',
|
|
22
|
+
} },
|
|
23
|
+
React.createElement(SidebarItemHeader, Object.assign({}, props, { ref: ref }))))));
|
|
18
24
|
});
|
|
19
25
|
//# sourceMappingURL=SidebarItemCompact.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SidebarItemCompact.js","sourceRoot":"","sources":["../../src/SidebarItem/SidebarItemCompact.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAS,MAAM,0BAA0B,CAAA;AAC5D,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAEzC,OAAO,SAAS,MAAM,cAAc,CAAA;AACpC,OAAO,QAAQ,MAAM,aAAa,CAAA;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AAEjE,OAAO,MAAM,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"SidebarItemCompact.js","sourceRoot":"","sources":["../../src/SidebarItem/SidebarItemCompact.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAS,MAAM,0BAA0B,CAAA;AAC5D,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAEzC,OAAO,SAAS,MAAM,cAAc,CAAA;AACpC,OAAO,QAAQ,MAAM,aAAa,CAAA;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AAEjE,OAAO,MAAM,MAAM,UAAU,CAAA;AAC7B,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAA;AACvE,OAAO,OAAO,MAAM,qBAAqB,CAAA;AAEzC,MAAM,SAAS,GAAG,UAAU,CAAQ,MAAM,EAAE;IAC1C,IAAI,EAAE,2BAA2B;CAClC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,UAAU,CAC1C,SAAS,kBAAkB,CAAC,KAAY,EAAE,GAAG;IAC3C,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,KAAK,CAAA;IAC5C,MAAM,CAAC,QAAQ,EAAE,UAAU,EAAE,WAAW,CAAC,GAAG,OAAO,EAAE,CAAA;IACrD,MAAM,OAAO,GAAG,SAAS,EAAE,CAAA;IAE3B,MAAM,OAAO,GAAG,CACd,oBAAC,sBAAsB,IACrB,UAAU,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAC7B,sBAAsB,EAAE,KAAK,IAE5B,IAAI,CACkB,CAC1B,CAAA;IAED,OAAO,CACL,oBAAC,yBAAyB,IAAC,QAAQ,EAAE,QAAQ;QAC3C,oBAAC,SAAS,IAAC,IAAI,EAAC,OAAO,EAAC,KAAK,EAAC,OAAO;YACnC,oBAAC,QAAQ,IACP,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,eAAe,EAAE,EAC5C,SAAS,EAAC,aAAa,EACvB,OAAO,EAAE,OAAO,EAChB,WAAW,QACX,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,WAAW,EACpB,WAAW,EAAE;oBACX,IAAI,EAAE,MAAM;iBACb;gBAED,oBAAC,iBAAiB,oBAAK,KAAK,IAAE,GAAG,EAAE,GAAG,IAAI,CACjC,CACD,CACc,CAC7B,CAAA;AACH,CAAC,CACF,CAAA"}
|
|
@@ -16,6 +16,8 @@ import MenuItem from '../MenuItem';
|
|
|
16
16
|
import SidebarItemContent from '../SidebarItemContent';
|
|
17
17
|
import styles from './styles';
|
|
18
18
|
import { useSubMenuContext } from './SubMenuContextProvider';
|
|
19
|
+
import getBadgeProps from './utils/getBadgeProps/getBadgeProps';
|
|
20
|
+
import getTagProps from './utils/getTagProps/getTagProps';
|
|
19
21
|
const useStyles = makeStyles(styles, {
|
|
20
22
|
name: 'PicassoSidebarItemHeader',
|
|
21
23
|
});
|
|
@@ -23,9 +25,9 @@ export const SidebarItemHeader = forwardRef(function SidebarItemHeader(props, re
|
|
|
23
25
|
const { className, disabled, menu, selected, compact, variant = 'light', onClick, collapsible, testIds,
|
|
24
26
|
// these props are being destructured only for the purpose of excluding them from `...rest`
|
|
25
27
|
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
26
|
-
icon, isSubMenu, badge, isExpanded, expand, index } = props,
|
|
28
|
+
icon, isSubMenu, badge, tag, isExpanded, expand, index } = props,
|
|
27
29
|
/* eslint-enable */
|
|
28
|
-
rest = __rest(props, ["className", "disabled", "menu", "selected", "compact", "variant", "onClick", "collapsible", "testIds", "icon", "isSubMenu", "badge", "isExpanded", "expand", "index"]);
|
|
30
|
+
rest = __rest(props, ["className", "disabled", "menu", "selected", "compact", "variant", "onClick", "collapsible", "testIds", "icon", "isSubMenu", "badge", "tag", "isExpanded", "expand", "index"]);
|
|
29
31
|
const classes = useStyles();
|
|
30
32
|
const { parentMenu } = useSubMenuContext();
|
|
31
33
|
const hasMenu = menu != null;
|
|
@@ -43,6 +45,6 @@ export const SidebarItemHeader = forwardRef(function SidebarItemHeader(props, re
|
|
|
43
45
|
[classes.parentCompact]: parentMenu === null || parentMenu === void 0 ? void 0 : parentMenu.compact,
|
|
44
46
|
[classes.collapsible]: hasMenu && (collapsible || compact),
|
|
45
47
|
}, className), onClick: handleMenuItemClick, selected: shouldShowSelected, disabled: disabled, variant: variant, nonSelectable: true, "data-testid": testIds === null || testIds === void 0 ? void 0 : testIds.header }),
|
|
46
|
-
React.createElement(SidebarItemContent, Object.assign({}, props))));
|
|
48
|
+
React.createElement(SidebarItemContent, Object.assign({}, props, { badge: getBadgeProps(badge), tag: getTagProps(tag) }))));
|
|
47
49
|
});
|
|
48
50
|
//# sourceMappingURL=SidebarItemHeader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SidebarItemHeader.js","sourceRoot":"","sources":["../../src/SidebarItem/SidebarItemHeader.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAS,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AAEtD,OAAO,QAAQ,MAAM,aAAa,CAAA;AAClC,OAAO,kBAAkB,MAAM,uBAAuB,CAAA;AACtD,OAAO,MAAM,MAAM,UAAU,CAAA;AAE7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"SidebarItemHeader.js","sourceRoot":"","sources":["../../src/SidebarItem/SidebarItemHeader.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAS,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AAEtD,OAAO,QAAQ,MAAM,aAAa,CAAA;AAClC,OAAO,kBAAkB,MAAM,uBAAuB,CAAA;AACtD,OAAO,MAAM,MAAM,UAAU,CAAA;AAE7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,aAAa,MAAM,qCAAqC,CAAA;AAC/D,OAAO,WAAW,MAAM,iCAAiC,CAAA;AAEzD,MAAM,SAAS,GAAG,UAAU,CAAQ,MAAM,EAAE;IAC1C,IAAI,EAAE,0BAA0B;CACjC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAAU,CACzC,SAAS,iBAAiB,CAAC,KAAY,EAAE,GAAG;IAC1C,MAAM,EACJ,SAAS,EACT,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,OAAO,GAAG,OAAO,EACjB,OAAO,EACP,WAAW,EACX,OAAO;IACP,2FAA2F;IAC3F,sDAAsD;IACtD,IAAI,EACJ,SAAS,EACT,KAAK,EACL,GAAG,EACH,UAAU,EACV,MAAM,EACN,KAAK,KAGH,KAAK;IAFP,mBAAmB;IAChB,IAAI,UACL,KAAK,EArBH,8KAqBL,CAAQ,CAAA;IAET,MAAM,OAAO,GAAG,SAAS,EAAE,CAAA;IAE3B,MAAM,EAAE,UAAU,EAAE,GAAG,iBAAiB,EAAE,CAAA;IAE1C,MAAM,OAAO,GAAG,IAAI,IAAI,IAAI,CAAA;IAE5B,MAAM,mBAAmB,GAAG,WAAW,CACrC,CAAC,KAAgD,EAAE,EAAE;QACnD,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,KAAK,CAAC,CAAA;SACjB;IACH,CAAC,EACD,CAAC,OAAO,EAAE,OAAO,CAAC,CACnB,CAAA;IAED,MAAM,YAAY,GAChB,UAAU;QACV,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IAErE,MAAM,kBAAkB,GAAG,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAA;IAE5D,OAAO,CACL,oBAAC,QAAQ,oBACH,IAAI,IACR,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,OAAO,CAAC,EAChB,YAAY,EACZ;YACE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO;YAC1B,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,kBAAkB;YACtC,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO;YAC5C,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,OAAO,IAAI,CAAC,WAAW,IAAI,OAAO,CAAC;SAC3D,EACD,SAAS,CACV,EACD,OAAO,EAAE,mBAAmB,EAC5B,QAAQ,EAAE,kBAAkB,EAC5B,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,aAAa,uBACA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM;QAE5B,oBAAC,kBAAkB,oBACb,KAAK,IACT,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,EAC3B,GAAG,EAAE,WAAW,CAAC,GAAG,CAAC,IACrB,CACO,CACZ,CAAA;AACH,CAAC,CACF,CAAA"}
|
package/SidebarItem/styles.js
CHANGED
|
@@ -56,11 +56,11 @@ export default ({ palette, sizes }) => createStyles({
|
|
|
56
56
|
margin: '0 1rem',
|
|
57
57
|
},
|
|
58
58
|
nestedMenu: {
|
|
59
|
-
padding: '0
|
|
59
|
+
padding: '0 1rem 0 2rem',
|
|
60
60
|
marginRight: '1rem',
|
|
61
61
|
},
|
|
62
62
|
nestedMenuWithIcon: {
|
|
63
|
-
padding: '0
|
|
63
|
+
padding: '0 1rem 0 2.875rem',
|
|
64
64
|
marginRight: '1rem',
|
|
65
65
|
},
|
|
66
66
|
content: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/SidebarItem/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAE9D,eAAe,CAAC,EAAE,OAAO,EAAE,KAAK,EAAS,EAAE,EAAE,CAC3C,YAAY,CAAC;IACX,IAAI,EAAE;QACJ,MAAM,EAAE,QAAQ;QAChB,OAAO,EAAE,QAAQ;QACjB,MAAM,EAAE,QAAQ;QAChB,UAAU,EAAE,QAAQ;QACpB,YAAY,EAAE,KAAK,CAAC,YAAY,CAAC,KAAK;QACtC,QAAQ,EAAE,MAAM;KACjB;IACD,KAAK,EAAE;QACL,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI;QACxB,SAAS,EAAE;YACT,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI;SACzB;QACD,SAAS,EAAE;YACT,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI;SACzB;KACF;IACD,IAAI,EAAE;QACJ,SAAS,EAAE;YACT,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK;SAC5B;QACD,SAAS,EAAE;YACT,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK;SAC5B;KACF;IACD,QAAQ,EAAE;QACR,SAAS,EAAE;YACT,qBAAqB,EAAE;gBACrB,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI;gBACxB,eAAe,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK;aACpC;SACF;QACD,QAAQ,EAAE;YACR,qBAAqB,EAAE;gBACrB,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK;gBAC3B,eAAe,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI;aACnC;SACF;KACF;IACD,aAAa,EAAE;QACb,SAAS,EAAE;YACT,qBAAqB,EAAE;gBACrB,MAAM,EAAE,CAAC;gBACT,OAAO,EAAE,aAAa;gBACtB,YAAY,EAAE,KAAK,CAAC,YAAY,CAAC,KAAK;gBACtC,YAAY,EAAE;oBACZ,eAAe,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO;iBACtC;aACF;SACF;KACF;IACD,kBAAkB,EAAE;QAClB,OAAO,EAAE,YAAY;QACrB,MAAM,EAAE,QAAQ;KACjB;IACD,UAAU,EAAE;QACV,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/SidebarItem/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAE9D,eAAe,CAAC,EAAE,OAAO,EAAE,KAAK,EAAS,EAAE,EAAE,CAC3C,YAAY,CAAC;IACX,IAAI,EAAE;QACJ,MAAM,EAAE,QAAQ;QAChB,OAAO,EAAE,QAAQ;QACjB,MAAM,EAAE,QAAQ;QAChB,UAAU,EAAE,QAAQ;QACpB,YAAY,EAAE,KAAK,CAAC,YAAY,CAAC,KAAK;QACtC,QAAQ,EAAE,MAAM;KACjB;IACD,KAAK,EAAE;QACL,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI;QACxB,SAAS,EAAE;YACT,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI;SACzB;QACD,SAAS,EAAE;YACT,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI;SACzB;KACF;IACD,IAAI,EAAE;QACJ,SAAS,EAAE;YACT,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK;SAC5B;QACD,SAAS,EAAE;YACT,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK;SAC5B;KACF;IACD,QAAQ,EAAE;QACR,SAAS,EAAE;YACT,qBAAqB,EAAE;gBACrB,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI;gBACxB,eAAe,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK;aACpC;SACF;QACD,QAAQ,EAAE;YACR,qBAAqB,EAAE;gBACrB,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK;gBAC3B,eAAe,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI;aACnC;SACF;KACF;IACD,aAAa,EAAE;QACb,SAAS,EAAE;YACT,qBAAqB,EAAE;gBACrB,MAAM,EAAE,CAAC;gBACT,OAAO,EAAE,aAAa;gBACtB,YAAY,EAAE,KAAK,CAAC,YAAY,CAAC,KAAK;gBACtC,YAAY,EAAE;oBACZ,eAAe,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO;iBACtC;aACF;SACF;KACF;IACD,kBAAkB,EAAE;QAClB,OAAO,EAAE,YAAY;QACrB,MAAM,EAAE,QAAQ;KACjB;IACD,UAAU,EAAE;QACV,OAAO,EAAE,eAAe;QACxB,WAAW,EAAE,MAAM;KACpB;IACD,kBAAkB,EAAE;QAClB,OAAO,EAAE,mBAAmB;QAC5B,WAAW,EAAE,MAAM;KACpB;IACD,OAAO,EAAE;QACP,qDAAqD;QACrD,QAAQ,EAAE,MAAM;KACjB;IACD,UAAU,EAAE;QACV,QAAQ,EAAE,KAAK;KAChB;IACD,eAAe,EAAE;QACf,UAAU,EAAE,OAAO;KACpB;IACD,eAAe,EAAE;QACf,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI;KACzB;IACD,cAAc,EAAE;QACd,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI;KACzB;IACD,kBAAkB,EAAE;QAClB,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI;KACzB;IACD,OAAO,EAAE;QACP,OAAO,EAAE,CAAC;QACV,QAAQ,EAAE,SAAS;KACpB;IACD,MAAM,EAAE;QACN,IAAI,EAAE,CAAC;QACP,QAAQ,EAAE,CAAC;KACZ;IACD,WAAW,EAAE;QACX,MAAM,EAAE,CAAC;QACT,OAAO,EAAE,CAAC;KACX;CACF,CAAC,CAAA"}
|
package/SidebarItem/types.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { BaseProps, TextLabelProps } from '@toptal/picasso-shared';
|
|
|
3
3
|
import { MenuItemProps } from '@material-ui/core/MenuItem';
|
|
4
4
|
import { MenuItemAttributes } from '../MenuItem';
|
|
5
5
|
import { VariantType } from '../PageSidebar/types';
|
|
6
|
-
import {
|
|
6
|
+
import { SidebarTagProps, SidebarBadgeProps } from '../SidebarItemContent/types';
|
|
7
7
|
export interface Props extends BaseProps, TextLabelProps, MenuItemAttributes {
|
|
8
8
|
/** Pass icon to be used as part of item */
|
|
9
9
|
icon?: ReactElement;
|
|
@@ -18,7 +18,9 @@ export interface Props extends BaseProps, TextLabelProps, MenuItemAttributes {
|
|
|
18
18
|
/** Component name to render the menu item as */
|
|
19
19
|
as?: ElementType<MenuItemProps>;
|
|
20
20
|
/** Definition of the embedded badge */
|
|
21
|
-
badge?:
|
|
21
|
+
badge?: number | SidebarBadgeProps;
|
|
22
|
+
/** Render Tag.Rectangular */
|
|
23
|
+
tag?: string | SidebarTagProps;
|
|
22
24
|
/** Callback when item is clicked */
|
|
23
25
|
onClick?: (event: React.MouseEvent<HTMLElement, MouseEvent>) => void;
|
|
24
26
|
/** Callback when item is hovered */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getBadgeProps.js","sourceRoot":"","sources":["../../../../src/SidebarItem/utils/getBadgeProps/getBadgeProps.ts"],"names":[],"mappings":"AAEA,MAAM,aAAa,GAAG,CAAC,KAAkC,EAAE,EAAE;IAC3D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;KAC1B;IAED,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAED,eAAe,aAAa,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getTagProps.js","sourceRoot":"","sources":["../../../../src/SidebarItem/utils/getTagProps/getTagProps.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,GAAG,CAAC,GAA8B,EAAE,EAAE;IACrD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QAC3B,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,CAAA;KACxB;IAED,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAED,eAAe,WAAW,CAAA"}
|
|
@@ -1,14 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { BadgeProps } from '../Badge';
|
|
3
|
-
export interface Props {
|
|
4
|
-
compact?: boolean;
|
|
5
|
-
icon?: ReactElement;
|
|
6
|
-
badge?: Omit<BadgeProps, 'size' | 'children'>;
|
|
7
|
-
children?: ReactNode;
|
|
8
|
-
titleCase?: boolean;
|
|
9
|
-
testIds?: {
|
|
10
|
-
content?: string;
|
|
11
|
-
};
|
|
12
|
-
}
|
|
1
|
+
import { Props } from './types';
|
|
13
2
|
declare const SidebarItemContent: (props: Props) => JSX.Element;
|
|
14
3
|
export default SidebarItemContent;
|
|
@@ -17,48 +17,63 @@ import Typography from '../Typography';
|
|
|
17
17
|
import Tooltip from '../Tooltip';
|
|
18
18
|
import Container from '../Container';
|
|
19
19
|
import Badge from '../Badge';
|
|
20
|
+
import TagRectangular from '../TagRectangular';
|
|
20
21
|
import { getReactNodeTextContent } from '../utils';
|
|
21
22
|
import styles from './styles';
|
|
23
|
+
import Indicator from '../Indicator';
|
|
24
|
+
import useIndicatorOnParentItem from './useIndicatorOnParentItem';
|
|
22
25
|
const useStyles = makeStyles(styles, {
|
|
23
26
|
name: 'PicassoSidebarItemContent',
|
|
24
27
|
});
|
|
25
28
|
const resolveChildrenText = (text, titleCase) => typeof text === 'string' ? (React.createElement(Typography, { color: 'inherit', size: 'medium', titleCase: titleCase, noWrap: true }, text)) : (text);
|
|
26
29
|
const ItemContentBadge = (props) => {
|
|
27
30
|
const { children, variant = 'red' } = props, rest = __rest(props, ["children", "variant"]);
|
|
28
|
-
const classes = useStyles();
|
|
29
31
|
const isOverlay = React.Children.count(children) > 0;
|
|
30
|
-
return (React.createElement(Badge, Object.assign({
|
|
31
|
-
[classes.staticBadge]: !isOverlay,
|
|
32
|
-
}), variant: variant, size: isOverlay ? 'small' : 'large' }, rest), children));
|
|
32
|
+
return (React.createElement(Badge, Object.assign({ variant: variant, size: isOverlay ? 'small' : 'large' }, rest), children));
|
|
33
33
|
};
|
|
34
34
|
const CompactItemContent = (props) => {
|
|
35
|
-
const { icon, children, badge } = props;
|
|
35
|
+
const { icon, children, badge, isIndicatorVisible, menu } = props;
|
|
36
36
|
const classes = useStyles();
|
|
37
37
|
const hasBadge = badge != null;
|
|
38
|
-
const
|
|
38
|
+
const hasSubItems = menu != null;
|
|
39
|
+
const wrappedIcon = icon && hasBadge && !hasSubItems ? (React.createElement(ItemContentBadge, { content: badge.content, variant: badge.variant }, icon)) : (icon);
|
|
39
40
|
return (React.createElement(Container, { className: classes.noWrap, inline: true, flex: true, alignItems: 'center', padded: 'small' },
|
|
40
41
|
React.createElement(Tooltip, { compact: true, placement: 'right', content: getReactNodeTextContent(children) },
|
|
41
|
-
React.createElement("div", { className: classes.iconWrapper },
|
|
42
|
+
React.createElement("div", { className: classes.iconWrapper },
|
|
43
|
+
wrappedIcon,
|
|
44
|
+
hasSubItems && isIndicatorVisible && (React.createElement(Container, { className: classes.compactIndicator },
|
|
45
|
+
React.createElement(Indicator, { color: 'red' })))))));
|
|
42
46
|
};
|
|
43
47
|
const ExpandedItemContent = (props) => {
|
|
44
|
-
const { icon, badge, children, testIds } = props;
|
|
48
|
+
const { icon, badge, children, testIds, tag, isIndicatorVisible, menu, isSubMenu, } = props;
|
|
45
49
|
const classes = useStyles();
|
|
46
|
-
const hasIcon = icon != null;
|
|
50
|
+
const hasIcon = icon != null && !isSubMenu;
|
|
47
51
|
const hasBadge = badge != null;
|
|
48
|
-
|
|
49
|
-
|
|
52
|
+
const hasTag = tag != null;
|
|
53
|
+
const hasSubItems = menu != null;
|
|
54
|
+
return (React.createElement(Container, { className: classes.noWrap, inline: true, flex: true, alignItems: 'center', gap: 'xsmall' },
|
|
55
|
+
!isSubMenu && icon,
|
|
50
56
|
React.createElement(Container, { className: cx(classes.noWrap, {
|
|
51
57
|
[classes.withIcon]: hasIcon,
|
|
52
|
-
}), flex: true, alignItems: 'center', "data-testid": testIds === null || testIds === void 0 ? void 0 : testIds.content },
|
|
53
|
-
|
|
54
|
-
|
|
58
|
+
}), flex: true, alignItems: 'center', "data-testid": testIds === null || testIds === void 0 ? void 0 : testIds.content }, children),
|
|
59
|
+
hasTag && !hasSubItems && (React.createElement(TagRectangular, { variant: tag.variant || 'red' }, tag.content)),
|
|
60
|
+
hasBadge && !hasSubItems && React.createElement(ItemContentBadge, Object.assign({}, badge)),
|
|
61
|
+
isIndicatorVisible && hasSubItems && (React.createElement(Container, { className: classes.expandedIndicator },
|
|
62
|
+
React.createElement(Indicator, { color: 'red' })))));
|
|
55
63
|
};
|
|
56
64
|
const SidebarItemContent = (props) => {
|
|
57
|
-
const { children, titleCase: propsTitleCase, compact } = props;
|
|
65
|
+
const { children, titleCase: propsTitleCase, compact, isSubMenu, badge, tag, } = props;
|
|
58
66
|
const titleCase = useTitleCase(propsTitleCase);
|
|
59
67
|
const resolvedChildren = resolveChildrenText(children, !!titleCase);
|
|
68
|
+
const hasBadge = badge != null;
|
|
69
|
+
const hasTag = tag != null;
|
|
70
|
+
const isIndicatorVisible = useIndicatorOnParentItem({
|
|
71
|
+
isSubMenu,
|
|
72
|
+
hasBadge,
|
|
73
|
+
hasTag,
|
|
74
|
+
});
|
|
60
75
|
const ItemContentVariant = compact ? CompactItemContent : ExpandedItemContent;
|
|
61
|
-
return (React.createElement(ItemContentVariant, Object.assign({}, props, { titleCase: titleCase }), resolvedChildren));
|
|
76
|
+
return (React.createElement(ItemContentVariant, Object.assign({}, props, { isIndicatorVisible: isIndicatorVisible, titleCase: titleCase }), resolvedChildren));
|
|
62
77
|
};
|
|
63
78
|
export default SidebarItemContent;
|
|
64
79
|
//# sourceMappingURL=SidebarItemContent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SidebarItemContent.js","sourceRoot":"","sources":["../../src/SidebarItemContent/SidebarItemContent.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"SidebarItemContent.js","sourceRoot":"","sources":["../../src/SidebarItemContent/SidebarItemContent.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { OmitInternalProps } from '@toptal/picasso-shared';
|
|
2
|
-
import { Props } from './
|
|
2
|
+
import { Props } from './types';
|
|
3
|
+
export type { SidebarTagProps, SidebarBadgeProps } from './types';
|
|
3
4
|
export { default } from './SidebarItemContent';
|
|
4
5
|
export declare type SidebarItemContentProps = OmitInternalProps<Props>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/SidebarItemContent/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/SidebarItemContent/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default: () => import("@material-ui/styles").StyleRules<{}, "noWrap" | "iconWrapper" | "withIcon" | "hiddenContent" | "
|
|
1
|
+
declare const _default: () => import("@material-ui/styles").StyleRules<{}, "noWrap" | "iconWrapper" | "withIcon" | "hiddenContent" | "compactIndicator" | "expandedIndicator">;
|
|
2
2
|
export default _default;
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { createStyles } from '@material-ui/core';
|
|
2
|
+
import { rem } from '@toptal/picasso-shared';
|
|
2
3
|
export default () => createStyles({
|
|
3
4
|
noWrap: {
|
|
4
5
|
flex: 1,
|
|
5
6
|
minWidth: 0,
|
|
6
7
|
},
|
|
7
8
|
withIcon: {
|
|
8
|
-
marginLeft: '
|
|
9
|
+
marginLeft: rem('6px'),
|
|
9
10
|
},
|
|
10
11
|
hiddenContent: {
|
|
11
12
|
visibility: 'hidden',
|
|
@@ -13,9 +14,16 @@ export default () => createStyles({
|
|
|
13
14
|
iconWrapper: {
|
|
14
15
|
width: '1em',
|
|
15
16
|
height: '1em',
|
|
17
|
+
position: 'relative',
|
|
16
18
|
},
|
|
17
|
-
|
|
18
|
-
|
|
19
|
+
compactIndicator: {
|
|
20
|
+
position: 'absolute',
|
|
21
|
+
top: 0,
|
|
22
|
+
right: 0,
|
|
23
|
+
transform: 'translate(50%, -50%)',
|
|
24
|
+
},
|
|
25
|
+
expandedIndicator: {
|
|
26
|
+
marginRight: rem('6px'),
|
|
19
27
|
},
|
|
20
28
|
});
|
|
21
29
|
//# sourceMappingURL=styles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/SidebarItemContent/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/SidebarItemContent/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAA;AAE5C,eAAe,GAAG,EAAE,CAClB,YAAY,CAAC;IACX,MAAM,EAAE;QACN,IAAI,EAAE,CAAC;QACP,QAAQ,EAAE,CAAC;KACZ;IACD,QAAQ,EAAE;QACR,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC;KACvB;IACD,aAAa,EAAE;QACb,UAAU,EAAE,QAAQ;KACrB;IACD,WAAW,EAAE;QACX,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,UAAU;KACrB;IACD,gBAAgB,EAAE;QAChB,QAAQ,EAAE,UAAU;QACpB,GAAG,EAAE,CAAC;QACN,KAAK,EAAE,CAAC;QACR,SAAS,EAAE,sBAAsB;KAClC;IACD,iBAAiB,EAAE;QACjB,WAAW,EAAE,GAAG,CAAC,KAAK,CAAC;KACxB;CACF,CAAC,CAAA"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ReactElement, ReactNode } from 'react';
|
|
2
|
+
import { BadgeProps } from '../Badge';
|
|
3
|
+
import { VariantOnlyProps } from '../TagRectangular/types';
|
|
4
|
+
/** Render Tag.Rectangular */
|
|
5
|
+
export interface SidebarTagProps extends VariantOnlyProps {
|
|
6
|
+
content: string;
|
|
7
|
+
}
|
|
8
|
+
/** Definition of the embedded badge */
|
|
9
|
+
export declare type SidebarBadgeProps = Omit<BadgeProps, 'size' | 'children'>;
|
|
10
|
+
export interface Props {
|
|
11
|
+
compact?: boolean;
|
|
12
|
+
icon?: ReactElement;
|
|
13
|
+
badge?: SidebarBadgeProps;
|
|
14
|
+
tag?: SidebarTagProps;
|
|
15
|
+
children?: ReactNode;
|
|
16
|
+
titleCase?: boolean;
|
|
17
|
+
testIds?: {
|
|
18
|
+
content?: string;
|
|
19
|
+
};
|
|
20
|
+
isSubMenu?: boolean;
|
|
21
|
+
menu?: ReactElement;
|
|
22
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/SidebarItemContent/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { useEffect } from 'react';
|
|
2
|
+
import { useParentItemContext } from '../SidebarItem/ParentItemContextProvider';
|
|
3
|
+
const useIndicatorOnParentItem = ({ isSubMenu, hasBadge, hasTag, }) => {
|
|
4
|
+
const { handleDecoratedItemMount, handleDecoratedItemUnmount, isIndicatorVisible, } = useParentItemContext();
|
|
5
|
+
useEffect(() => {
|
|
6
|
+
if (isSubMenu && (hasBadge || hasTag)) {
|
|
7
|
+
handleDecoratedItemMount();
|
|
8
|
+
return handleDecoratedItemUnmount;
|
|
9
|
+
}
|
|
10
|
+
}, [
|
|
11
|
+
isSubMenu,
|
|
12
|
+
hasBadge,
|
|
13
|
+
hasTag,
|
|
14
|
+
handleDecoratedItemMount,
|
|
15
|
+
handleDecoratedItemUnmount,
|
|
16
|
+
]);
|
|
17
|
+
return isIndicatorVisible;
|
|
18
|
+
};
|
|
19
|
+
export default useIndicatorOnParentItem;
|
|
20
|
+
//# sourceMappingURL=useIndicatorOnParentItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useIndicatorOnParentItem.js","sourceRoot":"","sources":["../../src/SidebarItemContent/useIndicatorOnParentItem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAA;AAQ/E,MAAM,wBAAwB,GAAG,CAAC,EAChC,SAAS,EACT,QAAQ,EACR,MAAM,GACI,EAAE,EAAE;IACd,MAAM,EACJ,wBAAwB,EACxB,0BAA0B,EAC1B,kBAAkB,GACnB,GAAG,oBAAoB,EAAE,CAAA;IAE1B,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,SAAS,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,EAAE;YACrC,wBAAwB,EAAE,CAAA;YAE1B,OAAO,0BAA0B,CAAA;SAClC;IACH,CAAC,EAAE;QACD,SAAS;QACT,QAAQ;QACR,MAAM;QACN,wBAAwB;QACxB,0BAA0B;KAC3B,CAAC,CAAA;IAEF,OAAO,kBAAkB,CAAA;AAC3B,CAAC,CAAA;AAED,eAAe,wBAAwB,CAAA"}
|
package/TagCompound/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export declare const TagCompound: import("react").ForwardRefExoticComponent<import("../Tag/Tag").Props & import("react").RefAttributes<HTMLDivElement>> & {
|
|
2
2
|
Group: import("react").ForwardRefExoticComponent<import("../TagGroup/TagGroup").Props & import("react").RefAttributes<HTMLDivElement>>;
|
|
3
|
-
Rectangular: import("react").ForwardRefExoticComponent<import("../TagRectangular/
|
|
3
|
+
Rectangular: import("react").ForwardRefExoticComponent<import("../TagRectangular/types").Props & import("react").RefAttributes<HTMLDivElement>>;
|
|
4
4
|
Connection: ({ children }: import("../TagConnection/TagConnection").Props) => JSX.Element;
|
|
5
5
|
Checkable: import("react").ForwardRefExoticComponent<import("../TagCheckable/TagCheckable").Props & import("react").RefAttributes<HTMLDivElement>>;
|
|
6
6
|
};
|
|
@@ -1,18 +1,4 @@
|
|
|
1
|
-
import React
|
|
2
|
-
import {
|
|
3
|
-
import { IndicatorProps } from '../Indicator';
|
|
4
|
-
export declare type VariantType = 'red' | 'yellow' | 'dark-grey' | 'light-grey' | 'green';
|
|
5
|
-
export declare type DivOrAnchorProps = AnchorHTMLAttributes<HTMLAnchorElement> & HTMLAttributes<HTMLDivElement>;
|
|
6
|
-
interface VariantOnlyProps extends BaseProps, TextLabelProps, DivOrAnchorProps {
|
|
7
|
-
/** Variant of the rectangular `Tag`, can not be used with the `indicator` property at the same time. */
|
|
8
|
-
variant?: VariantType;
|
|
9
|
-
/** Indicator color, can not be used with the `variant` property at the same time. The Tag's `variant` property is automatically set to `light` when indicator color is set. */
|
|
10
|
-
indicator?: never;
|
|
11
|
-
}
|
|
12
|
-
interface IndicatorOnlyProps extends BaseProps, TextLabelProps, DivOrAnchorProps {
|
|
13
|
-
variant?: never;
|
|
14
|
-
indicator: IndicatorProps['color'];
|
|
15
|
-
}
|
|
16
|
-
export declare type Props = VariantOnlyProps | IndicatorOnlyProps;
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Props } from './types';
|
|
17
3
|
export declare const TagRectangular: React.ForwardRefExoticComponent<Props & React.RefAttributes<HTMLDivElement>>;
|
|
18
4
|
export default TagRectangular;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TagRectangular.js","sourceRoot":"","sources":["../../src/TagRectangular/TagRectangular.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"TagRectangular.js","sourceRoot":"","sources":["../../src/TagRectangular/TagRectangular.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AACzC,OAAO,EAAE,UAAU,EAAS,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAErD,OAAO,SAAS,MAAM,cAAc,CAAA;AACpC,OAAO,IAAI,MAAM,SAAS,CAAA;AAC1B,OAAO,WAAW,MAAM,wBAAwB,CAAA;AAChD,OAAO,MAAM,MAAM,UAAU,CAAA;AAG7B,MAAM,SAAS,GAAG,UAAU,CAAQ,MAAM,EAAE;IAC1C,IAAI,EAAE,uBAAuB;CAC9B,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CACtC,SAAS,cAAc,CAAC,KAAK,EAAE,GAAG;IAChC,MAAM;IACJ,6DAA6D;IAC7D,KAAK,EACL,QAAQ,EACR,KAAK,EACL,SAAS,EACT,SAAS,EAAE,cAAc,EACzB,OAAO,GAAG,YAAY,EACtB,SAAS,KAEP,KAAK,EADJ,IAAI,UACL,KAAK,EAVH,gFAUL,CAAQ,CAAA;IAET,MAAM,OAAO,GAAG,SAAS,EAAE,CAAA;IAC3B,MAAM,SAAS,GAAG,YAAY,CAAC,cAAc,CAAC,CAAA;IAE9C,OAAO,CACL,oBAAC,IAAI,oBACC,IAAI,IACR,GAAG,EAAE,GAAG,EACR,OAAO,EAAE;YACP,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;YACxC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,IAAI,EAAE,OAAO,CAAC,IAAI;SACnB,EACD,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,oBAAC,SAAS,IAAC,KAAK,EAAE,SAAS,GAAI,CAAC,CAAC,CAAC,SAAS,EAC7D,KAAK,EACH,8BACE,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE;gBAChC,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,OAAO,KAAK,YAAY;aACvD,CAAC,IAED,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CACxC,IAET,CACH,CAAA;AACH,CAAC,CACF,CAAA;AAED,cAAc,CAAC,YAAY,GAAG;IAC5B,OAAO,EAAE,YAAY;CACtB,CAAA;AAED,cAAc,CAAC,WAAW,GAAG,gBAAgB,CAAA;AAE7C,eAAe,cAAc,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { HTMLAttributes, AnchorHTMLAttributes } from 'react';
|
|
2
|
+
import { BaseProps, TextLabelProps } from '@toptal/picasso-shared';
|
|
3
|
+
import { IndicatorProps } from '../Indicator';
|
|
4
|
+
export declare type DivOrAnchorProps = AnchorHTMLAttributes<HTMLAnchorElement> & HTMLAttributes<HTMLDivElement>;
|
|
5
|
+
export declare type VariantType = 'red' | 'yellow' | 'dark-grey' | 'light-grey' | 'green';
|
|
6
|
+
export interface VariantOnlyProps extends BaseProps, TextLabelProps, DivOrAnchorProps {
|
|
7
|
+
/** Variant of the rectangular `Tag`, can not be used with the `indicator` property at the same time. */
|
|
8
|
+
variant?: VariantType;
|
|
9
|
+
/** Indicator color, can not be used with the `variant` property at the same time. The Tag's `variant` property is automatically set to `light` when indicator color is set. */
|
|
10
|
+
indicator?: never;
|
|
11
|
+
}
|
|
12
|
+
export interface IndicatorOnlyProps extends BaseProps, TextLabelProps, DivOrAnchorProps {
|
|
13
|
+
variant?: never;
|
|
14
|
+
indicator: IndicatorProps['color'];
|
|
15
|
+
}
|
|
16
|
+
export declare type Props = VariantOnlyProps | IndicatorOnlyProps;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/TagRectangular/types.ts"],"names":[],"mappings":""}
|