@cdx-ui/components 0.0.1-beta.36 → 0.0.1-beta.37
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/lib/commonjs/components/Avatar/index.js +1 -1
- package/lib/commonjs/components/Avatar/styles.js +36 -29
- package/lib/commonjs/components/Avatar/styles.js.map +1 -1
- package/lib/commonjs/figma/Avatar.figma.js +54 -0
- package/lib/commonjs/figma/Avatar.figma.js.map +1 -0
- package/lib/module/components/Avatar/index.js +1 -1
- package/lib/module/components/Avatar/styles.js +36 -29
- package/lib/module/components/Avatar/styles.js.map +1 -1
- package/lib/module/figma/Avatar.figma.js +48 -0
- package/lib/module/figma/Avatar.figma.js.map +1 -0
- package/lib/typescript/components/Avatar/styles.d.ts +4 -4
- package/lib/typescript/components/Avatar/styles.d.ts.map +1 -1
- package/lib/typescript/components/Heading/styles.d.ts +1 -1
- package/lib/typescript/components/Stack/styles.d.ts +2 -2
- package/lib/typescript/components/Text/styles.d.ts +1 -1
- package/lib/typescript/figma/Avatar.figma.d.ts +8 -0
- package/lib/typescript/figma/Avatar.figma.d.ts.map +1 -0
- package/package.json +4 -4
- package/src/components/Avatar/index.tsx +1 -1
- package/src/components/Avatar/styles.ts +49 -34
|
@@ -27,7 +27,7 @@ const AvatarPrimitive = (0, _primitives.createAvatar)({
|
|
|
27
27
|
// =============================================================================
|
|
28
28
|
|
|
29
29
|
const AvatarRoot = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
30
|
-
size = '
|
|
30
|
+
size = 'md',
|
|
31
31
|
className,
|
|
32
32
|
children,
|
|
33
33
|
style,
|
|
@@ -5,76 +5,83 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.avatarTextVariants = exports.avatarRootVariants = exports.avatarImageVariants = exports.avatarIconVariants = exports.avatarBadgeVariants = void 0;
|
|
7
7
|
var _classVarianceAuthority = require("class-variance-authority");
|
|
8
|
-
var _primitives = require("../../styles/primitives");
|
|
9
8
|
// ── Root ─────────────────────────────────────────────────
|
|
10
9
|
|
|
11
|
-
const avatarRootVariants = exports.avatarRootVariants = (0, _classVarianceAuthority.cva)([
|
|
10
|
+
const avatarRootVariants = exports.avatarRootVariants = (0, _classVarianceAuthority.cva)(['rounded-[var(--border-radius-round)]', 'relative items-center justify-center', 'bg-surface-tertiary'], {
|
|
12
11
|
variants: {
|
|
13
12
|
size: {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
13
|
+
'2xs': 'w-3 h-3',
|
|
14
|
+
xs: 'w-[18px] h-[18px]',
|
|
15
|
+
sm: 'w-6 h-6',
|
|
16
|
+
md: 'w-8 h-8',
|
|
17
|
+
lg: 'w-10 h-10',
|
|
18
|
+
xl: 'w-12 h-12',
|
|
19
|
+
'2xl': 'w-14 h-14'
|
|
19
20
|
}
|
|
20
21
|
},
|
|
21
22
|
defaultVariants: {
|
|
22
|
-
size: '
|
|
23
|
+
size: 'md'
|
|
23
24
|
}
|
|
24
25
|
});
|
|
25
26
|
|
|
26
27
|
// ── Image ────────────────────────────────────────────────
|
|
27
28
|
|
|
28
|
-
const avatarImageVariants = exports.avatarImageVariants = (0, _classVarianceAuthority.cva)(['absolute top-0 left-0 w-full h-full',
|
|
29
|
+
const avatarImageVariants = exports.avatarImageVariants = (0, _classVarianceAuthority.cva)(['absolute top-0 left-0 w-full h-full', 'rounded-[var(--border-radius-round)]', 'overflow-hidden', 'border border-stroke-secondary']);
|
|
29
30
|
|
|
30
31
|
// ── Text ─────────────────────────────────────────────────
|
|
31
32
|
|
|
32
|
-
const avatarTextVariants = exports.avatarTextVariants = (0, _classVarianceAuthority.cva)([
|
|
33
|
+
const avatarTextVariants = exports.avatarTextVariants = (0, _classVarianceAuthority.cva)(['text-content-primary', 'font-medium'], {
|
|
33
34
|
variants: {
|
|
34
35
|
size: {
|
|
36
|
+
'2xs': 'text-[6px]',
|
|
37
|
+
xs: 'text-[9px]',
|
|
35
38
|
sm: 'text-xs',
|
|
36
|
-
md: 'text-
|
|
37
|
-
lg: 'text-
|
|
38
|
-
xl: 'text-
|
|
39
|
-
'2xl': 'text-
|
|
39
|
+
md: 'text-base',
|
|
40
|
+
lg: 'text-xl',
|
|
41
|
+
xl: 'text-2xl',
|
|
42
|
+
'2xl': 'text-[28px]'
|
|
40
43
|
}
|
|
41
44
|
},
|
|
42
45
|
defaultVariants: {
|
|
43
|
-
size: '
|
|
46
|
+
size: 'md'
|
|
44
47
|
}
|
|
45
48
|
});
|
|
46
49
|
|
|
47
50
|
// ── Icon ─────────────────────────────────────────────────
|
|
48
51
|
|
|
49
|
-
const avatarIconVariants = exports.avatarIconVariants = (0, _classVarianceAuthority.cva)([
|
|
52
|
+
const avatarIconVariants = exports.avatarIconVariants = (0, _classVarianceAuthority.cva)(['text-content-primary'], {
|
|
50
53
|
variants: {
|
|
51
54
|
size: {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
55
|
+
'2xs': 'size-1.5',
|
|
56
|
+
xs: 'size-[9px]',
|
|
57
|
+
sm: 'size-3',
|
|
58
|
+
md: 'size-4',
|
|
59
|
+
lg: 'size-5',
|
|
60
|
+
xl: 'size-6',
|
|
61
|
+
'2xl': 'size-7'
|
|
57
62
|
}
|
|
58
63
|
},
|
|
59
64
|
defaultVariants: {
|
|
60
|
-
size: '
|
|
65
|
+
size: 'md'
|
|
61
66
|
}
|
|
62
67
|
});
|
|
63
68
|
|
|
64
69
|
// ── Badge ────────────────────────────────────────────────
|
|
65
70
|
|
|
66
|
-
const avatarBadgeVariants = exports.avatarBadgeVariants = (0, _classVarianceAuthority.cva)(['absolute border-
|
|
71
|
+
const avatarBadgeVariants = exports.avatarBadgeVariants = (0, _classVarianceAuthority.cva)(['absolute border-white', 'rounded-[var(--border-radius-round)]', 'bottom-0 right-0'], {
|
|
67
72
|
variants: {
|
|
68
73
|
size: {
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
+
'2xs': 'w-1.5 h-1.5 border translate-x-[21%] translate-y-[21%]',
|
|
75
|
+
xs: 'w-2 h-2 border translate-x-[17%] translate-y-[17%]',
|
|
76
|
+
sm: 'w-2.5 h-2.5 border-2 translate-x-[15%] translate-y-[15%]',
|
|
77
|
+
md: 'w-3 h-3 border-2 translate-x-[11%] translate-y-[11%]',
|
|
78
|
+
lg: 'w-3.5 h-3.5 border-2 translate-x-[8%] translate-y-[8%]',
|
|
79
|
+
xl: 'w-4 h-4 border-2 translate-x-[6%] translate-y-[6%]',
|
|
80
|
+
'2xl': 'w-5 h-5 border-2 translate-x-[9%] translate-y-[9%]'
|
|
74
81
|
}
|
|
75
82
|
},
|
|
76
83
|
defaultVariants: {
|
|
77
|
-
size: '
|
|
84
|
+
size: 'md'
|
|
78
85
|
}
|
|
79
86
|
});
|
|
80
87
|
//# sourceMappingURL=styles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_classVarianceAuthority","require","
|
|
1
|
+
{"version":3,"names":["_classVarianceAuthority","require","avatarRootVariants","exports","cva","variants","size","xs","sm","md","lg","xl","defaultVariants","avatarImageVariants","avatarTextVariants","avatarIconVariants","avatarBadgeVariants"],"sourceRoot":"../../../../src","sources":["components/Avatar/styles.ts"],"mappings":";;;;;;AAAA,IAAAA,uBAAA,GAAAC,OAAA;AAEA;;AAEO,MAAMC,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,GAAG,IAAAE,2BAAG,EACnC,CACE,sCAAsC,EACtC,sCAAsC,EACtC,qBAAqB,CACtB,EACD;EACEC,QAAQ,EAAE;IACRC,IAAI,EAAE;MACJ,KAAK,EAAE,SAAS;MAChBC,EAAE,EAAE,mBAAmB;MACvBC,EAAE,EAAE,SAAS;MACbC,EAAE,EAAE,SAAS;MACbC,EAAE,EAAE,WAAW;MACfC,EAAE,EAAE,WAAW;MACf,KAAK,EAAE;IACT;EACF,CAAC;EACDC,eAAe,EAAE;IACfN,IAAI,EAAE;EACR;AACF,CACF,CAAC;;AAED;;AAEO,MAAMO,mBAAmB,GAAAV,OAAA,CAAAU,mBAAA,GAAG,IAAAT,2BAAG,EAAC,CACrC,qCAAqC,EACrC,sCAAsC,EACtC,iBAAiB,EACjB,gCAAgC,CACjC,CAAC;;AAEF;;AAEO,MAAMU,kBAAkB,GAAAX,OAAA,CAAAW,kBAAA,GAAG,IAAAV,2BAAG,EAAC,CAAC,sBAAsB,EAAE,aAAa,CAAC,EAAE;EAC7EC,QAAQ,EAAE;IACRC,IAAI,EAAE;MACJ,KAAK,EAAE,YAAY;MACnBC,EAAE,EAAE,YAAY;MAChBC,EAAE,EAAE,SAAS;MACbC,EAAE,EAAE,WAAW;MACfC,EAAE,EAAE,SAAS;MACbC,EAAE,EAAE,UAAU;MACd,KAAK,EAAE;IACT;EACF,CAAC;EACDC,eAAe,EAAE;IACfN,IAAI,EAAE;EACR;AACF,CAAC,CAAC;;AAEF;;AAEO,MAAMS,kBAAkB,GAAAZ,OAAA,CAAAY,kBAAA,GAAG,IAAAX,2BAAG,EAAC,CAAC,sBAAsB,CAAC,EAAE;EAC9DC,QAAQ,EAAE;IACRC,IAAI,EAAE;MACJ,KAAK,EAAE,UAAU;MACjBC,EAAE,EAAE,YAAY;MAChBC,EAAE,EAAE,QAAQ;MACZC,EAAE,EAAE,QAAQ;MACZC,EAAE,EAAE,QAAQ;MACZC,EAAE,EAAE,QAAQ;MACZ,KAAK,EAAE;IACT;EACF,CAAC;EACDC,eAAe,EAAE;IACfN,IAAI,EAAE;EACR;AACF,CAAC,CAAC;;AAEF;;AAEO,MAAMU,mBAAmB,GAAAb,OAAA,CAAAa,mBAAA,GAAG,IAAAZ,2BAAG,EACpC,CAAC,uBAAuB,EAAE,sCAAsC,EAAE,kBAAkB,CAAC,EACrF;EACEC,QAAQ,EAAE;IACRC,IAAI,EAAE;MACJ,KAAK,EAAE,wDAAwD;MAC/DC,EAAE,EAAE,oDAAoD;MACxDC,EAAE,EAAE,0DAA0D;MAC9DC,EAAE,EAAE,sDAAsD;MAC1DC,EAAE,EAAE,wDAAwD;MAC5DC,EAAE,EAAE,oDAAoD;MACxD,KAAK,EAAE;IACT;EACF,CAAC;EACDC,eAAe,EAAE;IACfN,IAAI,EAAE;EACR;AACF,CACF,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _figma = _interopRequireDefault(require("figma"));
|
|
8
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
|
+
// url=https://www.figma.com/design/0lEVMVlLj8ZS4fgItr3pmd/%E2%AD%90-Forge-DS--React-Native-Components?node-id=449-377
|
|
10
|
+
// source=packages/components/src/components/Avatar/index.tsx
|
|
11
|
+
// component=Avatar
|
|
12
|
+
|
|
13
|
+
const instance = _figma.default.selectedInstance;
|
|
14
|
+
|
|
15
|
+
// size: 1:1 mapping between Figma and code values
|
|
16
|
+
const size = instance.getEnum('size', {
|
|
17
|
+
'2xs': '2xs',
|
|
18
|
+
xs: 'xs',
|
|
19
|
+
sm: 'sm',
|
|
20
|
+
md: 'md',
|
|
21
|
+
lg: 'lg',
|
|
22
|
+
xl: 'xl',
|
|
23
|
+
'2xl': '2xl'
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
// type: VARIANT — determines which Avatar sub-component to render.
|
|
27
|
+
// Not a code prop; used only to choose Avatar.Image, Avatar.Text, or Avatar.Icon.
|
|
28
|
+
const type = instance.getEnum('type', {
|
|
29
|
+
image: 'image',
|
|
30
|
+
text: 'text',
|
|
31
|
+
icon: 'icon'
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
// icon: INSTANCE_SWAP → Avatar.Icon `as` prop (CdxIcon identifier).
|
|
35
|
+
// Prefer metadata.props.componentName exposed by icon Code Connect templates.
|
|
36
|
+
// Falls back to executeTemplate().example (placeholder pill) when the icon lacks Code Connect.
|
|
37
|
+
const iconResult = instance.getInstanceSwap('icon')?.executeTemplate();
|
|
38
|
+
const iconName = iconResult?.metadata?.props?.componentName;
|
|
39
|
+
const iconSnippet = iconName ?? iconResult?.example;
|
|
40
|
+
const iconImports = iconName ? [`import { ${iconName} } from '@cdx-ui/icons'`] : [];
|
|
41
|
+
|
|
42
|
+
// text: TEXT property — the initials or label rendered inside Avatar.Text
|
|
43
|
+
const textContent = instance.getString('text');
|
|
44
|
+
var _default = exports.default = {
|
|
45
|
+
id: 'avatar',
|
|
46
|
+
imports: ["import { Avatar } from '@cdx-ui/components'", ...iconImports],
|
|
47
|
+
example: _figma.default.code`
|
|
48
|
+
<Avatar size="${size}">
|
|
49
|
+
${type === 'image' ? _figma.default.code`<Avatar.Image src="..." />` : null}
|
|
50
|
+
${type === 'text' ? _figma.default.code`<Avatar.Text>${textContent}</Avatar.Text>` : null}
|
|
51
|
+
${type === 'icon' ? _figma.default.code`<Avatar.Icon as={${iconSnippet}} />` : null}
|
|
52
|
+
</Avatar>`
|
|
53
|
+
};
|
|
54
|
+
//# sourceMappingURL=Avatar.figma.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_figma","_interopRequireDefault","require","e","__esModule","default","instance","figma","selectedInstance","size","getEnum","xs","sm","md","lg","xl","type","image","text","icon","iconResult","getInstanceSwap","executeTemplate","iconName","metadata","props","componentName","iconSnippet","example","iconImports","textContent","getString","_default","exports","id","imports","code"],"sourceRoot":"../../../src","sources":["figma/Avatar.figma.ts"],"mappings":";;;;;;AAGA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA0B,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAH1B;AACA;AACA;;AAGA,MAAMG,QAAQ,GAAGC,cAAK,CAACC,gBAAgB;;AAEvC;AACA,MAAMC,IAAI,GAAGH,QAAQ,CAACI,OAAO,CAAC,MAAM,EAAE;EACpC,KAAK,EAAE,KAAK;EACZC,EAAE,EAAE,IAAI;EACRC,EAAE,EAAE,IAAI;EACRC,EAAE,EAAE,IAAI;EACRC,EAAE,EAAE,IAAI;EACRC,EAAE,EAAE,IAAI;EACR,KAAK,EAAE;AACT,CAAC,CAAC;;AAEF;AACA;AACA,MAAMC,IAAI,GAAGV,QAAQ,CAACI,OAAO,CAAC,MAAM,EAAE;EACpCO,KAAK,EAAE,OAAO;EACdC,IAAI,EAAE,MAAM;EACZC,IAAI,EAAE;AACR,CAAC,CAAC;;AAEF;AACA;AACA;AACA,MAAMC,UAAU,GAAGd,QAAQ,CAACe,eAAe,CAAC,MAAM,CAAC,EAAEC,eAAe,CAAC,CAAC;AACtE,MAAMC,QAAQ,GAAGH,UAAU,EAAEI,QAAQ,EAAEC,KAAK,EAAEC,aAAmC;AACjF,MAAMC,WAAW,GAAGJ,QAAQ,IAAIH,UAAU,EAAEQ,OAAO;AAEnD,MAAMC,WAAW,GAAGN,QAAQ,GAAG,CAAC,YAAYA,QAAQ,yBAAyB,CAAC,GAAG,EAAE;;AAEnF;AACA,MAAMO,WAAW,GAAGxB,QAAQ,CAACyB,SAAS,CAAC,MAAM,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAA5B,OAAA,GAEhC;EACb6B,EAAE,EAAE,QAAQ;EACZC,OAAO,EAAE,CAAC,6CAA6C,EAAE,GAAGN,WAAW,CAAC;EACxED,OAAO,EAAErB,cAAK,CAAC6B,IAAI;AACrB,gBAAgB3B,IAAI;AACpB,IAAIO,IAAI,KAAK,OAAO,GAAGT,cAAK,CAAC6B,IAAI,4BAA4B,GAAG,IAAI;AACpE,IAAIpB,IAAI,KAAK,MAAM,GAAGT,cAAK,CAAC6B,IAAI,gBAAgBN,WAAW,gBAAgB,GAAG,IAAI;AAClF,IAAId,IAAI,KAAK,MAAM,GAAGT,cAAK,CAAC6B,IAAI,oBAAoBT,WAAW,MAAM,GAAG,IAAI;AAC5E;AACA,CAAC","ignoreList":[]}
|
|
@@ -1,77 +1,84 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { cva } from 'class-variance-authority';
|
|
4
|
-
import { COLOR_BG_MUTED, COLOR_TEXT_SECONDARY, RADIUS_FULL } from '../../styles/primitives';
|
|
5
4
|
|
|
6
5
|
// ── Root ─────────────────────────────────────────────────
|
|
7
6
|
|
|
8
|
-
export const avatarRootVariants = cva([
|
|
7
|
+
export const avatarRootVariants = cva(['rounded-[var(--border-radius-round)]', 'relative items-center justify-center', 'bg-surface-tertiary'], {
|
|
9
8
|
variants: {
|
|
10
9
|
size: {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
10
|
+
'2xs': 'w-3 h-3',
|
|
11
|
+
xs: 'w-[18px] h-[18px]',
|
|
12
|
+
sm: 'w-6 h-6',
|
|
13
|
+
md: 'w-8 h-8',
|
|
14
|
+
lg: 'w-10 h-10',
|
|
15
|
+
xl: 'w-12 h-12',
|
|
16
|
+
'2xl': 'w-14 h-14'
|
|
16
17
|
}
|
|
17
18
|
},
|
|
18
19
|
defaultVariants: {
|
|
19
|
-
size: '
|
|
20
|
+
size: 'md'
|
|
20
21
|
}
|
|
21
22
|
});
|
|
22
23
|
|
|
23
24
|
// ── Image ────────────────────────────────────────────────
|
|
24
25
|
|
|
25
|
-
export const avatarImageVariants = cva(['absolute top-0 left-0 w-full h-full',
|
|
26
|
+
export const avatarImageVariants = cva(['absolute top-0 left-0 w-full h-full', 'rounded-[var(--border-radius-round)]', 'overflow-hidden', 'border border-stroke-secondary']);
|
|
26
27
|
|
|
27
28
|
// ── Text ─────────────────────────────────────────────────
|
|
28
29
|
|
|
29
|
-
export const avatarTextVariants = cva([
|
|
30
|
+
export const avatarTextVariants = cva(['text-content-primary', 'font-medium'], {
|
|
30
31
|
variants: {
|
|
31
32
|
size: {
|
|
33
|
+
'2xs': 'text-[6px]',
|
|
34
|
+
xs: 'text-[9px]',
|
|
32
35
|
sm: 'text-xs',
|
|
33
|
-
md: 'text-
|
|
34
|
-
lg: 'text-
|
|
35
|
-
xl: 'text-
|
|
36
|
-
'2xl': 'text-
|
|
36
|
+
md: 'text-base',
|
|
37
|
+
lg: 'text-xl',
|
|
38
|
+
xl: 'text-2xl',
|
|
39
|
+
'2xl': 'text-[28px]'
|
|
37
40
|
}
|
|
38
41
|
},
|
|
39
42
|
defaultVariants: {
|
|
40
|
-
size: '
|
|
43
|
+
size: 'md'
|
|
41
44
|
}
|
|
42
45
|
});
|
|
43
46
|
|
|
44
47
|
// ── Icon ─────────────────────────────────────────────────
|
|
45
48
|
|
|
46
|
-
export const avatarIconVariants = cva([
|
|
49
|
+
export const avatarIconVariants = cva(['text-content-primary'], {
|
|
47
50
|
variants: {
|
|
48
51
|
size: {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
52
|
+
'2xs': 'size-1.5',
|
|
53
|
+
xs: 'size-[9px]',
|
|
54
|
+
sm: 'size-3',
|
|
55
|
+
md: 'size-4',
|
|
56
|
+
lg: 'size-5',
|
|
57
|
+
xl: 'size-6',
|
|
58
|
+
'2xl': 'size-7'
|
|
54
59
|
}
|
|
55
60
|
},
|
|
56
61
|
defaultVariants: {
|
|
57
|
-
size: '
|
|
62
|
+
size: 'md'
|
|
58
63
|
}
|
|
59
64
|
});
|
|
60
65
|
|
|
61
66
|
// ── Badge ────────────────────────────────────────────────
|
|
62
67
|
|
|
63
|
-
export const avatarBadgeVariants = cva(['absolute border-
|
|
68
|
+
export const avatarBadgeVariants = cva(['absolute border-white', 'rounded-[var(--border-radius-round)]', 'bottom-0 right-0'], {
|
|
64
69
|
variants: {
|
|
65
70
|
size: {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
+
'2xs': 'w-1.5 h-1.5 border translate-x-[21%] translate-y-[21%]',
|
|
72
|
+
xs: 'w-2 h-2 border translate-x-[17%] translate-y-[17%]',
|
|
73
|
+
sm: 'w-2.5 h-2.5 border-2 translate-x-[15%] translate-y-[15%]',
|
|
74
|
+
md: 'w-3 h-3 border-2 translate-x-[11%] translate-y-[11%]',
|
|
75
|
+
lg: 'w-3.5 h-3.5 border-2 translate-x-[8%] translate-y-[8%]',
|
|
76
|
+
xl: 'w-4 h-4 border-2 translate-x-[6%] translate-y-[6%]',
|
|
77
|
+
'2xl': 'w-5 h-5 border-2 translate-x-[9%] translate-y-[9%]'
|
|
71
78
|
}
|
|
72
79
|
},
|
|
73
80
|
defaultVariants: {
|
|
74
|
-
size: '
|
|
81
|
+
size: 'md'
|
|
75
82
|
}
|
|
76
83
|
});
|
|
77
84
|
//# sourceMappingURL=styles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["cva","
|
|
1
|
+
{"version":3,"names":["cva","avatarRootVariants","variants","size","xs","sm","md","lg","xl","defaultVariants","avatarImageVariants","avatarTextVariants","avatarIconVariants","avatarBadgeVariants"],"sourceRoot":"../../../../src","sources":["components/Avatar/styles.ts"],"mappings":";;AAAA,SAASA,GAAG,QAA2B,0BAA0B;;AAEjE;;AAEA,OAAO,MAAMC,kBAAkB,GAAGD,GAAG,CACnC,CACE,sCAAsC,EACtC,sCAAsC,EACtC,qBAAqB,CACtB,EACD;EACEE,QAAQ,EAAE;IACRC,IAAI,EAAE;MACJ,KAAK,EAAE,SAAS;MAChBC,EAAE,EAAE,mBAAmB;MACvBC,EAAE,EAAE,SAAS;MACbC,EAAE,EAAE,SAAS;MACbC,EAAE,EAAE,WAAW;MACfC,EAAE,EAAE,WAAW;MACf,KAAK,EAAE;IACT;EACF,CAAC;EACDC,eAAe,EAAE;IACfN,IAAI,EAAE;EACR;AACF,CACF,CAAC;;AAED;;AAEA,OAAO,MAAMO,mBAAmB,GAAGV,GAAG,CAAC,CACrC,qCAAqC,EACrC,sCAAsC,EACtC,iBAAiB,EACjB,gCAAgC,CACjC,CAAC;;AAEF;;AAEA,OAAO,MAAMW,kBAAkB,GAAGX,GAAG,CAAC,CAAC,sBAAsB,EAAE,aAAa,CAAC,EAAE;EAC7EE,QAAQ,EAAE;IACRC,IAAI,EAAE;MACJ,KAAK,EAAE,YAAY;MACnBC,EAAE,EAAE,YAAY;MAChBC,EAAE,EAAE,SAAS;MACbC,EAAE,EAAE,WAAW;MACfC,EAAE,EAAE,SAAS;MACbC,EAAE,EAAE,UAAU;MACd,KAAK,EAAE;IACT;EACF,CAAC;EACDC,eAAe,EAAE;IACfN,IAAI,EAAE;EACR;AACF,CAAC,CAAC;;AAEF;;AAEA,OAAO,MAAMS,kBAAkB,GAAGZ,GAAG,CAAC,CAAC,sBAAsB,CAAC,EAAE;EAC9DE,QAAQ,EAAE;IACRC,IAAI,EAAE;MACJ,KAAK,EAAE,UAAU;MACjBC,EAAE,EAAE,YAAY;MAChBC,EAAE,EAAE,QAAQ;MACZC,EAAE,EAAE,QAAQ;MACZC,EAAE,EAAE,QAAQ;MACZC,EAAE,EAAE,QAAQ;MACZ,KAAK,EAAE;IACT;EACF,CAAC;EACDC,eAAe,EAAE;IACfN,IAAI,EAAE;EACR;AACF,CAAC,CAAC;;AAEF;;AAEA,OAAO,MAAMU,mBAAmB,GAAGb,GAAG,CACpC,CAAC,uBAAuB,EAAE,sCAAsC,EAAE,kBAAkB,CAAC,EACrF;EACEE,QAAQ,EAAE;IACRC,IAAI,EAAE;MACJ,KAAK,EAAE,wDAAwD;MAC/DC,EAAE,EAAE,oDAAoD;MACxDC,EAAE,EAAE,0DAA0D;MAC9DC,EAAE,EAAE,sDAAsD;MAC1DC,EAAE,EAAE,wDAAwD;MAC5DC,EAAE,EAAE,oDAAoD;MACxD,KAAK,EAAE;IACT;EACF,CAAC;EACDC,eAAe,EAAE;IACfN,IAAI,EAAE;EACR;AACF,CACF,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
// url=https://www.figma.com/design/0lEVMVlLj8ZS4fgItr3pmd/%E2%AD%90-Forge-DS--React-Native-Components?node-id=449-377
|
|
4
|
+
// source=packages/components/src/components/Avatar/index.tsx
|
|
5
|
+
// component=Avatar
|
|
6
|
+
import figma from 'figma';
|
|
7
|
+
const instance = figma.selectedInstance;
|
|
8
|
+
|
|
9
|
+
// size: 1:1 mapping between Figma and code values
|
|
10
|
+
const size = instance.getEnum('size', {
|
|
11
|
+
'2xs': '2xs',
|
|
12
|
+
xs: 'xs',
|
|
13
|
+
sm: 'sm',
|
|
14
|
+
md: 'md',
|
|
15
|
+
lg: 'lg',
|
|
16
|
+
xl: 'xl',
|
|
17
|
+
'2xl': '2xl'
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
// type: VARIANT — determines which Avatar sub-component to render.
|
|
21
|
+
// Not a code prop; used only to choose Avatar.Image, Avatar.Text, or Avatar.Icon.
|
|
22
|
+
const type = instance.getEnum('type', {
|
|
23
|
+
image: 'image',
|
|
24
|
+
text: 'text',
|
|
25
|
+
icon: 'icon'
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
// icon: INSTANCE_SWAP → Avatar.Icon `as` prop (CdxIcon identifier).
|
|
29
|
+
// Prefer metadata.props.componentName exposed by icon Code Connect templates.
|
|
30
|
+
// Falls back to executeTemplate().example (placeholder pill) when the icon lacks Code Connect.
|
|
31
|
+
const iconResult = instance.getInstanceSwap('icon')?.executeTemplate();
|
|
32
|
+
const iconName = iconResult?.metadata?.props?.componentName;
|
|
33
|
+
const iconSnippet = iconName ?? iconResult?.example;
|
|
34
|
+
const iconImports = iconName ? [`import { ${iconName} } from '@cdx-ui/icons'`] : [];
|
|
35
|
+
|
|
36
|
+
// text: TEXT property — the initials or label rendered inside Avatar.Text
|
|
37
|
+
const textContent = instance.getString('text');
|
|
38
|
+
export default {
|
|
39
|
+
id: 'avatar',
|
|
40
|
+
imports: ["import { Avatar } from '@cdx-ui/components'", ...iconImports],
|
|
41
|
+
example: figma.code`
|
|
42
|
+
<Avatar size="${size}">
|
|
43
|
+
${type === 'image' ? figma.code`<Avatar.Image src="..." />` : null}
|
|
44
|
+
${type === 'text' ? figma.code`<Avatar.Text>${textContent}</Avatar.Text>` : null}
|
|
45
|
+
${type === 'icon' ? figma.code`<Avatar.Icon as={${iconSnippet}} />` : null}
|
|
46
|
+
</Avatar>`
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=Avatar.figma.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["figma","instance","selectedInstance","size","getEnum","xs","sm","md","lg","xl","type","image","text","icon","iconResult","getInstanceSwap","executeTemplate","iconName","metadata","props","componentName","iconSnippet","example","iconImports","textContent","getString","id","imports","code"],"sourceRoot":"../../../src","sources":["figma/Avatar.figma.ts"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,KAAK,MAAM,OAAO;AAEzB,MAAMC,QAAQ,GAAGD,KAAK,CAACE,gBAAgB;;AAEvC;AACA,MAAMC,IAAI,GAAGF,QAAQ,CAACG,OAAO,CAAC,MAAM,EAAE;EACpC,KAAK,EAAE,KAAK;EACZC,EAAE,EAAE,IAAI;EACRC,EAAE,EAAE,IAAI;EACRC,EAAE,EAAE,IAAI;EACRC,EAAE,EAAE,IAAI;EACRC,EAAE,EAAE,IAAI;EACR,KAAK,EAAE;AACT,CAAC,CAAC;;AAEF;AACA;AACA,MAAMC,IAAI,GAAGT,QAAQ,CAACG,OAAO,CAAC,MAAM,EAAE;EACpCO,KAAK,EAAE,OAAO;EACdC,IAAI,EAAE,MAAM;EACZC,IAAI,EAAE;AACR,CAAC,CAAC;;AAEF;AACA;AACA;AACA,MAAMC,UAAU,GAAGb,QAAQ,CAACc,eAAe,CAAC,MAAM,CAAC,EAAEC,eAAe,CAAC,CAAC;AACtE,MAAMC,QAAQ,GAAGH,UAAU,EAAEI,QAAQ,EAAEC,KAAK,EAAEC,aAAmC;AACjF,MAAMC,WAAW,GAAGJ,QAAQ,IAAIH,UAAU,EAAEQ,OAAO;AAEnD,MAAMC,WAAW,GAAGN,QAAQ,GAAG,CAAC,YAAYA,QAAQ,yBAAyB,CAAC,GAAG,EAAE;;AAEnF;AACA,MAAMO,WAAW,GAAGvB,QAAQ,CAACwB,SAAS,CAAC,MAAM,CAAC;AAE9C,eAAe;EACbC,EAAE,EAAE,QAAQ;EACZC,OAAO,EAAE,CAAC,6CAA6C,EAAE,GAAGJ,WAAW,CAAC;EACxED,OAAO,EAAEtB,KAAK,CAAC4B,IAAI;AACrB,gBAAgBzB,IAAI;AACpB,IAAIO,IAAI,KAAK,OAAO,GAAGV,KAAK,CAAC4B,IAAI,4BAA4B,GAAG,IAAI;AACpE,IAAIlB,IAAI,KAAK,MAAM,GAAGV,KAAK,CAAC4B,IAAI,gBAAgBJ,WAAW,gBAAgB,GAAG,IAAI;AAClF,IAAId,IAAI,KAAK,MAAM,GAAGV,KAAK,CAAC4B,IAAI,oBAAoBP,WAAW,MAAM,GAAG,IAAI;AAC5E;AACA,CAAC","ignoreList":[]}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { type VariantProps } from 'class-variance-authority';
|
|
2
2
|
export declare const avatarRootVariants: (props?: ({
|
|
3
|
-
size?: "sm" | "md" | "lg" | "xl" | "2xl" | null | undefined;
|
|
3
|
+
size?: "sm" | "md" | "lg" | "2xs" | "xs" | "xl" | "2xl" | null | undefined;
|
|
4
4
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
5
5
|
export declare const avatarImageVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
|
|
6
6
|
export declare const avatarTextVariants: (props?: ({
|
|
7
|
-
size?: "sm" | "md" | "lg" | "xl" | "2xl" | null | undefined;
|
|
7
|
+
size?: "sm" | "md" | "lg" | "2xs" | "xs" | "xl" | "2xl" | null | undefined;
|
|
8
8
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
9
9
|
export declare const avatarIconVariants: (props?: ({
|
|
10
|
-
size?: "sm" | "md" | "lg" | "xl" | "2xl" | null | undefined;
|
|
10
|
+
size?: "sm" | "md" | "lg" | "2xs" | "xs" | "xl" | "2xl" | null | undefined;
|
|
11
11
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
12
12
|
export declare const avatarBadgeVariants: (props?: ({
|
|
13
|
-
size?: "sm" | "md" | "lg" | "xl" | "2xl" | null | undefined;
|
|
13
|
+
size?: "sm" | "md" | "lg" | "2xs" | "xs" | "xl" | "2xl" | null | undefined;
|
|
14
14
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
15
15
|
export type AvatarVariantProps = VariantProps<typeof avatarRootVariants>;
|
|
16
16
|
//# sourceMappingURL=styles.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../src/components/Avatar/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../src/components/Avatar/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAIlE,eAAO,MAAM,kBAAkB;;8EAsB9B,CAAC;AAIF,eAAO,MAAM,mBAAmB,oFAK9B,CAAC;AAIH,eAAO,MAAM,kBAAkB;;8EAe7B,CAAC;AAIH,eAAO,MAAM,kBAAkB;;8EAe7B,CAAC;AAIH,eAAO,MAAM,mBAAmB;;8EAkB/B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,YAAY,CAAC,OAAO,kBAAkB,CAAC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type VariantProps } from 'class-variance-authority';
|
|
2
2
|
export declare const headingStyle: (props?: ({
|
|
3
|
-
size?: "sm" | "md" | "lg" | "
|
|
3
|
+
size?: "sm" | "md" | "lg" | "xs" | "xl" | null | undefined;
|
|
4
4
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
5
5
|
export type HeadingVariantProps = VariantProps<typeof headingStyle>;
|
|
6
6
|
//# sourceMappingURL=styles.d.ts.map
|
|
@@ -13,11 +13,11 @@ declare const spaceMap: {
|
|
|
13
13
|
export type StackSpace = keyof typeof spaceMap;
|
|
14
14
|
export declare const hStackRootVariants: (props?: ({
|
|
15
15
|
reversed?: boolean | null | undefined;
|
|
16
|
-
space?: "sm" | "md" | "lg" | "
|
|
16
|
+
space?: "sm" | "md" | "lg" | "xs" | "xl" | "2xl" | "3xl" | "4xl" | "5xl" | "6xl" | null | undefined;
|
|
17
17
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
18
18
|
export declare const vStackRootVariants: (props?: ({
|
|
19
19
|
reversed?: boolean | null | undefined;
|
|
20
|
-
space?: "sm" | "md" | "lg" | "
|
|
20
|
+
space?: "sm" | "md" | "lg" | "xs" | "xl" | "2xl" | "3xl" | "4xl" | "5xl" | "6xl" | null | undefined;
|
|
21
21
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
22
22
|
export {};
|
|
23
23
|
//# sourceMappingURL=styles.d.ts.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type VariantProps } from 'class-variance-authority';
|
|
2
2
|
export declare const textStyle: (props?: ({
|
|
3
|
-
size?: "sm" | "md" | "lg" | "
|
|
3
|
+
size?: "sm" | "md" | "lg" | "xs" | "xl" | null | undefined;
|
|
4
4
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
5
5
|
export type TextVariantProps = VariantProps<typeof textStyle>;
|
|
6
6
|
//# sourceMappingURL=styles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Avatar.figma.d.ts","sourceRoot":"","sources":["../../../src/figma/Avatar.figma.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;;;;;;AAmC1B,wBASE"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cdx-ui/components",
|
|
3
|
-
"version": "0.0.1-beta.
|
|
3
|
+
"version": "0.0.1-beta.37",
|
|
4
4
|
"main": "lib/commonjs/index.js",
|
|
5
5
|
"module": "lib/module/index.js",
|
|
6
6
|
"react-native": "src/index.ts",
|
|
@@ -67,9 +67,9 @@
|
|
|
67
67
|
"@gorhom/bottom-sheet": "^5.2.6",
|
|
68
68
|
"class-variance-authority": "^0.7.1",
|
|
69
69
|
"uniwind": "1.6.1",
|
|
70
|
-
"@cdx-ui/primitives": "0.0.1-beta.
|
|
71
|
-
"@cdx-ui/utils": "0.0.1-beta.
|
|
72
|
-
"@cdx-ui/icons": "0.0.1-beta.
|
|
70
|
+
"@cdx-ui/primitives": "0.0.1-beta.37",
|
|
71
|
+
"@cdx-ui/utils": "0.0.1-beta.37",
|
|
72
|
+
"@cdx-ui/icons": "0.0.1-beta.37"
|
|
73
73
|
},
|
|
74
74
|
"devDependencies": {
|
|
75
75
|
"@types/react": "*",
|
|
@@ -36,7 +36,7 @@ export interface AvatarProps extends ViewProps, IAvatarProps, AvatarVariantProps
|
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
const AvatarRoot = forwardRef<View, AvatarProps>(
|
|
39
|
-
({ size = '
|
|
39
|
+
({ size = 'md', className, children, style, ...props }, ref) => {
|
|
40
40
|
const computedClassName = cn(avatarRootVariants({ size }), className);
|
|
41
41
|
|
|
42
42
|
return (
|
|
@@ -1,22 +1,27 @@
|
|
|
1
1
|
import { cva, type VariantProps } from 'class-variance-authority';
|
|
2
|
-
import { COLOR_BG_MUTED, COLOR_TEXT_SECONDARY, RADIUS_FULL } from '../../styles/primitives';
|
|
3
2
|
|
|
4
3
|
// ── Root ─────────────────────────────────────────────────
|
|
5
4
|
|
|
6
5
|
export const avatarRootVariants = cva(
|
|
7
|
-
[
|
|
6
|
+
[
|
|
7
|
+
'rounded-[var(--border-radius-round)]',
|
|
8
|
+
'relative items-center justify-center',
|
|
9
|
+
'bg-surface-tertiary',
|
|
10
|
+
],
|
|
8
11
|
{
|
|
9
12
|
variants: {
|
|
10
13
|
size: {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
'2xs': 'w-3 h-3',
|
|
15
|
+
xs: 'w-[18px] h-[18px]',
|
|
16
|
+
sm: 'w-6 h-6',
|
|
17
|
+
md: 'w-8 h-8',
|
|
18
|
+
lg: 'w-10 h-10',
|
|
19
|
+
xl: 'w-12 h-12',
|
|
20
|
+
'2xl': 'w-14 h-14',
|
|
16
21
|
},
|
|
17
22
|
},
|
|
18
23
|
defaultVariants: {
|
|
19
|
-
size: '
|
|
24
|
+
size: 'md',
|
|
20
25
|
},
|
|
21
26
|
},
|
|
22
27
|
);
|
|
@@ -25,59 +30,69 @@ export const avatarRootVariants = cva(
|
|
|
25
30
|
|
|
26
31
|
export const avatarImageVariants = cva([
|
|
27
32
|
'absolute top-0 left-0 w-full h-full',
|
|
28
|
-
|
|
33
|
+
'rounded-[var(--border-radius-round)]',
|
|
29
34
|
'overflow-hidden',
|
|
35
|
+
'border border-stroke-secondary',
|
|
30
36
|
]);
|
|
31
37
|
|
|
32
38
|
// ── Text ─────────────────────────────────────────────────
|
|
33
39
|
|
|
34
|
-
export const avatarTextVariants = cva([
|
|
40
|
+
export const avatarTextVariants = cva(['text-content-primary', 'font-medium'], {
|
|
35
41
|
variants: {
|
|
36
42
|
size: {
|
|
43
|
+
'2xs': 'text-[6px]',
|
|
44
|
+
xs: 'text-[9px]',
|
|
37
45
|
sm: 'text-xs',
|
|
38
|
-
md: 'text-
|
|
39
|
-
lg: 'text-
|
|
40
|
-
xl: 'text-
|
|
41
|
-
'2xl': 'text-
|
|
46
|
+
md: 'text-base',
|
|
47
|
+
lg: 'text-xl',
|
|
48
|
+
xl: 'text-2xl',
|
|
49
|
+
'2xl': 'text-[28px]',
|
|
42
50
|
},
|
|
43
51
|
},
|
|
44
52
|
defaultVariants: {
|
|
45
|
-
size: '
|
|
53
|
+
size: 'md',
|
|
46
54
|
},
|
|
47
55
|
});
|
|
48
56
|
|
|
49
57
|
// ── Icon ─────────────────────────────────────────────────
|
|
50
58
|
|
|
51
|
-
export const avatarIconVariants = cva([
|
|
59
|
+
export const avatarIconVariants = cva(['text-content-primary'], {
|
|
52
60
|
variants: {
|
|
53
61
|
size: {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
62
|
+
'2xs': 'size-1.5',
|
|
63
|
+
xs: 'size-[9px]',
|
|
64
|
+
sm: 'size-3',
|
|
65
|
+
md: 'size-4',
|
|
66
|
+
lg: 'size-5',
|
|
67
|
+
xl: 'size-6',
|
|
68
|
+
'2xl': 'size-7',
|
|
59
69
|
},
|
|
60
70
|
},
|
|
61
71
|
defaultVariants: {
|
|
62
|
-
size: '
|
|
72
|
+
size: 'md',
|
|
63
73
|
},
|
|
64
74
|
});
|
|
65
75
|
|
|
66
76
|
// ── Badge ────────────────────────────────────────────────
|
|
67
77
|
|
|
68
|
-
export const avatarBadgeVariants = cva(
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
78
|
+
export const avatarBadgeVariants = cva(
|
|
79
|
+
['absolute border-white', 'rounded-[var(--border-radius-round)]', 'bottom-0 right-0'],
|
|
80
|
+
{
|
|
81
|
+
variants: {
|
|
82
|
+
size: {
|
|
83
|
+
'2xs': 'w-1.5 h-1.5 border translate-x-[21%] translate-y-[21%]',
|
|
84
|
+
xs: 'w-2 h-2 border translate-x-[17%] translate-y-[17%]',
|
|
85
|
+
sm: 'w-2.5 h-2.5 border-2 translate-x-[15%] translate-y-[15%]',
|
|
86
|
+
md: 'w-3 h-3 border-2 translate-x-[11%] translate-y-[11%]',
|
|
87
|
+
lg: 'w-3.5 h-3.5 border-2 translate-x-[8%] translate-y-[8%]',
|
|
88
|
+
xl: 'w-4 h-4 border-2 translate-x-[6%] translate-y-[6%]',
|
|
89
|
+
'2xl': 'w-5 h-5 border-2 translate-x-[9%] translate-y-[9%]',
|
|
90
|
+
},
|
|
91
|
+
},
|
|
92
|
+
defaultVariants: {
|
|
93
|
+
size: 'md',
|
|
76
94
|
},
|
|
77
95
|
},
|
|
78
|
-
|
|
79
|
-
size: 'lg',
|
|
80
|
-
},
|
|
81
|
-
});
|
|
96
|
+
);
|
|
82
97
|
|
|
83
98
|
export type AvatarVariantProps = VariantProps<typeof avatarRootVariants>;
|