@nmorph/nmorph-ui-kit 2.2.42 → 2.2.44

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.
Files changed (48) hide show
  1. package/dist/assets/icons/chevron-up.svg.js +4 -4
  2. package/dist/assets/icons/download.svg.js +5 -5
  3. package/dist/assets/icons/open.svg.js +2 -2
  4. package/dist/assets/icons/search.svg.js +1 -1
  5. package/dist/assets/icons/smile.svg.js +4 -4
  6. package/dist/components/basic/nmorph-button/NmorphButton.vue.js +16 -16
  7. package/dist/components/basic/nmorph-icon/NmorphIcon.css +1 -1
  8. package/dist/components/data/nmorph-audio-preview/NmorphAudioPreview.css +1 -0
  9. package/dist/components/data/nmorph-audio-preview/NmorphAudioPreview.vue.js +207 -0
  10. package/dist/components/data/nmorph-audio-preview/NmorphAudioPreview.vue3.js +6 -0
  11. package/dist/components/data/nmorph-emoji-picker/NmorphEmojiPicker.css +1 -0
  12. package/dist/components/data/nmorph-emoji-picker/NmorphEmojiPicker.vue.js +371 -0
  13. package/dist/components/data/nmorph-emoji-picker/NmorphEmojiPicker.vue3.js +6 -0
  14. package/dist/components/data/nmorph-file-card/NmorphFileCard.css +1 -0
  15. package/dist/components/data/nmorph-file-card/NmorphFileCard.vue.js +124 -0
  16. package/dist/components/data/nmorph-file-card/NmorphFileCard.vue3.js +6 -0
  17. package/dist/components/data/nmorph-image-preview/NmorphImagePreview.vue.js +164 -150
  18. package/dist/components/data/nmorph-media-tile/NmorphMediaTile.vue.js +8 -8
  19. package/dist/components/data/nmorph-video-preview/NmorphVideoPreview.css +1 -0
  20. package/dist/components/data/nmorph-video-preview/NmorphVideoPreview.vue.js +147 -0
  21. package/dist/components/data/nmorph-video-preview/NmorphVideoPreview.vue3.js +6 -0
  22. package/dist/components/form/nmorph-file-upload/NmorphFileUpload.css +1 -1
  23. package/dist/components/form/nmorph-file-upload/NmorphFileUpload.vue.js +154 -125
  24. package/dist/components/form/nmorph-file-upload/types.js +9 -9
  25. package/dist/hooks/use-common-styles.js +73 -22
  26. package/dist/index.es.js +861 -849
  27. package/dist/index.umd.js +76 -25
  28. package/dist/package.json.js +1 -1
  29. package/dist/src/components/data/index.d.ts +8 -0
  30. package/dist/src/components/data/nmorph-audio-preview/NmorphAudioPreview.vue.d.ts +38 -0
  31. package/dist/src/components/data/nmorph-audio-preview/types.d.ts +20 -0
  32. package/dist/src/components/data/nmorph-calendar/NmorphCalendar.vue.d.ts +1 -1
  33. package/dist/src/components/data/nmorph-emoji-picker/NmorphEmojiPicker.vue.d.ts +25 -0
  34. package/dist/src/components/data/nmorph-emoji-picker/types.d.ts +50 -0
  35. package/dist/src/components/data/nmorph-file-card/NmorphFileCard.vue.d.ts +30 -0
  36. package/dist/src/components/data/nmorph-file-card/types.d.ts +18 -0
  37. package/dist/src/components/data/nmorph-media-tile/NmorphMediaTile.vue.d.ts +1 -1
  38. package/dist/src/components/data/nmorph-video-preview/NmorphVideoPreview.vue.d.ts +41 -0
  39. package/dist/src/components/data/nmorph-video-preview/types.d.ts +27 -0
  40. package/dist/src/components/form/nmorph-date-picker/inner-components/nmorph-year-month-picker/NmorphYearMonthPicker.vue.d.ts +1 -1
  41. package/dist/src/components/form/nmorph-file-upload/NmorphFileUpload.vue.d.ts +1 -1
  42. package/dist/src/components/form/nmorph-file-upload/types.d.ts +4 -0
  43. package/dist/src/components/form/nmorph-number-input/NmorphNumberInput.vue.d.ts +1 -1
  44. package/dist/src/components/form/nmorph-slider/NmorphSlider.vue.d.ts +1 -1
  45. package/dist/src/utils/file-types.d.ts +8 -1
  46. package/dist/style.css +1 -1
  47. package/dist/utils/file-types.js +28 -21
  48. package/package.json +23 -24
@@ -1,15 +1,15 @@
1
- import { openBlock as t, createElementBlock as o, createElementVNode as n } from "vue";
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 32 32"
5
5
  };
6
6
  function l(c, e) {
7
- return t(), o("svg", r, [...e[0] || (e[0] = [
7
+ return o(), t("svg", r, [...e[0] || (e[0] = [
8
8
  n("path", { d: "M2 20 16 8l14 12-2 2-12-10L4 22Z" }, null, -1)
9
9
  ])]);
10
10
  }
11
- const d = { render: l };
11
+ const s = { render: l };
12
12
  export {
13
- d as default,
13
+ s as default,
14
14
  l as render
15
15
  };
@@ -1,15 +1,15 @@
1
- import { openBlock as t, createElementBlock as o, createElementVNode as n } from "vue";
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(d, e) {
7
- return t(), o("svg", r, [...e[0] || (e[0] = [
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 s = { render: l };
11
+ const d = { render: l };
12
12
  export {
13
- s as default,
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 m = { render: a };
12
+ const p = { render: a };
13
13
  export {
14
- m as default,
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(s, e) {
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 n, createElementBlock as o, createElementVNode as t } from "vue";
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 n(), o("svg", r, [...e[0] || (e[0] = [
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 m = { render: a };
12
+ const s = { render: a };
13
13
  export {
14
- m as default,
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 V, openBlock as t, createElementBlock as i, normalizeStyle as $, normalizeClass as N, createElementVNode as O, createBlock as r, unref as a, withCtx as s, createVNode as E, renderSlot as n, Fragment as H, createCommentVNode as f, toDisplayString as M } from "vue";
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 w } from "../../../types/common.types.js";
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 I from "../../../assets/icons/loading.svg.js";
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: g, emit: h }) {
36
- const e = y, b = h, u = z(), v = o(() => !!u.icon), c = o(() => !!u["icon-only"]), p = o(() => e.active || !!e.modelValue), B = o(
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: [w[e.height], e.fill && "fill"],
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 = V(null), _ = {
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 g({ buttonDOMElement: m }), (l, j) => (t(), i("div", {
63
- class: N(B.value),
64
- style: $(S.value)
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(), r(a(d), {
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(I))
82
+ E(a(w))
83
83
  ]),
84
84
  _: 1
85
- }, 8, ["size"])) : c.value ? (t(), r(a(d), { key: 1 }, {
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(), i(H, { key: 2 }, [
91
- v.value ? (t(), r(a(d), { key: 0 }, {
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(), i("span", F, M(e.text), 1)) : f("", !0),
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-icon{display:flex;align-items:center;width:var(--width);min-width:var(--width);height:var(--height);min-height:var(--height)}.nmorph-icon .nmorph-icon__content{display:flex;justify-content:center;align-items:center;width:var(--width);min-width:var(--width);height:var(--height);min-height:var(--height)}.nmorph-icon svg{width:100%;height:100%;fill:var(--color);stroke-width:0}.nmorph-icon path{stroke:var(--color)}.nmorph-icon.nmorph-icon--small{--width: 14px;--height: 14px}.nmorph-icon.nmorph-icon--medium{--width: 20px;--height: 20px}.nmorph-icon.nmorph-icon--large{--width: 32px;--height: 32px}.nmorph-icon{--color: var(--nmorph-icon-color, var(--nmorph-text-color))}
1
+ .nmorph-icon,.nmorph-icon .nmorph-icon__content{display:flex;justify-content:center;align-items:center;width:var(--width);min-width:var(--width);height:var(--height);min-height:var(--height)}.nmorph-icon svg{width:100%;height:100%;fill:var(--color);stroke-width:0}.nmorph-icon path{stroke:var(--color)}.nmorph-icon.nmorph-icon--small{--width: 14px;--height: 14px}.nmorph-icon.nmorph-icon--medium{--width: 20px;--height: 20px}.nmorph-icon.nmorph-icon--large{--width: 32px;--height: 32px}.nmorph-icon{--color: var(--nmorph-icon-color, var(--nmorph-text-color))}
@@ -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)}
@@ -0,0 +1,207 @@
1
+ import './NmorphAudioPreview.css';
2
+ import { defineComponent as q, useSlots as G, ref as _, watch as J, computed as l, openBlock as t, createElementBlock as p, normalizeStyle as N, normalizeClass as K, createElementVNode as i, createBlock as h, unref as r, withCtx as m, createVNode as s, toDisplayString as y, withDirectives as Q, vModelText as W, renderSlot as X, createCommentVNode as H } from "vue";
3
+ import { useModifiers as Y } from "../../../utils/create-modifiers.js";
4
+ import { createCssSizeVariables as Z } from "../../../utils/common.js";
5
+ import w from "../../basic/nmorph-icon/NmorphIcon.vue.js";
6
+ /* empty css */
7
+ import ee from "../../../assets/icons/audio.svg.js";
8
+ import oe from "../../basic/nmorph-button/NmorphButton.vue.js";
9
+ /* empty css */
10
+ import ae from "../../../assets/icons/pause.svg.js";
11
+ import re from "../../../assets/icons/play.svg.js";
12
+ import te from "../../../assets/icons/open.svg.js";
13
+ import ne from "../../../assets/icons/download.svg.js";
14
+ import le from "../../../assets/icons/loading.svg.js";
15
+ const ie = ["src", "preload"], se = { class: "nmorph-audio-preview__icon" }, de = { class: "nmorph-audio-preview__body" }, ue = { class: "nmorph-audio-preview__header" }, ce = { class: "nmorph-audio-preview__name" }, pe = {
16
+ key: 0,
17
+ class: "nmorph-audio-preview__error"
18
+ }, me = {
19
+ key: 1,
20
+ class: "nmorph-audio-preview__time"
21
+ }, ve = ["disabled", "aria-label"], fe = {
22
+ key: 0,
23
+ class: "nmorph-audio-preview__actions"
24
+ }, _e = ["href", "aria-label"], he = ["href", "download", "aria-label"], Me = /* @__PURE__ */ q({
25
+ __name: "NmorphAudioPreview",
26
+ props: {
27
+ src: {},
28
+ name: { default: "" },
29
+ durationMs: { default: void 0 },
30
+ width: { default: void 0 },
31
+ compact: { type: Boolean, default: !1 },
32
+ preload: { default: "metadata" },
33
+ downloadHref: { default: "" },
34
+ loading: { type: Boolean, default: !1 },
35
+ error: { type: Boolean, default: !1 },
36
+ errorText: { default: "" },
37
+ showDefaultActions: { type: Boolean, default: !0 }
38
+ },
39
+ emits: ["play", "pause", "open", "download", "error"],
40
+ setup(S, { expose: T, emit: $ }) {
41
+ const e = S, u = $, x = G(), a = _(null), n = _(!1), v = _(0), f = _(e.durationMs ? e.durationMs / 1e3 : 0);
42
+ J(
43
+ () => e.durationMs,
44
+ (o) => {
45
+ f.value = o ? o / 1e3 : f.value;
46
+ }
47
+ );
48
+ const d = l(() => f.value || 0), g = l({
49
+ get: () => d.value > 0 ? v.value / d.value * 100 : 0,
50
+ set: (o) => {
51
+ !a.value || d.value <= 0 || (a.value.currentTime = o / 100 * d.value, v.value = a.value.currentTime);
52
+ }
53
+ }), B = l(() => ({ "--nmorph-audio-preview-progress": `${g.value}%` })), C = l(
54
+ () => !!x.actions || e.showDefaultActions && (e.src || e.downloadHref)
55
+ ), M = l(
56
+ () => Y({
57
+ "nmorph-audio-preview": [
58
+ e.compact && "compact",
59
+ e.loading && "loading",
60
+ e.error && "error",
61
+ n.value && "playing"
62
+ ]
63
+ })
64
+ ), z = l(
65
+ () => Z({
66
+ "--nmorph-audio-preview-width": e.width
67
+ })
68
+ ), k = (o) => {
69
+ if (!Number.isFinite(o) || o < 0) return "0:00";
70
+ const c = Math.floor(o), b = Math.floor(c / 60), j = c % 60;
71
+ return `${b}:${j.toString().padStart(2, "0")}`;
72
+ }, A = l(() => k(v.value)), D = l(() => k(d.value)), I = async () => {
73
+ if (!(!a.value || e.loading || e.error)) {
74
+ if (n.value) {
75
+ a.value.pause();
76
+ return;
77
+ }
78
+ try {
79
+ await a.value.play();
80
+ } catch {
81
+ n.value = !1;
82
+ }
83
+ }
84
+ }, P = () => {
85
+ !a.value || Number.isNaN(a.value.duration) || (f.value = a.value.duration);
86
+ }, V = () => {
87
+ v.value = a.value?.currentTime || 0;
88
+ }, E = (o) => {
89
+ n.value = !0, u("play", o);
90
+ }, L = (o) => {
91
+ n.value = !1, u("pause", o);
92
+ }, O = () => {
93
+ n.value = !1;
94
+ }, R = (o) => {
95
+ n.value = !1, u("error", o);
96
+ }, U = () => u("open"), F = () => u("download");
97
+ return T({ audioRef: a }), (o, c) => (t(), p("div", {
98
+ class: K(M.value),
99
+ style: N(z.value)
100
+ }, [
101
+ i("audio", {
102
+ ref_key: "audioRef",
103
+ ref: a,
104
+ src: e.src,
105
+ preload: e.preload,
106
+ onLoadedmetadata: P,
107
+ onTimeupdate: V,
108
+ onPlay: E,
109
+ onPause: L,
110
+ onEnded: O,
111
+ onError: R
112
+ }, null, 40, ie),
113
+ i("div", se, [
114
+ e.loading ? (t(), h(r(w), {
115
+ key: 0,
116
+ size: "medium"
117
+ }, {
118
+ default: m(() => [
119
+ s(r(le))
120
+ ]),
121
+ _: 1
122
+ })) : (t(), h(r(w), {
123
+ key: 1,
124
+ size: "medium"
125
+ }, {
126
+ default: m(() => [
127
+ s(r(ee))
128
+ ]),
129
+ _: 1
130
+ }))
131
+ ]),
132
+ s(r(oe), {
133
+ class: "nmorph-audio-preview__play",
134
+ height: "thin",
135
+ "style-type": "transparent",
136
+ disabled: e.loading || e.error,
137
+ onClick: I
138
+ }, {
139
+ "icon-only": m(() => [
140
+ n.value ? (t(), h(r(ae), { key: 0 })) : (t(), h(r(re), { key: 1 }))
141
+ ]),
142
+ _: 1
143
+ }, 8, ["disabled"]),
144
+ i("div", de, [
145
+ i("div", ue, [
146
+ i("span", ce, y(e.name || "Audio"), 1),
147
+ e.error && e.errorText ? (t(), p("span", pe, y(e.errorText), 1)) : (t(), p("span", me, y(A.value) + " / " + y(D.value), 1))
148
+ ]),
149
+ Q(i("input", {
150
+ "onUpdate:modelValue": c[0] || (c[0] = (b) => g.value = b),
151
+ class: "nmorph-audio-preview__range",
152
+ type: "range",
153
+ min: "0",
154
+ max: "100",
155
+ step: "0.1",
156
+ style: N(B.value),
157
+ disabled: e.loading || e.error || d.value <= 0,
158
+ "aria-label": `Audio progress ${e.name || ""}`
159
+ }, null, 12, ve), [
160
+ [
161
+ W,
162
+ g.value,
163
+ void 0,
164
+ { number: !0 }
165
+ ]
166
+ ])
167
+ ]),
168
+ C.value ? (t(), p("div", fe, [
169
+ X(o.$slots, "actions", {}, () => [
170
+ i("a", {
171
+ href: e.src,
172
+ target: "_blank",
173
+ rel: "noopener noreferrer",
174
+ class: "nmorph-audio-preview__action-link",
175
+ "aria-label": `Open ${e.name || "audio"}`,
176
+ onClick: U
177
+ }, [
178
+ s(r(w), { size: "small" }, {
179
+ default: m(() => [
180
+ s(r(te))
181
+ ]),
182
+ _: 1
183
+ })
184
+ ], 8, _e),
185
+ e.downloadHref ? (t(), p("a", {
186
+ key: 0,
187
+ href: e.downloadHref,
188
+ download: e.name,
189
+ class: "nmorph-audio-preview__action-link",
190
+ "aria-label": `Download ${e.name || "audio"}`,
191
+ onClick: F
192
+ }, [
193
+ s(r(w), { size: "small" }, {
194
+ default: m(() => [
195
+ s(r(ne))
196
+ ]),
197
+ _: 1
198
+ })
199
+ ], 8, he)) : H("", !0)
200
+ ])
201
+ ])) : H("", !0)
202
+ ], 6));
203
+ }
204
+ });
205
+ export {
206
+ Me as default
207
+ };
@@ -0,0 +1,6 @@
1
+ import './NmorphAudioPreview.css';
2
+ import o from "./NmorphAudioPreview.vue.js";
3
+ /* empty css */
4
+ export {
5
+ o as default
6
+ };
@@ -0,0 +1 @@
1
+ .nmorph-emoji-picker{--nmorph-emoji-picker-width: 300px;--nmorph-emoji-picker-height: 260px;--nmorph-emoji-picker-columns: 8;--nmorph-emoji-picker-cell-size: 32px;box-sizing:border-box;width:min(100%,var(--nmorph-emoji-picker-width));min-width:0;color:var(--nmorph-text-color);font:inherit}.nmorph-emoji-picker .nmorph-emoji-picker__compact,.nmorph-emoji-picker .nmorph-emoji-picker__panel{box-sizing:border-box;width:100%;background:var(--nmorph-main-color);border-radius:var(--default-border-radius);box-shadow:var(--nmorph-shadow-inset)}.nmorph-emoji-picker .nmorph-emoji-picker__compact{display:flex;gap:var(--indentation-02);align-items:center;min-height:48px;padding:var(--indentation-02)}.nmorph-emoji-picker .nmorph-emoji-picker__quick-list{display:flex;flex:1 1 auto;gap:4px;min-width:0;overflow:auto hidden;scrollbar-width:thin}.nmorph-emoji-picker .nmorph-emoji-picker__quick-button,.nmorph-emoji-picker .nmorph-emoji-picker__expand-button,.nmorph-emoji-picker .nmorph-emoji-picker__collapse-button,.nmorph-emoji-picker .nmorph-emoji-picker__category,.nmorph-emoji-picker .nmorph-emoji-picker__emoji{margin:0;color:inherit;font:inherit;background:transparent;border:0;box-shadow:none;cursor:pointer;appearance:none}.nmorph-emoji-picker .nmorph-emoji-picker__quick-button:disabled,.nmorph-emoji-picker .nmorph-emoji-picker__expand-button:disabled,.nmorph-emoji-picker .nmorph-emoji-picker__collapse-button:disabled,.nmorph-emoji-picker .nmorph-emoji-picker__category:disabled,.nmorph-emoji-picker .nmorph-emoji-picker__emoji:disabled{cursor:not-allowed;opacity:.5}.nmorph-emoji-picker .nmorph-emoji-picker__quick-button:focus,.nmorph-emoji-picker .nmorph-emoji-picker__expand-button:focus,.nmorph-emoji-picker .nmorph-emoji-picker__collapse-button:focus,.nmorph-emoji-picker .nmorph-emoji-picker__category:focus,.nmorph-emoji-picker .nmorph-emoji-picker__emoji:focus{outline:none}.nmorph-emoji-picker .nmorph-emoji-picker__quick-button:focus-visible,.nmorph-emoji-picker .nmorph-emoji-picker__expand-button:focus-visible,.nmorph-emoji-picker .nmorph-emoji-picker__collapse-button:focus-visible,.nmorph-emoji-picker .nmorph-emoji-picker__category:focus-visible,.nmorph-emoji-picker .nmorph-emoji-picker__emoji:focus-visible{box-shadow:var(--nmorph-shadow-inset),0 0 0 1px var(--nmorph-accent-color)}.nmorph-emoji-picker .nmorph-emoji-picker__quick-button,.nmorph-emoji-picker .nmorph-emoji-picker__expand-button,.nmorph-emoji-picker .nmorph-emoji-picker__collapse-button,.nmorph-emoji-picker .nmorph-emoji-picker__emoji{display:inline-flex;flex:0 0 var(--nmorph-emoji-picker-cell-size);justify-content:center;align-items:center;width:var(--nmorph-emoji-picker-cell-size);height:var(--nmorph-emoji-picker-cell-size);padding:0;border-radius:var(--default-border-radius)}.nmorph-emoji-picker .nmorph-emoji-picker__quick-button,.nmorph-emoji-picker .nmorph-emoji-picker__emoji{font-size:20px;line-height:1}.nmorph-emoji-picker .nmorph-emoji-picker__quick-button:hover:not(:disabled),.nmorph-emoji-picker .nmorph-emoji-picker__emoji:hover:not(:disabled){background:color-mix(in srgb,var(--nmorph-accent-color) 14%,transparent)}.nmorph-emoji-picker .nmorph-emoji-picker__expand-button,.nmorph-emoji-picker .nmorph-emoji-picker__collapse-button{color:var(--nmorph-semi-contrast-text-color);--color: currentColor}.nmorph-emoji-picker .nmorph-emoji-picker__expand-button:hover:not(:disabled),.nmorph-emoji-picker .nmorph-emoji-picker__collapse-button:hover:not(:disabled){color:var(--nmorph-accent-color);background:color-mix(in srgb,var(--nmorph-accent-color) 10%,transparent)}.nmorph-emoji-picker .nmorph-emoji-picker__panel{display:flex;flex-direction:column;height:var(--nmorph-emoji-picker-height);min-height:180px;max-height:min(60vh,var(--nmorph-emoji-picker-height));padding:var(--indentation-02);overflow:hidden}.nmorph-emoji-picker .nmorph-emoji-picker__toolbar{display:flex;flex:0 0 auto;gap:var(--indentation-02);align-items:center;min-width:0}.nmorph-emoji-picker .nmorph-emoji-picker__search{display:flex;flex:1 1 auto;gap:6px;align-items:center;min-width:0;height:34px;padding:0 10px;color:var(--nmorph-semi-contrast-text-color);background:color-mix(in srgb,var(--nmorph-text-color) 5%,transparent);border-radius:var(--default-border-radius);box-shadow:var(--nmorph-shadow-inset);--color: currentColor}.nmorph-emoji-picker .nmorph-emoji-picker__search-input{flex:1 1 auto;min-width:0;padding:0;color:var(--nmorph-text-color);font:inherit;background:transparent;border:0;outline:none;appearance:none}.nmorph-emoji-picker .nmorph-emoji-picker__search-input::placeholder{color:var(--nmorph-placeholder-text-color)}.nmorph-emoji-picker .nmorph-emoji-picker__search-input::-webkit-search-cancel-button{appearance:none}.nmorph-emoji-picker .nmorph-emoji-picker__categories{display:flex;flex:0 0 auto;gap:4px;margin:var(--indentation-02) 0;overflow:auto hidden;scrollbar-width:thin}.nmorph-emoji-picker .nmorph-emoji-picker__category{flex:0 0 auto;max-width:120px;height:28px;padding:0 10px;overflow:hidden;color:var(--nmorph-semi-contrast-text-color);font-size:var(--font-size-extra-small);line-height:var(--line-height-regular);white-space:nowrap;text-overflow:ellipsis;border-radius:var(--default-border-radius)}.nmorph-emoji-picker .nmorph-emoji-picker__category:hover:not(:disabled),.nmorph-emoji-picker .nmorph-emoji-picker__category.nmorph-emoji-picker__category--active{color:var(--nmorph-focus-text-color);background:var(--nmorph-accent-color)}.nmorph-emoji-picker .nmorph-emoji-picker__body{flex:1 1 auto;min-height:0;padding:2px;overflow:hidden auto;scrollbar-gutter:stable}.nmorph-emoji-picker .nmorph-emoji-picker__section{display:grid;gap:4px}.nmorph-emoji-picker .nmorph-emoji-picker__section+.nmorph-emoji-picker__section{margin-top:var(--indentation-02)}.nmorph-emoji-picker .nmorph-emoji-picker__section-title{padding:0 4px;color:var(--nmorph-semi-contrast-text-color);font-weight:600;font-size:var(--font-size-extra-small);line-height:var(--line-height-regular)}.nmorph-emoji-picker .nmorph-emoji-picker__grid{display:grid;grid-template-columns:repeat(var(--nmorph-emoji-picker-columns),minmax(0,1fr));gap:2px}.nmorph-emoji-picker .nmorph-emoji-picker__emoji{width:100%;min-width:0}.nmorph-emoji-picker .nmorph-emoji-picker__emoji-symbol{display:block;line-height:1}.nmorph-emoji-picker .nmorph-emoji-picker__empty{display:grid;gap:var(--indentation-02);place-items:center;min-height:100%;padding:var(--indentation-04);color:var(--nmorph-semi-contrast-text-color);text-align:center;--color: currentColor}.nmorph-emoji-picker.nmorph-emoji-picker--disabled{opacity:.65}