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/README.md +79 -0
- package/dist/accordion.js +1 -4
- package/dist/button-link.js +2 -2
- package/dist/button.js +2 -2
- package/dist/collapse.js +1 -4
- package/dist/components/slider/index.d.ts +1 -1
- package/dist/components/slider/range-slider.d.ts +7 -11
- package/dist/components/slider/slider.d.ts +7 -14
- package/dist/components/slider/sliderCore.d.ts +7 -4
- package/dist/components/slider/types.d.ts +46 -4
- package/dist/components/slider/useRangeSlider.d.ts +2 -1
- package/dist/components/slider/useSlider.d.ts +13 -3
- package/dist/field.js +1 -1
- package/dist/input.js +1 -1
- package/dist/modal.js +1 -4
- package/dist/popover.js +1 -4
- package/dist/progress.js +1 -1
- package/dist/select.js +1 -1
- package/dist/slider.css +256 -166
- package/dist/slider.js +334 -140
- package/dist/switch.css +17 -17
- package/dist/switch.js +10 -5
- package/dist/tooltip.js +1 -4
- package/dist/unplugin-icons.d.ts +5 -0
- package/dist/unplugin-icons.js +40 -0
- package/docs/public-styles-api.md +5 -2
- package/package.json +51 -35
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,
|
|
54
|
-
setSliderStyleValue(style, properties.size, getSliderLengthValue(
|
|
55
|
-
setSliderStyleValue(style, properties.border, getSliderBorderValue(
|
|
56
|
-
setSliderStyleValue(style, properties.padding, getSliderLengthValue(
|
|
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")
|
|
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.
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
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(
|
|
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
|
-
|
|
253
|
-
|
|
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-
|
|
262
|
-
var t1$2 = template("<span data-v-
|
|
263
|
-
var t2$2 = template("<span data-v-
|
|
264
|
-
var t3$2 = template("<span data-v-
|
|
265
|
-
var t4$2 = template("<span data-v-
|
|
266
|
-
var t5$1 = template("<span data-v-
|
|
267
|
-
var t6$1 = template("<span data-v-
|
|
268
|
-
var t7$1 = template("<
|
|
269
|
-
|
|
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
|
-
|
|
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,
|
|
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
|
|
383
|
-
const
|
|
384
|
-
const
|
|
385
|
-
const
|
|
386
|
-
|
|
387
|
-
|
|
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
|
-
|
|
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(
|
|
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(
|
|
603
|
+
setInsertionState(n45, n47, 6);
|
|
445
604
|
createIf(() => unref(markItems).length, () => {
|
|
446
|
-
const
|
|
447
|
-
setInsertionState(
|
|
605
|
+
const n32 = t7$1();
|
|
606
|
+
setInsertionState(n32, null, 0);
|
|
448
607
|
createFor(() => unref(markItems), (_for_item0) => {
|
|
449
|
-
const
|
|
608
|
+
const n31 = t6$1();
|
|
450
609
|
renderEffect(() => {
|
|
451
610
|
const _mark = _for_item0.value;
|
|
452
|
-
setDynamicProps(
|
|
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(
|
|
616
|
+
setInsertionState(n31, null, 1);
|
|
458
617
|
createIf(() => _for_item0.value.hasLabel, () => {
|
|
459
|
-
const
|
|
460
|
-
const
|
|
618
|
+
const n30 = t5$1();
|
|
619
|
+
const x30 = txt(n30);
|
|
461
620
|
renderEffect(() => {
|
|
462
|
-
setDynamicProps(
|
|
463
|
-
setText(
|
|
621
|
+
setDynamicProps(n30, [unref(getPartAttrs)("markLabel", { class: "rp-slider__mark-label" })]);
|
|
622
|
+
setText(x30, toDisplayString(_for_item0.value.label));
|
|
464
623
|
});
|
|
465
|
-
return
|
|
624
|
+
return n30;
|
|
466
625
|
});
|
|
467
|
-
return
|
|
626
|
+
return n31;
|
|
468
627
|
}, (mark) => mark.key, 9);
|
|
469
|
-
return
|
|
628
|
+
return n32;
|
|
470
629
|
});
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
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
|
-
|
|
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
|
-
|
|
503
|
-
on(
|
|
504
|
-
on(
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
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-
|
|
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.
|
|
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-
|
|
1426
|
-
var t1 = template("<span data-v-
|
|
1427
|
-
var t2 = template("<
|
|
1428
|
-
var t3 = template("<span data-v-
|
|
1429
|
-
var t4 = template("<
|
|
1430
|
-
var t5 = template("<span data-v-
|
|
1431
|
-
var t6 = template("<span data-v-
|
|
1432
|
-
var t7 = template("<
|
|
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
|
|
1600
|
-
const
|
|
1601
|
-
const
|
|
1602
|
-
const
|
|
1603
|
-
const
|
|
1604
|
-
|
|
1605
|
-
|
|
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
|
-
|
|
1632
|
-
|
|
1633
|
-
|
|
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(
|
|
1829
|
+
setInsertionState(n42, n43, 4);
|
|
1636
1830
|
createFor(() => rangeSliderThumbs, (_for_item0, _for_key0) => {
|
|
1637
|
-
const
|
|
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(
|
|
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(
|
|
1861
|
+
_setTemplateRef(n22, (element) => setInputRef(_index, element), true);
|
|
1668
1862
|
});
|
|
1669
|
-
return
|
|
1863
|
+
return n22;
|
|
1670
1864
|
}, (thumb, index) => thumb, 8);
|
|
1671
|
-
setInsertionState(
|
|
1865
|
+
setInsertionState(n42, n43, 5);
|
|
1672
1866
|
createIf(() => unref(markItems).length, () => {
|
|
1673
|
-
const
|
|
1674
|
-
setInsertionState(
|
|
1867
|
+
const n31 = t7();
|
|
1868
|
+
setInsertionState(n31, null, 0);
|
|
1675
1869
|
createFor(() => unref(markItems), (_for_item0) => {
|
|
1676
|
-
const
|
|
1870
|
+
const n30 = t6();
|
|
1677
1871
|
renderEffect(() => {
|
|
1678
1872
|
const _mark = _for_item0.value;
|
|
1679
|
-
setDynamicProps(
|
|
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(
|
|
1878
|
+
setInsertionState(n30, null, 1);
|
|
1685
1879
|
createIf(() => _for_item0.value.hasLabel, () => {
|
|
1686
|
-
const
|
|
1687
|
-
const
|
|
1880
|
+
const n29 = t5();
|
|
1881
|
+
const x29 = txt(n29);
|
|
1688
1882
|
renderEffect(() => {
|
|
1689
|
-
setDynamicProps(
|
|
1690
|
-
setText(
|
|
1883
|
+
setDynamicProps(n29, [unref(getPartAttrs)("markLabel", { class: "rp-range-slider__mark-label" })]);
|
|
1884
|
+
setText(x29, toDisplayString(_for_item0.value.label));
|
|
1691
1885
|
});
|
|
1692
|
-
return
|
|
1886
|
+
return n29;
|
|
1693
1887
|
});
|
|
1694
|
-
return
|
|
1888
|
+
return n30;
|
|
1695
1889
|
}, (mark) => mark.key, 9);
|
|
1696
|
-
return
|
|
1890
|
+
return n31;
|
|
1697
1891
|
});
|
|
1698
|
-
setInsertionState(
|
|
1892
|
+
setInsertionState(n40, null, 0);
|
|
1699
1893
|
createFor(() => rangeSliderThumbs, (_for_item0, _for_key0) => {
|
|
1700
|
-
const
|
|
1701
|
-
const
|
|
1894
|
+
const n36 = t8();
|
|
1895
|
+
const n35 = child(n36);
|
|
1702
1896
|
renderEffect(() => {
|
|
1703
1897
|
const _thumb = _for_item0.value;
|
|
1704
|
-
setDynamicProps(
|
|
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(
|
|
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
|
|
1911
|
+
return n36;
|
|
1718
1912
|
}, (thumb, index) => thumb, 8);
|
|
1719
|
-
setInsertionState(
|
|
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
|
-
|
|
1740
|
-
on(
|
|
1741
|
-
on(
|
|
1742
|
-
return
|
|
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-
|
|
1938
|
+
}), [["__scopeId", "data-v-6bfae0e8"]]);
|
|
1745
1939
|
//#endregion
|
|
1746
1940
|
//#region src/components/slider/types.ts
|
|
1747
1941
|
var sliderParts = [
|