@metamask/design-system-react 0.20.0 → 0.21.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/CHANGELOG.md +14 -1
- package/dist/components/AvatarGroup/AvatarGroup.cjs +18 -13
- package/dist/components/AvatarGroup/AvatarGroup.cjs.map +1 -1
- package/dist/components/AvatarGroup/AvatarGroup.constants.cjs +16 -17
- package/dist/components/AvatarGroup/AvatarGroup.constants.cjs.map +1 -1
- package/dist/components/AvatarGroup/AvatarGroup.constants.d.cts +1 -2
- package/dist/components/AvatarGroup/AvatarGroup.constants.d.cts.map +1 -1
- package/dist/components/AvatarGroup/AvatarGroup.constants.d.mts +1 -2
- package/dist/components/AvatarGroup/AvatarGroup.constants.d.mts.map +1 -1
- package/dist/components/AvatarGroup/AvatarGroup.constants.mjs +1 -2
- package/dist/components/AvatarGroup/AvatarGroup.constants.mjs.map +1 -1
- package/dist/components/AvatarGroup/AvatarGroup.d.cts +8 -21
- package/dist/components/AvatarGroup/AvatarGroup.d.cts.map +1 -1
- package/dist/components/AvatarGroup/AvatarGroup.d.mts +8 -21
- package/dist/components/AvatarGroup/AvatarGroup.d.mts.map +1 -1
- package/dist/components/AvatarGroup/AvatarGroup.mjs +9 -4
- package/dist/components/AvatarGroup/AvatarGroup.mjs.map +1 -1
- package/dist/components/AvatarGroup/AvatarGroup.types.cjs.map +1 -1
- package/dist/components/AvatarGroup/AvatarGroup.types.d.cts +7 -24
- package/dist/components/AvatarGroup/AvatarGroup.types.d.cts.map +1 -1
- package/dist/components/AvatarGroup/AvatarGroup.types.d.mts +7 -24
- package/dist/components/AvatarGroup/AvatarGroup.types.d.mts.map +1 -1
- package/dist/components/AvatarGroup/AvatarGroup.types.mjs.map +1 -1
- package/dist/components/AvatarGroup/index.cjs +3 -3
- package/dist/components/AvatarGroup/index.cjs.map +1 -1
- package/dist/components/AvatarGroup/index.d.cts +1 -1
- package/dist/components/AvatarGroup/index.d.cts.map +1 -1
- package/dist/components/AvatarGroup/index.d.mts +1 -1
- package/dist/components/AvatarGroup/index.d.mts.map +1 -1
- package/dist/components/AvatarGroup/index.mjs +1 -1
- package/dist/components/AvatarGroup/index.mjs.map +1 -1
- package/dist/components/Icon/icons/Merge.cjs +32 -0
- package/dist/components/Icon/icons/Merge.cjs.map +1 -0
- package/dist/components/Icon/icons/Merge.d.cts +4 -0
- package/dist/components/Icon/icons/Merge.d.cts.map +1 -0
- package/dist/components/Icon/icons/Merge.d.mts +4 -0
- package/dist/components/Icon/icons/Merge.d.mts.map +1 -0
- package/dist/components/Icon/icons/Merge.mjs +7 -0
- package/dist/components/Icon/icons/Merge.mjs.map +1 -0
- package/dist/components/Icon/icons/index.cjs +2 -0
- package/dist/components/Icon/icons/index.cjs.map +1 -1
- package/dist/components/Icon/icons/index.d.cts +1 -0
- package/dist/components/Icon/icons/index.d.cts.map +1 -1
- package/dist/components/Icon/icons/index.d.mts +1 -0
- package/dist/components/Icon/icons/index.d.mts.map +1 -1
- package/dist/components/Icon/icons/index.mjs +2 -0
- package/dist/components/Icon/icons/index.mjs.map +1 -1
- package/dist/components/Input/Input.cjs +4 -3
- package/dist/components/Input/Input.cjs.map +1 -1
- package/dist/components/Input/Input.d.cts +1 -5
- package/dist/components/Input/Input.d.cts.map +1 -1
- package/dist/components/Input/Input.d.mts +1 -5
- package/dist/components/Input/Input.d.mts.map +1 -1
- package/dist/components/Input/Input.mjs +4 -3
- package/dist/components/Input/Input.mjs.map +1 -1
- package/dist/components/Input/Input.types.cjs.map +1 -1
- package/dist/components/Input/Input.types.d.cts +2 -20
- package/dist/components/Input/Input.types.d.cts.map +1 -1
- package/dist/components/Input/Input.types.d.mts +2 -20
- package/dist/components/Input/Input.types.d.mts.map +1 -1
- package/dist/components/Input/Input.types.mjs.map +1 -1
- package/dist/components/ModalBody/ModalBody.cjs +32 -0
- package/dist/components/ModalBody/ModalBody.cjs.map +1 -0
- package/dist/components/ModalBody/ModalBody.d.cts +4 -0
- package/dist/components/ModalBody/ModalBody.d.cts.map +1 -0
- package/dist/components/ModalBody/ModalBody.d.mts +4 -0
- package/dist/components/ModalBody/ModalBody.d.mts.map +1 -0
- package/dist/components/ModalBody/ModalBody.mjs +13 -0
- package/dist/components/ModalBody/ModalBody.mjs.map +1 -0
- package/dist/components/ModalBody/ModalBody.types.cjs +3 -0
- package/dist/components/ModalBody/ModalBody.types.cjs.map +1 -0
- package/dist/components/ModalBody/ModalBody.types.d.cts +13 -0
- package/dist/components/ModalBody/ModalBody.types.d.cts.map +1 -0
- package/dist/components/ModalBody/ModalBody.types.d.mts +13 -0
- package/dist/components/ModalBody/ModalBody.types.d.mts.map +1 -0
- package/dist/components/ModalBody/ModalBody.types.mjs +2 -0
- package/dist/components/ModalBody/ModalBody.types.mjs.map +1 -0
- package/dist/components/ModalBody/index.cjs +6 -0
- package/dist/components/ModalBody/index.cjs.map +1 -0
- package/dist/components/ModalBody/index.d.cts +3 -0
- package/dist/components/ModalBody/index.d.cts.map +1 -0
- package/dist/components/ModalBody/index.d.mts +3 -0
- package/dist/components/ModalBody/index.d.mts.map +1 -0
- package/dist/components/ModalBody/index.mjs +2 -0
- package/dist/components/ModalBody/index.mjs.map +1 -0
- package/dist/components/ModalFocus/ModalFocus.cjs +56 -0
- package/dist/components/ModalFocus/ModalFocus.cjs.map +1 -0
- package/dist/components/ModalFocus/ModalFocus.d.cts +4 -0
- package/dist/components/ModalFocus/ModalFocus.d.cts.map +1 -0
- package/dist/components/ModalFocus/ModalFocus.d.mts +4 -0
- package/dist/components/ModalFocus/ModalFocus.d.mts.map +1 -0
- package/dist/components/ModalFocus/ModalFocus.mjs +34 -0
- package/dist/components/ModalFocus/ModalFocus.mjs.map +1 -0
- package/dist/components/ModalFocus/ModalFocus.types.cjs +3 -0
- package/dist/components/ModalFocus/ModalFocus.types.cjs.map +1 -0
- package/dist/components/ModalFocus/ModalFocus.types.d.cts +36 -0
- package/dist/components/ModalFocus/ModalFocus.types.d.cts.map +1 -0
- package/dist/components/ModalFocus/ModalFocus.types.d.mts +36 -0
- package/dist/components/ModalFocus/ModalFocus.types.d.mts.map +1 -0
- package/dist/components/ModalFocus/ModalFocus.types.mjs +2 -0
- package/dist/components/ModalFocus/ModalFocus.types.mjs.map +1 -0
- package/dist/components/ModalFocus/index.cjs +6 -0
- package/dist/components/ModalFocus/index.cjs.map +1 -0
- package/dist/components/ModalFocus/index.d.cts +3 -0
- package/dist/components/ModalFocus/index.d.cts.map +1 -0
- package/dist/components/ModalFocus/index.d.mts +3 -0
- package/dist/components/ModalFocus/index.d.mts.map +1 -0
- package/dist/components/ModalFocus/index.mjs +2 -0
- package/dist/components/ModalFocus/index.mjs.map +1 -0
- package/dist/components/ModalFooter/ModalFooter.cjs +44 -0
- package/dist/components/ModalFooter/ModalFooter.cjs.map +1 -0
- package/dist/components/ModalFooter/ModalFooter.d.cts +4 -0
- package/dist/components/ModalFooter/ModalFooter.d.cts.map +1 -0
- package/dist/components/ModalFooter/ModalFooter.d.mts +4 -0
- package/dist/components/ModalFooter/ModalFooter.d.mts.map +1 -0
- package/dist/components/ModalFooter/ModalFooter.mjs +25 -0
- package/dist/components/ModalFooter/ModalFooter.mjs.map +1 -0
- package/dist/components/ModalFooter/ModalFooter.types.cjs +14 -0
- package/dist/components/ModalFooter/ModalFooter.types.cjs.map +1 -0
- package/dist/components/ModalFooter/ModalFooter.types.d.cts +63 -0
- package/dist/components/ModalFooter/ModalFooter.types.d.cts.map +1 -0
- package/dist/components/ModalFooter/ModalFooter.types.d.mts +63 -0
- package/dist/components/ModalFooter/ModalFooter.types.d.mts.map +1 -0
- package/dist/components/ModalFooter/ModalFooter.types.mjs +11 -0
- package/dist/components/ModalFooter/ModalFooter.types.mjs.map +1 -0
- package/dist/components/ModalFooter/index.cjs +8 -0
- package/dist/components/ModalFooter/index.cjs.map +1 -0
- package/dist/components/ModalFooter/index.d.cts +4 -0
- package/dist/components/ModalFooter/index.d.cts.map +1 -0
- package/dist/components/ModalFooter/index.d.mts +4 -0
- package/dist/components/ModalFooter/index.d.mts.map +1 -0
- package/dist/components/ModalFooter/index.mjs +3 -0
- package/dist/components/ModalFooter/index.mjs.map +1 -0
- package/dist/components/ModalOverlay/ModalOverlay.cjs +32 -0
- package/dist/components/ModalOverlay/ModalOverlay.cjs.map +1 -0
- package/dist/components/ModalOverlay/ModalOverlay.d.cts +4 -0
- package/dist/components/ModalOverlay/ModalOverlay.d.cts.map +1 -0
- package/dist/components/ModalOverlay/ModalOverlay.d.mts +4 -0
- package/dist/components/ModalOverlay/ModalOverlay.d.mts.map +1 -0
- package/dist/components/ModalOverlay/ModalOverlay.mjs +13 -0
- package/dist/components/ModalOverlay/ModalOverlay.mjs.map +1 -0
- package/dist/components/ModalOverlay/ModalOverlay.types.cjs +3 -0
- package/dist/components/ModalOverlay/ModalOverlay.types.cjs.map +1 -0
- package/dist/components/ModalOverlay/ModalOverlay.types.d.cts +9 -0
- package/dist/components/ModalOverlay/ModalOverlay.types.d.cts.map +1 -0
- package/dist/components/ModalOverlay/ModalOverlay.types.d.mts +9 -0
- package/dist/components/ModalOverlay/ModalOverlay.types.d.mts.map +1 -0
- package/dist/components/ModalOverlay/ModalOverlay.types.mjs +2 -0
- package/dist/components/ModalOverlay/ModalOverlay.types.mjs.map +1 -0
- package/dist/components/ModalOverlay/index.cjs +6 -0
- package/dist/components/ModalOverlay/index.cjs.map +1 -0
- package/dist/components/ModalOverlay/index.d.cts +3 -0
- package/dist/components/ModalOverlay/index.d.cts.map +1 -0
- package/dist/components/ModalOverlay/index.d.mts +3 -0
- package/dist/components/ModalOverlay/index.d.mts.map +1 -0
- package/dist/components/ModalOverlay/index.mjs +2 -0
- package/dist/components/ModalOverlay/index.mjs.map +1 -0
- package/dist/components/index.cjs +10 -1
- package/dist/components/index.cjs.map +1 -1
- package/dist/components/index.d.cts +8 -0
- package/dist/components/index.d.cts.map +1 -1
- package/dist/components/index.d.mts +8 -0
- package/dist/components/index.d.mts.map +1 -1
- package/dist/components/index.mjs +4 -0
- package/dist/components/index.mjs.map +1 -1
- package/dist/types/index.cjs +3 -15
- package/dist/types/index.cjs.map +1 -1
- package/dist/types/index.d.cts +0 -10
- package/dist/types/index.d.cts.map +1 -1
- package/dist/types/index.d.mts +0 -10
- package/dist/types/index.d.mts.map +1 -1
- package/dist/types/index.mjs +0 -11
- package/dist/types/index.mjs.map +1 -1
- package/package.json +5 -4
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.21.0]
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- Added `Merge` to the icon set so it can be used anywhere `IconName` is supported in `@metamask/design-system-react` ([#1155](https://github.com/MetaMask/metamask-design-system/pull/1155))
|
|
15
|
+
- Added `ModalOverlay`, `ModalBody`, `ModalFocus`, and `ModalFooter` to help Extension consumers migrate modal building blocks into `@metamask/design-system-react` ([#1120](https://github.com/MetaMask/metamask-design-system/pull/1120), [#1121](https://github.com/MetaMask/metamask-design-system/pull/1121), [#1128](https://github.com/MetaMask/metamask-design-system/pull/1128), [#1132](https://github.com/MetaMask/metamask-design-system/pull/1132))
|
|
16
|
+
|
|
17
|
+
### Changed
|
|
18
|
+
|
|
19
|
+
- Updated `Input` to use the shared cross-platform API. Consumers should pass a controlled `value`, use `isReadOnly` as the readonly prop name, and stop relying on `defaultValue` as part of the public component contract ([#1043](https://github.com/MetaMask/metamask-design-system/pull/1043))
|
|
20
|
+
- Updated `AvatarGroup` to use shared cross-platform size and variant contracts, keeping React and React Native aligned on the same public API names and values ([#1067](https://github.com/MetaMask/metamask-design-system/pull/1067))
|
|
21
|
+
|
|
10
22
|
## [0.20.0]
|
|
11
23
|
|
|
12
24
|
### Changed
|
|
@@ -282,7 +294,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
282
294
|
- Full TypeScript support with type definitions and enums
|
|
283
295
|
- Tailwind CSS integration with design token support
|
|
284
296
|
|
|
285
|
-
[Unreleased]: https://github.com/MetaMask/metamask-design-system/compare/@metamask/design-system-react@0.
|
|
297
|
+
[Unreleased]: https://github.com/MetaMask/metamask-design-system/compare/@metamask/design-system-react@0.21.0...HEAD
|
|
298
|
+
[0.21.0]: https://github.com/MetaMask/metamask-design-system/compare/@metamask/design-system-react@0.20.0...@metamask/design-system-react@0.21.0
|
|
286
299
|
[0.20.0]: https://github.com/MetaMask/metamask-design-system/compare/@metamask/design-system-react@0.19.0...@metamask/design-system-react@0.20.0
|
|
287
300
|
[0.19.0]: https://github.com/MetaMask/metamask-design-system/compare/@metamask/design-system-react@0.18.0...@metamask/design-system-react@0.19.0
|
|
288
301
|
[0.18.0]: https://github.com/MetaMask/metamask-design-system/compare/@metamask/design-system-react@0.17.1...@metamask/design-system-react@0.18.0
|
|
@@ -24,17 +24,16 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
26
|
exports.AvatarGroup = void 0;
|
|
27
|
+
const design_system_shared_1 = require("@metamask/design-system-shared");
|
|
27
28
|
const react_1 = __importStar(require("react"));
|
|
28
|
-
const types_1 = require("../../types/index.cjs");
|
|
29
29
|
const tw_merge_1 = require("../../utils/tw-merge.cjs");
|
|
30
30
|
const AvatarAccount_1 = require("../AvatarAccount/index.cjs");
|
|
31
31
|
const AvatarBase_1 = require("../AvatarBase/index.cjs");
|
|
32
32
|
const AvatarFavicon_1 = require("../AvatarFavicon/index.cjs");
|
|
33
33
|
const AvatarNetwork_1 = require("../AvatarNetwork/index.cjs");
|
|
34
34
|
const AvatarToken_1 = require("../AvatarToken/index.cjs");
|
|
35
|
-
const Text_1 = require("../Text/index.cjs");
|
|
36
35
|
const AvatarGroup_constants_1 = require("./AvatarGroup.constants.cjs");
|
|
37
|
-
exports.AvatarGroup = (0, react_1.forwardRef)(({ variant, avatarPropsArr, size =
|
|
36
|
+
exports.AvatarGroup = (0, react_1.forwardRef)(({ variant, avatarPropsArr, size = design_system_shared_1.AvatarGroupSize.Md, max = 4, isReverse = false, overflowTextProps, style, className, ...props }, ref) => {
|
|
38
37
|
const overflowCounter = avatarPropsArr.length - max;
|
|
39
38
|
const shouldRenderOverflowCounter = overflowCounter > 0;
|
|
40
39
|
const negativeSpaceBetweenAvatarsTwClassName = isReverse
|
|
@@ -57,39 +56,45 @@ exports.AvatarGroup = (0, react_1.forwardRef)(({ variant, avatarPropsArr, size =
|
|
|
57
56
|
negativeSpaceBetweenAvatarsTwClassName);
|
|
58
57
|
const renderAvatarList = (0, react_1.useCallback)(() => avatarPropsArr.slice(0, max).map((avatarProps, index) => {
|
|
59
58
|
switch (variant) {
|
|
60
|
-
case
|
|
59
|
+
case design_system_shared_1.AvatarGroupVariant.Account:
|
|
61
60
|
return (react_1.default.createElement(AvatarAccount_1.AvatarAccount, { hasBorder: true, key: `avatar-${index}`, ...avatarProps, size: size, className: `${index > 0 && negativeSpaceBetweenAvatarsTwClassName} ${avatarProps.className}`, style: {
|
|
62
61
|
zIndex: index + 1,
|
|
63
62
|
...avatarProps.style,
|
|
64
63
|
} }));
|
|
65
|
-
case
|
|
64
|
+
case design_system_shared_1.AvatarGroupVariant.Favicon:
|
|
66
65
|
return (react_1.default.createElement(AvatarFavicon_1.AvatarFavicon, { hasBorder: true, key: `avatar-${index}`, ...avatarProps, size: size, className: `${index > 0 && negativeSpaceBetweenAvatarsTwClassName} ${avatarProps.className}`, style: {
|
|
67
66
|
zIndex: index + 1,
|
|
68
67
|
...avatarProps.style,
|
|
69
68
|
} }));
|
|
70
|
-
case
|
|
69
|
+
case design_system_shared_1.AvatarGroupVariant.Network:
|
|
71
70
|
return (react_1.default.createElement(AvatarNetwork_1.AvatarNetwork, { hasBorder: true, key: `avatar-${index}`, ...avatarProps, size: size, className: `${index > 0 && negativeSpaceBetweenAvatarsTwClassName} ${avatarProps.className}`, style: {
|
|
72
71
|
zIndex: index + 1,
|
|
73
72
|
...avatarProps.style,
|
|
74
73
|
} }));
|
|
75
|
-
case
|
|
74
|
+
case design_system_shared_1.AvatarGroupVariant.Token:
|
|
76
75
|
return (react_1.default.createElement(AvatarToken_1.AvatarToken, { hasBorder: true, key: `avatar-${index}`, ...avatarProps, size: size, className: `${index > 0 && negativeSpaceBetweenAvatarsTwClassName} ${avatarProps.className}`, style: {
|
|
77
76
|
zIndex: index + 1,
|
|
78
77
|
...avatarProps.style,
|
|
79
78
|
} }));
|
|
80
79
|
default:
|
|
81
|
-
throw new Error(`Invalid Avatar Variant: ${String(variant)}. Expected one of: ${Object.values(
|
|
80
|
+
throw new Error(`Invalid Avatar Variant: ${String(variant)}. Expected one of: ${Object.values(design_system_shared_1.AvatarGroupVariant).join(', ')}`);
|
|
82
81
|
}
|
|
83
|
-
}), [
|
|
82
|
+
}), [
|
|
83
|
+
avatarPropsArr,
|
|
84
|
+
max,
|
|
85
|
+
negativeSpaceBetweenAvatarsTwClassName,
|
|
86
|
+
size,
|
|
87
|
+
variant,
|
|
88
|
+
]);
|
|
84
89
|
return (react_1.default.createElement("div", { ref: ref, ...props, style: style, className: containerClassNames },
|
|
85
90
|
react_1.default.createElement("div", { className: avatarListContainerClassNames }, renderAvatarList()),
|
|
86
91
|
shouldRenderOverflowCounter && (react_1.default.createElement(AvatarBase_1.AvatarBase, { className: overflowTextContainerClassNames, style: {
|
|
87
92
|
zIndex: avatarPropsArr.length,
|
|
88
93
|
}, hasBorder: true, fallbackText: `+${overflowCounter}`, fallbackTextProps: {
|
|
89
94
|
variant: AvatarGroup_constants_1.AVATAR_GROUP_SIZE_OVERFLOWTEXT_TEXTVARIANT_MAP[size],
|
|
90
|
-
color:
|
|
91
|
-
}, size: size, shape: variant ===
|
|
92
|
-
?
|
|
93
|
-
:
|
|
95
|
+
color: design_system_shared_1.TextColor.PrimaryInverse,
|
|
96
|
+
}, size: size, shape: variant === design_system_shared_1.AvatarGroupVariant.Network
|
|
97
|
+
? design_system_shared_1.AvatarBaseShape.Square
|
|
98
|
+
: design_system_shared_1.AvatarBaseShape.Circle, ...overflowTextProps }))));
|
|
94
99
|
});
|
|
95
100
|
//# sourceMappingURL=AvatarGroup.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AvatarGroup.cjs","sourceRoot":"","sources":["../../../src/components/AvatarGroup/AvatarGroup.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAuD;AAEvD,
|
|
1
|
+
{"version":3,"file":"AvatarGroup.cjs","sourceRoot":"","sources":["../../../src/components/AvatarGroup/AvatarGroup.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n AvatarBaseShape,\n AvatarGroupSize,\n AvatarGroupVariant,\n TextColor,\n} from '@metamask/design-system-shared';\nimport type { AvatarBaseSize } from '@metamask/design-system-shared';\nimport React, { forwardRef, useCallback } from 'react';\n\nimport { twMerge } from '../../utils/tw-merge';\nimport type { AvatarAccountProps } from '../AvatarAccount';\nimport { AvatarAccount } from '../AvatarAccount';\nimport { AvatarBase } from '../AvatarBase';\nimport type { AvatarFaviconProps } from '../AvatarFavicon';\nimport { AvatarFavicon } from '../AvatarFavicon';\nimport type { AvatarNetworkProps } from '../AvatarNetwork';\nimport { AvatarNetwork } from '../AvatarNetwork';\nimport type { AvatarTokenProps } from '../AvatarToken';\nimport { AvatarToken } from '../AvatarToken';\n\nimport {\n AVATAR_GROUP_SIZE_ISREVERSE_NEGATIVESPACEBETWEENAVATARS_MAP,\n AVATAR_GROUP_SIZE_NEGATIVESPACEBETWEENAVATARS_MAP,\n AVATAR_GROUP_SIZE_OVERFLOWTEXT_TEXTVARIANT_MAP,\n} from './AvatarGroup.constants';\nimport type { AvatarGroupProps } from './AvatarGroup.types';\n\nexport const AvatarGroup = forwardRef<HTMLDivElement, AvatarGroupProps>(\n (\n {\n variant,\n avatarPropsArr,\n size = AvatarGroupSize.Md,\n max = 4,\n isReverse = false,\n overflowTextProps,\n style,\n className,\n ...props\n },\n ref,\n ) => {\n const overflowCounter = avatarPropsArr.length - max;\n const shouldRenderOverflowCounter = overflowCounter > 0;\n const negativeSpaceBetweenAvatarsTwClassName = isReverse\n ? AVATAR_GROUP_SIZE_ISREVERSE_NEGATIVESPACEBETWEENAVATARS_MAP[size]\n : AVATAR_GROUP_SIZE_NEGATIVESPACEBETWEENAVATARS_MAP[size];\n const containerClassNames = twMerge(\n // Base style\n 'inline-flex',\n // Reverse style\n isReverse ? 'flex-row-reverse' : 'flex-row',\n className,\n );\n const avatarListContainerClassNames = twMerge(\n // Base style\n 'flex',\n // Reverse style\n isReverse ? 'flex-row-reverse' : 'flex-row',\n );\n const overflowTextContainerClassNames = twMerge(\n // Base style\n 'bg-icon-default',\n // Negative spacing\n negativeSpaceBetweenAvatarsTwClassName,\n );\n\n const renderAvatarList = useCallback(\n () =>\n avatarPropsArr.slice(0, max).map((avatarProps, index) => {\n switch (variant) {\n case AvatarGroupVariant.Account:\n return (\n <AvatarAccount\n hasBorder\n key={`avatar-${index}`}\n {...(avatarProps as AvatarAccountProps)}\n size={size as unknown as AvatarBaseSize}\n className={`${index > 0 && negativeSpaceBetweenAvatarsTwClassName} ${avatarProps.className}`}\n style={{\n zIndex: index + 1,\n ...avatarProps.style,\n }}\n />\n );\n case AvatarGroupVariant.Favicon:\n return (\n <AvatarFavicon\n hasBorder\n key={`avatar-${index}`}\n {...(avatarProps as AvatarFaviconProps)}\n size={size as unknown as AvatarBaseSize}\n className={`${index > 0 && negativeSpaceBetweenAvatarsTwClassName} ${avatarProps.className}`}\n style={{\n zIndex: index + 1,\n ...avatarProps.style,\n }}\n />\n );\n case AvatarGroupVariant.Network:\n return (\n <AvatarNetwork\n hasBorder\n key={`avatar-${index}`}\n {...(avatarProps as AvatarNetworkProps)}\n size={size as unknown as AvatarBaseSize}\n className={`${index > 0 && negativeSpaceBetweenAvatarsTwClassName} ${avatarProps.className}`}\n style={{\n zIndex: index + 1,\n ...avatarProps.style,\n }}\n />\n );\n case AvatarGroupVariant.Token:\n return (\n <AvatarToken\n hasBorder\n key={`avatar-${index}`}\n {...(avatarProps as AvatarTokenProps)}\n size={size as unknown as AvatarBaseSize}\n className={`${index > 0 && negativeSpaceBetweenAvatarsTwClassName} ${avatarProps.className}`}\n style={{\n zIndex: index + 1,\n ...avatarProps.style,\n }}\n />\n );\n default:\n throw new Error(\n `Invalid Avatar Variant: ${String(variant)}. Expected one of: ${Object.values(AvatarGroupVariant).join(', ')}`,\n );\n }\n }),\n [\n avatarPropsArr,\n max,\n negativeSpaceBetweenAvatarsTwClassName,\n size,\n variant,\n ],\n );\n\n return (\n <div ref={ref} {...props} style={style} className={containerClassNames}>\n <div className={avatarListContainerClassNames}>\n {renderAvatarList()}\n </div>\n {shouldRenderOverflowCounter && (\n <AvatarBase\n className={overflowTextContainerClassNames}\n style={{\n zIndex: avatarPropsArr.length,\n }}\n hasBorder\n fallbackText={`+${overflowCounter}`}\n fallbackTextProps={{\n variant: AVATAR_GROUP_SIZE_OVERFLOWTEXT_TEXTVARIANT_MAP[size],\n color: TextColor.PrimaryInverse,\n }}\n size={size}\n shape={\n variant === AvatarGroupVariant.Network\n ? AvatarBaseShape.Square\n : AvatarBaseShape.Circle\n }\n {...overflowTextProps}\n />\n )}\n </div>\n );\n },\n);\n"]}
|
|
@@ -1,28 +1,27 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AVATAR_GROUP_SIZE_OVERFLOWTEXT_TEXTVARIANT_MAP = exports.AVATAR_GROUP_SIZE_ISREVERSE_NEGATIVESPACEBETWEENAVATARS_MAP = exports.AVATAR_GROUP_SIZE_NEGATIVESPACEBETWEENAVATARS_MAP = void 0;
|
|
4
|
-
const
|
|
5
|
-
const Text_1 = require("../Text/index.cjs");
|
|
4
|
+
const design_system_shared_1 = require("@metamask/design-system-shared");
|
|
6
5
|
// Mappings
|
|
7
6
|
exports.AVATAR_GROUP_SIZE_NEGATIVESPACEBETWEENAVATARS_MAP = {
|
|
8
|
-
[
|
|
9
|
-
[
|
|
10
|
-
[
|
|
11
|
-
[
|
|
12
|
-
[
|
|
7
|
+
[design_system_shared_1.AvatarGroupSize.Xs]: 'ml-[-6px]',
|
|
8
|
+
[design_system_shared_1.AvatarGroupSize.Sm]: 'ml-[-10px]',
|
|
9
|
+
[design_system_shared_1.AvatarGroupSize.Md]: 'ml-[-14px]',
|
|
10
|
+
[design_system_shared_1.AvatarGroupSize.Lg]: 'ml-[-18px]',
|
|
11
|
+
[design_system_shared_1.AvatarGroupSize.Xl]: 'ml-[-22px]',
|
|
13
12
|
};
|
|
14
13
|
exports.AVATAR_GROUP_SIZE_ISREVERSE_NEGATIVESPACEBETWEENAVATARS_MAP = {
|
|
15
|
-
[
|
|
16
|
-
[
|
|
17
|
-
[
|
|
18
|
-
[
|
|
19
|
-
[
|
|
14
|
+
[design_system_shared_1.AvatarGroupSize.Xs]: 'mr-[-6px]',
|
|
15
|
+
[design_system_shared_1.AvatarGroupSize.Sm]: 'mr-[-10px]',
|
|
16
|
+
[design_system_shared_1.AvatarGroupSize.Md]: 'mr-[-14px]',
|
|
17
|
+
[design_system_shared_1.AvatarGroupSize.Lg]: 'mr-[-18px]',
|
|
18
|
+
[design_system_shared_1.AvatarGroupSize.Xl]: 'mr-[-22px]',
|
|
20
19
|
};
|
|
21
20
|
exports.AVATAR_GROUP_SIZE_OVERFLOWTEXT_TEXTVARIANT_MAP = {
|
|
22
|
-
[
|
|
23
|
-
[
|
|
24
|
-
[
|
|
25
|
-
[
|
|
26
|
-
[
|
|
21
|
+
[design_system_shared_1.AvatarGroupSize.Xs]: design_system_shared_1.TextVariant.BodyXs,
|
|
22
|
+
[design_system_shared_1.AvatarGroupSize.Sm]: design_system_shared_1.TextVariant.BodySm,
|
|
23
|
+
[design_system_shared_1.AvatarGroupSize.Md]: design_system_shared_1.TextVariant.BodyMd,
|
|
24
|
+
[design_system_shared_1.AvatarGroupSize.Lg]: design_system_shared_1.TextVariant.HeadingMd,
|
|
25
|
+
[design_system_shared_1.AvatarGroupSize.Xl]: design_system_shared_1.TextVariant.HeadingMd,
|
|
27
26
|
};
|
|
28
27
|
//# sourceMappingURL=AvatarGroup.constants.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AvatarGroup.constants.cjs","sourceRoot":"","sources":["../../../src/components/AvatarGroup/AvatarGroup.constants.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"AvatarGroup.constants.cjs","sourceRoot":"","sources":["../../../src/components/AvatarGroup/AvatarGroup.constants.ts"],"names":[],"mappings":";;;AAAA,yEAA8E;AAE9E,WAAW;AACE,QAAA,iDAAiD,GAG1D;IACF,CAAC,sCAAe,CAAC,EAAE,CAAC,EAAE,WAAW;IACjC,CAAC,sCAAe,CAAC,EAAE,CAAC,EAAE,YAAY;IAClC,CAAC,sCAAe,CAAC,EAAE,CAAC,EAAE,YAAY;IAClC,CAAC,sCAAe,CAAC,EAAE,CAAC,EAAE,YAAY;IAClC,CAAC,sCAAe,CAAC,EAAE,CAAC,EAAE,YAAY;CACnC,CAAC;AAEW,QAAA,2DAA2D,GAGpE;IACF,CAAC,sCAAe,CAAC,EAAE,CAAC,EAAE,WAAW;IACjC,CAAC,sCAAe,CAAC,EAAE,CAAC,EAAE,YAAY;IAClC,CAAC,sCAAe,CAAC,EAAE,CAAC,EAAE,YAAY;IAClC,CAAC,sCAAe,CAAC,EAAE,CAAC,EAAE,YAAY;IAClC,CAAC,sCAAe,CAAC,EAAE,CAAC,EAAE,YAAY;CACnC,CAAC;AAEW,QAAA,8CAA8C,GAGvD;IACF,CAAC,sCAAe,CAAC,EAAE,CAAC,EAAE,kCAAW,CAAC,MAAM;IACxC,CAAC,sCAAe,CAAC,EAAE,CAAC,EAAE,kCAAW,CAAC,MAAM;IACxC,CAAC,sCAAe,CAAC,EAAE,CAAC,EAAE,kCAAW,CAAC,MAAM;IACxC,CAAC,sCAAe,CAAC,EAAE,CAAC,EAAE,kCAAW,CAAC,SAAS;IAC3C,CAAC,sCAAe,CAAC,EAAE,CAAC,EAAE,kCAAW,CAAC,SAAS;CAC5C,CAAC","sourcesContent":["import { AvatarGroupSize, TextVariant } from '@metamask/design-system-shared';\n\n// Mappings\nexport const AVATAR_GROUP_SIZE_NEGATIVESPACEBETWEENAVATARS_MAP: Record<\n AvatarGroupSize,\n string\n> = {\n [AvatarGroupSize.Xs]: 'ml-[-6px]',\n [AvatarGroupSize.Sm]: 'ml-[-10px]',\n [AvatarGroupSize.Md]: 'ml-[-14px]',\n [AvatarGroupSize.Lg]: 'ml-[-18px]',\n [AvatarGroupSize.Xl]: 'ml-[-22px]',\n};\n\nexport const AVATAR_GROUP_SIZE_ISREVERSE_NEGATIVESPACEBETWEENAVATARS_MAP: Record<\n AvatarGroupSize,\n string\n> = {\n [AvatarGroupSize.Xs]: 'mr-[-6px]',\n [AvatarGroupSize.Sm]: 'mr-[-10px]',\n [AvatarGroupSize.Md]: 'mr-[-14px]',\n [AvatarGroupSize.Lg]: 'mr-[-18px]',\n [AvatarGroupSize.Xl]: 'mr-[-22px]',\n};\n\nexport const AVATAR_GROUP_SIZE_OVERFLOWTEXT_TEXTVARIANT_MAP: Record<\n AvatarGroupSize,\n TextVariant\n> = {\n [AvatarGroupSize.Xs]: TextVariant.BodyXs,\n [AvatarGroupSize.Sm]: TextVariant.BodySm,\n [AvatarGroupSize.Md]: TextVariant.BodyMd,\n [AvatarGroupSize.Lg]: TextVariant.HeadingMd,\n [AvatarGroupSize.Xl]: TextVariant.HeadingMd,\n};\n"]}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { AvatarGroupSize } from "
|
|
2
|
-
import { TextVariant } from "../Text/index.cjs";
|
|
1
|
+
import { AvatarGroupSize, TextVariant } from "@metamask/design-system-shared";
|
|
3
2
|
export declare const AVATAR_GROUP_SIZE_NEGATIVESPACEBETWEENAVATARS_MAP: Record<AvatarGroupSize, string>;
|
|
4
3
|
export declare const AVATAR_GROUP_SIZE_ISREVERSE_NEGATIVESPACEBETWEENAVATARS_MAP: Record<AvatarGroupSize, string>;
|
|
5
4
|
export declare const AVATAR_GROUP_SIZE_OVERFLOWTEXT_TEXTVARIANT_MAP: Record<AvatarGroupSize, TextVariant>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AvatarGroup.constants.d.cts","sourceRoot":"","sources":["../../../src/components/AvatarGroup/AvatarGroup.constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"AvatarGroup.constants.d.cts","sourceRoot":"","sources":["../../../src/components/AvatarGroup/AvatarGroup.constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,uCAAuC;AAG9E,eAAO,MAAM,iDAAiD,EAAE,MAAM,CACpE,eAAe,EACf,MAAM,CAOP,CAAC;AAEF,eAAO,MAAM,2DAA2D,EAAE,MAAM,CAC9E,eAAe,EACf,MAAM,CAOP,CAAC;AAEF,eAAO,MAAM,8CAA8C,EAAE,MAAM,CACjE,eAAe,EACf,WAAW,CAOZ,CAAC"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { AvatarGroupSize } from "
|
|
2
|
-
import { TextVariant } from "../Text/index.mjs";
|
|
1
|
+
import { AvatarGroupSize, TextVariant } from "@metamask/design-system-shared";
|
|
3
2
|
export declare const AVATAR_GROUP_SIZE_NEGATIVESPACEBETWEENAVATARS_MAP: Record<AvatarGroupSize, string>;
|
|
4
3
|
export declare const AVATAR_GROUP_SIZE_ISREVERSE_NEGATIVESPACEBETWEENAVATARS_MAP: Record<AvatarGroupSize, string>;
|
|
5
4
|
export declare const AVATAR_GROUP_SIZE_OVERFLOWTEXT_TEXTVARIANT_MAP: Record<AvatarGroupSize, TextVariant>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AvatarGroup.constants.d.mts","sourceRoot":"","sources":["../../../src/components/AvatarGroup/AvatarGroup.constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"AvatarGroup.constants.d.mts","sourceRoot":"","sources":["../../../src/components/AvatarGroup/AvatarGroup.constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,uCAAuC;AAG9E,eAAO,MAAM,iDAAiD,EAAE,MAAM,CACpE,eAAe,EACf,MAAM,CAOP,CAAC;AAEF,eAAO,MAAM,2DAA2D,EAAE,MAAM,CAC9E,eAAe,EACf,MAAM,CAOP,CAAC;AAEF,eAAO,MAAM,8CAA8C,EAAE,MAAM,CACjE,eAAe,EACf,WAAW,CAOZ,CAAC"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { AvatarGroupSize } from "
|
|
2
|
-
import { TextVariant } from "../Text/index.mjs";
|
|
1
|
+
import { AvatarGroupSize, TextVariant } from "@metamask/design-system-shared";
|
|
3
2
|
// Mappings
|
|
4
3
|
export const AVATAR_GROUP_SIZE_NEGATIVESPACEBETWEENAVATARS_MAP = {
|
|
5
4
|
[AvatarGroupSize.Xs]: 'ml-[-6px]',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AvatarGroup.constants.mjs","sourceRoot":"","sources":["../../../src/components/AvatarGroup/AvatarGroup.constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"AvatarGroup.constants.mjs","sourceRoot":"","sources":["../../../src/components/AvatarGroup/AvatarGroup.constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,uCAAuC;AAE9E,WAAW;AACX,MAAM,CAAC,MAAM,iDAAiD,GAG1D;IACF,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,WAAW;IACjC,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,YAAY;IAClC,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,YAAY;IAClC,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,YAAY;IAClC,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,YAAY;CACnC,CAAC;AAEF,MAAM,CAAC,MAAM,2DAA2D,GAGpE;IACF,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,WAAW;IACjC,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,YAAY;IAClC,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,YAAY;IAClC,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,YAAY;IAClC,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,YAAY;CACnC,CAAC;AAEF,MAAM,CAAC,MAAM,8CAA8C,GAGvD;IACF,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,MAAM;IACxC,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,MAAM;IACxC,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,MAAM;IACxC,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,SAAS;IAC3C,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,SAAS;CAC5C,CAAC","sourcesContent":["import { AvatarGroupSize, TextVariant } from '@metamask/design-system-shared';\n\n// Mappings\nexport const AVATAR_GROUP_SIZE_NEGATIVESPACEBETWEENAVATARS_MAP: Record<\n AvatarGroupSize,\n string\n> = {\n [AvatarGroupSize.Xs]: 'ml-[-6px]',\n [AvatarGroupSize.Sm]: 'ml-[-10px]',\n [AvatarGroupSize.Md]: 'ml-[-14px]',\n [AvatarGroupSize.Lg]: 'ml-[-18px]',\n [AvatarGroupSize.Xl]: 'ml-[-22px]',\n};\n\nexport const AVATAR_GROUP_SIZE_ISREVERSE_NEGATIVESPACEBETWEENAVATARS_MAP: Record<\n AvatarGroupSize,\n string\n> = {\n [AvatarGroupSize.Xs]: 'mr-[-6px]',\n [AvatarGroupSize.Sm]: 'mr-[-10px]',\n [AvatarGroupSize.Md]: 'mr-[-14px]',\n [AvatarGroupSize.Lg]: 'mr-[-18px]',\n [AvatarGroupSize.Xl]: 'mr-[-22px]',\n};\n\nexport const AVATAR_GROUP_SIZE_OVERFLOWTEXT_TEXTVARIANT_MAP: Record<\n AvatarGroupSize,\n TextVariant\n> = {\n [AvatarGroupSize.Xs]: TextVariant.BodyXs,\n [AvatarGroupSize.Sm]: TextVariant.BodySm,\n [AvatarGroupSize.Md]: TextVariant.BodyMd,\n [AvatarGroupSize.Lg]: TextVariant.HeadingMd,\n [AvatarGroupSize.Xl]: TextVariant.HeadingMd,\n};\n"]}
|
|
@@ -1,48 +1,35 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { AvatarGroupSize, AvatarGroupVariant } from "../../types/index.cjs";
|
|
3
2
|
import type { AvatarAccountProps } from "../AvatarAccount/index.cjs";
|
|
4
3
|
import type { AvatarFaviconProps } from "../AvatarFavicon/index.cjs";
|
|
5
4
|
import type { AvatarNetworkProps } from "../AvatarNetwork/index.cjs";
|
|
6
5
|
import type { AvatarTokenProps } from "../AvatarToken/index.cjs";
|
|
7
|
-
export declare const AvatarGroup: React.ForwardRefExoticComponent<(Omit<{
|
|
8
|
-
size?: AvatarGroupSize | undefined;
|
|
9
|
-
max?: number | undefined;
|
|
10
|
-
isReverse?: boolean | undefined;
|
|
6
|
+
export declare const AvatarGroup: React.ForwardRefExoticComponent<(Omit<Omit<import("@metamask/design-system-shared").AvatarGroupPropsShared, "variant"> & {
|
|
11
7
|
overflowTextProps?: import("../AvatarBase/index.cjs").AvatarBaseProps | undefined;
|
|
12
8
|
className?: string | undefined;
|
|
13
9
|
style?: React.CSSProperties | undefined;
|
|
14
10
|
} & React.ClassAttributes<HTMLDivElement> & React.HTMLAttributes<HTMLDivElement> & {
|
|
15
|
-
variant:
|
|
11
|
+
variant: "account";
|
|
16
12
|
avatarPropsArr: AvatarAccountProps[];
|
|
17
|
-
}, "ref"> | Omit<{
|
|
18
|
-
size?: AvatarGroupSize | undefined;
|
|
19
|
-
max?: number | undefined;
|
|
20
|
-
isReverse?: boolean | undefined;
|
|
13
|
+
}, "ref"> | Omit<Omit<import("@metamask/design-system-shared").AvatarGroupPropsShared, "variant"> & {
|
|
21
14
|
overflowTextProps?: import("../AvatarBase/index.cjs").AvatarBaseProps | undefined;
|
|
22
15
|
className?: string | undefined;
|
|
23
16
|
style?: React.CSSProperties | undefined;
|
|
24
17
|
} & React.ClassAttributes<HTMLDivElement> & React.HTMLAttributes<HTMLDivElement> & {
|
|
25
|
-
variant:
|
|
18
|
+
variant: "favicon";
|
|
26
19
|
avatarPropsArr: AvatarFaviconProps[];
|
|
27
|
-
}, "ref"> | Omit<{
|
|
28
|
-
size?: AvatarGroupSize | undefined;
|
|
29
|
-
max?: number | undefined;
|
|
30
|
-
isReverse?: boolean | undefined;
|
|
20
|
+
}, "ref"> | Omit<Omit<import("@metamask/design-system-shared").AvatarGroupPropsShared, "variant"> & {
|
|
31
21
|
overflowTextProps?: import("../AvatarBase/index.cjs").AvatarBaseProps | undefined;
|
|
32
22
|
className?: string | undefined;
|
|
33
23
|
style?: React.CSSProperties | undefined;
|
|
34
24
|
} & React.ClassAttributes<HTMLDivElement> & React.HTMLAttributes<HTMLDivElement> & {
|
|
35
|
-
variant:
|
|
25
|
+
variant: "network";
|
|
36
26
|
avatarPropsArr: AvatarNetworkProps[];
|
|
37
|
-
}, "ref"> | Omit<{
|
|
38
|
-
size?: AvatarGroupSize | undefined;
|
|
39
|
-
max?: number | undefined;
|
|
40
|
-
isReverse?: boolean | undefined;
|
|
27
|
+
}, "ref"> | Omit<Omit<import("@metamask/design-system-shared").AvatarGroupPropsShared, "variant"> & {
|
|
41
28
|
overflowTextProps?: import("../AvatarBase/index.cjs").AvatarBaseProps | undefined;
|
|
42
29
|
className?: string | undefined;
|
|
43
30
|
style?: React.CSSProperties | undefined;
|
|
44
31
|
} & React.ClassAttributes<HTMLDivElement> & React.HTMLAttributes<HTMLDivElement> & {
|
|
45
|
-
variant:
|
|
32
|
+
variant: "token";
|
|
46
33
|
avatarPropsArr: AvatarTokenProps[];
|
|
47
34
|
}, "ref">) & React.RefAttributes<HTMLDivElement>>;
|
|
48
35
|
//# sourceMappingURL=AvatarGroup.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AvatarGroup.d.cts","sourceRoot":"","sources":["../../../src/components/AvatarGroup/AvatarGroup.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AvatarGroup.d.cts","sourceRoot":"","sources":["../../../src/components/AvatarGroup/AvatarGroup.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAkC,cAAc;AAGvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,mCAAyB;AAG3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,mCAAyB;AAE3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,mCAAyB;AAE3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,iCAAuB;AAUvD,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;iDAgJvB,CAAC"}
|
|
@@ -1,48 +1,35 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { AvatarGroupSize, AvatarGroupVariant } from "../../types/index.mjs";
|
|
3
2
|
import type { AvatarAccountProps } from "../AvatarAccount/index.mjs";
|
|
4
3
|
import type { AvatarFaviconProps } from "../AvatarFavicon/index.mjs";
|
|
5
4
|
import type { AvatarNetworkProps } from "../AvatarNetwork/index.mjs";
|
|
6
5
|
import type { AvatarTokenProps } from "../AvatarToken/index.mjs";
|
|
7
|
-
export declare const AvatarGroup: React.ForwardRefExoticComponent<(Omit<{
|
|
8
|
-
size?: AvatarGroupSize | undefined;
|
|
9
|
-
max?: number | undefined;
|
|
10
|
-
isReverse?: boolean | undefined;
|
|
6
|
+
export declare const AvatarGroup: React.ForwardRefExoticComponent<(Omit<Omit<import("@metamask/design-system-shared").AvatarGroupPropsShared, "variant"> & {
|
|
11
7
|
overflowTextProps?: import("../AvatarBase/index.mjs").AvatarBaseProps | undefined;
|
|
12
8
|
className?: string | undefined;
|
|
13
9
|
style?: React.CSSProperties | undefined;
|
|
14
10
|
} & React.ClassAttributes<HTMLDivElement> & React.HTMLAttributes<HTMLDivElement> & {
|
|
15
|
-
variant:
|
|
11
|
+
variant: "account";
|
|
16
12
|
avatarPropsArr: AvatarAccountProps[];
|
|
17
|
-
}, "ref"> | Omit<{
|
|
18
|
-
size?: AvatarGroupSize | undefined;
|
|
19
|
-
max?: number | undefined;
|
|
20
|
-
isReverse?: boolean | undefined;
|
|
13
|
+
}, "ref"> | Omit<Omit<import("@metamask/design-system-shared").AvatarGroupPropsShared, "variant"> & {
|
|
21
14
|
overflowTextProps?: import("../AvatarBase/index.mjs").AvatarBaseProps | undefined;
|
|
22
15
|
className?: string | undefined;
|
|
23
16
|
style?: React.CSSProperties | undefined;
|
|
24
17
|
} & React.ClassAttributes<HTMLDivElement> & React.HTMLAttributes<HTMLDivElement> & {
|
|
25
|
-
variant:
|
|
18
|
+
variant: "favicon";
|
|
26
19
|
avatarPropsArr: AvatarFaviconProps[];
|
|
27
|
-
}, "ref"> | Omit<{
|
|
28
|
-
size?: AvatarGroupSize | undefined;
|
|
29
|
-
max?: number | undefined;
|
|
30
|
-
isReverse?: boolean | undefined;
|
|
20
|
+
}, "ref"> | Omit<Omit<import("@metamask/design-system-shared").AvatarGroupPropsShared, "variant"> & {
|
|
31
21
|
overflowTextProps?: import("../AvatarBase/index.mjs").AvatarBaseProps | undefined;
|
|
32
22
|
className?: string | undefined;
|
|
33
23
|
style?: React.CSSProperties | undefined;
|
|
34
24
|
} & React.ClassAttributes<HTMLDivElement> & React.HTMLAttributes<HTMLDivElement> & {
|
|
35
|
-
variant:
|
|
25
|
+
variant: "network";
|
|
36
26
|
avatarPropsArr: AvatarNetworkProps[];
|
|
37
|
-
}, "ref"> | Omit<{
|
|
38
|
-
size?: AvatarGroupSize | undefined;
|
|
39
|
-
max?: number | undefined;
|
|
40
|
-
isReverse?: boolean | undefined;
|
|
27
|
+
}, "ref"> | Omit<Omit<import("@metamask/design-system-shared").AvatarGroupPropsShared, "variant"> & {
|
|
41
28
|
overflowTextProps?: import("../AvatarBase/index.mjs").AvatarBaseProps | undefined;
|
|
42
29
|
className?: string | undefined;
|
|
43
30
|
style?: React.CSSProperties | undefined;
|
|
44
31
|
} & React.ClassAttributes<HTMLDivElement> & React.HTMLAttributes<HTMLDivElement> & {
|
|
45
|
-
variant:
|
|
32
|
+
variant: "token";
|
|
46
33
|
avatarPropsArr: AvatarTokenProps[];
|
|
47
34
|
}, "ref">) & React.RefAttributes<HTMLDivElement>>;
|
|
48
35
|
//# sourceMappingURL=AvatarGroup.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AvatarGroup.d.mts","sourceRoot":"","sources":["../../../src/components/AvatarGroup/AvatarGroup.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AvatarGroup.d.mts","sourceRoot":"","sources":["../../../src/components/AvatarGroup/AvatarGroup.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAkC,cAAc;AAGvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,mCAAyB;AAG3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,mCAAyB;AAE3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,mCAAyB;AAE3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,iCAAuB;AAUvD,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;iDAgJvB,CAAC"}
|
|
@@ -4,16 +4,15 @@ function $importDefault(module) {
|
|
|
4
4
|
}
|
|
5
5
|
return module;
|
|
6
6
|
}
|
|
7
|
+
import { AvatarBaseShape, AvatarGroupSize, AvatarGroupVariant, TextColor } from "@metamask/design-system-shared";
|
|
7
8
|
import $React, { forwardRef, useCallback } from "react";
|
|
8
9
|
const React = $importDefault($React);
|
|
9
|
-
import { AvatarGroupSize, AvatarGroupVariant } from "../../types/index.mjs";
|
|
10
10
|
import { twMerge } from "../../utils/tw-merge.mjs";
|
|
11
11
|
import { AvatarAccount } from "../AvatarAccount/index.mjs";
|
|
12
|
-
import { AvatarBase
|
|
12
|
+
import { AvatarBase } from "../AvatarBase/index.mjs";
|
|
13
13
|
import { AvatarFavicon } from "../AvatarFavicon/index.mjs";
|
|
14
14
|
import { AvatarNetwork } from "../AvatarNetwork/index.mjs";
|
|
15
15
|
import { AvatarToken } from "../AvatarToken/index.mjs";
|
|
16
|
-
import { TextColor } from "../Text/index.mjs";
|
|
17
16
|
import { AVATAR_GROUP_SIZE_ISREVERSE_NEGATIVESPACEBETWEENAVATARS_MAP, AVATAR_GROUP_SIZE_NEGATIVESPACEBETWEENAVATARS_MAP, AVATAR_GROUP_SIZE_OVERFLOWTEXT_TEXTVARIANT_MAP } from "./AvatarGroup.constants.mjs";
|
|
18
17
|
export const AvatarGroup = forwardRef(({ variant, avatarPropsArr, size = AvatarGroupSize.Md, max = 4, isReverse = false, overflowTextProps, style, className, ...props }, ref) => {
|
|
19
18
|
const overflowCounter = avatarPropsArr.length - max;
|
|
@@ -61,7 +60,13 @@ export const AvatarGroup = forwardRef(({ variant, avatarPropsArr, size = AvatarG
|
|
|
61
60
|
default:
|
|
62
61
|
throw new Error(`Invalid Avatar Variant: ${String(variant)}. Expected one of: ${Object.values(AvatarGroupVariant).join(', ')}`);
|
|
63
62
|
}
|
|
64
|
-
}), [
|
|
63
|
+
}), [
|
|
64
|
+
avatarPropsArr,
|
|
65
|
+
max,
|
|
66
|
+
negativeSpaceBetweenAvatarsTwClassName,
|
|
67
|
+
size,
|
|
68
|
+
variant,
|
|
69
|
+
]);
|
|
65
70
|
return (React.createElement("div", { ref: ref, ...props, style: style, className: containerClassNames },
|
|
66
71
|
React.createElement("div", { className: avatarListContainerClassNames }, renderAvatarList()),
|
|
67
72
|
shouldRenderOverflowCounter && (React.createElement(AvatarBase, { className: overflowTextContainerClassNames, style: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AvatarGroup.mjs","sourceRoot":"","sources":["../../../src/components/AvatarGroup/AvatarGroup.tsx"],"names":[],"mappings":";;;;;;AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"AvatarGroup.mjs","sourceRoot":"","sources":["../../../src/components/AvatarGroup/AvatarGroup.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n AvatarBaseShape,\n AvatarGroupSize,\n AvatarGroupVariant,\n TextColor,\n} from '@metamask/design-system-shared';\nimport type { AvatarBaseSize } from '@metamask/design-system-shared';\nimport React, { forwardRef, useCallback } from 'react';\n\nimport { twMerge } from '../../utils/tw-merge';\nimport type { AvatarAccountProps } from '../AvatarAccount';\nimport { AvatarAccount } from '../AvatarAccount';\nimport { AvatarBase } from '../AvatarBase';\nimport type { AvatarFaviconProps } from '../AvatarFavicon';\nimport { AvatarFavicon } from '../AvatarFavicon';\nimport type { AvatarNetworkProps } from '../AvatarNetwork';\nimport { AvatarNetwork } from '../AvatarNetwork';\nimport type { AvatarTokenProps } from '../AvatarToken';\nimport { AvatarToken } from '../AvatarToken';\n\nimport {\n AVATAR_GROUP_SIZE_ISREVERSE_NEGATIVESPACEBETWEENAVATARS_MAP,\n AVATAR_GROUP_SIZE_NEGATIVESPACEBETWEENAVATARS_MAP,\n AVATAR_GROUP_SIZE_OVERFLOWTEXT_TEXTVARIANT_MAP,\n} from './AvatarGroup.constants';\nimport type { AvatarGroupProps } from './AvatarGroup.types';\n\nexport const AvatarGroup = forwardRef<HTMLDivElement, AvatarGroupProps>(\n (\n {\n variant,\n avatarPropsArr,\n size = AvatarGroupSize.Md,\n max = 4,\n isReverse = false,\n overflowTextProps,\n style,\n className,\n ...props\n },\n ref,\n ) => {\n const overflowCounter = avatarPropsArr.length - max;\n const shouldRenderOverflowCounter = overflowCounter > 0;\n const negativeSpaceBetweenAvatarsTwClassName = isReverse\n ? AVATAR_GROUP_SIZE_ISREVERSE_NEGATIVESPACEBETWEENAVATARS_MAP[size]\n : AVATAR_GROUP_SIZE_NEGATIVESPACEBETWEENAVATARS_MAP[size];\n const containerClassNames = twMerge(\n // Base style\n 'inline-flex',\n // Reverse style\n isReverse ? 'flex-row-reverse' : 'flex-row',\n className,\n );\n const avatarListContainerClassNames = twMerge(\n // Base style\n 'flex',\n // Reverse style\n isReverse ? 'flex-row-reverse' : 'flex-row',\n );\n const overflowTextContainerClassNames = twMerge(\n // Base style\n 'bg-icon-default',\n // Negative spacing\n negativeSpaceBetweenAvatarsTwClassName,\n );\n\n const renderAvatarList = useCallback(\n () =>\n avatarPropsArr.slice(0, max).map((avatarProps, index) => {\n switch (variant) {\n case AvatarGroupVariant.Account:\n return (\n <AvatarAccount\n hasBorder\n key={`avatar-${index}`}\n {...(avatarProps as AvatarAccountProps)}\n size={size as unknown as AvatarBaseSize}\n className={`${index > 0 && negativeSpaceBetweenAvatarsTwClassName} ${avatarProps.className}`}\n style={{\n zIndex: index + 1,\n ...avatarProps.style,\n }}\n />\n );\n case AvatarGroupVariant.Favicon:\n return (\n <AvatarFavicon\n hasBorder\n key={`avatar-${index}`}\n {...(avatarProps as AvatarFaviconProps)}\n size={size as unknown as AvatarBaseSize}\n className={`${index > 0 && negativeSpaceBetweenAvatarsTwClassName} ${avatarProps.className}`}\n style={{\n zIndex: index + 1,\n ...avatarProps.style,\n }}\n />\n );\n case AvatarGroupVariant.Network:\n return (\n <AvatarNetwork\n hasBorder\n key={`avatar-${index}`}\n {...(avatarProps as AvatarNetworkProps)}\n size={size as unknown as AvatarBaseSize}\n className={`${index > 0 && negativeSpaceBetweenAvatarsTwClassName} ${avatarProps.className}`}\n style={{\n zIndex: index + 1,\n ...avatarProps.style,\n }}\n />\n );\n case AvatarGroupVariant.Token:\n return (\n <AvatarToken\n hasBorder\n key={`avatar-${index}`}\n {...(avatarProps as AvatarTokenProps)}\n size={size as unknown as AvatarBaseSize}\n className={`${index > 0 && negativeSpaceBetweenAvatarsTwClassName} ${avatarProps.className}`}\n style={{\n zIndex: index + 1,\n ...avatarProps.style,\n }}\n />\n );\n default:\n throw new Error(\n `Invalid Avatar Variant: ${String(variant)}. Expected one of: ${Object.values(AvatarGroupVariant).join(', ')}`,\n );\n }\n }),\n [\n avatarPropsArr,\n max,\n negativeSpaceBetweenAvatarsTwClassName,\n size,\n variant,\n ],\n );\n\n return (\n <div ref={ref} {...props} style={style} className={containerClassNames}>\n <div className={avatarListContainerClassNames}>\n {renderAvatarList()}\n </div>\n {shouldRenderOverflowCounter && (\n <AvatarBase\n className={overflowTextContainerClassNames}\n style={{\n zIndex: avatarPropsArr.length,\n }}\n hasBorder\n fallbackText={`+${overflowCounter}`}\n fallbackTextProps={{\n variant: AVATAR_GROUP_SIZE_OVERFLOWTEXT_TEXTVARIANT_MAP[size],\n color: TextColor.PrimaryInverse,\n }}\n size={size}\n shape={\n variant === AvatarGroupVariant.Network\n ? AvatarBaseShape.Square\n : AvatarBaseShape.Circle\n }\n {...overflowTextProps}\n />\n )}\n </div>\n );\n },\n);\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AvatarGroup.types.cjs","sourceRoot":"","sources":["../../../src/components/AvatarGroup/AvatarGroup.types.ts"],"names":[],"mappings":"","sourcesContent":["import type {
|
|
1
|
+
{"version":3,"file":"AvatarGroup.types.cjs","sourceRoot":"","sources":["../../../src/components/AvatarGroup/AvatarGroup.types.ts"],"names":[],"mappings":"","sourcesContent":["import type {\n AvatarGroupPropsShared,\n AvatarGroupVariant,\n} from '@metamask/design-system-shared';\nimport type { ComponentProps } from 'react';\n\nimport type { AvatarAccountProps } from '../AvatarAccount';\nimport type { AvatarBaseProps } from '../AvatarBase';\nimport type { AvatarFaviconProps } from '../AvatarFavicon';\nimport type { AvatarNetworkProps } from '../AvatarNetwork';\nimport type { AvatarTokenProps } from '../AvatarToken';\n\ntype BaseAvatarGroupProps = Omit<AvatarGroupPropsShared, 'variant'> & {\n /**\n * Optional prop to pass additional AvatarBase props to the overflow Text element.\n */\n overflowTextProps?: AvatarBaseProps;\n /**\n * Optional prop for additional CSS classes to be applied to the AvatarGroup component.\n * These classes will be merged with the component's default classes using twMerge.\n */\n className?: string;\n /**\n * Optional CSS styles to be applied to the component.\n * Should be used sparingly and only for dynamic styles that can't be achieved with className.\n */\n style?: React.CSSProperties;\n} & ComponentProps<'div'>;\n\n/**\n * AvatarGroup props.\n */\nexport type AvatarGroupProps = BaseAvatarGroupProps &\n (\n | {\n variant: typeof AvatarGroupVariant.Account;\n /**\n * A list of Avatars to be horizontally stacked.\n * Note: AvatarGroupProps's size prop will overwrite each individual avatarProp's size.\n */\n avatarPropsArr: AvatarAccountProps[];\n }\n | {\n variant: typeof AvatarGroupVariant.Favicon;\n /**\n * A list of Avatars to be horizontally stacked.\n * Note: AvatarGroupProps's size prop will overwrite each individual avatarProp's size.\n */\n avatarPropsArr: AvatarFaviconProps[];\n }\n | {\n variant: typeof AvatarGroupVariant.Network;\n /**\n * A list of Avatars to be horizontally stacked.\n * Note: AvatarGroupProps's size prop will overwrite each individual avatarProp's size.\n */\n avatarPropsArr: AvatarNetworkProps[];\n }\n | {\n variant: typeof AvatarGroupVariant.Token;\n /**\n * A list of Avatars to be horizontally stacked.\n * Note: AvatarGroupProps's size prop will overwrite each individual avatarProp's size.\n */\n avatarPropsArr: AvatarTokenProps[];\n }\n );\n"]}
|
|
@@ -1,30 +1,13 @@
|
|
|
1
|
+
import type { AvatarGroupPropsShared, AvatarGroupVariant } from "@metamask/design-system-shared";
|
|
1
2
|
import type { ComponentProps } from "react";
|
|
2
|
-
import type { AvatarGroupSize, AvatarGroupVariant } from "../../types/index.cjs";
|
|
3
3
|
import type { AvatarAccountProps } from "../AvatarAccount/index.cjs";
|
|
4
4
|
import type { AvatarBaseProps } from "../AvatarBase/index.cjs";
|
|
5
5
|
import type { AvatarFaviconProps } from "../AvatarFavicon/index.cjs";
|
|
6
6
|
import type { AvatarNetworkProps } from "../AvatarNetwork/index.cjs";
|
|
7
7
|
import type { AvatarTokenProps } from "../AvatarToken/index.cjs";
|
|
8
|
-
type BaseAvatarGroupProps = {
|
|
8
|
+
type BaseAvatarGroupProps = Omit<AvatarGroupPropsShared, 'variant'> & {
|
|
9
9
|
/**
|
|
10
|
-
* Optional
|
|
11
|
-
*
|
|
12
|
-
* @default AvatarGroupSize.Md
|
|
13
|
-
*/
|
|
14
|
-
size?: AvatarGroupSize;
|
|
15
|
-
/**
|
|
16
|
-
* Optional enum to select max number of Avatars visible,
|
|
17
|
-
* before the overflow counter being displayed
|
|
18
|
-
*
|
|
19
|
-
* @default 4
|
|
20
|
-
*/
|
|
21
|
-
max?: number;
|
|
22
|
-
/**
|
|
23
|
-
* Optional prop to reverse the direction of the AvatarGroup
|
|
24
|
-
*/
|
|
25
|
-
isReverse?: boolean;
|
|
26
|
-
/**
|
|
27
|
-
* Optional prop to pass additional AvatarBase props to the overflow Text element
|
|
10
|
+
* Optional prop to pass additional AvatarBase props to the overflow Text element.
|
|
28
11
|
*/
|
|
29
12
|
overflowTextProps?: AvatarBaseProps;
|
|
30
13
|
/**
|
|
@@ -42,28 +25,28 @@ type BaseAvatarGroupProps = {
|
|
|
42
25
|
* AvatarGroup props.
|
|
43
26
|
*/
|
|
44
27
|
export type AvatarGroupProps = BaseAvatarGroupProps & ({
|
|
45
|
-
variant: AvatarGroupVariant.Account;
|
|
28
|
+
variant: typeof AvatarGroupVariant.Account;
|
|
46
29
|
/**
|
|
47
30
|
* A list of Avatars to be horizontally stacked.
|
|
48
31
|
* Note: AvatarGroupProps's size prop will overwrite each individual avatarProp's size.
|
|
49
32
|
*/
|
|
50
33
|
avatarPropsArr: AvatarAccountProps[];
|
|
51
34
|
} | {
|
|
52
|
-
variant: AvatarGroupVariant.Favicon;
|
|
35
|
+
variant: typeof AvatarGroupVariant.Favicon;
|
|
53
36
|
/**
|
|
54
37
|
* A list of Avatars to be horizontally stacked.
|
|
55
38
|
* Note: AvatarGroupProps's size prop will overwrite each individual avatarProp's size.
|
|
56
39
|
*/
|
|
57
40
|
avatarPropsArr: AvatarFaviconProps[];
|
|
58
41
|
} | {
|
|
59
|
-
variant: AvatarGroupVariant.Network;
|
|
42
|
+
variant: typeof AvatarGroupVariant.Network;
|
|
60
43
|
/**
|
|
61
44
|
* A list of Avatars to be horizontally stacked.
|
|
62
45
|
* Note: AvatarGroupProps's size prop will overwrite each individual avatarProp's size.
|
|
63
46
|
*/
|
|
64
47
|
avatarPropsArr: AvatarNetworkProps[];
|
|
65
48
|
} | {
|
|
66
|
-
variant: AvatarGroupVariant.Token;
|
|
49
|
+
variant: typeof AvatarGroupVariant.Token;
|
|
67
50
|
/**
|
|
68
51
|
* A list of Avatars to be horizontally stacked.
|
|
69
52
|
* Note: AvatarGroupProps's size prop will overwrite each individual avatarProp's size.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AvatarGroup.types.d.cts","sourceRoot":"","sources":["../../../src/components/AvatarGroup/AvatarGroup.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"AvatarGroup.types.d.cts","sourceRoot":"","sources":["../../../src/components/AvatarGroup/AvatarGroup.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,kBAAkB,EACnB,uCAAuC;AACxC,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc;AAE5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,mCAAyB;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,gCAAsB;AACrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,mCAAyB;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,mCAAyB;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,iCAAuB;AAEvD,KAAK,oBAAoB,GAAG,IAAI,CAAC,sBAAsB,EAAE,SAAS,CAAC,GAAG;IACpE;;OAEG;IACH,iBAAiB,CAAC,EAAE,eAAe,CAAC;IACpC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;AAE1B;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,oBAAoB,GACjD,CACI;IACE,OAAO,EAAE,OAAO,kBAAkB,CAAC,OAAO,CAAC;IAC3C;;;OAGG;IACH,cAAc,EAAE,kBAAkB,EAAE,CAAC;CACtC,GACD;IACE,OAAO,EAAE,OAAO,kBAAkB,CAAC,OAAO,CAAC;IAC3C;;;OAGG;IACH,cAAc,EAAE,kBAAkB,EAAE,CAAC;CACtC,GACD;IACE,OAAO,EAAE,OAAO,kBAAkB,CAAC,OAAO,CAAC;IAC3C;;;OAGG;IACH,cAAc,EAAE,kBAAkB,EAAE,CAAC;CACtC,GACD;IACE,OAAO,EAAE,OAAO,kBAAkB,CAAC,KAAK,CAAC;IACzC;;;OAGG;IACH,cAAc,EAAE,gBAAgB,EAAE,CAAC;CACpC,CACJ,CAAC"}
|