@tamagui/radio-headless 1.111.8 → 1.111.9
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/dist/esm/BubbleInput.native.js +21 -15
- package/dist/esm/BubbleInput.native.js.map +1 -6
- package/dist/esm/index.native.js +3 -3
- package/dist/esm/index.native.js.map +1 -6
- package/dist/esm/useRadioGroup.native.js +131 -97
- package/dist/esm/useRadioGroup.native.js.map +1 -6
- package/dist/esm/utils.native.js +2 -4
- package/dist/esm/utils.native.js.map +1 -6
- package/package.json +11 -11
- package/dist/esm/BubbleInput.native.mjs +0 -49
- package/dist/esm/BubbleInput.native.mjs.map +0 -1
- package/dist/esm/index.native.mjs +0 -3
- package/dist/esm/index.native.mjs.map +0 -1
- package/dist/esm/useRadioGroup.native.mjs +0 -178
- package/dist/esm/useRadioGroup.native.mjs.map +0 -1
- package/dist/esm/utils.native.mjs +0 -5
- package/dist/esm/utils.native.mjs.map +0 -1
|
@@ -1,21 +1,29 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import React from "react";
|
|
3
3
|
import { usePrevious } from "@tamagui/use-previous";
|
|
4
|
-
var BubbleInput = function(props) {
|
|
5
|
-
var {
|
|
6
|
-
|
|
7
|
-
|
|
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;
|
|
8
20
|
if (prevChecked !== checked && setChecked) {
|
|
9
21
|
var event = new Event("click", {
|
|
10
22
|
bubbles
|
|
11
23
|
});
|
|
12
24
|
setChecked.call(input, checked), input.dispatchEvent(event);
|
|
13
25
|
}
|
|
14
|
-
}, [
|
|
15
|
-
prevChecked,
|
|
16
|
-
checked,
|
|
17
|
-
bubbles
|
|
18
|
-
]), /* @__PURE__ */ _jsx("input", {
|
|
26
|
+
}, [prevChecked, checked, bubbles]), /* @__PURE__ */_jsx("input", {
|
|
19
27
|
type: "radio",
|
|
20
28
|
defaultChecked: checked,
|
|
21
29
|
...inputProps,
|
|
@@ -23,7 +31,7 @@ var BubbleInput = function(props) {
|
|
|
23
31
|
ref,
|
|
24
32
|
"aria-hidden": isHidden,
|
|
25
33
|
style: {
|
|
26
|
-
...isHidden ? {
|
|
34
|
+
...(isHidden ? {
|
|
27
35
|
// ...controlSize,
|
|
28
36
|
position: "absolute",
|
|
29
37
|
pointerEvents: "none",
|
|
@@ -32,12 +40,10 @@ var BubbleInput = function(props) {
|
|
|
32
40
|
} : {
|
|
33
41
|
appearance: "auto",
|
|
34
42
|
accentColor
|
|
35
|
-
},
|
|
43
|
+
}),
|
|
36
44
|
...props.style
|
|
37
45
|
}
|
|
38
46
|
});
|
|
39
47
|
};
|
|
40
|
-
export {
|
|
41
|
-
|
|
42
|
-
};
|
|
43
|
-
//# sourceMappingURL=BubbleInput.js.map
|
|
48
|
+
export { BubbleInput };
|
|
49
|
+
//# sourceMappingURL=BubbleInput.native.js.map
|
|
@@ -1,6 +1 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/Users/n8/tamagui/code/ui/radio-headless/src/BubbleInput.tsx"],
|
|
4
|
-
"mappings": ";AAAA,OAAOA,WAAW;AAClB,SAASC,mBAAmB;AAUrB,IAAMC,cAAc,SAACC,OAAAA;AAC1B,MAAM,EAAEC,SAASC,UAAU,IAAMC,SAASC,UAAUC,aAAa,GAAGC,WAAAA,IAAeN,OAC7EO,MAAMV,MAAMW,OAAyB,IAAA,GACrCC,cAAcX,YAAYG,OAAAA;AAGhCJ,eAAMa,UAAU,WAAA;AACd,QAAMC,QAAQJ,IAAIK,SACZC,aAAaC,OAAOC,iBAAiBC,WACrCC,aAAaC,OAAOC,yBACxBN,YACA,SAAA,GAEIO,aAAaH,WAAWI;AAC9B,QAAIZ,gBAAgBR,WAAWmB,YAAY;AACzC,UAAME,QAAQ,IAAIC,MAAM,SAAS;QAAErB;MAAQ,CAAA;AAC3CkB,iBAAWI,KAAKb,OAAOV,OAAAA,GACvBU,MAAMc,cAAcH,KAAAA;IACtB;EACF,GAAG;IAACb;IAAaR;IAASC;GAAQ,GAGhC,qBAACS,SAAAA;IACCe,MAAK;IACLC,gBAAgB1B;IACf,GAAGK;IACJsB,UAAU;IACVrB;IACAsB,eAAazB;IACb0B,OAAO;MACL,GAAI1B,WACA;;QAEE2B,UAAU;QACVC,eAAe;QACfC,SAAS;QACTC,QAAQ;MACV,IACA;QACEC,YAAY;QACZ9B;MACF;MAEJ,GAAGL,MAAM8B;IACX;;AAGN;",
|
|
5
|
-
"names": ["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", "aria-hidden", "style", "position", "pointerEvents", "opacity", "margin", "appearance"]
|
|
6
|
-
}
|
|
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":[]}
|
package/dist/esm/index.native.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from "./useRadioGroup";
|
|
2
|
-
export * from "./utils";
|
|
3
|
-
//# sourceMappingURL=index.js.map
|
|
1
|
+
export * from "./useRadioGroup.native.js";
|
|
2
|
+
export * from "./utils.native.js";
|
|
3
|
+
//# sourceMappingURL=index.native.js.map
|
|
@@ -1,6 +1 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/Users/n8/tamagui/code/ui/radio-headless/src/index.ts"],
|
|
4
|
-
"mappings": "AAAA,cAAc;AACd,cAAc;",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
|
1
|
+
{"version":3,"names":[],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc;AACd,cAAc","ignoreList":[]}
|
|
@@ -6,14 +6,26 @@ import { composeEventHandlers } from "@tamagui/helpers";
|
|
|
6
6
|
import { useLabelContext } from "@tamagui/label";
|
|
7
7
|
import { useControllableState } from "@tamagui/use-controllable-state";
|
|
8
8
|
import { useContext, useEffect, useRef, useState } from "react";
|
|
9
|
-
import { BubbleInput } from "./BubbleInput";
|
|
10
|
-
import { getState } from "./utils";
|
|
9
|
+
import { BubbleInput } from "./BubbleInput.native.js";
|
|
10
|
+
import { getState } from "./utils.native.js";
|
|
11
11
|
function useRadioGroup(params) {
|
|
12
|
-
var {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
12
|
+
var {
|
|
13
|
+
value: valueProp,
|
|
14
|
+
onValueChange,
|
|
15
|
+
defaultValue,
|
|
16
|
+
required,
|
|
17
|
+
disabled,
|
|
18
|
+
name,
|
|
19
|
+
native,
|
|
20
|
+
accentColor,
|
|
21
|
+
orientation,
|
|
22
|
+
ref
|
|
23
|
+
} = params,
|
|
24
|
+
[value, setValue] = useControllableState({
|
|
25
|
+
prop: valueProp,
|
|
26
|
+
defaultProp: defaultValue,
|
|
27
|
+
onChange: onValueChange
|
|
28
|
+
});
|
|
17
29
|
return {
|
|
18
30
|
providerValue: {
|
|
19
31
|
value,
|
|
@@ -35,100 +47,126 @@ function useRadioGroup(params) {
|
|
|
35
47
|
}
|
|
36
48
|
};
|
|
37
49
|
}
|
|
38
|
-
var ARROW_KEYS = [
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
50
|
+
var ARROW_KEYS = ["ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight"],
|
|
51
|
+
useRadioGroupItem = function (params) {
|
|
52
|
+
var {
|
|
53
|
+
radioGroupContext,
|
|
54
|
+
value,
|
|
55
|
+
labelledBy: ariaLabelledby,
|
|
56
|
+
disabled: itemDisabled,
|
|
57
|
+
ref: refProp,
|
|
58
|
+
id,
|
|
59
|
+
onPress,
|
|
60
|
+
onKeyDown,
|
|
61
|
+
onFocus
|
|
62
|
+
} = params,
|
|
63
|
+
{
|
|
64
|
+
value: groupValue,
|
|
65
|
+
disabled,
|
|
66
|
+
required,
|
|
67
|
+
onChange,
|
|
68
|
+
name,
|
|
69
|
+
native,
|
|
70
|
+
accentColor
|
|
71
|
+
} = useContext(radioGroupContext),
|
|
72
|
+
[button, setButton] = useState(null),
|
|
73
|
+
hasConsumerStoppedPropagationRef = useRef(!1),
|
|
74
|
+
ref = useRef(null),
|
|
75
|
+
composedRefs = useComposedRefs(refProp, function (node) {
|
|
76
|
+
return setButton(node);
|
|
77
|
+
}, ref),
|
|
78
|
+
isArrowKeyPressedRef = useRef(!1),
|
|
79
|
+
isFormControl = isWeb ? button ? !!button.closest("form") : !0 : !1,
|
|
80
|
+
checked = groupValue === value,
|
|
81
|
+
labelId = useLabelContext(button),
|
|
82
|
+
labelledBy = ariaLabelledby || labelId;
|
|
83
|
+
useEffect(function () {
|
|
84
|
+
if (isWeb) {
|
|
85
|
+
var handleKeyDown = function (event) {
|
|
86
|
+
ARROW_KEYS.includes(event.key) && (isArrowKeyPressedRef.current = !0);
|
|
87
|
+
},
|
|
88
|
+
handleKeyUp = function () {
|
|
89
|
+
isArrowKeyPressedRef.current = !1;
|
|
90
|
+
};
|
|
91
|
+
return document.addEventListener("keydown", handleKeyDown), document.addEventListener("keyup", handleKeyUp), function () {
|
|
92
|
+
document.removeEventListener("keydown", handleKeyDown), document.removeEventListener("keyup", handleKeyUp);
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
}, []), useEffect(function () {
|
|
96
|
+
if (id && !disabled) return registerFocusable(id, {
|
|
97
|
+
focusAndSelect: function () {
|
|
62
98
|
onChange?.(value);
|
|
63
99
|
},
|
|
64
|
-
focus: function() {
|
|
65
|
-
}
|
|
100
|
+
focus: function () {}
|
|
66
101
|
});
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
var isDisabled = disabled || itemDisabled;
|
|
73
|
-
return {
|
|
74
|
-
providerValue: {
|
|
75
|
-
checked
|
|
76
|
-
},
|
|
77
|
-
checked,
|
|
78
|
-
isFormControl,
|
|
79
|
-
bubbleInput: /* @__PURE__ */ _jsx(BubbleInput, {
|
|
80
|
-
isHidden: !native,
|
|
81
|
-
control: button,
|
|
82
|
-
bubbles: !hasConsumerStoppedPropagationRef.current,
|
|
83
|
-
name,
|
|
84
|
-
value,
|
|
85
|
-
checked,
|
|
86
|
-
required,
|
|
87
|
-
disabled: isDisabled,
|
|
88
|
-
...isWeb && native && {
|
|
89
|
-
accentColor,
|
|
90
|
-
id
|
|
91
|
-
}
|
|
92
|
-
}),
|
|
93
|
-
native,
|
|
94
|
-
frameAttrs: {
|
|
95
|
-
"data-state": getState(checked),
|
|
96
|
-
"data-disabled": isDisabled ? "" : void 0,
|
|
97
|
-
role: "radio",
|
|
98
|
-
"aria-labelledby": labelledBy,
|
|
99
|
-
"aria-checked": checked,
|
|
100
|
-
"aria-required": required,
|
|
101
|
-
disabled: isDisabled,
|
|
102
|
-
ref: composedRefs,
|
|
103
|
-
...isWeb && {
|
|
104
|
-
type: "button",
|
|
105
|
-
value
|
|
102
|
+
}, [id, value, disabled]);
|
|
103
|
+
var isDisabled = disabled || itemDisabled;
|
|
104
|
+
return {
|
|
105
|
+
providerValue: {
|
|
106
|
+
checked
|
|
106
107
|
},
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
108
|
+
checked,
|
|
109
|
+
isFormControl,
|
|
110
|
+
bubbleInput: /* @__PURE__ */_jsx(BubbleInput, {
|
|
111
|
+
isHidden: !native,
|
|
112
|
+
control: button,
|
|
113
|
+
bubbles: !hasConsumerStoppedPropagationRef.current,
|
|
114
|
+
name,
|
|
115
|
+
value,
|
|
116
|
+
checked,
|
|
117
|
+
required,
|
|
118
|
+
disabled: isDisabled,
|
|
119
|
+
...(isWeb && native && {
|
|
120
|
+
accentColor,
|
|
121
|
+
id
|
|
122
|
+
})
|
|
110
123
|
}),
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
124
|
+
native,
|
|
125
|
+
frameAttrs: {
|
|
126
|
+
"data-state": getState(checked),
|
|
127
|
+
"data-disabled": isDisabled ? "" : void 0,
|
|
128
|
+
role: "radio",
|
|
129
|
+
"aria-labelledby": labelledBy,
|
|
130
|
+
"aria-checked": checked,
|
|
131
|
+
"aria-required": required,
|
|
132
|
+
disabled: isDisabled,
|
|
133
|
+
ref: composedRefs,
|
|
134
|
+
...(isWeb && {
|
|
135
|
+
type: "button",
|
|
136
|
+
value
|
|
114
137
|
}),
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
138
|
+
id,
|
|
139
|
+
onPress: composeEventHandlers(onPress, function (event) {
|
|
140
|
+
checked || onChange?.(value), isFormControl && (hasConsumerStoppedPropagationRef.current = event.isPropagationStopped(), hasConsumerStoppedPropagationRef.current || event.stopPropagation());
|
|
141
|
+
}),
|
|
142
|
+
...(isWeb && {
|
|
143
|
+
onKeyDown: composeEventHandlers(onKeyDown, function (event) {
|
|
144
|
+
event.key === "Enter" && event.preventDefault();
|
|
145
|
+
}),
|
|
146
|
+
onFocus: composeEventHandlers(onFocus, function () {
|
|
147
|
+
if (isArrowKeyPressedRef.current) {
|
|
148
|
+
var _ref_current;
|
|
149
|
+
(_ref_current = ref.current) === null || _ref_current === void 0 || _ref_current.click();
|
|
150
|
+
}
|
|
151
|
+
})
|
|
120
152
|
})
|
|
153
|
+
},
|
|
154
|
+
rovingFocusGroupAttrs: {
|
|
155
|
+
asChild: "expect-style",
|
|
156
|
+
focusable: !isDisabled,
|
|
157
|
+
active: checked
|
|
121
158
|
}
|
|
122
|
-
}
|
|
123
|
-
rovingFocusGroupAttrs: {
|
|
124
|
-
asChild: "expect-style",
|
|
125
|
-
focusable: !isDisabled,
|
|
126
|
-
active: checked
|
|
127
|
-
}
|
|
159
|
+
};
|
|
128
160
|
};
|
|
129
|
-
};
|
|
130
161
|
function useRadioGroupItemIndicator(params) {
|
|
131
|
-
var {
|
|
162
|
+
var {
|
|
163
|
+
radioGroupItemContext,
|
|
164
|
+
disabled,
|
|
165
|
+
...rest
|
|
166
|
+
} = params,
|
|
167
|
+
{
|
|
168
|
+
checked
|
|
169
|
+
} = useContext(radioGroupItemContext);
|
|
132
170
|
return {
|
|
133
171
|
checked,
|
|
134
172
|
"data-state": getState(checked),
|
|
@@ -136,9 +174,5 @@ function useRadioGroupItemIndicator(params) {
|
|
|
136
174
|
...rest
|
|
137
175
|
};
|
|
138
176
|
}
|
|
139
|
-
export {
|
|
140
|
-
|
|
141
|
-
useRadioGroupItem,
|
|
142
|
-
useRadioGroupItemIndicator
|
|
143
|
-
};
|
|
144
|
-
//# sourceMappingURL=useRadioGroup.js.map
|
|
177
|
+
export { useRadioGroup, useRadioGroupItem, useRadioGroupItemIndicator };
|
|
178
|
+
//# sourceMappingURL=useRadioGroup.native.js.map
|
|
@@ -1,6 +1 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/Users/n8/tamagui/code/ui/radio-headless/src/useRadioGroup.tsx"],
|
|
4
|
-
"mappings": "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",
|
|
5
|
-
"names": ["useComposedRefs", "isWeb", "registerFocusable", "composeEventHandlers", "useLabelContext", "useControllableState", "useContext", "useEffect", "useRef", "useState", "BubbleInput", "getState", "useRadioGroup", "params", "value", "valueProp", "onValueChange", "defaultValue", "required", "disabled", "name", "native", "accentColor", "orientation", "ref", "setValue", "prop", "defaultProp", "onChange", "providerValue", "frameAttrs", "role", "undefined", "rovingFocusGroupAttrs", "loop", "ARROW_KEYS", "useRadioGroupItem", "radioGroupContext", "labelledBy", "ariaLabelledby", "itemDisabled", "refProp", "id", "onPress", "onKeyDown", "onFocus", "groupValue", "button", "setButton", "hasConsumerStoppedPropagationRef", "composedRefs", "node", "isArrowKeyPressedRef", "isFormControl", "Boolean", "closest", "checked", "labelId", "handleKeyDown", "event", "includes", "key", "current", "handleKeyUp", "document", "addEventListener", "removeEventListener", "focusAndSelect", "focus", "isDisabled", "bubbleInput", "isHidden", "control", "bubbles", "type", "isPropagationStopped", "stopPropagation", "preventDefault", "click", "asChild", "focusable", "active", "useRadioGroupItemIndicator", "radioGroupItemContext", "rest"]
|
|
6
|
-
}
|
|
1
|
+
{"version":3,"names":["jsx","_jsx","useComposedRefs","isWeb","registerFocusable","composeEventHandlers","useLabelContext","useControllableState","useContext","useEffect","useRef","useState","BubbleInput","getState","useRadioGroup","params","value","valueProp","onValueChange","defaultValue","required","disabled","name","native","accentColor","orientation","ref","setValue","prop","defaultProp","onChange","providerValue","frameAttrs","role","rovingFocusGroupAttrs","loop","ARROW_KEYS","useRadioGroupItem","radioGroupContext","labelledBy","ariaLabelledby","itemDisabled","refProp","id","onPress","onKeyDown","onFocus","groupValue","button","setButton","hasConsumerStoppedPropagationRef","composedRefs","node","isArrowKeyPressedRef","isFormControl","closest","checked","labelId","handleKeyDown","event","includes","key","current","handleKeyUp","document","addEventListener","removeEventListener","focusAndSelect","focus","isDisabled","bubbleInput","isHidden","control","bubbles","type","isPropagationStopped","stopPropagation","preventDefault","_ref_current","click","asChild","focusable","active","useRadioGroupItemIndicator","radioGroupItemContext","rest"],"sources":["../../src/useRadioGroup.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,GAAA,IAAAC,IAAA,2BAAuB;AAChC,SAASC,eAAa;AACtB,SAAkCC,KAAA;AAClC,SAASC,iBAAA,4BAA4B;AACrC,SAASC,oBAAA,QAAuB;AAChC,SAASC,eAAA,wBAA4B;AAGrC,SAASC,oBAAY,QAAW,iCAAwB;AAExD,SAASC,UAAA,EAAAC,SAAmB,EAAAC,MAAA,EAAAC,QAAA;AAC5B,SAASC,WAAA,QAAgB;AA4JnB,SAAAC,QAAA;AA9IC,SAASC,cAAcC,MAAA,EAA6B;EACzD;MAAMC,KAAA,EAAAC,SAAA;MAAAC,aAAA;MAAAC,YAAA;MAAAC,QAAA;MAAAC,QAAA;MAAAC,IAAA;MAAAC,MAAA;MAAAC,WAAA;MAAAC,WAAA;MAAAC;IAAA,IAAAX,MAAA;IAAA,CAAAC,KAAA,EAAAW,QAAA,IAAApB,oBAAA;MACJqB,IAAA,EAAAX,SAAO;MACPY,WAAA,EAAAV,YAAA;MACAW,QAAA,EAAAZ;IAAA,EACA;EAAA,OACA;IACAa,aAAA;MACAf,KAAA;MACAc,QAAA,EAAAH,QAAA;MACAP,QAAA;MACAC,QAAA;MACEC,IAAA;MAEFC,MAAM;MACNC;IACA;IACDQ,UAAA;MAEDC,IAAO;MACL,kBAAe,EAAAR,WAAA;MACb,iBAAAJ,QAAA;IAAA;IACUa,qBACV;MACAT,WAAA;MACAU,IAAA;IAAA;EACA;AACA;AACF,IACAC,UAAA,GAAY,UACV,EAAM,WACN,EAAoB,WACpB,EAAiC,YACnC;EAAAC,iBACA,YAAAA,CAAuBtB,MAAA;IAAA,IACrB;QAAAuB,iBAAA;QAAAtB,KAAA;QAAAuB,UAAA,EAAAC,cAAA;QAAAnB,QAAA,EAAAoB,YAAA;QAAAf,GAAA,EAAAgB,OAAA;QAAAC,EAAA;QAAAC,OAAA;QAAAC,SAAA;QAAAC;MAAA,IAAA/B,MAAA;MAAA;QAAAC,KAAA,EAAA+B,UAAA;QAAA1B,QAAA;QAAAD,QAAA;QAAAU,QAAA;QAAAR,IAAA;QAAAC,MAAA;QAAAC;MAAA,IAAAhB,UAAA,CAAA8B,iBAAA;MAAA,CAAAU,MAAA,EAAAC,SAAA,IAAAtC,QAAA;MAAAuC,gCAAA,GAAAxC,MAAA;MAAAgB,GAAA,GAAAhB,MAAA;MAAAyC,YAAA,GAAAjD,eAAA,CAAAwC,OAAA,YAAAU,IAAA;QAAA,OACAH,SAAM,CAAAG,IAAA;MAAA,GACR1B,GAAA;MAAA2B,oBAAA,GAAA3C,MAAA;MAAA4C,aAAA,GAAAnD,KAAA,GAAA6C,MAAA,KAAAA,MAAA,CAAAO,OAAA;MAAAC,OAAA,GAAAT,UAAA,KAAA/B,KAAA;MAAAyC,OAAA,GAAAnD,eAAA,CAAA0C,MAAA;MAAAT,UAAA,GAAAC,cAAA,IAAAiB,OAAA;IACFhD,SAAA;MACF,IAAAN,KAAA;QAwBM,IAAAuD,aAAc,YAAAA,CAAWC,KAAA;YAGvBvB,UAAA,CAAAwB,QAAA,CAAAD,KAAA,CAAAE,GAAA,MAAAR,oBAAA,CAAAS,OAAA;UACJ;UAAAC,WAAA,YAAAA,CAAA;YACAV,oBAAA,CAAAS,OAAA;UACA;QACA,OAAAE,QAAU,CAAAC,gBAAA,YAAAP,aAAA,GAAAM,QAAA,CAAAC,gBAAA,UAAAF,WAAA;UACVC,QAAK,CAAAE,mBAAA,YAAAR,aAAA,GAAAM,QAAA,CAAAE,mBAAA,UAAAH,WAAA;QACL;MACA;IAAA,GACA,KAAAtD,SAAA;MACA,IAAAkC,EAAA,KAAAtB,QAAA,EACE,OAAAjB,iBACE,CAAAuC,EAAA;QACJwB,cAAO,WAAAA,CAAA;UACPrC,QAAA,GAAAd,KAAA;QACA;QACAoD,KAAA,WAAAA,CAAA,GACA;MACA;IAAA,GACA,CACFzB,EAAI,EAeJ3B,KAAA,EACEK,QAAI,CACF;IACE,IAAAgD,UAAI,GAAWhD,QAAA,IAASoB,YACtB;IAA+B,OAG7B;MACJV,aAAA;QACFyB;MACA;MAGEA,OAAA;MACiDF,aACnD;MACFgB,WAAA,iBAAArE,IAAA,CAAAW,WAAA;QACE2D,QAAC,GAAAhD,MAAA;QAgBLiD,OAAM,EAAAxB,MAAa;QAEnByB,OAAO,GAAAvB,gCAAA,CAAAY,OAAA;QACLxC,IAAA;QACEN,KAAA;QACFwC,OAAA;QACApC,QAAA;QACAC,QAAA,EAAAgD,UAAA;QACA,IAAAlE,KAAA,IACEoB,MAAA;UAACC,WAAA;UAAAmB;QAAA;MACY;MACFpB,MACT;MAA2CS,UAC3C;QAAA,YACA,EAAAnB,QAAA,CAAA2C,OAAA;QAAA,eACA,EAAAa,UAAA;QAAApC,IACA;QAAA,iBACU,EAAAM,UAAA;QAAA,cAER,EAAAiB,OAAA;QAAU,eACR,EAAApC,QAAA;QAAAC,QACA,EAAAgD,UAAA;QAAA3C,GACF,EAAAyB,YAAA;QAAA,IAAAhD,KAAA;UACJuE,IAAA;UAEF1D;QACA;QACE2B,EAAA;QACAC,OAAA,EAAAvC,oBAAiB,CAAauC,OAAK,YAAAe,KAAA;UACnCH,OAAM,IAAA1B,QAAA,GAAAd,KAAA,GAAAsC,aAAA,KAAAJ,gCAAA,CAAAY,OAAA,GAAAH,KAAA,CAAAgB,oBAAA,IAAAzB,gCAAA,CAAAY,OAAA,IAAAH,KAAA,CAAAiB,eAAA;QACN;QACA,IAAAzE,KAAA;UACA0C,SAAA,EAAAxC,oBAAiB,CAAAwC,SAAA,YAAAc,KAAA;YACjBA,KAAA,CAAUE,GAAA,gBAAAF,KAAA,CAAAkB,cAAA;UACV;UACA/B,OAAI,EAAAzC,oBAAS,CAAAyC,OAAA;YACX,IAAMO,oBAAA,CAAAS,OAAA;cACN,IAAAgB,YAAA;cACF,CAAAA,YAAA,GAAApD,GAAA,CAAAoC,OAAA,cAAAgB,YAAA,eAAAA,YAAA,CAAAC,KAAA;YACA;UACA;QACE;MASuE;MAExE7C,qBACY;QAAA8C,OACX,gBAAW;QAETC,SAAI,EAAM,CAAAZ,UAAQ;QAA8Ba,MACjD,EAAA1B;MAAA;IAOC;EAC6C;AAE9C,SACH2B,2BAAApE,MAAA;EAAA,IACF;MAAAqE,qBAAA;MAAA/D,QAAA;MAAA,GAAAgE;IAAA,IAAAtE,MAAA;IAAA;MAAAyC;IAAA,IAAAhD,UAAA,CAAA4E,qBAAA;EAAA,OACA;IAAuB5B,OACrB;IAAS,YACT,EAAY3C,QAAA,CAAA2C,OAAA;IAAA,eACJ,EAAAnC,QAAA;IACV,GAAAgE;EACF;AACF;AAWO,SACLvE,aAAQ,EAGRuB,iBAAO,EAAA8C,0BACL","ignoreList":[]}
|
package/dist/esm/utils.native.js
CHANGED
|
@@ -1,6 +1 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/Users/n8/tamagui/code/ui/radio-headless/src/utils.tsx"],
|
|
4
|
-
"mappings": "AAAO,SAASA,SAASC,SAAgB;AACvC,SAAOA,UAAU,YAAY;AAC/B;",
|
|
5
|
-
"names": ["getState", "checked"]
|
|
6
|
-
}
|
|
1
|
+
{"version":3,"names":["getState","checked"],"sources":["../../src/utils.tsx"],"sourcesContent":[null],"mappings":"AAAO,SAASA,SAASC,OAAA,EAAkB;EACzC,OAAOA,OAAA,GAAU,YAAY;AAC/B","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/radio-headless",
|
|
3
|
-
"version": "1.111.
|
|
3
|
+
"version": "1.111.9",
|
|
4
4
|
"removeSideEffects": "true",
|
|
5
5
|
"sideEffects": [
|
|
6
6
|
"*.css"
|
|
@@ -24,19 +24,19 @@
|
|
|
24
24
|
"clean:build": "tamagui-build clean:build"
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@tamagui/compose-refs": "1.111.
|
|
28
|
-
"@tamagui/constants": "1.111.
|
|
29
|
-
"@tamagui/create-context": "1.111.
|
|
30
|
-
"@tamagui/focusable": "1.111.
|
|
31
|
-
"@tamagui/helpers": "1.111.
|
|
32
|
-
"@tamagui/label": "1.111.
|
|
33
|
-
"@tamagui/use-controllable-state": "1.111.
|
|
34
|
-
"@tamagui/use-previous": "1.111.
|
|
27
|
+
"@tamagui/compose-refs": "1.111.9",
|
|
28
|
+
"@tamagui/constants": "1.111.9",
|
|
29
|
+
"@tamagui/create-context": "1.111.9",
|
|
30
|
+
"@tamagui/focusable": "1.111.9",
|
|
31
|
+
"@tamagui/helpers": "1.111.9",
|
|
32
|
+
"@tamagui/label": "1.111.9",
|
|
33
|
+
"@tamagui/use-controllable-state": "1.111.9",
|
|
34
|
+
"@tamagui/use-previous": "1.111.9"
|
|
35
35
|
},
|
|
36
36
|
"exports": {
|
|
37
37
|
"./package.json": "./package.json",
|
|
38
38
|
".": {
|
|
39
|
-
"react-native-import": "./dist/esm/index.native.
|
|
39
|
+
"react-native-import": "./dist/esm/index.native.js",
|
|
40
40
|
"react-native": "./dist/cjs/index.native.js",
|
|
41
41
|
"types": "./types/index.d.ts",
|
|
42
42
|
"import": "./dist/esm/index.mjs",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
}
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
|
-
"@tamagui/build": "1.111.
|
|
47
|
+
"@tamagui/build": "1.111.9",
|
|
48
48
|
"react": "^18.2.0 || ^19.0.0"
|
|
49
49
|
},
|
|
50
50
|
"publishConfig": {
|
|
@@ -1,49 +0,0 @@
|
|
|
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.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
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":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc;AACd,cAAc","ignoreList":[]}
|
|
@@ -1,178 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { useComposedRefs } from "@tamagui/compose-refs";
|
|
3
|
-
import { isWeb } from "@tamagui/constants";
|
|
4
|
-
import { registerFocusable } from "@tamagui/focusable";
|
|
5
|
-
import { composeEventHandlers } from "@tamagui/helpers";
|
|
6
|
-
import { useLabelContext } from "@tamagui/label";
|
|
7
|
-
import { useControllableState } from "@tamagui/use-controllable-state";
|
|
8
|
-
import { useContext, useEffect, useRef, useState } from "react";
|
|
9
|
-
import { BubbleInput } from "./BubbleInput.native.mjs";
|
|
10
|
-
import { getState } from "./utils.native.mjs";
|
|
11
|
-
function useRadioGroup(params) {
|
|
12
|
-
var {
|
|
13
|
-
value: valueProp,
|
|
14
|
-
onValueChange,
|
|
15
|
-
defaultValue,
|
|
16
|
-
required,
|
|
17
|
-
disabled,
|
|
18
|
-
name,
|
|
19
|
-
native,
|
|
20
|
-
accentColor,
|
|
21
|
-
orientation,
|
|
22
|
-
ref
|
|
23
|
-
} = params,
|
|
24
|
-
[value, setValue] = useControllableState({
|
|
25
|
-
prop: valueProp,
|
|
26
|
-
defaultProp: defaultValue,
|
|
27
|
-
onChange: onValueChange
|
|
28
|
-
});
|
|
29
|
-
return {
|
|
30
|
-
providerValue: {
|
|
31
|
-
value,
|
|
32
|
-
onChange: setValue,
|
|
33
|
-
required,
|
|
34
|
-
disabled,
|
|
35
|
-
name,
|
|
36
|
-
native,
|
|
37
|
-
accentColor
|
|
38
|
-
},
|
|
39
|
-
frameAttrs: {
|
|
40
|
-
role: "radiogroup",
|
|
41
|
-
"aria-orientation": orientation,
|
|
42
|
-
"data-disabled": disabled ? "" : void 0
|
|
43
|
-
},
|
|
44
|
-
rovingFocusGroupAttrs: {
|
|
45
|
-
orientation,
|
|
46
|
-
loop: !0
|
|
47
|
-
}
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
var ARROW_KEYS = ["ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight"],
|
|
51
|
-
useRadioGroupItem = function (params) {
|
|
52
|
-
var {
|
|
53
|
-
radioGroupContext,
|
|
54
|
-
value,
|
|
55
|
-
labelledBy: ariaLabelledby,
|
|
56
|
-
disabled: itemDisabled,
|
|
57
|
-
ref: refProp,
|
|
58
|
-
id,
|
|
59
|
-
onPress,
|
|
60
|
-
onKeyDown,
|
|
61
|
-
onFocus
|
|
62
|
-
} = params,
|
|
63
|
-
{
|
|
64
|
-
value: groupValue,
|
|
65
|
-
disabled,
|
|
66
|
-
required,
|
|
67
|
-
onChange,
|
|
68
|
-
name,
|
|
69
|
-
native,
|
|
70
|
-
accentColor
|
|
71
|
-
} = useContext(radioGroupContext),
|
|
72
|
-
[button, setButton] = useState(null),
|
|
73
|
-
hasConsumerStoppedPropagationRef = useRef(!1),
|
|
74
|
-
ref = useRef(null),
|
|
75
|
-
composedRefs = useComposedRefs(refProp, function (node) {
|
|
76
|
-
return setButton(node);
|
|
77
|
-
}, ref),
|
|
78
|
-
isArrowKeyPressedRef = useRef(!1),
|
|
79
|
-
isFormControl = isWeb ? button ? !!button.closest("form") : !0 : !1,
|
|
80
|
-
checked = groupValue === value,
|
|
81
|
-
labelId = useLabelContext(button),
|
|
82
|
-
labelledBy = ariaLabelledby || labelId;
|
|
83
|
-
useEffect(function () {
|
|
84
|
-
if (isWeb) {
|
|
85
|
-
var handleKeyDown = function (event) {
|
|
86
|
-
ARROW_KEYS.includes(event.key) && (isArrowKeyPressedRef.current = !0);
|
|
87
|
-
},
|
|
88
|
-
handleKeyUp = function () {
|
|
89
|
-
isArrowKeyPressedRef.current = !1;
|
|
90
|
-
};
|
|
91
|
-
return document.addEventListener("keydown", handleKeyDown), document.addEventListener("keyup", handleKeyUp), function () {
|
|
92
|
-
document.removeEventListener("keydown", handleKeyDown), document.removeEventListener("keyup", handleKeyUp);
|
|
93
|
-
};
|
|
94
|
-
}
|
|
95
|
-
}, []), useEffect(function () {
|
|
96
|
-
if (id && !disabled) return registerFocusable(id, {
|
|
97
|
-
focusAndSelect: function () {
|
|
98
|
-
onChange?.(value);
|
|
99
|
-
},
|
|
100
|
-
focus: function () {}
|
|
101
|
-
});
|
|
102
|
-
}, [id, value, disabled]);
|
|
103
|
-
var isDisabled = disabled || itemDisabled;
|
|
104
|
-
return {
|
|
105
|
-
providerValue: {
|
|
106
|
-
checked
|
|
107
|
-
},
|
|
108
|
-
checked,
|
|
109
|
-
isFormControl,
|
|
110
|
-
bubbleInput: /* @__PURE__ */_jsx(BubbleInput, {
|
|
111
|
-
isHidden: !native,
|
|
112
|
-
control: button,
|
|
113
|
-
bubbles: !hasConsumerStoppedPropagationRef.current,
|
|
114
|
-
name,
|
|
115
|
-
value,
|
|
116
|
-
checked,
|
|
117
|
-
required,
|
|
118
|
-
disabled: isDisabled,
|
|
119
|
-
...(isWeb && native && {
|
|
120
|
-
accentColor,
|
|
121
|
-
id
|
|
122
|
-
})
|
|
123
|
-
}),
|
|
124
|
-
native,
|
|
125
|
-
frameAttrs: {
|
|
126
|
-
"data-state": getState(checked),
|
|
127
|
-
"data-disabled": isDisabled ? "" : void 0,
|
|
128
|
-
role: "radio",
|
|
129
|
-
"aria-labelledby": labelledBy,
|
|
130
|
-
"aria-checked": checked,
|
|
131
|
-
"aria-required": required,
|
|
132
|
-
disabled: isDisabled,
|
|
133
|
-
ref: composedRefs,
|
|
134
|
-
...(isWeb && {
|
|
135
|
-
type: "button",
|
|
136
|
-
value
|
|
137
|
-
}),
|
|
138
|
-
id,
|
|
139
|
-
onPress: composeEventHandlers(onPress, function (event) {
|
|
140
|
-
checked || onChange?.(value), isFormControl && (hasConsumerStoppedPropagationRef.current = event.isPropagationStopped(), hasConsumerStoppedPropagationRef.current || event.stopPropagation());
|
|
141
|
-
}),
|
|
142
|
-
...(isWeb && {
|
|
143
|
-
onKeyDown: composeEventHandlers(onKeyDown, function (event) {
|
|
144
|
-
event.key === "Enter" && event.preventDefault();
|
|
145
|
-
}),
|
|
146
|
-
onFocus: composeEventHandlers(onFocus, function () {
|
|
147
|
-
if (isArrowKeyPressedRef.current) {
|
|
148
|
-
var _ref_current;
|
|
149
|
-
(_ref_current = ref.current) === null || _ref_current === void 0 || _ref_current.click();
|
|
150
|
-
}
|
|
151
|
-
})
|
|
152
|
-
})
|
|
153
|
-
},
|
|
154
|
-
rovingFocusGroupAttrs: {
|
|
155
|
-
asChild: "expect-style",
|
|
156
|
-
focusable: !isDisabled,
|
|
157
|
-
active: checked
|
|
158
|
-
}
|
|
159
|
-
};
|
|
160
|
-
};
|
|
161
|
-
function useRadioGroupItemIndicator(params) {
|
|
162
|
-
var {
|
|
163
|
-
radioGroupItemContext,
|
|
164
|
-
disabled,
|
|
165
|
-
...rest
|
|
166
|
-
} = params,
|
|
167
|
-
{
|
|
168
|
-
checked
|
|
169
|
-
} = useContext(radioGroupItemContext);
|
|
170
|
-
return {
|
|
171
|
-
checked,
|
|
172
|
-
"data-state": getState(checked),
|
|
173
|
-
"data-disabled": disabled ? "" : void 0,
|
|
174
|
-
...rest
|
|
175
|
-
};
|
|
176
|
-
}
|
|
177
|
-
export { useRadioGroup, useRadioGroupItem, useRadioGroupItemIndicator };
|
|
178
|
-
//# sourceMappingURL=useRadioGroup.native.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["jsx","_jsx","useComposedRefs","isWeb","registerFocusable","composeEventHandlers","useLabelContext","useControllableState","useContext","useEffect","useRef","useState","BubbleInput","getState","useRadioGroup","params","value","valueProp","onValueChange","defaultValue","required","disabled","name","native","accentColor","orientation","ref","setValue","prop","defaultProp","onChange","providerValue","frameAttrs","role","rovingFocusGroupAttrs","loop","ARROW_KEYS","useRadioGroupItem","radioGroupContext","labelledBy","ariaLabelledby","itemDisabled","refProp","id","onPress","onKeyDown","onFocus","groupValue","button","setButton","hasConsumerStoppedPropagationRef","composedRefs","node","isArrowKeyPressedRef","isFormControl","closest","checked","labelId","handleKeyDown","event","includes","key","current","handleKeyUp","document","addEventListener","removeEventListener","focusAndSelect","focus","isDisabled","bubbleInput","isHidden","control","bubbles","type","isPropagationStopped","stopPropagation","preventDefault","_ref_current","click","asChild","focusable","active","useRadioGroupItemIndicator","radioGroupItemContext","rest"],"sources":["../../src/useRadioGroup.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["getState","checked"],"sources":["../../src/utils.tsx"],"sourcesContent":[null],"mappings":"AAAO,SAASA,SAASC,OAAA,EAAkB;EACzC,OAAOA,OAAA,GAAU,YAAY;AAC/B","ignoreList":[]}
|