pdyform 1.2.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +28 -1
- package/example/README.md +36 -0
- package/example/react-demo/dist/assets/index-BBU9cJqy.css +1 -0
- package/example/react-demo/dist/assets/index-DeJS8UcQ.js +105 -0
- package/example/react-demo/dist/index.html +13 -0
- package/example/react-demo/index.html +12 -0
- package/example/react-demo/node_modules/.bin/browserslist +17 -0
- package/example/react-demo/node_modules/.bin/tsc +17 -0
- package/example/react-demo/node_modules/.bin/tsserver +17 -0
- package/example/react-demo/node_modules/.bin/vite +17 -0
- package/example/react-demo/node_modules/.vite/deps/@radix-ui_react-checkbox.js +300 -0
- package/example/react-demo/node_modules/.vite/deps/@radix-ui_react-checkbox.js.map +7 -0
- package/example/react-demo/node_modules/.vite/deps/@radix-ui_react-label.js +194 -0
- package/example/react-demo/node_modules/.vite/deps/@radix-ui_react-label.js.map +7 -0
- package/example/react-demo/node_modules/.vite/deps/@radix-ui_react-radio-group.js +530 -0
- package/example/react-demo/node_modules/.vite/deps/@radix-ui_react-radio-group.js.map +7 -0
- package/example/react-demo/node_modules/.vite/deps/@radix-ui_react-select.js +4808 -0
- package/example/react-demo/node_modules/.vite/deps/@radix-ui_react-select.js.map +7 -0
- package/example/react-demo/node_modules/.vite/deps/_metadata.json +115 -0
- package/example/react-demo/node_modules/.vite/deps/chunk-3D5PZ6F6.js +49 -0
- package/example/react-demo/node_modules/.vite/deps/chunk-3D5PZ6F6.js.map +7 -0
- package/example/react-demo/node_modules/.vite/deps/chunk-5Q2RBQLA.js +127 -0
- package/example/react-demo/node_modules/.vite/deps/chunk-5Q2RBQLA.js.map +7 -0
- package/example/react-demo/node_modules/.vite/deps/chunk-G3PMV62Z.js +36 -0
- package/example/react-demo/node_modules/.vite/deps/chunk-G3PMV62Z.js.map +7 -0
- package/example/react-demo/node_modules/.vite/deps/chunk-GX7YZ5KV.js +370 -0
- package/example/react-demo/node_modules/.vite/deps/chunk-GX7YZ5KV.js.map +7 -0
- package/example/react-demo/node_modules/.vite/deps/chunk-PUFJGYAC.js +928 -0
- package/example/react-demo/node_modules/.vite/deps/chunk-PUFJGYAC.js.map +7 -0
- package/example/react-demo/node_modules/.vite/deps/chunk-SIU35MPB.js +21 -0
- package/example/react-demo/node_modules/.vite/deps/chunk-SIU35MPB.js.map +7 -0
- package/example/react-demo/node_modules/.vite/deps/chunk-TOMGVNQP.js +1906 -0
- package/example/react-demo/node_modules/.vite/deps/chunk-TOMGVNQP.js.map +7 -0
- package/example/react-demo/node_modules/.vite/deps/chunk-YYN6DZAU.js +21628 -0
- package/example/react-demo/node_modules/.vite/deps/chunk-YYN6DZAU.js.map +7 -0
- package/example/react-demo/node_modules/.vite/deps/chunk-ZE5VSJFE.js +144 -0
- package/example/react-demo/node_modules/.vite/deps/chunk-ZE5VSJFE.js.map +7 -0
- package/example/react-demo/node_modules/.vite/deps/class-variance-authority.js +51 -0
- package/example/react-demo/node_modules/.vite/deps/class-variance-authority.js.map +7 -0
- package/example/react-demo/node_modules/.vite/deps/clsx.js +10 -0
- package/example/react-demo/node_modules/.vite/deps/clsx.js.map +7 -0
- package/example/react-demo/node_modules/.vite/deps/lucide-react.js +29725 -0
- package/example/react-demo/node_modules/.vite/deps/lucide-react.js.map +7 -0
- package/example/react-demo/node_modules/.vite/deps/package.json +3 -0
- package/example/react-demo/node_modules/.vite/deps/react-dom.js +7 -0
- package/example/react-demo/node_modules/.vite/deps/react-dom.js.map +7 -0
- package/example/react-demo/node_modules/.vite/deps/react-dom_client.js +39 -0
- package/example/react-demo/node_modules/.vite/deps/react-dom_client.js.map +7 -0
- package/example/react-demo/node_modules/.vite/deps/react.js +6 -0
- package/example/react-demo/node_modules/.vite/deps/react.js.map +7 -0
- package/example/react-demo/node_modules/.vite/deps/react_jsx-dev-runtime.js +913 -0
- package/example/react-demo/node_modules/.vite/deps/react_jsx-dev-runtime.js.map +7 -0
- package/example/react-demo/node_modules/.vite/deps/react_jsx-runtime.js +7 -0
- package/example/react-demo/node_modules/.vite/deps/react_jsx-runtime.js.map +7 -0
- package/example/react-demo/node_modules/.vite/deps/tailwind-merge.js +2534 -0
- package/example/react-demo/node_modules/.vite/deps/tailwind-merge.js.map +7 -0
- package/example/react-demo/package.json +23 -0
- package/example/react-demo/postcss.config.mjs +6 -0
- package/example/react-demo/src/App.tsx +64 -0
- package/example/react-demo/src/main.tsx +10 -0
- package/example/react-demo/src/styles.css +102 -0
- package/example/react-demo/tailwind.config.mjs +50 -0
- package/example/react-demo/tsconfig.json +16 -0
- package/example/react-demo/vite.config.ts +14 -0
- package/example/shared/defaultSchema.ts +68 -0
- package/example/vue-demo/dist/assets/index-BhWj3D5x.css +1 -0
- package/example/vue-demo/dist/assets/index-Bw3THsrD.js +44 -0
- package/example/vue-demo/dist/index.html +13 -0
- package/example/vue-demo/index.html +12 -0
- package/example/vue-demo/node_modules/.bin/tsc +17 -0
- package/example/vue-demo/node_modules/.bin/tsserver +17 -0
- package/example/vue-demo/node_modules/.bin/vite +17 -0
- package/example/vue-demo/node_modules/.vite/deps/_metadata.json +46 -0
- package/example/vue-demo/node_modules/.vite/deps/chunk-PZ5AY32C.js +10 -0
- package/example/vue-demo/node_modules/.vite/deps/chunk-PZ5AY32C.js.map +7 -0
- package/example/vue-demo/node_modules/.vite/deps/chunk-TCXBSQ4M.js +12877 -0
- package/example/vue-demo/node_modules/.vite/deps/chunk-TCXBSQ4M.js.map +7 -0
- package/example/vue-demo/node_modules/.vite/deps/clsx.js +22 -0
- package/example/vue-demo/node_modules/.vite/deps/clsx.js.map +7 -0
- package/example/vue-demo/node_modules/.vite/deps/lucide-vue-next.js +29720 -0
- package/example/vue-demo/node_modules/.vite/deps/lucide-vue-next.js.map +7 -0
- package/example/vue-demo/node_modules/.vite/deps/package.json +3 -0
- package/example/vue-demo/node_modules/.vite/deps/radix-vue.js +24321 -0
- package/example/vue-demo/node_modules/.vite/deps/radix-vue.js.map +7 -0
- package/example/vue-demo/node_modules/.vite/deps/tailwind-merge.js +2534 -0
- package/example/vue-demo/node_modules/.vite/deps/tailwind-merge.js.map +7 -0
- package/example/vue-demo/node_modules/.vite/deps/vue.js +348 -0
- package/example/vue-demo/node_modules/.vite/deps/vue.js.map +7 -0
- package/example/vue-demo/package.json +20 -0
- package/example/vue-demo/postcss.config.mjs +6 -0
- package/example/vue-demo/src/App.vue +61 -0
- package/example/vue-demo/src/env.d.ts +1 -0
- package/example/vue-demo/src/main.ts +5 -0
- package/example/vue-demo/src/style.css +102 -0
- package/example/vue-demo/tailwind.config.mjs +50 -0
- package/example/vue-demo/tsconfig.json +15 -0
- package/example/vue-demo/vite.config.ts +14 -0
- package/package.json +7 -2
- package/packages/core/dist/{chunk-KQR3LFND.js → chunk-GQASS6PM.js} +20 -0
- package/packages/core/dist/index.cjs +20 -0
- package/packages/core/dist/index.js +1 -1
- package/packages/core/dist/utils.cjs +20 -0
- package/packages/core/dist/utils.js +1 -1
- package/packages/core/node_modules/.vite/vitest/results.json +1 -1
- package/packages/core/src/utils.ts +21 -0
- package/packages/core/test/utils.test.ts +6 -0
- package/packages/react/dist/index.cjs +22 -13
- package/packages/react/dist/index.js +22 -13
- package/packages/react/node_modules/.bin/vite +4 -4
- package/packages/react/node_modules/.vite/vitest/results.json +1 -1
- package/packages/react/src/components/InputRenderer.tsx +23 -12
- package/packages/react/test/FormFieldRenderer.test.tsx +10 -0
- package/packages/vue/dist/index.js +1 -1
- package/packages/vue/dist/index.mjs +9 -3
- package/packages/vue/node_modules/.vite/vitest/results.json +1 -1
- package/packages/vue/src/components/InputRenderer.vue +10 -1
- package/packages/vue/test/FormFieldRenderer.test.ts +11 -0
- package/pnpm-workspace.yaml +1 -1
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
|
+
<title>pdyform React Demo</title>
|
|
7
|
+
<script type="module" crossorigin src="/assets/index-DeJS8UcQ.js"></script>
|
|
8
|
+
<link rel="stylesheet" crossorigin href="/assets/index-BBU9cJqy.css">
|
|
9
|
+
</head>
|
|
10
|
+
<body>
|
|
11
|
+
<div id="root"></div>
|
|
12
|
+
</body>
|
|
13
|
+
</html>
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
|
+
<title>pdyform React Demo</title>
|
|
7
|
+
</head>
|
|
8
|
+
<body>
|
|
9
|
+
<div id="root"></div>
|
|
10
|
+
<script type="module" src="/src/main.tsx"></script>
|
|
11
|
+
</body>
|
|
12
|
+
</html>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
3
|
+
|
|
4
|
+
case `uname` in
|
|
5
|
+
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
|
|
6
|
+
esac
|
|
7
|
+
|
|
8
|
+
if [ -z "$NODE_PATH" ]; then
|
|
9
|
+
export NODE_PATH="/Users/pidan/Work/Learn/dynamic-form/node_modules/.pnpm/browserslist@4.28.1/node_modules/browserslist/node_modules:/Users/pidan/Work/Learn/dynamic-form/node_modules/.pnpm/browserslist@4.28.1/node_modules:/Users/pidan/Work/Learn/dynamic-form/node_modules/.pnpm/node_modules"
|
|
10
|
+
else
|
|
11
|
+
export NODE_PATH="/Users/pidan/Work/Learn/dynamic-form/node_modules/.pnpm/browserslist@4.28.1/node_modules/browserslist/node_modules:/Users/pidan/Work/Learn/dynamic-form/node_modules/.pnpm/browserslist@4.28.1/node_modules:/Users/pidan/Work/Learn/dynamic-form/node_modules/.pnpm/node_modules:$NODE_PATH"
|
|
12
|
+
fi
|
|
13
|
+
if [ -x "$basedir/node" ]; then
|
|
14
|
+
exec "$basedir/node" "$basedir/../../../../node_modules/.pnpm/browserslist@4.28.1/node_modules/browserslist/cli.js" "$@"
|
|
15
|
+
else
|
|
16
|
+
exec node "$basedir/../../../../node_modules/.pnpm/browserslist@4.28.1/node_modules/browserslist/cli.js" "$@"
|
|
17
|
+
fi
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
3
|
+
|
|
4
|
+
case `uname` in
|
|
5
|
+
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
|
|
6
|
+
esac
|
|
7
|
+
|
|
8
|
+
if [ -z "$NODE_PATH" ]; then
|
|
9
|
+
export NODE_PATH="/Users/pidan/Work/Learn/dynamic-form/node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/bin/node_modules:/Users/pidan/Work/Learn/dynamic-form/node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/node_modules:/Users/pidan/Work/Learn/dynamic-form/node_modules/.pnpm/typescript@5.9.3/node_modules:/Users/pidan/Work/Learn/dynamic-form/node_modules/.pnpm/node_modules"
|
|
10
|
+
else
|
|
11
|
+
export NODE_PATH="/Users/pidan/Work/Learn/dynamic-form/node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/bin/node_modules:/Users/pidan/Work/Learn/dynamic-form/node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/node_modules:/Users/pidan/Work/Learn/dynamic-form/node_modules/.pnpm/typescript@5.9.3/node_modules:/Users/pidan/Work/Learn/dynamic-form/node_modules/.pnpm/node_modules:$NODE_PATH"
|
|
12
|
+
fi
|
|
13
|
+
if [ -x "$basedir/node" ]; then
|
|
14
|
+
exec "$basedir/node" "$basedir/../typescript/bin/tsc" "$@"
|
|
15
|
+
else
|
|
16
|
+
exec node "$basedir/../typescript/bin/tsc" "$@"
|
|
17
|
+
fi
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
3
|
+
|
|
4
|
+
case `uname` in
|
|
5
|
+
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
|
|
6
|
+
esac
|
|
7
|
+
|
|
8
|
+
if [ -z "$NODE_PATH" ]; then
|
|
9
|
+
export NODE_PATH="/Users/pidan/Work/Learn/dynamic-form/node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/bin/node_modules:/Users/pidan/Work/Learn/dynamic-form/node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/node_modules:/Users/pidan/Work/Learn/dynamic-form/node_modules/.pnpm/typescript@5.9.3/node_modules:/Users/pidan/Work/Learn/dynamic-form/node_modules/.pnpm/node_modules"
|
|
10
|
+
else
|
|
11
|
+
export NODE_PATH="/Users/pidan/Work/Learn/dynamic-form/node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/bin/node_modules:/Users/pidan/Work/Learn/dynamic-form/node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/node_modules:/Users/pidan/Work/Learn/dynamic-form/node_modules/.pnpm/typescript@5.9.3/node_modules:/Users/pidan/Work/Learn/dynamic-form/node_modules/.pnpm/node_modules:$NODE_PATH"
|
|
12
|
+
fi
|
|
13
|
+
if [ -x "$basedir/node" ]; then
|
|
14
|
+
exec "$basedir/node" "$basedir/../typescript/bin/tsserver" "$@"
|
|
15
|
+
else
|
|
16
|
+
exec node "$basedir/../typescript/bin/tsserver" "$@"
|
|
17
|
+
fi
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
3
|
+
|
|
4
|
+
case `uname` in
|
|
5
|
+
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
|
|
6
|
+
esac
|
|
7
|
+
|
|
8
|
+
if [ -z "$NODE_PATH" ]; then
|
|
9
|
+
export NODE_PATH="/Users/pidan/Work/Learn/dynamic-form/node_modules/.pnpm/vite@5.4.21_@types+node@20.19.35/node_modules/vite/bin/node_modules:/Users/pidan/Work/Learn/dynamic-form/node_modules/.pnpm/vite@5.4.21_@types+node@20.19.35/node_modules/vite/node_modules:/Users/pidan/Work/Learn/dynamic-form/node_modules/.pnpm/vite@5.4.21_@types+node@20.19.35/node_modules:/Users/pidan/Work/Learn/dynamic-form/node_modules/.pnpm/node_modules"
|
|
10
|
+
else
|
|
11
|
+
export NODE_PATH="/Users/pidan/Work/Learn/dynamic-form/node_modules/.pnpm/vite@5.4.21_@types+node@20.19.35/node_modules/vite/bin/node_modules:/Users/pidan/Work/Learn/dynamic-form/node_modules/.pnpm/vite@5.4.21_@types+node@20.19.35/node_modules/vite/node_modules:/Users/pidan/Work/Learn/dynamic-form/node_modules/.pnpm/vite@5.4.21_@types+node@20.19.35/node_modules:/Users/pidan/Work/Learn/dynamic-form/node_modules/.pnpm/node_modules:$NODE_PATH"
|
|
12
|
+
fi
|
|
13
|
+
if [ -x "$basedir/node" ]; then
|
|
14
|
+
exec "$basedir/node" "$basedir/../vite/bin/vite.js" "$@"
|
|
15
|
+
else
|
|
16
|
+
exec node "$basedir/../vite/bin/vite.js" "$@"
|
|
17
|
+
fi
|
|
@@ -0,0 +1,300 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import {
|
|
3
|
+
Presence
|
|
4
|
+
} from "./chunk-ZE5VSJFE.js";
|
|
5
|
+
import {
|
|
6
|
+
Primitive,
|
|
7
|
+
composeEventHandlers,
|
|
8
|
+
createContextScope,
|
|
9
|
+
useControllableState,
|
|
10
|
+
usePrevious,
|
|
11
|
+
useSize
|
|
12
|
+
} from "./chunk-GX7YZ5KV.js";
|
|
13
|
+
import {
|
|
14
|
+
useComposedRefs
|
|
15
|
+
} from "./chunk-3D5PZ6F6.js";
|
|
16
|
+
import "./chunk-YYN6DZAU.js";
|
|
17
|
+
import {
|
|
18
|
+
require_jsx_runtime
|
|
19
|
+
} from "./chunk-PUFJGYAC.js";
|
|
20
|
+
import {
|
|
21
|
+
require_react
|
|
22
|
+
} from "./chunk-TOMGVNQP.js";
|
|
23
|
+
import {
|
|
24
|
+
__toESM
|
|
25
|
+
} from "./chunk-G3PMV62Z.js";
|
|
26
|
+
|
|
27
|
+
// ../../node_modules/.pnpm/@radix-ui+react-checkbox@1.3.3_@types+react-dom@18.3.7_@types+react@18.3.28__@types+react@18._t74gssewtskobxwycl7nf6sn4m/node_modules/@radix-ui/react-checkbox/dist/index.mjs
|
|
28
|
+
var React = __toESM(require_react(), 1);
|
|
29
|
+
var import_jsx_runtime = __toESM(require_jsx_runtime(), 1);
|
|
30
|
+
var CHECKBOX_NAME = "Checkbox";
|
|
31
|
+
var [createCheckboxContext, createCheckboxScope] = createContextScope(CHECKBOX_NAME);
|
|
32
|
+
var [CheckboxProviderImpl, useCheckboxContext] = createCheckboxContext(CHECKBOX_NAME);
|
|
33
|
+
function CheckboxProvider(props) {
|
|
34
|
+
const {
|
|
35
|
+
__scopeCheckbox,
|
|
36
|
+
checked: checkedProp,
|
|
37
|
+
children,
|
|
38
|
+
defaultChecked,
|
|
39
|
+
disabled,
|
|
40
|
+
form,
|
|
41
|
+
name,
|
|
42
|
+
onCheckedChange,
|
|
43
|
+
required,
|
|
44
|
+
value = "on",
|
|
45
|
+
// @ts-expect-error
|
|
46
|
+
internal_do_not_use_render
|
|
47
|
+
} = props;
|
|
48
|
+
const [checked, setChecked] = useControllableState({
|
|
49
|
+
prop: checkedProp,
|
|
50
|
+
defaultProp: defaultChecked ?? false,
|
|
51
|
+
onChange: onCheckedChange,
|
|
52
|
+
caller: CHECKBOX_NAME
|
|
53
|
+
});
|
|
54
|
+
const [control, setControl] = React.useState(null);
|
|
55
|
+
const [bubbleInput, setBubbleInput] = React.useState(null);
|
|
56
|
+
const hasConsumerStoppedPropagationRef = React.useRef(false);
|
|
57
|
+
const isFormControl = control ? !!form || !!control.closest("form") : (
|
|
58
|
+
// We set this to true by default so that events bubble to forms without JS (SSR)
|
|
59
|
+
true
|
|
60
|
+
);
|
|
61
|
+
const context = {
|
|
62
|
+
checked,
|
|
63
|
+
disabled,
|
|
64
|
+
setChecked,
|
|
65
|
+
control,
|
|
66
|
+
setControl,
|
|
67
|
+
name,
|
|
68
|
+
form,
|
|
69
|
+
value,
|
|
70
|
+
hasConsumerStoppedPropagationRef,
|
|
71
|
+
required,
|
|
72
|
+
defaultChecked: isIndeterminate(defaultChecked) ? false : defaultChecked,
|
|
73
|
+
isFormControl,
|
|
74
|
+
bubbleInput,
|
|
75
|
+
setBubbleInput
|
|
76
|
+
};
|
|
77
|
+
return (0, import_jsx_runtime.jsx)(
|
|
78
|
+
CheckboxProviderImpl,
|
|
79
|
+
{
|
|
80
|
+
scope: __scopeCheckbox,
|
|
81
|
+
...context,
|
|
82
|
+
children: isFunction(internal_do_not_use_render) ? internal_do_not_use_render(context) : children
|
|
83
|
+
}
|
|
84
|
+
);
|
|
85
|
+
}
|
|
86
|
+
var TRIGGER_NAME = "CheckboxTrigger";
|
|
87
|
+
var CheckboxTrigger = React.forwardRef(
|
|
88
|
+
({ __scopeCheckbox, onKeyDown, onClick, ...checkboxProps }, forwardedRef) => {
|
|
89
|
+
const {
|
|
90
|
+
control,
|
|
91
|
+
value,
|
|
92
|
+
disabled,
|
|
93
|
+
checked,
|
|
94
|
+
required,
|
|
95
|
+
setControl,
|
|
96
|
+
setChecked,
|
|
97
|
+
hasConsumerStoppedPropagationRef,
|
|
98
|
+
isFormControl,
|
|
99
|
+
bubbleInput
|
|
100
|
+
} = useCheckboxContext(TRIGGER_NAME, __scopeCheckbox);
|
|
101
|
+
const composedRefs = useComposedRefs(forwardedRef, setControl);
|
|
102
|
+
const initialCheckedStateRef = React.useRef(checked);
|
|
103
|
+
React.useEffect(() => {
|
|
104
|
+
const form = control == null ? void 0 : control.form;
|
|
105
|
+
if (form) {
|
|
106
|
+
const reset = () => setChecked(initialCheckedStateRef.current);
|
|
107
|
+
form.addEventListener("reset", reset);
|
|
108
|
+
return () => form.removeEventListener("reset", reset);
|
|
109
|
+
}
|
|
110
|
+
}, [control, setChecked]);
|
|
111
|
+
return (0, import_jsx_runtime.jsx)(
|
|
112
|
+
Primitive.button,
|
|
113
|
+
{
|
|
114
|
+
type: "button",
|
|
115
|
+
role: "checkbox",
|
|
116
|
+
"aria-checked": isIndeterminate(checked) ? "mixed" : checked,
|
|
117
|
+
"aria-required": required,
|
|
118
|
+
"data-state": getState(checked),
|
|
119
|
+
"data-disabled": disabled ? "" : void 0,
|
|
120
|
+
disabled,
|
|
121
|
+
value,
|
|
122
|
+
...checkboxProps,
|
|
123
|
+
ref: composedRefs,
|
|
124
|
+
onKeyDown: composeEventHandlers(onKeyDown, (event) => {
|
|
125
|
+
if (event.key === "Enter") event.preventDefault();
|
|
126
|
+
}),
|
|
127
|
+
onClick: composeEventHandlers(onClick, (event) => {
|
|
128
|
+
setChecked((prevChecked) => isIndeterminate(prevChecked) ? true : !prevChecked);
|
|
129
|
+
if (bubbleInput && isFormControl) {
|
|
130
|
+
hasConsumerStoppedPropagationRef.current = event.isPropagationStopped();
|
|
131
|
+
if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation();
|
|
132
|
+
}
|
|
133
|
+
})
|
|
134
|
+
}
|
|
135
|
+
);
|
|
136
|
+
}
|
|
137
|
+
);
|
|
138
|
+
CheckboxTrigger.displayName = TRIGGER_NAME;
|
|
139
|
+
var Checkbox = React.forwardRef(
|
|
140
|
+
(props, forwardedRef) => {
|
|
141
|
+
const {
|
|
142
|
+
__scopeCheckbox,
|
|
143
|
+
name,
|
|
144
|
+
checked,
|
|
145
|
+
defaultChecked,
|
|
146
|
+
required,
|
|
147
|
+
disabled,
|
|
148
|
+
value,
|
|
149
|
+
onCheckedChange,
|
|
150
|
+
form,
|
|
151
|
+
...checkboxProps
|
|
152
|
+
} = props;
|
|
153
|
+
return (0, import_jsx_runtime.jsx)(
|
|
154
|
+
CheckboxProvider,
|
|
155
|
+
{
|
|
156
|
+
__scopeCheckbox,
|
|
157
|
+
checked,
|
|
158
|
+
defaultChecked,
|
|
159
|
+
disabled,
|
|
160
|
+
required,
|
|
161
|
+
onCheckedChange,
|
|
162
|
+
name,
|
|
163
|
+
form,
|
|
164
|
+
value,
|
|
165
|
+
internal_do_not_use_render: ({ isFormControl }) => (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
|
|
166
|
+
(0, import_jsx_runtime.jsx)(
|
|
167
|
+
CheckboxTrigger,
|
|
168
|
+
{
|
|
169
|
+
...checkboxProps,
|
|
170
|
+
ref: forwardedRef,
|
|
171
|
+
__scopeCheckbox
|
|
172
|
+
}
|
|
173
|
+
),
|
|
174
|
+
isFormControl && (0, import_jsx_runtime.jsx)(
|
|
175
|
+
CheckboxBubbleInput,
|
|
176
|
+
{
|
|
177
|
+
__scopeCheckbox
|
|
178
|
+
}
|
|
179
|
+
)
|
|
180
|
+
] })
|
|
181
|
+
}
|
|
182
|
+
);
|
|
183
|
+
}
|
|
184
|
+
);
|
|
185
|
+
Checkbox.displayName = CHECKBOX_NAME;
|
|
186
|
+
var INDICATOR_NAME = "CheckboxIndicator";
|
|
187
|
+
var CheckboxIndicator = React.forwardRef(
|
|
188
|
+
(props, forwardedRef) => {
|
|
189
|
+
const { __scopeCheckbox, forceMount, ...indicatorProps } = props;
|
|
190
|
+
const context = useCheckboxContext(INDICATOR_NAME, __scopeCheckbox);
|
|
191
|
+
return (0, import_jsx_runtime.jsx)(
|
|
192
|
+
Presence,
|
|
193
|
+
{
|
|
194
|
+
present: forceMount || isIndeterminate(context.checked) || context.checked === true,
|
|
195
|
+
children: (0, import_jsx_runtime.jsx)(
|
|
196
|
+
Primitive.span,
|
|
197
|
+
{
|
|
198
|
+
"data-state": getState(context.checked),
|
|
199
|
+
"data-disabled": context.disabled ? "" : void 0,
|
|
200
|
+
...indicatorProps,
|
|
201
|
+
ref: forwardedRef,
|
|
202
|
+
style: { pointerEvents: "none", ...props.style }
|
|
203
|
+
}
|
|
204
|
+
)
|
|
205
|
+
}
|
|
206
|
+
);
|
|
207
|
+
}
|
|
208
|
+
);
|
|
209
|
+
CheckboxIndicator.displayName = INDICATOR_NAME;
|
|
210
|
+
var BUBBLE_INPUT_NAME = "CheckboxBubbleInput";
|
|
211
|
+
var CheckboxBubbleInput = React.forwardRef(
|
|
212
|
+
({ __scopeCheckbox, ...props }, forwardedRef) => {
|
|
213
|
+
const {
|
|
214
|
+
control,
|
|
215
|
+
hasConsumerStoppedPropagationRef,
|
|
216
|
+
checked,
|
|
217
|
+
defaultChecked,
|
|
218
|
+
required,
|
|
219
|
+
disabled,
|
|
220
|
+
name,
|
|
221
|
+
value,
|
|
222
|
+
form,
|
|
223
|
+
bubbleInput,
|
|
224
|
+
setBubbleInput
|
|
225
|
+
} = useCheckboxContext(BUBBLE_INPUT_NAME, __scopeCheckbox);
|
|
226
|
+
const composedRefs = useComposedRefs(forwardedRef, setBubbleInput);
|
|
227
|
+
const prevChecked = usePrevious(checked);
|
|
228
|
+
const controlSize = useSize(control);
|
|
229
|
+
React.useEffect(() => {
|
|
230
|
+
const input = bubbleInput;
|
|
231
|
+
if (!input) return;
|
|
232
|
+
const inputProto = window.HTMLInputElement.prototype;
|
|
233
|
+
const descriptor = Object.getOwnPropertyDescriptor(
|
|
234
|
+
inputProto,
|
|
235
|
+
"checked"
|
|
236
|
+
);
|
|
237
|
+
const setChecked = descriptor.set;
|
|
238
|
+
const bubbles = !hasConsumerStoppedPropagationRef.current;
|
|
239
|
+
if (prevChecked !== checked && setChecked) {
|
|
240
|
+
const event = new Event("click", { bubbles });
|
|
241
|
+
input.indeterminate = isIndeterminate(checked);
|
|
242
|
+
setChecked.call(input, isIndeterminate(checked) ? false : checked);
|
|
243
|
+
input.dispatchEvent(event);
|
|
244
|
+
}
|
|
245
|
+
}, [bubbleInput, prevChecked, checked, hasConsumerStoppedPropagationRef]);
|
|
246
|
+
const defaultCheckedRef = React.useRef(isIndeterminate(checked) ? false : checked);
|
|
247
|
+
return (0, import_jsx_runtime.jsx)(
|
|
248
|
+
Primitive.input,
|
|
249
|
+
{
|
|
250
|
+
type: "checkbox",
|
|
251
|
+
"aria-hidden": true,
|
|
252
|
+
defaultChecked: defaultChecked ?? defaultCheckedRef.current,
|
|
253
|
+
required,
|
|
254
|
+
disabled,
|
|
255
|
+
name,
|
|
256
|
+
value,
|
|
257
|
+
form,
|
|
258
|
+
...props,
|
|
259
|
+
tabIndex: -1,
|
|
260
|
+
ref: composedRefs,
|
|
261
|
+
style: {
|
|
262
|
+
...props.style,
|
|
263
|
+
...controlSize,
|
|
264
|
+
position: "absolute",
|
|
265
|
+
pointerEvents: "none",
|
|
266
|
+
opacity: 0,
|
|
267
|
+
margin: 0,
|
|
268
|
+
// We transform because the input is absolutely positioned but we have
|
|
269
|
+
// rendered it **after** the button. This pulls it back to sit on top
|
|
270
|
+
// of the button.
|
|
271
|
+
transform: "translateX(-100%)"
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
);
|
|
275
|
+
}
|
|
276
|
+
);
|
|
277
|
+
CheckboxBubbleInput.displayName = BUBBLE_INPUT_NAME;
|
|
278
|
+
function isFunction(value) {
|
|
279
|
+
return typeof value === "function";
|
|
280
|
+
}
|
|
281
|
+
function isIndeterminate(checked) {
|
|
282
|
+
return checked === "indeterminate";
|
|
283
|
+
}
|
|
284
|
+
function getState(checked) {
|
|
285
|
+
return isIndeterminate(checked) ? "indeterminate" : checked ? "checked" : "unchecked";
|
|
286
|
+
}
|
|
287
|
+
export {
|
|
288
|
+
Checkbox,
|
|
289
|
+
CheckboxIndicator,
|
|
290
|
+
CheckboxIndicator as Indicator,
|
|
291
|
+
Checkbox as Root,
|
|
292
|
+
createCheckboxScope,
|
|
293
|
+
CheckboxBubbleInput as unstable_BubbleInput,
|
|
294
|
+
CheckboxBubbleInput as unstable_CheckboxBubbleInput,
|
|
295
|
+
CheckboxProvider as unstable_CheckboxProvider,
|
|
296
|
+
CheckboxTrigger as unstable_CheckboxTrigger,
|
|
297
|
+
CheckboxProvider as unstable_Provider,
|
|
298
|
+
CheckboxTrigger as unstable_Trigger
|
|
299
|
+
};
|
|
300
|
+
//# sourceMappingURL=@radix-ui_react-checkbox.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../node_modules/.pnpm/@radix-ui+react-checkbox@1.3.3_@types+react-dom@18.3.7_@types+react@18.3.28__@types+react@18._t74gssewtskobxwycl7nf6sn4m/node_modules/@radix-ui/react-checkbox/src/checkbox.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport { createContextScope } from '@radix-ui/react-context';\nimport { composeEventHandlers } from '@radix-ui/primitive';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport { usePrevious } from '@radix-ui/react-use-previous';\nimport { useSize } from '@radix-ui/react-use-size';\nimport { Presence } from '@radix-ui/react-presence';\nimport { Primitive } from '@radix-ui/react-primitive';\n\nimport type { Scope } from '@radix-ui/react-context';\n\nconst CHECKBOX_NAME = 'Checkbox';\n\ntype ScopedProps<P> = P & { __scopeCheckbox?: Scope };\nconst [createCheckboxContext, createCheckboxScope] = createContextScope(CHECKBOX_NAME);\n\ntype CheckedState = boolean | 'indeterminate';\n\ntype CheckboxContextValue<State extends CheckedState | boolean = CheckedState> = {\n checked: State | boolean;\n setChecked: React.Dispatch<React.SetStateAction<State | boolean>>;\n disabled: boolean | undefined;\n control: HTMLButtonElement | null;\n setControl: React.Dispatch<React.SetStateAction<HTMLButtonElement | null>>;\n name: string | undefined;\n form: string | undefined;\n value: string | number | readonly string[];\n hasConsumerStoppedPropagationRef: React.RefObject<boolean>;\n required: boolean | undefined;\n defaultChecked: boolean | undefined;\n isFormControl: boolean;\n bubbleInput: HTMLInputElement | null;\n setBubbleInput: React.Dispatch<React.SetStateAction<HTMLInputElement | null>>;\n};\n\nconst [CheckboxProviderImpl, useCheckboxContext] =\n createCheckboxContext<CheckboxContextValue>(CHECKBOX_NAME);\n\n/* -------------------------------------------------------------------------------------------------\n * CheckboxProvider\n * -----------------------------------------------------------------------------------------------*/\n\ninterface CheckboxProviderProps<State extends CheckedState = CheckedState> {\n checked?: State | boolean;\n defaultChecked?: State | boolean;\n required?: boolean;\n onCheckedChange?(checked: State | boolean): void;\n name?: string;\n form?: string;\n disabled?: boolean;\n value?: string | number | readonly string[];\n children?: React.ReactNode;\n}\n\nfunction CheckboxProvider<State extends CheckedState = CheckedState>(\n props: ScopedProps<CheckboxProviderProps<State>>\n) {\n const {\n __scopeCheckbox,\n checked: checkedProp,\n children,\n defaultChecked,\n disabled,\n form,\n name,\n onCheckedChange,\n required,\n value = 'on',\n // @ts-expect-error\n internal_do_not_use_render,\n } = props;\n\n const [checked, setChecked] = useControllableState({\n prop: checkedProp,\n defaultProp: defaultChecked ?? false,\n onChange: onCheckedChange,\n caller: CHECKBOX_NAME,\n });\n const [control, setControl] = React.useState<HTMLButtonElement | null>(null);\n const [bubbleInput, setBubbleInput] = React.useState<HTMLInputElement | null>(null);\n const hasConsumerStoppedPropagationRef = React.useRef(false);\n const isFormControl = control\n ? !!form || !!control.closest('form')\n : // We set this to true by default so that events bubble to forms without JS (SSR)\n true;\n\n const context: CheckboxContextValue<State> = {\n checked: checked,\n disabled: disabled,\n setChecked: setChecked,\n control: control,\n setControl: setControl,\n name: name,\n form: form,\n value: value,\n hasConsumerStoppedPropagationRef: hasConsumerStoppedPropagationRef,\n required: required,\n defaultChecked: isIndeterminate(defaultChecked) ? false : defaultChecked,\n isFormControl: isFormControl,\n bubbleInput,\n setBubbleInput,\n };\n\n return (\n <CheckboxProviderImpl\n scope={__scopeCheckbox}\n {...(context as unknown as CheckboxContextValue<CheckedState>)}\n >\n {isFunction(internal_do_not_use_render) ? internal_do_not_use_render(context) : children}\n </CheckboxProviderImpl>\n );\n}\n\n/* -------------------------------------------------------------------------------------------------\n * CheckboxTrigger\n * -----------------------------------------------------------------------------------------------*/\n\nconst TRIGGER_NAME = 'CheckboxTrigger';\n\ninterface CheckboxTriggerProps\n extends Omit<\n React.ComponentPropsWithoutRef<typeof Primitive.button>,\n keyof CheckboxProviderProps\n > {\n children?: React.ReactNode;\n}\n\nconst CheckboxTrigger = React.forwardRef<HTMLButtonElement, CheckboxTriggerProps>(\n (\n { __scopeCheckbox, onKeyDown, onClick, ...checkboxProps }: ScopedProps<CheckboxTriggerProps>,\n forwardedRef\n ) => {\n const {\n control,\n value,\n disabled,\n checked,\n required,\n setControl,\n setChecked,\n hasConsumerStoppedPropagationRef,\n isFormControl,\n bubbleInput,\n } = useCheckboxContext(TRIGGER_NAME, __scopeCheckbox);\n const composedRefs = useComposedRefs(forwardedRef, setControl);\n\n const initialCheckedStateRef = React.useRef(checked);\n React.useEffect(() => {\n const form = control?.form;\n if (form) {\n const reset = () => setChecked(initialCheckedStateRef.current);\n form.addEventListener('reset', reset);\n return () => form.removeEventListener('reset', reset);\n }\n }, [control, setChecked]);\n\n return (\n <Primitive.button\n type=\"button\"\n role=\"checkbox\"\n aria-checked={isIndeterminate(checked) ? 'mixed' : checked}\n aria-required={required}\n data-state={getState(checked)}\n data-disabled={disabled ? '' : undefined}\n disabled={disabled}\n value={value}\n {...checkboxProps}\n ref={composedRefs}\n onKeyDown={composeEventHandlers(onKeyDown, (event) => {\n // According to WAI ARIA, Checkboxes don't activate on enter keypress\n if (event.key === 'Enter') event.preventDefault();\n })}\n onClick={composeEventHandlers(onClick, (event) => {\n setChecked((prevChecked) => (isIndeterminate(prevChecked) ? true : !prevChecked));\n if (bubbleInput && isFormControl) {\n hasConsumerStoppedPropagationRef.current = event.isPropagationStopped();\n // if checkbox has a bubble input and is a form control, stop\n // propagation from the button so that we only propagate one click\n // event (from the input). We propagate changes from an input so\n // that native form validation works and form events reflect\n // checkbox updates.\n if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation();\n }\n })}\n />\n );\n }\n);\n\nCheckboxTrigger.displayName = TRIGGER_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * Checkbox\n * -----------------------------------------------------------------------------------------------*/\n\ntype CheckboxElement = React.ComponentRef<typeof Primitive.button>;\ntype PrimitiveButtonProps = React.ComponentPropsWithoutRef<typeof Primitive.button>;\ninterface CheckboxProps extends Omit<PrimitiveButtonProps, 'checked' | 'defaultChecked'> {\n checked?: CheckedState;\n defaultChecked?: CheckedState;\n required?: boolean;\n onCheckedChange?(checked: CheckedState): void;\n}\n\nconst Checkbox = React.forwardRef<CheckboxElement, CheckboxProps>(\n (props: ScopedProps<CheckboxProps>, forwardedRef) => {\n const {\n __scopeCheckbox,\n name,\n checked,\n defaultChecked,\n required,\n disabled,\n value,\n onCheckedChange,\n form,\n ...checkboxProps\n } = props;\n\n return (\n <CheckboxProvider\n __scopeCheckbox={__scopeCheckbox}\n checked={checked}\n defaultChecked={defaultChecked}\n disabled={disabled}\n required={required}\n onCheckedChange={onCheckedChange}\n name={name}\n form={form}\n value={value}\n // @ts-expect-error\n internal_do_not_use_render={({ isFormControl }: CheckboxContextValue) => (\n <>\n <CheckboxTrigger\n {...checkboxProps}\n ref={forwardedRef}\n // @ts-expect-error\n __scopeCheckbox={__scopeCheckbox}\n />\n {isFormControl && (\n <CheckboxBubbleInput\n // @ts-expect-error\n __scopeCheckbox={__scopeCheckbox}\n />\n )}\n </>\n )}\n />\n );\n }\n);\n\nCheckbox.displayName = CHECKBOX_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * CheckboxIndicator\n * -----------------------------------------------------------------------------------------------*/\n\nconst INDICATOR_NAME = 'CheckboxIndicator';\n\ntype CheckboxIndicatorElement = React.ComponentRef<typeof Primitive.span>;\ntype PrimitiveSpanProps = React.ComponentPropsWithoutRef<typeof Primitive.span>;\ninterface CheckboxIndicatorProps extends PrimitiveSpanProps {\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with React animation libraries.\n */\n forceMount?: true;\n}\n\nconst CheckboxIndicator = React.forwardRef<CheckboxIndicatorElement, CheckboxIndicatorProps>(\n (props: ScopedProps<CheckboxIndicatorProps>, forwardedRef) => {\n const { __scopeCheckbox, forceMount, ...indicatorProps } = props;\n const context = useCheckboxContext(INDICATOR_NAME, __scopeCheckbox);\n return (\n <Presence\n present={forceMount || isIndeterminate(context.checked) || context.checked === true}\n >\n <Primitive.span\n data-state={getState(context.checked)}\n data-disabled={context.disabled ? '' : undefined}\n {...indicatorProps}\n ref={forwardedRef}\n style={{ pointerEvents: 'none', ...props.style }}\n />\n </Presence>\n );\n }\n);\n\nCheckboxIndicator.displayName = INDICATOR_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * CheckboxBubbleInput\n * -----------------------------------------------------------------------------------------------*/\n\nconst BUBBLE_INPUT_NAME = 'CheckboxBubbleInput';\n\ntype InputProps = React.ComponentPropsWithoutRef<typeof Primitive.input>;\ninterface CheckboxBubbleInputProps extends Omit<InputProps, 'checked'> {}\n\nconst CheckboxBubbleInput = React.forwardRef<HTMLInputElement, CheckboxBubbleInputProps>(\n ({ __scopeCheckbox, ...props }: ScopedProps<CheckboxBubbleInputProps>, forwardedRef) => {\n const {\n control,\n hasConsumerStoppedPropagationRef,\n checked,\n defaultChecked,\n required,\n disabled,\n name,\n value,\n form,\n bubbleInput,\n setBubbleInput,\n } = useCheckboxContext(BUBBLE_INPUT_NAME, __scopeCheckbox);\n\n const composedRefs = useComposedRefs(forwardedRef, setBubbleInput);\n const prevChecked = usePrevious(checked);\n const controlSize = useSize(control);\n\n // Bubble checked change to parents (e.g form change event)\n React.useEffect(() => {\n const input = bubbleInput;\n if (!input) return;\n\n const inputProto = window.HTMLInputElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(\n inputProto,\n 'checked'\n ) as PropertyDescriptor;\n const setChecked = descriptor.set;\n\n const bubbles = !hasConsumerStoppedPropagationRef.current;\n if (prevChecked !== checked && setChecked) {\n const event = new Event('click', { bubbles });\n input.indeterminate = isIndeterminate(checked);\n setChecked.call(input, isIndeterminate(checked) ? false : checked);\n input.dispatchEvent(event);\n }\n }, [bubbleInput, prevChecked, checked, hasConsumerStoppedPropagationRef]);\n\n const defaultCheckedRef = React.useRef(isIndeterminate(checked) ? false : checked);\n return (\n <Primitive.input\n type=\"checkbox\"\n aria-hidden\n defaultChecked={defaultChecked ?? defaultCheckedRef.current}\n required={required}\n disabled={disabled}\n name={name}\n value={value}\n form={form}\n {...props}\n tabIndex={-1}\n ref={composedRefs}\n style={{\n ...props.style,\n ...controlSize,\n position: 'absolute',\n pointerEvents: 'none',\n opacity: 0,\n margin: 0,\n // We transform because the input is absolutely positioned but we have\n // rendered it **after** the button. This pulls it back to sit on top\n // of the button.\n transform: 'translateX(-100%)',\n }}\n />\n );\n }\n);\n\nCheckboxBubbleInput.displayName = BUBBLE_INPUT_NAME;\n\n/* ---------------------------------------------------------------------------------------------- */\n\nfunction isFunction(value: unknown): value is (...args: any[]) => any {\n return typeof value === 'function';\n}\n\nfunction isIndeterminate(checked?: CheckedState): checked is 'indeterminate' {\n return checked === 'indeterminate';\n}\n\nfunction getState(checked: CheckedState) {\n return isIndeterminate(checked) ? 'indeterminate' : checked ? 'checked' : 'unchecked';\n}\n\nexport {\n createCheckboxScope,\n //\n Checkbox,\n CheckboxProvider,\n CheckboxTrigger,\n CheckboxIndicator,\n CheckboxBubbleInput,\n //\n Checkbox as Root,\n CheckboxProvider as Provider,\n CheckboxTrigger as Trigger,\n CheckboxIndicator as Indicator,\n CheckboxBubbleInput as BubbleInput,\n};\nexport type {\n CheckboxProps,\n CheckboxProviderProps,\n CheckboxTriggerProps,\n CheckboxIndicatorProps,\n CheckboxBubbleInputProps,\n CheckedState,\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import {
|
|
3
|
+
composeRefs
|
|
4
|
+
} from "./chunk-3D5PZ6F6.js";
|
|
5
|
+
import {
|
|
6
|
+
require_react_dom
|
|
7
|
+
} from "./chunk-YYN6DZAU.js";
|
|
8
|
+
import {
|
|
9
|
+
require_jsx_runtime
|
|
10
|
+
} from "./chunk-PUFJGYAC.js";
|
|
11
|
+
import {
|
|
12
|
+
require_react
|
|
13
|
+
} from "./chunk-TOMGVNQP.js";
|
|
14
|
+
import {
|
|
15
|
+
__toESM
|
|
16
|
+
} from "./chunk-G3PMV62Z.js";
|
|
17
|
+
|
|
18
|
+
// ../../node_modules/.pnpm/@radix-ui+react-label@2.1.8_@types+react-dom@18.3.7_@types+react@18.3.28__@types+react@18.3.2_ikkobmmbjpasbqgco5lgrwp2hu/node_modules/@radix-ui/react-label/dist/index.mjs
|
|
19
|
+
var React3 = __toESM(require_react(), 1);
|
|
20
|
+
|
|
21
|
+
// ../../node_modules/.pnpm/@radix-ui+react-primitive@2.1.4_@types+react-dom@18.3.7_@types+react@18.3.28__@types+react@18_5m4njbrt5jjaaqsixv4pcsp64y/node_modules/@radix-ui/react-primitive/dist/index.mjs
|
|
22
|
+
var React2 = __toESM(require_react(), 1);
|
|
23
|
+
var ReactDOM = __toESM(require_react_dom(), 1);
|
|
24
|
+
|
|
25
|
+
// ../../node_modules/.pnpm/@radix-ui+react-slot@1.2.4_@types+react@18.3.28_react@18.3.1/node_modules/@radix-ui/react-slot/dist/index.mjs
|
|
26
|
+
var React = __toESM(require_react(), 1);
|
|
27
|
+
var import_jsx_runtime = __toESM(require_jsx_runtime(), 1);
|
|
28
|
+
var REACT_LAZY_TYPE = Symbol.for("react.lazy");
|
|
29
|
+
var use = React[" use ".trim().toString()];
|
|
30
|
+
function isPromiseLike(value) {
|
|
31
|
+
return typeof value === "object" && value !== null && "then" in value;
|
|
32
|
+
}
|
|
33
|
+
function isLazyComponent(element) {
|
|
34
|
+
return element != null && typeof element === "object" && "$$typeof" in element && element.$$typeof === REACT_LAZY_TYPE && "_payload" in element && isPromiseLike(element._payload);
|
|
35
|
+
}
|
|
36
|
+
function createSlot(ownerName) {
|
|
37
|
+
const SlotClone = createSlotClone(ownerName);
|
|
38
|
+
const Slot2 = React.forwardRef((props, forwardedRef) => {
|
|
39
|
+
let { children, ...slotProps } = props;
|
|
40
|
+
if (isLazyComponent(children) && typeof use === "function") {
|
|
41
|
+
children = use(children._payload);
|
|
42
|
+
}
|
|
43
|
+
const childrenArray = React.Children.toArray(children);
|
|
44
|
+
const slottable = childrenArray.find(isSlottable);
|
|
45
|
+
if (slottable) {
|
|
46
|
+
const newElement = slottable.props.children;
|
|
47
|
+
const newChildren = childrenArray.map((child) => {
|
|
48
|
+
if (child === slottable) {
|
|
49
|
+
if (React.Children.count(newElement) > 1) return React.Children.only(null);
|
|
50
|
+
return React.isValidElement(newElement) ? newElement.props.children : null;
|
|
51
|
+
} else {
|
|
52
|
+
return child;
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
return (0, import_jsx_runtime.jsx)(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });
|
|
56
|
+
}
|
|
57
|
+
return (0, import_jsx_runtime.jsx)(SlotClone, { ...slotProps, ref: forwardedRef, children });
|
|
58
|
+
});
|
|
59
|
+
Slot2.displayName = `${ownerName}.Slot`;
|
|
60
|
+
return Slot2;
|
|
61
|
+
}
|
|
62
|
+
var Slot = createSlot("Slot");
|
|
63
|
+
function createSlotClone(ownerName) {
|
|
64
|
+
const SlotClone = React.forwardRef((props, forwardedRef) => {
|
|
65
|
+
let { children, ...slotProps } = props;
|
|
66
|
+
if (isLazyComponent(children) && typeof use === "function") {
|
|
67
|
+
children = use(children._payload);
|
|
68
|
+
}
|
|
69
|
+
if (React.isValidElement(children)) {
|
|
70
|
+
const childrenRef = getElementRef(children);
|
|
71
|
+
const props2 = mergeProps(slotProps, children.props);
|
|
72
|
+
if (children.type !== React.Fragment) {
|
|
73
|
+
props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;
|
|
74
|
+
}
|
|
75
|
+
return React.cloneElement(children, props2);
|
|
76
|
+
}
|
|
77
|
+
return React.Children.count(children) > 1 ? React.Children.only(null) : null;
|
|
78
|
+
});
|
|
79
|
+
SlotClone.displayName = `${ownerName}.SlotClone`;
|
|
80
|
+
return SlotClone;
|
|
81
|
+
}
|
|
82
|
+
var SLOTTABLE_IDENTIFIER = Symbol("radix.slottable");
|
|
83
|
+
function createSlottable(ownerName) {
|
|
84
|
+
const Slottable2 = ({ children }) => {
|
|
85
|
+
return (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children });
|
|
86
|
+
};
|
|
87
|
+
Slottable2.displayName = `${ownerName}.Slottable`;
|
|
88
|
+
Slottable2.__radixId = SLOTTABLE_IDENTIFIER;
|
|
89
|
+
return Slottable2;
|
|
90
|
+
}
|
|
91
|
+
var Slottable = createSlottable("Slottable");
|
|
92
|
+
function isSlottable(child) {
|
|
93
|
+
return React.isValidElement(child) && typeof child.type === "function" && "__radixId" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;
|
|
94
|
+
}
|
|
95
|
+
function mergeProps(slotProps, childProps) {
|
|
96
|
+
const overrideProps = { ...childProps };
|
|
97
|
+
for (const propName in childProps) {
|
|
98
|
+
const slotPropValue = slotProps[propName];
|
|
99
|
+
const childPropValue = childProps[propName];
|
|
100
|
+
const isHandler = /^on[A-Z]/.test(propName);
|
|
101
|
+
if (isHandler) {
|
|
102
|
+
if (slotPropValue && childPropValue) {
|
|
103
|
+
overrideProps[propName] = (...args) => {
|
|
104
|
+
const result = childPropValue(...args);
|
|
105
|
+
slotPropValue(...args);
|
|
106
|
+
return result;
|
|
107
|
+
};
|
|
108
|
+
} else if (slotPropValue) {
|
|
109
|
+
overrideProps[propName] = slotPropValue;
|
|
110
|
+
}
|
|
111
|
+
} else if (propName === "style") {
|
|
112
|
+
overrideProps[propName] = { ...slotPropValue, ...childPropValue };
|
|
113
|
+
} else if (propName === "className") {
|
|
114
|
+
overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(" ");
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
return { ...slotProps, ...overrideProps };
|
|
118
|
+
}
|
|
119
|
+
function getElementRef(element) {
|
|
120
|
+
var _a, _b;
|
|
121
|
+
let getter = (_a = Object.getOwnPropertyDescriptor(element.props, "ref")) == null ? void 0 : _a.get;
|
|
122
|
+
let mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
|
|
123
|
+
if (mayWarn) {
|
|
124
|
+
return element.ref;
|
|
125
|
+
}
|
|
126
|
+
getter = (_b = Object.getOwnPropertyDescriptor(element, "ref")) == null ? void 0 : _b.get;
|
|
127
|
+
mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
|
|
128
|
+
if (mayWarn) {
|
|
129
|
+
return element.props.ref;
|
|
130
|
+
}
|
|
131
|
+
return element.props.ref || element.ref;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
// ../../node_modules/.pnpm/@radix-ui+react-primitive@2.1.4_@types+react-dom@18.3.7_@types+react@18.3.28__@types+react@18_5m4njbrt5jjaaqsixv4pcsp64y/node_modules/@radix-ui/react-primitive/dist/index.mjs
|
|
135
|
+
var import_jsx_runtime2 = __toESM(require_jsx_runtime(), 1);
|
|
136
|
+
var NODES = [
|
|
137
|
+
"a",
|
|
138
|
+
"button",
|
|
139
|
+
"div",
|
|
140
|
+
"form",
|
|
141
|
+
"h2",
|
|
142
|
+
"h3",
|
|
143
|
+
"img",
|
|
144
|
+
"input",
|
|
145
|
+
"label",
|
|
146
|
+
"li",
|
|
147
|
+
"nav",
|
|
148
|
+
"ol",
|
|
149
|
+
"p",
|
|
150
|
+
"select",
|
|
151
|
+
"span",
|
|
152
|
+
"svg",
|
|
153
|
+
"ul"
|
|
154
|
+
];
|
|
155
|
+
var Primitive = NODES.reduce((primitive, node) => {
|
|
156
|
+
const Slot2 = createSlot(`Primitive.${node}`);
|
|
157
|
+
const Node = React2.forwardRef((props, forwardedRef) => {
|
|
158
|
+
const { asChild, ...primitiveProps } = props;
|
|
159
|
+
const Comp = asChild ? Slot2 : node;
|
|
160
|
+
if (typeof window !== "undefined") {
|
|
161
|
+
window[Symbol.for("radix-ui")] = true;
|
|
162
|
+
}
|
|
163
|
+
return (0, import_jsx_runtime2.jsx)(Comp, { ...primitiveProps, ref: forwardedRef });
|
|
164
|
+
});
|
|
165
|
+
Node.displayName = `Primitive.${node}`;
|
|
166
|
+
return { ...primitive, [node]: Node };
|
|
167
|
+
}, {});
|
|
168
|
+
|
|
169
|
+
// ../../node_modules/.pnpm/@radix-ui+react-label@2.1.8_@types+react-dom@18.3.7_@types+react@18.3.28__@types+react@18.3.2_ikkobmmbjpasbqgco5lgrwp2hu/node_modules/@radix-ui/react-label/dist/index.mjs
|
|
170
|
+
var import_jsx_runtime3 = __toESM(require_jsx_runtime(), 1);
|
|
171
|
+
var NAME = "Label";
|
|
172
|
+
var Label = React3.forwardRef((props, forwardedRef) => {
|
|
173
|
+
return (0, import_jsx_runtime3.jsx)(
|
|
174
|
+
Primitive.label,
|
|
175
|
+
{
|
|
176
|
+
...props,
|
|
177
|
+
ref: forwardedRef,
|
|
178
|
+
onMouseDown: (event) => {
|
|
179
|
+
var _a;
|
|
180
|
+
const target = event.target;
|
|
181
|
+
if (target.closest("button, input, select, textarea")) return;
|
|
182
|
+
(_a = props.onMouseDown) == null ? void 0 : _a.call(props, event);
|
|
183
|
+
if (!event.defaultPrevented && event.detail > 1) event.preventDefault();
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
);
|
|
187
|
+
});
|
|
188
|
+
Label.displayName = NAME;
|
|
189
|
+
var Root = Label;
|
|
190
|
+
export {
|
|
191
|
+
Label,
|
|
192
|
+
Root
|
|
193
|
+
};
|
|
194
|
+
//# sourceMappingURL=@radix-ui_react-label.js.map
|