@cdx-ui/components 0.0.1-alpha.4 → 0.0.1-alpha.6
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/Checkbox/index.js +173 -0
- package/lib/commonjs/components/Checkbox/index.js.map +1 -0
- package/lib/commonjs/components/Checkbox/styles.js +67 -0
- package/lib/commonjs/components/Checkbox/styles.js.map +1 -0
- package/lib/commonjs/components/index.js +12 -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/module/components/Checkbox/index.js +169 -0
- package/lib/module/components/Checkbox/index.js.map +1 -0
- package/lib/module/components/Checkbox/styles.js +63 -0
- package/lib/module/components/Checkbox/styles.js.map +1 -0
- package/lib/module/components/index.js +1 -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/typescript/components/Checkbox/index.d.ts +44 -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/index.d.ts +1 -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/package.json +12 -9
- package/src/components/Checkbox/index.tsx +215 -0
- package/src/components/Checkbox/styles.ts +94 -0
- package/src/components/index.ts +1 -0
- package/src/metro/withCdxMetroConfig.ts +29 -0
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.Checkbox = void 0;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _primitives = require("@cdx-ui/primitives");
|
|
10
|
+
var _utils = require("@cdx-ui/utils");
|
|
11
|
+
var _styles = require("./styles");
|
|
12
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
|
+
const SCOPE = 'CHECKBOX';
|
|
14
|
+
const Root = (0, _utils.withStyleContext)(_reactNative.Pressable, SCOPE);
|
|
15
|
+
const useCheckboxStyleContext = () => (0, _utils.useStyleContext)(SCOPE);
|
|
16
|
+
const CheckboxPrimitive = (0, _primitives.createCheckbox)({
|
|
17
|
+
Root,
|
|
18
|
+
Indicator: _reactNative.View,
|
|
19
|
+
Icon: _reactNative.View,
|
|
20
|
+
Label: _reactNative.Text,
|
|
21
|
+
Group: _reactNative.View
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
// =============================================================================
|
|
25
|
+
// CHECKBOX ROOT
|
|
26
|
+
// =============================================================================
|
|
27
|
+
|
|
28
|
+
const CheckboxRoot = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
29
|
+
size = 'md',
|
|
30
|
+
className,
|
|
31
|
+
children,
|
|
32
|
+
style,
|
|
33
|
+
...props
|
|
34
|
+
}, ref) => {
|
|
35
|
+
const computedClassName = (0, _utils.cn)((0, _styles.checkboxRootVariants)({
|
|
36
|
+
size
|
|
37
|
+
}), className);
|
|
38
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(CheckboxPrimitive, {
|
|
39
|
+
ref: ref,
|
|
40
|
+
className: computedClassName,
|
|
41
|
+
style: style,
|
|
42
|
+
context: {
|
|
43
|
+
size
|
|
44
|
+
},
|
|
45
|
+
...props,
|
|
46
|
+
children: children
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
CheckboxRoot.displayName = 'Checkbox';
|
|
50
|
+
|
|
51
|
+
// =============================================================================
|
|
52
|
+
// CHECKBOX INDICATOR
|
|
53
|
+
// =============================================================================
|
|
54
|
+
|
|
55
|
+
const CheckboxIndicator = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
56
|
+
className,
|
|
57
|
+
children,
|
|
58
|
+
style,
|
|
59
|
+
...props
|
|
60
|
+
}, ref) => {
|
|
61
|
+
const {
|
|
62
|
+
size
|
|
63
|
+
} = useCheckboxStyleContext();
|
|
64
|
+
const computedClassName = (0, _utils.cn)((0, _styles.checkboxIndicatorVariants)({
|
|
65
|
+
size
|
|
66
|
+
}), className);
|
|
67
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(CheckboxPrimitive.Indicator, {
|
|
68
|
+
ref: ref,
|
|
69
|
+
className: computedClassName,
|
|
70
|
+
style: style,
|
|
71
|
+
...props,
|
|
72
|
+
children: children
|
|
73
|
+
});
|
|
74
|
+
});
|
|
75
|
+
CheckboxIndicator.displayName = 'Checkbox.Indicator';
|
|
76
|
+
|
|
77
|
+
// =============================================================================
|
|
78
|
+
// CHECKBOX ICON
|
|
79
|
+
// =============================================================================
|
|
80
|
+
|
|
81
|
+
const CheckboxIcon = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
82
|
+
className,
|
|
83
|
+
children,
|
|
84
|
+
style,
|
|
85
|
+
...props
|
|
86
|
+
}, ref) => {
|
|
87
|
+
const {
|
|
88
|
+
size
|
|
89
|
+
} = useCheckboxStyleContext();
|
|
90
|
+
const computedClassName = (0, _utils.cn)((0, _styles.checkboxIconVariants)({
|
|
91
|
+
size
|
|
92
|
+
}), className);
|
|
93
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(CheckboxPrimitive.Icon, {
|
|
94
|
+
ref: ref,
|
|
95
|
+
className: computedClassName,
|
|
96
|
+
style: style,
|
|
97
|
+
...props,
|
|
98
|
+
children: children
|
|
99
|
+
});
|
|
100
|
+
});
|
|
101
|
+
CheckboxIcon.displayName = 'Checkbox.Icon';
|
|
102
|
+
|
|
103
|
+
// =============================================================================
|
|
104
|
+
// CHECKBOX LABEL
|
|
105
|
+
// =============================================================================
|
|
106
|
+
|
|
107
|
+
const CheckboxLabel = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
108
|
+
className,
|
|
109
|
+
children,
|
|
110
|
+
style,
|
|
111
|
+
...props
|
|
112
|
+
}, ref) => {
|
|
113
|
+
const {
|
|
114
|
+
size
|
|
115
|
+
} = useCheckboxStyleContext();
|
|
116
|
+
const computedClassName = (0, _utils.cn)((0, _styles.checkboxLabelVariants)({
|
|
117
|
+
size
|
|
118
|
+
}), className);
|
|
119
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(CheckboxPrimitive.Label, {
|
|
120
|
+
ref: ref,
|
|
121
|
+
className: computedClassName,
|
|
122
|
+
style: style,
|
|
123
|
+
...props,
|
|
124
|
+
children: children
|
|
125
|
+
});
|
|
126
|
+
});
|
|
127
|
+
CheckboxLabel.displayName = 'Checkbox.Label';
|
|
128
|
+
|
|
129
|
+
// =============================================================================
|
|
130
|
+
// CHECKBOX GROUP
|
|
131
|
+
// =============================================================================
|
|
132
|
+
|
|
133
|
+
const CheckboxGroup = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
134
|
+
className,
|
|
135
|
+
children,
|
|
136
|
+
style,
|
|
137
|
+
direction = 'column',
|
|
138
|
+
value,
|
|
139
|
+
onChange,
|
|
140
|
+
isDisabled,
|
|
141
|
+
isInvalid,
|
|
142
|
+
isReadOnly,
|
|
143
|
+
...viewProps
|
|
144
|
+
}, ref) => {
|
|
145
|
+
const computedClassName = (0, _utils.cn)((0, _styles.checkboxGroupVariants)({
|
|
146
|
+
direction
|
|
147
|
+
}), className);
|
|
148
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(CheckboxPrimitive.Group, {
|
|
149
|
+
ref: ref,
|
|
150
|
+
className: computedClassName,
|
|
151
|
+
style: style,
|
|
152
|
+
value: value ?? [],
|
|
153
|
+
onChange: onChange,
|
|
154
|
+
isDisabled: isDisabled,
|
|
155
|
+
isInvalid: isInvalid,
|
|
156
|
+
isReadOnly: isReadOnly,
|
|
157
|
+
...viewProps,
|
|
158
|
+
children: children
|
|
159
|
+
});
|
|
160
|
+
});
|
|
161
|
+
CheckboxGroup.displayName = 'Checkbox.Group';
|
|
162
|
+
|
|
163
|
+
// =============================================================================
|
|
164
|
+
// COMPOUND COMPONENT
|
|
165
|
+
// =============================================================================
|
|
166
|
+
|
|
167
|
+
const Checkbox = exports.Checkbox = Object.assign(CheckboxRoot, {
|
|
168
|
+
Indicator: CheckboxIndicator,
|
|
169
|
+
Icon: CheckboxIcon,
|
|
170
|
+
Label: CheckboxLabel,
|
|
171
|
+
Group: CheckboxGroup
|
|
172
|
+
});
|
|
173
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_primitives","_utils","_styles","_jsxRuntime","SCOPE","Root","withStyleContext","Pressable","useCheckboxStyleContext","useStyleContext","CheckboxPrimitive","createCheckbox","Indicator","View","Icon","Label","Text","Group","CheckboxRoot","forwardRef","size","className","children","style","props","ref","computedClassName","cn","checkboxRootVariants","jsx","context","displayName","CheckboxIndicator","checkboxIndicatorVariants","CheckboxIcon","checkboxIconVariants","CheckboxLabel","checkboxLabelVariants","CheckboxGroup","direction","value","onChange","isDisabled","isInvalid","isReadOnly","viewProps","checkboxGroupVariants","Checkbox","exports","Object","assign"],"sourceRoot":"../../../../src","sources":["components/Checkbox/index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.checkboxRootVariants = exports.checkboxLabelVariants = exports.checkboxIndicatorVariants = exports.checkboxIconVariants = exports.checkboxGroupVariants = void 0;
|
|
7
|
+
var _reactNative = require("react-native");
|
|
8
|
+
var _classVarianceAuthority = require("class-variance-authority");
|
|
9
|
+
const checkboxRootVariants = exports.checkboxRootVariants = (0, _classVarianceAuthority.cva)(['flex-row items-center', 'data-[disabled=true]:opacity-60 data-[disabled=true]:cursor-not-allowed'], {
|
|
10
|
+
variants: {
|
|
11
|
+
size: {
|
|
12
|
+
sm: 'gap-2',
|
|
13
|
+
md: 'gap-2.5'
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
defaultVariants: {
|
|
17
|
+
size: 'md'
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
const checkboxIndicatorVariants = exports.checkboxIndicatorVariants = (0, _classVarianceAuthority.cva)(['items-center justify-center', 'rounded', 'border-2 border-neutral-border-strong', 'data-[checked=true]:bg-blue-500 data-[checked=true]:border-blue-500', 'data-[disabled=true]:opacity-60', 'data-[invalid=true]:border-red-500', 'data-[checked=true]:data-[invalid=true]:bg-red-500 data-[checked=true]:data-[invalid=true]:border-red-500', _reactNative.Platform.select({
|
|
21
|
+
web: ['transition-colors duration-150', 'data-[hover=true]:border-zinc-500 data-[hover=true]:bg-zinc-50', 'data-[focus-visible=true]:ring-2 data-[focus-visible=true]:ring-blue-300/50 data-[focus-visible=true]:ring-offset-1', 'data-[invalid=true]:data-[hover=true]:border-red-400', 'data-[invalid=true]:data-[focus-visible=true]:ring-red-300/50'].join(' '),
|
|
22
|
+
default: ''
|
|
23
|
+
})], {
|
|
24
|
+
variants: {
|
|
25
|
+
size: {
|
|
26
|
+
sm: 'h-4 w-4',
|
|
27
|
+
md: 'h-5 w-5'
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
defaultVariants: {
|
|
31
|
+
size: 'md'
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
const checkboxIconVariants = exports.checkboxIconVariants = (0, _classVarianceAuthority.cva)(['text-white'], {
|
|
35
|
+
variants: {
|
|
36
|
+
size: {
|
|
37
|
+
sm: 'h-3 w-3',
|
|
38
|
+
md: 'h-3.5 w-3.5'
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
defaultVariants: {
|
|
42
|
+
size: 'md'
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
const checkboxLabelVariants = exports.checkboxLabelVariants = (0, _classVarianceAuthority.cva)(['text-neutral-text-primary', 'data-[disabled=true]:text-neutral-text-tertiary'], {
|
|
46
|
+
variants: {
|
|
47
|
+
size: {
|
|
48
|
+
sm: 'text-sm',
|
|
49
|
+
md: 'text-base'
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
defaultVariants: {
|
|
53
|
+
size: 'md'
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
const checkboxGroupVariants = exports.checkboxGroupVariants = (0, _classVarianceAuthority.cva)([], {
|
|
57
|
+
variants: {
|
|
58
|
+
direction: {
|
|
59
|
+
column: 'gap-2',
|
|
60
|
+
row: 'flex-row gap-4'
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
defaultVariants: {
|
|
64
|
+
direction: 'column'
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
//# sourceMappingURL=styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_classVarianceAuthority","checkboxRootVariants","exports","cva","variants","size","sm","md","defaultVariants","checkboxIndicatorVariants","Platform","select","web","join","default","checkboxIconVariants","checkboxLabelVariants","checkboxGroupVariants","direction","column","row"],"sourceRoot":"../../../../src","sources":["components/Checkbox/styles.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,uBAAA,GAAAD,OAAA;AAEO,MAAME,oBAAoB,GAAAC,OAAA,CAAAD,oBAAA,GAAG,IAAAE,2BAAG,EACrC,CACE,uBAAuB,EACvB,yEAAyE,CAC1E,EACD;EACEC,QAAQ,EAAE;IACRC,IAAI,EAAE;MACJC,EAAE,EAAE,OAAO;MACXC,EAAE,EAAE;IACN;EACF,CAAC;EACDC,eAAe,EAAE;IACfH,IAAI,EAAE;EACR;AACF,CACF,CAAC;AAEM,MAAMI,yBAAyB,GAAAP,OAAA,CAAAO,yBAAA,GAAG,IAAAN,2BAAG,EAC1C,CACE,6BAA6B,EAC7B,SAAS,EACT,uCAAuC,EACvC,qEAAqE,EACrE,iCAAiC,EACjC,oCAAoC,EACpC,2GAA2G,EAC3GO,qBAAQ,CAACC,MAAM,CAAC;EACdC,GAAG,EAAE,CACH,gCAAgC,EAChC,gEAAgE,EAChE,qHAAqH,EACrH,sDAAsD,EACtD,+DAA+D,CAChE,CAACC,IAAI,CAAC,GAAG,CAAC;EACXC,OAAO,EAAE;AACX,CAAC,CAAC,CACH,EACD;EACEV,QAAQ,EAAE;IACRC,IAAI,EAAE;MACJC,EAAE,EAAE,SAAS;MACbC,EAAE,EAAE;IACN;EACF,CAAC;EACDC,eAAe,EAAE;IACfH,IAAI,EAAE;EACR;AACF,CACF,CAAC;AAEM,MAAMU,oBAAoB,GAAAb,OAAA,CAAAa,oBAAA,GAAG,IAAAZ,2BAAG,EAAC,CAAC,YAAY,CAAC,EAAE;EACtDC,QAAQ,EAAE;IACRC,IAAI,EAAE;MACJC,EAAE,EAAE,SAAS;MACbC,EAAE,EAAE;IACN;EACF,CAAC;EACDC,eAAe,EAAE;IACfH,IAAI,EAAE;EACR;AACF,CAAC,CAAC;AAEK,MAAMW,qBAAqB,GAAAd,OAAA,CAAAc,qBAAA,GAAG,IAAAb,2BAAG,EACtC,CAAC,2BAA2B,EAAE,iDAAiD,CAAC,EAChF;EACEC,QAAQ,EAAE;IACRC,IAAI,EAAE;MACJC,EAAE,EAAE,SAAS;MACbC,EAAE,EAAE;IACN;EACF,CAAC;EACDC,eAAe,EAAE;IACfH,IAAI,EAAE;EACR;AACF,CACF,CAAC;AAEM,MAAMY,qBAAqB,GAAAf,OAAA,CAAAe,qBAAA,GAAG,IAAAd,2BAAG,EAAC,EAAE,EAAE;EAC3CC,QAAQ,EAAE;IACRc,SAAS,EAAE;MACTC,MAAM,EAAE,OAAO;MACfC,GAAG,EAAE;IACP;EACF,CAAC;EACDZ,eAAe,EAAE;IACfU,SAAS,EAAE;EACb;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -43,6 +43,18 @@ Object.keys(_Button).forEach(function (key) {
|
|
|
43
43
|
}
|
|
44
44
|
});
|
|
45
45
|
});
|
|
46
|
+
var _Checkbox = require("./Checkbox");
|
|
47
|
+
Object.keys(_Checkbox).forEach(function (key) {
|
|
48
|
+
if (key === "default" || key === "__esModule") return;
|
|
49
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
50
|
+
if (key in exports && exports[key] === _Checkbox[key]) return;
|
|
51
|
+
Object.defineProperty(exports, key, {
|
|
52
|
+
enumerable: true,
|
|
53
|
+
get: function () {
|
|
54
|
+
return _Checkbox[key];
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
});
|
|
46
58
|
var _Input = require("./Input");
|
|
47
59
|
Object.keys(_Input).forEach(function (key) {
|
|
48
60
|
if (key === "default" || key === "__esModule") return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_Box","require","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_Button","_Input","_Select","_Stack","_Text"],"sourceRoot":"../../../src","sources":["components/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,IAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,IAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAL,IAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAb,IAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAS,OAAA,GAAAb,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAW,OAAA,EAAAV,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAS,OAAA,CAAAT,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,OAAA,CAAAT,GAAA;IAAA;EAAA;AAAA;AACA,IAAAU,
|
|
1
|
+
{"version":3,"names":["_Box","require","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_Button","_Checkbox","_Input","_Select","_Stack","_Text"],"sourceRoot":"../../../src","sources":["components/index.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.withCdxMetroConfig = withCdxMetroConfig;
|
|
7
|
+
var _metro = require("uniwind/metro");
|
|
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
|
+
function withCdxMetroConfig(config, options) {
|
|
19
|
+
return (0, _metro.withUniwindConfig)(config, {
|
|
20
|
+
cssEntryFile: options.cssEntryFile,
|
|
21
|
+
dtsFile: options.generatedTypesFile
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=withCdxMetroConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_metro","require","withCdxMetroConfig","config","options","withUniwindConfig","cssEntryFile","dtsFile","generatedTypesFile"],"sourceRoot":"../../../src","sources":["metro/withCdxMetroConfig.ts"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,kBAAkBA,CAChCC,MAAS,EACTC,OAA8B,EAC3B;EACH,OAAO,IAAAC,wBAAiB,EAACF,MAAM,EAAE;IAC/BG,YAAY,EAAEF,OAAO,CAACE,YAAY;IAClCC,OAAO,EAAEH,OAAO,CAACI;EACnB,CAAC,CAAC;AACJ","ignoreList":[]}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { forwardRef } from 'react';
|
|
4
|
+
import { Pressable, Text, View } from 'react-native';
|
|
5
|
+
import { createCheckbox } from '@cdx-ui/primitives';
|
|
6
|
+
import { cn, useStyleContext, withStyleContext } from '@cdx-ui/utils';
|
|
7
|
+
import { checkboxGroupVariants, checkboxIconVariants, checkboxIndicatorVariants, checkboxLabelVariants, checkboxRootVariants } from './styles';
|
|
8
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
|
+
const SCOPE = 'CHECKBOX';
|
|
10
|
+
const Root = withStyleContext(Pressable, SCOPE);
|
|
11
|
+
const useCheckboxStyleContext = () => useStyleContext(SCOPE);
|
|
12
|
+
const CheckboxPrimitive = createCheckbox({
|
|
13
|
+
Root,
|
|
14
|
+
Indicator: View,
|
|
15
|
+
Icon: View,
|
|
16
|
+
Label: Text,
|
|
17
|
+
Group: View
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
// =============================================================================
|
|
21
|
+
// CHECKBOX ROOT
|
|
22
|
+
// =============================================================================
|
|
23
|
+
|
|
24
|
+
const CheckboxRoot = /*#__PURE__*/forwardRef(({
|
|
25
|
+
size = 'md',
|
|
26
|
+
className,
|
|
27
|
+
children,
|
|
28
|
+
style,
|
|
29
|
+
...props
|
|
30
|
+
}, ref) => {
|
|
31
|
+
const computedClassName = cn(checkboxRootVariants({
|
|
32
|
+
size
|
|
33
|
+
}), className);
|
|
34
|
+
return /*#__PURE__*/_jsx(CheckboxPrimitive, {
|
|
35
|
+
ref: ref,
|
|
36
|
+
className: computedClassName,
|
|
37
|
+
style: style,
|
|
38
|
+
context: {
|
|
39
|
+
size
|
|
40
|
+
},
|
|
41
|
+
...props,
|
|
42
|
+
children: children
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
CheckboxRoot.displayName = 'Checkbox';
|
|
46
|
+
|
|
47
|
+
// =============================================================================
|
|
48
|
+
// CHECKBOX INDICATOR
|
|
49
|
+
// =============================================================================
|
|
50
|
+
|
|
51
|
+
const CheckboxIndicator = /*#__PURE__*/forwardRef(({
|
|
52
|
+
className,
|
|
53
|
+
children,
|
|
54
|
+
style,
|
|
55
|
+
...props
|
|
56
|
+
}, ref) => {
|
|
57
|
+
const {
|
|
58
|
+
size
|
|
59
|
+
} = useCheckboxStyleContext();
|
|
60
|
+
const computedClassName = cn(checkboxIndicatorVariants({
|
|
61
|
+
size
|
|
62
|
+
}), className);
|
|
63
|
+
return /*#__PURE__*/_jsx(CheckboxPrimitive.Indicator, {
|
|
64
|
+
ref: ref,
|
|
65
|
+
className: computedClassName,
|
|
66
|
+
style: style,
|
|
67
|
+
...props,
|
|
68
|
+
children: children
|
|
69
|
+
});
|
|
70
|
+
});
|
|
71
|
+
CheckboxIndicator.displayName = 'Checkbox.Indicator';
|
|
72
|
+
|
|
73
|
+
// =============================================================================
|
|
74
|
+
// CHECKBOX ICON
|
|
75
|
+
// =============================================================================
|
|
76
|
+
|
|
77
|
+
const CheckboxIcon = /*#__PURE__*/forwardRef(({
|
|
78
|
+
className,
|
|
79
|
+
children,
|
|
80
|
+
style,
|
|
81
|
+
...props
|
|
82
|
+
}, ref) => {
|
|
83
|
+
const {
|
|
84
|
+
size
|
|
85
|
+
} = useCheckboxStyleContext();
|
|
86
|
+
const computedClassName = cn(checkboxIconVariants({
|
|
87
|
+
size
|
|
88
|
+
}), className);
|
|
89
|
+
return /*#__PURE__*/_jsx(CheckboxPrimitive.Icon, {
|
|
90
|
+
ref: ref,
|
|
91
|
+
className: computedClassName,
|
|
92
|
+
style: style,
|
|
93
|
+
...props,
|
|
94
|
+
children: children
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
CheckboxIcon.displayName = 'Checkbox.Icon';
|
|
98
|
+
|
|
99
|
+
// =============================================================================
|
|
100
|
+
// CHECKBOX LABEL
|
|
101
|
+
// =============================================================================
|
|
102
|
+
|
|
103
|
+
const CheckboxLabel = /*#__PURE__*/forwardRef(({
|
|
104
|
+
className,
|
|
105
|
+
children,
|
|
106
|
+
style,
|
|
107
|
+
...props
|
|
108
|
+
}, ref) => {
|
|
109
|
+
const {
|
|
110
|
+
size
|
|
111
|
+
} = useCheckboxStyleContext();
|
|
112
|
+
const computedClassName = cn(checkboxLabelVariants({
|
|
113
|
+
size
|
|
114
|
+
}), className);
|
|
115
|
+
return /*#__PURE__*/_jsx(CheckboxPrimitive.Label, {
|
|
116
|
+
ref: ref,
|
|
117
|
+
className: computedClassName,
|
|
118
|
+
style: style,
|
|
119
|
+
...props,
|
|
120
|
+
children: children
|
|
121
|
+
});
|
|
122
|
+
});
|
|
123
|
+
CheckboxLabel.displayName = 'Checkbox.Label';
|
|
124
|
+
|
|
125
|
+
// =============================================================================
|
|
126
|
+
// CHECKBOX GROUP
|
|
127
|
+
// =============================================================================
|
|
128
|
+
|
|
129
|
+
const CheckboxGroup = /*#__PURE__*/forwardRef(({
|
|
130
|
+
className,
|
|
131
|
+
children,
|
|
132
|
+
style,
|
|
133
|
+
direction = 'column',
|
|
134
|
+
value,
|
|
135
|
+
onChange,
|
|
136
|
+
isDisabled,
|
|
137
|
+
isInvalid,
|
|
138
|
+
isReadOnly,
|
|
139
|
+
...viewProps
|
|
140
|
+
}, ref) => {
|
|
141
|
+
const computedClassName = cn(checkboxGroupVariants({
|
|
142
|
+
direction
|
|
143
|
+
}), className);
|
|
144
|
+
return /*#__PURE__*/_jsx(CheckboxPrimitive.Group, {
|
|
145
|
+
ref: ref,
|
|
146
|
+
className: computedClassName,
|
|
147
|
+
style: style,
|
|
148
|
+
value: value ?? [],
|
|
149
|
+
onChange: onChange,
|
|
150
|
+
isDisabled: isDisabled,
|
|
151
|
+
isInvalid: isInvalid,
|
|
152
|
+
isReadOnly: isReadOnly,
|
|
153
|
+
...viewProps,
|
|
154
|
+
children: children
|
|
155
|
+
});
|
|
156
|
+
});
|
|
157
|
+
CheckboxGroup.displayName = 'Checkbox.Group';
|
|
158
|
+
|
|
159
|
+
// =============================================================================
|
|
160
|
+
// COMPOUND COMPONENT
|
|
161
|
+
// =============================================================================
|
|
162
|
+
|
|
163
|
+
export const Checkbox = Object.assign(CheckboxRoot, {
|
|
164
|
+
Indicator: CheckboxIndicator,
|
|
165
|
+
Icon: CheckboxIcon,
|
|
166
|
+
Label: CheckboxLabel,
|
|
167
|
+
Group: CheckboxGroup
|
|
168
|
+
});
|
|
169
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["forwardRef","Pressable","Text","View","createCheckbox","cn","useStyleContext","withStyleContext","checkboxGroupVariants","checkboxIconVariants","checkboxIndicatorVariants","checkboxLabelVariants","checkboxRootVariants","jsx","_jsx","SCOPE","Root","useCheckboxStyleContext","CheckboxPrimitive","Indicator","Icon","Label","Group","CheckboxRoot","size","className","children","style","props","ref","computedClassName","context","displayName","CheckboxIndicator","CheckboxIcon","CheckboxLabel","CheckboxGroup","direction","value","onChange","isDisabled","isInvalid","isReadOnly","viewProps","Checkbox","Object","assign"],"sourceRoot":"../../../../src","sources":["components/Checkbox/index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { Platform } from 'react-native';
|
|
4
|
+
import { cva } from 'class-variance-authority';
|
|
5
|
+
export const checkboxRootVariants = cva(['flex-row items-center', 'data-[disabled=true]:opacity-60 data-[disabled=true]:cursor-not-allowed'], {
|
|
6
|
+
variants: {
|
|
7
|
+
size: {
|
|
8
|
+
sm: 'gap-2',
|
|
9
|
+
md: 'gap-2.5'
|
|
10
|
+
}
|
|
11
|
+
},
|
|
12
|
+
defaultVariants: {
|
|
13
|
+
size: 'md'
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
export const checkboxIndicatorVariants = cva(['items-center justify-center', 'rounded', 'border-2 border-neutral-border-strong', 'data-[checked=true]:bg-blue-500 data-[checked=true]:border-blue-500', 'data-[disabled=true]:opacity-60', 'data-[invalid=true]:border-red-500', 'data-[checked=true]:data-[invalid=true]:bg-red-500 data-[checked=true]:data-[invalid=true]:border-red-500', Platform.select({
|
|
17
|
+
web: ['transition-colors duration-150', 'data-[hover=true]:border-zinc-500 data-[hover=true]:bg-zinc-50', 'data-[focus-visible=true]:ring-2 data-[focus-visible=true]:ring-blue-300/50 data-[focus-visible=true]:ring-offset-1', 'data-[invalid=true]:data-[hover=true]:border-red-400', 'data-[invalid=true]:data-[focus-visible=true]:ring-red-300/50'].join(' '),
|
|
18
|
+
default: ''
|
|
19
|
+
})], {
|
|
20
|
+
variants: {
|
|
21
|
+
size: {
|
|
22
|
+
sm: 'h-4 w-4',
|
|
23
|
+
md: 'h-5 w-5'
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
defaultVariants: {
|
|
27
|
+
size: 'md'
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
export const checkboxIconVariants = cva(['text-white'], {
|
|
31
|
+
variants: {
|
|
32
|
+
size: {
|
|
33
|
+
sm: 'h-3 w-3',
|
|
34
|
+
md: 'h-3.5 w-3.5'
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
defaultVariants: {
|
|
38
|
+
size: 'md'
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
export const checkboxLabelVariants = cva(['text-neutral-text-primary', 'data-[disabled=true]:text-neutral-text-tertiary'], {
|
|
42
|
+
variants: {
|
|
43
|
+
size: {
|
|
44
|
+
sm: 'text-sm',
|
|
45
|
+
md: 'text-base'
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
defaultVariants: {
|
|
49
|
+
size: 'md'
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
export const checkboxGroupVariants = cva([], {
|
|
53
|
+
variants: {
|
|
54
|
+
direction: {
|
|
55
|
+
column: 'gap-2',
|
|
56
|
+
row: 'flex-row gap-4'
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
defaultVariants: {
|
|
60
|
+
direction: 'column'
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
//# sourceMappingURL=styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Platform","cva","checkboxRootVariants","variants","size","sm","md","defaultVariants","checkboxIndicatorVariants","select","web","join","default","checkboxIconVariants","checkboxLabelVariants","checkboxGroupVariants","direction","column","row"],"sourceRoot":"../../../../src","sources":["components/Checkbox/styles.ts"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,cAAc;AACvC,SAASC,GAAG,QAA2B,0BAA0B;AAEjE,OAAO,MAAMC,oBAAoB,GAAGD,GAAG,CACrC,CACE,uBAAuB,EACvB,yEAAyE,CAC1E,EACD;EACEE,QAAQ,EAAE;IACRC,IAAI,EAAE;MACJC,EAAE,EAAE,OAAO;MACXC,EAAE,EAAE;IACN;EACF,CAAC;EACDC,eAAe,EAAE;IACfH,IAAI,EAAE;EACR;AACF,CACF,CAAC;AAED,OAAO,MAAMI,yBAAyB,GAAGP,GAAG,CAC1C,CACE,6BAA6B,EAC7B,SAAS,EACT,uCAAuC,EACvC,qEAAqE,EACrE,iCAAiC,EACjC,oCAAoC,EACpC,2GAA2G,EAC3GD,QAAQ,CAACS,MAAM,CAAC;EACdC,GAAG,EAAE,CACH,gCAAgC,EAChC,gEAAgE,EAChE,qHAAqH,EACrH,sDAAsD,EACtD,+DAA+D,CAChE,CAACC,IAAI,CAAC,GAAG,CAAC;EACXC,OAAO,EAAE;AACX,CAAC,CAAC,CACH,EACD;EACET,QAAQ,EAAE;IACRC,IAAI,EAAE;MACJC,EAAE,EAAE,SAAS;MACbC,EAAE,EAAE;IACN;EACF,CAAC;EACDC,eAAe,EAAE;IACfH,IAAI,EAAE;EACR;AACF,CACF,CAAC;AAED,OAAO,MAAMS,oBAAoB,GAAGZ,GAAG,CAAC,CAAC,YAAY,CAAC,EAAE;EACtDE,QAAQ,EAAE;IACRC,IAAI,EAAE;MACJC,EAAE,EAAE,SAAS;MACbC,EAAE,EAAE;IACN;EACF,CAAC;EACDC,eAAe,EAAE;IACfH,IAAI,EAAE;EACR;AACF,CAAC,CAAC;AAEF,OAAO,MAAMU,qBAAqB,GAAGb,GAAG,CACtC,CAAC,2BAA2B,EAAE,iDAAiD,CAAC,EAChF;EACEE,QAAQ,EAAE;IACRC,IAAI,EAAE;MACJC,EAAE,EAAE,SAAS;MACbC,EAAE,EAAE;IACN;EACF,CAAC;EACDC,eAAe,EAAE;IACfH,IAAI,EAAE;EACR;AACF,CACF,CAAC;AAED,OAAO,MAAMW,qBAAqB,GAAGd,GAAG,CAAC,EAAE,EAAE;EAC3CE,QAAQ,EAAE;IACRa,SAAS,EAAE;MACTC,MAAM,EAAE,OAAO;MACfC,GAAG,EAAE;IACP;EACF,CAAC;EACDX,eAAe,EAAE;IACfS,SAAS,EAAE;EACb;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["HStack","VStack"],"sourceRoot":"../../../src","sources":["components/index.ts"],"mappings":";;AAAA,cAAc,OAAO;AACrB,cAAc,UAAU;AACxB,cAAc,SAAS;AACvB,cAAc,UAAU;AACxB,SAASA,MAAM,EAAEC,MAAM,QAAQ,SAAS;AACxC,cAAc,QAAQ","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["HStack","VStack"],"sourceRoot":"../../../src","sources":["components/index.ts"],"mappings":";;AAAA,cAAc,OAAO;AACrB,cAAc,UAAU;AACxB,cAAc,YAAY;AAC1B,cAAc,SAAS;AACvB,cAAc,UAAU;AACxB,SAASA,MAAM,EAAEC,MAAM,QAAQ,SAAS;AACxC,cAAc,QAAQ","ignoreList":[]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { withUniwindConfig } from 'uniwind/metro';
|
|
4
|
+
/**
|
|
5
|
+
* Wraps a Metro config with CDX UI's styling-layer configuration.
|
|
6
|
+
*
|
|
7
|
+
* Today this delegates to Uniwind. If the styling layer is swapped (see
|
|
8
|
+
* `docs/research/uniwind-to-nativewind-contingency.md`), only the internals
|
|
9
|
+
* of this function change — consuming Metro configs stay the same.
|
|
10
|
+
*
|
|
11
|
+
* Must be the **outermost** Metro config wrapper (after any other wrappers
|
|
12
|
+
* like `withStorybook`).
|
|
13
|
+
*/
|
|
14
|
+
export function withCdxMetroConfig(config, options) {
|
|
15
|
+
return withUniwindConfig(config, {
|
|
16
|
+
cssEntryFile: options.cssEntryFile,
|
|
17
|
+
dtsFile: options.generatedTypesFile
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=withCdxMetroConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["withUniwindConfig","withCdxMetroConfig","config","options","cssEntryFile","dtsFile","generatedTypesFile"],"sourceRoot":"../../../src","sources":["metro/withCdxMetroConfig.ts"],"mappings":";;AACA,SAASA,iBAAiB,QAAQ,eAAe;AASjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,kBAAkBA,CAChCC,MAAS,EACTC,OAA8B,EAC3B;EACH,OAAOH,iBAAiB,CAACE,MAAM,EAAE;IAC/BE,YAAY,EAAED,OAAO,CAACC,YAAY;IAClCC,OAAO,EAAEF,OAAO,CAACG;EACnB,CAAC,CAAC;AACJ","ignoreList":[]}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
import { Text, type TextProps, View, type ViewProps } from 'react-native';
|
|
3
|
+
import { type ICheckboxProps } from '@cdx-ui/primitives';
|
|
4
|
+
import { type CheckboxVariantProps } from './styles';
|
|
5
|
+
export interface CheckboxProps extends ICheckboxProps, CheckboxVariantProps {
|
|
6
|
+
className?: string;
|
|
7
|
+
children?: ReactNode;
|
|
8
|
+
}
|
|
9
|
+
declare const CheckboxRoot: import("react").ForwardRefExoticComponent<CheckboxProps & import("react").RefAttributes<View>>;
|
|
10
|
+
export interface CheckboxIndicatorProps extends ViewProps {
|
|
11
|
+
className?: string;
|
|
12
|
+
children?: ReactNode;
|
|
13
|
+
}
|
|
14
|
+
declare const CheckboxIndicator: import("react").ForwardRefExoticComponent<CheckboxIndicatorProps & import("react").RefAttributes<View>>;
|
|
15
|
+
export interface CheckboxIconProps extends ViewProps {
|
|
16
|
+
className?: string;
|
|
17
|
+
children?: ReactNode;
|
|
18
|
+
}
|
|
19
|
+
declare const CheckboxIcon: import("react").ForwardRefExoticComponent<CheckboxIconProps & import("react").RefAttributes<View>>;
|
|
20
|
+
export interface CheckboxLabelProps extends TextProps {
|
|
21
|
+
className?: string;
|
|
22
|
+
children?: ReactNode;
|
|
23
|
+
}
|
|
24
|
+
declare const CheckboxLabel: import("react").ForwardRefExoticComponent<CheckboxLabelProps & import("react").RefAttributes<Text>>;
|
|
25
|
+
export interface CheckboxGroupProps extends ViewProps {
|
|
26
|
+
className?: string;
|
|
27
|
+
children?: ReactNode;
|
|
28
|
+
value?: string[];
|
|
29
|
+
onChange?: (value: string[]) => void;
|
|
30
|
+
isDisabled?: boolean;
|
|
31
|
+
isInvalid?: boolean;
|
|
32
|
+
isReadOnly?: boolean;
|
|
33
|
+
direction?: 'column' | 'row';
|
|
34
|
+
}
|
|
35
|
+
declare const CheckboxGroup: import("react").ForwardRefExoticComponent<CheckboxGroupProps & import("react").RefAttributes<View>>;
|
|
36
|
+
type CheckboxCompoundComponent = typeof CheckboxRoot & {
|
|
37
|
+
Indicator: typeof CheckboxIndicator;
|
|
38
|
+
Icon: typeof CheckboxIcon;
|
|
39
|
+
Label: typeof CheckboxLabel;
|
|
40
|
+
Group: typeof CheckboxGroup;
|
|
41
|
+
};
|
|
42
|
+
export declare const Checkbox: CheckboxCompoundComponent;
|
|
43
|
+
export type { CheckboxVariantProps };
|
|
44
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/Checkbox/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAa,IAAI,EAAE,KAAK,SAAS,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AACrF,OAAO,EAAkB,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzE,OAAO,EACL,KAAK,oBAAoB,EAM1B,MAAM,UAAU,CAAC;AAoBlB,MAAM,WAAW,aAAc,SAAQ,cAAc,EAAE,oBAAoB;IACzE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,QAAA,MAAM,YAAY,gGAgBjB,CAAC;AAQF,MAAM,WAAW,sBAAuB,SAAQ,SAAS;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,QAAA,MAAM,iBAAiB,yGAgBtB,CAAC;AAQF,MAAM,WAAW,iBAAkB,SAAQ,SAAS;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,QAAA,MAAM,YAAY,oGAgBjB,CAAC;AAQF,MAAM,WAAW,kBAAmB,SAAQ,SAAS;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,QAAA,MAAM,aAAa,qGAgBlB,CAAC;AAQF,MAAM,WAAW,kBAAmB,SAAQ,SAAS;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACrC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC;CAC9B;AAED,QAAA,MAAM,aAAa,qGAkClB,CAAC;AAQF,KAAK,yBAAyB,GAAG,OAAO,YAAY,GAAG;IACrD,SAAS,EAAE,OAAO,iBAAiB,CAAC;IACpC,IAAI,EAAE,OAAO,YAAY,CAAC;IAC1B,KAAK,EAAE,OAAO,aAAa,CAAC;IAC5B,KAAK,EAAE,OAAO,aAAa,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,QAAQ,EAKf,yBAAyB,CAAC;AAEhC,YAAY,EAAE,oBAAoB,EAAE,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type VariantProps } from 'class-variance-authority';
|
|
2
|
+
export declare const checkboxRootVariants: (props?: ({
|
|
3
|
+
size?: "sm" | "md" | null | undefined;
|
|
4
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
5
|
+
export declare const checkboxIndicatorVariants: (props?: ({
|
|
6
|
+
size?: "sm" | "md" | null | undefined;
|
|
7
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
8
|
+
export declare const checkboxIconVariants: (props?: ({
|
|
9
|
+
size?: "sm" | "md" | null | undefined;
|
|
10
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
11
|
+
export declare const checkboxLabelVariants: (props?: ({
|
|
12
|
+
size?: "sm" | "md" | null | undefined;
|
|
13
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
14
|
+
export declare const checkboxGroupVariants: (props?: ({
|
|
15
|
+
direction?: "row" | "column" | null | undefined;
|
|
16
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
17
|
+
export type CheckboxVariantProps = VariantProps<typeof checkboxRootVariants>;
|
|
18
|
+
//# sourceMappingURL=styles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../src/components/Checkbox/styles.ts"],"names":[],"mappings":"AACA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAElE,eAAO,MAAM,oBAAoB;;8EAgBhC,CAAC;AAEF,eAAO,MAAM,yBAAyB;;8EA+BrC,CAAC;AAEF,eAAO,MAAM,oBAAoB;;8EAU/B,CAAC;AAEH,eAAO,MAAM,qBAAqB;;8EAajC,CAAC;AAEF,eAAO,MAAM,qBAAqB;;8EAUhC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,YAAY,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
|
|
@@ -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,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACzC,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"}
|
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.6",
|
|
4
4
|
"main": "lib/commonjs/index.js",
|
|
5
5
|
"module": "lib/module/index.js",
|
|
6
6
|
"react-native": "src/index.ts",
|
|
@@ -14,7 +14,13 @@
|
|
|
14
14
|
"require": "./lib/commonjs/index.js",
|
|
15
15
|
"default": "./lib/module/index.js"
|
|
16
16
|
},
|
|
17
|
-
"./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
|
+
}
|
|
18
24
|
},
|
|
19
25
|
"files": [
|
|
20
26
|
"lib",
|
|
@@ -38,8 +44,7 @@
|
|
|
38
44
|
"react": "^18.2.0 || ^19.0.0",
|
|
39
45
|
"react-native": ">=0.76.0",
|
|
40
46
|
"react-native-reanimated": ">=3.0.0",
|
|
41
|
-
"react-native-web": ">=0.19.0"
|
|
42
|
-
"uniwind": "*"
|
|
47
|
+
"react-native-web": ">=0.19.0"
|
|
43
48
|
},
|
|
44
49
|
"peerDependenciesMeta": {
|
|
45
50
|
"react-native": {
|
|
@@ -50,15 +55,13 @@
|
|
|
50
55
|
},
|
|
51
56
|
"react-native-web": {
|
|
52
57
|
"optional": true
|
|
53
|
-
},
|
|
54
|
-
"uniwind": {
|
|
55
|
-
"optional": true
|
|
56
58
|
}
|
|
57
59
|
},
|
|
58
60
|
"dependencies": {
|
|
59
61
|
"class-variance-authority": "^0.7.1",
|
|
60
|
-
"
|
|
61
|
-
"@cdx-ui/
|
|
62
|
+
"uniwind": "1.4.1",
|
|
63
|
+
"@cdx-ui/primitives": "0.0.1-alpha.6",
|
|
64
|
+
"@cdx-ui/utils": "0.0.1-alpha.6"
|
|
62
65
|
},
|
|
63
66
|
"devDependencies": {
|
|
64
67
|
"@types/react": "*",
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
import { forwardRef, type ReactNode } from 'react';
|
|
2
|
+
import { Pressable, Text, type TextProps, View, type ViewProps } from 'react-native';
|
|
3
|
+
import { createCheckbox, type ICheckboxProps } from '@cdx-ui/primitives';
|
|
4
|
+
import { cn, useStyleContext, withStyleContext } from '@cdx-ui/utils';
|
|
5
|
+
import {
|
|
6
|
+
type CheckboxVariantProps,
|
|
7
|
+
checkboxGroupVariants,
|
|
8
|
+
checkboxIconVariants,
|
|
9
|
+
checkboxIndicatorVariants,
|
|
10
|
+
checkboxLabelVariants,
|
|
11
|
+
checkboxRootVariants,
|
|
12
|
+
} from './styles';
|
|
13
|
+
|
|
14
|
+
const SCOPE = 'CHECKBOX';
|
|
15
|
+
|
|
16
|
+
const Root = withStyleContext(Pressable, SCOPE);
|
|
17
|
+
|
|
18
|
+
const useCheckboxStyleContext = () => useStyleContext(SCOPE) as CheckboxVariantProps;
|
|
19
|
+
|
|
20
|
+
const CheckboxPrimitive = createCheckbox({
|
|
21
|
+
Root,
|
|
22
|
+
Indicator: View,
|
|
23
|
+
Icon: View,
|
|
24
|
+
Label: Text,
|
|
25
|
+
Group: View,
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
// =============================================================================
|
|
29
|
+
// CHECKBOX ROOT
|
|
30
|
+
// =============================================================================
|
|
31
|
+
|
|
32
|
+
export interface CheckboxProps extends ICheckboxProps, CheckboxVariantProps {
|
|
33
|
+
className?: string;
|
|
34
|
+
children?: ReactNode;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
const CheckboxRoot = forwardRef<View, CheckboxProps>(
|
|
38
|
+
({ size = 'md', className, children, style, ...props }, ref) => {
|
|
39
|
+
const computedClassName = cn(checkboxRootVariants({ size }), className);
|
|
40
|
+
|
|
41
|
+
return (
|
|
42
|
+
<CheckboxPrimitive
|
|
43
|
+
ref={ref as any}
|
|
44
|
+
className={computedClassName}
|
|
45
|
+
style={style}
|
|
46
|
+
context={{ size }}
|
|
47
|
+
{...props}
|
|
48
|
+
>
|
|
49
|
+
{children}
|
|
50
|
+
</CheckboxPrimitive>
|
|
51
|
+
);
|
|
52
|
+
},
|
|
53
|
+
);
|
|
54
|
+
|
|
55
|
+
CheckboxRoot.displayName = 'Checkbox';
|
|
56
|
+
|
|
57
|
+
// =============================================================================
|
|
58
|
+
// CHECKBOX INDICATOR
|
|
59
|
+
// =============================================================================
|
|
60
|
+
|
|
61
|
+
export interface CheckboxIndicatorProps extends ViewProps {
|
|
62
|
+
className?: string;
|
|
63
|
+
children?: ReactNode;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
const CheckboxIndicator = forwardRef<View, CheckboxIndicatorProps>(
|
|
67
|
+
({ className, children, style, ...props }, ref) => {
|
|
68
|
+
const { size } = useCheckboxStyleContext();
|
|
69
|
+
const computedClassName = cn(checkboxIndicatorVariants({ size }), className);
|
|
70
|
+
|
|
71
|
+
return (
|
|
72
|
+
<CheckboxPrimitive.Indicator
|
|
73
|
+
ref={ref as any}
|
|
74
|
+
className={computedClassName}
|
|
75
|
+
style={style}
|
|
76
|
+
{...props}
|
|
77
|
+
>
|
|
78
|
+
{children}
|
|
79
|
+
</CheckboxPrimitive.Indicator>
|
|
80
|
+
);
|
|
81
|
+
},
|
|
82
|
+
);
|
|
83
|
+
|
|
84
|
+
CheckboxIndicator.displayName = 'Checkbox.Indicator';
|
|
85
|
+
|
|
86
|
+
// =============================================================================
|
|
87
|
+
// CHECKBOX ICON
|
|
88
|
+
// =============================================================================
|
|
89
|
+
|
|
90
|
+
export interface CheckboxIconProps extends ViewProps {
|
|
91
|
+
className?: string;
|
|
92
|
+
children?: ReactNode;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
const CheckboxIcon = forwardRef<View, CheckboxIconProps>(
|
|
96
|
+
({ className, children, style, ...props }, ref) => {
|
|
97
|
+
const { size } = useCheckboxStyleContext();
|
|
98
|
+
const computedClassName = cn(checkboxIconVariants({ size }), className);
|
|
99
|
+
|
|
100
|
+
return (
|
|
101
|
+
<CheckboxPrimitive.Icon
|
|
102
|
+
ref={ref as any}
|
|
103
|
+
className={computedClassName}
|
|
104
|
+
style={style}
|
|
105
|
+
{...props}
|
|
106
|
+
>
|
|
107
|
+
{children}
|
|
108
|
+
</CheckboxPrimitive.Icon>
|
|
109
|
+
);
|
|
110
|
+
},
|
|
111
|
+
);
|
|
112
|
+
|
|
113
|
+
CheckboxIcon.displayName = 'Checkbox.Icon';
|
|
114
|
+
|
|
115
|
+
// =============================================================================
|
|
116
|
+
// CHECKBOX LABEL
|
|
117
|
+
// =============================================================================
|
|
118
|
+
|
|
119
|
+
export interface CheckboxLabelProps extends TextProps {
|
|
120
|
+
className?: string;
|
|
121
|
+
children?: ReactNode;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
const CheckboxLabel = forwardRef<Text, CheckboxLabelProps>(
|
|
125
|
+
({ className, children, style, ...props }, ref) => {
|
|
126
|
+
const { size } = useCheckboxStyleContext();
|
|
127
|
+
const computedClassName = cn(checkboxLabelVariants({ size }), className);
|
|
128
|
+
|
|
129
|
+
return (
|
|
130
|
+
<CheckboxPrimitive.Label
|
|
131
|
+
ref={ref as any}
|
|
132
|
+
className={computedClassName}
|
|
133
|
+
style={style}
|
|
134
|
+
{...props}
|
|
135
|
+
>
|
|
136
|
+
{children}
|
|
137
|
+
</CheckboxPrimitive.Label>
|
|
138
|
+
);
|
|
139
|
+
},
|
|
140
|
+
);
|
|
141
|
+
|
|
142
|
+
CheckboxLabel.displayName = 'Checkbox.Label';
|
|
143
|
+
|
|
144
|
+
// =============================================================================
|
|
145
|
+
// CHECKBOX GROUP
|
|
146
|
+
// =============================================================================
|
|
147
|
+
|
|
148
|
+
export interface CheckboxGroupProps extends ViewProps {
|
|
149
|
+
className?: string;
|
|
150
|
+
children?: ReactNode;
|
|
151
|
+
value?: string[];
|
|
152
|
+
onChange?: (value: string[]) => void;
|
|
153
|
+
isDisabled?: boolean;
|
|
154
|
+
isInvalid?: boolean;
|
|
155
|
+
isReadOnly?: boolean;
|
|
156
|
+
direction?: 'column' | 'row';
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
const CheckboxGroup = forwardRef<View, CheckboxGroupProps>(
|
|
160
|
+
(
|
|
161
|
+
{
|
|
162
|
+
className,
|
|
163
|
+
children,
|
|
164
|
+
style,
|
|
165
|
+
direction = 'column',
|
|
166
|
+
value,
|
|
167
|
+
onChange,
|
|
168
|
+
isDisabled,
|
|
169
|
+
isInvalid,
|
|
170
|
+
isReadOnly,
|
|
171
|
+
...viewProps
|
|
172
|
+
},
|
|
173
|
+
ref,
|
|
174
|
+
) => {
|
|
175
|
+
const computedClassName = cn(checkboxGroupVariants({ direction }), className);
|
|
176
|
+
|
|
177
|
+
return (
|
|
178
|
+
<CheckboxPrimitive.Group
|
|
179
|
+
ref={ref as any}
|
|
180
|
+
className={computedClassName}
|
|
181
|
+
style={style}
|
|
182
|
+
value={value ?? []}
|
|
183
|
+
onChange={onChange}
|
|
184
|
+
isDisabled={isDisabled}
|
|
185
|
+
isInvalid={isInvalid}
|
|
186
|
+
isReadOnly={isReadOnly}
|
|
187
|
+
{...viewProps}
|
|
188
|
+
>
|
|
189
|
+
{children}
|
|
190
|
+
</CheckboxPrimitive.Group>
|
|
191
|
+
);
|
|
192
|
+
},
|
|
193
|
+
);
|
|
194
|
+
|
|
195
|
+
CheckboxGroup.displayName = 'Checkbox.Group';
|
|
196
|
+
|
|
197
|
+
// =============================================================================
|
|
198
|
+
// COMPOUND COMPONENT
|
|
199
|
+
// =============================================================================
|
|
200
|
+
|
|
201
|
+
type CheckboxCompoundComponent = typeof CheckboxRoot & {
|
|
202
|
+
Indicator: typeof CheckboxIndicator;
|
|
203
|
+
Icon: typeof CheckboxIcon;
|
|
204
|
+
Label: typeof CheckboxLabel;
|
|
205
|
+
Group: typeof CheckboxGroup;
|
|
206
|
+
};
|
|
207
|
+
|
|
208
|
+
export const Checkbox = Object.assign(CheckboxRoot, {
|
|
209
|
+
Indicator: CheckboxIndicator,
|
|
210
|
+
Icon: CheckboxIcon,
|
|
211
|
+
Label: CheckboxLabel,
|
|
212
|
+
Group: CheckboxGroup,
|
|
213
|
+
}) as CheckboxCompoundComponent;
|
|
214
|
+
|
|
215
|
+
export type { CheckboxVariantProps };
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { Platform } from 'react-native';
|
|
2
|
+
import { cva, type VariantProps } from 'class-variance-authority';
|
|
3
|
+
|
|
4
|
+
export const checkboxRootVariants = cva(
|
|
5
|
+
[
|
|
6
|
+
'flex-row items-center',
|
|
7
|
+
'data-[disabled=true]:opacity-60 data-[disabled=true]:cursor-not-allowed',
|
|
8
|
+
],
|
|
9
|
+
{
|
|
10
|
+
variants: {
|
|
11
|
+
size: {
|
|
12
|
+
sm: 'gap-2',
|
|
13
|
+
md: 'gap-2.5',
|
|
14
|
+
},
|
|
15
|
+
},
|
|
16
|
+
defaultVariants: {
|
|
17
|
+
size: 'md',
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
);
|
|
21
|
+
|
|
22
|
+
export const checkboxIndicatorVariants = cva(
|
|
23
|
+
[
|
|
24
|
+
'items-center justify-center',
|
|
25
|
+
'rounded',
|
|
26
|
+
'border-2 border-neutral-border-strong',
|
|
27
|
+
'data-[checked=true]:bg-blue-500 data-[checked=true]:border-blue-500',
|
|
28
|
+
'data-[disabled=true]:opacity-60',
|
|
29
|
+
'data-[invalid=true]:border-red-500',
|
|
30
|
+
'data-[checked=true]:data-[invalid=true]:bg-red-500 data-[checked=true]:data-[invalid=true]:border-red-500',
|
|
31
|
+
Platform.select({
|
|
32
|
+
web: [
|
|
33
|
+
'transition-colors duration-150',
|
|
34
|
+
'data-[hover=true]:border-zinc-500 data-[hover=true]:bg-zinc-50',
|
|
35
|
+
'data-[focus-visible=true]:ring-2 data-[focus-visible=true]:ring-blue-300/50 data-[focus-visible=true]:ring-offset-1',
|
|
36
|
+
'data-[invalid=true]:data-[hover=true]:border-red-400',
|
|
37
|
+
'data-[invalid=true]:data-[focus-visible=true]:ring-red-300/50',
|
|
38
|
+
].join(' '),
|
|
39
|
+
default: '',
|
|
40
|
+
}),
|
|
41
|
+
],
|
|
42
|
+
{
|
|
43
|
+
variants: {
|
|
44
|
+
size: {
|
|
45
|
+
sm: 'h-4 w-4',
|
|
46
|
+
md: 'h-5 w-5',
|
|
47
|
+
},
|
|
48
|
+
},
|
|
49
|
+
defaultVariants: {
|
|
50
|
+
size: 'md',
|
|
51
|
+
},
|
|
52
|
+
},
|
|
53
|
+
);
|
|
54
|
+
|
|
55
|
+
export const checkboxIconVariants = cva(['text-white'], {
|
|
56
|
+
variants: {
|
|
57
|
+
size: {
|
|
58
|
+
sm: 'h-3 w-3',
|
|
59
|
+
md: 'h-3.5 w-3.5',
|
|
60
|
+
},
|
|
61
|
+
},
|
|
62
|
+
defaultVariants: {
|
|
63
|
+
size: 'md',
|
|
64
|
+
},
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
export const checkboxLabelVariants = cva(
|
|
68
|
+
['text-neutral-text-primary', 'data-[disabled=true]:text-neutral-text-tertiary'],
|
|
69
|
+
{
|
|
70
|
+
variants: {
|
|
71
|
+
size: {
|
|
72
|
+
sm: 'text-sm',
|
|
73
|
+
md: 'text-base',
|
|
74
|
+
},
|
|
75
|
+
},
|
|
76
|
+
defaultVariants: {
|
|
77
|
+
size: 'md',
|
|
78
|
+
},
|
|
79
|
+
},
|
|
80
|
+
);
|
|
81
|
+
|
|
82
|
+
export const checkboxGroupVariants = cva([], {
|
|
83
|
+
variants: {
|
|
84
|
+
direction: {
|
|
85
|
+
column: 'gap-2',
|
|
86
|
+
row: 'flex-row gap-4',
|
|
87
|
+
},
|
|
88
|
+
},
|
|
89
|
+
defaultVariants: {
|
|
90
|
+
direction: 'column',
|
|
91
|
+
},
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
export type CheckboxVariantProps = VariantProps<typeof checkboxRootVariants>;
|
package/src/components/index.ts
CHANGED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { MetroConfig } from 'metro-config';
|
|
2
|
+
import { withUniwindConfig } from 'uniwind/metro';
|
|
3
|
+
|
|
4
|
+
export interface CdxMetroConfigOptions {
|
|
5
|
+
/** Path to the CSS entry file (e.g., `'./global.css'`). */
|
|
6
|
+
cssEntryFile: string;
|
|
7
|
+
/** Path where generated Tailwind class type definitions are written. */
|
|
8
|
+
generatedTypesFile?: string;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Wraps a Metro config with CDX UI's styling-layer configuration.
|
|
13
|
+
*
|
|
14
|
+
* Today this delegates to Uniwind. If the styling layer is swapped (see
|
|
15
|
+
* `docs/research/uniwind-to-nativewind-contingency.md`), only the internals
|
|
16
|
+
* of this function change — consuming Metro configs stay the same.
|
|
17
|
+
*
|
|
18
|
+
* Must be the **outermost** Metro config wrapper (after any other wrappers
|
|
19
|
+
* like `withStorybook`).
|
|
20
|
+
*/
|
|
21
|
+
export function withCdxMetroConfig<T extends MetroConfig>(
|
|
22
|
+
config: T,
|
|
23
|
+
options: CdxMetroConfigOptions,
|
|
24
|
+
): T {
|
|
25
|
+
return withUniwindConfig(config, {
|
|
26
|
+
cssEntryFile: options.cssEntryFile,
|
|
27
|
+
dtsFile: options.generatedTypesFile,
|
|
28
|
+
}) as T;
|
|
29
|
+
}
|