@cdx-ui/components 0.0.1-alpha.2 → 0.0.1-alpha.20
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/README.md +2 -2
- package/lib/commonjs/components/Avatar/index.js +156 -0
- package/lib/commonjs/components/Avatar/index.js.map +1 -0
- package/lib/commonjs/components/Avatar/styles.js +80 -0
- package/lib/commonjs/components/Avatar/styles.js.map +1 -0
- package/lib/commonjs/components/Box/Box.js +1 -0
- package/lib/commonjs/components/Box/Box.js.map +1 -1
- package/lib/commonjs/components/Button/index.js +28 -13
- package/lib/commonjs/components/Button/index.js.map +1 -1
- package/lib/commonjs/components/Button/styles.js +323 -139
- package/lib/commonjs/components/Button/styles.js.map +1 -1
- package/lib/commonjs/components/Card/index.js +104 -0
- package/lib/commonjs/components/Card/index.js.map +1 -0
- package/lib/commonjs/components/Card/styles.js +28 -0
- package/lib/commonjs/components/Card/styles.js.map +1 -0
- package/lib/commonjs/components/Checkbox/index.js +180 -0
- package/lib/commonjs/components/Checkbox/index.js.map +1 -0
- package/lib/commonjs/components/Checkbox/styles.js +68 -0
- package/lib/commonjs/components/Checkbox/styles.js.map +1 -0
- package/lib/commonjs/components/Chip/index.js +103 -0
- package/lib/commonjs/components/Chip/index.js.map +1 -0
- package/lib/commonjs/components/Chip/styles.js +50 -0
- package/lib/commonjs/components/Chip/styles.js.map +1 -0
- package/lib/commonjs/components/Heading/index.js +35 -0
- package/lib/commonjs/components/Heading/index.js.map +1 -0
- package/lib/commonjs/components/Heading/styles.js +24 -0
- package/lib/commonjs/components/Heading/styles.js.map +1 -0
- package/lib/commonjs/components/Icon/index.js +61 -0
- package/lib/commonjs/components/Icon/index.js.map +1 -0
- package/lib/commonjs/components/Input/index.js +10 -16
- package/lib/commonjs/components/Input/index.js.map +1 -1
- package/lib/commonjs/components/Input/styles.js +16 -30
- package/lib/commonjs/components/Input/styles.js.map +1 -1
- package/lib/commonjs/components/Link/index.js +38 -0
- package/lib/commonjs/components/Link/index.js.map +1 -0
- package/lib/commonjs/components/Link/styles.js +14 -0
- package/lib/commonjs/components/Link/styles.js.map +1 -0
- package/lib/commonjs/components/Select/index.js +11 -12
- package/lib/commonjs/components/Select/index.js.map +1 -1
- package/lib/commonjs/components/Select/styles.js +29 -53
- package/lib/commonjs/components/Select/styles.js.map +1 -1
- package/lib/commonjs/components/Stack/HStack.js +8 -21
- package/lib/commonjs/components/Stack/HStack.js.map +1 -1
- package/lib/commonjs/components/Stack/VStack.js +8 -21
- package/lib/commonjs/components/Stack/VStack.js.map +1 -1
- package/lib/commonjs/components/Stack/styles.js +39 -0
- package/lib/commonjs/components/Stack/styles.js.map +1 -0
- package/lib/commonjs/components/Switch/BaseSwitch.js +46 -0
- package/lib/commonjs/components/Switch/BaseSwitch.js.map +1 -0
- package/lib/commonjs/components/Switch/BaseSwitch.web.js +56 -0
- package/lib/commonjs/components/Switch/BaseSwitch.web.js.map +1 -0
- package/lib/commonjs/components/Switch/index.js +13 -0
- package/lib/commonjs/components/Switch/index.js.map +1 -0
- package/lib/commonjs/components/Switch/styles.js +128 -0
- package/lib/commonjs/components/Switch/styles.js.map +1 -0
- package/lib/commonjs/components/Text/index.js +18 -9
- package/lib/commonjs/components/Text/index.js.map +1 -1
- package/lib/commonjs/components/Text/styles.js +24 -0
- package/lib/commonjs/components/Text/styles.js.map +1 -0
- package/lib/commonjs/components/VirtualizedList/index.js +19 -0
- package/lib/commonjs/components/VirtualizedList/index.js.map +1 -0
- package/lib/commonjs/components/index.js +108 -0
- package/lib/commonjs/components/index.js.map +1 -1
- package/lib/commonjs/metro/withCdxMetroConfig.js +24 -0
- package/lib/commonjs/metro/withCdxMetroConfig.js.map +1 -0
- package/lib/commonjs/styles/index.js +17 -0
- package/lib/commonjs/styles/index.js.map +1 -0
- package/lib/commonjs/styles/primitives.js +123 -0
- package/lib/commonjs/styles/primitives.js.map +1 -0
- package/lib/module/components/Avatar/index.js +152 -0
- package/lib/module/components/Avatar/index.js.map +1 -0
- package/lib/module/components/Avatar/styles.js +77 -0
- package/lib/module/components/Avatar/styles.js.map +1 -0
- package/lib/module/components/Box/Box.js +1 -0
- package/lib/module/components/Box/Box.js.map +1 -1
- package/lib/module/components/Button/index.js +29 -14
- package/lib/module/components/Button/index.js.map +1 -1
- package/lib/module/components/Button/styles.js +322 -138
- package/lib/module/components/Button/styles.js.map +1 -1
- package/lib/module/components/Card/index.js +100 -0
- package/lib/module/components/Card/index.js.map +1 -0
- package/lib/module/components/Card/styles.js +25 -0
- package/lib/module/components/Card/styles.js.map +1 -0
- package/lib/module/components/Checkbox/index.js +176 -0
- package/lib/module/components/Checkbox/index.js.map +1 -0
- package/lib/module/components/Checkbox/styles.js +64 -0
- package/lib/module/components/Checkbox/styles.js.map +1 -0
- package/lib/module/components/Chip/index.js +99 -0
- package/lib/module/components/Chip/index.js.map +1 -0
- package/lib/module/components/Chip/styles.js +46 -0
- package/lib/module/components/Chip/styles.js.map +1 -0
- package/lib/module/components/Heading/index.js +31 -0
- package/lib/module/components/Heading/index.js.map +1 -0
- package/lib/module/components/Heading/styles.js +20 -0
- package/lib/module/components/Heading/styles.js.map +1 -0
- package/lib/module/components/Icon/index.js +57 -0
- package/lib/module/components/Icon/index.js.map +1 -0
- package/lib/module/components/Input/index.js +10 -16
- package/lib/module/components/Input/index.js.map +1 -1
- package/lib/module/components/Input/styles.js +16 -30
- package/lib/module/components/Input/styles.js.map +1 -1
- package/lib/module/components/Link/index.js +29 -0
- package/lib/module/components/Link/index.js.map +1 -0
- package/lib/module/components/Link/styles.js +10 -0
- package/lib/module/components/Link/styles.js.map +1 -0
- package/lib/module/components/Select/index.js +12 -13
- package/lib/module/components/Select/index.js.map +1 -1
- package/lib/module/components/Select/styles.js +29 -53
- package/lib/module/components/Select/styles.js.map +1 -1
- package/lib/module/components/Stack/HStack.js +8 -21
- package/lib/module/components/Stack/HStack.js.map +1 -1
- package/lib/module/components/Stack/VStack.js +8 -21
- package/lib/module/components/Stack/VStack.js.map +1 -1
- package/lib/module/components/Stack/styles.js +35 -0
- package/lib/module/components/Stack/styles.js.map +1 -0
- package/lib/module/components/Switch/BaseSwitch.js +42 -0
- package/lib/module/components/Switch/BaseSwitch.js.map +1 -0
- package/lib/module/components/Switch/BaseSwitch.web.js +52 -0
- package/lib/module/components/Switch/BaseSwitch.web.js.map +1 -0
- package/lib/module/components/Switch/index.js +9 -0
- package/lib/module/components/Switch/index.js.map +1 -0
- package/lib/module/components/Switch/styles.js +125 -0
- package/lib/module/components/Switch/styles.js.map +1 -0
- package/lib/module/components/Text/index.js +19 -1
- package/lib/module/components/Text/index.js.map +1 -1
- package/lib/module/components/Text/styles.js +20 -0
- package/lib/module/components/Text/styles.js.map +1 -0
- package/lib/module/components/VirtualizedList/index.js +15 -0
- package/lib/module/components/VirtualizedList/index.js.map +1 -0
- package/lib/module/components/index.js +9 -0
- package/lib/module/components/index.js.map +1 -1
- package/lib/module/metro/withCdxMetroConfig.js +20 -0
- package/lib/module/metro/withCdxMetroConfig.js.map +1 -0
- package/lib/module/styles/index.js +4 -0
- package/lib/module/styles/index.js.map +1 -0
- package/lib/module/styles/primitives.js +119 -0
- package/lib/module/styles/primitives.js.map +1 -0
- package/lib/typescript/components/Avatar/index.d.ts +40 -0
- package/lib/typescript/components/Avatar/index.d.ts.map +1 -0
- package/lib/typescript/components/Avatar/styles.d.ts +16 -0
- package/lib/typescript/components/Avatar/styles.d.ts.map +1 -0
- package/lib/typescript/components/Box/Box.d.ts +1 -0
- package/lib/typescript/components/Box/Box.d.ts.map +1 -1
- package/lib/typescript/components/Button/index.d.ts +6 -3
- package/lib/typescript/components/Button/index.d.ts.map +1 -1
- package/lib/typescript/components/Button/styles.d.ts +14 -8
- package/lib/typescript/components/Button/styles.d.ts.map +1 -1
- package/lib/typescript/components/Card/index.d.ts +30 -0
- package/lib/typescript/components/Card/index.d.ts.map +1 -0
- package/lib/typescript/components/Card/styles.d.ts +6 -0
- package/lib/typescript/components/Card/styles.d.ts.map +1 -0
- package/lib/typescript/components/Checkbox/index.d.ts +46 -0
- package/lib/typescript/components/Checkbox/index.d.ts.map +1 -0
- package/lib/typescript/components/Checkbox/styles.d.ts +18 -0
- package/lib/typescript/components/Checkbox/styles.d.ts.map +1 -0
- package/lib/typescript/components/Chip/index.d.ts +27 -0
- package/lib/typescript/components/Chip/index.d.ts.map +1 -0
- package/lib/typescript/components/Chip/styles.d.ts +12 -0
- package/lib/typescript/components/Chip/styles.d.ts.map +1 -0
- package/lib/typescript/components/Heading/index.d.ts +10 -0
- package/lib/typescript/components/Heading/index.d.ts.map +1 -0
- package/lib/typescript/components/Heading/styles.d.ts +6 -0
- package/lib/typescript/components/Heading/styles.d.ts.map +1 -0
- package/lib/typescript/components/Icon/index.d.ts +27 -0
- package/lib/typescript/components/Icon/index.d.ts.map +1 -0
- package/lib/typescript/components/Input/index.d.ts +6 -4
- package/lib/typescript/components/Input/index.d.ts.map +1 -1
- package/lib/typescript/components/Input/styles.d.ts +5 -7
- package/lib/typescript/components/Input/styles.d.ts.map +1 -1
- package/lib/typescript/components/Link/index.d.ts +8 -0
- package/lib/typescript/components/Link/index.d.ts.map +1 -0
- package/lib/typescript/components/Link/styles.d.ts +2 -0
- package/lib/typescript/components/Link/styles.d.ts.map +1 -0
- package/lib/typescript/components/Select/index.d.ts +6 -3
- package/lib/typescript/components/Select/index.d.ts.map +1 -1
- package/lib/typescript/components/Select/styles.d.ts +6 -8
- package/lib/typescript/components/Select/styles.d.ts.map +1 -1
- package/lib/typescript/components/Stack/HStack.d.ts +1 -12
- package/lib/typescript/components/Stack/HStack.d.ts.map +1 -1
- package/lib/typescript/components/Stack/VStack.d.ts +1 -12
- package/lib/typescript/components/Stack/VStack.d.ts.map +1 -1
- package/lib/typescript/components/Stack/styles.d.ts +10 -0
- package/lib/typescript/components/Stack/styles.d.ts.map +1 -0
- package/lib/typescript/components/Switch/BaseSwitch.d.ts +9 -0
- package/lib/typescript/components/Switch/BaseSwitch.d.ts.map +1 -0
- package/lib/typescript/components/Switch/BaseSwitch.web.d.ts +15 -0
- package/lib/typescript/components/Switch/BaseSwitch.web.d.ts.map +1 -0
- package/lib/typescript/components/Switch/index.d.ts +8 -0
- package/lib/typescript/components/Switch/index.d.ts.map +1 -0
- package/lib/typescript/components/Switch/styles.d.ts +26 -0
- package/lib/typescript/components/Switch/styles.d.ts.map +1 -0
- package/lib/typescript/components/Text/index.d.ts +9 -1
- package/lib/typescript/components/Text/index.d.ts.map +1 -1
- package/lib/typescript/components/Text/styles.d.ts +6 -0
- package/lib/typescript/components/Text/styles.d.ts.map +1 -0
- package/lib/typescript/components/VirtualizedList/index.d.ts +8 -0
- package/lib/typescript/components/VirtualizedList/index.d.ts.map +1 -0
- package/lib/typescript/components/index.d.ts +9 -0
- package/lib/typescript/components/index.d.ts.map +1 -1
- package/lib/typescript/metro/withCdxMetroConfig.d.ts +19 -0
- package/lib/typescript/metro/withCdxMetroConfig.d.ts.map +1 -0
- package/lib/typescript/styles/index.d.ts +2 -0
- package/lib/typescript/styles/index.d.ts.map +1 -0
- package/lib/typescript/styles/primitives.d.ts +85 -0
- package/lib/typescript/styles/primitives.d.ts.map +1 -0
- package/package.json +21 -13
- package/src/components/Avatar/index.tsx +174 -0
- package/src/components/Avatar/styles.ts +83 -0
- package/src/components/Box/Box.tsx +1 -0
- package/src/components/Button/index.tsx +23 -15
- package/src/components/Button/styles.ts +353 -144
- package/src/components/Card/index.tsx +115 -0
- package/src/components/Card/styles.ts +41 -0
- package/src/components/Checkbox/index.tsx +209 -0
- package/src/components/Checkbox/styles.ts +103 -0
- package/src/components/Chip/index.tsx +91 -0
- package/src/components/Chip/styles.ts +51 -0
- package/src/components/Heading/index.tsx +36 -0
- package/src/components/Heading/styles.tsx +26 -0
- package/src/components/Icon/index.tsx +54 -0
- package/src/components/Input/index.tsx +9 -20
- package/src/components/Input/styles.ts +42 -37
- package/src/components/Link/index.tsx +27 -0
- package/src/components/Link/styles.ts +16 -0
- package/src/components/Select/index.tsx +12 -11
- package/src/components/Select/styles.ts +63 -74
- package/src/components/Stack/HStack.tsx +8 -19
- package/src/components/Stack/VStack.tsx +8 -23
- package/src/components/Stack/styles.ts +37 -0
- package/src/components/Switch/BaseSwitch.tsx +38 -0
- package/src/components/Switch/BaseSwitch.web.tsx +69 -0
- package/src/components/Switch/index.tsx +13 -0
- package/src/components/Switch/styles.ts +120 -0
- package/src/components/Text/index.tsx +16 -0
- package/src/components/Text/styles.tsx +26 -0
- package/src/components/VirtualizedList/index.tsx +19 -0
- package/src/components/index.ts +9 -0
- package/src/metro/withCdxMetroConfig.ts +29 -0
- package/src/styles/index.ts +1 -0
- package/src/styles/primitives.ts +107 -0
- package/lib/commonjs/components/Text/Text.js +0 -30
- package/lib/commonjs/components/Text/Text.js.map +0 -1
- package/lib/module/components/Text/Text.js +0 -26
- package/lib/module/components/Text/Text.js.map +0 -1
- package/lib/typescript/components/Text/Text.d.ts +0 -11
- package/lib/typescript/components/Text/Text.d.ts.map +0 -1
- package/src/components/Text/Text.tsx +0 -58
- package/src/components/Text/index.ts +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/Switch/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAgB,MAAM,oBAAoB,CAAC;AAErE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAInD,MAAM,WAAW,WAAY,SAAQ,YAAY,EAAE,kBAAkB;IACnE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,MAAM,mKAAkB,CAAC;AAEtC,YAAY,EAAE,kBAAkB,EAAE,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { type VariantProps } from 'class-variance-authority';
|
|
2
|
+
export declare const switchThumbColorVariants: (props?: ({
|
|
3
|
+
isDisabled?: boolean | null | undefined;
|
|
4
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
5
|
+
export declare const switchTrackOnVariants: (props?: ({
|
|
6
|
+
isInvalid?: boolean | null | undefined;
|
|
7
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
8
|
+
export declare const switchTrackOffVariants: (props?: ({
|
|
9
|
+
isInvalid?: boolean | null | undefined;
|
|
10
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
11
|
+
export declare const switchIosBgVariants: (props?: ({
|
|
12
|
+
isInvalid?: boolean | null | undefined;
|
|
13
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
14
|
+
export declare const switchTrackVariants: (props?: ({
|
|
15
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
16
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
17
|
+
export declare const switchWebTrackColorVariants: (props?: ({
|
|
18
|
+
isChecked?: boolean | null | undefined;
|
|
19
|
+
isInvalid?: boolean | null | undefined;
|
|
20
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
21
|
+
export declare const switchThumbVariants: (props?: ({
|
|
22
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
23
|
+
isChecked?: boolean | null | undefined;
|
|
24
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
25
|
+
export type SwitchVariantProps = VariantProps<typeof switchTrackVariants>;
|
|
26
|
+
//# sourceMappingURL=styles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../src/components/Switch/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAMlE,eAAO,MAAM,wBAAwB;;8EAQnC,CAAC;AAEH,eAAO,MAAM,qBAAqB;;8EAQhC,CAAC;AAEH,eAAO,MAAM,sBAAsB;;8EAQjC,CAAC;AAEH,eAAO,MAAM,mBAAmB;;8EAQ9B,CAAC;AAMH,eAAO,MAAM,mBAAmB;;8EAoB/B,CAAC;AAEF,eAAO,MAAM,2BAA2B;;;8EAmBtC,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;8EAwB/B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,YAAY,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
|
|
@@ -1,2 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
import { type ComponentPropsWithoutRef } from 'react';
|
|
2
|
+
import { Text as RNText } from 'react-native';
|
|
3
|
+
import { TextVariantProps } from './styles';
|
|
4
|
+
export type TextProps = TextVariantProps & ComponentPropsWithoutRef<typeof RNText> & {
|
|
5
|
+
className?: string;
|
|
6
|
+
};
|
|
7
|
+
export declare const Text: import("react").ForwardRefExoticComponent<TextVariantProps & import("react-native").TextProps & {
|
|
8
|
+
className?: string;
|
|
9
|
+
} & import("react").RefAttributes<RNText>>;
|
|
2
10
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/Text/index.
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/Text/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,wBAAwB,EAAqB,MAAM,OAAO,CAAC;AACrF,OAAO,EAAE,IAAI,IAAI,MAAM,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,EAAa,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEvD,MAAM,MAAM,SAAS,GAAG,gBAAgB,GACtC,wBAAwB,CAAC,OAAO,MAAM,CAAC,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnE,eAAO,MAAM,IAAI;gBAFyC,MAAM;0CAO9D,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { type VariantProps } from 'class-variance-authority';
|
|
2
|
+
export declare const textStyle: (props?: ({
|
|
3
|
+
size?: "sm" | "md" | "lg" | "xl" | "xs" | null | undefined;
|
|
4
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
5
|
+
export type TextVariantProps = VariantProps<typeof textStyle>;
|
|
6
|
+
//# sourceMappingURL=styles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../src/components/Text/styles.tsx"],"names":[],"mappings":"AACA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAGlE,eAAO,MAAM,SAAS;;8EAmBrB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,YAAY,CAAC,OAAO,SAAS,CAAC,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ForwardedRef, ReactElement } from 'react';
|
|
2
|
+
import { type FlashListProps, type FlashListRef } from '@shopify/flash-list';
|
|
3
|
+
export type VirtualizedListRef = FlashListRef<unknown>;
|
|
4
|
+
export type VirtualizedListProps<T = unknown> = FlashListProps<T>;
|
|
5
|
+
export declare const VirtualizedList: <T>(props: VirtualizedListProps<T> & {
|
|
6
|
+
ref?: ForwardedRef<FlashListRef<T>>;
|
|
7
|
+
}) => ReactElement | null;
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/VirtualizedList/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAExD,OAAO,EAAa,KAAK,cAAc,EAAE,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExF,MAAM,MAAM,kBAAkB,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;AACvD,MAAM,MAAM,oBAAoB,CAAC,CAAC,GAAG,OAAO,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC;AASlE,eAAO,MAAM,eAAe,EAAuC,CAAC,CAAC,EACnE,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;CAAE,KACrE,YAAY,GAAG,IAAI,CAAC"}
|
|
@@ -1,7 +1,16 @@
|
|
|
1
|
+
export * from './Avatar';
|
|
1
2
|
export * from './Box';
|
|
2
3
|
export * from './Button';
|
|
4
|
+
export * from './Chip';
|
|
5
|
+
export * from './Card';
|
|
6
|
+
export * from './Checkbox';
|
|
3
7
|
export * from './Input';
|
|
8
|
+
export * from './Link';
|
|
4
9
|
export * from './Select';
|
|
10
|
+
export * from './VirtualizedList';
|
|
11
|
+
export * from './Switch';
|
|
5
12
|
export { HStack, VStack } from './Stack';
|
|
13
|
+
export * from './Heading';
|
|
6
14
|
export * from './Text';
|
|
15
|
+
export * from './Icon';
|
|
7
16
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACzC,cAAc,QAAQ,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACzC,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { MetroConfig } from 'metro-config';
|
|
2
|
+
export interface CdxMetroConfigOptions {
|
|
3
|
+
/** Path to the CSS entry file (e.g., `'./global.css'`). */
|
|
4
|
+
cssEntryFile: string;
|
|
5
|
+
/** Path where generated Tailwind class type definitions are written. */
|
|
6
|
+
generatedTypesFile?: string;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Wraps a Metro config with CDX UI's styling-layer configuration.
|
|
10
|
+
*
|
|
11
|
+
* Today this delegates to Uniwind. If the styling layer is swapped (see
|
|
12
|
+
* `docs/research/uniwind-to-nativewind-contingency.md`), only the internals
|
|
13
|
+
* of this function change — consuming Metro configs stay the same.
|
|
14
|
+
*
|
|
15
|
+
* Must be the **outermost** Metro config wrapper (after any other wrappers
|
|
16
|
+
* like `withStorybook`).
|
|
17
|
+
*/
|
|
18
|
+
export declare function withCdxMetroConfig<T extends MetroConfig>(config: T, options: CdxMetroConfigOptions): T;
|
|
19
|
+
//# sourceMappingURL=withCdxMetroConfig.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"withCdxMetroConfig.d.ts","sourceRoot":"","sources":["../../../src/metro/withCdxMetroConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,MAAM,WAAW,qBAAqB;IACpC,2DAA2D;IAC3D,YAAY,EAAE,MAAM,CAAC;IACrB,wEAAwE;IACxE,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,WAAW,EACtD,MAAM,EAAE,CAAC,EACT,OAAO,EAAE,qBAAqB,GAC7B,CAAC,CAKH"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/styles/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
export declare const COLOR_BG_PRIMARY = "bg-white";
|
|
2
|
+
export declare const COLOR_BG_SUBTLE = "bg-slate-50";
|
|
3
|
+
export declare const COLOR_BG_MUTED = "bg-slate-100";
|
|
4
|
+
export declare const COLOR_BG_INVERSE = "bg-slate-900";
|
|
5
|
+
export declare const COLOR_BORDER_DEFAULT = "border-slate-200";
|
|
6
|
+
export declare const COLOR_BORDER_STRONG = "border-slate-300";
|
|
7
|
+
export declare const COLOR_BORDER_FOCUS = "border-slate-900";
|
|
8
|
+
export declare const COLOR_BORDER_INVALID = "border-red-500";
|
|
9
|
+
export declare const COLOR_TEXT_PRIMARY = "text-slate-900";
|
|
10
|
+
export declare const COLOR_TEXT_SECONDARY = "text-slate-500";
|
|
11
|
+
export declare const COLOR_TEXT_MUTED = "text-slate-400";
|
|
12
|
+
export declare const COLOR_TEXT_INVERSE = "text-white";
|
|
13
|
+
export declare const COLOR_TEXT_PLACEHOLDER = "text-slate-400";
|
|
14
|
+
export declare const COLOR_TEXT_INVALID = "text-red-600";
|
|
15
|
+
export declare const COLOR_BRAND_DEFAULT = "bg-slate-900";
|
|
16
|
+
export declare const COLOR_BRAND_HOVER = "bg-slate-800";
|
|
17
|
+
export declare const COLOR_BRAND_ACTIVE = "bg-slate-700";
|
|
18
|
+
export declare const COLOR_ACCENT_DEFAULT = "bg-slate-900";
|
|
19
|
+
export declare const COLOR_ACCENT_BORDER = "border-slate-900";
|
|
20
|
+
export declare const SEMANTIC_COLORS: {
|
|
21
|
+
readonly action: {
|
|
22
|
+
readonly bg: "bg-slate-900";
|
|
23
|
+
readonly bgHover: "bg-slate-800";
|
|
24
|
+
readonly bgActive: "bg-slate-700";
|
|
25
|
+
readonly border: "border-slate-900";
|
|
26
|
+
readonly text: "text-slate-900";
|
|
27
|
+
readonly ring: "ring-slate-400/50";
|
|
28
|
+
};
|
|
29
|
+
readonly danger: {
|
|
30
|
+
readonly bg: "bg-red-600";
|
|
31
|
+
readonly bgHover: "bg-red-700";
|
|
32
|
+
readonly bgActive: "bg-red-800";
|
|
33
|
+
readonly border: "border-red-600";
|
|
34
|
+
readonly text: "text-red-600";
|
|
35
|
+
readonly ring: "ring-red-400/50";
|
|
36
|
+
};
|
|
37
|
+
readonly warning: {
|
|
38
|
+
readonly bg: "bg-amber-500";
|
|
39
|
+
readonly bgHover: "bg-amber-600";
|
|
40
|
+
readonly bgActive: "bg-amber-700";
|
|
41
|
+
readonly border: "border-amber-500";
|
|
42
|
+
readonly text: "text-amber-600";
|
|
43
|
+
readonly ring: "ring-amber-400/50";
|
|
44
|
+
};
|
|
45
|
+
readonly success: {
|
|
46
|
+
readonly bg: "bg-green-600";
|
|
47
|
+
readonly bgHover: "bg-green-700";
|
|
48
|
+
readonly bgActive: "bg-green-800";
|
|
49
|
+
readonly border: "border-green-600";
|
|
50
|
+
readonly text: "text-green-600";
|
|
51
|
+
readonly ring: "ring-green-400/50";
|
|
52
|
+
};
|
|
53
|
+
readonly info: {
|
|
54
|
+
readonly bg: "bg-sky-500";
|
|
55
|
+
readonly bgHover: "bg-sky-600";
|
|
56
|
+
readonly bgActive: "bg-sky-700";
|
|
57
|
+
readonly border: "border-sky-500";
|
|
58
|
+
readonly text: "text-sky-600";
|
|
59
|
+
readonly ring: "ring-sky-400/50";
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
export declare const FOCUS_RING = "ring-2 ring-slate-400/50 ring-offset-2";
|
|
63
|
+
export declare const RADIUS_SM = "rounded-lg";
|
|
64
|
+
export declare const RADIUS_MD = "rounded-xl";
|
|
65
|
+
export declare const RADIUS_FULL = "rounded-full";
|
|
66
|
+
export declare const SHADOW_SM = "shadow-sm";
|
|
67
|
+
export declare const SHADOW_MD = "shadow-md";
|
|
68
|
+
export declare const SIZE_SCALE: {
|
|
69
|
+
readonly default: {
|
|
70
|
+
readonly height: "h-10";
|
|
71
|
+
readonly px: "px-4";
|
|
72
|
+
readonly gap: "gap-2";
|
|
73
|
+
readonly text: "text-base";
|
|
74
|
+
};
|
|
75
|
+
readonly small: {
|
|
76
|
+
readonly height: "h-8";
|
|
77
|
+
readonly px: "px-3";
|
|
78
|
+
readonly gap: "gap-1.5";
|
|
79
|
+
readonly text: "text-sm";
|
|
80
|
+
};
|
|
81
|
+
};
|
|
82
|
+
export declare const TRANSITION_COLORS = "transition-colors duration-150";
|
|
83
|
+
export declare const DISABLED_OPACITY = "data-[disabled=true]:opacity-50";
|
|
84
|
+
export declare const DISABLED_CURSOR = "data-[disabled=true]:cursor-not-allowed data-[disabled=true]:pointer-events-none";
|
|
85
|
+
//# sourceMappingURL=primitives.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../../../src/styles/primitives.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,gBAAgB,aAAa,CAAC;AAC3C,eAAO,MAAM,eAAe,gBAAgB,CAAC;AAC7C,eAAO,MAAM,cAAc,iBAAiB,CAAC;AAC7C,eAAO,MAAM,gBAAgB,iBAAiB,CAAC;AAG/C,eAAO,MAAM,oBAAoB,qBAAqB,CAAC;AACvD,eAAO,MAAM,mBAAmB,qBAAqB,CAAC;AACtD,eAAO,MAAM,kBAAkB,qBAAqB,CAAC;AACrD,eAAO,MAAM,oBAAoB,mBAAmB,CAAC;AAGrD,eAAO,MAAM,kBAAkB,mBAAmB,CAAC;AACnD,eAAO,MAAM,oBAAoB,mBAAmB,CAAC;AACrD,eAAO,MAAM,gBAAgB,mBAAmB,CAAC;AACjD,eAAO,MAAM,kBAAkB,eAAe,CAAC;AAC/C,eAAO,MAAM,sBAAsB,mBAAmB,CAAC;AACvD,eAAO,MAAM,kBAAkB,iBAAiB,CAAC;AAGjD,eAAO,MAAM,mBAAmB,iBAAiB,CAAC;AAClD,eAAO,MAAM,iBAAiB,iBAAiB,CAAC;AAChD,eAAO,MAAM,kBAAkB,iBAAiB,CAAC;AAGjD,eAAO,MAAM,oBAAoB,iBAAiB,CAAC;AACnD,eAAO,MAAM,mBAAmB,qBAAqB,CAAC;AAItD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyClB,CAAC;AAGX,eAAO,MAAM,UAAU,2CAA2C,CAAC;AAGnE,eAAO,MAAM,SAAS,eAAe,CAAC;AACtC,eAAO,MAAM,SAAS,eAAe,CAAC;AACtC,eAAO,MAAM,WAAW,iBAAiB,CAAC;AAG1C,eAAO,MAAM,SAAS,cAAc,CAAC;AACrC,eAAO,MAAM,SAAS,cAAc,CAAC;AAMrC,eAAO,MAAM,UAAU;;;;;;;;;;;;;CAGb,CAAC;AAGX,eAAO,MAAM,iBAAiB,mCAAmC,CAAC;AAGlE,eAAO,MAAM,gBAAgB,oCAAoC,CAAC;AAClE,eAAO,MAAM,eAAe,qFACwD,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cdx-ui/components",
|
|
3
|
-
"version": "0.0.1-alpha.
|
|
3
|
+
"version": "0.0.1-alpha.20",
|
|
4
4
|
"main": "lib/commonjs/index.js",
|
|
5
5
|
"module": "lib/module/index.js",
|
|
6
6
|
"react-native": "src/index.ts",
|
|
@@ -9,13 +9,18 @@
|
|
|
9
9
|
"exports": {
|
|
10
10
|
".": {
|
|
11
11
|
"react-native": "./src/index.ts",
|
|
12
|
-
"source": "./src/index.ts",
|
|
13
12
|
"types": "./lib/typescript/index.d.ts",
|
|
14
13
|
"import": "./lib/module/index.js",
|
|
15
14
|
"require": "./lib/commonjs/index.js",
|
|
16
15
|
"default": "./lib/module/index.js"
|
|
17
16
|
},
|
|
18
|
-
"./styles.css": "./src/styles.css"
|
|
17
|
+
"./styles.css": "./src/styles.css",
|
|
18
|
+
"./metro": {
|
|
19
|
+
"types": "./lib/typescript/metro/withCdxMetroConfig.d.ts",
|
|
20
|
+
"require": "./lib/commonjs/metro/withCdxMetroConfig.js",
|
|
21
|
+
"import": "./lib/module/metro/withCdxMetroConfig.js",
|
|
22
|
+
"default": "./lib/commonjs/metro/withCdxMetroConfig.js"
|
|
23
|
+
}
|
|
19
24
|
},
|
|
20
25
|
"files": [
|
|
21
26
|
"lib",
|
|
@@ -36,29 +41,32 @@
|
|
|
36
41
|
]
|
|
37
42
|
},
|
|
38
43
|
"peerDependencies": {
|
|
39
|
-
"
|
|
40
|
-
"react
|
|
41
|
-
"react-native
|
|
42
|
-
"
|
|
44
|
+
"@shopify/flash-list": ">=2.0.0",
|
|
45
|
+
"react": "^18.2.0 || ^19.0.0",
|
|
46
|
+
"react-native": ">=0.76.0",
|
|
47
|
+
"react-native-reanimated": ">=3.0.0",
|
|
48
|
+
"react-native-web": ">=0.19.0"
|
|
43
49
|
},
|
|
44
50
|
"peerDependenciesMeta": {
|
|
45
|
-
"
|
|
51
|
+
"@shopify/flash-list": {
|
|
46
52
|
"optional": true
|
|
47
53
|
},
|
|
48
|
-
"react-native
|
|
54
|
+
"react-native": {
|
|
49
55
|
"optional": true
|
|
50
56
|
},
|
|
51
|
-
"react-
|
|
57
|
+
"react-native-reanimated": {
|
|
52
58
|
"optional": true
|
|
53
59
|
},
|
|
54
|
-
"
|
|
60
|
+
"react-native-web": {
|
|
55
61
|
"optional": true
|
|
56
62
|
}
|
|
57
63
|
},
|
|
58
64
|
"dependencies": {
|
|
59
65
|
"class-variance-authority": "^0.7.1",
|
|
60
|
-
"
|
|
61
|
-
"@cdx-ui/
|
|
66
|
+
"uniwind": "1.4.1",
|
|
67
|
+
"@cdx-ui/primitives": "0.0.1-alpha.20",
|
|
68
|
+
"@cdx-ui/utils": "0.0.1-alpha.20",
|
|
69
|
+
"@cdx-ui/icons": "0.0.1-alpha.20"
|
|
62
70
|
},
|
|
63
71
|
"devDependencies": {
|
|
64
72
|
"@types/react": "*",
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
import { forwardRef, type ReactNode } from 'react';
|
|
2
|
+
import { Image, Text, View, type ImageProps, type TextProps, type ViewProps } from 'react-native';
|
|
3
|
+
import { createAvatar, type IAvatarImageProps, type IAvatarProps } from '@cdx-ui/primitives';
|
|
4
|
+
import { cn, useStyleContext, withStyleContext } from '@cdx-ui/utils';
|
|
5
|
+
import { Icon as IconComponent, type IconProps } from '../Icon';
|
|
6
|
+
import {
|
|
7
|
+
type AvatarVariantProps,
|
|
8
|
+
avatarBadgeVariants,
|
|
9
|
+
avatarIconVariants,
|
|
10
|
+
avatarTextVariants,
|
|
11
|
+
avatarImageVariants,
|
|
12
|
+
avatarRootVariants,
|
|
13
|
+
} from './styles';
|
|
14
|
+
|
|
15
|
+
const SCOPE = 'AVATAR';
|
|
16
|
+
|
|
17
|
+
const Root = withStyleContext(View, SCOPE);
|
|
18
|
+
|
|
19
|
+
const useAvatarStyleContext = () => useStyleContext(SCOPE) as AvatarVariantProps;
|
|
20
|
+
|
|
21
|
+
const AvatarPrimitive = createAvatar({
|
|
22
|
+
Root,
|
|
23
|
+
Image,
|
|
24
|
+
Text,
|
|
25
|
+
Icon: IconComponent,
|
|
26
|
+
Badge: View,
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
// =============================================================================
|
|
30
|
+
// AVATAR ROOT
|
|
31
|
+
// =============================================================================
|
|
32
|
+
|
|
33
|
+
export interface AvatarProps extends ViewProps, IAvatarProps, AvatarVariantProps {
|
|
34
|
+
className?: string;
|
|
35
|
+
children?: ReactNode;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
const AvatarRoot = forwardRef<View, AvatarProps>(
|
|
39
|
+
({ size = 'lg', className, children, style, ...props }, ref) => {
|
|
40
|
+
const computedClassName = cn(avatarRootVariants({ size }), className);
|
|
41
|
+
|
|
42
|
+
return (
|
|
43
|
+
<AvatarPrimitive
|
|
44
|
+
ref={ref as never}
|
|
45
|
+
className={computedClassName}
|
|
46
|
+
style={style}
|
|
47
|
+
context={{ size }}
|
|
48
|
+
{...props}
|
|
49
|
+
>
|
|
50
|
+
{children}
|
|
51
|
+
</AvatarPrimitive>
|
|
52
|
+
);
|
|
53
|
+
},
|
|
54
|
+
);
|
|
55
|
+
|
|
56
|
+
AvatarRoot.displayName = 'Avatar';
|
|
57
|
+
|
|
58
|
+
// =============================================================================
|
|
59
|
+
// AVATAR IMAGE
|
|
60
|
+
// =============================================================================
|
|
61
|
+
|
|
62
|
+
export interface AvatarImageProps extends Omit<ImageProps, 'source'>, IAvatarImageProps {
|
|
63
|
+
className?: string;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
const AvatarImage = forwardRef<Image, AvatarImageProps>(({ className, style, ...props }, ref) => {
|
|
67
|
+
const computedClassName = cn(avatarImageVariants(), className);
|
|
68
|
+
|
|
69
|
+
return (
|
|
70
|
+
<AvatarPrimitive.Image
|
|
71
|
+
ref={ref as never}
|
|
72
|
+
className={computedClassName}
|
|
73
|
+
style={style}
|
|
74
|
+
{...props}
|
|
75
|
+
/>
|
|
76
|
+
);
|
|
77
|
+
});
|
|
78
|
+
|
|
79
|
+
AvatarImage.displayName = 'Avatar.Image';
|
|
80
|
+
|
|
81
|
+
// =============================================================================
|
|
82
|
+
// AVATAR TEXT
|
|
83
|
+
// =============================================================================
|
|
84
|
+
|
|
85
|
+
export interface AvatarTextProps extends TextProps {
|
|
86
|
+
className?: string;
|
|
87
|
+
children?: ReactNode;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
const AvatarText = forwardRef<Text, AvatarTextProps>(
|
|
91
|
+
({ className, children, style, ...props }, ref) => {
|
|
92
|
+
const { size } = useAvatarStyleContext();
|
|
93
|
+
const computedClassName = cn(avatarTextVariants({ size }), className);
|
|
94
|
+
|
|
95
|
+
return (
|
|
96
|
+
<AvatarPrimitive.Text
|
|
97
|
+
ref={ref as never}
|
|
98
|
+
className={computedClassName}
|
|
99
|
+
style={style}
|
|
100
|
+
{...props}
|
|
101
|
+
>
|
|
102
|
+
{children}
|
|
103
|
+
</AvatarPrimitive.Text>
|
|
104
|
+
);
|
|
105
|
+
},
|
|
106
|
+
);
|
|
107
|
+
|
|
108
|
+
AvatarText.displayName = 'Avatar.Text';
|
|
109
|
+
|
|
110
|
+
// =============================================================================
|
|
111
|
+
// AVATAR ICON
|
|
112
|
+
// =============================================================================
|
|
113
|
+
|
|
114
|
+
export interface AvatarIconProps extends Omit<IconProps, 'children'> {
|
|
115
|
+
className?: string;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
const AvatarIcon = ({ className, style, ...props }: AvatarIconProps) => {
|
|
119
|
+
const { size } = useAvatarStyleContext();
|
|
120
|
+
const computedClassName = cn(avatarIconVariants({ size }), className);
|
|
121
|
+
|
|
122
|
+
return <AvatarPrimitive.Icon className={computedClassName} style={style} {...props} />;
|
|
123
|
+
};
|
|
124
|
+
|
|
125
|
+
AvatarIcon.displayName = 'Avatar.Icon';
|
|
126
|
+
|
|
127
|
+
// =============================================================================
|
|
128
|
+
// AVATAR BADGE
|
|
129
|
+
// =============================================================================
|
|
130
|
+
|
|
131
|
+
export interface AvatarBadgeProps extends ViewProps {
|
|
132
|
+
className?: string;
|
|
133
|
+
children?: ReactNode;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
const AvatarBadge = forwardRef<View, AvatarBadgeProps>(
|
|
137
|
+
({ className, children, style, ...props }, ref) => {
|
|
138
|
+
const { size } = useAvatarStyleContext();
|
|
139
|
+
const computedClassName = cn(avatarBadgeVariants({ size }), className);
|
|
140
|
+
|
|
141
|
+
return (
|
|
142
|
+
<AvatarPrimitive.Badge
|
|
143
|
+
ref={ref as never}
|
|
144
|
+
className={computedClassName}
|
|
145
|
+
style={style}
|
|
146
|
+
{...props}
|
|
147
|
+
>
|
|
148
|
+
{children}
|
|
149
|
+
</AvatarPrimitive.Badge>
|
|
150
|
+
);
|
|
151
|
+
},
|
|
152
|
+
);
|
|
153
|
+
|
|
154
|
+
AvatarBadge.displayName = 'Avatar.Badge';
|
|
155
|
+
|
|
156
|
+
// =============================================================================
|
|
157
|
+
// COMPOUND COMPONENT
|
|
158
|
+
// =============================================================================
|
|
159
|
+
|
|
160
|
+
type AvatarCompoundComponent = typeof AvatarRoot & {
|
|
161
|
+
Image: typeof AvatarImage;
|
|
162
|
+
Text: typeof AvatarText;
|
|
163
|
+
Icon: typeof AvatarIcon;
|
|
164
|
+
Badge: typeof AvatarBadge;
|
|
165
|
+
};
|
|
166
|
+
|
|
167
|
+
export const Avatar = Object.assign(AvatarRoot, {
|
|
168
|
+
Image: AvatarImage,
|
|
169
|
+
Text: AvatarText,
|
|
170
|
+
Icon: AvatarIcon,
|
|
171
|
+
Badge: AvatarBadge,
|
|
172
|
+
}) as AvatarCompoundComponent;
|
|
173
|
+
|
|
174
|
+
export type { AvatarVariantProps };
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { cva, type VariantProps } from 'class-variance-authority';
|
|
2
|
+
import { COLOR_BG_MUTED, COLOR_TEXT_SECONDARY, RADIUS_FULL } from '../../styles/primitives';
|
|
3
|
+
|
|
4
|
+
// ── Root ─────────────────────────────────────────────────
|
|
5
|
+
|
|
6
|
+
export const avatarRootVariants = cva(
|
|
7
|
+
[RADIUS_FULL, 'relative items-center justify-center', COLOR_BG_MUTED],
|
|
8
|
+
{
|
|
9
|
+
variants: {
|
|
10
|
+
size: {
|
|
11
|
+
sm: 'w-8 h-8',
|
|
12
|
+
md: 'w-10 h-10',
|
|
13
|
+
lg: 'w-12 h-12',
|
|
14
|
+
xl: 'w-16 h-16',
|
|
15
|
+
'2xl': 'w-20 h-20',
|
|
16
|
+
},
|
|
17
|
+
},
|
|
18
|
+
defaultVariants: {
|
|
19
|
+
size: 'lg',
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
);
|
|
23
|
+
|
|
24
|
+
// ── Image ────────────────────────────────────────────────
|
|
25
|
+
|
|
26
|
+
export const avatarImageVariants = cva([
|
|
27
|
+
'absolute top-0 left-0 w-full h-full',
|
|
28
|
+
RADIUS_FULL,
|
|
29
|
+
'overflow-hidden',
|
|
30
|
+
]);
|
|
31
|
+
|
|
32
|
+
// ── Text ─────────────────────────────────────────────────
|
|
33
|
+
|
|
34
|
+
export const avatarTextVariants = cva([COLOR_TEXT_SECONDARY, 'font-semibold'], {
|
|
35
|
+
variants: {
|
|
36
|
+
size: {
|
|
37
|
+
sm: 'text-xs',
|
|
38
|
+
md: 'text-sm',
|
|
39
|
+
lg: 'text-base',
|
|
40
|
+
xl: 'text-xl',
|
|
41
|
+
'2xl': 'text-2xl',
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
defaultVariants: {
|
|
45
|
+
size: 'lg',
|
|
46
|
+
},
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
// ── Icon ─────────────────────────────────────────────────
|
|
50
|
+
|
|
51
|
+
export const avatarIconVariants = cva([COLOR_TEXT_SECONDARY], {
|
|
52
|
+
variants: {
|
|
53
|
+
size: {
|
|
54
|
+
sm: 'size-4',
|
|
55
|
+
md: 'size-5',
|
|
56
|
+
lg: 'size-6',
|
|
57
|
+
xl: 'size-8',
|
|
58
|
+
'2xl': 'size-10',
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
defaultVariants: {
|
|
62
|
+
size: 'lg',
|
|
63
|
+
},
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
// ── Badge ────────────────────────────────────────────────
|
|
67
|
+
|
|
68
|
+
export const avatarBadgeVariants = cva(['absolute border-2 border-white', RADIUS_FULL], {
|
|
69
|
+
variants: {
|
|
70
|
+
size: {
|
|
71
|
+
sm: 'w-2.5 h-2.5 bottom-0 right-0',
|
|
72
|
+
md: 'w-3 h-3 bottom-0 right-0',
|
|
73
|
+
lg: 'w-3.5 h-3.5 bottom-0 right-0',
|
|
74
|
+
xl: 'w-4 h-4 bottom-0.5 right-0.5',
|
|
75
|
+
'2xl': 'w-5 h-5 bottom-0.5 right-0.5',
|
|
76
|
+
},
|
|
77
|
+
},
|
|
78
|
+
defaultVariants: {
|
|
79
|
+
size: 'lg',
|
|
80
|
+
},
|
|
81
|
+
});
|
|
82
|
+
|
|
83
|
+
export type AvatarVariantProps = VariantProps<typeof avatarRootVariants>;
|
|
@@ -8,6 +8,7 @@ export interface BoxProps extends ViewProps {
|
|
|
8
8
|
textProps?: TextProps;
|
|
9
9
|
}
|
|
10
10
|
|
|
11
|
+
/** @deprecated Use View instead */
|
|
11
12
|
export const Box = forwardRef<View, BoxProps>(
|
|
12
13
|
({ style, className, children, textProps, ...restProps }, ref: ForwardedRef<View>) => {
|
|
13
14
|
return (
|
|
@@ -11,10 +11,12 @@ import {
|
|
|
11
11
|
} from 'react-native';
|
|
12
12
|
import { createButton, type IButtonProps } from '@cdx-ui/primitives';
|
|
13
13
|
import { cn, useStyleContext, withStyleContext } from '@cdx-ui/utils';
|
|
14
|
+
import { Icon, IconProps } from '../Icon';
|
|
14
15
|
import {
|
|
15
16
|
type ButtonGroupVariantProps,
|
|
16
17
|
type ButtonVariantProps,
|
|
17
18
|
buttonGroupVariants,
|
|
19
|
+
buttonIconVariants,
|
|
18
20
|
buttonRootVariants,
|
|
19
21
|
buttonSpinnerVariants,
|
|
20
22
|
buttonTextVariants,
|
|
@@ -46,9 +48,10 @@ export interface ButtonProps extends PressableProps, IButtonProps, ButtonVariant
|
|
|
46
48
|
const ButtonRoot = forwardRef<View, ButtonProps>(
|
|
47
49
|
(
|
|
48
50
|
{
|
|
49
|
-
variant = '
|
|
50
|
-
color = '
|
|
51
|
-
size = '
|
|
51
|
+
variant = 'strong',
|
|
52
|
+
color = 'action',
|
|
53
|
+
size = 'default',
|
|
54
|
+
mode = 'light',
|
|
52
55
|
fullWidth = false,
|
|
53
56
|
className,
|
|
54
57
|
children,
|
|
@@ -58,7 +61,7 @@ const ButtonRoot = forwardRef<View, ButtonProps>(
|
|
|
58
61
|
ref,
|
|
59
62
|
) => {
|
|
60
63
|
const computedClassName = cn(
|
|
61
|
-
buttonRootVariants({ variant, color, size, fullWidth }),
|
|
64
|
+
buttonRootVariants({ variant, color, size, mode, fullWidth }),
|
|
62
65
|
className,
|
|
63
66
|
);
|
|
64
67
|
|
|
@@ -67,7 +70,7 @@ const ButtonRoot = forwardRef<View, ButtonProps>(
|
|
|
67
70
|
ref={ref}
|
|
68
71
|
className={computedClassName}
|
|
69
72
|
style={style}
|
|
70
|
-
context={{ variant, color, size, fullWidth }}
|
|
73
|
+
context={{ variant, color, size, mode, fullWidth }}
|
|
71
74
|
{...props}
|
|
72
75
|
>
|
|
73
76
|
{children}
|
|
@@ -89,9 +92,9 @@ export interface ButtonTextProps extends TextProps {
|
|
|
89
92
|
|
|
90
93
|
const ButtonLabel = forwardRef<Text, ButtonTextProps>(
|
|
91
94
|
({ className, children, style, ...props }, ref) => {
|
|
92
|
-
const { variant, color, size } = useButtonStyleContext();
|
|
95
|
+
const { variant, color, size, mode } = useButtonStyleContext();
|
|
93
96
|
|
|
94
|
-
const computedClassName = cn(buttonTextVariants({ variant, color, size }), className);
|
|
97
|
+
const computedClassName = cn(buttonTextVariants({ variant, color, size, mode }), className);
|
|
95
98
|
|
|
96
99
|
return (
|
|
97
100
|
<ButtonPrimitive.Text ref={ref} className={computedClassName} style={style} {...props}>
|
|
@@ -135,13 +138,15 @@ const ButtonGroup = forwardRef<View, ButtonGroupProps>(
|
|
|
135
138
|
|
|
136
139
|
ButtonGroup.displayName = 'Button.Group';
|
|
137
140
|
|
|
138
|
-
export interface ButtonIconProps extends
|
|
139
|
-
className?: string;
|
|
140
|
-
}
|
|
141
|
+
export interface ButtonIconProps extends Omit<IconProps, 'children'> {}
|
|
141
142
|
|
|
142
|
-
const ButtonIcon =
|
|
143
|
-
|
|
144
|
-
|
|
143
|
+
const ButtonIcon = ({ className, style, as, ...props }: ButtonIconProps) => {
|
|
144
|
+
const { size } = useButtonStyleContext();
|
|
145
|
+
|
|
146
|
+
const computedClassName = cn(buttonIconVariants({ size }), className);
|
|
147
|
+
|
|
148
|
+
return <Icon as={as} className={computedClassName} style={style} {...props} />;
|
|
149
|
+
};
|
|
145
150
|
|
|
146
151
|
ButtonIcon.displayName = 'Button.Icon';
|
|
147
152
|
|
|
@@ -152,8 +157,11 @@ export interface ButtonSpinnerProps extends ActivityIndicatorProps {
|
|
|
152
157
|
|
|
153
158
|
const ButtonSpinner = forwardRef<ActivityIndicator, ButtonSpinnerProps>(
|
|
154
159
|
({ className, colorClassName, style, ...props }, ref) => {
|
|
155
|
-
const { variant, color } = useButtonStyleContext();
|
|
156
|
-
const computedColorClassName = cn(
|
|
160
|
+
const { variant, color, mode } = useButtonStyleContext();
|
|
161
|
+
const computedColorClassName = cn(
|
|
162
|
+
buttonSpinnerVariants({ variant, color, mode }),
|
|
163
|
+
colorClassName,
|
|
164
|
+
);
|
|
157
165
|
|
|
158
166
|
return (
|
|
159
167
|
<ButtonPrimitive.Spinner
|