@nmorph/nmorph-ui-kit 2.2.43 → 2.2.45
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/assets/icons/burger.svg.js +5 -5
- package/dist/assets/icons/download.svg.js +5 -5
- package/dist/assets/icons/open.svg.js +2 -2
- package/dist/assets/icons/search.svg.js +1 -1
- package/dist/assets/icons/smile.svg.js +4 -4
- package/dist/components/basic/nmorph-button/NmorphButton.vue.js +16 -16
- package/dist/components/basic/nmorph-scroll/NmorphScroll.css +1 -1
- package/dist/components/basic/nmorph-scroll/NmorphScroll.vue.js +179 -74
- package/dist/components/data/nmorph-audio-preview/NmorphAudioPreview.css +1 -0
- package/dist/components/data/nmorph-audio-preview/NmorphAudioPreview.vue.js +207 -0
- package/dist/components/data/nmorph-audio-preview/NmorphAudioPreview.vue3.js +6 -0
- package/dist/components/data/nmorph-emoji-picker/NmorphEmojiPicker.css +1 -0
- package/dist/components/data/nmorph-emoji-picker/NmorphEmojiPicker.vue.js +405 -0
- package/dist/components/data/nmorph-emoji-picker/NmorphEmojiPicker.vue3.js +6 -0
- package/dist/components/data/nmorph-file-card/NmorphFileCard.css +1 -0
- package/dist/components/data/nmorph-file-card/NmorphFileCard.vue.js +124 -0
- package/dist/components/data/nmorph-file-card/NmorphFileCard.vue3.js +6 -0
- package/dist/components/data/nmorph-media-tile/NmorphMediaTile.vue.js +8 -8
- package/dist/components/data/nmorph-video-preview/NmorphVideoPreview.css +1 -0
- package/dist/components/data/nmorph-video-preview/NmorphVideoPreview.vue.js +147 -0
- package/dist/components/data/nmorph-video-preview/NmorphVideoPreview.vue3.js +6 -0
- package/dist/components/form/nmorph-file-upload/NmorphFileUpload.css +1 -1
- package/dist/components/form/nmorph-file-upload/NmorphFileUpload.vue.js +154 -125
- package/dist/components/form/nmorph-file-upload/types.js +9 -9
- package/dist/hooks/use-common-styles.js +92 -12
- package/dist/index.es.js +861 -849
- package/dist/index.umd.js +108 -28
- package/dist/package.json.js +1 -1
- package/dist/src/components/basic/nmorph-scroll/NmorphScroll.vue.d.ts +1 -0
- package/dist/src/components/data/index.d.ts +8 -0
- package/dist/src/components/data/nmorph-audio-preview/NmorphAudioPreview.vue.d.ts +38 -0
- package/dist/src/components/data/nmorph-audio-preview/types.d.ts +20 -0
- package/dist/src/components/data/nmorph-calendar/NmorphCalendar.vue.d.ts +1 -1
- package/dist/src/components/data/nmorph-emoji-picker/NmorphEmojiPicker.vue.d.ts +25 -0
- package/dist/src/components/data/nmorph-emoji-picker/types.d.ts +51 -0
- package/dist/src/components/data/nmorph-file-card/NmorphFileCard.vue.d.ts +30 -0
- package/dist/src/components/data/nmorph-file-card/types.d.ts +18 -0
- package/dist/src/components/data/nmorph-media-tile/NmorphMediaTile.vue.d.ts +1 -1
- package/dist/src/components/data/nmorph-video-preview/NmorphVideoPreview.vue.d.ts +41 -0
- package/dist/src/components/data/nmorph-video-preview/types.d.ts +27 -0
- package/dist/src/components/form/nmorph-date-picker/inner-components/nmorph-year-month-picker/NmorphYearMonthPicker.vue.d.ts +1 -1
- package/dist/src/components/form/nmorph-file-upload/NmorphFileUpload.vue.d.ts +1 -1
- package/dist/src/components/form/nmorph-file-upload/types.d.ts +4 -0
- package/dist/src/components/form/nmorph-number-input/NmorphNumberInput.vue.d.ts +1 -1
- package/dist/src/components/form/nmorph-slider/NmorphSlider.vue.d.ts +1 -1
- package/dist/src/components/form/nmorph-text-input/NmorphTextInput.vue.d.ts +1 -1
- package/dist/src/components/form/nmorph-textarea/NmorphTextarea.vue.d.ts +1 -1
- package/dist/src/components/navigation/nmorph-backtop/NmorphBacktop.vue.d.ts +1 -1
- package/dist/src/utils/file-types.d.ts +8 -1
- package/dist/style.css +1 -1
- package/dist/utils/file-types.js +28 -21
- package/package.json +23 -24
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { openBlock as t, createElementBlock as
|
|
1
|
+
import { openBlock as t, createElementBlock as o, createElementVNode as r } from "vue";
|
|
2
2
|
const n = {
|
|
3
3
|
xmlns: "http://www.w3.org/2000/svg",
|
|
4
4
|
viewBox: "0 0 32 32"
|
|
5
5
|
};
|
|
6
6
|
function l(m, e) {
|
|
7
|
-
return t(),
|
|
8
|
-
|
|
7
|
+
return t(), o("svg", n, [...e[0] || (e[0] = [
|
|
8
|
+
r("path", { d: "M2 6h28v6H2zm0 8h28v6H2zm0 8h28v6H2z" }, null, -1)
|
|
9
9
|
])]);
|
|
10
10
|
}
|
|
11
|
-
const
|
|
11
|
+
const s = { render: l };
|
|
12
12
|
export {
|
|
13
|
-
|
|
13
|
+
s as default,
|
|
14
14
|
l as render
|
|
15
15
|
};
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { openBlock as
|
|
1
|
+
import { openBlock as o, createElementBlock as t, createElementVNode as n } from "vue";
|
|
2
2
|
const r = {
|
|
3
3
|
xmlns: "http://www.w3.org/2000/svg",
|
|
4
4
|
viewBox: "0 0 1024 1024"
|
|
5
5
|
};
|
|
6
|
-
function l(
|
|
7
|
-
return
|
|
6
|
+
function l(a, e) {
|
|
7
|
+
return o(), t("svg", r, [...e[0] || (e[0] = [
|
|
8
8
|
n("path", { d: "M160 832h704a32 32 0 1 1 0 64H160a32 32 0 1 1 0-64m384-253.696 236.288-236.352 45.248 45.248L508.8 704 192 387.2l45.248-45.248L480 584.704V128h64z" }, null, -1)
|
|
9
9
|
])]);
|
|
10
10
|
}
|
|
11
|
-
const
|
|
11
|
+
const d = { render: l };
|
|
12
12
|
export {
|
|
13
|
-
|
|
13
|
+
d as default,
|
|
14
14
|
l as render
|
|
15
15
|
};
|
|
@@ -9,8 +9,8 @@ function a(l, e) {
|
|
|
9
9
|
t("path", { d: "M694.044 621.227a109.227 109.227 0 1 0 0-218.454 109.227 109.227 0 0 0 0 218.454m0 72.817a182.044 182.044 0 1 1 0-364.088 182.044 182.044 0 0 1 0 364.088" }, null, -1)
|
|
10
10
|
])]);
|
|
11
11
|
}
|
|
12
|
-
const
|
|
12
|
+
const p = { render: a };
|
|
13
13
|
export {
|
|
14
|
-
|
|
14
|
+
p as default,
|
|
15
15
|
a as render
|
|
16
16
|
};
|
|
@@ -3,7 +3,7 @@ const n = {
|
|
|
3
3
|
xmlns: "http://www.w3.org/2000/svg",
|
|
4
4
|
viewBox: "0 0 32 32"
|
|
5
5
|
};
|
|
6
|
-
function c(
|
|
6
|
+
function c(l, e) {
|
|
7
7
|
return t(), o("svg", n, [...e[0] || (e[0] = [
|
|
8
8
|
r("path", { d: "m31.008 27.231-7.58-6.447c-.784-.705-1.622-1.029-2.299-.998a11.95 11.95 0 0 0 2.87-7.787c0-6.627-5.373-12-12-12s-12 5.373-12 12 5.373 12 12 12c2.972 0 5.691-1.081 7.787-2.87-.031.677.293 1.515.998 2.299l6.447 7.58c1.104 1.226 2.907 1.33 4.007.23s.997-2.903-.23-4.007M12 20a8 8 0 1 1 0-16 8 8 0 0 1 0 16" }, null, -1)
|
|
9
9
|
])]);
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { openBlock as
|
|
1
|
+
import { openBlock as o, createElementBlock as n, createElementVNode as t } from "vue";
|
|
2
2
|
const r = {
|
|
3
3
|
xmlns: "http://www.w3.org/2000/svg",
|
|
4
4
|
viewBox: "0 0 1024 1024"
|
|
5
5
|
};
|
|
6
6
|
function a(l, e) {
|
|
7
|
-
return
|
|
7
|
+
return o(), n("svg", r, [...e[0] || (e[0] = [
|
|
8
8
|
t("path", { d: "M512 64a448 448 0 1 0 0 896 448 448 0 0 0 0-896m0 64a384 384 0 1 1 0 768 384 384 0 0 1 0-768" }, null, -1),
|
|
9
9
|
t("path", { d: "M352 384a48 48 0 1 1 0 96 48 48 0 0 1 0-96m320 0a48 48 0 1 1 0 96 48 48 0 0 1 0-96M352.64 585.6a32 32 0 0 1 43.648 11.712C419.84 638.08 462.976 672 512 672s92.16-33.92 115.712-74.688a32 32 0 0 1 55.36 32C649.6 687.296 586.752 736 512 736s-137.6-48.704-171.072-106.688A32 32 0 0 1 352.64 585.6" }, null, -1)
|
|
10
10
|
])]);
|
|
11
11
|
}
|
|
12
|
-
const
|
|
12
|
+
const s = { render: a };
|
|
13
13
|
export {
|
|
14
|
-
|
|
14
|
+
s as default,
|
|
15
15
|
a as render
|
|
16
16
|
};
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import './NmorphButton.css';
|
|
2
|
-
import { defineComponent as C, useSlots as z, computed as o, ref as
|
|
2
|
+
import { defineComponent as C, useSlots as z, computed as o, ref as N, openBlock as t, createElementBlock as r, normalizeStyle as V, normalizeClass as $, createElementVNode as O, createBlock as i, unref as a, withCtx as s, createVNode as E, renderSlot as n, Fragment as H, createCommentVNode as f, toDisplayString as M } from "vue";
|
|
3
3
|
import { useModifiers as D } from "../../../utils/create-modifiers.js";
|
|
4
|
-
import { NmorphComponentHeight as
|
|
4
|
+
import { NmorphComponentHeight as I } from "../../../types/common.types.js";
|
|
5
5
|
import d from "../nmorph-icon/NmorphIcon.vue.js";
|
|
6
6
|
/* empty css */
|
|
7
|
-
import
|
|
7
|
+
import w from "../../../assets/icons/loading.svg.js";
|
|
8
8
|
const T = ["disabled", "loading", "type", "tabindex", "aria-pressed"], F = {
|
|
9
9
|
key: 1,
|
|
10
10
|
class: "nmorph-button__label"
|
|
@@ -32,10 +32,10 @@ const T = ["disabled", "loading", "type", "tabindex", "aria-pressed"], F = {
|
|
|
32
32
|
disabled: { type: Boolean, default: !1 }
|
|
33
33
|
},
|
|
34
34
|
emits: ["update:model-value"],
|
|
35
|
-
setup(y, { expose:
|
|
36
|
-
const e = y, b =
|
|
35
|
+
setup(y, { expose: h, emit: g }) {
|
|
36
|
+
const e = y, b = g, u = z(), v = o(() => !!u.icon), c = o(() => !!u["icon-only"]), p = o(() => e.active || !!e.modelValue), B = o(
|
|
37
37
|
() => D({
|
|
38
|
-
nmorph: [
|
|
38
|
+
nmorph: [I[e.height], e.fill && "fill"],
|
|
39
39
|
"nmorph-button": [
|
|
40
40
|
e.styleType,
|
|
41
41
|
e.shape,
|
|
@@ -48,7 +48,7 @@ const T = ["disabled", "loading", "type", "tabindex", "aria-pressed"], F = {
|
|
|
48
48
|
e.danger && "danger"
|
|
49
49
|
]
|
|
50
50
|
})
|
|
51
|
-
), m =
|
|
51
|
+
), m = N(null), _ = {
|
|
52
52
|
thin: "small",
|
|
53
53
|
basic: "medium",
|
|
54
54
|
thick: "large"
|
|
@@ -59,9 +59,9 @@ const T = ["disabled", "loading", "type", "tabindex", "aria-pressed"], F = {
|
|
|
59
59
|
} : {}), x = () => {
|
|
60
60
|
!e.toggle || e.disabled || e.loading || b("update:model-value", !e.modelValue);
|
|
61
61
|
};
|
|
62
|
-
return
|
|
63
|
-
class:
|
|
64
|
-
style:
|
|
62
|
+
return h({ buttonDOMElement: m }), (l, L) => (t(), r("div", {
|
|
63
|
+
class: $(B.value),
|
|
64
|
+
style: V(S.value)
|
|
65
65
|
}, [
|
|
66
66
|
O("button", {
|
|
67
67
|
ref_key: "buttonDOMElement",
|
|
@@ -74,28 +74,28 @@ const T = ["disabled", "loading", "type", "tabindex", "aria-pressed"], F = {
|
|
|
74
74
|
"aria-pressed": e.toggle ? p.value : void 0,
|
|
75
75
|
onClick: x
|
|
76
76
|
}, [
|
|
77
|
-
e.loading ? (t(),
|
|
77
|
+
e.loading ? (t(), i(a(d), {
|
|
78
78
|
key: 0,
|
|
79
79
|
size: k.value
|
|
80
80
|
}, {
|
|
81
81
|
default: s(() => [
|
|
82
|
-
E(a(
|
|
82
|
+
E(a(w))
|
|
83
83
|
]),
|
|
84
84
|
_: 1
|
|
85
|
-
}, 8, ["size"])) : c.value ? (t(),
|
|
85
|
+
}, 8, ["size"])) : c.value ? (t(), i(a(d), { key: 1 }, {
|
|
86
86
|
default: s(() => [
|
|
87
87
|
n(l.$slots, "icon-only")
|
|
88
88
|
]),
|
|
89
89
|
_: 3
|
|
90
|
-
})) : (t(),
|
|
91
|
-
v.value ? (t(),
|
|
90
|
+
})) : (t(), r(H, { key: 2 }, [
|
|
91
|
+
v.value ? (t(), i(a(d), { key: 0 }, {
|
|
92
92
|
default: s(() => [
|
|
93
93
|
n(l.$slots, "icon")
|
|
94
94
|
]),
|
|
95
95
|
_: 3
|
|
96
96
|
})) : f("", !0),
|
|
97
97
|
n(l.$slots, "default"),
|
|
98
|
-
e.text !== void 0 ? (t(),
|
|
98
|
+
e.text !== void 0 ? (t(), r("span", F, M(e.text), 1)) : f("", !0),
|
|
99
99
|
n(l.$slots, "append")
|
|
100
100
|
], 64))
|
|
101
101
|
], 8, T)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.nmorph-scroll{--thumb-color: var(--nmorph-scroll-thumb-color, var(--nmorph-text-color));color-scheme:var(--nmorph-scroll-color-scheme, light);scrollbar-color:var(--thumb-color)
|
|
1
|
+
.nmorph-scroll{--thumb-color: var(--nmorph-scroll-thumb-color, var(--nmorph-text-color));position:relative;overflow:hidden;color-scheme:var(--nmorph-scroll-color-scheme, light)}.nmorph-scroll__viewport{display:inherit;flex-direction:inherit;flex-wrap:inherit;grid-auto-flow:inherit;grid-template-columns:inherit;grid-template-rows:inherit;gap:inherit;justify-content:inherit;align-content:inherit;align-items:inherit;box-sizing:border-box;width:100%;height:100%;color-scheme:inherit;scrollbar-width:none;-ms-overflow-style:none}.nmorph-scroll__viewport::-webkit-scrollbar{display:none;width:0;height:0;background:transparent}.nmorph-scroll__bar{position:absolute;z-index:1;background:transparent;border-radius:var(--border-radius-40);box-shadow:var(--nmorph-shadow-inset);opacity:.78;transition:opacity ease-in-out .16s,background-color ease-in-out .16s;touch-action:none}.nmorph-scroll__bar--vertical{top:0;right:0;width:var(--bar-width)}.nmorph-scroll__bar--horizontal{right:0;bottom:0;left:0;height:var(--bar-height)}.nmorph-scroll__thumb{position:absolute;top:0;left:0;background-color:var(--thumb-color);border-radius:var(--border-radius-40);cursor:pointer;transition:background-color ease-in-out .16s;touch-action:none}.nmorph-scroll__thumb--vertical{width:100%}.nmorph-scroll__thumb--horizontal{height:100%}.nmorph-scroll--show-bars .nmorph-scroll__bar,.nmorph-scroll__bar:hover{opacity:1}.nmorph-scroll--dragging .nmorph-scroll__thumb{cursor:grabbing}.nmorph-scroll::-webkit-scrollbar{width:var(--bar-width);height:var(--bar-height);background-color:transparent;cursor:pointer;transition:width ease-in-out .2s}.nmorph-scroll::-webkit-scrollbar-button,.nmorph-scroll::-webkit-scrollbar-button:single-button,.nmorph-scroll::-webkit-scrollbar-button:double-button,.nmorph-scroll::-webkit-scrollbar-button:vertical:start:decrement,.nmorph-scroll::-webkit-scrollbar-button:vertical:end:increment,.nmorph-scroll::-webkit-scrollbar-button:horizontal:start:decrement,.nmorph-scroll::-webkit-scrollbar-button:horizontal:end:increment{display:none!important;width:0!important;min-width:0!important;max-width:0!important;height:0!important;min-height:0!important;max-height:0!important;background:transparent!important;background-image:none!important;border:0!important;appearance:none}.nmorph-scroll::-webkit-scrollbar-track{background:transparent;border-radius:var(--border-radius-40);box-shadow:var(--nmorph-shadow-inset)}.nmorph-scroll::-webkit-scrollbar-thumb{background-color:var(--thumb-color);border-radius:var(--border-radius-40)}.nmorph-scroll::-webkit-scrollbar-corner{background-color:transparent}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import './NmorphScroll.css';
|
|
2
|
-
import { defineComponent as
|
|
3
|
-
import { useModifiers as
|
|
4
|
-
const
|
|
2
|
+
import { defineComponent as Pe, ref as c, computed as n, inject as we, onUnmounted as He, onMounted as ze, nextTick as G, watch as N, openBlock as T, createElementBlock as W, normalizeStyle as h, normalizeClass as Be, createElementVNode as M, renderSlot as Te, createCommentVNode as U } from "vue";
|
|
3
|
+
import { useModifiers as We } from "../../../utils/create-modifiers.js";
|
|
4
|
+
const ke = /* @__PURE__ */ Pe({
|
|
5
5
|
__name: "NmorphScroll",
|
|
6
6
|
props: {
|
|
7
7
|
height: { default: "100%" },
|
|
@@ -21,95 +21,200 @@ const F = /* @__PURE__ */ $({
|
|
|
21
21
|
yGapInPx: { default: 0 }
|
|
22
22
|
},
|
|
23
23
|
emits: ["on-scroll", "update:model-value", "on-scroll-end"],
|
|
24
|
-
setup(
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
24
|
+
setup(j, { expose: q, emit: A }) {
|
|
25
|
+
const l = j, F = c(null), s = c(null), J = n(() => l.scrollYProp), K = n(() => l.scrollXProp), f = c(!1), g = c(!1), i = c({
|
|
26
|
+
clientWidth: 0,
|
|
27
|
+
clientHeight: 0,
|
|
28
|
+
scrollWidth: 0,
|
|
29
|
+
scrollHeight: 0,
|
|
30
|
+
scrollLeft: 0,
|
|
31
|
+
scrollTop: 0
|
|
32
|
+
}), y = c(!1);
|
|
33
|
+
let b, a, _ = "";
|
|
34
|
+
const m = () => {
|
|
35
|
+
const e = s.value;
|
|
36
|
+
if (!e) {
|
|
37
|
+
f.value = !1, g.value = !1, i.value = {
|
|
38
|
+
clientWidth: 0,
|
|
39
|
+
clientHeight: 0,
|
|
40
|
+
scrollWidth: 0,
|
|
41
|
+
scrollHeight: 0,
|
|
42
|
+
scrollLeft: 0,
|
|
43
|
+
scrollTop: 0
|
|
44
|
+
};
|
|
29
45
|
return;
|
|
30
46
|
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
47
|
+
const t = {
|
|
48
|
+
clientWidth: e.clientWidth,
|
|
49
|
+
clientHeight: e.clientHeight,
|
|
50
|
+
scrollWidth: e.scrollWidth,
|
|
51
|
+
scrollHeight: e.scrollHeight,
|
|
52
|
+
scrollLeft: e.scrollLeft,
|
|
53
|
+
scrollTop: e.scrollTop
|
|
54
|
+
};
|
|
55
|
+
i.value = t, f.value = t.scrollHeight > t.clientHeight, g.value = t.scrollWidth > t.clientWidth;
|
|
56
|
+
}, Q = n(() => l.yBarWidthInPx + l.yGapInPx), Z = n(() => l.xBarWidthInPx + l.xGapInPx), ee = n(
|
|
57
|
+
() => l.scrollYProp === "hidden" || !f.value ? "0" : `${Q.value}px`
|
|
58
|
+
), te = n(
|
|
59
|
+
() => l.scrollXProp === "hidden" || !g.value ? "0" : `${Z.value}px`
|
|
60
|
+
), k = n(() => `${l.yBarWidthInPx}px`), E = n(() => `${l.xBarWidthInPx}px`), oe = n(() => B.value ? E.value : "0px"), le = n(() => z.value ? k.value : "0px"), ne = we("nmorph");
|
|
61
|
+
let v;
|
|
62
|
+
const P = A, I = () => {
|
|
63
|
+
const e = s.value;
|
|
64
|
+
if (!e) return;
|
|
65
|
+
const t = Math.trunc(e.scrollLeft), o = Math.trunc(e.scrollTop);
|
|
66
|
+
P("update:model-value", { x: t, y: o });
|
|
67
|
+
}, re = () => {
|
|
68
|
+
P("on-scroll-end");
|
|
69
|
+
}, ae = (e) => {
|
|
70
|
+
m(), P("on-scroll", e), s.value && (l.updateOnlyOnScrollEnd || I(), v !== void 0 && clearTimeout(v), v = setTimeout(() => {
|
|
71
|
+
l.updateOnlyOnScrollEnd && I(), re();
|
|
72
|
+
}, l.scrollEndDelay));
|
|
49
73
|
};
|
|
50
|
-
|
|
51
|
-
|
|
74
|
+
He(() => {
|
|
75
|
+
v !== void 0 && clearTimeout(v), b?.disconnect(), V();
|
|
52
76
|
});
|
|
53
|
-
const
|
|
54
|
-
() =>
|
|
55
|
-
"nmorph-scroll":
|
|
77
|
+
const w = c(!1), ie = n(
|
|
78
|
+
() => We({
|
|
79
|
+
"nmorph-scroll": {
|
|
80
|
+
"show-bars": w.value || y.value,
|
|
81
|
+
dragging: y.value
|
|
82
|
+
}
|
|
56
83
|
})
|
|
57
|
-
),
|
|
58
|
-
const { x:
|
|
59
|
-
|
|
60
|
-
left:
|
|
61
|
-
top:
|
|
84
|
+
), H = (e) => {
|
|
85
|
+
const { x: t, y: o } = e;
|
|
86
|
+
s.value?.scrollTo({
|
|
87
|
+
left: t,
|
|
88
|
+
top: o,
|
|
62
89
|
behavior: "smooth"
|
|
63
90
|
});
|
|
64
91
|
};
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
92
|
+
ze(() => {
|
|
93
|
+
H(l.modelValue), G(m), typeof ResizeObserver < "u" && s.value && (b = new ResizeObserver(() => {
|
|
94
|
+
m();
|
|
95
|
+
}), b.observe(s.value));
|
|
96
|
+
}), N(
|
|
97
|
+
() => l.modelValue,
|
|
98
|
+
(e) => {
|
|
99
|
+
H(e);
|
|
71
100
|
},
|
|
72
101
|
{ deep: !0, immediate: !0 }
|
|
73
|
-
),
|
|
74
|
-
() =>
|
|
102
|
+
), N(
|
|
103
|
+
() => ne?.browser.dimensions,
|
|
75
104
|
() => {
|
|
76
|
-
|
|
105
|
+
G(m);
|
|
77
106
|
},
|
|
78
107
|
{ deep: !0, immediate: !0 }
|
|
79
108
|
);
|
|
80
|
-
const
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
109
|
+
const se = n(() => l.cssScrollBehavior), ce = n(() => l.height), ue = n(() => l.maxHeight), de = n(() => ({
|
|
110
|
+
"--bar-width": k.value,
|
|
111
|
+
"--bar-height": E.value,
|
|
112
|
+
boxSizing: "border-box",
|
|
113
|
+
minWidth: "0",
|
|
114
|
+
minHeight: "0",
|
|
115
|
+
height: ce.value,
|
|
116
|
+
maxHeight: ue.value
|
|
117
|
+
})), he = n(() => ({
|
|
118
|
+
paddingRight: ee.value,
|
|
119
|
+
paddingBottom: te.value,
|
|
120
|
+
overflowX: K.value,
|
|
121
|
+
overflowY: J.value,
|
|
122
|
+
scrollBehavior: se.value
|
|
123
|
+
})), z = n(() => l.scrollYProp !== "hidden" && f.value), B = n(() => l.scrollXProp !== "hidden" && g.value), me = n(
|
|
124
|
+
() => Math.max(0, i.value.clientHeight - (B.value ? l.xBarWidthInPx : 0))
|
|
125
|
+
), ve = n(
|
|
126
|
+
() => Math.max(0, i.value.clientWidth - (z.value ? l.yBarWidthInPx : 0))
|
|
127
|
+
), p = (e) => e === "y" ? me.value : ve.value, L = (e) => e === "y" ? i.value.clientHeight : i.value.clientWidth, O = (e) => e === "y" ? i.value.scrollHeight : i.value.scrollWidth, D = (e) => e === "y" ? i.value.scrollTop : i.value.scrollLeft, pe = (e) => Math.min(p(e), Math.max(18, e === "y" ? l.yBarWidthInPx * 3 : l.xBarWidthInPx * 3)), S = (e) => Math.max(0, O(e) - L(e)), u = (e) => {
|
|
128
|
+
const t = p(e), o = O(e), r = L(e);
|
|
129
|
+
return t <= 0 || o <= r ? 0 : Math.min(t, Math.max(pe(e), r / o * t));
|
|
130
|
+
}, C = (e) => {
|
|
131
|
+
const t = S(e), o = Math.max(0, p(e) - u(e));
|
|
132
|
+
return !t || !o ? 0 : D(e) / t * o;
|
|
133
|
+
}, fe = n(() => ({
|
|
134
|
+
height: `${u("y")}px`,
|
|
135
|
+
transform: `translate3d(0, ${C("y")}px, 0)`
|
|
136
|
+
})), ge = n(() => ({
|
|
137
|
+
width: `${u("x")}px`,
|
|
138
|
+
transform: `translate3d(${C("x")}px, 0, 0)`
|
|
139
|
+
})), R = (e, t) => {
|
|
140
|
+
const o = s.value;
|
|
141
|
+
if (!o) return;
|
|
142
|
+
const r = Math.max(0, Math.min(S(e), t));
|
|
143
|
+
e === "y" ? o.scrollTop = r : o.scrollLeft = r, m();
|
|
144
|
+
}, V = () => {
|
|
145
|
+
a && (window.removeEventListener("pointermove", X), window.removeEventListener("pointerup", x), window.removeEventListener("pointercancel", x), a = void 0, y.value = !1, document.body && (document.body.style.userSelect = _));
|
|
146
|
+
}, X = (e) => {
|
|
147
|
+
if (!a) return;
|
|
148
|
+
const o = (a.axis === "y" ? e.clientY : e.clientX) - a.pointerStart, r = Math.max(1, a.trackSize - a.thumbSize), d = o / r * a.maxScroll;
|
|
149
|
+
R(a.axis, a.scrollStart + d);
|
|
150
|
+
}, x = () => {
|
|
151
|
+
V();
|
|
152
|
+
}, Y = (e, t) => {
|
|
153
|
+
t.preventDefault(), t.stopPropagation();
|
|
154
|
+
const o = p(e), r = u(e), d = S(e);
|
|
155
|
+
!o || !r || !d || (a = {
|
|
156
|
+
axis: e,
|
|
157
|
+
pointerStart: e === "y" ? t.clientY : t.clientX,
|
|
158
|
+
scrollStart: D(e),
|
|
159
|
+
trackSize: o,
|
|
160
|
+
thumbSize: r,
|
|
161
|
+
maxScroll: d
|
|
162
|
+
}, y.value = !0, _ = document.body?.style.userSelect ?? "", document.body && (document.body.style.userSelect = "none"), window.addEventListener("pointermove", X), window.addEventListener("pointerup", x), window.addEventListener("pointercancel", x));
|
|
163
|
+
}, $ = (e, t) => {
|
|
164
|
+
if (t.target.closest(".nmorph-scroll__thumb")) return;
|
|
165
|
+
const r = t.currentTarget.getBoundingClientRect(), d = e === "y" ? t.clientY - r.top : t.clientX - r.left, xe = Math.max(1, p(e) - u(e)), be = (d - u(e) / 2) / xe * S(e);
|
|
166
|
+
R(e, be);
|
|
86
167
|
};
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
paddingBottom: I.value,
|
|
101
|
-
overflowX: P.value,
|
|
102
|
-
overflowY: B.value,
|
|
103
|
-
scrollBehavior: C.value
|
|
104
|
-
}),
|
|
105
|
-
onScroll: O,
|
|
106
|
-
onMouseenter: X,
|
|
107
|
-
onMouseleave: Y
|
|
168
|
+
q({ scrollDOMContainer: s, moveTo: H });
|
|
169
|
+
const ye = () => {
|
|
170
|
+
w.value = !0;
|
|
171
|
+
}, Se = () => {
|
|
172
|
+
w.value = !1;
|
|
173
|
+
};
|
|
174
|
+
return (e, t) => (T(), W("div", {
|
|
175
|
+
ref_key: "scrollRoot",
|
|
176
|
+
ref: F,
|
|
177
|
+
class: Be(ie.value),
|
|
178
|
+
style: h(de.value),
|
|
179
|
+
onMouseenter: ye,
|
|
180
|
+
onMouseleave: Se
|
|
108
181
|
}, [
|
|
109
|
-
|
|
182
|
+
M("div", {
|
|
183
|
+
ref_key: "scrollDOMContainer",
|
|
184
|
+
ref: s,
|
|
185
|
+
class: "nmorph-scroll__viewport",
|
|
186
|
+
style: h(he.value),
|
|
187
|
+
onScroll: ae
|
|
188
|
+
}, [
|
|
189
|
+
Te(e.$slots, "default")
|
|
190
|
+
], 36),
|
|
191
|
+
z.value ? (T(), W("div", {
|
|
192
|
+
key: 0,
|
|
193
|
+
class: "nmorph-scroll__bar nmorph-scroll__bar--vertical",
|
|
194
|
+
style: h({ bottom: oe.value }),
|
|
195
|
+
onPointerdown: t[1] || (t[1] = (o) => $("y", o))
|
|
196
|
+
}, [
|
|
197
|
+
M("div", {
|
|
198
|
+
class: "nmorph-scroll__thumb nmorph-scroll__thumb--vertical",
|
|
199
|
+
style: h(fe.value),
|
|
200
|
+
onPointerdown: t[0] || (t[0] = (o) => Y("y", o))
|
|
201
|
+
}, null, 36)
|
|
202
|
+
], 36)) : U("", !0),
|
|
203
|
+
B.value ? (T(), W("div", {
|
|
204
|
+
key: 1,
|
|
205
|
+
class: "nmorph-scroll__bar nmorph-scroll__bar--horizontal",
|
|
206
|
+
style: h({ right: le.value }),
|
|
207
|
+
onPointerdown: t[3] || (t[3] = (o) => $("x", o))
|
|
208
|
+
}, [
|
|
209
|
+
M("div", {
|
|
210
|
+
class: "nmorph-scroll__thumb nmorph-scroll__thumb--horizontal",
|
|
211
|
+
style: h(ge.value),
|
|
212
|
+
onPointerdown: t[2] || (t[2] = (o) => Y("x", o))
|
|
213
|
+
}, null, 36)
|
|
214
|
+
], 36)) : U("", !0)
|
|
110
215
|
], 38));
|
|
111
216
|
}
|
|
112
217
|
});
|
|
113
218
|
export {
|
|
114
|
-
|
|
219
|
+
ke as default
|
|
115
220
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.nmorph-audio-preview{display:flex;gap:var(--indentation-02);align-items:center;box-sizing:border-box;width:var(--nmorph-audio-preview-width, 360px);min-width:0;max-width:100%;min-height:64px;padding:var(--indentation-03);color:var(--nmorph-text-color);background:var(--nmorph-main-color);border-radius:var(--default-border-radius);box-shadow:var(--nmorph-shadow-inset)}.nmorph-audio-preview audio{display:none}.nmorph-audio-preview .nmorph-audio-preview__icon{display:flex;flex:0 0 auto;justify-content:center;align-items:center;width:36px;height:36px;color:var(--nmorph-accent-color);background:color-mix(in srgb,var(--nmorph-accent-color) 12%,transparent);border-radius:var(--default-border-radius);--color: currentColor}.nmorph-audio-preview .nmorph-audio-preview__play{flex:0 0 auto}.nmorph-audio-preview .nmorph-audio-preview__body{display:flex;flex:1 1 0;flex-direction:column;gap:var(--indentation-02);min-width:0}.nmorph-audio-preview .nmorph-audio-preview__header{display:flex;gap:var(--indentation-02);justify-content:space-between;align-items:center;min-width:0}.nmorph-audio-preview .nmorph-audio-preview__name,.nmorph-audio-preview .nmorph-audio-preview__time,.nmorph-audio-preview .nmorph-audio-preview__error{min-width:0;overflow:hidden;font-size:var(--font-size-extra-small);line-height:var(--line-height-regular);white-space:nowrap;text-overflow:ellipsis}.nmorph-audio-preview .nmorph-audio-preview__name{flex:1 1 auto;font-weight:600}.nmorph-audio-preview .nmorph-audio-preview__time{flex:0 0 auto;color:var(--nmorph-semi-contrast-text-color);font-variant-numeric:tabular-nums}.nmorph-audio-preview .nmorph-audio-preview__error{flex:0 1 auto;color:var(--nmorph-error-text-color)}.nmorph-audio-preview .nmorph-audio-preview__range{width:100%;min-width:0;height:6px;padding:0;background:linear-gradient(to right,var(--nmorph-accent-color) var(--nmorph-audio-preview-progress, 0%),color-mix(in srgb,var(--nmorph-text-color) 16%,transparent) 0);border-radius:var(--border-radius-100);outline:0;cursor:pointer;appearance:none}.nmorph-audio-preview .nmorph-audio-preview__range:disabled{cursor:default;opacity:.6}.nmorph-audio-preview .nmorph-audio-preview__range::-webkit-slider-thumb{width:14px;height:14px;background:var(--nmorph-accent-color);border:2px solid var(--nmorph-main-color);border-radius:var(--border-radius-circular);box-shadow:var(--nmorph-shadow-outset);appearance:none}.nmorph-audio-preview .nmorph-audio-preview__range::-moz-range-thumb{width:14px;height:14px;background:var(--nmorph-accent-color);border:2px solid var(--nmorph-main-color);border-radius:var(--border-radius-circular);box-shadow:var(--nmorph-shadow-outset)}.nmorph-audio-preview .nmorph-audio-preview__actions{display:flex;flex:0 0 auto;gap:var(--indentation-01);align-items:center}.nmorph-audio-preview .nmorph-audio-preview__action-link{display:inline-flex;justify-content:center;align-items:center;width:22px;height:22px;color:inherit;text-decoration:none;border-radius:var(--default-border-radius)}.nmorph-audio-preview .nmorph-audio-preview__action-link:hover{color:var(--nmorph-accent-color);background:color-mix(in srgb,var(--nmorph-accent-color) 10%,transparent)}.nmorph-audio-preview .nmorph-audio-preview__action-link .nmorph-icon{--color: currentColor}.nmorph-audio-preview.nmorph-audio-preview--compact{min-height:52px;padding:var(--indentation-02)}.nmorph-audio-preview.nmorph-audio-preview--compact .nmorph-audio-preview__icon{width:30px;height:30px}.nmorph-audio-preview.nmorph-audio-preview--error{outline:1px solid var(--nmorph-error-color)}
|