@cdx-ui/components 0.0.1-alpha.5 → 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.
@@ -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,MAAA,GAAAd,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAY,MAAA,EAAAX,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,MAAAU,MAAA,CAAAV,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,MAAA,CAAAV,GAAA;IAAA;EAAA;AAAA;AACA,IAAAW,OAAA,GAAAf,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAa,OAAA,EAAAZ,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,MAAAW,OAAA,CAAAX,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAG,OAAA,CAAAX,GAAA;IAAA;EAAA;AAAA;AACA,IAAAY,MAAA,GAAAhB,OAAA;AACA,IAAAiB,KAAA,GAAAjB,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAe,KAAA,EAAAd,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,MAAAa,KAAA,CAAAb,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAK,KAAA,CAAAb,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
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,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":[]}
@@ -2,6 +2,7 @@
2
2
 
3
3
  export * from './Box';
4
4
  export * from './Button';
5
+ export * from './Checkbox';
5
6
  export * from './Input';
6
7
  export * from './Select';
7
8
  export { HStack, VStack } from './Stack';
@@ -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,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,5 +1,6 @@
1
1
  export * from './Box';
2
2
  export * from './Button';
3
+ export * from './Checkbox';
3
4
  export * from './Input';
4
5
  export * from './Select';
5
6
  export { HStack, VStack } from './Stack';
@@ -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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cdx-ui/components",
3
- "version": "0.0.1-alpha.5",
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",
@@ -60,8 +60,8 @@
60
60
  "dependencies": {
61
61
  "class-variance-authority": "^0.7.1",
62
62
  "uniwind": "1.4.1",
63
- "@cdx-ui/utils": "0.0.1-alpha.5",
64
- "@cdx-ui/primitives": "0.0.1-alpha.5"
63
+ "@cdx-ui/primitives": "0.0.1-alpha.6",
64
+ "@cdx-ui/utils": "0.0.1-alpha.6"
65
65
  },
66
66
  "devDependencies": {
67
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>;
@@ -1,5 +1,6 @@
1
1
  export * from './Box';
2
2
  export * from './Button';
3
+ export * from './Checkbox';
3
4
  export * from './Input';
4
5
  export * from './Select';
5
6
  export { HStack, VStack } from './Stack';