ropav 0.0.8 → 0.0.10
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/accordion.css +10 -10
- package/dist/accordion.js +2 -2
- package/dist/alert.css +109 -0
- package/dist/alert.js +168 -0
- package/dist/aspect-ratio.css +17 -0
- package/dist/aspect-ratio.js +26 -0
- package/dist/avatar.css +97 -0
- package/dist/avatar.js +161 -0
- package/dist/badge.css +40 -115
- package/dist/badge.js +19 -16
- package/dist/base.css +609 -180
- package/dist/button-link.css +161 -0
- package/dist/button-link.js +108 -0
- package/dist/button.css +50 -229
- package/dist/button.js +7 -9
- package/dist/card.css +12 -12
- package/dist/check.js +12 -0
- package/dist/checkbox.css +16 -57
- package/dist/checkbox.js +14 -31
- package/dist/collapse.css +2 -2
- package/dist/collapse.js +1 -1
- package/dist/color-input.css +108 -0
- package/dist/color-input.js +349 -0
- package/dist/color-picker.css +304 -0
- package/dist/color-picker.js +797 -0
- package/dist/color-picker2.js +18 -0
- package/dist/color-swatch.css +50 -0
- package/dist/color-swatch.js +73 -0
- package/dist/color.js +190 -0
- package/dist/componentColors.js +206 -13
- package/dist/components/accordion/accordion-item.d.ts +4 -4
- package/dist/components/accordion/accordion.d.ts +1 -1
- package/dist/components/accordion/index.d.ts +4 -4
- package/dist/components/accordion/types.d.ts +1 -1
- package/dist/components/accordion/useAccordion.d.ts +1 -1
- package/dist/components/alert/alert.d.ts +30 -0
- package/dist/components/alert/index.d.ts +3 -0
- package/dist/components/alert/index.js +2 -0
- package/dist/components/alert/types.d.ts +20 -0
- package/dist/components/alert/useAlertColor.d.ts +3 -0
- package/dist/components/aspect-ratio/aspect-ratio.d.ts +21 -0
- package/dist/components/aspect-ratio/index.d.ts +2 -0
- package/dist/components/aspect-ratio/index.js +2 -0
- package/dist/components/aspect-ratio/types.d.ts +3 -0
- package/dist/components/avatar/avatar.d.ts +24 -0
- package/dist/components/avatar/index.d.ts +3 -0
- package/dist/components/avatar/index.js +2 -0
- package/dist/components/avatar/types.d.ts +20 -0
- package/dist/components/avatar/useAvatarColor.d.ts +3 -0
- package/dist/components/badge/badge.d.ts +1 -1
- package/dist/components/badge/index.d.ts +3 -3
- package/dist/components/badge/types.d.ts +3 -2
- package/dist/components/badge/useBadgeColor.d.ts +3 -8
- package/dist/components/button/button.d.ts +1 -1
- package/dist/components/button/index.d.ts +2 -2
- package/dist/components/button/types.d.ts +2 -1
- package/dist/components/button/useButtonColor.d.ts +3 -13
- package/dist/components/button-group/button-group.d.ts +1 -1
- package/dist/components/button-group/index.d.ts +2 -2
- package/dist/components/button-link/button-link.d.ts +27 -0
- package/dist/components/button-link/index.d.ts +2 -0
- package/dist/components/button-link/index.js +2 -0
- package/dist/components/button-link/types.d.ts +20 -0
- package/dist/components/card/card.d.ts +1 -1
- package/dist/components/card/index.d.ts +2 -2
- package/dist/components/checkbox/checkbox.d.ts +1 -1
- package/dist/components/checkbox/index.d.ts +2 -2
- package/dist/components/checkbox/types.d.ts +2 -1
- package/dist/components/checkbox/useCheckbox.d.ts +4 -6
- package/dist/components/collapse/collapse.d.ts +2 -2
- package/dist/components/collapse/index.d.ts +3 -3
- package/dist/components/collapse/useCollapse.d.ts +1 -1
- package/dist/components/color-input/color-input.d.ts +29 -0
- package/dist/components/color-input/index.d.ts +2 -0
- package/dist/components/color-input/index.js +2 -0
- package/dist/components/color-input/types.d.ts +35 -0
- package/dist/components/color-input/useColorInput.d.ts +27 -0
- package/dist/components/color-input/useColorInputEyeDropper.d.ts +13 -0
- package/dist/components/color-input/useColorInputPopover.d.ts +11 -0
- package/dist/components/color-input/useColorInputValue.d.ts +8 -0
- package/dist/components/color-picker/color-picker-saturation.d.ts +21 -0
- package/dist/components/color-picker/color-picker-slider.d.ts +21 -0
- package/dist/components/color-picker/color-picker-utils.d.ts +23 -0
- package/dist/components/color-picker/color-picker.d.ts +23 -0
- package/dist/components/color-picker/index.d.ts +3 -0
- package/dist/components/color-picker/index.js +3 -0
- package/dist/components/color-picker/types.d.ts +39 -0
- package/dist/components/color-picker/useColorPickerDrag.d.ts +16 -0
- package/dist/components/color-picker/useColorPickerSwatches.d.ts +21 -0
- package/dist/components/color-picker/useColorPickerValue.d.ts +15 -0
- package/dist/components/color-swatch/color-swatch.d.ts +21 -0
- package/dist/components/color-swatch/index.d.ts +2 -0
- package/dist/components/color-swatch/index.js +2 -0
- package/dist/components/color-swatch/types.d.ts +6 -0
- package/dist/components/color-swatch/useColorSwatchColor.d.ts +5 -0
- package/dist/components/dropdown-menu/dropdown-menu-items.d.ts +15 -6
- package/dist/components/dropdown-menu/dropdown-menu-utils.d.ts +1 -1
- package/dist/components/dropdown-menu/dropdown-menu.d.ts +3 -3
- package/dist/components/dropdown-menu/index.d.ts +3 -3
- package/dist/components/dropdown-menu/useDropdownMenu.d.ts +11 -10
- package/dist/components/dropdown-menu/useDropdownMenuDisclosure.d.ts +2 -2
- package/dist/components/dropdown-menu/useDropdownMenuDom.d.ts +2 -2
- package/dist/components/dropdown-menu/useDropdownMenuHoverIntent.d.ts +2 -2
- package/dist/components/dropdown-menu/useDropdownMenuInteractions.d.ts +2 -2
- package/dist/components/dropdown-menu/useDropdownMenuNavigation.d.ts +3 -3
- package/dist/components/dropdown-menu/useDropdownMenuRenderItems.d.ts +12 -4
- package/dist/components/dropdown-menu/useDropdownSubmenus.d.ts +3 -3
- package/dist/components/field/field.d.ts +2 -2
- package/dist/components/field/index.d.ts +2 -2
- package/dist/components/field/types.d.ts +0 -2
- package/dist/components/field/useField.d.ts +1 -3
- package/dist/components/icon-button/icon-button.d.ts +1 -1
- package/dist/components/icon-button/index.d.ts +2 -2
- package/dist/components/icon-button/types.d.ts +2 -1
- package/dist/components/input/index.d.ts +2 -2
- package/dist/components/input/input.d.ts +1 -1
- package/dist/components/input/types.d.ts +3 -0
- package/dist/components/input/useInput.d.ts +2 -2
- package/dist/components/modal/index.d.ts +2 -2
- package/dist/components/modal/modal.d.ts +1 -1
- package/dist/components/modal/types.d.ts +1 -1
- package/dist/components/modal/useModal.d.ts +1 -1
- package/dist/components/number-input/index.d.ts +2 -0
- package/dist/components/number-input/index.js +2 -0
- package/dist/components/number-input/number-input.d.ts +29 -0
- package/dist/components/number-input/types.d.ts +34 -0
- package/dist/components/number-input/useNumberInput.d.ts +31 -0
- package/dist/components/overlay/index.d.ts +2 -2
- package/dist/components/overlay/overlay.d.ts +1 -1
- package/dist/components/overlay/useOverlay.d.ts +1 -1
- package/dist/components/popover/index.d.ts +3 -2
- package/dist/components/popover/index.js +2 -1
- package/dist/components/popover/popover.d.ts +2 -2
- package/dist/components/popover/types.d.ts +3 -1
- package/dist/components/popover/usePopover.d.ts +2 -1
- package/dist/components/progress/index.d.ts +3 -3
- package/dist/components/progress/progress.d.ts +1 -1
- package/dist/components/progress/types.d.ts +2 -2
- package/dist/components/progress/useProgress.d.ts +2 -2
- package/dist/components/radio/index.d.ts +3 -3
- package/dist/components/radio/radio-group.d.ts +1 -1
- package/dist/components/radio/radio.d.ts +1 -1
- package/dist/components/radio/types.d.ts +4 -1
- package/dist/components/radio/useRadio.d.ts +4 -6
- package/dist/components/select/index.d.ts +2 -2
- package/dist/components/select/select.d.ts +1 -1
- package/dist/components/select/types.d.ts +3 -0
- package/dist/components/select/useSelect.d.ts +2 -2
- package/dist/components/slider/index.d.ts +4 -3
- package/dist/components/slider/index.js +2 -2
- package/dist/components/slider/range-slider-tooltip.d.ts +34 -0
- package/dist/components/slider/range-slider.d.ts +37 -0
- package/dist/components/slider/slider.d.ts +1 -1
- package/dist/components/slider/sliderCore.d.ts +35 -0
- package/dist/components/slider/types.d.ts +15 -6
- package/dist/components/slider/useRangeSlider.d.ts +57 -0
- package/dist/components/slider/useRangeSliderPointer.d.ts +19 -0
- package/dist/components/slider/useRangeSliderTooltipCollision.d.ts +36 -0
- package/dist/components/slider/useRangeSliderTooltipState.d.ts +23 -0
- package/dist/components/slider/useSlider.d.ts +11 -15
- package/dist/components/switch/index.d.ts +2 -2
- package/dist/components/switch/switch.d.ts +1 -1
- package/dist/components/switch/types.d.ts +1 -1
- package/dist/components/switch/useSwitch.d.ts +4 -5
- package/dist/components/tabs/index.d.ts +6 -6
- package/dist/components/tabs/tabs-content.d.ts +2 -2
- package/dist/components/tabs/tabs-list.d.ts +4 -4
- package/dist/components/tabs/tabs-trigger.d.ts +5 -5
- package/dist/components/tabs/tabs.d.ts +5 -5
- package/dist/components/tabs/useTabs.d.ts +1 -1
- package/dist/components/textarea/index.d.ts +2 -2
- package/dist/components/textarea/textarea.d.ts +1 -1
- package/dist/components/textarea/useTextarea.d.ts +2 -2
- package/dist/components/toast/defaults.d.ts +7 -0
- package/dist/components/toast/index.d.ts +7 -0
- package/dist/components/toast/index.js +2 -0
- package/dist/components/toast/toast-provider.d.ts +21 -0
- package/dist/components/toast/toast-viewport.d.ts +34 -0
- package/dist/components/toast/toast.d.ts +31 -0
- package/dist/components/toast/types.d.ts +106 -0
- package/dist/components/toast/useToast.d.ts +4 -0
- package/dist/components/toast/useToastColor.d.ts +3 -0
- package/dist/components/toast/useToastState.d.ts +2 -0
- package/dist/components/tooltip/index.d.ts +2 -2
- package/dist/components/tooltip/tooltip.d.ts +2 -2
- package/dist/components/tooltip/types.d.ts +2 -1
- package/dist/components/tooltip/useTooltip.d.ts +3 -1
- package/dist/dropdown-menu.css +17 -17
- package/dist/dropdown-menu.js +160 -39
- package/dist/field.css +15 -18
- package/dist/field.js +17 -35
- package/dist/icon-button.css +57 -236
- package/dist/icon-button.js +5 -6
- package/dist/index.d.ts +31 -22
- package/dist/index.js +17 -4
- package/dist/input.css +40 -46
- package/dist/input.js +39 -21
- package/dist/minus.js +12 -0
- package/dist/modal.css +9 -9
- package/dist/modal.js +1 -1
- package/dist/number-input.css +86 -0
- package/dist/number-input.js +350 -0
- package/dist/overlay.css +5 -5
- package/dist/overlay.js +3 -3
- package/dist/popover.css +62 -29
- package/dist/popover.js +33 -19
- package/dist/popover2.js +17 -0
- package/dist/progress.css +9 -30
- package/dist/progress.js +3 -6
- package/dist/radio.css +34 -62
- package/dist/radio.js +28 -16
- package/dist/rafScheduler.js +34 -0
- package/dist/select.css +105 -61
- package/dist/select.js +12 -8
- package/dist/slider.css +719 -125
- package/dist/slider.js +1251 -149
- package/dist/switch.css +19 -44
- package/dist/switch.js +4 -5
- package/dist/tabs.css +36 -36
- package/dist/tabs.js +1 -1
- package/dist/textarea.css +33 -25
- package/dist/textarea.js +8 -2
- package/dist/toast.css +232 -0
- package/dist/toast.js +679 -0
- package/dist/tooltip.css +7 -35
- package/dist/tooltip.js +30 -18
- package/dist/useButtonColor.js +16 -14
- package/dist/utils/componentColors.d.ts +60 -0
- package/package.json +55 -15
- package/src/styles/_mixins.scss +25 -41
- package/src/styles/_tokens.scss +615 -182
- package/src/styles/_variables.scss +177 -49
package/dist/popover.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import './popover.css';
|
|
2
2
|
import { t as bem } from "./bem.js";
|
|
3
3
|
import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
|
|
4
|
-
import {
|
|
4
|
+
import { t as createRafScheduler } from "./rafScheduler.js";
|
|
5
|
+
import { VaporTransition, applyVShow, computed, createComponent, createIf, createSlot, defineVaporComponent, extend, isRef, onBeforeUnmount, onMounted, ref, renderEffect, setAttr, setClass, setInsertionState, setProp, setStaticTemplateRef, setStyle, template, unref, useId, useSlots, watch } from "vue";
|
|
5
6
|
//#region src/components/popover/usePopover.ts
|
|
6
7
|
var DEFAULT_PLACEMENT = "bottom";
|
|
7
8
|
var DEFAULT_ROLE = "dialog";
|
|
@@ -16,21 +17,24 @@ function isHTMLElement(value) {
|
|
|
16
17
|
function getTargetPosition(rect, placement) {
|
|
17
18
|
const centerX = rect.left + rect.width / 2;
|
|
18
19
|
const centerY = rect.top + rect.height / 2;
|
|
19
|
-
|
|
20
|
+
const [side, alignment = "center"] = placement.split("-");
|
|
21
|
+
const alignedX = alignment === "start" ? rect.left : alignment === "end" ? rect.right : centerX;
|
|
22
|
+
const alignedY = alignment === "start" ? rect.top : alignment === "end" ? rect.bottom : centerY;
|
|
23
|
+
switch (side) {
|
|
20
24
|
case "right": return {
|
|
21
25
|
x: rect.right,
|
|
22
|
-
y:
|
|
26
|
+
y: alignedY
|
|
23
27
|
};
|
|
24
28
|
case "bottom": return {
|
|
25
|
-
x:
|
|
29
|
+
x: alignedX,
|
|
26
30
|
y: rect.bottom
|
|
27
31
|
};
|
|
28
32
|
case "left": return {
|
|
29
33
|
x: rect.left,
|
|
30
|
-
y:
|
|
34
|
+
y: alignedY
|
|
31
35
|
};
|
|
32
36
|
default: return {
|
|
33
|
-
x:
|
|
37
|
+
x: alignedX,
|
|
34
38
|
y: rect.top
|
|
35
39
|
};
|
|
36
40
|
}
|
|
@@ -92,6 +96,7 @@ function usePopover(props, emitOpenChange) {
|
|
|
92
96
|
const targetElement = ref(null);
|
|
93
97
|
const targetPosition = ref(null);
|
|
94
98
|
const uncontrolledOpen = ref(false);
|
|
99
|
+
const positionScheduler = createRafScheduler(updateTargetPosition, () => targetElement.value?.ownerDocument.defaultView);
|
|
95
100
|
const popoverId = computed(() => props.id ?? `${generatedId}-popover`);
|
|
96
101
|
const placement = computed(() => props.placement ?? DEFAULT_PLACEMENT);
|
|
97
102
|
const popoverRole = computed(() => props.role ?? DEFAULT_ROLE);
|
|
@@ -100,7 +105,8 @@ function usePopover(props, emitOpenChange) {
|
|
|
100
105
|
const isDisabled = computed(() => Boolean(props.disabled || !hasContent.value));
|
|
101
106
|
const isOpen = computed(() => props.open ?? uncontrolledOpen.value);
|
|
102
107
|
const isVisible = computed(() => isOpen.value && !isDisabled.value);
|
|
103
|
-
const shouldRenderContent = computed(() => !isDisabled.value);
|
|
108
|
+
const shouldRenderContent = computed(() => !isDisabled.value && (Boolean(props.keepMounted) || isVisible.value));
|
|
109
|
+
const shouldShowContent = computed(() => !props.keepMounted || isVisible.value);
|
|
104
110
|
const shouldWireTarget = computed(() => isTargetMode.value && !isDisabled.value);
|
|
105
111
|
const ariaLabel = computed(() => props.ariaLabel || void 0);
|
|
106
112
|
const ariaLabelledby = computed(() => props.ariaLabelledby || void 0);
|
|
@@ -143,7 +149,6 @@ function usePopover(props, emitOpenChange) {
|
|
|
143
149
|
}
|
|
144
150
|
function openPopover() {
|
|
145
151
|
if (isDisabled.value) return;
|
|
146
|
-
updateTargetPosition();
|
|
147
152
|
setOpen(true);
|
|
148
153
|
}
|
|
149
154
|
function closePopover() {
|
|
@@ -188,13 +193,13 @@ function usePopover(props, emitOpenChange) {
|
|
|
188
193
|
closePopover();
|
|
189
194
|
}
|
|
190
195
|
function syncTargetElement() {
|
|
196
|
+
positionScheduler.cancel();
|
|
191
197
|
const nextTarget = isTargetMode.value ? resolveTargetElement(readTarget()) : null;
|
|
192
198
|
if (targetElement.value !== nextTarget) targetElement.value = nextTarget;
|
|
193
199
|
if (!nextTarget) {
|
|
194
200
|
targetPosition.value = null;
|
|
195
201
|
return;
|
|
196
202
|
}
|
|
197
|
-
if (isVisible.value) updateTargetPosition();
|
|
198
203
|
}
|
|
199
204
|
watch(isDisabled, (disabled) => {
|
|
200
205
|
if (disabled) closePopover();
|
|
@@ -230,12 +235,14 @@ function usePopover(props, emitOpenChange) {
|
|
|
230
235
|
isTargetMode,
|
|
231
236
|
targetElement
|
|
232
237
|
], ([visible, targetMode, target], _previous, onCleanup) => {
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
238
|
+
const view = target?.ownerDocument.defaultView;
|
|
239
|
+
if (!visible || !targetMode || !view) return;
|
|
240
|
+
view.addEventListener("resize", positionScheduler.schedule);
|
|
241
|
+
view.addEventListener("scroll", positionScheduler.schedule, true);
|
|
236
242
|
onCleanup(() => {
|
|
237
|
-
|
|
238
|
-
|
|
243
|
+
view.removeEventListener("resize", positionScheduler.schedule);
|
|
244
|
+
view.removeEventListener("scroll", positionScheduler.schedule, true);
|
|
245
|
+
positionScheduler.cancel();
|
|
239
246
|
});
|
|
240
247
|
}, { flush: "sync" });
|
|
241
248
|
watch(isVisible, (visible, _previous, onCleanup) => {
|
|
@@ -255,9 +262,11 @@ function usePopover(props, emitOpenChange) {
|
|
|
255
262
|
placement,
|
|
256
263
|
isVisible
|
|
257
264
|
], () => {
|
|
265
|
+
positionScheduler.cancel();
|
|
258
266
|
if (isVisible.value) updateTargetPosition();
|
|
259
267
|
}, { flush: "sync" });
|
|
260
268
|
onMounted(syncTargetElement);
|
|
269
|
+
onBeforeUnmount(positionScheduler.cancel);
|
|
261
270
|
return {
|
|
262
271
|
rootRef,
|
|
263
272
|
popoverId,
|
|
@@ -269,6 +278,7 @@ function usePopover(props, emitOpenChange) {
|
|
|
269
278
|
ariaLabelledby,
|
|
270
279
|
ariaDescribedby,
|
|
271
280
|
shouldRenderContent,
|
|
281
|
+
shouldShowContent,
|
|
272
282
|
rootClass,
|
|
273
283
|
contentStyle,
|
|
274
284
|
triggerProps,
|
|
@@ -282,8 +292,8 @@ function usePopover(props, emitOpenChange) {
|
|
|
282
292
|
}
|
|
283
293
|
//#endregion
|
|
284
294
|
//#region src/components/popover/popover.vue?vue&type=script&setup=true&vapor=true&lang.ts
|
|
285
|
-
var t0 = template("<section data-v-
|
|
286
|
-
var t1 = template("<span data-v-
|
|
295
|
+
var t0 = template("<section data-v-13614b6c class=rp-popover__content>");
|
|
296
|
+
var t1 = template("<span data-v-13614b6c>", 1);
|
|
287
297
|
//#endregion
|
|
288
298
|
//#region src/components/popover/popover.vue
|
|
289
299
|
var popover_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineVaporComponent({
|
|
@@ -313,13 +323,17 @@ var popover_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE
|
|
|
313
323
|
closeOnEscape: {
|
|
314
324
|
type: Boolean,
|
|
315
325
|
default: true
|
|
326
|
+
},
|
|
327
|
+
keepMounted: {
|
|
328
|
+
type: Boolean,
|
|
329
|
+
default: false
|
|
316
330
|
}
|
|
317
331
|
},
|
|
318
332
|
emits: ["update:open"],
|
|
319
333
|
setup(__props, { emit: __emit }) {
|
|
320
334
|
const props = __props;
|
|
321
335
|
const emit = __emit;
|
|
322
|
-
const { rootRef, popoverId,
|
|
336
|
+
const { rootRef, popoverId, isTargetMode, popoverRole, ariaLabel, ariaLabelledby, ariaDescribedby, shouldRenderContent, shouldShowContent, rootClass, contentStyle, slotProps, contentSlotProps } = usePopover(props, (open) => {
|
|
323
337
|
emit("update:open", open);
|
|
324
338
|
});
|
|
325
339
|
const n12 = t1();
|
|
@@ -365,13 +379,13 @@ var popover_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE
|
|
|
365
379
|
}, null, 1);
|
|
366
380
|
}, null, 129);
|
|
367
381
|
}, 1);
|
|
368
|
-
applyVShow(n10, () => unref(
|
|
382
|
+
applyVShow(n10, () => unref(shouldShowContent));
|
|
369
383
|
return n10;
|
|
370
384
|
}, null, 129);
|
|
371
385
|
}, { _: 8 }));
|
|
372
386
|
setStaticTemplateRef(n12, rootRef, null, "rootRef");
|
|
373
387
|
return n12;
|
|
374
388
|
}
|
|
375
|
-
}), [["__scopeId", "data-v-
|
|
389
|
+
}), [["__scopeId", "data-v-13614b6c"]]);
|
|
376
390
|
//#endregion
|
|
377
391
|
export { popover_default as t };
|
package/dist/popover2.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
//#region src/components/popover/types.ts
|
|
2
|
+
var popoverPlacements = [
|
|
3
|
+
"top-start",
|
|
4
|
+
"top",
|
|
5
|
+
"top-end",
|
|
6
|
+
"right-start",
|
|
7
|
+
"right",
|
|
8
|
+
"right-end",
|
|
9
|
+
"bottom-start",
|
|
10
|
+
"bottom",
|
|
11
|
+
"bottom-end",
|
|
12
|
+
"left-start",
|
|
13
|
+
"left",
|
|
14
|
+
"left-end"
|
|
15
|
+
];
|
|
16
|
+
//#endregion
|
|
17
|
+
export { popoverPlacements as t };
|
package/dist/progress.css
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
.rp-progress[data-v-7870ef03] {
|
|
2
|
-
--_rp-progress-color: var(--
|
|
2
|
+
--_rp-progress-color: var(--rp-color-control-selected-bg);
|
|
3
3
|
--_rp-progress-track-bg: var(--rp-color-control-track-bg);
|
|
4
4
|
--_rp-progress-track-height: 8px;
|
|
5
|
-
--_rp-progress-font-size: var(--rp-font-size-
|
|
5
|
+
--_rp-progress-font-size: var(--rp-font-size-md);
|
|
6
6
|
--_rp-progress-radius: var(--rp-radius-full);
|
|
7
7
|
--_rp-progress-value: 0%;
|
|
8
8
|
--_rp-progress-ratio: 0;
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
gap: var(--rp-spacing-2);
|
|
13
13
|
font-family: var(--rp-font-family);
|
|
14
14
|
font-size: var(--_rp-progress-font-size);
|
|
15
|
-
line-height: var(--rp-line-height-
|
|
15
|
+
line-height: var(--rp-line-height-md);
|
|
16
16
|
}
|
|
17
17
|
.rp-progress__header[data-v-7870ef03] {
|
|
18
18
|
display: flex;
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
}
|
|
28
28
|
.rp-progress__value[data-v-7870ef03] {
|
|
29
29
|
flex-shrink: 0;
|
|
30
|
-
color: var(--rp-color-
|
|
30
|
+
color: var(--rp-color-dimmed);
|
|
31
31
|
font-variant-numeric: tabular-nums;
|
|
32
32
|
}
|
|
33
33
|
.rp-progress__track[data-v-7870ef03] {
|
|
@@ -53,45 +53,24 @@
|
|
|
53
53
|
min-width: 2rem;
|
|
54
54
|
animation: rp-progress-indeterminate-7870ef03 1200ms ease-in-out infinite;
|
|
55
55
|
}
|
|
56
|
-
.rp-progress--color-primary[data-v-7870ef03] {
|
|
57
|
-
--_rp-progress-color: var(--rp-color-primary);
|
|
58
|
-
}
|
|
59
|
-
.rp-progress--color-secondary[data-v-7870ef03] {
|
|
60
|
-
--_rp-progress-color: var(--rp-color-secondary);
|
|
61
|
-
}
|
|
62
|
-
.rp-progress--color-success[data-v-7870ef03] {
|
|
63
|
-
--_rp-progress-color: var(--rp-color-success);
|
|
64
|
-
}
|
|
65
|
-
.rp-progress--color-warning[data-v-7870ef03] {
|
|
66
|
-
--_rp-progress-color: var(--rp-color-warning);
|
|
67
|
-
}
|
|
68
|
-
.rp-progress--color-danger[data-v-7870ef03] {
|
|
69
|
-
--_rp-progress-color: var(--rp-color-danger);
|
|
70
|
-
}
|
|
71
|
-
.rp-progress--color-info[data-v-7870ef03] {
|
|
72
|
-
--_rp-progress-color: var(--rp-color-info);
|
|
73
|
-
}
|
|
74
|
-
.rp-progress--color-neutral[data-v-7870ef03] {
|
|
75
|
-
--_rp-progress-color: var(--rp-color-neutral);
|
|
76
|
-
}
|
|
77
56
|
.rp-progress--size-xs[data-v-7870ef03] {
|
|
78
|
-
--_rp-progress-track-height:
|
|
57
|
+
--_rp-progress-track-height: 3px;
|
|
79
58
|
--_rp-progress-font-size: var(--rp-font-size-xs);
|
|
80
59
|
}
|
|
81
60
|
.rp-progress--size-sm[data-v-7870ef03] {
|
|
82
|
-
--_rp-progress-track-height:
|
|
61
|
+
--_rp-progress-track-height: 5px;
|
|
83
62
|
--_rp-progress-font-size: var(--rp-font-size-sm);
|
|
84
63
|
}
|
|
85
64
|
.rp-progress--size-md[data-v-7870ef03] {
|
|
86
65
|
--_rp-progress-track-height: 8px;
|
|
87
|
-
--_rp-progress-font-size: var(--rp-font-size-
|
|
66
|
+
--_rp-progress-font-size: var(--rp-font-size-md);
|
|
88
67
|
}
|
|
89
68
|
.rp-progress--size-lg[data-v-7870ef03] {
|
|
90
|
-
--_rp-progress-track-height:
|
|
69
|
+
--_rp-progress-track-height: 12px;
|
|
91
70
|
--_rp-progress-font-size: var(--rp-font-size-lg);
|
|
92
71
|
}
|
|
93
72
|
.rp-progress--size-xl[data-v-7870ef03] {
|
|
94
|
-
--_rp-progress-track-height:
|
|
73
|
+
--_rp-progress-track-height: 16px;
|
|
95
74
|
--_rp-progress-font-size: var(--rp-font-size-xl);
|
|
96
75
|
}
|
|
97
76
|
.rp-progress--radius-none[data-v-7870ef03] {
|
package/dist/progress.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import './progress.css';
|
|
2
2
|
import { t as bem } from "./bem.js";
|
|
3
|
+
import { n as getComponentColorValue, t as componentColors } from "./componentColors.js";
|
|
3
4
|
import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
|
|
4
|
-
import { n as getComponentCustomColor, r as isComponentPresetColor, t as componentColors } from "./componentColors.js";
|
|
5
5
|
import { t as useControlState } from "./useControlState.js";
|
|
6
6
|
import { computed, createIf, createSlot, defineVaporComponent, renderEffect, setAttr, setClass, setInsertionState, setProp, setStyle, setText, template, toDisplayString, unref } from "vue";
|
|
7
7
|
//#region src/components/progress/useProgress.ts
|
|
@@ -33,9 +33,6 @@ function getProgressAriaValueText(value, percent, ariaValueText, formatter) {
|
|
|
33
33
|
if (ariaValueText != null && ariaValueText !== "") return String(ariaValueText);
|
|
34
34
|
if (formatter) return String(formatter(value, percent));
|
|
35
35
|
}
|
|
36
|
-
function setProgressStyleValue(style, property, value) {
|
|
37
|
-
if (value) style[property] = value;
|
|
38
|
-
}
|
|
39
36
|
function useProgress(props) {
|
|
40
37
|
const control = useControlState(props);
|
|
41
38
|
const bounds = computed(() => normalizeProgressBounds(props.min, props.max));
|
|
@@ -47,7 +44,6 @@ function useProgress(props) {
|
|
|
47
44
|
return {
|
|
48
45
|
control,
|
|
49
46
|
rootClass: computed(() => bem("rp-progress", {
|
|
50
|
-
[`color-${props.color}`]: isComponentPresetColor(props.color),
|
|
51
47
|
[`size-${props.size}`]: Boolean(props.size),
|
|
52
48
|
[`radius-${props.radius}`]: Boolean(props.radius),
|
|
53
49
|
indeterminate: isIndeterminate.value
|
|
@@ -57,7 +53,8 @@ function useProgress(props) {
|
|
|
57
53
|
"--_rp-progress-value": `${valuePercent.value}%`,
|
|
58
54
|
"--_rp-progress-ratio": `${valuePercent.value / 100}`
|
|
59
55
|
};
|
|
60
|
-
|
|
56
|
+
const colorValue = getComponentColorValue(props.color);
|
|
57
|
+
if (colorValue) style["--_rp-progress-color"] = colorValue;
|
|
61
58
|
return style;
|
|
62
59
|
}),
|
|
63
60
|
isIndeterminate,
|
package/dist/radio.css
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
.rp-radio[data-v-
|
|
2
|
-
--_rp-radio-color: var(--
|
|
3
|
-
--_rp-radio-on-color: var(--
|
|
4
|
-
--_rp-radio-size:
|
|
5
|
-
--_rp-radio-dot:
|
|
6
|
-
--_rp-radio-font-size: var(--rp-font-size-
|
|
1
|
+
.rp-radio[data-v-c9fb5041] {
|
|
2
|
+
--_rp-radio-color: var(--rp-color-control-selected-bg);
|
|
3
|
+
--_rp-radio-on-color: var(--rp-color-control-selected-fg);
|
|
4
|
+
--_rp-radio-size: 24px;
|
|
5
|
+
--_rp-radio-dot: 10px;
|
|
6
|
+
--_rp-radio-font-size: var(--rp-font-size-md);
|
|
7
7
|
--_rp-radio-checked-bg: var(--_rp-radio-color);
|
|
8
8
|
--_rp-radio-checked-border: var(--_rp-radio-color);
|
|
9
9
|
--_rp-radio-checked-dot: var(--_rp-radio-on-color);
|
|
@@ -13,15 +13,15 @@
|
|
|
13
13
|
font-family: var(--rp-font-family);
|
|
14
14
|
user-select: none;
|
|
15
15
|
}
|
|
16
|
-
.rp-radio--disabled[data-v-
|
|
16
|
+
.rp-radio--disabled[data-v-c9fb5041] {
|
|
17
17
|
opacity: var(--rp-opacity-disabled);
|
|
18
18
|
cursor: not-allowed;
|
|
19
19
|
}
|
|
20
|
-
.rp-radio[data-v-
|
|
20
|
+
.rp-radio[data-v-c9fb5041] {
|
|
21
21
|
gap: var(--rp-spacing-2);
|
|
22
22
|
font-size: var(--_rp-radio-font-size);
|
|
23
23
|
}
|
|
24
|
-
.rp-radio__native[data-v-
|
|
24
|
+
.rp-radio__native[data-v-c9fb5041] {
|
|
25
25
|
position: absolute;
|
|
26
26
|
width: 1px;
|
|
27
27
|
height: 1px;
|
|
@@ -33,11 +33,11 @@
|
|
|
33
33
|
border-width: 0;
|
|
34
34
|
pointer-events: none;
|
|
35
35
|
}
|
|
36
|
-
.rp-radio__native:focus-visible + .rp-radio__dot[data-v-
|
|
37
|
-
border-color: var(--rp-color-
|
|
36
|
+
.rp-radio__native:focus-visible + .rp-radio__dot[data-v-c9fb5041] {
|
|
37
|
+
border-color: var(--rp-color-control-border-focus);
|
|
38
38
|
box-shadow: 0 0 0 var(--rp-border-width-medium) var(--rp-color-focus-ring);
|
|
39
39
|
}
|
|
40
|
-
.rp-radio__dot[data-v-
|
|
40
|
+
.rp-radio__dot[data-v-c9fb5041] {
|
|
41
41
|
display: inline-flex;
|
|
42
42
|
align-items: center;
|
|
43
43
|
justify-content: center;
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
background-color: var(--rp-color-control-bg);
|
|
50
50
|
transition: background-color var(--rp-transition-fast), border-color var(--rp-transition-fast);
|
|
51
51
|
}
|
|
52
|
-
.rp-radio__dot[data-v-
|
|
52
|
+
.rp-radio__dot[data-v-c9fb5041]::after {
|
|
53
53
|
content: "";
|
|
54
54
|
width: var(--_rp-radio-dot);
|
|
55
55
|
height: var(--_rp-radio-dot);
|
|
@@ -58,75 +58,47 @@
|
|
|
58
58
|
transform: scale(0);
|
|
59
59
|
transition: transform var(--rp-transition-fast);
|
|
60
60
|
}
|
|
61
|
-
.rp-radio--checked .rp-radio__dot[data-v-
|
|
61
|
+
.rp-radio--checked .rp-radio__dot[data-v-c9fb5041] {
|
|
62
62
|
background-color: var(--_rp-radio-checked-bg);
|
|
63
63
|
border-color: var(--_rp-radio-checked-border);
|
|
64
64
|
}
|
|
65
|
-
.rp-radio--checked .rp-radio__dot[data-v-
|
|
65
|
+
.rp-radio--checked .rp-radio__dot[data-v-c9fb5041]::after {
|
|
66
66
|
transform: scale(1);
|
|
67
67
|
}
|
|
68
|
-
.rp-radio__label[data-v-
|
|
69
|
-
line-height: var(--rp-line-height-
|
|
68
|
+
.rp-radio__label[data-v-c9fb5041] {
|
|
69
|
+
line-height: var(--rp-line-height-md);
|
|
70
70
|
color: var(--rp-color-text);
|
|
71
71
|
}
|
|
72
|
-
.rp-radio--
|
|
73
|
-
--_rp-radio-color: var(--rp-color-primary);
|
|
74
|
-
--_rp-radio-on-color: var(--rp-color-on-primary);
|
|
75
|
-
}
|
|
76
|
-
.rp-radio--color-secondary[data-v-18269eb4] {
|
|
77
|
-
--_rp-radio-color: var(--rp-color-secondary);
|
|
78
|
-
--_rp-radio-on-color: var(--rp-color-on-secondary);
|
|
79
|
-
}
|
|
80
|
-
.rp-radio--color-success[data-v-18269eb4] {
|
|
81
|
-
--_rp-radio-color: var(--rp-color-success);
|
|
82
|
-
--_rp-radio-on-color: var(--rp-color-on-success);
|
|
83
|
-
}
|
|
84
|
-
.rp-radio--color-warning[data-v-18269eb4] {
|
|
85
|
-
--_rp-radio-color: var(--rp-color-warning);
|
|
86
|
-
--_rp-radio-on-color: var(--rp-color-on-warning);
|
|
87
|
-
}
|
|
88
|
-
.rp-radio--color-danger[data-v-18269eb4] {
|
|
89
|
-
--_rp-radio-color: var(--rp-color-danger);
|
|
90
|
-
--_rp-radio-on-color: var(--rp-color-on-danger);
|
|
91
|
-
}
|
|
92
|
-
.rp-radio--color-info[data-v-18269eb4] {
|
|
93
|
-
--_rp-radio-color: var(--rp-color-info);
|
|
94
|
-
--_rp-radio-on-color: var(--rp-color-on-info);
|
|
95
|
-
}
|
|
96
|
-
.rp-radio--color-neutral[data-v-18269eb4] {
|
|
97
|
-
--_rp-radio-color: var(--rp-color-neutral);
|
|
98
|
-
--_rp-radio-on-color: var(--rp-color-on-neutral);
|
|
99
|
-
}
|
|
100
|
-
.rp-radio--outline[data-v-18269eb4] {
|
|
72
|
+
.rp-radio--outline[data-v-c9fb5041] {
|
|
101
73
|
--_rp-radio-checked-bg: var(--rp-color-control-bg);
|
|
102
74
|
--_rp-radio-checked-border: var(--_rp-radio-color);
|
|
103
75
|
--_rp-radio-checked-dot: var(--_rp-radio-color);
|
|
104
76
|
}
|
|
105
|
-
.rp-radio--size-xs[data-v-
|
|
106
|
-
--_rp-radio-size:
|
|
77
|
+
.rp-radio--size-xs[data-v-c9fb5041] {
|
|
78
|
+
--_rp-radio-size: 16px;
|
|
107
79
|
--_rp-radio-dot: 6px;
|
|
108
80
|
--_rp-radio-font-size: var(--rp-font-size-xs);
|
|
109
81
|
}
|
|
110
|
-
.rp-radio--size-sm[data-v-
|
|
111
|
-
--_rp-radio-size:
|
|
112
|
-
--_rp-radio-dot: 7px;
|
|
113
|
-
--_rp-radio-font-size: var(--rp-font-size-sm);
|
|
114
|
-
}
|
|
115
|
-
.rp-radio--size-md[data-v-18269eb4] {
|
|
116
|
-
--_rp-radio-size: 18px;
|
|
82
|
+
.rp-radio--size-sm[data-v-c9fb5041] {
|
|
83
|
+
--_rp-radio-size: 20px;
|
|
117
84
|
--_rp-radio-dot: 8px;
|
|
118
|
-
--_rp-radio-font-size: var(--rp-font-size-
|
|
85
|
+
--_rp-radio-font-size: var(--rp-font-size-sm);
|
|
119
86
|
}
|
|
120
|
-
.rp-radio--size-
|
|
121
|
-
--_rp-radio-size:
|
|
87
|
+
.rp-radio--size-md[data-v-c9fb5041] {
|
|
88
|
+
--_rp-radio-size: 24px;
|
|
122
89
|
--_rp-radio-dot: 10px;
|
|
90
|
+
--_rp-radio-font-size: var(--rp-font-size-md);
|
|
91
|
+
}
|
|
92
|
+
.rp-radio--size-lg[data-v-c9fb5041] {
|
|
93
|
+
--_rp-radio-size: 30px;
|
|
94
|
+
--_rp-radio-dot: 14px;
|
|
123
95
|
--_rp-radio-font-size: var(--rp-font-size-lg);
|
|
124
96
|
}
|
|
125
|
-
.rp-radio--size-xl[data-v-
|
|
126
|
-
--_rp-radio-size:
|
|
127
|
-
--_rp-radio-dot:
|
|
97
|
+
.rp-radio--size-xl[data-v-c9fb5041] {
|
|
98
|
+
--_rp-radio-size: 36px;
|
|
99
|
+
--_rp-radio-dot: 16px;
|
|
128
100
|
--_rp-radio-font-size: var(--rp-font-size-xl);
|
|
129
|
-
}.rp-radio-group[data-v-
|
|
101
|
+
}.rp-radio-group[data-v-4ef9fed2] {
|
|
130
102
|
display: flex;
|
|
131
103
|
flex-direction: column;
|
|
132
104
|
gap: var(--rp-spacing-3);
|
package/dist/radio.js
CHANGED
|
@@ -1,21 +1,22 @@
|
|
|
1
1
|
import './radio.css';
|
|
2
|
-
import { t as useRequiredInject } from "./useRequiredInject.js";
|
|
3
2
|
import { t as bem } from "./bem.js";
|
|
3
|
+
import { n as getComponentColorValue, r as getComponentContrastColor } from "./componentColors.js";
|
|
4
4
|
import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
|
|
5
|
-
import {
|
|
5
|
+
import { t as useRequiredInject } from "./useRequiredInject.js";
|
|
6
6
|
import { t as useControlState } from "./useControlState.js";
|
|
7
7
|
import { child, computed, createIf, createSlot, defineVaporComponent, on, provide, renderEffect, setAttr, setClass, setInsertionState, setProp, setStyle, setValue, template, unref, useId } from "vue";
|
|
8
8
|
//#region src/components/radio/types.ts
|
|
9
9
|
var radioGroupKey = Symbol("radioGroup");
|
|
10
10
|
//#endregion
|
|
11
11
|
//#region src/components/radio/useRadio.ts
|
|
12
|
-
function getRadioColorStyle(color) {
|
|
13
|
-
const
|
|
14
|
-
if (!
|
|
15
|
-
return
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
};
|
|
12
|
+
function getRadioColorStyle(color, autoContrast) {
|
|
13
|
+
const colorValue = getComponentColorValue(color);
|
|
14
|
+
if (color && !colorValue) return void 0;
|
|
15
|
+
if (!colorValue && !autoContrast) return void 0;
|
|
16
|
+
const style = {};
|
|
17
|
+
if (colorValue) style["--_rp-radio-color"] = colorValue;
|
|
18
|
+
if (autoContrast) style["--_rp-radio-on-color"] = getComponentContrastColor(color ?? "primary", { autoContrast });
|
|
19
|
+
return style;
|
|
19
20
|
}
|
|
20
21
|
function useRadio(props) {
|
|
21
22
|
const group = useRequiredInject(radioGroupKey, "RpRadio");
|
|
@@ -23,15 +24,15 @@ function useRadio(props) {
|
|
|
23
24
|
const isDisabled = computed(() => props.disabled || group.disabled);
|
|
24
25
|
const variant = computed(() => props.variant ?? group.variant);
|
|
25
26
|
const color = computed(() => props.color ?? group.color);
|
|
27
|
+
const autoContrast = computed(() => props.autoContrast ?? group.autoContrast);
|
|
26
28
|
const size = computed(() => props.size ?? group.size);
|
|
27
29
|
const rootClass = computed(() => bem("rp-radio", {
|
|
28
30
|
checked: isChecked.value,
|
|
29
31
|
disabled: isDisabled.value,
|
|
30
32
|
[variant.value ?? ""]: Boolean(variant.value),
|
|
31
|
-
[`color-${color.value}`]: isComponentPresetColor(color.value),
|
|
32
33
|
[`size-${size.value}`]: Boolean(size.value)
|
|
33
34
|
}));
|
|
34
|
-
const rootStyle = computed(() => getRadioColorStyle(color.value));
|
|
35
|
+
const rootStyle = computed(() => getRadioColorStyle(color.value, autoContrast.value));
|
|
35
36
|
function onSelect() {
|
|
36
37
|
if (isDisabled.value) return;
|
|
37
38
|
group.select(props.value);
|
|
@@ -72,6 +73,9 @@ function useRadioGroup(props, emitUpdate) {
|
|
|
72
73
|
get color() {
|
|
73
74
|
return props.color;
|
|
74
75
|
},
|
|
76
|
+
get autoContrast() {
|
|
77
|
+
return props.autoContrast;
|
|
78
|
+
},
|
|
75
79
|
get size() {
|
|
76
80
|
return props.size;
|
|
77
81
|
},
|
|
@@ -86,8 +90,8 @@ function useRadioGroup(props, emitUpdate) {
|
|
|
86
90
|
}
|
|
87
91
|
//#endregion
|
|
88
92
|
//#region src/components/radio/radio.vue?vue&type=script&setup=true&vapor=true&lang.ts
|
|
89
|
-
var t0$1 = template("<span data-v-
|
|
90
|
-
var t1 = template("<label data-v-
|
|
93
|
+
var t0$1 = template("<span data-v-c9fb5041 class=rp-radio__label>");
|
|
94
|
+
var t1 = template("<label data-v-c9fb5041><input data-v-c9fb5041 type=radio class=rp-radio__native><span data-v-c9fb5041 class=rp-radio__dot></span>", 1);
|
|
91
95
|
//#endregion
|
|
92
96
|
//#region src/components/radio/radio.vue
|
|
93
97
|
var radio_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineVaporComponent({
|
|
@@ -97,6 +101,10 @@ var radio_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__
|
|
|
97
101
|
value: {},
|
|
98
102
|
variant: { default: void 0 },
|
|
99
103
|
color: { default: void 0 },
|
|
104
|
+
autoContrast: {
|
|
105
|
+
type: Boolean,
|
|
106
|
+
default: void 0
|
|
107
|
+
},
|
|
100
108
|
size: { default: void 0 },
|
|
101
109
|
disabled: {
|
|
102
110
|
type: Boolean,
|
|
@@ -130,10 +138,10 @@ var radio_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__
|
|
|
130
138
|
});
|
|
131
139
|
return n5;
|
|
132
140
|
}
|
|
133
|
-
}), [["__scopeId", "data-v-
|
|
141
|
+
}), [["__scopeId", "data-v-c9fb5041"]]);
|
|
134
142
|
//#endregion
|
|
135
143
|
//#region src/components/radio/radio-group.vue?vue&type=script&setup=true&vapor=true&lang.ts
|
|
136
|
-
var t0 = template("<div data-v-
|
|
144
|
+
var t0 = template("<div data-v-4ef9fed2 role=radiogroup>", 1);
|
|
137
145
|
//#endregion
|
|
138
146
|
//#region src/components/radio/radio-group.vue
|
|
139
147
|
var radio_group_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineVaporComponent({
|
|
@@ -145,6 +153,10 @@ var radio_group_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
|
|
|
145
153
|
modelValue: {},
|
|
146
154
|
variant: { default: void 0 },
|
|
147
155
|
color: { default: void 0 },
|
|
156
|
+
autoContrast: {
|
|
157
|
+
type: Boolean,
|
|
158
|
+
default: void 0
|
|
159
|
+
},
|
|
148
160
|
size: { default: void 0 },
|
|
149
161
|
disabled: {
|
|
150
162
|
type: Boolean,
|
|
@@ -187,6 +199,6 @@ var radio_group_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
|
|
|
187
199
|
createSlot("default", null, null, 1);
|
|
188
200
|
return n1;
|
|
189
201
|
}
|
|
190
|
-
}), [["__scopeId", "data-v-
|
|
202
|
+
}), [["__scopeId", "data-v-4ef9fed2"]]);
|
|
191
203
|
//#endregion
|
|
192
204
|
export { radio_default as n, radio_group_default as t };
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
//#region src/utils/rafScheduler.ts
|
|
2
|
+
function createRafScheduler(callback, getView) {
|
|
3
|
+
let frameId;
|
|
4
|
+
let frameView;
|
|
5
|
+
let generation = 0;
|
|
6
|
+
function cancel() {
|
|
7
|
+
generation += 1;
|
|
8
|
+
if (frameId !== void 0) frameView?.cancelAnimationFrame(frameId);
|
|
9
|
+
frameId = void 0;
|
|
10
|
+
frameView = void 0;
|
|
11
|
+
}
|
|
12
|
+
function schedule() {
|
|
13
|
+
if (frameId !== void 0) return;
|
|
14
|
+
const view = getView();
|
|
15
|
+
if (!view?.requestAnimationFrame) {
|
|
16
|
+
callback();
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
const scheduledGeneration = generation;
|
|
20
|
+
frameView = view;
|
|
21
|
+
frameId = view.requestAnimationFrame(() => {
|
|
22
|
+
if (generation !== scheduledGeneration || frameView !== view) return;
|
|
23
|
+
frameId = void 0;
|
|
24
|
+
frameView = void 0;
|
|
25
|
+
callback();
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
return {
|
|
29
|
+
cancel,
|
|
30
|
+
schedule
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
//#endregion
|
|
34
|
+
export { createRafScheduler as t };
|