@seed-design/react-checkbox 0.0.1-rc.0 → 0.0.1
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/index.cjs +194 -0
- package/lib/index.d.ts +1153 -3
- package/lib/index.js +175 -223
- package/package.json +12 -16
- package/lib/Checkbox.d.ts +0 -12
- package/lib/Checkbox.namespace.d.ts +0 -1
- package/lib/index.js.map +0 -7
- package/lib/index.mjs +0 -227
- package/lib/index.mjs.map +0 -7
- package/lib/useCheckbox.d.ts +0 -1129
- package/lib/useCheckboxContext.d.ts +0 -7
package/lib/index.mjs
DELETED
|
@@ -1,227 +0,0 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __export = (target, all) => {
|
|
3
|
-
for (var name in all)
|
|
4
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
5
|
-
};
|
|
6
|
-
|
|
7
|
-
// src/Checkbox.tsx
|
|
8
|
-
import { mergeProps } from "@seed-design/dom-utils";
|
|
9
|
-
import { Primitive } from "@seed-design/react-primitive";
|
|
10
|
-
import { forwardRef } from "react";
|
|
11
|
-
|
|
12
|
-
// src/useCheckbox.ts
|
|
13
|
-
import { useControllableState } from "@radix-ui/react-use-controllable-state";
|
|
14
|
-
import { useEffect, useRef, useState } from "react";
|
|
15
|
-
import {
|
|
16
|
-
dataAttr,
|
|
17
|
-
elementProps,
|
|
18
|
-
inputProps,
|
|
19
|
-
labelProps,
|
|
20
|
-
visuallyHidden
|
|
21
|
-
} from "@seed-design/dom-utils";
|
|
22
|
-
function useCheckboxState(props) {
|
|
23
|
-
var _a;
|
|
24
|
-
const [isChecked = false, setIsChecked] = useControllableState({
|
|
25
|
-
prop: props.checked,
|
|
26
|
-
defaultProp: props.defaultChecked,
|
|
27
|
-
onChange: props.onCheckedChange
|
|
28
|
-
});
|
|
29
|
-
const [isHovered, setIsHovered] = useState(false);
|
|
30
|
-
const [isActive, setIsActive] = useState(false);
|
|
31
|
-
const [isFocused, setIsFocused] = useState(false);
|
|
32
|
-
const [isFocusVisible, setIsFocusVisible] = useState(false);
|
|
33
|
-
const inputRef = useRef(null);
|
|
34
|
-
const initialCheckedRef = useRef(isChecked);
|
|
35
|
-
useEffect(() => {
|
|
36
|
-
var _a2;
|
|
37
|
-
const form = (_a2 = inputRef.current) == null ? void 0 : _a2.form;
|
|
38
|
-
if (form) {
|
|
39
|
-
const reset = () => setIsChecked(initialCheckedRef.current);
|
|
40
|
-
form.addEventListener("reset", reset);
|
|
41
|
-
return () => form.removeEventListener("reset", reset);
|
|
42
|
-
}
|
|
43
|
-
}, [setIsChecked]);
|
|
44
|
-
useEffect(() => {
|
|
45
|
-
var _a2;
|
|
46
|
-
if (!inputRef.current) return;
|
|
47
|
-
inputRef.current.indeterminate = (_a2 = props.indeterminate) != null ? _a2 : false;
|
|
48
|
-
}, [props.indeterminate]);
|
|
49
|
-
return {
|
|
50
|
-
refs: { input: inputRef },
|
|
51
|
-
isIndeterminate: (_a = props.indeterminate) != null ? _a : false,
|
|
52
|
-
isChecked,
|
|
53
|
-
setIsChecked,
|
|
54
|
-
isHovered,
|
|
55
|
-
setIsHovered,
|
|
56
|
-
isActive,
|
|
57
|
-
setIsActive,
|
|
58
|
-
isFocused,
|
|
59
|
-
setIsFocused,
|
|
60
|
-
isFocusVisible,
|
|
61
|
-
setIsFocusVisible
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
function useCheckbox(props) {
|
|
65
|
-
const {
|
|
66
|
-
refs,
|
|
67
|
-
isIndeterminate,
|
|
68
|
-
setIsChecked,
|
|
69
|
-
isChecked,
|
|
70
|
-
setIsHovered,
|
|
71
|
-
isHovered,
|
|
72
|
-
setIsActive,
|
|
73
|
-
isActive,
|
|
74
|
-
setIsFocused,
|
|
75
|
-
isFocused,
|
|
76
|
-
setIsFocusVisible,
|
|
77
|
-
isFocusVisible
|
|
78
|
-
} = useCheckboxState(props);
|
|
79
|
-
const stateProps = elementProps({
|
|
80
|
-
"data-checked": dataAttr(isChecked),
|
|
81
|
-
"data-indeterminate": dataAttr(isIndeterminate),
|
|
82
|
-
"data-hover": dataAttr(isHovered),
|
|
83
|
-
"data-active": dataAttr(isActive),
|
|
84
|
-
"data-focus": dataAttr(isFocused),
|
|
85
|
-
"data-focus-visible": dataAttr(isFocusVisible),
|
|
86
|
-
"data-disabled": dataAttr(props.disabled),
|
|
87
|
-
"data-invalid": dataAttr(props.invalid),
|
|
88
|
-
"data-required": dataAttr(props.required)
|
|
89
|
-
});
|
|
90
|
-
const isControlled = props.checked != null;
|
|
91
|
-
return {
|
|
92
|
-
indeterminate: isIndeterminate,
|
|
93
|
-
checked: isChecked,
|
|
94
|
-
setChecked: setIsChecked,
|
|
95
|
-
focused: isFocused,
|
|
96
|
-
setFocused: setIsFocused,
|
|
97
|
-
focusVisible: isFocusVisible,
|
|
98
|
-
setFocusVisible: setIsFocusVisible,
|
|
99
|
-
refs,
|
|
100
|
-
stateProps,
|
|
101
|
-
rootProps: labelProps({
|
|
102
|
-
...stateProps,
|
|
103
|
-
onPointerMove() {
|
|
104
|
-
setIsHovered(true);
|
|
105
|
-
},
|
|
106
|
-
onPointerDown() {
|
|
107
|
-
setIsActive(true);
|
|
108
|
-
},
|
|
109
|
-
onPointerUp() {
|
|
110
|
-
setIsActive(false);
|
|
111
|
-
},
|
|
112
|
-
onPointerLeave() {
|
|
113
|
-
setIsHovered(false);
|
|
114
|
-
setIsActive(false);
|
|
115
|
-
}
|
|
116
|
-
}),
|
|
117
|
-
controlProps: elementProps({
|
|
118
|
-
...stateProps,
|
|
119
|
-
"aria-hidden": true
|
|
120
|
-
}),
|
|
121
|
-
hiddenInputProps: inputProps({
|
|
122
|
-
type: "checkbox",
|
|
123
|
-
role: "checkbox",
|
|
124
|
-
checked: isControlled ? isChecked : void 0,
|
|
125
|
-
defaultChecked: !isControlled ? isChecked : void 0,
|
|
126
|
-
disabled: props.disabled,
|
|
127
|
-
required: props.required,
|
|
128
|
-
"aria-invalid": props.invalid,
|
|
129
|
-
style: visuallyHidden,
|
|
130
|
-
...stateProps,
|
|
131
|
-
onChange(event) {
|
|
132
|
-
setIsChecked(event.currentTarget.checked);
|
|
133
|
-
setIsFocusVisible(event.target.matches(":focus-visible"));
|
|
134
|
-
},
|
|
135
|
-
onFocus(event) {
|
|
136
|
-
setIsFocused(true);
|
|
137
|
-
setIsFocusVisible(event.target.matches(":focus-visible"));
|
|
138
|
-
},
|
|
139
|
-
onBlur() {
|
|
140
|
-
setIsFocused(false);
|
|
141
|
-
setIsFocusVisible(false);
|
|
142
|
-
},
|
|
143
|
-
onKeyDown(event) {
|
|
144
|
-
if (event.key === " ") {
|
|
145
|
-
setIsActive(true);
|
|
146
|
-
}
|
|
147
|
-
},
|
|
148
|
-
onKeyUp(event) {
|
|
149
|
-
if (event.key === " ") {
|
|
150
|
-
setIsActive(false);
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
})
|
|
154
|
-
};
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
// src/useCheckboxContext.tsx
|
|
158
|
-
import { createContext, useContext } from "react";
|
|
159
|
-
var CheckboxContext = createContext(null);
|
|
160
|
-
var CheckboxProvider = CheckboxContext.Provider;
|
|
161
|
-
function useCheckboxContext({
|
|
162
|
-
strict = true
|
|
163
|
-
} = {}) {
|
|
164
|
-
const context = useContext(CheckboxContext);
|
|
165
|
-
if (!context && strict) {
|
|
166
|
-
throw new Error("useCheckboxContext must be used within a Checkbox");
|
|
167
|
-
}
|
|
168
|
-
return context;
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
// src/Checkbox.tsx
|
|
172
|
-
import { composeRefs } from "@radix-ui/react-compose-refs";
|
|
173
|
-
import { jsx } from "react/jsx-runtime";
|
|
174
|
-
var CheckboxRoot = forwardRef((props, ref) => {
|
|
175
|
-
const {
|
|
176
|
-
checked,
|
|
177
|
-
defaultChecked,
|
|
178
|
-
onCheckedChange,
|
|
179
|
-
indeterminate,
|
|
180
|
-
disabled,
|
|
181
|
-
invalid,
|
|
182
|
-
required,
|
|
183
|
-
...otherProps
|
|
184
|
-
} = props;
|
|
185
|
-
const api = useCheckbox({
|
|
186
|
-
checked,
|
|
187
|
-
defaultChecked,
|
|
188
|
-
onCheckedChange,
|
|
189
|
-
indeterminate,
|
|
190
|
-
disabled,
|
|
191
|
-
invalid,
|
|
192
|
-
required
|
|
193
|
-
});
|
|
194
|
-
const mergedProps = mergeProps(api.rootProps, otherProps);
|
|
195
|
-
return /* @__PURE__ */ jsx(CheckboxProvider, { value: api, children: /* @__PURE__ */ jsx(Primitive.label, { ref, ...mergedProps }) });
|
|
196
|
-
});
|
|
197
|
-
CheckboxRoot.displayName = "CheckboxRoot";
|
|
198
|
-
var CheckboxControl = forwardRef((props, ref) => {
|
|
199
|
-
const { controlProps } = useCheckboxContext();
|
|
200
|
-
const mergedProps = mergeProps(controlProps, props);
|
|
201
|
-
return /* @__PURE__ */ jsx(Primitive.div, { ref, ...mergedProps });
|
|
202
|
-
});
|
|
203
|
-
CheckboxControl.displayName = "CheckboxControl";
|
|
204
|
-
var CheckboxHiddenInput = forwardRef(
|
|
205
|
-
(props, ref) => {
|
|
206
|
-
const { refs, hiddenInputProps } = useCheckboxContext();
|
|
207
|
-
const mergedProps = mergeProps(hiddenInputProps, props);
|
|
208
|
-
return /* @__PURE__ */ jsx(Primitive.input, { ref: composeRefs(refs.input, ref), ...mergedProps });
|
|
209
|
-
}
|
|
210
|
-
);
|
|
211
|
-
CheckboxHiddenInput.displayName = "CheckboxHiddenInput";
|
|
212
|
-
|
|
213
|
-
// src/Checkbox.namespace.ts
|
|
214
|
-
var Checkbox_namespace_exports = {};
|
|
215
|
-
__export(Checkbox_namespace_exports, {
|
|
216
|
-
Control: () => CheckboxControl,
|
|
217
|
-
HiddenInput: () => CheckboxHiddenInput,
|
|
218
|
-
Root: () => CheckboxRoot
|
|
219
|
-
});
|
|
220
|
-
export {
|
|
221
|
-
Checkbox_namespace_exports as Checkbox,
|
|
222
|
-
CheckboxControl,
|
|
223
|
-
CheckboxHiddenInput,
|
|
224
|
-
CheckboxRoot,
|
|
225
|
-
useCheckboxContext
|
|
226
|
-
};
|
|
227
|
-
//# sourceMappingURL=index.mjs.map
|
package/lib/index.mjs.map
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/Checkbox.tsx", "../src/useCheckbox.ts", "../src/useCheckboxContext.tsx", "../src/Checkbox.namespace.ts"],
|
|
4
|
-
"sourcesContent": ["import { mergeProps } from \"@seed-design/dom-utils\";\nimport { Primitive, type PrimitiveProps } from \"@seed-design/react-primitive\";\nimport type * as React from \"react\";\nimport { forwardRef } from \"react\";\nimport { useCheckbox, type UseCheckboxProps } from \"./useCheckbox\";\nimport { CheckboxProvider, useCheckboxContext } from \"./useCheckboxContext\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\n\nexport interface CheckboxRootProps\n extends UseCheckboxProps,\n PrimitiveProps,\n React.HTMLAttributes<HTMLLabelElement> {}\n\nexport const CheckboxRoot = forwardRef<HTMLLabelElement, CheckboxRootProps>((props, ref) => {\n const {\n checked,\n defaultChecked,\n onCheckedChange,\n indeterminate,\n disabled,\n invalid,\n required,\n ...otherProps\n } = props;\n\n const api = useCheckbox({\n checked,\n defaultChecked,\n onCheckedChange,\n indeterminate,\n disabled,\n invalid,\n required,\n });\n const mergedProps = mergeProps(api.rootProps, otherProps);\n\n return (\n <CheckboxProvider value={api}>\n <Primitive.label ref={ref} {...mergedProps} />\n </CheckboxProvider>\n );\n});\nCheckboxRoot.displayName = \"CheckboxRoot\";\n\nexport interface CheckboxControlProps\n extends PrimitiveProps,\n React.HTMLAttributes<HTMLDivElement> {}\n\nexport const CheckboxControl = forwardRef<HTMLDivElement, CheckboxControlProps>((props, ref) => {\n const { controlProps } = useCheckboxContext();\n const mergedProps = mergeProps(controlProps, props);\n return <Primitive.div ref={ref} {...mergedProps} />;\n});\nCheckboxControl.displayName = \"CheckboxControl\";\n\nexport interface CheckboxHiddenInputProps\n extends PrimitiveProps,\n React.InputHTMLAttributes<HTMLInputElement> {}\n\nexport const CheckboxHiddenInput = forwardRef<HTMLInputElement, CheckboxHiddenInputProps>(\n (props, ref) => {\n const { refs, hiddenInputProps } = useCheckboxContext();\n const mergedProps = mergeProps(hiddenInputProps, props);\n return <Primitive.input ref={composeRefs(refs.input, ref)} {...mergedProps} />;\n },\n);\nCheckboxHiddenInput.displayName = \"CheckboxHiddenInput\";\n", "import { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useEffect, useRef, useState } from \"react\";\n\nimport {\n dataAttr,\n elementProps,\n inputProps,\n labelProps,\n visuallyHidden,\n} from \"@seed-design/dom-utils\";\n\ninterface UseCheckboxStateProps {\n checked?: boolean;\n\n defaultChecked?: boolean;\n\n onCheckedChange?: (checked: boolean) => void;\n\n indeterminate?: boolean;\n}\n\nfunction useCheckboxState(props: UseCheckboxStateProps) {\n const [isChecked = false, setIsChecked] = useControllableState({\n prop: props.checked,\n defaultProp: props.defaultChecked,\n onChange: props.onCheckedChange,\n });\n const [isHovered, setIsHovered] = useState(false);\n const [isActive, setIsActive] = useState(false);\n const [isFocused, setIsFocused] = useState(false);\n const [isFocusVisible, setIsFocusVisible] = useState(false);\n\n const inputRef = useRef<HTMLInputElement>(null);\n const initialCheckedRef = useRef(isChecked);\n\n useEffect(() => {\n const form = inputRef.current?.form;\n if (form) {\n const reset = () => setIsChecked(initialCheckedRef.current);\n form.addEventListener(\"reset\", reset);\n return () => form.removeEventListener(\"reset\", reset);\n }\n }, [setIsChecked]);\n\n useEffect(() => {\n if (!inputRef.current) return;\n inputRef.current.indeterminate = props.indeterminate ?? false;\n }, [props.indeterminate]);\n\n return {\n refs: { input: inputRef },\n isIndeterminate: props.indeterminate ?? false,\n isChecked,\n setIsChecked,\n isHovered,\n setIsHovered,\n isActive,\n setIsActive,\n isFocused,\n setIsFocused,\n isFocusVisible,\n setIsFocusVisible,\n };\n}\n\nexport interface UseCheckboxProps extends UseCheckboxStateProps {\n disabled?: boolean;\n\n invalid?: boolean;\n\n required?: boolean;\n}\n\nexport type UseCheckboxReturn = ReturnType<typeof useCheckbox>;\n\nexport function useCheckbox(props: UseCheckboxProps) {\n const {\n refs,\n isIndeterminate,\n setIsChecked,\n isChecked,\n setIsHovered,\n isHovered,\n setIsActive,\n isActive,\n setIsFocused,\n isFocused,\n setIsFocusVisible,\n isFocusVisible,\n } = useCheckboxState(props);\n\n const stateProps = elementProps({\n \"data-checked\": dataAttr(isChecked),\n \"data-indeterminate\": dataAttr(isIndeterminate),\n \"data-hover\": dataAttr(isHovered),\n \"data-active\": dataAttr(isActive),\n \"data-focus\": dataAttr(isFocused),\n \"data-focus-visible\": dataAttr(isFocusVisible),\n \"data-disabled\": dataAttr(props.disabled),\n \"data-invalid\": dataAttr(props.invalid),\n \"data-required\": dataAttr(props.required),\n });\n\n const isControlled = props.checked != null;\n\n return {\n indeterminate: isIndeterminate,\n checked: isChecked,\n setChecked: setIsChecked,\n focused: isFocused,\n setFocused: setIsFocused,\n focusVisible: isFocusVisible,\n setFocusVisible: setIsFocusVisible,\n\n refs,\n stateProps,\n rootProps: labelProps({\n ...stateProps,\n onPointerMove() {\n setIsHovered(true);\n },\n onPointerDown() {\n setIsActive(true);\n },\n onPointerUp() {\n setIsActive(false);\n },\n onPointerLeave() {\n setIsHovered(false);\n setIsActive(false);\n },\n }),\n\n controlProps: elementProps({\n ...stateProps,\n \"aria-hidden\": true,\n }),\n\n hiddenInputProps: inputProps({\n type: \"checkbox\",\n role: \"checkbox\",\n checked: isControlled ? isChecked : undefined,\n defaultChecked: !isControlled ? isChecked : undefined,\n disabled: props.disabled,\n required: props.required,\n \"aria-invalid\": props.invalid,\n style: visuallyHidden,\n ...stateProps,\n onChange(event) {\n setIsChecked(event.currentTarget.checked);\n setIsFocusVisible(event.target.matches(\":focus-visible\"));\n },\n onFocus(event) {\n setIsFocused(true);\n setIsFocusVisible(event.target.matches(\":focus-visible\"));\n },\n onBlur() {\n setIsFocused(false);\n setIsFocusVisible(false);\n },\n onKeyDown(event) {\n if (event.key === \" \") {\n setIsActive(true);\n }\n },\n onKeyUp(event) {\n if (event.key === \" \") {\n setIsActive(false);\n }\n },\n }),\n };\n}\n", "import { createContext, useContext } from \"react\";\nimport type { UseCheckboxReturn } from \"./useCheckbox\";\n\nexport interface UseCheckboxContext extends UseCheckboxReturn {}\n\nconst CheckboxContext = createContext<UseCheckboxContext | null>(null);\n\nexport const CheckboxProvider = CheckboxContext.Provider;\n\nexport function useCheckboxContext<T extends boolean | undefined = true>({\n strict = true,\n}: { strict?: T } = {}): T extends false ? UseCheckboxContext | null : UseCheckboxContext {\n const context = useContext(CheckboxContext);\n if (!context && strict) {\n throw new Error(\"useCheckboxContext must be used within a Checkbox\");\n }\n\n return context as UseCheckboxContext;\n}\n", "export {\n CheckboxRoot as Root,\n CheckboxControl as Control,\n CheckboxHiddenInput as HiddenInput,\n type CheckboxRootProps as RootProps,\n type CheckboxControlProps as ControlProps,\n type CheckboxHiddenInputProps as HiddenInputProps,\n} from \"./Checkbox\";\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["_a"]
|
|
7
|
-
}
|