@nmorph/nmorph-ui-kit 2.2.10 → 2.2.13

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 (75) hide show
  1. package/README.md +11 -7
  2. package/dist/components/basic/nmorph-icon/NmorphIcon.css +1 -1
  3. package/dist/components/basic/nmorph-icon/NmorphIcon.vue2.js +11 -11
  4. package/dist/components/data/nmorph-avatar/NmorphAvatar.css +1 -0
  5. package/dist/components/data/nmorph-avatar/NmorphAvatar.vue.js +74 -46
  6. package/dist/components/data/nmorph-avatar/NmorphAvatar.vue2.js +26 -21
  7. package/dist/components/data/nmorph-carousel/NmorphCarousel.vue2.js +4 -4
  8. package/dist/components/data/nmorph-image-preview/NmorphImagePreview.vue.js +77 -38
  9. package/dist/components/data/nmorph-image-preview/NmorphImagePreview.vue2.js +31 -30
  10. package/dist/components/data/nmorph-pagination/NmorphPagination.css +1 -1
  11. package/dist/components/data/nmorph-pagination/NmorphPagination.vue.js +36 -30
  12. package/dist/components/data/nmorph-pagination/NmorphPagination.vue2.js +48 -41
  13. package/dist/components/data/nmorph-table/NmorphTable.css +1 -1
  14. package/dist/components/data/nmorph-table/NmorphTable.vue.js +228 -103
  15. package/dist/components/data/nmorph-table/NmorphTable.vue2.js +49 -30
  16. package/dist/components/form/nmorph-autocomplete/NmorphAutocomplete.css +1 -1
  17. package/dist/components/form/nmorph-autocomplete/NmorphAutocomplete.vue.js +91 -35
  18. package/dist/components/form/nmorph-autocomplete/NmorphAutocomplete.vue2.js +48 -35
  19. package/dist/components/form/nmorph-checkbox/NmorphCheckbox.css +1 -1
  20. package/dist/components/form/nmorph-checkbox/NmorphCheckbox.vue.js +15 -13
  21. package/dist/components/form/nmorph-checkbox/NmorphCheckbox.vue2.js +8 -8
  22. package/dist/components/form/nmorph-checkbox-group/NmorphCheckboxGroup.vue2.js +22 -14
  23. package/dist/components/form/nmorph-color-picker/NmorphColorPicker.vue2.js +11 -10
  24. package/dist/components/form/nmorph-radio/NmorphRadio.css +1 -1
  25. package/dist/components/form/nmorph-radio/NmorphRadio.vue.js +22 -20
  26. package/dist/components/form/nmorph-radio/NmorphRadio.vue2.js +7 -7
  27. package/dist/components/form/nmorph-radio-group/NmorphRadioGroup.vue2.js +14 -14
  28. package/dist/components/form/nmorph-select/NmorphSelect.css +1 -1
  29. package/dist/components/form/nmorph-select/NmorphSelect.vue.js +115 -58
  30. package/dist/components/form/nmorph-select/NmorphSelect.vue2.js +104 -75
  31. package/dist/components/form/nmorph-select/components/nmorph-select-option/NmorphSelectOption.vue2.js +12 -10
  32. package/dist/components/navigation/nmorph-backtop/NmorphBacktop.vue.js +7 -7
  33. package/dist/components/navigation/nmorph-dropdown/NmorphDropdown.vue.js +29 -42
  34. package/dist/components/navigation/nmorph-dropdown/NmorphDropdown.vue2.js +39 -20
  35. package/dist/components/others/nmorph-overlay/NmorphOverlay.vue.js +29 -24
  36. package/dist/components/others/nmorph-overlay/NmorphOverlay.vue2.js +17 -15
  37. package/dist/hooks/use-common-styles.js +23 -20
  38. package/dist/hooks/use-placement.js +76 -44
  39. package/dist/hooks/use-virtual-list.js +46 -0
  40. package/dist/index.es.js +698 -694
  41. package/dist/index.umd.js +46 -38
  42. package/dist/nuxt.mjs +21 -8
  43. package/dist/outside-hooks/use-nmorph-browser.js +9 -9
  44. package/dist/outside-hooks/use-nmorph-theme.js +133 -87
  45. package/dist/package.json.js +1 -1
  46. package/dist/plugin.js +34 -29
  47. package/dist/src/components/data/nmorph-badge/NmorphBadge.vue.d.ts +1 -1
  48. package/dist/src/components/data/nmorph-image/NmorphImage.vue.d.ts +3 -3
  49. package/dist/src/components/data/nmorph-image-preview/NmorphImagePreview.vue.d.ts +14 -2
  50. package/dist/src/components/data/nmorph-pagination/NmorphPagination.vue.d.ts +3 -0
  51. package/dist/src/components/data/nmorph-table/NmorphTable.vue.d.ts +9 -0
  52. package/dist/src/components/data/nmorph-table/types.d.ts +2 -2
  53. package/dist/src/components/feedback/nmorph-tooltip/NmorphTooltip.vue.d.ts +1 -1
  54. package/dist/src/components/form/nmorph-autocomplete/NmorphAutocomplete.vue.d.ts +11 -0
  55. package/dist/src/components/form/nmorph-checkbox/NmorphCheckbox.vue.d.ts +1 -0
  56. package/dist/src/components/form/nmorph-checkbox-group/NmorphCheckboxGroup.vue.d.ts +4 -3
  57. package/dist/src/components/form/nmorph-radio/NmorphRadio.vue.d.ts +1 -0
  58. package/dist/src/components/form/nmorph-radio-group/NmorphRadioGroup.vue.d.ts +4 -3
  59. package/dist/src/components/form/nmorph-select/NmorphSelect.vue.d.ts +8 -0
  60. package/dist/src/components/form/nmorph-select/components/nmorph-select-option/NmorphSelectOption.vue.d.ts +1 -0
  61. package/dist/src/components/form/nmorph-select/types.d.ts +1 -0
  62. package/dist/src/components/navigation/nmorph-dropdown/NmorphDropdown.vue.d.ts +3 -1
  63. package/dist/src/components/others/nmorph-overlay/NmorphOverlay.vue.d.ts +4 -0
  64. package/dist/src/components/providers/nmorph-notification-provider/NmorphNotificationProvider.vue.d.ts +1 -1
  65. package/dist/src/hooks/index.d.ts +1 -0
  66. package/dist/src/hooks/use-common-styles.d.ts +1 -0
  67. package/dist/src/hooks/use-placement.d.ts +8 -4
  68. package/dist/src/hooks/use-virtual-list.d.ts +21 -0
  69. package/dist/src/outside-hooks/use-nmorph-notification.d.ts +2 -2
  70. package/dist/src/outside-hooks/use-nmorph-theme.d.ts +1 -0
  71. package/dist/src/plugin.d.ts +2 -0
  72. package/dist/src/types/index.d.ts +12 -3
  73. package/dist/style.css +1 -1
  74. package/dist/types/index.js +14 -8
  75. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  import './NmorphRadio.css';
2
2
  import t from "./NmorphRadio.vue2.js";
3
- import { openBlock as o, createElementBlock as r, withModifiers as p, normalizeClass as c, createElementVNode as a, createCommentVNode as n, toDisplayString as s, renderSlot as d } from "vue";
3
+ import { openBlock as o, createElementBlock as a, withModifiers as p, normalizeClass as c, createElementVNode as r, createCommentVNode as i, toDisplayString as d, renderSlot as l } from "vue";
4
4
  /* empty css */
5
5
  import _ from "../../../_virtual/_plugin-vue_export-helper.js";
6
6
  const m = {
@@ -22,17 +22,17 @@ const m = {
22
22
  key: 1,
23
23
  class: "nmorph-radio__fake"
24
24
  };
25
- function N(i, l, R, e, C, D) {
26
- return o(), r(
25
+ function N(n, s, R, e, C, D) {
26
+ return o(), a(
27
27
  "label",
28
28
  {
29
29
  class: c(e.modifiers),
30
30
  onClick: p(e.changeHandler, ["prevent"])
31
31
  },
32
32
  [
33
- e.props.styleType === "radio-style" ? (o(), r("div", m, [
34
- a("div", h, [
35
- a("input", {
33
+ e.props.styleType === "radio-style" ? (o(), a("div", m, [
34
+ r("div", h, [
35
+ r("input", {
36
36
  ref: "inputDOMRef",
37
37
  type: "radio",
38
38
  name: e.props.label,
@@ -41,25 +41,25 @@ function N(i, l, R, e, C, D) {
41
41
  tabindex: e.props.tabindex,
42
42
  class: "nmorph-native-input"
43
43
  }, null, 8, f),
44
- l[0] || (l[0] = a(
44
+ s[0] || (s[0] = r(
45
45
  "div",
46
46
  { class: "nmorph-radio__fake" },
47
47
  null,
48
48
  -1
49
49
  /* HOISTED */
50
50
  )),
51
- e.checked ? (o(), r("div", k)) : n("v-if", !0)
51
+ e.checked ? (o(), a("div", k)) : i("v-if", !0)
52
52
  ]),
53
- e.props.label ? (o(), r(
53
+ e.props.label ? (o(), a(
54
54
  "span",
55
55
  b,
56
- s(e.props.label),
56
+ d(e.props.label),
57
57
  1
58
58
  /* TEXT */
59
- )) : d(i.$slots, "label", { key: 1 })
60
- ])) : n("v-if", !0),
61
- e.props.styleType === "button" ? (o(), r("div", v, [
62
- a("input", {
59
+ )) : l(n.$slots, "label", { key: 1 })
60
+ ])) : i("v-if", !0),
61
+ e.props.styleType === "button" ? (o(), a("div", v, [
62
+ r("input", {
63
63
  ref: "inputDOMRef",
64
64
  type: "radio",
65
65
  disabled: e.props.disabled,
@@ -69,18 +69,20 @@ function N(i, l, R, e, C, D) {
69
69
  tabindex: e.props.tabindex,
70
70
  class: "nmorph-native-input"
71
71
  }, null, 8, y),
72
- e.props.label ? (o(), r("div", u, [
73
- a(
72
+ e.props.label ? (o(), a("div", u, [
73
+ r(
74
74
  "span",
75
75
  null,
76
- s(e.props.label),
76
+ d(e.props.label),
77
77
  1
78
78
  /* TEXT */
79
79
  )
80
- ])) : (o(), r("div", x, [
81
- d(i.$slots, "label")
80
+ ])) : (o(), a("div", x, [
81
+ l(n.$slots, "label", {}, () => [
82
+ l(n.$slots, "default")
83
+ ])
82
84
  ]))
83
- ])) : n("v-if", !0)
85
+ ])) : i("v-if", !0)
84
86
  ],
85
87
  2
86
88
  /* CLASS */
@@ -1,12 +1,12 @@
1
1
  import './NmorphRadio.css';
2
- import { defineComponent as h, inject as r, computed as a, ref as m } from "vue";
2
+ import { defineComponent as h, inject as r, computed as l, ref as m } from "vue";
3
3
  import { useModifiers as g } from "../../../utils/create-modifiers.js";
4
- import { NmorphComponentHeight as v } from "../../../types/index.js";
4
+ import { NmorphSelectionControlHeight as v } from "../../../types/index.js";
5
5
  const q = /* @__PURE__ */ h({
6
6
  __name: "NmorphRadio",
7
7
  props: {
8
8
  value: { type: String, required: !1, default: "" },
9
- styleType: { type: null, required: !1, default: "radio-style" },
9
+ styleType: { type: null, required: !1, default: "button" },
10
10
  checked: { type: Boolean, required: !1, default: !1 },
11
11
  disabled: { type: Boolean, required: !1, default: !1 },
12
12
  label: { type: String, required: !1, default: "" },
@@ -14,22 +14,22 @@ const q = /* @__PURE__ */ h({
14
14
  height: { type: null, required: !1 }
15
15
  },
16
16
  setup(s, { expose: p }) {
17
- const l = r(
17
+ const o = r(
18
18
  "radio-group-selected-value",
19
19
  void 0
20
20
  ), t = r(
21
21
  "change-radio-button-value-handler",
22
22
  void 0
23
- ), o = r("radio-group-height", void 0), e = s, c = () => {
23
+ ), a = r("radio-group-height", void 0), e = s, c = () => {
24
24
  t && !e.disabled && t(e.value);
25
- }, d = a(() => l?.value === e.value || e.checked), i = a(() => e.height || o?.value || "thin"), f = a(
25
+ }, d = l(() => o?.value === e.value || e.checked), i = l(() => e.height || a?.value || "thin"), f = l(
26
26
  () => g({
27
27
  nmorph: [v[i.value]],
28
28
  "nmorph-radio": [`${e.disabled && "disabled"}`, `${d.value && "checked"}`, e.styleType]
29
29
  })
30
30
  ), u = m(null);
31
31
  p({ inputDOMRef: u });
32
- const n = { groupSelectedValue: l, changeValue: t, groupHeight: o, props: e, changeHandler: c, checked: d, height: i, modifiers: f, inputDOMRef: u };
32
+ const n = { groupSelectedValue: o, changeValue: t, groupHeight: a, props: e, changeHandler: c, checked: d, height: i, modifiers: f, inputDOMRef: u };
33
33
  return Object.defineProperty(n, "__isScriptSetup", { enumerable: !1, value: !0 }), n;
34
34
  }
35
35
  });
@@ -1,5 +1,5 @@
1
1
  import './NmorphRadioGroup.css';
2
- import { defineComponent as m, ref as c, watch as h, computed as d, provide as a } from "vue";
2
+ import { defineComponent as m, ref as c, watch as h, computed as d, provide as o } from "vue";
3
3
  import { useModifiers as y } from "../../../utils/create-modifiers.js";
4
4
  import g from "../nmorph-radio/NmorphRadio.vue.js";
5
5
  const b = /* @__PURE__ */ m({
@@ -7,33 +7,33 @@ const b = /* @__PURE__ */ m({
7
7
  props: {
8
8
  modelValue: { type: String, required: !0, default: "" },
9
9
  options: { type: Array, required: !1, default: () => [] },
10
- styleType: { type: null, required: !1, default: "radio-style" },
10
+ styleType: { type: null, required: !1, default: "button" },
11
11
  direction: { type: null, required: !1, default: "row" },
12
+ height: { type: null, required: !1, default: "thin" },
12
13
  id: { type: String, required: !1 },
13
14
  name: { type: String, required: !1 },
14
15
  autocomplete: { type: String, required: !1 },
15
- height: { type: null, required: !1, default: "thin" },
16
16
  disabled: { type: Boolean, required: !1, default: !1 },
17
17
  tabindex: { type: Number, required: !1 }
18
18
  },
19
19
  emits: ["update:model-value"],
20
- setup(p, { expose: n, emit: s }) {
21
- n();
22
- const e = p, r = c(e.modelValue);
20
+ setup(n, { expose: p, emit: s }) {
21
+ p();
22
+ const e = n, t = c(e.modelValue);
23
23
  h(
24
24
  () => e.modelValue,
25
- (t) => {
26
- r.value = t;
25
+ (r) => {
26
+ t.value = r;
27
27
  }
28
28
  );
29
- const o = s, i = (t) => {
30
- r.value = t, o("update:model-value", r.value);
31
- }, f = d(() => y({ "nmorph-radio-group": [e.styleType, e.direction] })), l = d(() => e.height);
32
- a("radio-group-selected-value", r), a("change-radio-button-value-handler", i), a("radio-group-height", l);
33
- const u = { props: e, initialValue: r, emit: o, changeHandler: i, modifiers: f, height: l, get NmorphRadio() {
29
+ const a = s, i = (r) => {
30
+ t.value = r, a("update:model-value", t.value);
31
+ }, f = d(() => y({ "nmorph-radio-group": [e.styleType, e.direction] })), u = d(() => e.height);
32
+ o("radio-group-selected-value", t), o("change-radio-button-value-handler", i), o("radio-group-height", u);
33
+ const l = { props: e, initialValue: t, emit: a, changeHandler: i, modifiers: f, height: u, get NmorphRadio() {
34
34
  return g;
35
35
  } };
36
- return Object.defineProperty(u, "__isScriptSetup", { enumerable: !1, value: !0 }), u;
36
+ return Object.defineProperty(l, "__isScriptSetup", { enumerable: !1, value: !0 }), l;
37
37
  }
38
38
  });
39
39
  export {
@@ -1 +1 @@
1
- .nmorph-select{--base-width: 200px;width:var(--base-width);height:var(--height);cursor:pointer}.nmorph-select .nmorph-select__content{position:relative;height:100%;background:var(--nmorph-main-color);box-shadow:var(--base-shadow-width) var(--base-shadow-width) var(--base-shadow-blur) var(--nmorph-dark-shade-color),calc(-1 * var(--base-shadow-width)) calc(-1 * var(--base-shadow-width)) var(--base-shadow-blur) var(--nmorph-light-shade-color)}.nmorph-select .nmorph-select__selected-values-line{display:flex;align-items:center;justify-content:space-between;height:100%;padding:var(--indentation-00) var(--default-indentation-input);border-radius:var(--default-border-radius)}.nmorph-select .nmorph-select__selected-value{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.nmorph-select select,.nmorph-select option{opacity:0;width:0;height:0;border:none;padding:0;position:absolute}.nmorph-select.nmorph-select--loading .nmorph-select__options{display:flex;justify-content:center;padding:16px}.nmorph-select.nmorph-select--disabled{cursor:not-allowed;opacity:.6}.nmorph-select.nmorph-select--fill{width:100%}.nmorph-select.nmorph-select--options-auto-width .nmorph-select__options{width:max-content;max-width:calc(100vw - var(--indentation-02) * 2)}.nmorph-select.nmorph-select--open .nmorph-select__chevron{transform:rotate(180deg)}.nmorph-select.nmorph-select--open .nmorph-select__content{background:var(--nmorph-main-color);box-shadow:inset var(--base-shadow-width) var(--base-shadow-width) var(--base-shadow-blur) var(--nmorph-dark-shade-color),inset calc(-1 * var(--base-shadow-width)) calc(-1 * var(--base-shadow-width)) var(--base-shadow-blur) var(--nmorph-light-shade-color)}.nmorph-select.nmorph-select--selected-line-outset .nmorph-select__content{background:var(--nmorph-main-color);box-shadow:var(--base-shadow-width) var(--base-shadow-width) var(--base-shadow-blur) var(--nmorph-dark-shade-color),calc(-1 * var(--base-shadow-width)) calc(-1 * var(--base-shadow-width)) var(--base-shadow-blur) var(--nmorph-light-shade-color)}.nmorph-select.nmorph-select--focus{outline:2px solid var(--nmorph-accent-color)}.nmorph-select.nmorph-select--focus .nmorph-select__content{box-shadow:none}
1
+ .nmorph-select{--base-width: 200px;width:var(--base-width);height:var(--height);cursor:pointer}.nmorph-select .nmorph-select__content{position:relative;height:100%;background:var(--nmorph-main-color);box-shadow:var(--base-shadow-width) var(--base-shadow-width) var(--base-shadow-blur) var(--nmorph-dark-shade-color),calc(-1 * var(--base-shadow-width)) calc(-1 * var(--base-shadow-width)) var(--base-shadow-blur) var(--nmorph-light-shade-color)}.nmorph-select .nmorph-select__selected-values-line{display:flex;align-items:center;justify-content:space-between;height:100%;padding:var(--indentation-00) var(--default-indentation-input);border-radius:var(--default-border-radius)}.nmorph-select .nmorph-select__selected-value{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.nmorph-select select,.nmorph-select option{opacity:0;width:0;height:0;border:none;padding:0;position:absolute}.nmorph-select.nmorph-select--loading .nmorph-select__options{display:flex;justify-content:center;padding:16px}.nmorph-select.nmorph-select--disabled{cursor:not-allowed;opacity:.6}.nmorph-select.nmorph-select--fill{width:100%}.nmorph-select.nmorph-select--options-auto-width .nmorph-select__options{width:max-content;max-width:calc(100vw - var(--indentation-02) * 2)}.nmorph-select .nmorph-select__virtual-list{overflow-y:auto}.nmorph-select .nmorph-select__virtual-spacer{position:relative}.nmorph-select .nmorph-select__virtual-content{position:absolute;top:0;right:0;left:0}.nmorph-select.nmorph-select--open .nmorph-select__chevron{transform:rotate(180deg)}.nmorph-select.nmorph-select--open .nmorph-select__content{background:var(--nmorph-main-color);box-shadow:inset var(--base-shadow-width) var(--base-shadow-width) var(--base-shadow-blur) var(--nmorph-dark-shade-color),inset calc(-1 * var(--base-shadow-width)) calc(-1 * var(--base-shadow-width)) var(--base-shadow-blur) var(--nmorph-light-shade-color)}.nmorph-select.nmorph-select--selected-line-outset .nmorph-select__content{background:var(--nmorph-main-color);box-shadow:var(--base-shadow-width) var(--base-shadow-width) var(--base-shadow-blur) var(--nmorph-dark-shade-color),calc(-1 * var(--base-shadow-width)) calc(-1 * var(--base-shadow-width)) var(--base-shadow-blur) var(--nmorph-light-shade-color)}.nmorph-select.nmorph-select--focus{outline:2px solid var(--nmorph-accent-color)}.nmorph-select.nmorph-select--focus .nmorph-select__content{box-shadow:none}
@@ -1,30 +1,30 @@
1
1
  import './NmorphSelect.css';
2
- import p from "./NmorphSelect.vue2.js";
3
- import { openBlock as o, createElementBlock as r, normalizeClass as v, createElementVNode as i, withKeys as t, Fragment as a, renderList as d, withModifiers as w, toDisplayString as h, createBlock as l, mergeProps as m, createVNode as s, withCtx as c, renderSlot as k, createCommentVNode as g } from "vue";
2
+ import y from "./NmorphSelect.vue2.js";
3
+ import { openBlock as o, createElementBlock as r, normalizeClass as g, createElementVNode as t, withKeys as a, Fragment as i, renderList as c, withModifiers as u, toDisplayString as _, createBlock as n, mergeProps as d, createVNode as v, withCtx as h, normalizeStyle as s, renderSlot as w, createCommentVNode as k } from "vue";
4
4
  /* empty css */
5
- import y from "../../../_virtual/_plugin-vue_export-helper.js";
6
- const N = { class: "nmorph-select__content" }, b = ["id", "name", "autocomplete", "tabindex", "disabled"], x = ["value"], O = {
5
+ import x from "../../../_virtual/_plugin-vue_export-helper.js";
6
+ const N = { class: "nmorph-select__content" }, S = ["id", "name", "autocomplete", "tabindex", "disabled"], b = ["value"], H = {
7
7
  key: 0,
8
8
  class: "nmorph-select__selected-value"
9
- }, D = {
9
+ }, O = {
10
10
  key: 1,
11
11
  class: "nmorph-select__selected-value"
12
- }, H = {
12
+ }, C = {
13
13
  key: 2,
14
14
  class: "nmorph-select__selected-value"
15
- }, u = {
15
+ }, D = {
16
16
  ref: "optionsDOMRef",
17
17
  class: "nmorph-select__options"
18
18
  };
19
- function C(_, I, f, e, S, M) {
19
+ function I(f, m, p, e, M, z) {
20
20
  return o(), r(
21
21
  "div",
22
22
  {
23
- class: v(e.modifiers)
23
+ class: g(e.modifiers)
24
24
  },
25
25
  [
26
- i("div", N, [
27
- i("select", {
26
+ t("div", N, [
27
+ t("select", {
28
28
  id: e.id,
29
29
  name: e.name,
30
30
  autocomplete: e.autocomplete,
@@ -33,51 +33,51 @@ function C(_, I, f, e, S, M) {
33
33
  onFocus: e.focusHandler,
34
34
  onBlur: e.blurHandler,
35
35
  onKeydown: [
36
- t(e.spaceHandler, ["space"]),
37
- t(e.arrowDownHandler, ["arrow-down"]),
38
- t(e.arrowUpHandler, ["arrow-up"]),
39
- t(e.enterHandler, ["enter"])
36
+ a(e.spaceHandler, ["space"]),
37
+ a(e.arrowDownHandler, ["arrow-down"]),
38
+ a(e.arrowUpHandler, ["arrow-up"]),
39
+ a(e.enterHandler, ["enter"])
40
40
  ]
41
41
  }, [
42
42
  (o(!0), r(
43
- a,
43
+ i,
44
44
  null,
45
- d(e.domOptions, (n) => (o(), r("option", {
46
- key: n,
47
- value: n
48
- }, null, 8, x))),
45
+ c(e.nativeOptions, (l) => (o(), r("option", {
46
+ key: l,
47
+ value: l
48
+ }, null, 8, b))),
49
49
  128
50
50
  /* KEYED_FRAGMENT */
51
51
  ))
52
- ], 40, b),
53
- i(
52
+ ], 40, S),
53
+ t(
54
54
  "div",
55
55
  {
56
56
  ref: "nmorphSelectDOMRef",
57
57
  class: "nmorph-select__selected-values-line",
58
- onClick: w(e.clickHandler, ["stop"])
58
+ onClick: u(e.clickHandler, ["stop"])
59
59
  },
60
60
  [
61
61
  typeof e.initialValue == "string" ? (o(), r(
62
62
  "div",
63
- O,
64
- h(e.selectedValueTitle),
63
+ H,
64
+ _(e.selectedValueTitle),
65
65
  1
66
66
  /* TEXT */
67
67
  )) : e.initialValue.length === 0 ? (o(), r(
68
68
  "div",
69
- D,
70
- h(e.computedNoElementPlaceholder),
69
+ O,
70
+ _(e.computedNoElementPlaceholder),
71
71
  1
72
72
  /* TEXT */
73
- )) : (o(), r("div", H, [
73
+ )) : (o(), r("div", C, [
74
74
  (o(!0), r(
75
- a,
75
+ i,
76
76
  null,
77
- d(e.tags, (n) => (o(), l(e.NmorphTagItem, m({
78
- key: n.value,
77
+ c(e.tags, (l) => (o(), n(e.NmorphTagItem, d({
78
+ key: l.value,
79
79
  ref_for: !0
80
- }, n, {
80
+ }, l, {
81
81
  transparent: "",
82
82
  removable: e.tags.length > 1 || !e.props.valueRequired,
83
83
  height: "thin",
@@ -87,9 +87,9 @@ function C(_, I, f, e, S, M) {
87
87
  /* KEYED_FRAGMENT */
88
88
  ))
89
89
  ])),
90
- s(e.NmorphIcon, { class: "nmorph-select__chevron" }, {
91
- default: c(() => [
92
- e.props.loading ? (o(), l(e.NmorphIconLoader, { key: 0 })) : (o(), l(e.NmorphIconChevronDown, { key: 1 }))
90
+ v(e.NmorphIcon, { class: "nmorph-select__chevron" }, {
91
+ default: h(() => [
92
+ e.props.loading ? (o(), n(e.NmorphIconLoader, { key: 0 })) : (o(), n(e.NmorphIconChevronDown, { key: 1 }))
93
93
  ]),
94
94
  _: 1
95
95
  /* STABLE */
@@ -99,7 +99,7 @@ function C(_, I, f, e, S, M) {
99
99
  /* NEED_PATCH */
100
100
  )
101
101
  ]),
102
- e.nmorphSelectDOMRef && !e.props.disabled ? (o(), l(e.NmorphDropdown, {
102
+ e.nmorphSelectDOMRef && !e.props.disabled ? (o(), n(e.NmorphDropdown, {
103
103
  key: 0,
104
104
  open: e.open && !e.props.loading,
105
105
  "relative-element": e.nmorphSelectDOMRef,
@@ -110,34 +110,91 @@ function C(_, I, f, e, S, M) {
110
110
  "z-index": e.props.zIndex,
111
111
  onOnOutsideClick: e.closeHandler
112
112
  }, {
113
- default: c(() => [
114
- i(
113
+ default: h(() => [
114
+ t(
115
115
  "div",
116
- u,
116
+ D,
117
117
  [
118
- e.props.loading ? (o(), l(e.NmorphIcon, {
118
+ e.props.loading ? (o(), n(e.NmorphIcon, {
119
119
  key: 0,
120
120
  class: "nmorph-select__chevron",
121
121
  size: "medium"
122
122
  }, {
123
- default: c(() => [
124
- s(e.NmorphIconChevronDown)
123
+ default: h(() => [
124
+ v(e.NmorphIconChevronDown)
125
125
  ]),
126
126
  _: 1
127
127
  /* STABLE */
128
- })) : (o(!0), r(
129
- a,
130
- { key: 1 },
131
- d(f.options, (n) => (o(), l(e.NmorphSelectOption, m({
132
- key: n.value,
133
- ref_for: !0
134
- }, n, {
135
- height: e.props.height
136
- }), null, 16, ["height"]))),
137
- 128
138
- /* KEYED_FRAGMENT */
139
- )),
140
- k(_.$slots, "default")
128
+ })) : e.virtualEnabled ? (o(), r(
129
+ "div",
130
+ {
131
+ key: 1,
132
+ ref: e.virtualList.containerRef,
133
+ class: "nmorph-select__virtual-list",
134
+ style: s({ maxHeight: e.virtualMaxHeight }),
135
+ onScroll: m[0] || (m[0] = (...l) => e.virtualList.scrollHandler && e.virtualList.scrollHandler(...l))
136
+ },
137
+ [
138
+ t(
139
+ "div",
140
+ {
141
+ class: "nmorph-select__virtual-spacer",
142
+ style: s(e.virtualSpacerStyle)
143
+ },
144
+ [
145
+ t(
146
+ "div",
147
+ {
148
+ class: "nmorph-select__virtual-content",
149
+ style: s(e.virtualContentStyle)
150
+ },
151
+ [
152
+ (o(!0), r(
153
+ i,
154
+ null,
155
+ c(e.virtualOptions, (l) => (o(), n(e.NmorphSelectOption, d({
156
+ key: l.index,
157
+ ref_for: !0
158
+ }, l.item, {
159
+ focused: l.item.value === e.currentFocusedEl,
160
+ height: e.props.height
161
+ }), null, 16, ["focused", "height"]))),
162
+ 128
163
+ /* KEYED_FRAGMENT */
164
+ ))
165
+ ],
166
+ 4
167
+ /* STYLE */
168
+ )
169
+ ],
170
+ 4
171
+ /* STYLE */
172
+ )
173
+ ],
174
+ 36
175
+ /* STYLE, NEED_HYDRATION */
176
+ )) : (o(), r(
177
+ i,
178
+ { key: 2 },
179
+ [
180
+ (o(!0), r(
181
+ i,
182
+ null,
183
+ c(p.options, (l) => (o(), n(e.NmorphSelectOption, d({
184
+ key: l.value,
185
+ ref_for: !0
186
+ }, l, {
187
+ focused: l.value === e.currentFocusedEl,
188
+ height: e.props.height
189
+ }), null, 16, ["focused", "height"]))),
190
+ 128
191
+ /* KEYED_FRAGMENT */
192
+ )),
193
+ w(f.$slots, "default")
194
+ ],
195
+ 64
196
+ /* STABLE_FRAGMENT */
197
+ ))
141
198
  ],
142
199
  512
143
200
  /* NEED_PATCH */
@@ -145,13 +202,13 @@ function C(_, I, f, e, S, M) {
145
202
  ]),
146
203
  _: 3
147
204
  /* FORWARDED */
148
- }, 8, ["open", "relative-element", "fill-width", "width", "min-width", "z-index"])) : g("v-if", !0)
205
+ }, 8, ["open", "relative-element", "fill-width", "width", "min-width", "z-index"])) : k("v-if", !0)
149
206
  ],
150
207
  2
151
208
  /* CLASS */
152
209
  );
153
210
  }
154
- const E = /* @__PURE__ */ y(p, [["render", C], ["__file", "/builds/ketjo/nmorph/library/src/components/form/nmorph-select/NmorphSelect.vue"]]);
211
+ const B = /* @__PURE__ */ x(y, [["render", I], ["__file", "/builds/ketjo/nmorph/library/src/components/form/nmorph-select/NmorphSelect.vue"]]);
155
212
  export {
156
- E as default
213
+ B as default
157
214
  };