ropav 0.1.1 → 0.1.2

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/slider.js CHANGED
@@ -6,7 +6,7 @@ import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-hel
6
6
  import { i as useFormControl, o as useControllableValue } from "./useFormControl.js";
7
7
  import { t as useControlState } from "./useControlState.js";
8
8
  import { i as useDelayedOpen, n as resolveTooltipColorStyleWithContrast, r as resolveTooltipOffsetStyle, t as tooltip_default } from "./tooltip.js";
9
- import { applyVShow, child, computed, createComponent, createFor, createIf, createInvoker, createSlot, createTemplateRefSetter, defineVaporComponent, delegateEvents, next, nextTick, on, onBeforeUnmount, onMounted, ref, renderEffect, setClass, setDynamicProps, setInsertionState, setProp, setStyle, setText, template, toDisplayString, toRef, txt, unref, useId, useSlots, watch } from "vue";
9
+ import { applyVShow, child, computed, createComponent, createFor, createIf, createInvoker, createSlot, createTemplateRefSetter, defineVaporComponent, delegateEvents, extend, next, nextTick, on, onBeforeUnmount, onMounted, ref, renderEffect, setClass, setDynamicProps, setInsertionState, setProp, setStyle, setText, template, toDisplayString, toRef, txt, unref, useId, useSlots, watch } from "vue";
10
10
  //#region src/components/slider/sliderCore.ts
11
11
  function normalizeSliderBounds(min, max) {
12
12
  const safeMin = Number.isFinite(min) ? min : 0;
@@ -33,7 +33,7 @@ function normalizeSliderValue(value, min, max, step) {
33
33
  return Math.min(bounds.max, Math.max(bounds.min, Number(snapped.toFixed(10))));
34
34
  }
35
35
  function getSliderValuePercent(value, min, max) {
36
- if (max <= min) return 0;
36
+ if (!Number.isFinite(value) || max <= min) return 0;
37
37
  const percent = (value - min) / (max - min) * 100;
38
38
  return Math.min(100, Math.max(0, percent));
39
39
  }
@@ -50,10 +50,18 @@ function getSliderBorderValue(value, borderColorProperty) {
50
50
  if (typeof value === "number") return Number.isFinite(value) ? `${value}px solid var(${borderColorProperty})` : void 0;
51
51
  return value;
52
52
  }
53
- function applySliderThumbStyle(style, thumbStyle, properties) {
54
- setSliderStyleValue(style, properties.size, getSliderLengthValue(thumbStyle?.size));
55
- setSliderStyleValue(style, properties.border, getSliderBorderValue(thumbStyle?.border, properties.borderColor));
56
- setSliderStyleValue(style, properties.padding, getSliderLengthValue(thumbStyle?.padding));
53
+ function applySliderThumbStyle(style, thumb, properties) {
54
+ setSliderStyleValue(style, properties.size, getSliderLengthValue(thumb?.size));
55
+ setSliderStyleValue(style, properties.border, getSliderBorderValue(thumb?.border, properties.borderColor));
56
+ setSliderStyleValue(style, properties.padding, getSliderLengthValue(thumb?.padding));
57
+ }
58
+ function getSliderThumbOptions(thumb) {
59
+ return typeof thumb === "object" ? thumb : {};
60
+ }
61
+ function getSliderThumbMode(thumb) {
62
+ if (thumb === false) return false;
63
+ if (typeof thumb === "object") return thumb.visibility ?? "always";
64
+ return thumb;
57
65
  }
58
66
  function getSliderMarkStyle(percent, color, properties) {
59
67
  const style = { [properties.position]: `${percent}%` };
@@ -91,21 +99,29 @@ function getSliderTooltipOptions(tooltip) {
91
99
  }
92
100
  function getSliderTooltipMode(tooltip) {
93
101
  if (tooltip === false) return false;
94
- if (typeof tooltip === "object") return tooltip.mode ?? "hover";
102
+ if (typeof tooltip === "object") {
103
+ if ("anchor" in tooltip && tooltip.anchor === "pointer") return "hover";
104
+ return tooltip.mode ?? "hover";
105
+ }
95
106
  return tooltip;
96
107
  }
108
+ function getSliderTooltipAnchor(tooltip) {
109
+ return typeof tooltip === "object" && tooltip.anchor === "pointer" ? "pointer" : "thumb";
110
+ }
97
111
  //#endregion
98
112
  //#region src/components/slider/useSlider.ts
99
113
  function getSliderColorValue(color) {
100
114
  return getComponentColorValue(color);
101
115
  }
102
- function getSliderTrackStyle(props, valuePercent) {
116
+ function getSliderTrackStyle(props, valuePercent, tooltipPercent) {
103
117
  const style = {
104
118
  "--_rp-slider-percent": `${valuePercent}%`,
105
- "--_rp-slider-ratio": `${valuePercent / 100}`
119
+ "--_rp-slider-ratio": `${valuePercent / 100}`,
120
+ "--_rp-slider-tooltip-percent": `${tooltipPercent}%`,
121
+ "--_rp-slider-tooltip-ratio": `${tooltipPercent / 100}`
106
122
  };
107
123
  setSliderStyleValue(style, "--_rp-slider-color", getSliderColorValue(props.color));
108
- applySliderThumbStyle(style, props.thumbStyle, {
124
+ applySliderThumbStyle(style, getSliderThumbOptions(props.thumb), {
109
125
  size: "--rp-slider-thumb-size",
110
126
  border: "--_rp-slider-thumb-border-style",
111
127
  padding: "--rp-slider-thumb-padding",
@@ -131,6 +147,7 @@ function useSlider(props, emitUpdate, getValue = () => props.modelValue ?? props
131
147
  ]
132
148
  }));
133
149
  const tooltipOptions = computed(() => getSliderTooltipOptions(props.tooltip));
150
+ const tooltipAnchor = computed(() => getSliderTooltipAnchor(props.tooltip));
134
151
  const tooltipMode = computed(() => getSliderTooltipMode(props.tooltip));
135
152
  const tooltipOpenDelay = computed(() => tooltipOptions.value.openDelay ?? 0);
136
153
  const { isOpen: delayedTooltipOpen, open: openDelayedTooltip, closeImmediate: closeDelayedTooltip } = useDelayedOpen({
@@ -140,10 +157,28 @@ function useSlider(props, emitUpdate, getValue = () => props.modelValue ?? props
140
157
  const trackHovered = ref(false);
141
158
  const focusWithin = ref(false);
142
159
  const dragging = ref(false);
160
+ const previewAvailable = ref(false);
161
+ const previewValue = ref(normalizedValue.value);
143
162
  let dismissed = false;
144
163
  let dragView = null;
145
164
  let dragPointerId;
165
+ let dragTrack = null;
166
+ let previewFrameView = null;
167
+ let previewFrameId;
168
+ let pendingPreview;
146
169
  const hasMarkLabels = computed(() => markItems.value.some((mark) => mark.hasLabel));
170
+ const thumbMode = computed(() => getSliderThumbMode(props.thumb));
171
+ const trackSlotProps = computed(() => ({
172
+ value: normalizedValue.value,
173
+ formattedValue: formattedValue.value,
174
+ percent: valuePercent.value,
175
+ min: bounds.value.min,
176
+ max: bounds.value.max,
177
+ orientation: props.orientation,
178
+ getPercent(value) {
179
+ return getSliderValuePercent(value, bounds.value.min, bounds.value.max);
180
+ }
181
+ }));
147
182
  const tooltipVisible = computed(() => tooltipMode.value !== false);
148
183
  const tooltipAlwaysVisible = computed(() => tooltipMode.value === "always");
149
184
  const tooltipOpen = computed(() => tooltipAlwaysVisible.value || tooltipMode.value === "hover" && delayedTooltipOpen.value && !control.disabled);
@@ -152,23 +187,29 @@ function useSlider(props, emitUpdate, getValue = () => props.modelValue ?? props
152
187
  const tooltipColor = computed(() => tooltipOptions.value.color);
153
188
  const tooltipOffset = computed(() => tooltipOptions.value.offset);
154
189
  const tooltipArrow = computed(() => tooltipOptions.value.arrow ?? false);
155
- const tooltipContent = computed(() => String(formattedValue.value));
190
+ const tooltipValue = computed(() => tooltipAnchor.value === "pointer" && previewAvailable.value ? previewValue.value : normalizedValue.value);
191
+ const tooltipPercent = computed(() => getSliderValuePercent(tooltipValue.value, bounds.value.min, bounds.value.max));
192
+ const tooltipFormattedValue = computed(() => getFormattedSliderValue(tooltipValue.value, props.formatValue));
193
+ const tooltipContent = computed(() => String(tooltipFormattedValue.value));
156
194
  const rootClass = computed(() => bem("rp-slider", {
157
195
  [`size-${props.size}`]: Boolean(props.size),
158
196
  vertical: props.orientation === "vertical",
159
197
  marked: markItems.value.length > 0,
160
198
  "marks-with-labels": hasMarkLabels.value,
161
199
  "tooltip-always-visible": tooltipAlwaysVisible.value,
200
+ "thumb-interaction": thumbMode.value === "interaction",
201
+ "thumb-hidden": thumbMode.value === false,
162
202
  disabled: control.disabled,
163
203
  invalid: control.invalid
164
204
  }));
165
- const trackStyle = computed(() => getSliderTrackStyle(props, valuePercent.value));
205
+ const trackStyle = computed(() => getSliderTrackStyle(props, valuePercent.value, tooltipPercent.value));
166
206
  function onInput(e) {
167
207
  if (control.disabled) return;
168
208
  const input = e.target;
169
209
  emitUpdate(normalizeSliderValue(input.valueAsNumber, bounds.value.min, bounds.value.max, nativeStep.value));
170
210
  }
171
211
  function hasTooltipInteraction() {
212
+ if (tooltipAnchor.value === "pointer") return previewAvailable.value && (trackHovered.value || dragging.value);
172
213
  return trackHovered.value || focusWithin.value || dragging.value;
173
214
  }
174
215
  function syncTooltip() {
@@ -178,13 +219,21 @@ function useSlider(props, emitUpdate, getValue = () => props.modelValue ?? props
178
219
  }
179
220
  closeDelayedTooltip();
180
221
  }
181
- function onTooltipMouseEnter() {
222
+ function onTooltipTrackEnter(event) {
223
+ if (control.disabled) return;
224
+ if (tooltipAnchor.value === "pointer") {
225
+ cancelScheduledPreview();
226
+ previewAvailable.value = false;
227
+ const track = event.currentTarget;
228
+ if (track) updatePreviewFromPointer(event, track);
229
+ }
182
230
  trackHovered.value = true;
183
231
  dismissed = false;
184
232
  syncTooltip();
185
233
  }
186
- function onTooltipMouseLeave() {
234
+ function onTooltipTrackLeave() {
187
235
  trackHovered.value = false;
236
+ if (!dragging.value && tooltipAnchor.value === "pointer") cancelScheduledPreview();
188
237
  syncTooltip();
189
238
  }
190
239
  function onTooltipFocusIn() {
@@ -197,13 +246,73 @@ function useSlider(props, emitUpdate, getValue = () => props.modelValue ?? props
197
246
  syncTooltip();
198
247
  }
199
248
  function removeDragListeners() {
249
+ dragView?.removeEventListener("pointermove", onTooltipWindowPointerMove);
200
250
  dragView?.removeEventListener("pointerup", onTooltipPointerEnd);
201
251
  dragView?.removeEventListener("pointercancel", onTooltipPointerEnd);
202
252
  dragView = null;
203
253
  dragPointerId = void 0;
254
+ dragTrack = null;
255
+ }
256
+ function cancelScheduledPreview() {
257
+ if (previewFrameId !== void 0) previewFrameView?.cancelAnimationFrame(previewFrameId);
258
+ previewFrameView = null;
259
+ previewFrameId = void 0;
260
+ pendingPreview = void 0;
261
+ }
262
+ function updatePreviewFromPointer(pointer, track) {
263
+ if (tooltipAnchor.value !== "pointer" || control.disabled) return false;
264
+ const vertical = props.orientation === "vertical";
265
+ const travelRect = track.querySelector(".rp-slider__travel")?.getBoundingClientRect();
266
+ const trackRect = track.getBoundingClientRect();
267
+ const rect = travelRect && (vertical ? travelRect.height > 0 : travelRect.width > 0) ? travelRect : trackRect;
268
+ const length = vertical ? rect.height : rect.width;
269
+ if (length <= 0) return false;
270
+ const offset = vertical ? rect.bottom - pointer.clientY : pointer.clientX - rect.left;
271
+ const ratio = Math.min(1, Math.max(0, offset / length));
272
+ const rawValue = bounds.value.min + ratio * (bounds.value.max - bounds.value.min);
273
+ previewValue.value = normalizeSliderValue(rawValue, bounds.value.min, bounds.value.max, nativeStep.value);
274
+ previewAvailable.value = true;
275
+ return true;
276
+ }
277
+ function applyScheduledPreview() {
278
+ const pending = pendingPreview;
279
+ pendingPreview = void 0;
280
+ if (pending && updatePreviewFromPointer(pending, pending.track)) syncTooltip();
281
+ }
282
+ function onPreviewAnimationFrame() {
283
+ previewFrameView = null;
284
+ previewFrameId = void 0;
285
+ applyScheduledPreview();
286
+ }
287
+ function schedulePreview(event, track) {
288
+ if (tooltipAnchor.value !== "pointer" || control.disabled) return;
289
+ pendingPreview = {
290
+ clientX: event.clientX,
291
+ clientY: event.clientY,
292
+ track
293
+ };
294
+ const view = track.ownerDocument.defaultView;
295
+ if (!view?.requestAnimationFrame) {
296
+ applyScheduledPreview();
297
+ return;
298
+ }
299
+ if (previewFrameId !== void 0) return;
300
+ previewFrameView = view;
301
+ previewFrameId = view.requestAnimationFrame(onPreviewAnimationFrame);
302
+ }
303
+ function onTooltipPointerMove(event) {
304
+ if (dragPointerId !== void 0 && dragging.value && event.pointerId !== dragPointerId) return;
305
+ const track = event.currentTarget;
306
+ if (track) schedulePreview(event, track);
307
+ }
308
+ function onTooltipWindowPointerMove(event) {
309
+ if (dragPointerId !== void 0 && event.pointerId !== dragPointerId) return;
310
+ if (dragTrack) schedulePreview(event, dragTrack);
204
311
  }
205
312
  function onTooltipPointerEnd(event) {
206
313
  if (dragPointerId !== void 0 && event.pointerId !== dragPointerId) return;
314
+ cancelScheduledPreview();
315
+ if (dragTrack) updatePreviewFromPointer(event, dragTrack);
207
316
  dragging.value = false;
208
317
  removeDragListeners();
209
318
  syncTooltip();
@@ -214,7 +323,10 @@ function useSlider(props, emitUpdate, getValue = () => props.modelValue ?? props
214
323
  dismissed = false;
215
324
  dragging.value = true;
216
325
  dragPointerId = Number.isFinite(event.pointerId) ? event.pointerId : void 0;
217
- dragView = event.currentTarget?.ownerDocument.defaultView ?? null;
326
+ dragTrack = event.currentTarget;
327
+ if (dragTrack) updatePreviewFromPointer(event, dragTrack);
328
+ dragView = dragTrack?.ownerDocument.defaultView ?? null;
329
+ dragView?.addEventListener("pointermove", onTooltipWindowPointerMove);
218
330
  dragView?.addEventListener("pointerup", onTooltipPointerEnd);
219
331
  dragView?.addEventListener("pointercancel", onTooltipPointerEnd);
220
332
  syncTooltip();
@@ -225,7 +337,10 @@ function useSlider(props, emitUpdate, getValue = () => props.modelValue ?? props
225
337
  closeDelayedTooltip();
226
338
  }
227
339
  }
228
- onBeforeUnmount(removeDragListeners);
340
+ onBeforeUnmount(() => {
341
+ removeDragListeners();
342
+ cancelScheduledPreview();
343
+ });
229
344
  return {
230
345
  control,
231
346
  nativeMin: computed(() => bounds.value.min),
@@ -237,20 +352,29 @@ function useSlider(props, emitUpdate, getValue = () => props.modelValue ?? props
237
352
  formattedValue,
238
353
  ariaValueText,
239
354
  markItems,
355
+ thumbMode,
356
+ trackSlotProps,
240
357
  trackStyle,
358
+ trackHovered,
359
+ dragging,
241
360
  tooltipVisible,
242
361
  tooltipOpen,
362
+ tooltipAnchor,
243
363
  tooltipPlacement,
244
364
  tooltipId,
245
365
  tooltipColor,
246
366
  tooltipOffset,
247
367
  tooltipOpenDelay,
248
368
  tooltipArrow,
369
+ tooltipValue,
370
+ tooltipPercent,
371
+ tooltipFormattedValue,
249
372
  tooltipContent,
250
373
  onInput,
251
374
  onTooltipPointerDown,
252
- onTooltipMouseEnter,
253
- onTooltipMouseLeave,
375
+ onTooltipPointerMove,
376
+ onTooltipTrackEnter,
377
+ onTooltipTrackLeave,
254
378
  onTooltipFocusIn,
255
379
  onTooltipFocusOut,
256
380
  onTooltipKeydown
@@ -258,15 +382,18 @@ function useSlider(props, emitUpdate, getValue = () => props.modelValue ?? props
258
382
  }
259
383
  //#endregion
260
384
  //#region src/components/slider/slider.vue?vue&type=script&setup=true&vapor=true&lang.ts
261
- var t0$2 = template("<span data-v-a837ba72>");
262
- var t1$2 = template("<span data-v-a837ba72 class=rp-slider__header>");
263
- var t2$2 = template("<span data-v-a837ba72> ");
264
- var t3$2 = template("<span data-v-a837ba72><span data-v-a837ba72 class=rp-slider__mark-dot></span>");
265
- var t4$2 = template("<span data-v-a837ba72 class=rp-slider__marks aria-hidden=true>");
266
- var t5$1 = template("<span data-v-a837ba72><span data-v-a837ba72 class=rp-slider__thumb-content>");
267
- var t6$1 = template("<span data-v-a837ba72 class=rp-slider__tooltip-anchor aria-hidden=true>", 2);
268
- var t7$1 = template("<label data-v-a837ba72><span data-v-a837ba72><span data-v-a837ba72></span><input data-v-a837ba72>", 1);
269
- delegateEvents("pointerdown", "focusin", "focusout", "keydown");
385
+ var t0$2 = template("<span data-v-3864baf4>");
386
+ var t1$2 = template("<span data-v-3864baf4 class=rp-slider__header>");
387
+ var t2$2 = template("<span data-v-3864baf4 class=\"rp-slider__track-layer rp-slider__track-underlay\"aria-hidden=true>");
388
+ var t3$2 = template("<span data-v-3864baf4 class=\"rp-slider__track-layer rp-slider__track-overlay\"aria-hidden=true>");
389
+ var t4$2 = template("<span data-v-3864baf4 class=rp-slider__travel aria-hidden=true>", 2);
390
+ var t5$1 = template("<span data-v-3864baf4> ");
391
+ var t6$1 = template("<span data-v-3864baf4><span data-v-3864baf4 class=rp-slider__mark-dot></span>");
392
+ var t7$1 = template("<span data-v-3864baf4 class=rp-slider__marks aria-hidden=true>");
393
+ var t8$1 = template("<span data-v-3864baf4 class=rp-slider__tooltip-anchor aria-hidden=true></span>", 2);
394
+ var t9$1 = template(" ");
395
+ var t10 = template("<label data-v-3864baf4><span data-v-3864baf4><span data-v-3864baf4 class=rp-slider__rail aria-hidden=true></span><!><span data-v-3864baf4></span><!><input data-v-3864baf4><!><span data-v-3864baf4><span data-v-3864baf4 class=rp-slider__thumb-content>", 1);
396
+ delegateEvents("pointerdown", "pointermove", "focusin", "focusout", "keydown");
270
397
  //#endregion
271
398
  //#region src/components/slider/slider.vue
272
399
  var slider_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineVaporComponent({
@@ -283,7 +410,14 @@ var slider_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
283
410
  max: { default: 100 },
284
411
  step: { default: 1 },
285
412
  marks: { default: () => [] },
286
- thumbStyle: {},
413
+ thumb: {
414
+ type: [
415
+ Boolean,
416
+ String,
417
+ Object
418
+ ],
419
+ default: "always"
420
+ },
287
421
  tooltip: {
288
422
  type: [
289
423
  Boolean,
@@ -319,16 +453,16 @@ var slider_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
319
453
  },
320
454
  emits: ["update:modelValue"],
321
455
  setup(__props, { expose: __expose, emit: __emit, slots: $slots }) {
456
+ const slots = useSlots();
322
457
  const props = __props;
323
458
  const emit = __emit;
324
459
  const inputRef = ref(null);
325
- const slots = useSlots();
326
460
  const controllable = useControllableValue({
327
461
  modelValue: () => props.modelValue,
328
462
  defaultValue: () => props.defaultValue ?? props.min,
329
463
  onChange: (value) => emit("update:modelValue", value)
330
464
  });
331
- const { control, nativeMin, nativeMax, nativeStep, rootClass, normalizedValue, valuePercent, formattedValue, ariaValueText, markItems, trackStyle, tooltipVisible, tooltipOpen, tooltipPlacement, tooltipId, tooltipColor, tooltipOffset, tooltipOpenDelay, tooltipArrow, tooltipContent, onInput, onTooltipPointerDown, onTooltipMouseEnter, onTooltipMouseLeave, onTooltipFocusIn, onTooltipFocusOut, onTooltipKeydown } = useSlider(props, (value) => controllable.setValue(value), () => controllable.value.value);
465
+ const { control, nativeMin, nativeMax, nativeStep, rootClass, normalizedValue, valuePercent, formattedValue, ariaValueText, markItems, thumbMode, trackSlotProps, trackStyle, trackHovered, dragging, tooltipVisible, tooltipOpen, tooltipAnchor, tooltipPlacement, tooltipId, tooltipColor, tooltipOffset, tooltipOpenDelay, tooltipArrow, tooltipValue, tooltipPercent, tooltipFormattedValue, tooltipContent, onInput, onTooltipPointerDown, onTooltipPointerMove, onTooltipTrackEnter, onTooltipTrackLeave, onTooltipFocusIn, onTooltipFocusOut, onTooltipKeydown } = useSlider(props, (value) => controllable.setValue(value), () => controllable.value.value);
332
466
  useFormControl({
333
467
  elements: () => [inputRef.value],
334
468
  isControlled: () => controllable.isControlled.value,
@@ -349,7 +483,10 @@ var slider_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
349
483
  style: trackStyle.value,
350
484
  "data-disabled": presence(control.disabled),
351
485
  "data-invalid": presence(control.invalid),
352
- "data-orientation": props.orientation
486
+ "data-orientation": props.orientation,
487
+ "data-track-hovered": presence(trackHovered.value),
488
+ "data-dragging": presence(dragging.value),
489
+ "data-thumb-visibility": thumbMode.value === false ? "hidden" : thumbMode.value
353
490
  }));
354
491
  const tooltipClassNames = computed(() => ({
355
492
  root: ["rp-slider__tooltip", props.classNames?.tooltip],
@@ -379,12 +516,17 @@ var slider_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
379
516
  focus
380
517
  });
381
518
  const _setTemplateRef = createTemplateRefSetter();
382
- const n32 = t7$1();
383
- const n31 = child(n32, 1);
384
- const n11 = child(n31);
385
- const n12 = next(n11, 1);
386
- renderEffect(() => setDynamicProps(n32, [rootAttrs.value]));
387
- setInsertionState(n32, 0, 0);
519
+ const n48 = t10();
520
+ const n45 = child(n48, 1);
521
+ const n44 = next(child(n45), 1);
522
+ const n15 = next(n44, 2);
523
+ const n46 = next(n15, 3);
524
+ const n23 = next(n46, 5);
525
+ const n47 = next(n23, 6);
526
+ const n35 = next(n47, 7);
527
+ const n34 = child(n35);
528
+ renderEffect(() => setDynamicProps(n48, [rootAttrs.value]));
529
+ setInsertionState(n48, 0);
388
530
  createIf(() => $slots.default || $slots.value, () => {
389
531
  const n10 = t1$2();
390
532
  setInsertionState(n10, null, 0);
@@ -409,16 +551,33 @@ var slider_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
409
551
  });
410
552
  return n10;
411
553
  });
412
- _setTemplateRef(n12, inputRef, null, "inputRef");
554
+ renderEffect(() => setDynamicProps(n45, [unref(getPartAttrs)("track", { class: "rp-slider__track" })]));
555
+ setInsertionState(n45, n44, 1);
556
+ createIf(() => $slots["track-underlay"], () => {
557
+ const n14 = t2$2();
558
+ setInsertionState(n14, null, 0);
559
+ createSlot("track-underlay", { $: [() => unref(trackSlotProps)] }, null, 1);
560
+ return n14;
561
+ });
562
+ renderEffect(() => setDynamicProps(n15, [unref(getPartAttrs)("range", { class: "rp-slider__bar" }), { "aria-hidden": "true" }]));
563
+ setInsertionState(n45, n46, 3);
564
+ createIf(() => $slots["track-overlay"], () => {
565
+ const n19 = t3$2();
566
+ setInsertionState(n19, null, 0);
567
+ createSlot("track-overlay", { $: [() => unref(trackSlotProps)] }, null, 1);
568
+ return n19;
569
+ });
570
+ setInsertionState(n45, n46, 4);
571
+ createIf(() => unref(tooltipAnchor) === "pointer", () => {
572
+ return t4$2();
573
+ }, null, 33);
574
+ _setTemplateRef(n23, inputRef, null, "inputRef");
413
575
  renderEffect(() => {
414
- const _getPartAttrs = unref(getPartAttrs);
415
576
  const _nativeInputAttrs = nativeInputAttrs.value;
416
577
  const _control = unref(control);
417
578
  const _props = props;
418
579
  const _props_required_nativeInputAttrs_required = _props.required ?? _nativeInputAttrs.required;
419
- setDynamicProps(n31, [_getPartAttrs("track", { class: "rp-slider__track" })]);
420
- setDynamicProps(n11, [_getPartAttrs("range", { class: "rp-slider__bar" }), { "aria-hidden": "true" }]);
421
- setDynamicProps(n12, [_nativeInputAttrs, {
580
+ setDynamicProps(n23, [_nativeInputAttrs, {
422
581
  id: _control.id,
423
582
  name: __props.name,
424
583
  form: _control.form ?? _nativeInputAttrs.form,
@@ -441,47 +600,41 @@ var slider_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
441
600
  "data-invalid": unref(presence)(_control.invalid)
442
601
  }]);
443
602
  });
444
- setInsertionState(n31, null, 2);
603
+ setInsertionState(n45, n47, 6);
445
604
  createIf(() => unref(markItems).length, () => {
446
- const n21 = t4$2();
447
- setInsertionState(n21, null, 0);
605
+ const n32 = t7$1();
606
+ setInsertionState(n32, null, 0);
448
607
  createFor(() => unref(markItems), (_for_item0) => {
449
- const n20 = t3$2();
608
+ const n31 = t6$1();
450
609
  renderEffect(() => {
451
610
  const _mark = _for_item0.value;
452
- setDynamicProps(n20, [unref(getPartAttrs)("mark", {
611
+ setDynamicProps(n31, [unref(getPartAttrs)("mark", {
453
612
  class: ["rp-slider__mark", { "rp-slider__mark--filled": _mark.filled }],
454
613
  style: _mark.style
455
614
  }), { "data-filled": unref(presence)(_mark.filled) }]);
456
615
  });
457
- setInsertionState(n20, null, 1);
616
+ setInsertionState(n31, null, 1);
458
617
  createIf(() => _for_item0.value.hasLabel, () => {
459
- const n19 = t2$2();
460
- const x19 = txt(n19);
618
+ const n30 = t5$1();
619
+ const x30 = txt(n30);
461
620
  renderEffect(() => {
462
- setDynamicProps(n19, [unref(getPartAttrs)("markLabel", { class: "rp-slider__mark-label" })]);
463
- setText(x19, toDisplayString(_for_item0.value.label));
621
+ setDynamicProps(n30, [unref(getPartAttrs)("markLabel", { class: "rp-slider__mark-label" })]);
622
+ setText(x30, toDisplayString(_for_item0.value.label));
464
623
  });
465
- return n19;
624
+ return n30;
466
625
  });
467
- return n20;
626
+ return n31;
468
627
  }, (mark) => mark.key, 9);
469
- return n21;
628
+ return n32;
470
629
  });
471
- setInsertionState(n31, null, 3);
472
- createIf(() => $slots.thumb, () => {
473
- const n26 = t5$1();
474
- const n25 = child(n26);
475
- renderEffect(() => setDynamicProps(n26, [unref(getPartAttrs)("thumb", { class: "rp-slider__thumb" }), { "aria-hidden": "true" }]));
476
- setInsertionState(n25, null, 0);
477
- createSlot("thumb", {
478
- value: () => unref(normalizedValue),
479
- formattedValue: () => unref(formattedValue),
480
- percent: () => unref(valuePercent)
481
- }, null, 1);
482
- return n26;
483
- });
484
- setInsertionState(n31, null, 4);
630
+ renderEffect(() => setDynamicProps(n35, [unref(getPartAttrs)("thumb", { class: "rp-slider__thumb" }), { "aria-hidden": "true" }]));
631
+ setInsertionState(n34, null, 0);
632
+ createSlot("thumb", {
633
+ value: () => unref(normalizedValue),
634
+ formattedValue: () => unref(formattedValue),
635
+ percent: () => unref(valuePercent)
636
+ }, null, 1);
637
+ setInsertionState(n45, null, 8);
485
638
  createIf(() => unref(tooltipVisible), () => {
486
639
  return createComponent(tooltip_default, {
487
640
  id: () => unref(tooltipId),
@@ -495,19 +648,34 @@ var slider_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
495
648
  "open-delay": () => unref(tooltipOpenDelay),
496
649
  arrow: () => unref(tooltipArrow),
497
650
  decorative: ""
498
- }, () => {
499
- return t6$1();
651
+ }, {
652
+ "content": extend(() => {
653
+ return createSlot("tooltip-content", {
654
+ value: () => unref(tooltipValue),
655
+ formattedValue: () => unref(tooltipFormattedValue),
656
+ percent: () => unref(tooltipPercent),
657
+ anchor: () => unref(tooltipAnchor)
658
+ }, () => {
659
+ const n41 = t9$1();
660
+ renderEffect(() => setText(n41, toDisplayString(unref(tooltipContent))));
661
+ return n41;
662
+ }, 1);
663
+ }, { _: 8 }),
664
+ "default": () => {
665
+ return t8$1();
666
+ }
500
667
  });
501
668
  });
502
- n31.$evtpointerdown = createInvoker((e) => unref(onTooltipPointerDown)(e));
503
- on(n31, "mouseenter", (e) => unref(onTooltipMouseEnter)(e));
504
- on(n31, "mouseleave", (e) => unref(onTooltipMouseLeave)(e));
505
- n31.$evtfocusin = createInvoker((e) => unref(onTooltipFocusIn)(e));
506
- n31.$evtfocusout = createInvoker((e) => unref(onTooltipFocusOut)(e));
507
- n31.$evtkeydown = createInvoker((e) => unref(onTooltipKeydown)(e));
508
- return n32;
669
+ n45.$evtpointerdown = createInvoker((e) => unref(onTooltipPointerDown)(e));
670
+ on(n45, "pointerenter", (e) => unref(onTooltipTrackEnter)(e));
671
+ on(n45, "pointerleave", (e) => unref(onTooltipTrackLeave)(e));
672
+ n45.$evtpointermove = createInvoker((e) => unref(onTooltipPointerMove)(e));
673
+ n45.$evtfocusin = createInvoker((e) => unref(onTooltipFocusIn)(e));
674
+ n45.$evtfocusout = createInvoker((e) => unref(onTooltipFocusOut)(e));
675
+ n45.$evtkeydown = createInvoker((e) => unref(onTooltipKeydown)(e));
676
+ return n48;
509
677
  }
510
- }), [["__scopeId", "data-v-a837ba72"]]);
678
+ }), [["__scopeId", "data-v-3864baf4"]]);
511
679
  //#endregion
512
680
  //#region src/components/slider/useRangeSliderTooltipCollision.ts
513
681
  var TOOLTIP_COLLISION_GAP = 4;
@@ -1162,7 +1330,7 @@ function getRangeSliderTrackStyle(props, valuePercent) {
1162
1330
  "--_rp-range-slider-tooltip-merged-percent": `${(lowerPercent + upperPercent) / 2}%`
1163
1331
  };
1164
1332
  setSliderStyleValue(style, "--_rp-range-slider-color", getComponentColorValue(props.color));
1165
- applySliderThumbStyle(style, props.thumbStyle, {
1333
+ applySliderThumbStyle(style, props.thumb, {
1166
1334
  size: "--rp-slider-thumb-size",
1167
1335
  border: "--_rp-range-slider-thumb-border-style",
1168
1336
  padding: "--rp-slider-thumb-padding",
@@ -1230,6 +1398,17 @@ function useRangeSlider(props, emitUpdate, getValue = () => props.modelValue ??
1230
1398
  ]
1231
1399
  }));
1232
1400
  const hasMarkLabels = computed(() => markItems.value.some((mark) => mark.hasLabel));
1401
+ const trackSlotProps = computed(() => ({
1402
+ value: normalizedValue.value,
1403
+ formattedValue: formattedValue.value,
1404
+ percent: valuePercent.value,
1405
+ min: bounds.value.min,
1406
+ max: bounds.value.max,
1407
+ orientation: props.orientation,
1408
+ getPercent(value) {
1409
+ return getSliderValuePercent(value, bounds.value.min, bounds.value.max);
1410
+ }
1411
+ }));
1233
1412
  const trackStyle = computed(() => getRangeSliderTrackStyle(props, valuePercent.value));
1234
1413
  const tooltipOptions = computed(() => getSliderTooltipOptions(props.tooltip));
1235
1414
  const tooltipMode = computed(() => getSliderTooltipMode(props.tooltip));
@@ -1398,6 +1577,7 @@ function useRangeSlider(props, emitUpdate, getValue = () => props.modelValue ??
1398
1577
  ariaLabels,
1399
1578
  ariaValueText,
1400
1579
  markItems,
1580
+ trackSlotProps,
1401
1581
  trackStyle,
1402
1582
  activeThumb,
1403
1583
  tooltipVisible,
@@ -1422,14 +1602,16 @@ function useRangeSlider(props, emitUpdate, getValue = () => props.modelValue ??
1422
1602
  }
1423
1603
  //#endregion
1424
1604
  //#region src/components/slider/range-slider.vue?vue&type=script&setup=true&vapor=true&lang.ts
1425
- var t0 = template("<span data-v-b0e2c3da>");
1426
- var t1 = template("<span data-v-b0e2c3da class=rp-range-slider__header>");
1427
- var t2 = template("<input data-v-b0e2c3da>");
1428
- var t3 = template("<span data-v-b0e2c3da> ");
1429
- var t4 = template("<span data-v-b0e2c3da><span data-v-b0e2c3da class=rp-range-slider__mark-dot></span>");
1430
- var t5 = template("<span data-v-b0e2c3da class=rp-range-slider__marks aria-hidden=true>");
1431
- var t6 = template("<span data-v-b0e2c3da><span data-v-b0e2c3da class=rp-range-slider__thumb-content>");
1432
- var t7 = template("<div data-v-b0e2c3da><span data-v-b0e2c3da><span data-v-b0e2c3da></span><!><span data-v-b0e2c3da class=rp-range-slider__thumbs aria-hidden=true>", 1);
1605
+ var t0 = template("<span data-v-6bfae0e8>");
1606
+ var t1 = template("<span data-v-6bfae0e8 class=rp-range-slider__header>");
1607
+ var t2 = template("<span data-v-6bfae0e8 class=\"rp-range-slider__track-layer rp-range-slider__track-underlay\"aria-hidden=true>");
1608
+ var t3 = template("<span data-v-6bfae0e8 class=\"rp-range-slider__track-layer rp-range-slider__track-overlay\"aria-hidden=true>");
1609
+ var t4 = template("<input data-v-6bfae0e8>");
1610
+ var t5 = template("<span data-v-6bfae0e8> ");
1611
+ var t6 = template("<span data-v-6bfae0e8><span data-v-6bfae0e8 class=rp-range-slider__mark-dot></span>");
1612
+ var t7 = template("<span data-v-6bfae0e8 class=rp-range-slider__marks aria-hidden=true>");
1613
+ var t8 = template("<span data-v-6bfae0e8><span data-v-6bfae0e8 class=rp-range-slider__thumb-content>");
1614
+ var t9 = template("<div data-v-6bfae0e8><span data-v-6bfae0e8><span data-v-6bfae0e8 class=rp-range-slider__rail aria-hidden=true></span><!><span data-v-6bfae0e8></span><!><span data-v-6bfae0e8 class=rp-range-slider__thumbs aria-hidden=true>", 1);
1433
1615
  delegateEvents("pointerdown");
1434
1616
  //#endregion
1435
1617
  //#region src/components/slider/range-slider.vue
@@ -1441,6 +1623,15 @@ var range_slider_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
1441
1623
  modelValue: { default: void 0 },
1442
1624
  defaultValue: { default: void 0 },
1443
1625
  minRange: { default: 0 },
1626
+ thumb: {},
1627
+ tooltip: {
1628
+ type: [
1629
+ Boolean,
1630
+ String,
1631
+ Object
1632
+ ],
1633
+ default: "hover"
1634
+ },
1444
1635
  name: {},
1445
1636
  ariaLabel: { default: () => ["Minimum", "Maximum"] },
1446
1637
  ariaValueText: {},
@@ -1452,15 +1643,6 @@ var range_slider_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
1452
1643
  max: { default: 100 },
1453
1644
  step: { default: 1 },
1454
1645
  marks: { default: () => [] },
1455
- thumbStyle: {},
1456
- tooltip: {
1457
- type: [
1458
- Boolean,
1459
- String,
1460
- Object
1461
- ],
1462
- default: "hover"
1463
- },
1464
1646
  formatValue: {},
1465
1647
  color: {},
1466
1648
  size: {},
@@ -1484,9 +1666,9 @@ var range_slider_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
1484
1666
  },
1485
1667
  emits: ["update:modelValue"],
1486
1668
  setup(__props, { expose: __expose, emit: __emit, slots: $slots }) {
1669
+ const slots = useSlots();
1487
1670
  const props = __props;
1488
1671
  const emit = __emit;
1489
- const slots = useSlots();
1490
1672
  const generatedId = useId();
1491
1673
  const tooltipsOverlapping = ref(false);
1492
1674
  const rangeSliderThumbs = ["lower", "upper"];
@@ -1498,7 +1680,7 @@ var range_slider_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
1498
1680
  defaultValue: () => props.defaultValue ?? [props.min, props.max],
1499
1681
  onChange: (value) => emit("update:modelValue", value)
1500
1682
  });
1501
- const { control, nativeMin, nativeMax, nativeStep, nativeNames, nativeIds, rootClass, normalizedValue, valuePercent, formattedValue, ariaLabels, ariaValueText, markItems, trackStyle, activeThumb, tooltipVisible, tooltipOpen, tooltipPlacement, tooltipIds, mergedTooltipId, tooltipColor, tooltipOffset, tooltipArrow, tooltipContent, mergedTooltipContent, onInput, onTrackPointerDown, onTooltipFocus, onTooltipBlur, onTooltipTrackMouseEnter, onTooltipTrackMouseLeave, onTooltipKeydown } = useRangeSlider(props, (value) => controllable.setValue(value), () => controllable.value.value);
1683
+ const { control, nativeMin, nativeMax, nativeStep, nativeNames, nativeIds, rootClass, normalizedValue, valuePercent, formattedValue, ariaLabels, ariaValueText, markItems, trackSlotProps, trackStyle, activeThumb, tooltipVisible, tooltipOpen, tooltipPlacement, tooltipIds, mergedTooltipId, tooltipColor, tooltipOffset, tooltipArrow, tooltipContent, mergedTooltipContent, onInput, onTrackPointerDown, onTooltipFocus, onTooltipBlur, onTooltipTrackMouseEnter, onTooltipTrackMouseLeave, onTooltipKeydown } = useRangeSlider(props, (value) => controllable.setValue(value), () => controllable.value.value);
1502
1684
  const validationMessages = computed(() => Array.isArray(props.validationMessage) ? props.validationMessage : [props.validationMessage, props.validationMessage]);
1503
1685
  function normalizeInitialValue(value = controllable.initialValue) {
1504
1686
  return normalizeRangeSliderValue(value, props.min, props.max, props.step, props.minRange);
@@ -1596,13 +1778,14 @@ var range_slider_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
1596
1778
  focus
1597
1779
  });
1598
1780
  const _setTemplateRef = createTemplateRefSetter();
1599
- const n35 = t7();
1600
- const n34 = child(n35, 1);
1601
- const n11 = child(n34);
1602
- const n33 = next(n11, 1);
1603
- const n32 = next(n33, 3);
1604
- renderEffect(() => setDynamicProps(n35, [rootAttrs.value]));
1605
- setInsertionState(n35, 0, 0);
1781
+ const n44 = t9();
1782
+ const n42 = child(n44, 1);
1783
+ const n41 = next(child(n42), 1);
1784
+ const n15 = next(n41, 2);
1785
+ const n43 = next(n15, 3);
1786
+ const n40 = next(n43, 6);
1787
+ renderEffect(() => setDynamicProps(n44, [rootAttrs.value]));
1788
+ setInsertionState(n44, 0);
1606
1789
  createIf(() => $slots.default || $slots.value, () => {
1607
1790
  const n10 = t1();
1608
1791
  setInsertionState(n10, null, 0);
@@ -1627,14 +1810,25 @@ var range_slider_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
1627
1810
  });
1628
1811
  return n10;
1629
1812
  });
1630
- renderEffect(() => {
1631
- const _getPartAttrs = unref(getPartAttrs);
1632
- setDynamicProps(n34, [_getPartAttrs("track", { class: "rp-range-slider__track" })]);
1633
- setDynamicProps(n11, [_getPartAttrs("range", { class: "rp-range-slider__bar" }), { "aria-hidden": "true" }]);
1813
+ renderEffect(() => setDynamicProps(n42, [unref(getPartAttrs)("track", { class: "rp-range-slider__track" })]));
1814
+ setInsertionState(n42, n41, 1);
1815
+ createIf(() => $slots["track-underlay"], () => {
1816
+ const n14 = t2();
1817
+ setInsertionState(n14, null, 0);
1818
+ createSlot("track-underlay", { $: [() => unref(trackSlotProps)] }, null, 1);
1819
+ return n14;
1820
+ });
1821
+ renderEffect(() => setDynamicProps(n15, [unref(getPartAttrs)("range", { class: "rp-range-slider__bar" }), { "aria-hidden": "true" }]));
1822
+ setInsertionState(n42, n43, 3);
1823
+ createIf(() => $slots["track-overlay"], () => {
1824
+ const n19 = t3();
1825
+ setInsertionState(n19, null, 0);
1826
+ createSlot("track-overlay", { $: [() => unref(trackSlotProps)] }, null, 1);
1827
+ return n19;
1634
1828
  });
1635
- setInsertionState(n34, n33, 1);
1829
+ setInsertionState(n42, n43, 4);
1636
1830
  createFor(() => rangeSliderThumbs, (_for_item0, _for_key0) => {
1637
- const n14 = t2();
1831
+ const n22 = t4();
1638
1832
  renderEffect(() => {
1639
1833
  const _nativeInputAttrs = nativeInputAttrs.value;
1640
1834
  const _index = _for_key0.value;
@@ -1642,7 +1836,7 @@ var range_slider_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
1642
1836
  const _props = props;
1643
1837
  const _nativeInputAttrs_index = _nativeInputAttrs[_index];
1644
1838
  const _props_required_nativeInputAttrs_index_required = _props.required ?? _nativeInputAttrs_index?.required;
1645
- setDynamicProps(n14, [_nativeInputAttrs_index, {
1839
+ setDynamicProps(n22, [_nativeInputAttrs_index, {
1646
1840
  id: unref(nativeIds)[_index],
1647
1841
  name: unref(nativeNames)[_index],
1648
1842
  form: _control.form ?? _nativeInputAttrs_index?.form,
@@ -1664,49 +1858,49 @@ var range_slider_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
1664
1858
  "data-disabled": unref(presence)(_control.disabled),
1665
1859
  "data-invalid": unref(presence)(_control.invalid)
1666
1860
  }]);
1667
- _setTemplateRef(n14, (element) => setInputRef(_index, element), true);
1861
+ _setTemplateRef(n22, (element) => setInputRef(_index, element), true);
1668
1862
  });
1669
- return n14;
1863
+ return n22;
1670
1864
  }, (thumb, index) => thumb, 8);
1671
- setInsertionState(n34, n33, 2);
1865
+ setInsertionState(n42, n43, 5);
1672
1866
  createIf(() => unref(markItems).length, () => {
1673
- const n23 = t5();
1674
- setInsertionState(n23, null, 0);
1867
+ const n31 = t7();
1868
+ setInsertionState(n31, null, 0);
1675
1869
  createFor(() => unref(markItems), (_for_item0) => {
1676
- const n22 = t4();
1870
+ const n30 = t6();
1677
1871
  renderEffect(() => {
1678
1872
  const _mark = _for_item0.value;
1679
- setDynamicProps(n22, [unref(getPartAttrs)("mark", {
1873
+ setDynamicProps(n30, [unref(getPartAttrs)("mark", {
1680
1874
  class: ["rp-range-slider__mark", { "rp-range-slider__mark--filled": _mark.filled }],
1681
1875
  style: _mark.style
1682
1876
  }), { "data-filled": unref(presence)(_mark.filled) }]);
1683
1877
  });
1684
- setInsertionState(n22, null, 1);
1878
+ setInsertionState(n30, null, 1);
1685
1879
  createIf(() => _for_item0.value.hasLabel, () => {
1686
- const n21 = t3();
1687
- const x21 = txt(n21);
1880
+ const n29 = t5();
1881
+ const x29 = txt(n29);
1688
1882
  renderEffect(() => {
1689
- setDynamicProps(n21, [unref(getPartAttrs)("markLabel", { class: "rp-range-slider__mark-label" })]);
1690
- setText(x21, toDisplayString(_for_item0.value.label));
1883
+ setDynamicProps(n29, [unref(getPartAttrs)("markLabel", { class: "rp-range-slider__mark-label" })]);
1884
+ setText(x29, toDisplayString(_for_item0.value.label));
1691
1885
  });
1692
- return n21;
1886
+ return n29;
1693
1887
  });
1694
- return n22;
1888
+ return n30;
1695
1889
  }, (mark) => mark.key, 9);
1696
- return n23;
1890
+ return n31;
1697
1891
  });
1698
- setInsertionState(n32, null, 0);
1892
+ setInsertionState(n40, null, 0);
1699
1893
  createFor(() => rangeSliderThumbs, (_for_item0, _for_key0) => {
1700
- const n28 = t6();
1701
- const n27 = child(n28);
1894
+ const n36 = t8();
1895
+ const n35 = child(n36);
1702
1896
  renderEffect(() => {
1703
1897
  const _thumb = _for_item0.value;
1704
- setDynamicProps(n28, [unref(getPartAttrs)("thumb", { class: ["rp-range-slider__thumb", `rp-range-slider__thumb--${_thumb}`] }), {
1898
+ setDynamicProps(n36, [unref(getPartAttrs)("thumb", { class: ["rp-range-slider__thumb", `rp-range-slider__thumb--${_thumb}`] }), {
1705
1899
  "data-range-slider-thumb": _thumb,
1706
1900
  "data-thumb": _thumb
1707
1901
  }]);
1708
1902
  });
1709
- setInsertionState(n27, null, 0);
1903
+ setInsertionState(n35, null, 0);
1710
1904
  createSlot("thumb", {
1711
1905
  thumb: () => _for_item0.value,
1712
1906
  index: () => _for_key0.value,
@@ -1714,9 +1908,9 @@ var range_slider_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
1714
1908
  formattedValue: () => unref(formattedValue)[_for_key0.value],
1715
1909
  percent: () => unref(valuePercent)[_for_key0.value]
1716
1910
  }, null, 1);
1717
- return n28;
1911
+ return n36;
1718
1912
  }, (thumb, index) => thumb, 8);
1719
- setInsertionState(n32, null, 1);
1913
+ setInsertionState(n40, null, 1);
1720
1914
  createIf(() => unref(tooltipVisible), () => {
1721
1915
  const _on_update_overlapping = ($event) => tooltipsOverlapping.value = $event;
1722
1916
  return createComponent(range_slider_tooltip_default, {
@@ -1736,12 +1930,12 @@ var range_slider_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
1736
1930
  "onUpdate:overlapping": () => _on_update_overlapping
1737
1931
  });
1738
1932
  });
1739
- n34.$evtpointerdown = createInvoker((e) => unref(onTrackPointerDown)(e));
1740
- on(n34, "mouseenter", (e) => unref(onTooltipTrackMouseEnter)(e));
1741
- on(n34, "mouseleave", (e) => unref(onTooltipTrackMouseLeave)(e));
1742
- return n35;
1933
+ n42.$evtpointerdown = createInvoker((e) => unref(onTrackPointerDown)(e));
1934
+ on(n42, "mouseenter", (e) => unref(onTooltipTrackMouseEnter)(e));
1935
+ on(n42, "mouseleave", (e) => unref(onTooltipTrackMouseLeave)(e));
1936
+ return n44;
1743
1937
  }
1744
- }), [["__scopeId", "data-v-b0e2c3da"]]);
1938
+ }), [["__scopeId", "data-v-6bfae0e8"]]);
1745
1939
  //#endregion
1746
1940
  //#region src/components/slider/types.ts
1747
1941
  var sliderParts = [