bt-core-app 2.2.5 → 2.2.6
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/_virtual/VCheckbox.sass.mjs +1 -0
- package/dist/_virtual/VChip.sass.mjs +1 -0
- package/dist/_virtual/VChipGroup.sass.mjs +1 -0
- package/dist/_virtual/VColorPicker.sass.mjs +1 -0
- package/dist/_virtual/VColorPickerCanvas.sass.mjs +1 -0
- package/dist/_virtual/VColorPickerEdit.sass.mjs +1 -0
- package/dist/_virtual/VColorPickerPreview.sass.mjs +1 -0
- package/dist/_virtual/VColorPickerSwatches.sass.mjs +1 -0
- package/dist/_virtual/VCombobox.sass.mjs +1 -0
- package/dist/_virtual/VContainer.sass.mjs +1 -0
- package/dist/_virtual/VCounter.sass.mjs +1 -0
- package/dist/_virtual/VDialog.sass.mjs +1 -0
- package/dist/_virtual/VField.sass.mjs +1 -0
- package/dist/_virtual/VGrid.sass.mjs +1 -0
- package/dist/_virtual/VInput.sass.mjs +1 -0
- package/dist/_virtual/VLabel.sass.mjs +1 -0
- package/dist/_virtual/VMessages.sass.mjs +1 -0
- package/dist/_virtual/VNavigationDrawer.sass.mjs +1 -0
- package/dist/_virtual/VPagination.sass.mjs +1 -0
- package/dist/_virtual/VPicker.sass.mjs +1 -0
- package/dist/_virtual/VRating.sass.mjs +1 -0
- package/dist/_virtual/VSelect.sass.mjs +1 -0
- package/dist/_virtual/VSelectionControl.sass.mjs +1 -0
- package/dist/_virtual/VSelectionControlGroup.sass.mjs +1 -0
- package/dist/_virtual/VSheet.sass.mjs +1 -0
- package/dist/_virtual/VSlideGroup.sass.mjs +1 -0
- package/dist/_virtual/VSlider.sass.mjs +1 -0
- package/dist/_virtual/VSliderThumb.sass.mjs +1 -0
- package/dist/_virtual/VSliderTrack.sass.mjs +1 -0
- package/dist/_virtual/VSpacer.sass.mjs +1 -0
- package/dist/_virtual/VSwitch.sass.mjs +1 -0
- package/dist/_virtual/VTab.sass.mjs +1 -0
- package/dist/_virtual/VTable.sass.mjs +1 -0
- package/dist/_virtual/VTabs.sass.mjs +1 -0
- package/dist/_virtual/VTextField.sass.mjs +1 -0
- package/dist/_virtual/VTextarea.sass.mjs +1 -0
- package/dist/_virtual/VVirtualScroll.sass.mjs +1 -0
- package/dist/_virtual/VWindow.sass.mjs +1 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/components/VBtnToggle/VBtnToggle.mjs +14 -14
- package/dist/bt-core/core/node_modules/vuetify/lib/components/VCheckbox/VCheckbox.mjs +74 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/components/VCheckbox/VCheckboxBtn.mjs +53 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/components/VChip/VChip.mjs +263 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/components/VChipGroup/VChipGroup.mjs +87 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/components/VColorPicker/VColorPicker.mjs +161 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/components/VColorPicker/VColorPickerCanvas.mjs +166 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/components/VColorPicker/VColorPickerEdit.mjs +97 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/components/VColorPicker/VColorPickerPreview.mjs +123 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/components/VColorPicker/VColorPickerSwatches.mjs +72 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/components/VColorPicker/util/index.mjs +193 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/components/VCombobox/VCombobox.mjs +501 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/components/VCounter/VCounter.mjs +51 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/components/VDialog/VDialog.mjs +103 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/components/VField/VField.mjs +295 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/components/VField/VFieldLabel.mjs +28 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/components/VForm/VForm.mjs +53 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/components/VGrid/VCol.mjs +98 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/components/VGrid/VContainer.mjs +41 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/components/VGrid/VRow.mjs +104 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/components/VGrid/VSpacer.mjs +6 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/components/VHover/VHover.mjs +41 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/components/VInput/InputIcon.mjs +40 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/components/VInput/VInput.mjs +154 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/components/VLabel/VLabel.mjs +36 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/components/VMessages/VMessages.mjs +55 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +247 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/components/VNavigationDrawer/sticky.mjs +44 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/components/VNavigationDrawer/touch.mjs +100 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/components/VPagination/VPagination.mjs +315 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/components/VRating/VRating.mjs +217 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/components/VSelect/VSelect.mjs +475 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/components/VSelect/useScrolling.mjs +57 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/components/VSelectionControl/VSelectionControl.mjs +183 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +106 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/components/VSheet/VSheet.mjs +61 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/components/VSlideGroup/VSlideGroup.mjs +287 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/components/VSlideGroup/helpers.mjs +54 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/components/VSlider/VSlider.mjs +159 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/components/VSlider/VSliderThumb.mjs +176 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/components/VSlider/VSliderTrack.mjs +109 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/components/VSlider/slider.mjs +242 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/components/VSwitch/VSwitch.mjs +172 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/components/VTable/VTable.mjs +66 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/components/VTabs/VTab.mjs +126 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/components/VTabs/VTabs.mjs +153 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/components/VTabs/VTabsWindow.mjs +48 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/components/VTabs/VTabsWindowItem.mjs +29 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/components/VTabs/shared.mjs +4 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/components/VTextField/VTextField.mjs +204 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/components/VTextarea/VTextarea.mjs +258 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/components/VToolbar/VToolbarItems.mjs +38 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/components/VVirtualScroll/VVirtualScroll.mjs +106 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/components/VVirtualScroll/VVirtualScrollItem.mjs +47 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/components/VWindow/VWindow.mjs +211 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/components/VWindow/VWindowItem.mjs +93 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/components/transitions/index.mjs +21 -19
- package/dist/bt-core/core/node_modules/vuetify/lib/composables/autocomplete.mjs +21 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/composables/autofocus.mjs +14 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/composables/display.mjs +21 -12
- package/dist/bt-core/core/node_modules/vuetify/lib/composables/filter.mjs +125 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/composables/focus.mjs +31 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/composables/focusGroups.mjs +54 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/composables/form.mjs +112 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/composables/goto.mjs +86 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/composables/icons.mjs +4 -4
- package/dist/bt-core/core/node_modules/vuetify/lib/composables/layout.mjs +43 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/composables/list-items.mjs +92 -5
- package/dist/bt-core/core/node_modules/vuetify/lib/composables/menuActivator.mjs +24 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/composables/nested/nested.mjs +1 -1
- package/dist/bt-core/core/node_modules/vuetify/lib/composables/refs.mjs +15 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/composables/touch.mjs +73 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/composables/validation.mjs +139 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/composables/virtual.mjs +164 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/directives/touch/index.mjs +89 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/labs/VPicker/VPicker.mjs +77 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/labs/VPicker/VPickerTitle.mjs +5 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/labs/rules/rules.mjs +15 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/util/color/transformSRGB.mjs +16 -0
- package/dist/bt-core/core/node_modules/vuetify/lib/util/colorUtils.mjs +133 -50
- package/dist/bt-core/core/node_modules/vuetify/lib/util/easing.mjs +20 -4
- package/dist/bt-core/core/node_modules/vuetify/lib/util/globals.mjs +2 -1
- package/dist/bt-core/core/node_modules/vuetify/lib/util/helpers.mjs +248 -141
- package/dist/components/BT-Assistant-Menu.vue.mjs +226 -211
- package/dist/components/BT-Avatar.vue.mjs +31 -31
- package/dist/components/BT-Background-Task.vue.mjs +30 -28
- package/dist/components/BT-Blade-Item.vue.mjs +111 -102
- package/dist/components/BT-Blade-Items.vue.mjs +2 -2
- package/dist/components/BT-Blade-Items.vue2.mjs +413 -402
- package/dist/components/BT-Blade-Steps.vue.mjs +1 -1
- package/dist/components/BT-Blade-Steps.vue2.mjs +597 -583
- package/dist/components/BT-Blade.vue.mjs +19 -19
- package/dist/components/BT-Btn.vue.mjs +23 -25
- package/dist/components/BT-Camera-Overlay.vue.mjs +72 -68
- package/dist/components/BT-Col.vue.mjs +17 -19
- package/dist/components/BT-Color-Picker-Menu.vue.mjs +51 -49
- package/dist/components/BT-Cosmetics-Menu.vue.mjs +180 -173
- package/dist/components/BT-Cron.vue.mjs +249 -235
- package/dist/components/BT-Date-Select.vue.mjs +46 -47
- package/dist/components/BT-Demo-Profile-Select.vue.mjs +40 -40
- package/dist/components/BT-Dialog-Confirm.vue.mjs +39 -39
- package/dist/components/BT-Dialog-Date.vue.mjs +22 -19
- package/dist/components/BT-Dialog-Number.vue.mjs +125 -121
- package/dist/components/BT-Dialog-Select.vue.mjs +107 -97
- package/dist/components/BT-Divider.vue.mjs +20 -21
- package/dist/components/BT-Drag-Counter.vue.mjs +2 -2
- package/dist/components/BT-Drag-Counter.vue2.mjs +58 -56
- package/dist/components/BT-Entity.vue.mjs +50 -48
- package/dist/components/BT-Error.vue.mjs +16 -15
- package/dist/components/BT-Field-Checkbox.vue.mjs +30 -31
- package/dist/components/BT-Field-Date.vue.mjs +87 -84
- package/dist/components/BT-Field-Entity.vue.mjs +20 -16
- package/dist/components/BT-Field-Select-Simple.vue.mjs +24 -26
- package/dist/components/BT-Field-Select.vue.mjs +32 -34
- package/dist/components/BT-Field-String.vue.mjs +54 -52
- package/dist/components/BT-Field-Switch.vue.mjs +44 -43
- package/dist/components/BT-Field-Tags.vue.mjs +57 -55
- package/dist/components/BT-Field-Textarea.vue.mjs +44 -43
- package/dist/components/BT-Field-Trigger.vue.mjs +276 -270
- package/dist/components/BT-Field.vue.mjs +39 -38
- package/dist/components/BT-Form-Builder.vue.mjs +342 -322
- package/dist/components/BT-Form-Field.vue.mjs +81 -75
- package/dist/components/BT-Form.vue.mjs +263 -253
- package/dist/components/BT-Header-Option.vue.mjs +10 -9
- package/dist/components/BT-Image-Select.vue.mjs +186 -177
- package/dist/components/BT-Json.vue.mjs +29 -30
- package/dist/components/BT-Loader.vue.mjs +32 -31
- package/dist/components/BT-Nav-Sidebar.vue.mjs +130 -124
- package/dist/components/BT-Number.vue.mjs +2 -2
- package/dist/components/BT-Number.vue2.mjs +17 -19
- package/dist/components/BT-Numpad.vue.mjs +71 -66
- package/dist/components/BT-Select-List-Box.vue.mjs +157 -144
- package/dist/components/BT-Select-Simple.vue.mjs +21 -23
- package/dist/components/BT-Select.vue.mjs +36 -37
- package/dist/components/BT-Signature-Overlay.vue.mjs +63 -60
- package/dist/components/BT-Signature.vue.mjs +66 -64
- package/dist/components/BT-Slider.vue.mjs +69 -61
- package/dist/components/BT-Square-Check.vue.mjs +24 -22
- package/dist/components/BT-Status-Item.vue.mjs +18 -16
- package/dist/components/BT-Tags.vue.mjs +21 -22
- package/dist/components/BT-Tour.vue.mjs +69 -65
- package/dist/style.css +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { shallowRef as d, computed as f, onMounted as y, watch as h, onBeforeUnmount as g } from "vue";
|
|
2
|
+
import { convertToUnit as S } from "../../util/helpers.mjs";
|
|
3
|
+
function Y(p) {
|
|
4
|
+
let {
|
|
5
|
+
rootEl: s,
|
|
6
|
+
isSticky: r,
|
|
7
|
+
layoutItemStyles: c
|
|
8
|
+
} = p;
|
|
9
|
+
const e = d(!1), o = d(0), w = f(() => {
|
|
10
|
+
const t = typeof e.value == "boolean" ? "top" : e.value;
|
|
11
|
+
return [r.value ? {
|
|
12
|
+
top: "auto",
|
|
13
|
+
bottom: "auto",
|
|
14
|
+
height: void 0
|
|
15
|
+
} : void 0, e.value ? {
|
|
16
|
+
[t]: S(o.value)
|
|
17
|
+
} : {
|
|
18
|
+
top: c.value.top
|
|
19
|
+
}];
|
|
20
|
+
});
|
|
21
|
+
y(() => {
|
|
22
|
+
h(r, (t) => {
|
|
23
|
+
t ? window.addEventListener("scroll", i, {
|
|
24
|
+
passive: !0
|
|
25
|
+
}) : window.removeEventListener("scroll", i);
|
|
26
|
+
}, {
|
|
27
|
+
immediate: !0
|
|
28
|
+
});
|
|
29
|
+
}), g(() => {
|
|
30
|
+
window.removeEventListener("scroll", i);
|
|
31
|
+
});
|
|
32
|
+
let v = 0;
|
|
33
|
+
function i() {
|
|
34
|
+
const t = v > window.scrollY ? "up" : "down", n = s.value.getBoundingClientRect(), l = parseFloat(c.value.top ?? 0), u = window.scrollY - Math.max(0, o.value - l), m = n.height + Math.max(o.value, l) - window.scrollY - window.innerHeight, a = parseFloat(getComputedStyle(s.value).getPropertyValue("--v-body-scroll-y")) || 0;
|
|
35
|
+
n.height < window.innerHeight - l ? (e.value = "top", o.value = l) : t === "up" && e.value === "bottom" || t === "down" && e.value === "top" ? (o.value = window.scrollY + n.top - a, e.value = !0) : t === "down" && m <= 0 ? (o.value = 0, e.value = "bottom") : t === "up" && u <= 0 && (a ? e.value !== "top" && (o.value = -u + a + l, e.value = "top") : (o.value = n.top + u, e.value = "top")), v = window.scrollY;
|
|
36
|
+
}
|
|
37
|
+
return {
|
|
38
|
+
isStuck: e,
|
|
39
|
+
stickyStyles: w
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
export {
|
|
43
|
+
Y as useSticky
|
|
44
|
+
};
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { useToggleScope as S } from "../../composables/toggleScope.mjs";
|
|
2
|
+
import { useVelocity as V } from "../../composables/touch.mjs";
|
|
3
|
+
import { onMounted as Z, onBeforeUnmount as z, computed as X, shallowRef as T, watchEffect as A, onScopeDispose as B } from "vue";
|
|
4
|
+
import { clamp as O } from "../../util/helpers.mjs";
|
|
5
|
+
function q(Y) {
|
|
6
|
+
let {
|
|
7
|
+
el: h,
|
|
8
|
+
isActive: f,
|
|
9
|
+
isTemporary: H,
|
|
10
|
+
width: a,
|
|
11
|
+
touchless: D,
|
|
12
|
+
position: t
|
|
13
|
+
} = Y;
|
|
14
|
+
Z(() => {
|
|
15
|
+
window.addEventListener("touchstart", M, {
|
|
16
|
+
passive: !0
|
|
17
|
+
}), window.addEventListener("touchmove", x, {
|
|
18
|
+
passive: !1
|
|
19
|
+
}), window.addEventListener("touchend", L, {
|
|
20
|
+
passive: !0
|
|
21
|
+
});
|
|
22
|
+
}), z(() => {
|
|
23
|
+
window.removeEventListener("touchstart", M), window.removeEventListener("touchmove", x), window.removeEventListener("touchend", L);
|
|
24
|
+
});
|
|
25
|
+
const c = X(() => ["left", "right"].includes(t.value)), {
|
|
26
|
+
addMovement: g,
|
|
27
|
+
endTouch: W,
|
|
28
|
+
getVelocity: $
|
|
29
|
+
} = V();
|
|
30
|
+
let m = !1;
|
|
31
|
+
const v = T(!1), i = T(0), r = T(0);
|
|
32
|
+
let p;
|
|
33
|
+
function y(e, n) {
|
|
34
|
+
return (t.value === "left" ? e : t.value === "right" ? document.documentElement.clientWidth - e : t.value === "top" ? e : t.value === "bottom" ? document.documentElement.clientHeight - e : d()) - (n ? a.value : 0);
|
|
35
|
+
}
|
|
36
|
+
function b(e) {
|
|
37
|
+
let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0;
|
|
38
|
+
const l = t.value === "left" ? (e - r.value) / a.value : t.value === "right" ? (document.documentElement.clientWidth - e - r.value) / a.value : t.value === "top" ? (e - r.value) / a.value : t.value === "bottom" ? (document.documentElement.clientHeight - e - r.value) / a.value : d();
|
|
39
|
+
return n ? O(l) : l;
|
|
40
|
+
}
|
|
41
|
+
function M(e) {
|
|
42
|
+
if (D.value)
|
|
43
|
+
return;
|
|
44
|
+
const n = e.changedTouches[0].clientX, l = e.changedTouches[0].clientY, o = 25, u = t.value === "left" ? n < o : t.value === "right" ? n > document.documentElement.clientWidth - o : t.value === "top" ? l < o : t.value === "bottom" ? l > document.documentElement.clientHeight - o : d(), s = f.value && (t.value === "left" ? n < a.value : t.value === "right" ? n > document.documentElement.clientWidth - a.value : t.value === "top" ? l < a.value : t.value === "bottom" ? l > document.documentElement.clientHeight - a.value : d());
|
|
45
|
+
(u || s || f.value && H.value) && (p = [n, l], r.value = y(c.value ? n : l, f.value), i.value = b(c.value ? n : l), m = r.value > -20 && r.value < 80, W(e), g(e));
|
|
46
|
+
}
|
|
47
|
+
function x(e) {
|
|
48
|
+
const n = e.changedTouches[0].clientX, l = e.changedTouches[0].clientY;
|
|
49
|
+
if (m) {
|
|
50
|
+
if (!e.cancelable) {
|
|
51
|
+
m = !1;
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
const u = Math.abs(n - p[0]), s = Math.abs(l - p[1]);
|
|
55
|
+
(c.value ? u > s && u > 3 : s > u && s > 3) ? (v.value = !0, m = !1) : (c.value ? s : u) > 3 && (m = !1);
|
|
56
|
+
}
|
|
57
|
+
if (!v.value)
|
|
58
|
+
return;
|
|
59
|
+
e.preventDefault(), g(e);
|
|
60
|
+
const o = b(c.value ? n : l, !1);
|
|
61
|
+
i.value = Math.max(0, Math.min(1, o)), o > 1 ? r.value = y(c.value ? n : l, !0) : o < 0 && (r.value = y(c.value ? n : l, !1));
|
|
62
|
+
}
|
|
63
|
+
function L(e) {
|
|
64
|
+
if (m = !1, !v.value)
|
|
65
|
+
return;
|
|
66
|
+
g(e), v.value = !1;
|
|
67
|
+
const n = $(e.changedTouches[0].identifier), l = Math.abs(n.x), o = Math.abs(n.y);
|
|
68
|
+
(c.value ? l > o && l > 400 : o > l && o > 3) ? f.value = n.direction === ({
|
|
69
|
+
left: "right",
|
|
70
|
+
right: "left",
|
|
71
|
+
top: "down",
|
|
72
|
+
bottom: "up"
|
|
73
|
+
}[t.value] || d()) : f.value = i.value > 0.5;
|
|
74
|
+
}
|
|
75
|
+
const w = X(() => v.value ? {
|
|
76
|
+
transform: t.value === "left" ? `translateX(calc(-100% + ${i.value * a.value}px))` : t.value === "right" ? `translateX(calc(100% - ${i.value * a.value}px))` : t.value === "top" ? `translateY(calc(-100% + ${i.value * a.value}px))` : t.value === "bottom" ? `translateY(calc(100% - ${i.value * a.value}px))` : d(),
|
|
77
|
+
transition: "none"
|
|
78
|
+
} : void 0);
|
|
79
|
+
return S(v, () => {
|
|
80
|
+
var l, o;
|
|
81
|
+
const e = ((l = h.value) == null ? void 0 : l.style.transform) ?? null, n = ((o = h.value) == null ? void 0 : o.style.transition) ?? null;
|
|
82
|
+
A(() => {
|
|
83
|
+
var u, s, E, P;
|
|
84
|
+
(s = h.value) == null || s.style.setProperty("transform", ((u = w.value) == null ? void 0 : u.transform) || "none"), (P = h.value) == null || P.style.setProperty("transition", ((E = w.value) == null ? void 0 : E.transition) || null);
|
|
85
|
+
}), B(() => {
|
|
86
|
+
var u, s;
|
|
87
|
+
(u = h.value) == null || u.style.setProperty("transform", e), (s = h.value) == null || s.style.setProperty("transition", n);
|
|
88
|
+
});
|
|
89
|
+
}), {
|
|
90
|
+
isDragging: v,
|
|
91
|
+
dragProgress: i,
|
|
92
|
+
dragStyles: w
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
function d() {
|
|
96
|
+
throw new Error();
|
|
97
|
+
}
|
|
98
|
+
export {
|
|
99
|
+
q as useTouch
|
|
100
|
+
};
|
|
@@ -0,0 +1,315 @@
|
|
|
1
|
+
import { shallowRef as W, computed as g, toRef as c, createVNode as m, normalizeClass as S, normalizeStyle as q, createElementVNode as b, mergeProps as P, nextTick as A } from "vue";
|
|
2
|
+
import "../../../../../../../_virtual/VPagination.sass.mjs";
|
|
3
|
+
import { makeBorderProps as G } from "../../composables/border.mjs";
|
|
4
|
+
import { makeComponentProps as O } from "../../composables/component.mjs";
|
|
5
|
+
import { provideDefaults as R } from "../../composables/defaults.mjs";
|
|
6
|
+
import { makeDensityProps as X } from "../../composables/density.mjs";
|
|
7
|
+
import { makeElevationProps as j } from "../../composables/elevation.mjs";
|
|
8
|
+
import { IconValue as x } from "../../composables/icons.mjs";
|
|
9
|
+
import { useLocale as H, useRtl as J } from "../../composables/locale.mjs";
|
|
10
|
+
import { useProxiedModel as Q } from "../../composables/proxiedModel.mjs";
|
|
11
|
+
import { useRefs as U } from "../../composables/refs.mjs";
|
|
12
|
+
import { useResizeObserver as Y } from "../../composables/resizeObserver.mjs";
|
|
13
|
+
import { makeRoundedProps as Z } from "../../composables/rounded.mjs";
|
|
14
|
+
import { makeSizeProps as ee } from "../../composables/size.mjs";
|
|
15
|
+
import { makeTagProps as ae } from "../../composables/tag.mjs";
|
|
16
|
+
import { makeThemeProps as te, provideTheme as ie } from "../../composables/theme.mjs";
|
|
17
|
+
import { makeVariantProps as le } from "../../composables/variant.mjs";
|
|
18
|
+
import { useDisplay as ne } from "../../composables/display.mjs";
|
|
19
|
+
import { VBtn as h } from "../VBtn/VBtn.mjs";
|
|
20
|
+
import { propsFactory as re } from "../../util/propsFactory.mjs";
|
|
21
|
+
import { genericComponent as oe } from "../../util/defineComponent.mjs";
|
|
22
|
+
import { createRange as k, keyValues as N } from "../../util/helpers.mjs";
|
|
23
|
+
import { useRender as se } from "../../util/useRender.mjs";
|
|
24
|
+
const ue = re({
|
|
25
|
+
activeColor: String,
|
|
26
|
+
start: {
|
|
27
|
+
type: [Number, String],
|
|
28
|
+
default: 1
|
|
29
|
+
},
|
|
30
|
+
modelValue: {
|
|
31
|
+
type: Number,
|
|
32
|
+
default: (e) => e.start
|
|
33
|
+
},
|
|
34
|
+
disabled: Boolean,
|
|
35
|
+
length: {
|
|
36
|
+
type: [Number, String],
|
|
37
|
+
default: 1,
|
|
38
|
+
validator: (e) => e % 1 === 0
|
|
39
|
+
},
|
|
40
|
+
totalVisible: [Number, String],
|
|
41
|
+
firstIcon: {
|
|
42
|
+
type: x,
|
|
43
|
+
default: "$first"
|
|
44
|
+
},
|
|
45
|
+
prevIcon: {
|
|
46
|
+
type: x,
|
|
47
|
+
default: "$prev"
|
|
48
|
+
},
|
|
49
|
+
nextIcon: {
|
|
50
|
+
type: x,
|
|
51
|
+
default: "$next"
|
|
52
|
+
},
|
|
53
|
+
lastIcon: {
|
|
54
|
+
type: x,
|
|
55
|
+
default: "$last"
|
|
56
|
+
},
|
|
57
|
+
ariaLabel: {
|
|
58
|
+
type: String,
|
|
59
|
+
default: "$vuetify.pagination.ariaLabel.root"
|
|
60
|
+
},
|
|
61
|
+
pageAriaLabel: {
|
|
62
|
+
type: String,
|
|
63
|
+
default: "$vuetify.pagination.ariaLabel.page"
|
|
64
|
+
},
|
|
65
|
+
currentPageAriaLabel: {
|
|
66
|
+
type: String,
|
|
67
|
+
default: "$vuetify.pagination.ariaLabel.currentPage"
|
|
68
|
+
},
|
|
69
|
+
firstAriaLabel: {
|
|
70
|
+
type: String,
|
|
71
|
+
default: "$vuetify.pagination.ariaLabel.first"
|
|
72
|
+
},
|
|
73
|
+
previousAriaLabel: {
|
|
74
|
+
type: String,
|
|
75
|
+
default: "$vuetify.pagination.ariaLabel.previous"
|
|
76
|
+
},
|
|
77
|
+
nextAriaLabel: {
|
|
78
|
+
type: String,
|
|
79
|
+
default: "$vuetify.pagination.ariaLabel.next"
|
|
80
|
+
},
|
|
81
|
+
lastAriaLabel: {
|
|
82
|
+
type: String,
|
|
83
|
+
default: "$vuetify.pagination.ariaLabel.last"
|
|
84
|
+
},
|
|
85
|
+
ellipsis: {
|
|
86
|
+
type: String,
|
|
87
|
+
default: "..."
|
|
88
|
+
},
|
|
89
|
+
showFirstLastPage: Boolean,
|
|
90
|
+
...G(),
|
|
91
|
+
...O(),
|
|
92
|
+
...X(),
|
|
93
|
+
...j(),
|
|
94
|
+
...Z(),
|
|
95
|
+
...ee(),
|
|
96
|
+
...ae({
|
|
97
|
+
tag: "nav"
|
|
98
|
+
}),
|
|
99
|
+
...te(),
|
|
100
|
+
...le({
|
|
101
|
+
variant: "text"
|
|
102
|
+
})
|
|
103
|
+
}, "VPagination"), Ce = oe()({
|
|
104
|
+
name: "VPagination",
|
|
105
|
+
props: ue(),
|
|
106
|
+
emits: {
|
|
107
|
+
"update:modelValue": (e) => !0,
|
|
108
|
+
first: (e) => !0,
|
|
109
|
+
prev: (e) => !0,
|
|
110
|
+
next: (e) => !0,
|
|
111
|
+
last: (e) => !0
|
|
112
|
+
},
|
|
113
|
+
setup(e, $) {
|
|
114
|
+
let {
|
|
115
|
+
slots: s,
|
|
116
|
+
emit: B
|
|
117
|
+
} = $;
|
|
118
|
+
const l = Q(e, "modelValue"), {
|
|
119
|
+
t: d,
|
|
120
|
+
n: C
|
|
121
|
+
} = H(), {
|
|
122
|
+
isRtl: L
|
|
123
|
+
} = J(), {
|
|
124
|
+
themeClasses: w
|
|
125
|
+
} = ie(e), {
|
|
126
|
+
width: F
|
|
127
|
+
} = ne(), V = W(-1);
|
|
128
|
+
R(void 0, {
|
|
129
|
+
scoped: !0
|
|
130
|
+
});
|
|
131
|
+
const {
|
|
132
|
+
resizeRef: M
|
|
133
|
+
} = Y((a) => {
|
|
134
|
+
if (!a.length)
|
|
135
|
+
return;
|
|
136
|
+
const {
|
|
137
|
+
target: t,
|
|
138
|
+
contentRect: i
|
|
139
|
+
} = a[0], o = t.querySelector(".v-pagination__list > *");
|
|
140
|
+
if (!o)
|
|
141
|
+
return;
|
|
142
|
+
const u = i.width, p = o.offsetWidth + parseFloat(getComputedStyle(o).marginRight) * 2;
|
|
143
|
+
V.value = _(u, p);
|
|
144
|
+
}), n = g(() => parseInt(e.length, 10)), r = g(() => parseInt(e.start, 10)), v = g(() => e.totalVisible != null ? parseInt(e.totalVisible, 10) : V.value >= 0 ? V.value : _(F.value, 58));
|
|
145
|
+
function _(a, t) {
|
|
146
|
+
const i = e.showFirstLastPage ? 5 : 3;
|
|
147
|
+
return Math.max(0, Math.floor(
|
|
148
|
+
// Round to two decimal places to avoid floating point errors
|
|
149
|
+
Number(((a - t * i) / t).toFixed(2))
|
|
150
|
+
));
|
|
151
|
+
}
|
|
152
|
+
const z = g(() => {
|
|
153
|
+
if (n.value <= 0 || isNaN(n.value) || n.value > Number.MAX_SAFE_INTEGER)
|
|
154
|
+
return [];
|
|
155
|
+
if (v.value <= 0)
|
|
156
|
+
return [];
|
|
157
|
+
if (v.value === 1)
|
|
158
|
+
return [l.value];
|
|
159
|
+
if (n.value <= v.value)
|
|
160
|
+
return k(n.value, r.value);
|
|
161
|
+
const a = v.value % 2 === 0, t = a ? v.value / 2 : Math.floor(v.value / 2), i = a ? t : t + 1, o = n.value - t;
|
|
162
|
+
if (i - l.value >= 0)
|
|
163
|
+
return [...k(Math.max(1, v.value - 1), r.value), e.ellipsis, n.value];
|
|
164
|
+
if (l.value - o >= (a ? 1 : 0)) {
|
|
165
|
+
const u = v.value - 1, p = n.value - u + r.value;
|
|
166
|
+
return [r.value, e.ellipsis, ...k(u, p)];
|
|
167
|
+
} else {
|
|
168
|
+
const u = Math.max(1, v.value - 2), p = u === 1 ? l.value : l.value - Math.ceil(u / 2) + r.value;
|
|
169
|
+
return [r.value, e.ellipsis, ...k(u, p), e.ellipsis, n.value];
|
|
170
|
+
}
|
|
171
|
+
});
|
|
172
|
+
function y(a, t, i) {
|
|
173
|
+
a.preventDefault(), l.value = t, i && B(i, t);
|
|
174
|
+
}
|
|
175
|
+
const {
|
|
176
|
+
refs: D,
|
|
177
|
+
updateRef: E
|
|
178
|
+
} = U();
|
|
179
|
+
R({
|
|
180
|
+
VPaginationBtn: {
|
|
181
|
+
color: c(() => e.color),
|
|
182
|
+
border: c(() => e.border),
|
|
183
|
+
density: c(() => e.density),
|
|
184
|
+
size: c(() => e.size),
|
|
185
|
+
variant: c(() => e.variant),
|
|
186
|
+
rounded: c(() => e.rounded),
|
|
187
|
+
elevation: c(() => e.elevation)
|
|
188
|
+
}
|
|
189
|
+
});
|
|
190
|
+
const T = g(() => z.value.map((a, t) => {
|
|
191
|
+
const i = (o) => E(o, t);
|
|
192
|
+
if (typeof a == "string")
|
|
193
|
+
return {
|
|
194
|
+
isActive: !1,
|
|
195
|
+
key: `ellipsis-${t}`,
|
|
196
|
+
page: a,
|
|
197
|
+
props: {
|
|
198
|
+
ref: i,
|
|
199
|
+
ellipsis: !0,
|
|
200
|
+
icon: !0,
|
|
201
|
+
disabled: !0
|
|
202
|
+
}
|
|
203
|
+
};
|
|
204
|
+
{
|
|
205
|
+
const o = a === l.value;
|
|
206
|
+
return {
|
|
207
|
+
isActive: o,
|
|
208
|
+
key: a,
|
|
209
|
+
page: C(a),
|
|
210
|
+
props: {
|
|
211
|
+
ref: i,
|
|
212
|
+
ellipsis: !1,
|
|
213
|
+
icon: !0,
|
|
214
|
+
disabled: !!e.disabled || Number(e.length) < 2,
|
|
215
|
+
color: o ? e.activeColor : e.color,
|
|
216
|
+
"aria-current": o,
|
|
217
|
+
"aria-label": d(o ? e.currentPageAriaLabel : e.pageAriaLabel, a),
|
|
218
|
+
onClick: (u) => y(u, a)
|
|
219
|
+
}
|
|
220
|
+
};
|
|
221
|
+
}
|
|
222
|
+
})), f = g(() => {
|
|
223
|
+
const a = !!e.disabled || l.value <= r.value, t = !!e.disabled || l.value >= r.value + n.value - 1;
|
|
224
|
+
return {
|
|
225
|
+
first: e.showFirstLastPage ? {
|
|
226
|
+
icon: L.value ? e.lastIcon : e.firstIcon,
|
|
227
|
+
onClick: (i) => y(i, r.value, "first"),
|
|
228
|
+
disabled: a,
|
|
229
|
+
"aria-label": d(e.firstAriaLabel),
|
|
230
|
+
"aria-disabled": a
|
|
231
|
+
} : void 0,
|
|
232
|
+
prev: {
|
|
233
|
+
icon: L.value ? e.nextIcon : e.prevIcon,
|
|
234
|
+
onClick: (i) => y(i, l.value - 1, "prev"),
|
|
235
|
+
disabled: a,
|
|
236
|
+
"aria-label": d(e.previousAriaLabel),
|
|
237
|
+
"aria-disabled": a
|
|
238
|
+
},
|
|
239
|
+
next: {
|
|
240
|
+
icon: L.value ? e.prevIcon : e.nextIcon,
|
|
241
|
+
onClick: (i) => y(i, l.value + 1, "next"),
|
|
242
|
+
disabled: t,
|
|
243
|
+
"aria-label": d(e.nextAriaLabel),
|
|
244
|
+
"aria-disabled": t
|
|
245
|
+
},
|
|
246
|
+
last: e.showFirstLastPage ? {
|
|
247
|
+
icon: L.value ? e.firstIcon : e.lastIcon,
|
|
248
|
+
onClick: (i) => y(i, r.value + n.value - 1, "last"),
|
|
249
|
+
disabled: t,
|
|
250
|
+
"aria-label": d(e.lastAriaLabel),
|
|
251
|
+
"aria-disabled": t
|
|
252
|
+
} : void 0
|
|
253
|
+
};
|
|
254
|
+
});
|
|
255
|
+
function I() {
|
|
256
|
+
var t;
|
|
257
|
+
const a = l.value - r.value;
|
|
258
|
+
(t = D.value[a]) == null || t.$el.focus();
|
|
259
|
+
}
|
|
260
|
+
function K(a) {
|
|
261
|
+
a.key === N.left && !e.disabled && l.value > Number(e.start) ? (l.value = l.value - 1, A(I)) : a.key === N.right && !e.disabled && l.value < r.value + n.value - 1 && (l.value = l.value + 1, A(I));
|
|
262
|
+
}
|
|
263
|
+
return se(() => m(e.tag, {
|
|
264
|
+
ref: M,
|
|
265
|
+
class: S(["v-pagination", w.value, e.class]),
|
|
266
|
+
style: q(e.style),
|
|
267
|
+
role: "navigation",
|
|
268
|
+
"aria-label": d(e.ariaLabel),
|
|
269
|
+
onKeydown: K,
|
|
270
|
+
"data-test": "v-pagination-root"
|
|
271
|
+
}, {
|
|
272
|
+
default: () => [b("ul", {
|
|
273
|
+
class: "v-pagination__list"
|
|
274
|
+
}, [e.showFirstLastPage && b("li", {
|
|
275
|
+
key: "first",
|
|
276
|
+
class: "v-pagination__first",
|
|
277
|
+
"data-test": "v-pagination-first"
|
|
278
|
+
}, [s.first ? s.first(f.value.first) : m(h, P({
|
|
279
|
+
_as: "VPaginationBtn"
|
|
280
|
+
}, f.value.first), null)]), b("li", {
|
|
281
|
+
key: "prev",
|
|
282
|
+
class: "v-pagination__prev",
|
|
283
|
+
"data-test": "v-pagination-prev"
|
|
284
|
+
}, [s.prev ? s.prev(f.value.prev) : m(h, P({
|
|
285
|
+
_as: "VPaginationBtn"
|
|
286
|
+
}, f.value.prev), null)]), T.value.map((a, t) => b("li", {
|
|
287
|
+
key: a.key,
|
|
288
|
+
class: S(["v-pagination__item", {
|
|
289
|
+
"v-pagination__item--is-active": a.isActive
|
|
290
|
+
}]),
|
|
291
|
+
"data-test": "v-pagination-item"
|
|
292
|
+
}, [s.item ? s.item(a) : m(h, P({
|
|
293
|
+
_as: "VPaginationBtn"
|
|
294
|
+
}, a.props), {
|
|
295
|
+
default: () => [a.page]
|
|
296
|
+
})])), b("li", {
|
|
297
|
+
key: "next",
|
|
298
|
+
class: "v-pagination__next",
|
|
299
|
+
"data-test": "v-pagination-next"
|
|
300
|
+
}, [s.next ? s.next(f.value.next) : m(h, P({
|
|
301
|
+
_as: "VPaginationBtn"
|
|
302
|
+
}, f.value.next), null)]), e.showFirstLastPage && b("li", {
|
|
303
|
+
key: "last",
|
|
304
|
+
class: "v-pagination__last",
|
|
305
|
+
"data-test": "v-pagination-last"
|
|
306
|
+
}, [s.last ? s.last(f.value.last) : m(h, P({
|
|
307
|
+
_as: "VPaginationBtn"
|
|
308
|
+
}, f.value.last), null)])])]
|
|
309
|
+
})), {};
|
|
310
|
+
}
|
|
311
|
+
});
|
|
312
|
+
export {
|
|
313
|
+
Ce as VPagination,
|
|
314
|
+
ue as makeVPaginationProps
|
|
315
|
+
};
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
import { ref as E, computed as r, shallowRef as H, useId as q, createVNode as m, normalizeClass as C, normalizeStyle as D, createElementVNode as o, Fragment as w, mergeProps as j, createTextVNode as G, nextTick as P } from "vue";
|
|
2
|
+
import "../../../../../../../_virtual/VRating.sass.mjs";
|
|
3
|
+
import { makeComponentProps as J } from "../../composables/component.mjs";
|
|
4
|
+
import { makeDensityProps as O } from "../../composables/density.mjs";
|
|
5
|
+
import { IconValue as F } from "../../composables/icons.mjs";
|
|
6
|
+
import { useLocale as Q } from "../../composables/locale.mjs";
|
|
7
|
+
import { useProxiedModel as U } from "../../composables/proxiedModel.mjs";
|
|
8
|
+
import { makeSizeProps as W } from "../../composables/size.mjs";
|
|
9
|
+
import { makeTagProps as X } from "../../composables/tag.mjs";
|
|
10
|
+
import { makeThemeProps as Y, provideTheme as Z } from "../../composables/theme.mjs";
|
|
11
|
+
import { VBtn as p } from "../VBtn/VBtn.mjs";
|
|
12
|
+
import { propsFactory as ee } from "../../util/propsFactory.mjs";
|
|
13
|
+
import { genericComponent as te } from "../../util/defineComponent.mjs";
|
|
14
|
+
import { clamp as ne, createRange as ae } from "../../util/helpers.mjs";
|
|
15
|
+
import { useRender as le } from "../../util/useRender.mjs";
|
|
16
|
+
const oe = ee({
|
|
17
|
+
name: String,
|
|
18
|
+
itemAriaLabel: {
|
|
19
|
+
type: String,
|
|
20
|
+
default: "$vuetify.rating.ariaLabel.item"
|
|
21
|
+
},
|
|
22
|
+
activeColor: String,
|
|
23
|
+
color: String,
|
|
24
|
+
clearable: Boolean,
|
|
25
|
+
disabled: Boolean,
|
|
26
|
+
emptyIcon: {
|
|
27
|
+
type: F,
|
|
28
|
+
default: "$ratingEmpty"
|
|
29
|
+
},
|
|
30
|
+
fullIcon: {
|
|
31
|
+
type: F,
|
|
32
|
+
default: "$ratingFull"
|
|
33
|
+
},
|
|
34
|
+
halfIncrements: Boolean,
|
|
35
|
+
hover: Boolean,
|
|
36
|
+
length: {
|
|
37
|
+
type: [Number, String],
|
|
38
|
+
default: 5
|
|
39
|
+
},
|
|
40
|
+
readonly: Boolean,
|
|
41
|
+
modelValue: {
|
|
42
|
+
type: [Number, String],
|
|
43
|
+
default: 0
|
|
44
|
+
},
|
|
45
|
+
itemLabels: Array,
|
|
46
|
+
itemLabelPosition: {
|
|
47
|
+
type: String,
|
|
48
|
+
default: "top",
|
|
49
|
+
validator: (e) => ["top", "bottom"].includes(e)
|
|
50
|
+
},
|
|
51
|
+
ripple: Boolean,
|
|
52
|
+
...J(),
|
|
53
|
+
...O(),
|
|
54
|
+
...W(),
|
|
55
|
+
...X(),
|
|
56
|
+
...Y()
|
|
57
|
+
}, "VRating"), Me = te()({
|
|
58
|
+
name: "VRating",
|
|
59
|
+
props: oe(),
|
|
60
|
+
emits: {
|
|
61
|
+
"update:modelValue": (e) => !0
|
|
62
|
+
},
|
|
63
|
+
setup(e, R) {
|
|
64
|
+
let {
|
|
65
|
+
slots: c
|
|
66
|
+
} = R;
|
|
67
|
+
const {
|
|
68
|
+
t: y
|
|
69
|
+
} = Q(), {
|
|
70
|
+
themeClasses: A
|
|
71
|
+
} = Z(e), x = E(), i = U(e, "modelValue"), s = r(() => ne(parseFloat(i.value), 0, Number(e.length))), I = r(() => ae(Number(e.length), 1)), M = r(() => I.value.flatMap((t) => e.halfIncrements ? [t - 0.5, t] : [t])), f = H(-1), g = r(() => M.value.map((t) => {
|
|
72
|
+
const a = e.hover && f.value > -1, n = s.value >= t, l = f.value >= t, u = (a ? l : n) ? e.fullIcon : e.emptyIcon, h = e.activeColor ?? e.color, b = n || l ? h : e.color;
|
|
73
|
+
return {
|
|
74
|
+
isFilled: n,
|
|
75
|
+
isHovered: l,
|
|
76
|
+
icon: u,
|
|
77
|
+
color: b
|
|
78
|
+
};
|
|
79
|
+
})), B = r(() => [0, ...M.value].map((t) => {
|
|
80
|
+
function a() {
|
|
81
|
+
f.value = t;
|
|
82
|
+
}
|
|
83
|
+
function n() {
|
|
84
|
+
f.value = -1;
|
|
85
|
+
}
|
|
86
|
+
function l() {
|
|
87
|
+
e.disabled || e.readonly || (i.value = s.value === t && e.clearable ? 0 : t);
|
|
88
|
+
}
|
|
89
|
+
return {
|
|
90
|
+
onMouseenter: e.hover ? a : void 0,
|
|
91
|
+
onMouseleave: e.hover ? n : void 0,
|
|
92
|
+
onClick: l
|
|
93
|
+
};
|
|
94
|
+
})), z = r(() => e.halfIncrements ? 1 + Math.floor(Math.max(0, Number(i.value ?? 0) - 0.5)) * 2 : Math.floor(Math.max(0, Number(i.value ?? 0) - 1)));
|
|
95
|
+
function V() {
|
|
96
|
+
var a;
|
|
97
|
+
const t = (a = x.value) == null ? void 0 : a.querySelector('[tabindex="0"]');
|
|
98
|
+
t == null || t.focus();
|
|
99
|
+
}
|
|
100
|
+
function $(t) {
|
|
101
|
+
if (e.disabled || e.readonly || t.ctrlKey || t.altKey)
|
|
102
|
+
return;
|
|
103
|
+
const a = e.halfIncrements ? 0.5 : 1;
|
|
104
|
+
if (t.key === "ArrowRight") {
|
|
105
|
+
const n = Math.min(Number(e.length), Number(i.value ?? 0) + a);
|
|
106
|
+
i.value = n, P(() => V());
|
|
107
|
+
}
|
|
108
|
+
if (t.key === "ArrowLeft") {
|
|
109
|
+
const n = Math.max(0, Number(i.value ?? 0) - a);
|
|
110
|
+
i.value = n, P(() => V());
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
const T = q(), L = r(() => e.name ?? `v-rating-${T}`);
|
|
114
|
+
function v(t) {
|
|
115
|
+
var N, _;
|
|
116
|
+
let {
|
|
117
|
+
value: a,
|
|
118
|
+
index: n,
|
|
119
|
+
showStar: l = !0
|
|
120
|
+
} = t;
|
|
121
|
+
const {
|
|
122
|
+
onMouseenter: d,
|
|
123
|
+
onMouseleave: u,
|
|
124
|
+
onClick: h
|
|
125
|
+
} = B.value[n + 1], b = `${L.value}-${String(a).replace(".", "-")}`, K = n === z.value, k = {
|
|
126
|
+
color: (N = g.value[n]) == null ? void 0 : N.color,
|
|
127
|
+
density: e.density,
|
|
128
|
+
disabled: e.disabled,
|
|
129
|
+
icon: (_ = g.value[n]) == null ? void 0 : _.icon,
|
|
130
|
+
ripple: e.ripple,
|
|
131
|
+
size: e.size,
|
|
132
|
+
variant: "plain",
|
|
133
|
+
tabindex: K ? 0 : -1,
|
|
134
|
+
onKeydown: $
|
|
135
|
+
};
|
|
136
|
+
return o(w, null, [o("label", {
|
|
137
|
+
for: b,
|
|
138
|
+
class: C({
|
|
139
|
+
"v-rating__item--half": e.halfIncrements && a % 1 > 0,
|
|
140
|
+
"v-rating__item--full": e.halfIncrements && a % 1 === 0
|
|
141
|
+
}),
|
|
142
|
+
onMouseenter: d,
|
|
143
|
+
onMouseleave: u,
|
|
144
|
+
onClick: h
|
|
145
|
+
}, [o("span", {
|
|
146
|
+
class: "v-rating__hidden"
|
|
147
|
+
}, [y(e.itemAriaLabel, a, e.length)]), l ? c.item ? c.item({
|
|
148
|
+
...g.value[n],
|
|
149
|
+
props: k,
|
|
150
|
+
value: a,
|
|
151
|
+
index: n,
|
|
152
|
+
rating: s.value
|
|
153
|
+
}) : m(p, j({
|
|
154
|
+
"aria-label": y(e.itemAriaLabel, a, e.length)
|
|
155
|
+
}, k), null) : void 0]), o("input", {
|
|
156
|
+
class: "v-rating__hidden",
|
|
157
|
+
name: L.value,
|
|
158
|
+
id: b,
|
|
159
|
+
type: "radio",
|
|
160
|
+
value: a,
|
|
161
|
+
checked: s.value === a,
|
|
162
|
+
tabindex: -1,
|
|
163
|
+
readonly: e.readonly,
|
|
164
|
+
disabled: e.disabled
|
|
165
|
+
}, null)]);
|
|
166
|
+
}
|
|
167
|
+
function S(t) {
|
|
168
|
+
return c["item-label"] ? c["item-label"](t) : t.label ? o("span", null, [t.label]) : o("span", null, [G(" ")]);
|
|
169
|
+
}
|
|
170
|
+
return le(() => {
|
|
171
|
+
var a;
|
|
172
|
+
const t = !!((a = e.itemLabels) != null && a.length) || c["item-label"];
|
|
173
|
+
return m(e.tag, {
|
|
174
|
+
class: C(["v-rating", {
|
|
175
|
+
"v-rating--hover": e.hover,
|
|
176
|
+
"v-rating--readonly": e.readonly
|
|
177
|
+
}, A.value, e.class]),
|
|
178
|
+
style: D(e.style),
|
|
179
|
+
ref: x
|
|
180
|
+
}, {
|
|
181
|
+
default: () => [m(v, {
|
|
182
|
+
value: 0,
|
|
183
|
+
index: -1,
|
|
184
|
+
showStar: !1
|
|
185
|
+
}, null), I.value.map((n, l) => {
|
|
186
|
+
var d, u;
|
|
187
|
+
return o("div", {
|
|
188
|
+
class: "v-rating__wrapper"
|
|
189
|
+
}, [t && e.itemLabelPosition === "top" ? S({
|
|
190
|
+
value: n,
|
|
191
|
+
index: l,
|
|
192
|
+
label: (d = e.itemLabels) == null ? void 0 : d[l]
|
|
193
|
+
}) : void 0, o("div", {
|
|
194
|
+
class: "v-rating__item"
|
|
195
|
+
}, [e.halfIncrements ? o(w, null, [m(v, {
|
|
196
|
+
value: n - 0.5,
|
|
197
|
+
index: l * 2
|
|
198
|
+
}, null), m(v, {
|
|
199
|
+
value: n,
|
|
200
|
+
index: l * 2 + 1
|
|
201
|
+
}, null)]) : m(v, {
|
|
202
|
+
value: n,
|
|
203
|
+
index: l
|
|
204
|
+
}, null)]), t && e.itemLabelPosition === "bottom" ? S({
|
|
205
|
+
value: n,
|
|
206
|
+
index: l,
|
|
207
|
+
label: (u = e.itemLabels) == null ? void 0 : u[l]
|
|
208
|
+
}) : void 0]);
|
|
209
|
+
})]
|
|
210
|
+
});
|
|
211
|
+
}), {};
|
|
212
|
+
}
|
|
213
|
+
});
|
|
214
|
+
export {
|
|
215
|
+
Me as VRating,
|
|
216
|
+
oe as makeVRatingProps
|
|
217
|
+
};
|