@nmorph/nmorph-ui-kit 2.2.19 → 2.2.20

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 (104) hide show
  1. package/dist/assets/icons/circle-close.svg.js +4 -4
  2. package/dist/assets/icons/clock.svg.js +2 -2
  3. package/dist/assets/icons/folder-opened.svg.js +8 -8
  4. package/dist/components/basic/nmorph-button/NmorphButton.css +1 -1
  5. package/dist/components/basic/nmorph-link/NmorphLink.vue.js +16 -15
  6. package/dist/components/basic/nmorph-link/NmorphLink.vue2.js +17 -14
  7. package/dist/components/data/nmorph-badge/NmorphBadge.css +1 -1
  8. package/dist/components/data/nmorph-badge/NmorphBadge.vue.js +23 -23
  9. package/dist/components/data/nmorph-badge/NmorphBadge.vue2.js +27 -23
  10. package/dist/components/data/nmorph-calendar/NmorphCalendar.vue.js +14 -13
  11. package/dist/components/data/nmorph-calendar/NmorphCalendar.vue2.js +68 -65
  12. package/dist/components/data/nmorph-calendar/utils.js +4 -3
  13. package/dist/components/data/nmorph-card/NmorphCard.css +1 -1
  14. package/dist/components/data/nmorph-card/NmorphCard.vue.js +27 -26
  15. package/dist/components/data/nmorph-card/NmorphCard.vue2.js +21 -13
  16. package/dist/components/data/nmorph-carousel/NmorphCarousel.vue.js +39 -42
  17. package/dist/components/data/nmorph-carousel/NmorphCarousel.vue2.js +25 -36
  18. package/dist/components/data/nmorph-carousel/components/nmorph-carousel-item/NmorphCarouselItem.vue2.js +15 -11
  19. package/dist/components/data/nmorph-collapse/components/nmorph-collapse-item/NmorphCollapseItem.css +1 -1
  20. package/dist/components/data/nmorph-collapse/components/nmorph-collapse-item/NmorphCollapseItem.vue.js +14 -13
  21. package/dist/components/data/nmorph-collapse/components/nmorph-collapse-item/NmorphCollapseItem.vue2.js +42 -27
  22. package/dist/components/data/nmorph-empty/NmorphEmpty.css +1 -0
  23. package/dist/components/data/nmorph-empty/NmorphEmpty.vue.js +64 -0
  24. package/dist/components/data/nmorph-empty/NmorphEmpty.vue2.js +43 -0
  25. package/dist/components/data/nmorph-image-preview/NmorphImagePreview.css +1 -1
  26. package/dist/components/data/nmorph-image-preview/NmorphImagePreview.vue.js +64 -61
  27. package/dist/components/data/nmorph-image-preview/NmorphImagePreview.vue2.js +70 -60
  28. package/dist/components/data/nmorph-progress/NmorphProgress.vue.js +24 -29
  29. package/dist/components/data/nmorph-progress/NmorphProgress.vue2.js +25 -14
  30. package/dist/components/data/nmorph-skeleton/NmorphSkeleton.vue.js +20 -19
  31. package/dist/components/data/nmorph-skeleton/NmorphSkeleton.vue2.js +15 -12
  32. package/dist/components/data/nmorph-table/NmorphTable.vue.js +35 -31
  33. package/dist/components/data/nmorph-table/NmorphTable.vue2.js +64 -50
  34. package/dist/components/data/nmorph-tag-list/components/nmorph-tag-item/NmorphTagItem.css +1 -1
  35. package/dist/components/feedback/nmorph-alert/NmorphAlert.vue.js +8 -8
  36. package/dist/components/feedback/nmorph-alert/NmorphAlert.vue2.js +26 -22
  37. package/dist/components/feedback/nmorph-callout/NmorphCallout.css +1 -1
  38. package/dist/components/feedback/nmorph-callout/NmorphCallout.vue.js +16 -15
  39. package/dist/components/feedback/nmorph-callout/NmorphCallout.vue2.js +11 -8
  40. package/dist/components/feedback/nmorph-tooltip/NmorphTooltip.css +1 -1
  41. package/dist/components/feedback/nmorph-tooltip/NmorphTooltip.vue.js +13 -13
  42. package/dist/components/feedback/nmorph-tooltip/NmorphTooltip.vue2.js +33 -19
  43. package/dist/components/form/nmorph-autocomplete/NmorphAutocomplete.vue.js +1 -1
  44. package/dist/components/form/nmorph-date-picker/NmorphDatePicker.css +1 -1
  45. package/dist/components/form/nmorph-date-picker/NmorphDatePicker.vue.js +16 -15
  46. package/dist/components/form/nmorph-date-picker/NmorphDatePicker.vue2.js +39 -32
  47. package/dist/components/form/nmorph-number-input/NmorphNumberInput.css +1 -1
  48. package/dist/components/form/nmorph-number-input/NmorphNumberInput.vue.js +7 -7
  49. package/dist/components/form/nmorph-select/NmorphSelect.vue.js +40 -39
  50. package/dist/components/form/nmorph-select/NmorphSelect.vue2.js +53 -50
  51. package/dist/components/form/nmorph-select/components/nmorph-select-option/NmorphSelectOption.vue.js +16 -15
  52. package/dist/components/form/nmorph-select/components/nmorph-select-option/NmorphSelectOption.vue2.js +21 -16
  53. package/dist/components/form/nmorph-select-button/NmorphSelectButton.vue.js +16 -15
  54. package/dist/components/form/nmorph-select-button/NmorphSelectButton.vue2.js +26 -19
  55. package/dist/components/form/nmorph-slider/NmorphSlider.vue.js +4 -4
  56. package/dist/components/form/nmorph-slider/NmorphSlider.vue2.js +48 -38
  57. package/dist/components/form/nmorph-switch/NmorphSwitch.css +1 -1
  58. package/dist/components/form/nmorph-switch/NmorphSwitch.vue.js +18 -17
  59. package/dist/components/form/nmorph-switch/NmorphSwitch.vue2.js +38 -27
  60. package/dist/components/form/nmorph-time-picker/NmorphTimePicker.css +1 -0
  61. package/dist/components/form/nmorph-time-picker/NmorphTimePicker.vue.js +183 -0
  62. package/dist/components/form/nmorph-time-picker/NmorphTimePicker.vue2.js +111 -0
  63. package/dist/components/navigation/nmorph-context-menu/NmorphContextMenu.css +1 -1
  64. package/dist/components/providers/nmorph-notification-provider/NmorphNotificationProvider.vue.js +9 -8
  65. package/dist/components/providers/nmorph-notification-provider/NmorphNotificationProvider.vue2.js +14 -14
  66. package/dist/hooks/use-common-styles.js +75 -9
  67. package/dist/hooks/use-virtual-list.js +3 -1
  68. package/dist/index.es.js +654 -650
  69. package/dist/index.umd.js +101 -35
  70. package/dist/locales/en.js +1 -0
  71. package/dist/locales/ru.js +1 -0
  72. package/dist/locales/zh.js +1 -0
  73. package/dist/package.json.js +1 -1
  74. package/dist/src/components/basic/nmorph-link/NmorphLink.vue.d.ts +2 -0
  75. package/dist/src/components/data/index.d.ts +1 -0
  76. package/dist/src/components/data/nmorph-badge/NmorphBadge.vue.d.ts +2 -0
  77. package/dist/src/components/data/nmorph-calendar/NmorphCalendar.vue.d.ts +2 -0
  78. package/dist/src/components/data/nmorph-card/NmorphCard.vue.d.ts +7 -5
  79. package/dist/src/components/data/nmorph-carousel/NmorphCarousel.vue.d.ts +1 -3
  80. package/dist/src/components/data/nmorph-collapse/components/nmorph-collapse-item/NmorphCollapseItem.vue.d.ts +2 -0
  81. package/dist/src/components/data/nmorph-empty/NmorphEmpty.vue.d.ts +36 -0
  82. package/dist/src/components/data/nmorph-image-preview/NmorphImagePreview.vue.d.ts +6 -0
  83. package/dist/src/components/data/nmorph-progress/NmorphProgress.vue.d.ts +6 -0
  84. package/dist/src/components/data/nmorph-skeleton/NmorphSkeleton.vue.d.ts +2 -0
  85. package/dist/src/components/data/nmorph-table/NmorphTable.vue.d.ts +6 -0
  86. package/dist/src/components/feedback/nmorph-alert/NmorphAlert.vue.d.ts +1 -0
  87. package/dist/src/components/feedback/nmorph-alert/types.d.ts +1 -0
  88. package/dist/src/components/feedback/nmorph-callout/NmorphCallout.vue.d.ts +2 -0
  89. package/dist/src/components/feedback/nmorph-tooltip/NmorphTooltip.vue.d.ts +8 -0
  90. package/dist/src/components/form/index.d.ts +2 -0
  91. package/dist/src/components/form/nmorph-date-picker/NmorphDatePicker.vue.d.ts +4 -0
  92. package/dist/src/components/form/nmorph-select/NmorphSelect.vue.d.ts +2 -0
  93. package/dist/src/components/form/nmorph-select/components/nmorph-select-option/NmorphSelectOption.vue.d.ts +2 -0
  94. package/dist/src/components/form/nmorph-select/types.d.ts +2 -0
  95. package/dist/src/components/form/nmorph-select-button/NmorphSelectButton.vue.d.ts +6 -0
  96. package/dist/src/components/form/nmorph-slider/types.d.ts +4 -0
  97. package/dist/src/components/form/nmorph-switch/NmorphSwitch.vue.d.ts +8 -0
  98. package/dist/src/components/form/nmorph-time-picker/NmorphTimePicker.vue.d.ts +44 -0
  99. package/dist/src/components/form/nmorph-time-picker/types.d.ts +6 -0
  100. package/dist/src/components/navigation/nmorph-context-menu/NmorphContextMenu.vue.d.ts +3 -3
  101. package/dist/src/components/navigation/nmorph-dropdown/NmorphDropdown.vue.d.ts +2 -2
  102. package/dist/src/outside-hooks/use-nmorph-notification.d.ts +2 -0
  103. package/dist/style.css +1 -1
  104. package/package.json +6 -5
@@ -1,9 +1,9 @@
1
1
  import './NmorphTable.css';
2
2
  import p from "./NmorphTable.vue2.js";
3
- import { openBlock as r, createElementBlock as t, normalizeClass as _, createElementVNode as o, Fragment as a, renderList as i, normalizeStyle as d, toDisplayString as s, createBlock as m, createCommentVNode as y, renderSlot as h } from "vue";
3
+ import { openBlock as r, createElementBlock as t, normalizeStyle as a, normalizeClass as _, createElementVNode as o, Fragment as d, renderList as i, toDisplayString as s, createBlock as m, createCommentVNode as y, renderSlot as h } from "vue";
4
4
  /* empty css */
5
- import u from "../../../_virtual/_plugin-vue_export-helper.js";
6
- const v = { class: "nmorph-table__wrapper" }, w = { class: "nmorph-table__header" }, f = ["data-src"], g = { class: "nmorph-table__table-row" }, k = { class: "nmorph-table__cell" }, x = ["tabindex"], S = ["id"], R = { class: "nmorph-table__slot-columns" }, W = ["id"], B = { class: "nmorph-table__slot-columns" };
5
+ import v from "../../../_virtual/_plugin-vue_export-helper.js";
6
+ const u = { class: "nmorph-table__wrapper" }, w = { class: "nmorph-table__header" }, f = ["data-src"], g = { class: "nmorph-table__table-row" }, k = { class: "nmorph-table__cell" }, x = ["tabindex"], S = ["id"], R = { class: "nmorph-table__slot-columns" }, W = ["id"], B = { class: "nmorph-table__slot-columns" };
7
7
  function E(c, H, N, l, C, I) {
8
8
  return r(), t("div", null, [
9
9
  (r(), t(
@@ -11,18 +11,19 @@ function E(c, H, N, l, C, I) {
11
11
  {
12
12
  ref: "nmorphDOMTable",
13
13
  key: l.key,
14
- class: _(l.modifiers)
14
+ class: _(l.modifiers),
15
+ style: a(l.tableStyle)
15
16
  },
16
17
  [
17
- o("div", v, [
18
+ o("div", u, [
18
19
  o("table", w, [
19
20
  o("colgroup", null, [
20
21
  (r(!0), t(
21
- a,
22
+ d,
22
23
  null,
23
24
  i(l.columns, (e) => (r(), t("col", {
24
25
  key: e.prop,
25
- style: d({ width: `${l.getWidth(e.width)}px` }),
26
+ style: a({ width: `${l.getWidth(e.width)}px` }),
26
27
  "data-src": `${l.getWidth(e.width)}px`
27
28
  }, null, 12, f))),
28
29
  128
@@ -32,7 +33,7 @@ function E(c, H, N, l, C, I) {
32
33
  o("thead", null, [
33
34
  o("tr", g, [
34
35
  (r(!0), t(
35
- a,
36
+ d,
36
37
  null,
37
38
  i(l.columns, (e, b) => (r(), t(
38
39
  "th",
@@ -45,7 +46,7 @@ function E(c, H, N, l, C, I) {
45
46
  o(
46
47
  "div",
47
48
  {
48
- style: d({ "justify-content": e.alignment }),
49
+ style: a({ "justify-content": e.alignment }),
49
50
  class: "nmorph-table__cell-content"
50
51
  },
51
52
  [
@@ -79,8 +80,11 @@ function E(c, H, N, l, C, I) {
79
80
  ]),
80
81
  o("div", {
81
82
  ref: l.virtualList.containerRef,
82
- class: _(["nmorph-table__body", { "nmorph-table__body--virtual": l.virtualEnabled, "nmorph-table__body--dynamic": l.props.virtualDynamicHeight }]),
83
- style: d(l.tableBodyStyle),
83
+ class: _(["nmorph-table__body", {
84
+ "nmorph-table__body--virtual": l.virtualEnabled,
85
+ "nmorph-table__body--dynamic": l.props.virtualDynamicHeight
86
+ }]),
87
+ style: a(l.tableBodyStyle),
84
88
  tabindex: l.virtualEnabled ? 0 : void 0,
85
89
  role: "grid",
86
90
  onKeydown: l.tableKeydownHandler,
@@ -91,26 +95,26 @@ function E(c, H, N, l, C, I) {
91
95
  {
92
96
  key: 0,
93
97
  class: "nmorph-table__virtual-spacer",
94
- style: d(l.virtualSpacerStyle)
98
+ style: a(l.virtualSpacerStyle)
95
99
  },
96
100
  [
97
101
  o(
98
102
  "div",
99
103
  {
100
104
  class: "nmorph-table__virtual-content",
101
- style: d(l.virtualContentStyle)
105
+ style: a(l.virtualContentStyle)
102
106
  },
103
107
  [
104
108
  o("table", null, [
105
109
  o("colgroup", null, [
106
110
  (r(!0), t(
107
- a,
111
+ d,
108
112
  null,
109
113
  i(l.columns, (e) => (r(), t(
110
114
  "col",
111
115
  {
112
116
  key: e.prop,
113
- style: d({ width: `${l.getWidth(e.width)}px` })
117
+ style: a({ width: `${l.getWidth(e.width)}px` })
114
118
  },
115
119
  null,
116
120
  4
@@ -122,7 +126,7 @@ function E(c, H, N, l, C, I) {
122
126
  ]),
123
127
  o("tbody", null, [
124
128
  (r(!0), t(
125
- a,
129
+ d,
126
130
  null,
127
131
  i(l.renderedRows, (e, b) => (r(), t(
128
132
  "tr",
@@ -138,7 +142,7 @@ function E(c, H, N, l, C, I) {
138
142
  },
139
143
  [
140
144
  (r(!0), t(
141
- a,
145
+ d,
142
146
  null,
143
147
  i(l.columns, (n) => (r(), t(
144
148
  "td",
@@ -149,7 +153,7 @@ function E(c, H, N, l, C, I) {
149
153
  [
150
154
  o("div", {
151
155
  id: `table-cell-${l.tableIdentifier}-${b}-${n.prop}`,
152
- style: d({ "text-align": n.alignment }),
156
+ style: a({ "text-align": n.alignment }),
153
157
  class: "nmorph-table__cell nmorph-table__cell--data"
154
158
  }, s(l.tableData(e.item[n.prop])), 13, S)
155
159
  ],
@@ -171,13 +175,13 @@ function E(c, H, N, l, C, I) {
171
175
  o("table", null, [
172
176
  o("colgroup", null, [
173
177
  (r(!0), t(
174
- a,
178
+ d,
175
179
  null,
176
180
  i(l.columns, (e) => (r(), t(
177
181
  "col",
178
182
  {
179
183
  key: e.prop,
180
- style: d({ width: `${l.getWidth(e.width)}px` })
184
+ style: a({ width: `${l.getWidth(e.width)}px` })
181
185
  },
182
186
  null,
183
187
  4
@@ -199,19 +203,19 @@ function E(c, H, N, l, C, I) {
199
203
  4
200
204
  /* STYLE */
201
205
  )) : (r(), t(
202
- a,
206
+ d,
203
207
  { key: 1 },
204
208
  [
205
209
  o("table", null, [
206
210
  o("colgroup", null, [
207
211
  (r(!0), t(
208
- a,
212
+ d,
209
213
  null,
210
214
  i(l.columns, (e) => (r(), t(
211
215
  "col",
212
216
  {
213
217
  key: e.prop,
214
- style: d({ width: `${l.getWidth(e.width)}px` })
218
+ style: a({ width: `${l.getWidth(e.width)}px` })
215
219
  },
216
220
  null,
217
221
  4
@@ -223,7 +227,7 @@ function E(c, H, N, l, C, I) {
223
227
  ]),
224
228
  o("tbody", null, [
225
229
  (r(!0), t(
226
- a,
230
+ d,
227
231
  null,
228
232
  i(l.renderedRows, (e, b) => (r(), t(
229
233
  "tr",
@@ -233,7 +237,7 @@ function E(c, H, N, l, C, I) {
233
237
  },
234
238
  [
235
239
  (r(!0), t(
236
- a,
240
+ d,
237
241
  null,
238
242
  i(l.columns, (n) => (r(), t(
239
243
  "td",
@@ -244,7 +248,7 @@ function E(c, H, N, l, C, I) {
244
248
  [
245
249
  o("div", {
246
250
  id: `table-cell-${l.tableIdentifier}-${b}-${n.prop}`,
247
- style: d({ "text-align": n.alignment }),
251
+ style: a({ "text-align": n.alignment }),
248
252
  class: "nmorph-table__cell nmorph-table__cell--data"
249
253
  }, s(l.tableData(e.item[n.prop])), 13, W)
250
254
  ],
@@ -266,13 +270,13 @@ function E(c, H, N, l, C, I) {
266
270
  o("table", null, [
267
271
  o("colgroup", null, [
268
272
  (r(!0), t(
269
- a,
273
+ d,
270
274
  null,
271
275
  i(l.columns, (e) => (r(), t(
272
276
  "col",
273
277
  {
274
278
  key: e.prop,
275
- style: d({ width: `${l.getWidth(e.width)}px` })
279
+ style: a({ width: `${l.getWidth(e.width)}px` })
276
280
  },
277
281
  null,
278
282
  4
@@ -293,12 +297,12 @@ function E(c, H, N, l, C, I) {
293
297
  ], 46, x)
294
298
  ])
295
299
  ],
296
- 2
297
- /* CLASS */
300
+ 6
301
+ /* CLASS, STYLE */
298
302
  ))
299
303
  ]);
300
304
  }
301
- const K = /* @__PURE__ */ u(p, [["render", E], ["__file", "/builds/ketjo/nmorph/library/src/components/data/nmorph-table/NmorphTable.vue"]]);
305
+ const K = /* @__PURE__ */ v(p, [["render", E], ["__file", "/builds/ketjo/nmorph/library/src/components/data/nmorph-table/NmorphTable.vue"]]);
302
306
  export {
303
307
  K as default
304
308
  };
@@ -1,10 +1,10 @@
1
1
  import './NmorphTable.css';
2
- import { defineComponent as E, computed as r, ref as n, provide as _, watch as P, nextTick as K } from "vue";
3
- import { useModifiers as Q } from "../../../utils/create-modifiers.js";
4
- import { generateUUID as V } from "../../../utils/common.js";
5
- import Y from "./inner-components/nmorph-sort-button/NmorphSortButton.vue.js";
6
- import { useVirtualList as z } from "../../../hooks/use-virtual-list.js";
7
- const te = /* @__PURE__ */ E({
2
+ import { defineComponent as P, computed as a, ref as n, provide as M, watch as K, nextTick as Q } from "vue";
3
+ import { useModifiers as V } from "../../../utils/create-modifiers.js";
4
+ import { generateUUID as Y } from "../../../utils/common.js";
5
+ import z from "./inner-components/nmorph-sort-button/NmorphSortButton.vue.js";
6
+ import { useVirtualList as F } from "../../../hooks/use-virtual-list.js";
7
+ const re = /* @__PURE__ */ P({
8
8
  __name: "NmorphTable",
9
9
  props: {
10
10
  data: { type: Array, required: !1, default: () => [] },
@@ -16,70 +16,84 @@ const te = /* @__PURE__ */ E({
16
16
  virtualHeight: { type: [Number, String], required: !1, default: "320px" },
17
17
  virtualOverscan: { type: Number, required: !1, default: 5 },
18
18
  virtualRowHeight: { type: Number, required: !1, default: 42 },
19
- virtualDynamicHeight: { type: Boolean, required: !1, default: !1 }
19
+ virtualDynamicHeight: { type: Boolean, required: !1, default: !1 },
20
+ borderColor: { type: String, required: !1, default: void 0 },
21
+ cellHeight: { type: [Number, String], required: !1, default: void 0 },
22
+ rowHoverBackground: { type: String, required: !1, default: void 0 }
20
23
  },
21
- setup(k, { expose: I }) {
22
- I();
23
- const t = k, W = r(
24
- () => Q({
24
+ setup(T, { expose: _ }) {
25
+ _();
26
+ const t = T, I = a(
27
+ () => V({
25
28
  "nmorph-table": [`${t.design}`]
26
29
  })
27
- ), o = n([...t.data]), u = r(() => t.virtual), H = r(() => t.virtualRowHeight), b = r(() => t.virtualOverscan), x = r(() => t.virtualDynamicHeight), a = z(o, {
30
+ ), o = n([...t.data]), u = a(() => t.virtual), H = a(() => t.virtualRowHeight), x = a(() => t.virtualOverscan), S = a(() => t.virtualDynamicHeight), r = F(o, {
28
31
  enabled: u,
29
32
  itemHeight: H,
30
- overscan: b,
31
- dynamic: x
32
- }), R = r(
33
- () => u.value ? a.virtualItems.value : o.value.map((e, l) => ({ item: e, index: l }))
34
- ), D = r(() => R.value.map((e) => e.item)), s = n(-1), m = n(0), c = n(t.sort), B = (e, l) => {
35
- c.value && (c.value[l] = e, o.value.sort((g, y) => {
36
- const w = String(g[l]).toLowerCase(), i = String(y[l]).toLowerCase();
37
- if (!c.value)
33
+ overscan: x,
34
+ dynamic: S
35
+ }), C = a(
36
+ () => u.value ? r.virtualItems.value : o.value.map((e, l) => ({ item: e, index: l }))
37
+ ), R = a(() => C.value.map((e) => e.item)), s = n(-1), h = n(0), d = n(t.sort), W = (e, l) => {
38
+ d.value && (d.value[l] = e, o.value.sort((y, w) => {
39
+ const b = String(y[l]).toLowerCase(), i = String(w[l]).toLowerCase();
40
+ if (!d.value)
38
41
  return 0;
39
- const f = c.value[l];
40
- return f === "ascending" ? w.localeCompare(i) : f === "descending" ? i.localeCompare(w) : 0;
42
+ const f = d.value[l];
43
+ return f === "ascending" ? b.localeCompare(i) : f === "descending" ? i.localeCompare(b) : 0;
41
44
  }));
42
- }, h = n(null), d = n([]);
43
- _("table-data", { rows: D, columns: d });
44
- const S = r(() => {
45
- const e = d.value.map((i) => i.width).filter((i) => !!i), l = e.length, g = e.reduce((i, f) => (i += Number(f), i), 0), y = d.value.length - l;
46
- return h.value?.clientWidth ? (h.value?.clientWidth - g) / y : 0;
47
- }), N = (e) => e !== "" ? e : S.value, p = n(0);
48
- P(
45
+ }, p = n(null), c = n([]);
46
+ M("table-data", { rows: R, columns: c });
47
+ const D = a(() => {
48
+ const e = c.value.map((i) => i.width).filter((i) => !!i), l = e.length, y = e.reduce((i, f) => (i += Number(f), i), 0), w = c.value.length - l;
49
+ return p.value?.clientWidth ? (p.value?.clientWidth - y) / w : 0;
50
+ }), N = (e) => e !== "" ? e : D.value, m = n(0);
51
+ K(
49
52
  () => t.data,
50
53
  async () => {
51
- p.value = p.value + 1, o.value = [...t.data], d.value = [], await K();
52
- const e = a.containerRef.value;
53
- e && (e.scrollTop = Math.min(m.value, Math.max(a.totalHeight.value - e.clientHeight, 0)), a.refresh());
54
+ m.value = m.value + 1, o.value = [...t.data], c.value = [], await Q();
55
+ const e = r.containerRef.value;
56
+ e && (e.scrollTop = Math.min(
57
+ h.value,
58
+ Math.max(r.totalHeight.value - e.clientHeight, 0)
59
+ ), r.refresh());
54
60
  },
55
61
  {
56
62
  immediate: !0
57
63
  }
58
64
  );
59
- const O = (e) => typeof e == "object" ? "" : e, C = V();
60
- _("table-identifier", C);
61
- const q = (e) => typeof e == "number" ? `${e}px` : e, M = r(() => q(t.virtualHeight)), $ = r(() => ({
65
+ const O = (e) => typeof e == "object" ? "" : e, q = Y();
66
+ M("table-identifier", q);
67
+ const g = (e) => typeof e == "number" ? `${e}px` : e, k = a(() => g(t.virtualHeight)), $ = a(() => ({
68
+ ...t.borderColor !== void 0 && { "--border-color": t.borderColor },
69
+ ...t.cellHeight !== void 0 && { "--table-cell-height": g(t.cellHeight) },
70
+ ...t.rowHoverBackground !== void 0 && { "--table-background-row-hover": t.rowHoverBackground }
71
+ })), A = a(() => ({
62
72
  "--table-virtual-row-height": `${t.virtualRowHeight}px`,
63
- height: u.value ? M.value : void 0,
73
+ height: u.value ? k.value : void 0,
64
74
  overflowY: u.value ? "auto" : void 0
65
- })), A = r(() => ({
66
- height: `${a.totalHeight.value}px`
67
- })), L = r(() => ({
68
- transform: `translateY(${a.offsetTop.value}px)`
69
- })), U = (e, l) => {
70
- a.measureElement(l, e);
71
- }, j = () => {
72
- a.scrollHandler(), m.value = a.containerRef.value?.scrollTop || 0;
75
+ })), L = a(() => ({
76
+ height: `${r.totalHeight.value}px`
77
+ })), U = a(() => ({
78
+ transform: `translateY(${r.offsetTop.value}px)`
79
+ })), j = (e, l) => {
80
+ r.measureElement(l, e);
81
+ }, E = () => {
82
+ r.scrollHandler(), h.value = r.containerRef.value?.scrollTop || 0;
73
83
  }, v = (e) => {
74
84
  if (!o.value.length) return;
75
85
  const l = s.value < 0 ? 0 : Math.min(Math.max(s.value + e, 0), o.value.length - 1);
76
- s.value = l, a.scrollToIndex(l);
77
- }, T = { props: t, modifiers: W, rows: o, virtualEnabled: u, virtualRowHeight: H, virtualOverscan: b, virtualDynamicHeight: x, virtualList: a, renderedRows: R, tableRows: D, activeRowIndex: s, lastScrollTop: m, sortData: c, onSort: B, nmorphDOMTable: h, columns: d, defaultColWidth: S, getWidth: N, key: p, tableData: O, tableIdentifier: C, getCssSize: q, virtualHeight: M, tableBodyStyle: $, virtualSpacerStyle: A, virtualContentStyle: L, setVirtualRowRef: U, scrollHandler: j, moveActiveRow: v, tableKeydownHandler: (e) => {
78
- u.value && (e.key === "ArrowDown" ? (e.preventDefault(), v(1)) : e.key === "ArrowUp" ? (e.preventDefault(), v(-1)) : e.key === "Home" ? (e.preventDefault(), s.value = 0, a.scrollToIndex(0)) : e.key === "End" ? (e.preventDefault(), s.value = o.value.length - 1, a.scrollToIndex(o.value.length - 1)) : e.key === "PageDown" ? (e.preventDefault(), v(Math.max(Math.floor((a.viewportHeight.value || t.virtualRowHeight) / t.virtualRowHeight), 1))) : e.key === "PageUp" && (e.preventDefault(), v(-Math.max(Math.floor((a.viewportHeight.value || t.virtualRowHeight) / t.virtualRowHeight), 1))));
79
- }, NmorphSortButton: Y };
80
- return Object.defineProperty(T, "__isScriptSetup", { enumerable: !1, value: !0 }), T;
86
+ s.value = l, r.scrollToIndex(l);
87
+ }, B = { props: t, modifiers: I, rows: o, virtualEnabled: u, virtualRowHeight: H, virtualOverscan: x, virtualDynamicHeight: S, virtualList: r, renderedRows: C, tableRows: R, activeRowIndex: s, lastScrollTop: h, sortData: d, onSort: W, nmorphDOMTable: p, columns: c, defaultColWidth: D, getWidth: N, key: m, tableData: O, tableIdentifier: q, getCssSize: g, virtualHeight: k, tableStyle: $, tableBodyStyle: A, virtualSpacerStyle: L, virtualContentStyle: U, setVirtualRowRef: j, scrollHandler: E, moveActiveRow: v, tableKeydownHandler: (e) => {
88
+ u.value && (e.key === "ArrowDown" ? (e.preventDefault(), v(1)) : e.key === "ArrowUp" ? (e.preventDefault(), v(-1)) : e.key === "Home" ? (e.preventDefault(), s.value = 0, r.scrollToIndex(0)) : e.key === "End" ? (e.preventDefault(), s.value = o.value.length - 1, r.scrollToIndex(o.value.length - 1)) : e.key === "PageDown" ? (e.preventDefault(), v(
89
+ Math.max(Math.floor((r.viewportHeight.value || t.virtualRowHeight) / t.virtualRowHeight), 1)
90
+ )) : e.key === "PageUp" && (e.preventDefault(), v(
91
+ -Math.max(Math.floor((r.viewportHeight.value || t.virtualRowHeight) / t.virtualRowHeight), 1)
92
+ )));
93
+ }, NmorphSortButton: z };
94
+ return Object.defineProperty(B, "__isScriptSetup", { enumerable: !1, value: !0 }), B;
81
95
  }
82
96
  });
83
97
  export {
84
- te as default
98
+ re as default
85
99
  };
@@ -1 +1 @@
1
- .nmorph-tag-item{display:inline-flex;margin-right:var(--indentation-02);padding:var(--indentation-00) var(--indentation-03);border:solid 2px var(--nmorph-text-color);border-radius:var(--default-border-radius);cursor:default}.nmorph-tag-item .nmorph-tag-item__content{display:flex;align-items:center;height:100%}.nmorph-tag-item .nmorph-tag-item__close-icon{margin-left:4px}.nmorph-tag-item.nmorph-tag-item--nmorph-design{background:var(--nmorph-main-color);border:none;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-tag-item.nmorph-tag-item--thin{--height: var(--thin-component)}.nmorph-tag-item.nmorph-tag-item--thin span{font-weight:400;font-size:var(--font-size-extra-small);line-height:var(--line-height-regular)}.nmorph-tag-item.nmorph-tag-item--thick{--height: var(--thick-component)}
1
+ .nmorph-tag-item{display:inline-flex;margin-right:var(--indentation-02);padding:var(--indentation-00) var(--indentation-03);border:solid 2px var(--nmorph-text-color);border-radius:var(--default-border-radius);cursor:default}.nmorph-tag-item .nmorph-tag-item__content{display:flex;align-items:center;height:100%}.nmorph-tag-item .nmorph-tag-item__close-icon{margin-left:4px;cursor:pointer}.nmorph-tag-item.nmorph-tag-item--nmorph-design{background:var(--nmorph-main-color);border:none;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-tag-item.nmorph-tag-item--thin{--height: var(--thin-component)}.nmorph-tag-item.nmorph-tag-item--thin span{font-weight:400;font-size:var(--font-size-extra-small);line-height:var(--line-height-regular)}.nmorph-tag-item.nmorph-tag-item--thick{--height: var(--thick-component)}
@@ -3,27 +3,27 @@ import m from "./NmorphAlert.vue2.js";
3
3
  import { openBlock as e, createElementBlock as r, normalizeStyle as _, normalizeClass as d, createElementVNode as t, renderSlot as s, createVNode as i, withCtx as c, createBlock as h, resolveDynamicComponent as f, createCommentVNode as l, createTextVNode as a, toDisplayString as p } from "vue";
4
4
  /* empty css */
5
5
  import v from "../../../_virtual/_plugin-vue_export-helper.js";
6
- const k = ["innerHTML"], y = {
6
+ const y = ["innerHTML"], k = {
7
7
  key: 1,
8
8
  class: "nmorph-alert__wrapper"
9
9
  }, N = { class: "nmorph-alert__left-side" }, w = {
10
10
  key: 0,
11
11
  class: "nmorph-alert__icon"
12
- }, C = { class: "nmorph-alert__content-wrapper" }, I = { class: "nmorph-alert__content-title" }, b = { class: "nmorph-alert__content" };
13
- function x(n, V, g, o, z, B) {
12
+ }, C = { class: "nmorph-alert__content-wrapper" }, b = { class: "nmorph-alert__content-title" }, x = { class: "nmorph-alert__content" };
13
+ function I(n, V, z, o, B, H) {
14
14
  return o.slots.default || o.props.title || o.props.content || o.props.html ? (e(), r(
15
15
  "div",
16
16
  {
17
17
  key: 0,
18
18
  class: d(o.modifiers),
19
- style: _({ "--nmorph-alert-close-align": o.props.closeIconPosition })
19
+ style: _(o.styles)
20
20
  },
21
21
  [
22
22
  o.props.html ? (e(), r("div", {
23
23
  key: 0,
24
24
  class: "nmorph-alert__html-wrapper",
25
25
  innerHTML: o.props.html
26
- }, null, 8, k)) : (e(), r("div", y, [
26
+ }, null, 8, y)) : (e(), r("div", k, [
27
27
  t("div", N, [
28
28
  o.props.showIcon ? (e(), r("div", w, [
29
29
  s(n.$slots, "icon", {}, () => [
@@ -37,7 +37,7 @@ function x(n, V, g, o, z, B) {
37
37
  ])
38
38
  ])) : l("v-if", !0),
39
39
  t("div", C, [
40
- t("div", I, [
40
+ t("div", b, [
41
41
  o.props.title || o.slots.title ? s(n.$slots, "title", { key: 0 }, () => [
42
42
  a(
43
43
  p(o.props.title),
@@ -46,7 +46,7 @@ function x(n, V, g, o, z, B) {
46
46
  )
47
47
  ]) : l("v-if", !0)
48
48
  ]),
49
- t("div", b, [
49
+ t("div", x, [
50
50
  s(n.$slots, "default", {}, () => [
51
51
  a(
52
52
  p(o.props.content),
@@ -79,7 +79,7 @@ function x(n, V, g, o, z, B) {
79
79
  /* CLASS, STYLE */
80
80
  )) : l("v-if", !0);
81
81
  }
82
- const A = /* @__PURE__ */ v(m, [["render", x], ["__file", "/builds/ketjo/nmorph/library/src/components/feedback/nmorph-alert/NmorphAlert.vue"]]);
82
+ const A = /* @__PURE__ */ v(m, [["render", I], ["__file", "/builds/ketjo/nmorph/library/src/components/feedback/nmorph-alert/NmorphAlert.vue"]]);
83
83
  export {
84
84
  A as default
85
85
  };
@@ -1,14 +1,14 @@
1
1
  import './NmorphAlert.css';
2
- import { defineComponent as d, computed as m, useSlots as u } from "vue";
3
- import { useModifiers as c } from "../../../utils/create-modifiers.js";
4
- import { NmorphAlertType as r } from "./types.js";
5
- import y from "../../../assets/icons/circle-close-filled.svg.js";
2
+ import { defineComponent as u, computed as l, useSlots as m } from "vue";
3
+ import { useModifiers as y } from "../../../utils/create-modifiers.js";
4
+ import { NmorphAlertType as o } from "./types.js";
5
+ import g from "../../../assets/icons/circle-close-filled.svg.js";
6
6
  import h from "../../../assets/icons/info-filled.svg.js";
7
7
  import I from "../../../assets/icons/warn-triangle-filled.svg.js";
8
- import N from "../../../assets/icons/success-filled.svg.js";
9
- import q from "../../../assets/icons/cross.svg.js";
10
- import _ from "../../basic/nmorph-icon/NmorphIcon.vue.js";
11
- const A = /* @__PURE__ */ d({
8
+ import q from "../../../assets/icons/success-filled.svg.js";
9
+ import N from "../../../assets/icons/cross.svg.js";
10
+ import b from "../../basic/nmorph-icon/NmorphIcon.vue.js";
11
+ const x = /* @__PURE__ */ u({
12
12
  __name: "NmorphAlert",
13
13
  props: {
14
14
  id: { type: String, required: !1, default: void 0 },
@@ -20,30 +20,34 @@ const A = /* @__PURE__ */ d({
20
20
  showIcon: { type: Boolean, required: !1, default: !0 },
21
21
  bordered: { type: Boolean, required: !1, default: !0 },
22
22
  html: { type: String, required: !1, default: "" },
23
- closeIconPosition: { type: String, required: !1, default: "center" }
23
+ closeIconPosition: { type: String, required: !1, default: "center" },
24
+ backgroundColor: { type: String, required: !1, default: void 0 }
24
25
  },
25
26
  emits: ["close"],
26
- setup(l, { expose: i, emit: n }) {
27
+ setup(n, { expose: i, emit: s }) {
27
28
  i();
28
- const e = l, o = n, s = m(
29
- () => c({
29
+ const e = n, r = s, a = l(
30
+ () => y({
30
31
  "nmorph-alert": [e.type, `${e.bordered && "bordered"}`, `${e.fill && "fill"}`]
31
32
  })
32
- ), p = () => {
33
- o("close");
33
+ ), d = l(() => ({
34
+ "--nmorph-alert-close-align": e.closeIconPosition,
35
+ ...e.backgroundColor !== void 0 && { "--background-color": e.backgroundColor }
36
+ })), p = () => {
37
+ r("close");
34
38
  }, f = {
35
- [r.success]: N,
36
- [r.warning]: I,
37
- [r.info]: h,
38
- [r.error]: y
39
- }, a = u(), t = { props: e, emit: o, modifiers: s, closeHandler: p, iconNameMap: f, slots: a, get NmorphIcon() {
40
- return _;
39
+ [o.success]: q,
40
+ [o.warning]: I,
41
+ [o.info]: h,
42
+ [o.error]: g
43
+ }, c = m(), t = { props: e, emit: r, modifiers: a, styles: d, closeHandler: p, iconNameMap: f, slots: c, get NmorphIcon() {
44
+ return b;
41
45
  }, get NmorphIconCross() {
42
- return q;
46
+ return N;
43
47
  } };
44
48
  return Object.defineProperty(t, "__isScriptSetup", { enumerable: !1, value: !0 }), t;
45
49
  }
46
50
  });
47
51
  export {
48
- A as default
52
+ x as default
49
53
  };
@@ -1 +1 @@
1
- .nmorph-callout{--callout-color: var(--nmorph-accent-color);position:relative;margin-bottom:12px;padding:8px 12px;overflow:hidden;border-radius:4px}.nmorph-callout:before{position:absolute;top:0;left:0;width:3px;height:100%;background:var(--callout-color);content:""}.nmorph-callout:after{position:absolute;top:0;left:0;width:100%;height:100%;background:var(--callout-color);opacity:.2;content:""}.nmorph-callout.nmorph-callout--warning{--callout-color: var(--nmorph-warn-color)}.nmorph-callout.nmorph-callout--success{--callout-color: var(--nmorph-success-color)}.nmorph-callout.nmorph-callout--error{--callout-color: var(--nmorph-error-color)}.nmorph-callout .nmorph-callout__title{margin-bottom:8px;font-weight:600;font-size:var(--font-size-medium);line-height:var(--line-height-loose)}.nmorph-callout .nmorph-callout__title,.nmorph-callout .nmorph-callout__content{position:relative;z-index:1}.nmorph-callout .nmorph-callout__content{font-weight:400;font-size:var(--font-size-extra-small);line-height:var(--line-height-regular);white-space:pre-wrap}
1
+ .nmorph-callout{--callout-color: var(--nmorph-accent-color);position:relative;padding:8px 12px;overflow:hidden;border-radius:4px}.nmorph-callout:before{position:absolute;top:0;left:0;width:3px;height:100%;background:var(--callout-color);content:""}.nmorph-callout:after{position:absolute;top:0;left:0;width:100%;height:100%;background:var(--callout-color);opacity:.2;content:""}.nmorph-callout.nmorph-callout--warning{--callout-color: var(--nmorph-warn-color)}.nmorph-callout.nmorph-callout--success{--callout-color: var(--nmorph-success-color)}.nmorph-callout.nmorph-callout--error{--callout-color: var(--nmorph-error-color)}.nmorph-callout .nmorph-callout__title{margin-bottom:8px;font-weight:600;font-size:var(--font-size-medium);line-height:var(--line-height-loose)}.nmorph-callout .nmorph-callout__title,.nmorph-callout .nmorph-callout__content{position:relative;z-index:1}.nmorph-callout .nmorph-callout__content{font-weight:400;font-size:var(--font-size-extra-small);line-height:var(--line-height-regular);white-space:pre-wrap}
@@ -1,36 +1,37 @@
1
1
  import './NmorphCallout.css';
2
2
  import r from "./NmorphCallout.vue2.js";
3
- import { openBlock as t, createElementBlock as e, normalizeClass as l, toDisplayString as n, createCommentVNode as c, createElementVNode as p } from "vue";
3
+ import { openBlock as t, createElementBlock as e, normalizeStyle as l, normalizeClass as n, toDisplayString as c, createCommentVNode as s, createElementVNode as a } from "vue";
4
4
  /* empty css */
5
- import a from "../../../_virtual/_plugin-vue_export-helper.js";
6
- const i = {
5
+ import i from "../../../_virtual/_plugin-vue_export-helper.js";
6
+ const p = {
7
7
  key: 0,
8
8
  class: "nmorph-callout__title"
9
- }, s = ["innerHTML"];
10
- function m(_, d, f, o, h, u) {
9
+ }, m = ["innerHTML"];
10
+ function _(d, f, h, o, u, y) {
11
11
  return t(), e(
12
12
  "div",
13
13
  {
14
- class: l(["nmorph-callout", `nmorph-callout--${o.props.type}`])
14
+ class: n(["nmorph-callout", `nmorph-callout--${o.props.type}`]),
15
+ style: l(o.styles)
15
16
  },
16
17
  [
17
18
  o.props.title ? (t(), e(
18
19
  "div",
19
- i,
20
- n(o.props.title),
20
+ p,
21
+ c(o.props.title),
21
22
  1
22
23
  /* TEXT */
23
- )) : c("v-if", !0),
24
- p("div", {
24
+ )) : s("v-if", !0),
25
+ a("div", {
25
26
  class: "nmorph-callout__content",
26
27
  innerHTML: o.props.content
27
- }, null, 8, s)
28
+ }, null, 8, m)
28
29
  ],
29
- 2
30
- /* CLASS */
30
+ 6
31
+ /* CLASS, STYLE */
31
32
  );
32
33
  }
33
- const N = /* @__PURE__ */ a(r, [["render", m], ["__file", "/builds/ketjo/nmorph/library/src/components/feedback/nmorph-callout/NmorphCallout.vue"]]);
34
+ const b = /* @__PURE__ */ i(r, [["render", _], ["__file", "/builds/ketjo/nmorph/library/src/components/feedback/nmorph-callout/NmorphCallout.vue"]]);
34
35
  export {
35
- N as default
36
+ b as default
36
37
  };
@@ -1,18 +1,21 @@
1
1
  import './NmorphCallout.css';
2
- import { defineComponent as p } from "vue";
3
- const u = /* @__PURE__ */ p({
2
+ import { defineComponent as n, computed as p } from "vue";
3
+ const i = /* @__PURE__ */ n({
4
4
  __name: "NmorphCallout",
5
5
  props: {
6
6
  type: { type: String, required: !1, default: "info" },
7
7
  title: { type: String, required: !1, default: "" },
8
- content: { type: String, required: !0 }
8
+ content: { type: String, required: !0 },
9
+ color: { type: String, required: !1, default: void 0 }
9
10
  },
10
- setup(t, { expose: r }) {
11
- r();
12
- const e = { props: t };
13
- return Object.defineProperty(e, "__isScriptSetup", { enumerable: !1, value: !0 }), e;
11
+ setup(r, { expose: o }) {
12
+ o();
13
+ const e = r, l = p(() => ({
14
+ ...e.color !== void 0 && { "--callout-color": e.color }
15
+ })), t = { props: e, styles: l };
16
+ return Object.defineProperty(t, "__isScriptSetup", { enumerable: !1, value: !0 }), t;
14
17
  }
15
18
  });
16
19
  export {
17
- u as default
20
+ i as default
18
21
  };
@@ -1 +1 @@
1
- .nmorph-tooltip{--max-width: 120px;--width: fit-content;--height: fit-content;display:inline-block}.nmorph-tooltip .nmorph-tooltip__content{position:relative}.nmorph-tooltip .nmorph-tooltip__info-content{position:absolute;width:var(--width);max-width:var(--max-width);height:var(--height);padding:var(--indentation-03);background:var(--nmorph-main-color);border-radius:var(--default-border-radius);box-shadow:0 0 20px var(--nmorph-dark-shade-color)}.nmorph-tooltip span{white-space:nowrap}.nmorph-tooltip .nmorph-tooltip__triangle{position:absolute;width:0;height:0;border-style:solid;content:""}.nmorph-tooltip.nmorph-tooltip--top .nmorph-tooltip__info-content{bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.nmorph-tooltip.nmorph-tooltip--top .nmorph-tooltip__triangle{top:100%;left:50%;border-width:8px 8px 0;border-color:var(--nmorph-main-color) transparent transparent transparent;transform:translate(-50%)}.nmorph-tooltip.nmorph-tooltip--right .nmorph-tooltip__info-content{top:50%;left:calc(100% + 12px);transform:translateY(-50%)}.nmorph-tooltip.nmorph-tooltip--right .nmorph-tooltip__triangle{top:50%;right:100%;border-width:8px 8px 8px 0;border-color:transparent var(--nmorph-main-color) transparent transparent;transform:translateY(-50%)}.nmorph-tooltip.nmorph-tooltip--bottom .nmorph-tooltip__info-content{top:calc(100% + 12px);left:50%;transform:translate(-50%)}.nmorph-tooltip.nmorph-tooltip--bottom .nmorph-tooltip__triangle{bottom:100%;left:50%;border-width:0 8px 8px;border-color:transparent transparent var(--nmorph-main-color) transparent;transform:translate(-50%)}.nmorph-tooltip.nmorph-tooltip--left .nmorph-tooltip__info-content{top:50%;right:calc(100% + 12px);transform:translateY(-50%)}.nmorph-tooltip.nmorph-tooltip--left .nmorph-tooltip__triangle{top:50%;left:100%;border-width:8px 0 8px 8px;border-color:transparent transparent transparent var(--nmorph-main-color);transform:translateY(-50%)}.nmorph-tooltip.nmorph-tooltip--force-coords .nmorph-tooltip__info-content{transform:none}.nmorph-tooltip{width:var(--nmorph-tooltip-width)}
1
+ .nmorph-tooltip{--max-width: 120px;--width: fit-content;--height: fit-content;display:inline-block}.nmorph-tooltip .nmorph-tooltip__content{position:relative}.nmorph-tooltip .nmorph-tooltip__info-content{position:absolute;z-index:var(--nmorph-tooltip-z-index);width:var(--width);max-width:var(--max-width);height:var(--height);padding:var(--indentation-03);background:var(--nmorph-main-color);border-radius:var(--default-border-radius);box-shadow:0 0 20px var(--nmorph-dark-shade-color)}.nmorph-tooltip span{white-space:nowrap}.nmorph-tooltip .nmorph-tooltip__triangle{position:absolute;width:0;height:0;border-style:solid;content:""}.nmorph-tooltip.nmorph-tooltip--top .nmorph-tooltip__info-content{bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.nmorph-tooltip.nmorph-tooltip--top .nmorph-tooltip__triangle{top:100%;left:50%;border-width:8px 8px 0;border-color:var(--nmorph-main-color) transparent transparent transparent;transform:translate(-50%)}.nmorph-tooltip.nmorph-tooltip--right .nmorph-tooltip__info-content{top:50%;left:calc(100% + 12px);transform:translateY(-50%)}.nmorph-tooltip.nmorph-tooltip--right .nmorph-tooltip__triangle{top:50%;right:100%;border-width:8px 8px 8px 0;border-color:transparent var(--nmorph-main-color) transparent transparent;transform:translateY(-50%)}.nmorph-tooltip.nmorph-tooltip--bottom .nmorph-tooltip__info-content{top:calc(100% + 12px);left:50%;transform:translate(-50%)}.nmorph-tooltip.nmorph-tooltip--bottom .nmorph-tooltip__triangle{bottom:100%;left:50%;border-width:0 8px 8px;border-color:transparent transparent var(--nmorph-main-color) transparent;transform:translate(-50%)}.nmorph-tooltip.nmorph-tooltip--left .nmorph-tooltip__info-content{top:50%;right:calc(100% + 12px);transform:translateY(-50%)}.nmorph-tooltip.nmorph-tooltip--left .nmorph-tooltip__triangle{top:50%;left:100%;border-width:8px 0 8px 8px;border-color:transparent transparent transparent var(--nmorph-main-color);transform:translateY(-50%)}.nmorph-tooltip.nmorph-tooltip--force-coords .nmorph-tooltip__info-content{transform:none}.nmorph-tooltip{width:var(--nmorph-tooltip-width)}