@zag-js/radio-group 1.41.1 → 2.0.0-next.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/dist/radio-group.connect.js +6 -10
- package/dist/radio-group.connect.mjs +6 -10
- package/dist/radio-group.dom.js +11 -13
- package/dist/radio-group.dom.mjs +11 -13
- package/package.json +7 -7
|
@@ -84,9 +84,8 @@ function connect(service, normalize) {
|
|
|
84
84
|
},
|
|
85
85
|
getRootProps() {
|
|
86
86
|
return normalize.element({
|
|
87
|
-
...import_radio_group.parts.root.attrs,
|
|
87
|
+
...import_radio_group.parts.root.attrs(scope.id),
|
|
88
88
|
role: "radiogroup",
|
|
89
|
-
id: dom.getRootId(scope),
|
|
90
89
|
"aria-labelledby": dom.getLabelId(scope),
|
|
91
90
|
"aria-required": prop("required") || void 0,
|
|
92
91
|
"aria-disabled": groupDisabled || void 0,
|
|
@@ -104,7 +103,7 @@ function connect(service, normalize) {
|
|
|
104
103
|
},
|
|
105
104
|
getLabelProps() {
|
|
106
105
|
return normalize.element({
|
|
107
|
-
...import_radio_group.parts.label.attrs,
|
|
106
|
+
...import_radio_group.parts.label.attrs(scope.id),
|
|
108
107
|
dir: prop("dir"),
|
|
109
108
|
"data-orientation": prop("orientation"),
|
|
110
109
|
"data-disabled": (0, import_dom_query.dataAttr)(groupDisabled),
|
|
@@ -118,7 +117,7 @@ function connect(service, normalize) {
|
|
|
118
117
|
getItemProps(props) {
|
|
119
118
|
const itemState = getItemState(props);
|
|
120
119
|
return normalize.label({
|
|
121
|
-
...import_radio_group.parts.item.attrs,
|
|
120
|
+
...import_radio_group.parts.item.attrs(scope.id),
|
|
122
121
|
dir: prop("dir"),
|
|
123
122
|
id: dom.getItemId(scope, props.value),
|
|
124
123
|
htmlFor: dom.getItemHiddenInputId(scope, props.value),
|
|
@@ -153,7 +152,7 @@ function connect(service, normalize) {
|
|
|
153
152
|
},
|
|
154
153
|
getItemTextProps(props) {
|
|
155
154
|
return normalize.element({
|
|
156
|
-
...import_radio_group.parts.itemText.attrs,
|
|
155
|
+
...import_radio_group.parts.itemText.attrs(scope.id),
|
|
157
156
|
dir: prop("dir"),
|
|
158
157
|
id: dom.getItemLabelId(scope, props.value),
|
|
159
158
|
...getItemDataAttrs(props)
|
|
@@ -162,9 +161,8 @@ function connect(service, normalize) {
|
|
|
162
161
|
getItemControlProps(props) {
|
|
163
162
|
const itemState = getItemState(props);
|
|
164
163
|
return normalize.element({
|
|
165
|
-
...import_radio_group.parts.itemControl.attrs,
|
|
164
|
+
...import_radio_group.parts.itemControl.attrs(scope.id),
|
|
166
165
|
dir: prop("dir"),
|
|
167
|
-
id: dom.getItemControlId(scope, props.value),
|
|
168
166
|
"data-active": (0, import_dom_query.dataAttr)(itemState.active),
|
|
169
167
|
"aria-hidden": true,
|
|
170
168
|
...getItemDataAttrs(props)
|
|
@@ -173,7 +171,6 @@ function connect(service, normalize) {
|
|
|
173
171
|
getItemHiddenInputProps(props) {
|
|
174
172
|
const itemState = getItemState(props);
|
|
175
173
|
return normalize.input({
|
|
176
|
-
"data-ownedby": dom.getRootId(scope),
|
|
177
174
|
id: dom.getItemHiddenInputId(scope, props.value),
|
|
178
175
|
type: "radio",
|
|
179
176
|
name: prop("name") || prop("id"),
|
|
@@ -219,8 +216,7 @@ function connect(service, normalize) {
|
|
|
219
216
|
const rect = context.get("indicatorRect");
|
|
220
217
|
const animateIndicator = context.get("animateIndicator");
|
|
221
218
|
return normalize.element({
|
|
222
|
-
|
|
223
|
-
...import_radio_group.parts.indicator.attrs,
|
|
219
|
+
...import_radio_group.parts.indicator.attrs(scope.id),
|
|
224
220
|
dir: prop("dir"),
|
|
225
221
|
hidden: context.get("value") == null || isRectEmpty(rect),
|
|
226
222
|
"data-disabled": (0, import_dom_query.dataAttr)(groupDisabled),
|
|
@@ -50,9 +50,8 @@ function connect(service, normalize) {
|
|
|
50
50
|
},
|
|
51
51
|
getRootProps() {
|
|
52
52
|
return normalize.element({
|
|
53
|
-
...parts.root.attrs,
|
|
53
|
+
...parts.root.attrs(scope.id),
|
|
54
54
|
role: "radiogroup",
|
|
55
|
-
id: dom.getRootId(scope),
|
|
56
55
|
"aria-labelledby": dom.getLabelId(scope),
|
|
57
56
|
"aria-required": prop("required") || void 0,
|
|
58
57
|
"aria-disabled": groupDisabled || void 0,
|
|
@@ -70,7 +69,7 @@ function connect(service, normalize) {
|
|
|
70
69
|
},
|
|
71
70
|
getLabelProps() {
|
|
72
71
|
return normalize.element({
|
|
73
|
-
...parts.label.attrs,
|
|
72
|
+
...parts.label.attrs(scope.id),
|
|
74
73
|
dir: prop("dir"),
|
|
75
74
|
"data-orientation": prop("orientation"),
|
|
76
75
|
"data-disabled": dataAttr(groupDisabled),
|
|
@@ -84,7 +83,7 @@ function connect(service, normalize) {
|
|
|
84
83
|
getItemProps(props) {
|
|
85
84
|
const itemState = getItemState(props);
|
|
86
85
|
return normalize.label({
|
|
87
|
-
...parts.item.attrs,
|
|
86
|
+
...parts.item.attrs(scope.id),
|
|
88
87
|
dir: prop("dir"),
|
|
89
88
|
id: dom.getItemId(scope, props.value),
|
|
90
89
|
htmlFor: dom.getItemHiddenInputId(scope, props.value),
|
|
@@ -119,7 +118,7 @@ function connect(service, normalize) {
|
|
|
119
118
|
},
|
|
120
119
|
getItemTextProps(props) {
|
|
121
120
|
return normalize.element({
|
|
122
|
-
...parts.itemText.attrs,
|
|
121
|
+
...parts.itemText.attrs(scope.id),
|
|
123
122
|
dir: prop("dir"),
|
|
124
123
|
id: dom.getItemLabelId(scope, props.value),
|
|
125
124
|
...getItemDataAttrs(props)
|
|
@@ -128,9 +127,8 @@ function connect(service, normalize) {
|
|
|
128
127
|
getItemControlProps(props) {
|
|
129
128
|
const itemState = getItemState(props);
|
|
130
129
|
return normalize.element({
|
|
131
|
-
...parts.itemControl.attrs,
|
|
130
|
+
...parts.itemControl.attrs(scope.id),
|
|
132
131
|
dir: prop("dir"),
|
|
133
|
-
id: dom.getItemControlId(scope, props.value),
|
|
134
132
|
"data-active": dataAttr(itemState.active),
|
|
135
133
|
"aria-hidden": true,
|
|
136
134
|
...getItemDataAttrs(props)
|
|
@@ -139,7 +137,6 @@ function connect(service, normalize) {
|
|
|
139
137
|
getItemHiddenInputProps(props) {
|
|
140
138
|
const itemState = getItemState(props);
|
|
141
139
|
return normalize.input({
|
|
142
|
-
"data-ownedby": dom.getRootId(scope),
|
|
143
140
|
id: dom.getItemHiddenInputId(scope, props.value),
|
|
144
141
|
type: "radio",
|
|
145
142
|
name: prop("name") || prop("id"),
|
|
@@ -185,8 +182,7 @@ function connect(service, normalize) {
|
|
|
185
182
|
const rect = context.get("indicatorRect");
|
|
186
183
|
const animateIndicator = context.get("animateIndicator");
|
|
187
184
|
return normalize.element({
|
|
188
|
-
|
|
189
|
-
...parts.indicator.attrs,
|
|
185
|
+
...parts.indicator.attrs(scope.id),
|
|
190
186
|
dir: prop("dir"),
|
|
191
187
|
hidden: context.get("value") == null || isRectEmpty(rect),
|
|
192
188
|
"data-disabled": dataAttr(groupDisabled),
|
package/dist/radio-group.dom.js
CHANGED
|
@@ -38,23 +38,21 @@ __export(radio_group_dom_exports, {
|
|
|
38
38
|
getRootId: () => getRootId
|
|
39
39
|
});
|
|
40
40
|
module.exports = __toCommonJS(radio_group_dom_exports);
|
|
41
|
-
var
|
|
42
|
-
var getRootId = (ctx) => ctx.ids?.root ??
|
|
43
|
-
var getLabelId = (ctx) => ctx.ids?.label ??
|
|
44
|
-
var getItemId = (ctx, value) => ctx.ids?.item?.(value) ??
|
|
45
|
-
var getItemHiddenInputId = (ctx, value) => ctx.ids?.itemHiddenInput?.(value) ??
|
|
46
|
-
var getItemControlId = (ctx, value) => ctx.ids?.itemControl?.(value) ??
|
|
47
|
-
var getItemLabelId = (ctx, value) => ctx.ids?.itemLabel?.(value) ??
|
|
48
|
-
var getIndicatorId = (ctx) => ctx.ids?.indicator ??
|
|
49
|
-
var getRootEl = (ctx) => ctx.
|
|
41
|
+
var import_radio_group = require("./radio-group.anatomy.js");
|
|
42
|
+
var getRootId = (ctx) => ctx.ids?.root ?? `${ctx.id}`;
|
|
43
|
+
var getLabelId = (ctx) => ctx.ids?.label ?? `${ctx.id}:label`;
|
|
44
|
+
var getItemId = (ctx, value) => ctx.ids?.item?.(value) ?? `${ctx.id}:radio:${value}`;
|
|
45
|
+
var getItemHiddenInputId = (ctx, value) => ctx.ids?.itemHiddenInput?.(value) ?? `${ctx.id}:radio-input:${value}`;
|
|
46
|
+
var getItemControlId = (ctx, value) => ctx.ids?.itemControl?.(value) ?? `${ctx.id}:radio-control:${value}`;
|
|
47
|
+
var getItemLabelId = (ctx, value) => ctx.ids?.itemLabel?.(value) ?? `${ctx.id}:radio-label:${value}`;
|
|
48
|
+
var getIndicatorId = (ctx) => ctx.ids?.indicator ?? `${ctx.id}:indicator`;
|
|
49
|
+
var getRootEl = (ctx) => ctx.query(ctx.selector(import_radio_group.parts.root));
|
|
50
50
|
var getItemHiddenInputEl = (ctx, value) => ctx.getById(getItemHiddenInputId(ctx, value));
|
|
51
|
-
var getIndicatorEl = (ctx) => ctx.
|
|
51
|
+
var getIndicatorEl = (ctx) => ctx.query(ctx.selector(import_radio_group.parts.indicator));
|
|
52
52
|
var getFirstEnabledInputEl = (ctx) => getRootEl(ctx)?.querySelector("input:not(:disabled)");
|
|
53
53
|
var getFirstEnabledAndCheckedInputEl = (ctx) => getRootEl(ctx)?.querySelector("input:not(:disabled):checked");
|
|
54
54
|
var getInputEls = (ctx) => {
|
|
55
|
-
|
|
56
|
-
const selector = `input[type=radio][data-ownedby='${ownerId}']:not([disabled])`;
|
|
57
|
-
return (0, import_dom_query.queryAll)(getRootEl(ctx), selector);
|
|
55
|
+
return ctx.queryAll(`${ctx.selector(import_radio_group.parts.item)} input[type=radio]:not([disabled])`);
|
|
58
56
|
};
|
|
59
57
|
var getRadioEl = (ctx, value) => {
|
|
60
58
|
if (!value) return;
|
package/dist/radio-group.dom.mjs
CHANGED
|
@@ -1,21 +1,19 @@
|
|
|
1
1
|
// src/radio-group.dom.ts
|
|
2
|
-
import {
|
|
3
|
-
var getRootId = (ctx) => ctx.ids?.root ??
|
|
4
|
-
var getLabelId = (ctx) => ctx.ids?.label ??
|
|
5
|
-
var getItemId = (ctx, value) => ctx.ids?.item?.(value) ??
|
|
6
|
-
var getItemHiddenInputId = (ctx, value) => ctx.ids?.itemHiddenInput?.(value) ??
|
|
7
|
-
var getItemControlId = (ctx, value) => ctx.ids?.itemControl?.(value) ??
|
|
8
|
-
var getItemLabelId = (ctx, value) => ctx.ids?.itemLabel?.(value) ??
|
|
9
|
-
var getIndicatorId = (ctx) => ctx.ids?.indicator ??
|
|
10
|
-
var getRootEl = (ctx) => ctx.
|
|
2
|
+
import { parts } from "./radio-group.anatomy.mjs";
|
|
3
|
+
var getRootId = (ctx) => ctx.ids?.root ?? `${ctx.id}`;
|
|
4
|
+
var getLabelId = (ctx) => ctx.ids?.label ?? `${ctx.id}:label`;
|
|
5
|
+
var getItemId = (ctx, value) => ctx.ids?.item?.(value) ?? `${ctx.id}:radio:${value}`;
|
|
6
|
+
var getItemHiddenInputId = (ctx, value) => ctx.ids?.itemHiddenInput?.(value) ?? `${ctx.id}:radio-input:${value}`;
|
|
7
|
+
var getItemControlId = (ctx, value) => ctx.ids?.itemControl?.(value) ?? `${ctx.id}:radio-control:${value}`;
|
|
8
|
+
var getItemLabelId = (ctx, value) => ctx.ids?.itemLabel?.(value) ?? `${ctx.id}:radio-label:${value}`;
|
|
9
|
+
var getIndicatorId = (ctx) => ctx.ids?.indicator ?? `${ctx.id}:indicator`;
|
|
10
|
+
var getRootEl = (ctx) => ctx.query(ctx.selector(parts.root));
|
|
11
11
|
var getItemHiddenInputEl = (ctx, value) => ctx.getById(getItemHiddenInputId(ctx, value));
|
|
12
|
-
var getIndicatorEl = (ctx) => ctx.
|
|
12
|
+
var getIndicatorEl = (ctx) => ctx.query(ctx.selector(parts.indicator));
|
|
13
13
|
var getFirstEnabledInputEl = (ctx) => getRootEl(ctx)?.querySelector("input:not(:disabled)");
|
|
14
14
|
var getFirstEnabledAndCheckedInputEl = (ctx) => getRootEl(ctx)?.querySelector("input:not(:disabled):checked");
|
|
15
15
|
var getInputEls = (ctx) => {
|
|
16
|
-
|
|
17
|
-
const selector = `input[type=radio][data-ownedby='${ownerId}']:not([disabled])`;
|
|
18
|
-
return queryAll(getRootEl(ctx), selector);
|
|
16
|
+
return ctx.queryAll(`${ctx.selector(parts.item)} input[type=radio]:not([disabled])`);
|
|
19
17
|
};
|
|
20
18
|
var getRadioEl = (ctx, value) => {
|
|
21
19
|
if (!value) return;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zag-js/radio-group",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0-next.0",
|
|
4
4
|
"description": "Core logic for the radio group widget implemented as a state machine",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"js",
|
|
@@ -27,12 +27,12 @@
|
|
|
27
27
|
"url": "https://github.com/chakra-ui/zag/issues"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@zag-js/anatomy": "
|
|
31
|
-
"@zag-js/
|
|
32
|
-
"@zag-js/
|
|
33
|
-
"@zag-js/
|
|
34
|
-
"@zag-js/
|
|
35
|
-
"@zag-js/types": "
|
|
30
|
+
"@zag-js/anatomy": "2.0.0-next.0",
|
|
31
|
+
"@zag-js/dom-query": "2.0.0-next.0",
|
|
32
|
+
"@zag-js/focus-visible": "2.0.0-next.0",
|
|
33
|
+
"@zag-js/utils": "2.0.0-next.0",
|
|
34
|
+
"@zag-js/core": "2.0.0-next.0",
|
|
35
|
+
"@zag-js/types": "2.0.0-next.0"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"clean-package": "2.2.0"
|