@zag-js/slider 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.
@@ -98,7 +98,7 @@ function connect(service, normalize) {
98
98
  },
99
99
  getLabelProps() {
100
100
  return normalize.label({
101
- ...import_slider.parts.label.attrs,
101
+ ...import_slider.parts.label.attrs(scope.id),
102
102
  dir: prop("dir"),
103
103
  "data-disabled": (0, import_dom_query.dataAttr)(disabled),
104
104
  "data-orientation": prop("orientation"),
@@ -120,33 +120,30 @@ function connect(service, normalize) {
120
120
  },
121
121
  getRootProps() {
122
122
  return normalize.element({
123
- ...import_slider.parts.root.attrs,
123
+ ...import_slider.parts.root.attrs(scope.id),
124
124
  "data-disabled": (0, import_dom_query.dataAttr)(disabled),
125
125
  "data-orientation": prop("orientation"),
126
126
  "data-dragging": (0, import_dom_query.dataAttr)(dragging),
127
127
  "data-invalid": (0, import_dom_query.dataAttr)(invalid),
128
128
  "data-focus": (0, import_dom_query.dataAttr)(focused),
129
- id: dom.getRootId(scope),
130
129
  dir: prop("dir"),
131
130
  style: (0, import_slider2.getRootStyle)(service)
132
131
  });
133
132
  },
134
133
  getValueTextProps() {
135
134
  return normalize.element({
136
- ...import_slider.parts.valueText.attrs,
135
+ ...import_slider.parts.valueText.attrs(scope.id),
137
136
  dir: prop("dir"),
138
137
  "data-disabled": (0, import_dom_query.dataAttr)(disabled),
139
138
  "data-orientation": prop("orientation"),
140
139
  "data-invalid": (0, import_dom_query.dataAttr)(invalid),
141
- "data-focus": (0, import_dom_query.dataAttr)(focused),
142
- id: dom.getValueTextId(scope)
140
+ "data-focus": (0, import_dom_query.dataAttr)(focused)
143
141
  });
144
142
  },
145
143
  getTrackProps() {
146
144
  return normalize.element({
147
- ...import_slider.parts.track.attrs,
145
+ ...import_slider.parts.track.attrs(scope.id),
148
146
  dir: prop("dir"),
149
- id: dom.getTrackId(scope),
150
147
  "data-disabled": (0, import_dom_query.dataAttr)(disabled),
151
148
  "data-invalid": (0, import_dom_query.dataAttr)(invalid),
152
149
  "data-dragging": (0, import_dom_query.dataAttr)(dragging),
@@ -163,11 +160,10 @@ function connect(service, normalize) {
163
160
  const _ariaLabel = Array.isArray(ariaLabel) ? ariaLabel[index] : ariaLabel;
164
161
  const _ariaLabelledBy = Array.isArray(ariaLabelledBy) ? ariaLabelledBy[index] : ariaLabelledBy;
165
162
  return normalize.element({
166
- ...import_slider.parts.thumb.attrs,
163
+ ...import_slider.parts.thumb.attrs(scope.id),
167
164
  dir: prop("dir"),
168
165
  "data-index": index,
169
166
  "data-name": name,
170
- id: dom.getThumbId(scope, index),
171
167
  "data-disabled": (0, import_dom_query.dataAttr)(disabled),
172
168
  "data-orientation": prop("orientation"),
173
169
  "data-focus": (0, import_dom_query.dataAttr)(focused && focusedIndex === index),
@@ -268,8 +264,7 @@ function connect(service, normalize) {
268
264
  },
269
265
  getRangeProps() {
270
266
  return normalize.element({
271
- id: dom.getRangeId(scope),
272
- ...import_slider.parts.range.attrs,
267
+ ...import_slider.parts.range.attrs(scope.id),
273
268
  dir: prop("dir"),
274
269
  "data-dragging": (0, import_dom_query.dataAttr)(dragging),
275
270
  "data-focus": (0, import_dom_query.dataAttr)(focused),
@@ -281,9 +276,8 @@ function connect(service, normalize) {
281
276
  },
282
277
  getControlProps() {
283
278
  return normalize.element({
284
- ...import_slider.parts.control.attrs,
279
+ ...import_slider.parts.control.attrs(scope.id),
285
280
  dir: prop("dir"),
286
- id: dom.getControlId(scope),
287
281
  "data-dragging": (0, import_dom_query.dataAttr)(dragging),
288
282
  "data-disabled": (0, import_dom_query.dataAttr)(disabled),
289
283
  "data-orientation": prop("orientation"),
@@ -303,7 +297,7 @@ function connect(service, normalize) {
303
297
  },
304
298
  getMarkerGroupProps() {
305
299
  return normalize.element({
306
- ...import_slider.parts.markerGroup.attrs,
300
+ ...import_slider.parts.markerGroup.attrs(scope.id),
307
301
  role: "presentation",
308
302
  dir: prop("dir"),
309
303
  "aria-hidden": true,
@@ -322,8 +316,7 @@ function connect(service, normalize) {
322
316
  markerState = "at-value";
323
317
  }
324
318
  return normalize.element({
325
- ...import_slider.parts.marker.attrs,
326
- id: dom.getMarkerId(scope, props.value),
319
+ ...import_slider.parts.marker.attrs(scope.id),
327
320
  role: "presentation",
328
321
  dir: prop("dir"),
329
322
  "data-orientation": prop("orientation"),
@@ -337,7 +330,7 @@ function connect(service, normalize) {
337
330
  const { index = 0 } = props;
338
331
  const isDragging = index === focusedIndex && dragging;
339
332
  return normalize.element({
340
- ...import_slider.parts.draggingIndicator.attrs,
333
+ ...import_slider.parts.draggingIndicator.attrs(scope.id),
341
334
  role: "presentation",
342
335
  dir: prop("dir"),
343
336
  hidden: !isDragging,
@@ -79,7 +79,7 @@ function connect(service, normalize) {
79
79
  },
80
80
  getLabelProps() {
81
81
  return normalize.label({
82
- ...parts.label.attrs,
82
+ ...parts.label.attrs(scope.id),
83
83
  dir: prop("dir"),
84
84
  "data-disabled": dataAttr(disabled),
85
85
  "data-orientation": prop("orientation"),
@@ -101,33 +101,30 @@ function connect(service, normalize) {
101
101
  },
102
102
  getRootProps() {
103
103
  return normalize.element({
104
- ...parts.root.attrs,
104
+ ...parts.root.attrs(scope.id),
105
105
  "data-disabled": dataAttr(disabled),
106
106
  "data-orientation": prop("orientation"),
107
107
  "data-dragging": dataAttr(dragging),
108
108
  "data-invalid": dataAttr(invalid),
109
109
  "data-focus": dataAttr(focused),
110
- id: dom.getRootId(scope),
111
110
  dir: prop("dir"),
112
111
  style: getRootStyle(service)
113
112
  });
114
113
  },
115
114
  getValueTextProps() {
116
115
  return normalize.element({
117
- ...parts.valueText.attrs,
116
+ ...parts.valueText.attrs(scope.id),
118
117
  dir: prop("dir"),
119
118
  "data-disabled": dataAttr(disabled),
120
119
  "data-orientation": prop("orientation"),
121
120
  "data-invalid": dataAttr(invalid),
122
- "data-focus": dataAttr(focused),
123
- id: dom.getValueTextId(scope)
121
+ "data-focus": dataAttr(focused)
124
122
  });
125
123
  },
126
124
  getTrackProps() {
127
125
  return normalize.element({
128
- ...parts.track.attrs,
126
+ ...parts.track.attrs(scope.id),
129
127
  dir: prop("dir"),
130
- id: dom.getTrackId(scope),
131
128
  "data-disabled": dataAttr(disabled),
132
129
  "data-invalid": dataAttr(invalid),
133
130
  "data-dragging": dataAttr(dragging),
@@ -144,11 +141,10 @@ function connect(service, normalize) {
144
141
  const _ariaLabel = Array.isArray(ariaLabel) ? ariaLabel[index] : ariaLabel;
145
142
  const _ariaLabelledBy = Array.isArray(ariaLabelledBy) ? ariaLabelledBy[index] : ariaLabelledBy;
146
143
  return normalize.element({
147
- ...parts.thumb.attrs,
144
+ ...parts.thumb.attrs(scope.id),
148
145
  dir: prop("dir"),
149
146
  "data-index": index,
150
147
  "data-name": name,
151
- id: dom.getThumbId(scope, index),
152
148
  "data-disabled": dataAttr(disabled),
153
149
  "data-orientation": prop("orientation"),
154
150
  "data-focus": dataAttr(focused && focusedIndex === index),
@@ -249,8 +245,7 @@ function connect(service, normalize) {
249
245
  },
250
246
  getRangeProps() {
251
247
  return normalize.element({
252
- id: dom.getRangeId(scope),
253
- ...parts.range.attrs,
248
+ ...parts.range.attrs(scope.id),
254
249
  dir: prop("dir"),
255
250
  "data-dragging": dataAttr(dragging),
256
251
  "data-focus": dataAttr(focused),
@@ -262,9 +257,8 @@ function connect(service, normalize) {
262
257
  },
263
258
  getControlProps() {
264
259
  return normalize.element({
265
- ...parts.control.attrs,
260
+ ...parts.control.attrs(scope.id),
266
261
  dir: prop("dir"),
267
- id: dom.getControlId(scope),
268
262
  "data-dragging": dataAttr(dragging),
269
263
  "data-disabled": dataAttr(disabled),
270
264
  "data-orientation": prop("orientation"),
@@ -284,7 +278,7 @@ function connect(service, normalize) {
284
278
  },
285
279
  getMarkerGroupProps() {
286
280
  return normalize.element({
287
- ...parts.markerGroup.attrs,
281
+ ...parts.markerGroup.attrs(scope.id),
288
282
  role: "presentation",
289
283
  dir: prop("dir"),
290
284
  "aria-hidden": true,
@@ -303,8 +297,7 @@ function connect(service, normalize) {
303
297
  markerState = "at-value";
304
298
  }
305
299
  return normalize.element({
306
- ...parts.marker.attrs,
307
- id: dom.getMarkerId(scope, props.value),
300
+ ...parts.marker.attrs(scope.id),
308
301
  role: "presentation",
309
302
  dir: prop("dir"),
310
303
  "data-orientation": prop("orientation"),
@@ -318,7 +311,7 @@ function connect(service, normalize) {
318
311
  const { index = 0 } = props;
319
312
  const isDragging = index === focusedIndex && dragging;
320
313
  return normalize.element({
321
- ...parts.draggingIndicator.attrs,
314
+ ...parts.draggingIndicator.attrs(scope.id),
322
315
  role: "presentation",
323
316
  dir: prop("dir"),
324
317
  hidden: !isDragging,
@@ -43,22 +43,23 @@ __export(slider_dom_exports, {
43
43
  module.exports = __toCommonJS(slider_dom_exports);
44
44
  var import_dom_query = require("@zag-js/dom-query");
45
45
  var import_utils = require("@zag-js/utils");
46
- var getRootId = (ctx) => ctx.ids?.root ?? `slider:${ctx.id}`;
47
- var getThumbId = (ctx, index) => ctx.ids?.thumb?.(index) ?? `slider:${ctx.id}:thumb:${index}`;
48
- var getHiddenInputId = (ctx, index) => ctx.ids?.hiddenInput?.(index) ?? `slider:${ctx.id}:input:${index}`;
49
- var getControlId = (ctx) => ctx.ids?.control ?? `slider:${ctx.id}:control`;
50
- var getTrackId = (ctx) => ctx.ids?.track ?? `slider:${ctx.id}:track`;
51
- var getRangeId = (ctx) => ctx.ids?.range ?? `slider:${ctx.id}:range`;
52
- var getLabelId = (ctx) => ctx.ids?.label ?? `slider:${ctx.id}:label`;
53
- var getValueTextId = (ctx) => ctx.ids?.valueText ?? `slider:${ctx.id}:value-text`;
54
- var getMarkerId = (ctx, value) => ctx.ids?.marker?.(value) ?? `slider:${ctx.id}:marker:${value}`;
55
- var getRootEl = (ctx) => ctx.getById(getRootId(ctx));
56
- var getThumbEl = (ctx, index) => ctx.getById(getThumbId(ctx, index));
57
- var getThumbEls = (ctx) => (0, import_dom_query.queryAll)(getControlEl(ctx), "[role=slider]");
46
+ var import_slider = require("./slider.anatomy.js");
47
+ var getRootId = (ctx) => ctx.ids?.root ?? `${ctx.id}`;
48
+ var getThumbId = (ctx, index) => ctx.ids?.thumb?.(index) ?? `${ctx.id}:thumb:${index}`;
49
+ var getHiddenInputId = (ctx, index) => ctx.ids?.hiddenInput?.(index) ?? `${ctx.id}:input:${index}`;
50
+ var getControlId = (ctx) => ctx.ids?.control ?? `${ctx.id}:control`;
51
+ var getTrackId = (ctx) => ctx.ids?.track ?? `${ctx.id}:track`;
52
+ var getRangeId = (ctx) => ctx.ids?.range ?? `${ctx.id}:range`;
53
+ var getLabelId = (ctx) => ctx.ids?.label ?? `${ctx.id}:label`;
54
+ var getValueTextId = (ctx) => ctx.ids?.valueText ?? `${ctx.id}:value-text`;
55
+ var getMarkerId = (ctx, value) => ctx.ids?.marker?.(value) ?? `${ctx.id}:marker:${value}`;
56
+ var getRootEl = (ctx) => ctx.query(ctx.selector(import_slider.parts.root));
57
+ var getThumbEl = (ctx, index) => ctx.query(`${ctx.selector(import_slider.parts.thumb)}[data-index="${index}"]`);
58
+ var getThumbEls = (ctx) => ctx.queryAll(ctx.selector(import_slider.parts.thumb));
58
59
  var getFirstThumbEl = (ctx) => getThumbEls(ctx)[0];
59
60
  var getHiddenInputEl = (ctx, index) => ctx.getById(getHiddenInputId(ctx, index));
60
- var getControlEl = (ctx) => ctx.getById(getControlId(ctx));
61
- var getRangeEl = (ctx) => ctx.getById(getRangeId(ctx));
61
+ var getControlEl = (ctx) => ctx.query(ctx.selector(import_slider.parts.control));
62
+ var getRangeEl = (ctx) => ctx.query(ctx.selector(import_slider.parts.range));
62
63
  var getThumbInset = (thumbSize, thumbAlignment, orientation) => {
63
64
  const isContain = thumbAlignment === "contain";
64
65
  const isVertical = orientation === "vertical";
@@ -1,22 +1,23 @@
1
1
  // src/slider.dom.ts
2
- import { dispatchInputValueEvent, queryAll } from "@zag-js/dom-query";
2
+ import { dispatchInputValueEvent } from "@zag-js/dom-query";
3
3
  import { clampPercent, getPercentValue } from "@zag-js/utils";
4
- var getRootId = (ctx) => ctx.ids?.root ?? `slider:${ctx.id}`;
5
- var getThumbId = (ctx, index) => ctx.ids?.thumb?.(index) ?? `slider:${ctx.id}:thumb:${index}`;
6
- var getHiddenInputId = (ctx, index) => ctx.ids?.hiddenInput?.(index) ?? `slider:${ctx.id}:input:${index}`;
7
- var getControlId = (ctx) => ctx.ids?.control ?? `slider:${ctx.id}:control`;
8
- var getTrackId = (ctx) => ctx.ids?.track ?? `slider:${ctx.id}:track`;
9
- var getRangeId = (ctx) => ctx.ids?.range ?? `slider:${ctx.id}:range`;
10
- var getLabelId = (ctx) => ctx.ids?.label ?? `slider:${ctx.id}:label`;
11
- var getValueTextId = (ctx) => ctx.ids?.valueText ?? `slider:${ctx.id}:value-text`;
12
- var getMarkerId = (ctx, value) => ctx.ids?.marker?.(value) ?? `slider:${ctx.id}:marker:${value}`;
13
- var getRootEl = (ctx) => ctx.getById(getRootId(ctx));
14
- var getThumbEl = (ctx, index) => ctx.getById(getThumbId(ctx, index));
15
- var getThumbEls = (ctx) => queryAll(getControlEl(ctx), "[role=slider]");
4
+ import { parts } from "./slider.anatomy.mjs";
5
+ var getRootId = (ctx) => ctx.ids?.root ?? `${ctx.id}`;
6
+ var getThumbId = (ctx, index) => ctx.ids?.thumb?.(index) ?? `${ctx.id}:thumb:${index}`;
7
+ var getHiddenInputId = (ctx, index) => ctx.ids?.hiddenInput?.(index) ?? `${ctx.id}:input:${index}`;
8
+ var getControlId = (ctx) => ctx.ids?.control ?? `${ctx.id}:control`;
9
+ var getTrackId = (ctx) => ctx.ids?.track ?? `${ctx.id}:track`;
10
+ var getRangeId = (ctx) => ctx.ids?.range ?? `${ctx.id}:range`;
11
+ var getLabelId = (ctx) => ctx.ids?.label ?? `${ctx.id}:label`;
12
+ var getValueTextId = (ctx) => ctx.ids?.valueText ?? `${ctx.id}:value-text`;
13
+ var getMarkerId = (ctx, value) => ctx.ids?.marker?.(value) ?? `${ctx.id}:marker:${value}`;
14
+ var getRootEl = (ctx) => ctx.query(ctx.selector(parts.root));
15
+ var getThumbEl = (ctx, index) => ctx.query(`${ctx.selector(parts.thumb)}[data-index="${index}"]`);
16
+ var getThumbEls = (ctx) => ctx.queryAll(ctx.selector(parts.thumb));
16
17
  var getFirstThumbEl = (ctx) => getThumbEls(ctx)[0];
17
18
  var getHiddenInputEl = (ctx, index) => ctx.getById(getHiddenInputId(ctx, index));
18
- var getControlEl = (ctx) => ctx.getById(getControlId(ctx));
19
- var getRangeEl = (ctx) => ctx.getById(getRangeId(ctx));
19
+ var getControlEl = (ctx) => ctx.query(ctx.selector(parts.control));
20
+ var getRangeEl = (ctx) => ctx.query(ctx.selector(parts.range));
20
21
  var getThumbInset = (thumbSize, thumbAlignment, orientation) => {
21
22
  const isContain = thumbAlignment === "contain";
22
23
  const isVertical = orientation === "vertical";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zag-js/slider",
3
- "version": "1.41.1",
3
+ "version": "2.0.0-next.0",
4
4
  "description": "Core logic for the slider widget implemented as a state machine",
5
5
  "keywords": [
6
6
  "js",
@@ -27,11 +27,11 @@
27
27
  "url": "https://github.com/chakra-ui/zag/issues"
28
28
  },
29
29
  "dependencies": {
30
- "@zag-js/anatomy": "1.41.1",
31
- "@zag-js/core": "1.41.1",
32
- "@zag-js/dom-query": "1.41.1",
33
- "@zag-js/utils": "1.41.1",
34
- "@zag-js/types": "1.41.1"
30
+ "@zag-js/anatomy": "2.0.0-next.0",
31
+ "@zag-js/core": "2.0.0-next.0",
32
+ "@zag-js/dom-query": "2.0.0-next.0",
33
+ "@zag-js/utils": "2.0.0-next.0",
34
+ "@zag-js/types": "2.0.0-next.0"
35
35
  },
36
36
  "devDependencies": {
37
37
  "clean-package": "2.2.0"