@tamagui/radio-headless 1.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/LICENSE +21 -0
- package/dist/cjs/BubbleInput.cjs +82 -0
- package/dist/cjs/BubbleInput.js +65 -0
- package/dist/cjs/BubbleInput.js.map +6 -0
- package/dist/cjs/BubbleInput.native.js +86 -0
- package/dist/cjs/BubbleInput.native.js.map +1 -0
- package/dist/cjs/index.cjs +19 -0
- package/dist/cjs/index.js +16 -0
- package/dist/cjs/index.js.map +6 -0
- package/dist/cjs/index.native.js +22 -0
- package/dist/cjs/index.native.js.map +1 -0
- package/dist/cjs/useRadioGroup.cjs +191 -0
- package/dist/cjs/useRadioGroup.js +160 -0
- package/dist/cjs/useRadioGroup.js.map +6 -0
- package/dist/cjs/useRadioGroup.native.js +206 -0
- package/dist/cjs/useRadioGroup.native.js.map +1 -0
- package/dist/cjs/utils.cjs +28 -0
- package/dist/cjs/utils.js +23 -0
- package/dist/cjs/utils.js.map +6 -0
- package/dist/cjs/utils.native.js +31 -0
- package/dist/cjs/utils.native.js.map +1 -0
- package/dist/esm/BubbleInput.js +43 -0
- package/dist/esm/BubbleInput.js.map +6 -0
- package/dist/esm/BubbleInput.mjs +48 -0
- package/dist/esm/BubbleInput.mjs.map +1 -0
- package/dist/esm/BubbleInput.native.js +49 -0
- package/dist/esm/BubbleInput.native.js.map +1 -0
- package/dist/esm/index.js +3 -0
- package/dist/esm/index.js.map +6 -0
- package/dist/esm/index.mjs +3 -0
- package/dist/esm/index.mjs.map +1 -0
- package/dist/esm/index.native.js +3 -0
- package/dist/esm/index.native.js.map +1 -0
- package/dist/esm/useRadioGroup.js +153 -0
- package/dist/esm/useRadioGroup.js.map +6 -0
- package/dist/esm/useRadioGroup.mjs +165 -0
- package/dist/esm/useRadioGroup.mjs.map +1 -0
- package/dist/esm/useRadioGroup.native.js +178 -0
- package/dist/esm/useRadioGroup.native.js.map +1 -0
- package/dist/esm/utils.js +7 -0
- package/dist/esm/utils.js.map +6 -0
- package/dist/esm/utils.mjs +5 -0
- package/dist/esm/utils.mjs.map +1 -0
- package/dist/esm/utils.native.js +5 -0
- package/dist/esm/utils.native.js.map +1 -0
- package/dist/jsx/BubbleInput.js +43 -0
- package/dist/jsx/BubbleInput.js.map +6 -0
- package/dist/jsx/BubbleInput.mjs +48 -0
- package/dist/jsx/BubbleInput.mjs.map +1 -0
- package/dist/jsx/BubbleInput.native.js +86 -0
- package/dist/jsx/BubbleInput.native.js.map +1 -0
- package/dist/jsx/index.js +3 -0
- package/dist/jsx/index.js.map +6 -0
- package/dist/jsx/index.mjs +3 -0
- package/dist/jsx/index.mjs.map +1 -0
- package/dist/jsx/index.native.js +22 -0
- package/dist/jsx/index.native.js.map +1 -0
- package/dist/jsx/useRadioGroup.js +153 -0
- package/dist/jsx/useRadioGroup.js.map +6 -0
- package/dist/jsx/useRadioGroup.mjs +165 -0
- package/dist/jsx/useRadioGroup.mjs.map +1 -0
- package/dist/jsx/useRadioGroup.native.js +206 -0
- package/dist/jsx/useRadioGroup.native.js.map +1 -0
- package/dist/jsx/utils.js +7 -0
- package/dist/jsx/utils.js.map +6 -0
- package/dist/jsx/utils.mjs +5 -0
- package/dist/jsx/utils.mjs.map +1 -0
- package/dist/jsx/utils.native.js +31 -0
- package/dist/jsx/utils.native.js.map +1 -0
- package/package.json +61 -0
- package/src/BubbleInput.tsx +59 -0
- package/src/index.ts +2 -0
- package/src/useRadioGroup.tsx +260 -0
- package/src/utils.tsx +3 -0
- package/types/BubbleInput.d.ts +11 -0
- package/types/BubbleInput.d.ts.map +1 -0
- package/types/index.d.ts +3 -0
- package/types/index.d.ts.map +1 -0
- package/types/useRadioGroup.d.ts +100 -0
- package/types/useRadioGroup.d.ts.map +1 -0
- package/types/utils.d.ts +2 -0
- package/types/utils.d.ts.map +1 -0
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: !0 });
|
|
8
|
+
}, __copyProps = (to, from, except, desc) => {
|
|
9
|
+
if (from && typeof from == "object" || typeof from == "function")
|
|
10
|
+
for (let key of __getOwnPropNames(from))
|
|
11
|
+
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
12
|
+
return to;
|
|
13
|
+
};
|
|
14
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
15
|
+
var useRadioGroup_exports = {};
|
|
16
|
+
__export(useRadioGroup_exports, {
|
|
17
|
+
useRadioGroup: () => useRadioGroup,
|
|
18
|
+
useRadioGroupItem: () => useRadioGroupItem,
|
|
19
|
+
useRadioGroupItemIndicator: () => useRadioGroupItemIndicator
|
|
20
|
+
});
|
|
21
|
+
module.exports = __toCommonJS(useRadioGroup_exports);
|
|
22
|
+
var import_compose_refs = require("@tamagui/compose-refs"), import_constants = require("@tamagui/constants"), import_focusable = require("@tamagui/focusable"), import_helpers = require("@tamagui/helpers"), import_label = require("@tamagui/label"), import_use_controllable_state = require("@tamagui/use-controllable-state"), import_react = require("react"), import_BubbleInput = require("./BubbleInput"), import_utils = require("./utils"), import_jsx_runtime = require("react/jsx-runtime");
|
|
23
|
+
function useRadioGroup(params) {
|
|
24
|
+
const {
|
|
25
|
+
value: valueProp,
|
|
26
|
+
onValueChange,
|
|
27
|
+
defaultValue,
|
|
28
|
+
required,
|
|
29
|
+
disabled,
|
|
30
|
+
name,
|
|
31
|
+
native,
|
|
32
|
+
accentColor,
|
|
33
|
+
orientation,
|
|
34
|
+
ref
|
|
35
|
+
} = params, [value, setValue] = (0, import_use_controllable_state.useControllableState)({
|
|
36
|
+
prop: valueProp,
|
|
37
|
+
defaultProp: defaultValue,
|
|
38
|
+
onChange: onValueChange
|
|
39
|
+
});
|
|
40
|
+
return {
|
|
41
|
+
providerValue: {
|
|
42
|
+
value,
|
|
43
|
+
onChange: setValue,
|
|
44
|
+
required,
|
|
45
|
+
disabled,
|
|
46
|
+
name,
|
|
47
|
+
native,
|
|
48
|
+
accentColor
|
|
49
|
+
},
|
|
50
|
+
frameAttrs: {
|
|
51
|
+
role: "radiogroup",
|
|
52
|
+
"aria-orientation": orientation,
|
|
53
|
+
"data-disabled": disabled ? "" : void 0
|
|
54
|
+
},
|
|
55
|
+
rovingFocusGroupAttrs: {
|
|
56
|
+
orientation,
|
|
57
|
+
loop: !0
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
const ARROW_KEYS = ["ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight"], useRadioGroupItem = (params) => {
|
|
62
|
+
const {
|
|
63
|
+
radioGroupContext,
|
|
64
|
+
value,
|
|
65
|
+
labelledBy: ariaLabelledby,
|
|
66
|
+
disabled: itemDisabled,
|
|
67
|
+
ref: refProp,
|
|
68
|
+
id,
|
|
69
|
+
onPress,
|
|
70
|
+
onKeyDown,
|
|
71
|
+
onFocus
|
|
72
|
+
} = params, {
|
|
73
|
+
value: groupValue,
|
|
74
|
+
disabled,
|
|
75
|
+
required,
|
|
76
|
+
onChange,
|
|
77
|
+
name,
|
|
78
|
+
native,
|
|
79
|
+
accentColor
|
|
80
|
+
} = (0, import_react.useContext)(radioGroupContext), [button, setButton] = (0, import_react.useState)(null), hasConsumerStoppedPropagationRef = (0, import_react.useRef)(!1), ref = (0, import_react.useRef)(null), composedRefs = (0, import_compose_refs.useComposedRefs)(refProp, (node) => setButton(node), ref), isArrowKeyPressedRef = (0, import_react.useRef)(!1), isFormControl = import_constants.isWeb ? button ? !!button.closest("form") : !0 : !1, checked = groupValue === value, labelId = (0, import_label.useLabelContext)(button), labelledBy = ariaLabelledby || labelId;
|
|
81
|
+
(0, import_react.useEffect)(() => {
|
|
82
|
+
if (import_constants.isWeb) {
|
|
83
|
+
const handleKeyDown = (event) => {
|
|
84
|
+
ARROW_KEYS.includes(event.key) && (isArrowKeyPressedRef.current = !0);
|
|
85
|
+
}, handleKeyUp = () => {
|
|
86
|
+
isArrowKeyPressedRef.current = !1;
|
|
87
|
+
};
|
|
88
|
+
return document.addEventListener("keydown", handleKeyDown), document.addEventListener("keyup", handleKeyUp), () => {
|
|
89
|
+
document.removeEventListener("keydown", handleKeyDown), document.removeEventListener("keyup", handleKeyUp);
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
}, []);
|
|
93
|
+
const isDisabled = disabled || itemDisabled;
|
|
94
|
+
return {
|
|
95
|
+
providerValue: {
|
|
96
|
+
checked
|
|
97
|
+
},
|
|
98
|
+
checked,
|
|
99
|
+
isFormControl,
|
|
100
|
+
bubbleInput: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
101
|
+
import_BubbleInput.BubbleInput,
|
|
102
|
+
{
|
|
103
|
+
isHidden: !native,
|
|
104
|
+
control: button,
|
|
105
|
+
bubbles: !hasConsumerStoppedPropagationRef.current,
|
|
106
|
+
name,
|
|
107
|
+
value,
|
|
108
|
+
checked,
|
|
109
|
+
required,
|
|
110
|
+
disabled: isDisabled,
|
|
111
|
+
...import_constants.isWeb && native && {
|
|
112
|
+
accentColor,
|
|
113
|
+
id
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
),
|
|
117
|
+
native,
|
|
118
|
+
frameAttrs: {
|
|
119
|
+
"data-state": (0, import_utils.getState)(checked),
|
|
120
|
+
"data-disabled": isDisabled ? "" : void 0,
|
|
121
|
+
role: "radio",
|
|
122
|
+
"aria-labelledby": labelledBy,
|
|
123
|
+
"aria-checked": checked,
|
|
124
|
+
"aria-required": required,
|
|
125
|
+
disabled: isDisabled,
|
|
126
|
+
ref: composedRefs,
|
|
127
|
+
...import_constants.isWeb && {
|
|
128
|
+
type: "button",
|
|
129
|
+
value
|
|
130
|
+
},
|
|
131
|
+
id,
|
|
132
|
+
onPress: (0, import_helpers.composeEventHandlers)(onPress, (event) => {
|
|
133
|
+
checked || onChange?.(value), isFormControl && (hasConsumerStoppedPropagationRef.current = event.isPropagationStopped(), hasConsumerStoppedPropagationRef.current || event.stopPropagation());
|
|
134
|
+
}),
|
|
135
|
+
...import_constants.isWeb && {
|
|
136
|
+
onKeyDown: (0, import_helpers.composeEventHandlers)(onKeyDown, (event) => {
|
|
137
|
+
(event.key === "Enter" || event.key === " ") && (checked || onChange?.(value));
|
|
138
|
+
}),
|
|
139
|
+
onFocus: (0, import_helpers.composeEventHandlers)(onFocus, () => {
|
|
140
|
+
isArrowKeyPressedRef.current && ref.current?.click();
|
|
141
|
+
})
|
|
142
|
+
}
|
|
143
|
+
},
|
|
144
|
+
rovingFocusGroupAttrs: {
|
|
145
|
+
asChild: "except-style",
|
|
146
|
+
focusable: !isDisabled,
|
|
147
|
+
active: checked
|
|
148
|
+
}
|
|
149
|
+
};
|
|
150
|
+
};
|
|
151
|
+
function useRadioGroupItemIndicator(params) {
|
|
152
|
+
const { radioGroupItemContext, disabled, ...rest } = params, { checked } = (0, import_react.useContext)(radioGroupItemContext);
|
|
153
|
+
return {
|
|
154
|
+
checked,
|
|
155
|
+
"data-state": (0, import_utils.getState)(checked),
|
|
156
|
+
"data-disabled": disabled ? "" : void 0,
|
|
157
|
+
...rest
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
//# sourceMappingURL=useRadioGroup.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/useRadioGroup.tsx"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all) __defProp(target, name, {
|
|
9
|
+
get: all[name],
|
|
10
|
+
enumerable: !0
|
|
11
|
+
});
|
|
12
|
+
},
|
|
13
|
+
__copyProps = (to, from, except, desc) => {
|
|
14
|
+
if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
|
|
15
|
+
get: () => from[key],
|
|
16
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
17
|
+
});
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
21
|
+
value: !0
|
|
22
|
+
}), mod);
|
|
23
|
+
var useRadioGroup_exports = {};
|
|
24
|
+
__export(useRadioGroup_exports, {
|
|
25
|
+
useRadioGroup: () => useRadioGroup,
|
|
26
|
+
useRadioGroupItem: () => useRadioGroupItem,
|
|
27
|
+
useRadioGroupItemIndicator: () => useRadioGroupItemIndicator
|
|
28
|
+
});
|
|
29
|
+
module.exports = __toCommonJS(useRadioGroup_exports);
|
|
30
|
+
var import_jsx_runtime = require("react/jsx-runtime"),
|
|
31
|
+
import_compose_refs = require("@tamagui/compose-refs"),
|
|
32
|
+
import_constants = require("@tamagui/constants"),
|
|
33
|
+
import_focusable = require("@tamagui/focusable"),
|
|
34
|
+
import_helpers = require("@tamagui/helpers"),
|
|
35
|
+
import_label = require("@tamagui/label"),
|
|
36
|
+
import_use_controllable_state = require("@tamagui/use-controllable-state"),
|
|
37
|
+
import_react = require("react"),
|
|
38
|
+
import_BubbleInput = require("./BubbleInput.native.js"),
|
|
39
|
+
import_utils = require("./utils.native.js");
|
|
40
|
+
function useRadioGroup(params) {
|
|
41
|
+
var {
|
|
42
|
+
value: valueProp,
|
|
43
|
+
onValueChange,
|
|
44
|
+
defaultValue,
|
|
45
|
+
required,
|
|
46
|
+
disabled,
|
|
47
|
+
name,
|
|
48
|
+
native,
|
|
49
|
+
accentColor,
|
|
50
|
+
orientation,
|
|
51
|
+
ref
|
|
52
|
+
} = params,
|
|
53
|
+
[value, setValue] = (0, import_use_controllable_state.useControllableState)({
|
|
54
|
+
prop: valueProp,
|
|
55
|
+
defaultProp: defaultValue,
|
|
56
|
+
onChange: onValueChange
|
|
57
|
+
});
|
|
58
|
+
return {
|
|
59
|
+
providerValue: {
|
|
60
|
+
value,
|
|
61
|
+
onChange: setValue,
|
|
62
|
+
required,
|
|
63
|
+
disabled,
|
|
64
|
+
name,
|
|
65
|
+
native,
|
|
66
|
+
accentColor
|
|
67
|
+
},
|
|
68
|
+
frameAttrs: {
|
|
69
|
+
role: "radiogroup",
|
|
70
|
+
"aria-orientation": orientation,
|
|
71
|
+
"data-disabled": disabled ? "" : void 0
|
|
72
|
+
},
|
|
73
|
+
rovingFocusGroupAttrs: {
|
|
74
|
+
orientation,
|
|
75
|
+
loop: !0
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
var ARROW_KEYS = ["ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight"],
|
|
80
|
+
useRadioGroupItem = function (params) {
|
|
81
|
+
var {
|
|
82
|
+
radioGroupContext,
|
|
83
|
+
value,
|
|
84
|
+
labelledBy: ariaLabelledby,
|
|
85
|
+
disabled: itemDisabled,
|
|
86
|
+
ref: refProp,
|
|
87
|
+
id,
|
|
88
|
+
onPress,
|
|
89
|
+
onKeyDown,
|
|
90
|
+
onFocus
|
|
91
|
+
} = params,
|
|
92
|
+
{
|
|
93
|
+
value: groupValue,
|
|
94
|
+
disabled,
|
|
95
|
+
required,
|
|
96
|
+
onChange,
|
|
97
|
+
name,
|
|
98
|
+
native,
|
|
99
|
+
accentColor
|
|
100
|
+
} = (0, import_react.useContext)(radioGroupContext),
|
|
101
|
+
[button, setButton] = (0, import_react.useState)(null),
|
|
102
|
+
hasConsumerStoppedPropagationRef = (0, import_react.useRef)(!1),
|
|
103
|
+
ref = (0, import_react.useRef)(null),
|
|
104
|
+
composedRefs = (0, import_compose_refs.useComposedRefs)(refProp, function (node) {
|
|
105
|
+
return setButton(node);
|
|
106
|
+
}, ref),
|
|
107
|
+
isArrowKeyPressedRef = (0, import_react.useRef)(!1),
|
|
108
|
+
isFormControl = import_constants.isWeb ? button ? !!button.closest("form") : !0 : !1,
|
|
109
|
+
checked = groupValue === value,
|
|
110
|
+
labelId = (0, import_label.useLabelContext)(button),
|
|
111
|
+
labelledBy = ariaLabelledby || labelId;
|
|
112
|
+
(0, import_react.useEffect)(function () {
|
|
113
|
+
if (import_constants.isWeb) {
|
|
114
|
+
var handleKeyDown = function (event) {
|
|
115
|
+
ARROW_KEYS.includes(event.key) && (isArrowKeyPressedRef.current = !0);
|
|
116
|
+
},
|
|
117
|
+
handleKeyUp = function () {
|
|
118
|
+
isArrowKeyPressedRef.current = !1;
|
|
119
|
+
};
|
|
120
|
+
return document.addEventListener("keydown", handleKeyDown), document.addEventListener("keyup", handleKeyUp), function () {
|
|
121
|
+
document.removeEventListener("keydown", handleKeyDown), document.removeEventListener("keyup", handleKeyUp);
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
}, []), (0, import_react.useEffect)(function () {
|
|
125
|
+
if (id && !disabled) return (0, import_focusable.registerFocusable)(id, {
|
|
126
|
+
focusAndSelect: function () {
|
|
127
|
+
onChange?.(value);
|
|
128
|
+
},
|
|
129
|
+
focus: function () {}
|
|
130
|
+
});
|
|
131
|
+
}, [id, value, disabled]);
|
|
132
|
+
var isDisabled = disabled || itemDisabled;
|
|
133
|
+
return {
|
|
134
|
+
providerValue: {
|
|
135
|
+
checked
|
|
136
|
+
},
|
|
137
|
+
checked,
|
|
138
|
+
isFormControl,
|
|
139
|
+
bubbleInput: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_BubbleInput.BubbleInput, {
|
|
140
|
+
isHidden: !native,
|
|
141
|
+
control: button,
|
|
142
|
+
bubbles: !hasConsumerStoppedPropagationRef.current,
|
|
143
|
+
name,
|
|
144
|
+
value,
|
|
145
|
+
checked,
|
|
146
|
+
required,
|
|
147
|
+
disabled: isDisabled,
|
|
148
|
+
...(import_constants.isWeb && native && {
|
|
149
|
+
accentColor,
|
|
150
|
+
id
|
|
151
|
+
})
|
|
152
|
+
}),
|
|
153
|
+
native,
|
|
154
|
+
frameAttrs: {
|
|
155
|
+
"data-state": (0, import_utils.getState)(checked),
|
|
156
|
+
"data-disabled": isDisabled ? "" : void 0,
|
|
157
|
+
role: "radio",
|
|
158
|
+
"aria-labelledby": labelledBy,
|
|
159
|
+
"aria-checked": checked,
|
|
160
|
+
"aria-required": required,
|
|
161
|
+
disabled: isDisabled,
|
|
162
|
+
ref: composedRefs,
|
|
163
|
+
...(import_constants.isWeb && {
|
|
164
|
+
type: "button",
|
|
165
|
+
value
|
|
166
|
+
}),
|
|
167
|
+
id,
|
|
168
|
+
onPress: (0, import_helpers.composeEventHandlers)(onPress, function (event) {
|
|
169
|
+
checked || onChange?.(value), isFormControl && (hasConsumerStoppedPropagationRef.current = event.isPropagationStopped(), hasConsumerStoppedPropagationRef.current || event.stopPropagation());
|
|
170
|
+
}),
|
|
171
|
+
...(import_constants.isWeb && {
|
|
172
|
+
onKeyDown: (0, import_helpers.composeEventHandlers)(onKeyDown, function (event) {
|
|
173
|
+
(event.key === "Enter" || event.key === " ") && (checked || onChange?.(value));
|
|
174
|
+
}),
|
|
175
|
+
onFocus: (0, import_helpers.composeEventHandlers)(onFocus, function () {
|
|
176
|
+
if (isArrowKeyPressedRef.current) {
|
|
177
|
+
var _ref_current;
|
|
178
|
+
(_ref_current = ref.current) === null || _ref_current === void 0 || _ref_current.click();
|
|
179
|
+
}
|
|
180
|
+
})
|
|
181
|
+
})
|
|
182
|
+
},
|
|
183
|
+
rovingFocusGroupAttrs: {
|
|
184
|
+
asChild: "except-style",
|
|
185
|
+
focusable: !isDisabled,
|
|
186
|
+
active: checked
|
|
187
|
+
}
|
|
188
|
+
};
|
|
189
|
+
};
|
|
190
|
+
function useRadioGroupItemIndicator(params) {
|
|
191
|
+
var {
|
|
192
|
+
radioGroupItemContext,
|
|
193
|
+
disabled,
|
|
194
|
+
...rest
|
|
195
|
+
} = params,
|
|
196
|
+
{
|
|
197
|
+
checked
|
|
198
|
+
} = (0, import_react.useContext)(radioGroupItemContext);
|
|
199
|
+
return {
|
|
200
|
+
checked,
|
|
201
|
+
"data-state": (0, import_utils.getState)(checked),
|
|
202
|
+
"data-disabled": disabled ? "" : void 0,
|
|
203
|
+
...rest
|
|
204
|
+
};
|
|
205
|
+
}
|
|
206
|
+
//# sourceMappingURL=useRadioGroup.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","useRadioGroup_exports","__export","useRadioGroup","useRadioGroupItem","useRadioGroupItemIndicator","module","exports","import_jsx_runtime","require","import_compose_refs","import_constants","import_focusable","import_helpers","import_label","import_use_controllable_state","import_react","import_BubbleInput","import_utils","params","valueProp","onValueChange","defaultValue","required","disabled","name","native","accentColor","orientation","ref","setValue","useControllableState","prop","defaultProp","onChange","providerValue","frameAttrs","role","rovingFocusGroupAttrs","loop","ARROW_KEYS","radioGroupContext","labelledBy","ariaLabelledby","itemDisabled","refProp","id","onPress","onKeyDown","onFocus","groupValue","useContext","button","setButton","useState","hasConsumerStoppedPropagationRef","useRef","composedRefs","useComposedRefs","node","isArrowKeyPressedRef","isFormControl","isWeb","closest","checked","labelId","useLabelContext","useEffect","handleKeyDown","event","includes","key","current","handleKeyUp","document","addEventListener","removeEventListener","registerFocusable","focusAndSelect","focus","isDisabled","bubbleInput","jsx","BubbleInput","isHidden","control","bubbles","getState","type","composeEventHandlers","isPropagationStopped","stopPropagation","_ref_current","click","asChild","focusable","active","radioGroupItemContext","rest"],"sources":["../../src/useRadioGroup.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all) __defProp(target, name, {
|
|
7
|
+
get: all[name],
|
|
8
|
+
enumerable: !0
|
|
9
|
+
});
|
|
10
|
+
},
|
|
11
|
+
__copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
|
|
13
|
+
get: () => from[key],
|
|
14
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
15
|
+
});
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
19
|
+
value: !0
|
|
20
|
+
}), mod);
|
|
21
|
+
var utils_exports = {};
|
|
22
|
+
__export(utils_exports, {
|
|
23
|
+
getState: () => getState
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(utils_exports);
|
|
26
|
+
function getState(checked) {
|
|
27
|
+
return checked ? "checked" : "unchecked";
|
|
28
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: !0 });
|
|
8
|
+
}, __copyProps = (to, from, except, desc) => {
|
|
9
|
+
if (from && typeof from == "object" || typeof from == "function")
|
|
10
|
+
for (let key of __getOwnPropNames(from))
|
|
11
|
+
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
12
|
+
return to;
|
|
13
|
+
};
|
|
14
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
15
|
+
var utils_exports = {};
|
|
16
|
+
__export(utils_exports, {
|
|
17
|
+
getState: () => getState
|
|
18
|
+
});
|
|
19
|
+
module.exports = __toCommonJS(utils_exports);
|
|
20
|
+
function getState(checked) {
|
|
21
|
+
return checked ? "checked" : "unchecked";
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all) __defProp(target, name, {
|
|
9
|
+
get: all[name],
|
|
10
|
+
enumerable: !0
|
|
11
|
+
});
|
|
12
|
+
},
|
|
13
|
+
__copyProps = (to, from, except, desc) => {
|
|
14
|
+
if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
|
|
15
|
+
get: () => from[key],
|
|
16
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
17
|
+
});
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
21
|
+
value: !0
|
|
22
|
+
}), mod);
|
|
23
|
+
var utils_exports = {};
|
|
24
|
+
__export(utils_exports, {
|
|
25
|
+
getState: () => getState
|
|
26
|
+
});
|
|
27
|
+
module.exports = __toCommonJS(utils_exports);
|
|
28
|
+
function getState(checked) {
|
|
29
|
+
return checked ? "checked" : "unchecked";
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=utils.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","utils_exports","__export","getState","module","exports","checked"],"sources":["../../src/utils.tsx"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,aAAA;AAAAC,QAAA,CAAAD,aAAA;EAAAE,QAAA,EAAAA,CAAA,KAAAA;AAAA;AAAOC,MAAA,CAAAC,OAAS,GAAAT,YAA2B,CAAAK,aAAA;AACzC,SAAOE,SAAAG,OAAU;EACnB,OAAAA,OAAA","ignoreList":[]}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { usePrevious } from "@tamagui/use-previous";
|
|
3
|
+
import { jsx } from "react/jsx-runtime";
|
|
4
|
+
const BubbleInput = (props) => {
|
|
5
|
+
const { checked, bubbles = !0, control, isHidden, accentColor, ...inputProps } = props, ref = React.useRef(null), prevChecked = usePrevious(checked);
|
|
6
|
+
return React.useEffect(() => {
|
|
7
|
+
const input = ref.current, inputProto = window.HTMLInputElement.prototype, setChecked = Object.getOwnPropertyDescriptor(
|
|
8
|
+
inputProto,
|
|
9
|
+
"checked"
|
|
10
|
+
).set;
|
|
11
|
+
if (prevChecked !== checked && setChecked) {
|
|
12
|
+
const event = new Event("click", { bubbles });
|
|
13
|
+
setChecked.call(input, checked), input.dispatchEvent(event);
|
|
14
|
+
}
|
|
15
|
+
}, [prevChecked, checked, bubbles]), /* @__PURE__ */ jsx(
|
|
16
|
+
"input",
|
|
17
|
+
{
|
|
18
|
+
type: "radio",
|
|
19
|
+
defaultChecked: checked,
|
|
20
|
+
...inputProps,
|
|
21
|
+
tabIndex: -1,
|
|
22
|
+
ref,
|
|
23
|
+
"aria-hidden": isHidden,
|
|
24
|
+
style: {
|
|
25
|
+
...isHidden ? {
|
|
26
|
+
// ...controlSize,
|
|
27
|
+
position: "absolute",
|
|
28
|
+
pointerEvents: "none",
|
|
29
|
+
opacity: 0,
|
|
30
|
+
margin: 0
|
|
31
|
+
} : {
|
|
32
|
+
appearance: "auto",
|
|
33
|
+
accentColor
|
|
34
|
+
},
|
|
35
|
+
...props.style
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
);
|
|
39
|
+
};
|
|
40
|
+
export {
|
|
41
|
+
BubbleInput
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=BubbleInput.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/BubbleInput.tsx"],
|
|
4
|
+
"mappings": "AAAA,OAAO,WAAW;AAClB,SAAS,mBAAmB;AAgCxB;AAtBG,MAAM,cAAc,CAAC,UAA4B;AACtD,QAAM,EAAE,SAAS,UAAU,IAAM,SAAS,UAAU,aAAa,GAAG,WAAW,IAAI,OAC7E,MAAM,MAAM,OAAyB,IAAI,GACzC,cAAc,YAAY,OAAO;AAGvC,eAAM,UAAU,MAAM;AACpB,UAAM,QAAQ,IAAI,SACZ,aAAa,OAAO,iBAAiB,WAKrC,aAJa,OAAO;AAAA,MACxB;AAAA,MACA;AAAA,IACF,EAC8B;AAC9B,QAAI,gBAAgB,WAAW,YAAY;AACzC,YAAM,QAAQ,IAAI,MAAM,SAAS,EAAE,QAAQ,CAAC;AAC5C,iBAAW,KAAK,OAAO,OAAO,GAC9B,MAAM,cAAc,KAAK;AAAA,IAC3B;AAAA,EACF,GAAG,CAAC,aAAa,SAAS,OAAO,CAAC,GAGhC;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL,gBAAgB;AAAA,MACf,GAAG;AAAA,MACJ,UAAU;AAAA,MACV;AAAA,MACA,eAAa;AAAA,MACb,OAAO;AAAA,QACL,GAAI,WACA;AAAA;AAAA,UAEE,UAAU;AAAA,UACV,eAAe;AAAA,UACf,SAAS;AAAA,UACT,QAAQ;AAAA,QACV,IACA;AAAA,UACE,YAAY;AAAA,UACZ;AAAA,QACF;AAAA,QAEJ,GAAG,MAAM;AAAA,MACX;AAAA;AAAA,EACF;AAEJ;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { usePrevious } from "@tamagui/use-previous";
|
|
3
|
+
import { jsx } from "react/jsx-runtime";
|
|
4
|
+
const BubbleInput = props => {
|
|
5
|
+
const {
|
|
6
|
+
checked,
|
|
7
|
+
bubbles = !0,
|
|
8
|
+
control,
|
|
9
|
+
isHidden,
|
|
10
|
+
accentColor,
|
|
11
|
+
...inputProps
|
|
12
|
+
} = props,
|
|
13
|
+
ref = React.useRef(null),
|
|
14
|
+
prevChecked = usePrevious(checked);
|
|
15
|
+
return React.useEffect(() => {
|
|
16
|
+
const input = ref.current,
|
|
17
|
+
inputProto = window.HTMLInputElement.prototype,
|
|
18
|
+
setChecked = Object.getOwnPropertyDescriptor(inputProto, "checked").set;
|
|
19
|
+
if (prevChecked !== checked && setChecked) {
|
|
20
|
+
const event = new Event("click", {
|
|
21
|
+
bubbles
|
|
22
|
+
});
|
|
23
|
+
setChecked.call(input, checked), input.dispatchEvent(event);
|
|
24
|
+
}
|
|
25
|
+
}, [prevChecked, checked, bubbles]), /* @__PURE__ */jsx("input", {
|
|
26
|
+
type: "radio",
|
|
27
|
+
defaultChecked: checked,
|
|
28
|
+
...inputProps,
|
|
29
|
+
tabIndex: -1,
|
|
30
|
+
ref,
|
|
31
|
+
"aria-hidden": isHidden,
|
|
32
|
+
style: {
|
|
33
|
+
...(isHidden ? {
|
|
34
|
+
// ...controlSize,
|
|
35
|
+
position: "absolute",
|
|
36
|
+
pointerEvents: "none",
|
|
37
|
+
opacity: 0,
|
|
38
|
+
margin: 0
|
|
39
|
+
} : {
|
|
40
|
+
appearance: "auto",
|
|
41
|
+
accentColor
|
|
42
|
+
}),
|
|
43
|
+
...props.style
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
};
|
|
47
|
+
export { BubbleInput };
|
|
48
|
+
//# sourceMappingURL=BubbleInput.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","usePrevious","jsx","BubbleInput","props","checked","bubbles","control","isHidden","accentColor","inputProps","ref","useRef","prevChecked","useEffect","input","current","inputProto","window","HTMLInputElement","prototype","setChecked","Object","getOwnPropertyDescriptor","set","event","Event","call","dispatchEvent","type","defaultChecked","tabIndex","style","position","pointerEvents","opacity","margin","appearance"],"sources":["../../src/BubbleInput.tsx"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,KAAA,MAAW;AAClB,SAASC,WAAA,QAAmB;AAgCxB,SAAAC,GAAA;AAtBG,MAAMC,WAAA,GAAeC,KAAA,IAA4B;EACtD,MAAM;MAAEC,OAAA;MAASC,OAAA,GAAU;MAAMC,OAAA;MAASC,QAAA;MAAUC,WAAA;MAAa,GAAGC;IAAW,IAAIN,KAAA;IAC7EO,GAAA,GAAMX,KAAA,CAAMY,MAAA,CAAyB,IAAI;IACzCC,WAAA,GAAcZ,WAAA,CAAYI,OAAO;EAGvC,OAAAL,KAAA,CAAMc,SAAA,CAAU,MAAM;IACpB,MAAMC,KAAA,GAAQJ,GAAA,CAAIK,OAAA;MACZC,UAAA,GAAaC,MAAA,CAAOC,gBAAA,CAAiBC,SAAA;MAKrCC,UAAA,GAJaC,MAAA,CAAOC,wBAAA,CACxBN,UAAA,EACA,SACF,EAC8BO,GAAA;IAC9B,IAAIX,WAAA,KAAgBR,OAAA,IAAWgB,UAAA,EAAY;MACzC,MAAMI,KAAA,GAAQ,IAAIC,KAAA,CAAM,SAAS;QAAEpB;MAAQ,CAAC;MAC5Ce,UAAA,CAAWM,IAAA,CAAKZ,KAAA,EAAOV,OAAO,GAC9BU,KAAA,CAAMa,aAAA,CAAcH,KAAK;IAC3B;EACF,GAAG,CAACZ,WAAA,EAAaR,OAAA,EAASC,OAAO,CAAC,GAGhC,eAAAJ,GAAA,CAAC;IACC2B,IAAA,EAAK;IACLC,cAAA,EAAgBzB,OAAA;IACf,GAAGK,UAAA;IACJqB,QAAA,EAAU;IACVpB,GAAA;IACA,eAAaH,QAAA;IACbwB,KAAA,EAAO;MACL,IAAIxB,QAAA,GACA;QAAA;QAEEyB,QAAA,EAAU;QACVC,aAAA,EAAe;QACfC,OAAA,EAAS;QACTC,MAAA,EAAQ;MACV,IACA;QACEC,UAAA,EAAY;QACZ5B;MACF;MAEJ,GAAGL,KAAA,CAAM4B;IACX;EAAA,CACF;AAEJ","ignoreList":[]}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { usePrevious } from "@tamagui/use-previous";
|
|
4
|
+
var BubbleInput = function (props) {
|
|
5
|
+
var {
|
|
6
|
+
checked,
|
|
7
|
+
bubbles = !0,
|
|
8
|
+
control,
|
|
9
|
+
isHidden,
|
|
10
|
+
accentColor,
|
|
11
|
+
...inputProps
|
|
12
|
+
} = props,
|
|
13
|
+
ref = React.useRef(null),
|
|
14
|
+
prevChecked = usePrevious(checked);
|
|
15
|
+
return React.useEffect(function () {
|
|
16
|
+
var input = ref.current,
|
|
17
|
+
inputProto = window.HTMLInputElement.prototype,
|
|
18
|
+
descriptor = Object.getOwnPropertyDescriptor(inputProto, "checked"),
|
|
19
|
+
setChecked = descriptor.set;
|
|
20
|
+
if (prevChecked !== checked && setChecked) {
|
|
21
|
+
var event = new Event("click", {
|
|
22
|
+
bubbles
|
|
23
|
+
});
|
|
24
|
+
setChecked.call(input, checked), input.dispatchEvent(event);
|
|
25
|
+
}
|
|
26
|
+
}, [prevChecked, checked, bubbles]), /* @__PURE__ */_jsx("input", {
|
|
27
|
+
type: "radio",
|
|
28
|
+
defaultChecked: checked,
|
|
29
|
+
...inputProps,
|
|
30
|
+
tabIndex: -1,
|
|
31
|
+
ref,
|
|
32
|
+
"aria-hidden": isHidden,
|
|
33
|
+
style: {
|
|
34
|
+
...(isHidden ? {
|
|
35
|
+
// ...controlSize,
|
|
36
|
+
position: "absolute",
|
|
37
|
+
pointerEvents: "none",
|
|
38
|
+
opacity: 0,
|
|
39
|
+
margin: 0
|
|
40
|
+
} : {
|
|
41
|
+
appearance: "auto",
|
|
42
|
+
accentColor
|
|
43
|
+
}),
|
|
44
|
+
...props.style
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
};
|
|
48
|
+
export { BubbleInput };
|
|
49
|
+
//# sourceMappingURL=BubbleInput.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["jsx","_jsx","React","usePrevious","BubbleInput","props","checked","bubbles","control","isHidden","accentColor","inputProps","ref","useRef","prevChecked","useEffect","input","current","inputProto","window","HTMLInputElement","prototype","descriptor","Object","getOwnPropertyDescriptor","setChecked","set","event","Event","call","dispatchEvent","type","defaultChecked","tabIndex","style","position","pointerEvents","opacity","margin","appearance"],"sources":["../../src/BubbleInput.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAAOA,GAAA,IAAAC,IAAW;AAClB,OAAAC,KAAS;AAgCL,SAAAC,WAAA;AAtBG,IAAAC,WAAM,YAAAA,CAAeC,KAA4B;EACtD;MAAMC,OAAE;MAAAC,OAAS,KAAU;MAAAC,OAAM;MAAAC,QAAS;MAAAC,WAAU;MAAA,GAAaC;IAAG,IAAWN,KAAI;IAAAO,GAC7E,GAAAV,KAAM,CAAAW,MAAM,KAAyB;IAAIC,WACzC,GAAAX,WAAc,CAAAG,OAAY;EAGhC,OAAAJ,KAAA,CAAMa,SAAA,CAAU,YAAM;IACpB,IAAAC,KAAM,GAAAJ,GAAQ,CAAAK,OAAI;MAAAC,UACZ,GAAAC,MAAa,CAAAC,gBAAO,CAAAC,SAAiB;MAAAC,UAKrC,GAAAC,MAJa,CAAAC,wBAAO,CAAAN,UAAA;MAAAO,UAAA,GAAAH,UAAA,CAAAI,GAAA;IAAA,IACxBZ,WAAA,KAAAR,OAAA,IAAAmB,UAAA;MACA,IAAAE,KAAA,OAAAC,KAAA;QAE4BrB;MAC9B,EAAI;MACFkB,UAAM,CAAAI,IAAQ,CAAAb,KAAI,EAAAV,OAAM,GAASU,KAAE,CAAAc,aAAS,CAAAH,KAAA;IAC5C;EACyB,GAC3B,CACFb,WAAI,EAGDR,OAAA,EAAAC,OAAA,IACC,eAAKN,IAAA;IAAA8B,IACL;IAAgBC,cACZ,EAAA1B,OAAA;IAAA,GACJK,UAAU;IAAAsB,QACV;IAAArB,GACA;IAAa,aACN,EAAAH,QAAA;IAAAyB,KACL,EAAI;MACA,IAAAzB,QAAA;QAAA;QAEY0B,QACV,YAAe;QAAAC,aACN;QAAAC,OACT,GAAQ;QACVC,MACA;MAAA,IACE;QAAYC,UACZ;QACF7B;MAAA;MAGN,GAAAL,KAAA,CAAA6B;IAAA;EACF;AAEJ","ignoreList":[]}
|