admins-components 9.0.50 → 9.0.51

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 (237) hide show
  1. package/dist/admins-components.js +35 -33
  2. package/dist/admins-components100.js +245 -3
  3. package/dist/admins-components100.js.map +1 -1
  4. package/dist/admins-components102.js +6 -52
  5. package/dist/admins-components102.js.map +1 -1
  6. package/dist/admins-components103.js +3 -82
  7. package/dist/admins-components103.js.map +1 -1
  8. package/dist/admins-components104.js +3 -113
  9. package/dist/admins-components104.js.map +1 -1
  10. package/dist/admins-components105.js +49 -44
  11. package/dist/admins-components105.js.map +1 -1
  12. package/dist/admins-components106.js +80 -104
  13. package/dist/admins-components106.js.map +1 -1
  14. package/dist/admins-components107.js +109 -16
  15. package/dist/admins-components107.js.map +1 -1
  16. package/dist/admins-components108.js +46 -6
  17. package/dist/admins-components108.js.map +1 -1
  18. package/dist/admins-components109.js +100 -246
  19. package/dist/admins-components109.js.map +1 -1
  20. package/dist/admins-components110.js +19 -26
  21. package/dist/admins-components110.js.map +1 -1
  22. package/dist/admins-components111.js +6 -27
  23. package/dist/admins-components111.js.map +1 -1
  24. package/dist/admins-components112.js +239 -159
  25. package/dist/admins-components112.js.map +1 -1
  26. package/dist/admins-components113.js +26 -67
  27. package/dist/admins-components113.js.map +1 -1
  28. package/dist/admins-components114.js +25 -64
  29. package/dist/admins-components114.js.map +1 -1
  30. package/dist/admins-components115.js +169 -27
  31. package/dist/admins-components115.js.map +1 -1
  32. package/dist/admins-components116.js +65 -13
  33. package/dist/admins-components116.js.map +1 -1
  34. package/dist/admins-components117.js +64 -24
  35. package/dist/admins-components117.js.map +1 -1
  36. package/dist/admins-components118.js +29 -8
  37. package/dist/admins-components118.js.map +1 -1
  38. package/dist/admins-components119.js +16 -4
  39. package/dist/admins-components119.js.map +1 -1
  40. package/dist/admins-components120.js +27 -3
  41. package/dist/admins-components120.js.map +1 -1
  42. package/dist/admins-components121.js +8 -2
  43. package/dist/admins-components121.js.map +1 -1
  44. package/dist/admins-components122.js +4 -21
  45. package/dist/admins-components122.js.map +1 -1
  46. package/dist/admins-components123.js +3 -14
  47. package/dist/admins-components123.js.map +1 -1
  48. package/dist/admins-components124.js +3 -8
  49. package/dist/admins-components124.js.map +1 -1
  50. package/dist/admins-components125.js +19 -11
  51. package/dist/admins-components125.js.map +1 -1
  52. package/dist/admins-components126.js +14 -26
  53. package/dist/admins-components126.js.map +1 -1
  54. package/dist/admins-components127.js +7 -82
  55. package/dist/admins-components127.js.map +1 -1
  56. package/dist/admins-components128.js +9 -7
  57. package/dist/admins-components128.js.map +1 -1
  58. package/dist/admins-components129.js +25 -4
  59. package/dist/admins-components129.js.map +1 -1
  60. package/dist/admins-components130.js +81 -6
  61. package/dist/admins-components130.js.map +1 -1
  62. package/dist/admins-components131.js +10 -6
  63. package/dist/admins-components131.js.map +1 -1
  64. package/dist/admins-components132.js +2 -3
  65. package/dist/admins-components132.js.map +1 -1
  66. package/dist/admins-components133.js +8 -15
  67. package/dist/admins-components133.js.map +1 -1
  68. package/dist/admins-components134.js +6 -12
  69. package/dist/admins-components134.js.map +1 -1
  70. package/dist/admins-components135.js +6 -30
  71. package/dist/admins-components135.js.map +1 -1
  72. package/dist/admins-components136.js +15 -4
  73. package/dist/admins-components136.js.map +1 -1
  74. package/dist/admins-components137.js +13 -29
  75. package/dist/admins-components137.js.map +1 -1
  76. package/dist/admins-components138.js +30 -5
  77. package/dist/admins-components138.js.map +1 -1
  78. package/dist/admins-components139.js +4 -5
  79. package/dist/admins-components139.js.map +1 -1
  80. package/dist/admins-components140.js +28 -7
  81. package/dist/admins-components140.js.map +1 -1
  82. package/dist/admins-components141.js +4 -73
  83. package/dist/admins-components141.js.map +1 -1
  84. package/dist/admins-components142.js +4 -28
  85. package/dist/admins-components142.js.map +1 -1
  86. package/dist/admins-components143.js +8 -59
  87. package/dist/admins-components143.js.map +1 -1
  88. package/dist/admins-components144.js +72 -22
  89. package/dist/admins-components144.js.map +1 -1
  90. package/dist/admins-components145.js +26 -47
  91. package/dist/admins-components145.js.map +1 -1
  92. package/dist/admins-components146.js +58 -30
  93. package/dist/admins-components146.js.map +1 -1
  94. package/dist/admins-components147.js +24 -3
  95. package/dist/admins-components147.js.map +1 -1
  96. package/dist/admins-components148.js +44 -173
  97. package/dist/admins-components148.js.map +1 -1
  98. package/dist/admins-components149.js +28 -43
  99. package/dist/admins-components149.js.map +1 -1
  100. package/dist/admins-components150.js +3 -37
  101. package/dist/admins-components150.js.map +1 -1
  102. package/dist/admins-components151.js +176 -43
  103. package/dist/admins-components151.js.map +1 -1
  104. package/dist/admins-components152.js +41 -136
  105. package/dist/admins-components152.js.map +1 -1
  106. package/dist/admins-components153.js +36 -57
  107. package/dist/admins-components153.js.map +1 -1
  108. package/dist/admins-components154.js +44 -5
  109. package/dist/admins-components154.js.map +1 -1
  110. package/dist/admins-components155.js +141 -6
  111. package/dist/admins-components155.js.map +1 -1
  112. package/dist/admins-components156.js +57 -75
  113. package/dist/admins-components156.js.map +1 -1
  114. package/dist/admins-components157.js +6 -28
  115. package/dist/admins-components157.js.map +1 -1
  116. package/dist/admins-components158.js +5 -1930
  117. package/dist/admins-components158.js.map +1 -1
  118. package/dist/admins-components159.js +75 -24810
  119. package/dist/admins-components159.js.map +1 -1
  120. package/dist/admins-components16.js +4 -3
  121. package/dist/admins-components16.js.map +1 -1
  122. package/dist/admins-components160.js +28 -8
  123. package/dist/admins-components160.js.map +1 -1
  124. package/dist/admins-components161.js +1929 -5
  125. package/dist/admins-components161.js.map +1 -0
  126. package/dist/admins-components162.js +24809 -140
  127. package/dist/admins-components162.js.map +1 -1
  128. package/dist/admins-components163.js +3 -3
  129. package/dist/admins-components163.js.map +1 -1
  130. package/dist/admins-components164.js +7 -9
  131. package/dist/admins-components165.js +143 -0
  132. package/dist/admins-components165.js.map +1 -0
  133. package/dist/admins-components166.js +8 -167
  134. package/dist/admins-components166.js.map +1 -1
  135. package/dist/admins-components167.js +8 -50
  136. package/dist/admins-components167.js.map +1 -1
  137. package/dist/admins-components169.js +161 -43
  138. package/dist/admins-components169.js.map +1 -1
  139. package/dist/admins-components17.js.map +1 -1
  140. package/dist/admins-components170.js +51 -6
  141. package/dist/admins-components170.js.map +1 -1
  142. package/dist/admins-components171.js +8 -79
  143. package/dist/admins-components171.js.map +1 -1
  144. package/dist/admins-components172.js +35 -43
  145. package/dist/admins-components172.js.map +1 -1
  146. package/dist/admins-components173.js +6 -59
  147. package/dist/admins-components173.js.map +1 -1
  148. package/dist/admins-components174.js +79 -8
  149. package/dist/admins-components174.js.map +1 -1
  150. package/dist/admins-components175.js +43 -37
  151. package/dist/admins-components175.js.map +1 -1
  152. package/dist/admins-components176.js +58 -8
  153. package/dist/admins-components176.js.map +1 -1
  154. package/dist/admins-components177.js +10 -0
  155. package/dist/admins-components177.js.map +1 -0
  156. package/dist/admins-components178.js +44 -50
  157. package/dist/admins-components178.js.map +1 -1
  158. package/dist/admins-components179.js +10 -0
  159. package/dist/admins-components179.js.map +1 -0
  160. package/dist/admins-components181.js +59 -0
  161. package/dist/admins-components181.js.map +1 -0
  162. package/dist/admins-components5.js +30 -28
  163. package/dist/admins-components5.js.map +1 -1
  164. package/dist/admins-components58.js.map +1 -1
  165. package/dist/admins-components6.js.map +1 -1
  166. package/dist/admins-components65.js +66 -42
  167. package/dist/admins-components65.js.map +1 -1
  168. package/dist/admins-components67.js.map +1 -1
  169. package/dist/admins-components68.js +102 -95
  170. package/dist/admins-components68.js.map +1 -1
  171. package/dist/admins-components70.js.map +1 -1
  172. package/dist/admins-components72.js +135 -126
  173. package/dist/admins-components72.js.map +1 -1
  174. package/dist/admins-components74.js.map +1 -1
  175. package/dist/admins-components76.js +32 -122
  176. package/dist/admins-components76.js.map +1 -1
  177. package/dist/admins-components77.js +146 -0
  178. package/dist/admins-components77.js.map +1 -0
  179. package/dist/admins-components79.js +6 -59
  180. package/dist/admins-components79.js.map +1 -1
  181. package/dist/admins-components80.js +140 -67
  182. package/dist/admins-components80.js.map +1 -1
  183. package/dist/admins-components82.js +7 -0
  184. package/dist/admins-components82.js.map +1 -0
  185. package/dist/admins-components83.js +59 -6
  186. package/dist/admins-components83.js.map +1 -1
  187. package/dist/admins-components84.js +66 -229
  188. package/dist/admins-components84.js.map +1 -1
  189. package/dist/{admins-components81.js → admins-components85.js} +2 -2
  190. package/dist/{admins-components81.js.map → admins-components85.js.map} +1 -1
  191. package/dist/admins-components87.js +6 -37
  192. package/dist/admins-components87.js.map +1 -1
  193. package/dist/admins-components88.js +231 -0
  194. package/dist/admins-components88.js.map +1 -0
  195. package/dist/admins-components90.js +6 -199
  196. package/dist/admins-components90.js.map +1 -1
  197. package/dist/admins-components91.js +38 -0
  198. package/dist/{admins-components89.js.map → admins-components91.js.map} +1 -1
  199. package/dist/admins-components93.js +6 -16
  200. package/dist/admins-components93.js.map +1 -1
  201. package/dist/admins-components94.js +188 -64
  202. package/dist/admins-components94.js.map +1 -1
  203. package/dist/admins-components96.js +2 -2
  204. package/dist/admins-components96.js.map +1 -1
  205. package/dist/admins-components97.js +76 -198
  206. package/dist/admins-components97.js.map +1 -1
  207. package/dist/admins-components99.js +2 -2
  208. package/dist/admins-components99.js.map +1 -1
  209. package/dist/main.css +1 -1
  210. package/dist/main.css.map +1 -1
  211. package/dist/src/components/TextInput.vue.d.ts +2 -0
  212. package/dist/src/components/data-table/DataList.vue.d.ts +12 -3
  213. package/dist/src/components/data-table/DataPaginator.vue.d.ts +5 -1
  214. package/dist/src/components/data-table/DataSearch.vue.d.ts +9 -0
  215. package/dist/src/components/data-table/DataSort.vue.d.ts +51 -0
  216. package/dist/src/components/data-table/DataTable.vue.d.ts +12 -0
  217. package/dist/src/index.d.ts +4 -0
  218. package/dist/src/styles/components/data-table/data-cards.scss_vue_type_style_index_0_src_true_lang.css +1 -1
  219. package/dist/src/styles/components/data-table/data-list.scss_vue_type_style_index_0_src_true_lang.css +1 -1
  220. package/dist/src/styles/components/data-table/data-search.scss_vue_type_style_index_0_src_true_lang.css +1 -1
  221. package/dist/src/styles/components/data-table/data-sort.scss_vue_type_style_index_0_src_true_lang.css +1 -0
  222. package/dist/src/styles/components/dropdown-select.scss_vue_type_style_index_0_src_true_lang.css +1 -1
  223. package/dist/src/types/data-list.d.ts +1 -0
  224. package/dist/src/utils/url.d.ts +21 -0
  225. package/package.json +1 -1
  226. package/dist/admins-components101.js +0 -4
  227. package/dist/admins-components101.js.map +0 -1
  228. package/dist/admins-components164.js.map +0 -1
  229. package/dist/admins-components168.js +0 -10
  230. package/dist/admins-components168.js.map +0 -1
  231. package/dist/admins-components78.js +0 -7
  232. package/dist/admins-components78.js.map +0 -1
  233. package/dist/admins-components86.js +0 -7
  234. package/dist/admins-components86.js.map +0 -1
  235. package/dist/admins-components89.js +0 -7
  236. package/dist/admins-components92.js +0 -7
  237. package/dist/admins-components92.js.map +0 -1
@@ -4,18 +4,19 @@ import n from "./admins-components45.js";
4
4
  import { useSelection as r } from "./admins-components57.js";
5
5
  import { dataCardsSettingsDefaults as i } from "./admins-components58.js";
6
6
  import { getColumnValue as a } from "./admins-components59.js";
7
- import o from "./admins-components62.js";
8
- import s from "./admins-components64.js";
9
- import { Fragment as c, computed as l, createBlock as u, createCommentVNode as d, createElementBlock as f, createElementVNode as p, createVNode as m, defineComponent as h, isVNode as g, normalizeClass as _, openBlock as v, ref as y, renderList as b, resolveDynamicComponent as x, toDisplayString as S, unref as C, vShow as w, watch as T, withDirectives as E, withModifiers as D } from "vue";
7
+ import { shortUuid as o } from "./admins-components60.js";
8
+ import s from "./admins-components62.js";
9
+ import c from "./admins-components64.js";
10
+ import { Fragment as l, computed as u, createBlock as d, createCommentVNode as f, createElementBlock as p, createElementVNode as m, createVNode as h, defineComponent as g, isVNode as _, normalizeClass as v, openBlock as y, ref as b, renderList as x, resolveDirective as S, resolveDynamicComponent as C, toDisplayString as w, unref as T, vShow as E, watch as D, withDirectives as O, withModifiers as k } from "vue";
10
11
  //#region src/components/data-table/DataCards.vue?vue&type=script&setup=true&lang.ts
11
- var O = { class: "ac-component" }, k = ["onClick", "onPointerdown"], A = ["onClick"], j = { class: "c-card__heading" }, M = { class: "c-card__label" }, N = ["innerHTML"], P = { class: "c-card__body" }, F = { class: "c-card__field-label" }, I = {
12
+ var A = { class: "ac-component" }, j = ["onClick", "onPointerdown"], M = ["onClick"], N = { class: "c-card__heading" }, P = { class: "c-card__label" }, F = ["innerHTML"], I = ["innerHTML"], L = { class: "c-card__body" }, R = { class: "c-card__field-label" }, z = {
12
13
  key: 1,
13
14
  class: "c-cards__loading-wrap"
14
- }, L = {
15
+ }, B = {
15
16
  key: 2,
16
17
  class: "c-cards__backdrop",
17
18
  "aria-hidden": "true"
18
- }, R = /* @__PURE__ */ h({
19
+ }, V = /* @__PURE__ */ g({
19
20
  __name: "DataCards",
20
21
  props: {
21
22
  config: {},
@@ -27,15 +28,15 @@ var O = { class: "ac-component" }, k = ["onClick", "onPointerdown"], A = ["onCli
27
28
  }
28
29
  },
29
30
  emits: ["selection-change"],
30
- setup(i, { emit: h }) {
31
- let R = i, z = h, { selectedKeys: B, toggle: V } = r(() => R.items, () => R.config.selectableAttr, (e) => z("selection-change", e)), H = y(/* @__PURE__ */ new Set());
32
- T(() => R.items, () => {
33
- H.value = /* @__PURE__ */ new Set();
31
+ setup(i, { emit: g }) {
32
+ let V = i, H = g, { selectedKeys: U, toggle: W } = r(() => V.items, () => V.config.selectableAttr, (e) => H("selection-change", e)), G = b(/* @__PURE__ */ new Set());
33
+ D(() => V.items, () => {
34
+ G.value = /* @__PURE__ */ new Set();
34
35
  });
35
- let U = l(() => R.config.columns.filter((e) => e.visible !== !1)), W = l(() => {
36
- let e = R.settings;
36
+ let K = u(() => V.config.columns.filter((e) => e.visible !== !1)), q = u(() => {
37
+ let e = V.settings;
37
38
  if (e?.cardHeaderColumns) {
38
- let t = U.value.filter((t) => e.cardHeaderColumns[t.property]);
39
+ let t = K.value.filter((t) => e.cardHeaderColumns[t.property]);
39
40
  if (t.length > 0) {
40
41
  if (e.cardHeaderOrder) {
41
42
  let n = e.cardHeaderOrder;
@@ -47,99 +48,105 @@ var O = { class: "ac-component" }, k = ["onClick", "onPointerdown"], A = ["onCli
47
48
  return t;
48
49
  }
49
50
  }
50
- let t = U.value.filter((e) => e.primary);
51
- return t.length > 0 ? t : U.value.slice(0, 1);
52
- }), G = null, K = !1;
53
- function q(e, t) {
54
- R.config.selectableAttr && e.button === 0 && (K = !1, G = setTimeout(() => {
55
- K = !0, V(t);
51
+ let t = K.value.filter((e) => e.primary);
52
+ return t.length > 0 ? t : K.value.slice(0, 1);
53
+ }), J = null, Y = !1;
54
+ function X(e, t) {
55
+ V.config.selectableAttr && e.button === 0 && (Y = !1, J = setTimeout(() => {
56
+ Y = !0, W(t);
56
57
  }, 500));
57
58
  }
58
- function J() {
59
- G &&= (clearTimeout(G), null);
59
+ function Z() {
60
+ J &&= (clearTimeout(J), null);
60
61
  }
61
- function Y(e) {
62
- K && e.preventDefault();
62
+ function Q(e) {
63
+ Y && e.preventDefault();
63
64
  }
64
- function X(e) {
65
- if (K) {
66
- K = !1;
65
+ function $(e) {
66
+ if (Y) {
67
+ Y = !1;
67
68
  return;
68
69
  }
69
- Z(e);
70
+ ee(e);
70
71
  }
71
- function Z(e) {
72
- H.value.has(e) ? H.value.delete(e) : H.value.add(e), H.value = new Set(H.value);
72
+ function ee(e) {
73
+ G.value.has(e) ? G.value.delete(e) : G.value.add(e), G.value = new Set(G.value);
73
74
  }
74
- return (r, l) => (v(), f("div", O, [p("div", { class: _(["c-cards-wrapper", { "is-loading": i.loading }]) }, [!i.loading || i.items.length > 0 ? (v(), f("div", {
75
- key: 0,
76
- class: _(["c-cards", { "is-compact": i.settings.compact }])
77
- }, [(v(!0), f(c, null, b(i.items, (t, r) => (v(), f("div", {
78
- key: r,
79
- class: _(["c-card", {
80
- "is-open": H.value.has(r),
81
- "is-selected": i.config.selectableAttr && C(B).has(t[i.config.selectableAttr])
82
- }])
83
- }, [p("button", {
84
- type: "button",
85
- class: "c-card__header",
86
- onClick: (e) => X(r),
87
- onPointerdown: (e) => q(e, t),
88
- onPointerup: l[1] ||= (e) => J(),
89
- onPointerleave: l[2] ||= (e) => J(),
90
- onContextmenu: Y
91
- }, [
92
- i.config.selectableAttr ? (v(), f("span", {
75
+ return (r, u) => {
76
+ let g = S("tooltip");
77
+ return y(), p("div", A, [m("div", { class: v(["c-cards-wrapper list-card-view", { "is-loading": i.loading }]) }, [!i.loading || i.items.length > 0 ? (y(), p("div", {
93
78
  key: 0,
94
- class: "c-card__check-zone",
95
- onClick: D((e) => C(V)(t), ["stop"])
96
- }, [m(e, {
97
- "model-value": !!C(B).has(t[i.config.selectableAttr]),
98
- "onUpdate:modelValue": (e) => C(V)(t),
99
- onClick: l[0] ||= D(() => {}, ["stop"])
100
- }, null, 8, ["model-value", "onUpdate:modelValue"])], 8, A)) : d("", !0),
101
- p("span", j, [(v(!0), f(c, null, b(W.value, (e, n) => (v(), f("span", {
79
+ class: v(["c-cards", { "is-compact": i.settings.compact }])
80
+ }, [(y(!0), p(l, null, x(i.items, (t, r) => (y(), p("div", {
81
+ key: r,
82
+ class: v(["c-card", {
83
+ "is-open": G.value.has(r),
84
+ "is-selected": i.config.selectableAttr && T(U).has(t[i.config.selectableAttr])
85
+ }])
86
+ }, [m("button", {
87
+ type: "button",
88
+ class: "c-card__header",
89
+ onClick: (e) => $(r),
90
+ onPointerdown: (e) => X(e, t),
91
+ onPointerup: u[1] ||= (e) => Z(),
92
+ onPointerleave: u[2] ||= (e) => Z(),
93
+ onContextmenu: Q
94
+ }, [
95
+ i.config.selectableAttr ? (y(), p("span", {
96
+ key: 0,
97
+ class: "c-card__check-zone",
98
+ onClick: k((e) => T(W)(t), ["stop"])
99
+ }, [h(e, {
100
+ "model-value": !!T(U).has(t[i.config.selectableAttr]),
101
+ "onUpdate:modelValue": (e) => T(W)(t),
102
+ onClick: u[0] ||= k(() => {}, ["stop"])
103
+ }, null, 8, ["model-value", "onUpdate:modelValue"])], 8, M)) : f("", !0),
104
+ m("span", N, [(y(!0), p(l, null, x(q.value, (e, n) => (y(), p("span", {
105
+ key: e.property,
106
+ class: v(["c-card__heading-item", [{ primary: e.primary }, e.headerClass]])
107
+ }, [m("span", P, w(e.hideHeader ? "" : e.label), 1), m("span", { class: v(["c-card__title", { "c-truncate": i.settings.compact && n === 0 }]) }, [_(T(a)(t, e)) ? (y(), d(C(T(a)(t, e)), { key: 0 })) : e.type === "uuid" ? O((y(), p("span", {
108
+ key: 1,
109
+ innerHTML: T(o)()(T(a)(t, e))
110
+ }, null, 8, F)), [[g, T(a)(t, e)]]) : (y(), p("span", {
111
+ key: 2,
112
+ innerHTML: T(a)(t, e)
113
+ }, null, 8, I))], 2)], 2))), 128))]),
114
+ u[4] ||= m("span", {
115
+ class: "c-card__icon",
116
+ "aria-hidden": "true"
117
+ }, [m("i", { class: "fa-solid fa-chevron-down" })], -1)
118
+ ], 40, j), O(m("div", L, [(y(!0), p(l, null, x(K.value, (e) => (y(), p("div", {
102
119
  key: e.property,
103
- class: _(["c-card__heading-item", { primary: e.primary }])
104
- }, [p("span", M, S(e.hideHeader ? "" : e.label), 1), p("span", { class: _(["c-card__title", { "c-truncate": i.settings.compact && n === 0 }]) }, [g(C(a)(t, e)) ? (v(), u(x(C(a)(t, e)), { key: 0 })) : (v(), f("span", {
105
- key: 1,
106
- innerHTML: C(a)(t, e)
107
- }, null, 8, N))], 2)], 2))), 128))]),
108
- l[4] ||= p("span", {
109
- class: "c-card__icon",
110
- "aria-hidden": "true"
111
- }, [p("i", { class: "fa-solid fa-chevron-down" })], -1)
112
- ], 40, k), E(p("div", P, [(v(!0), f(c, null, b(U.value, (e) => (v(), f("div", {
113
- key: e.property,
114
- class: "c-card__field"
115
- }, [
116
- p("span", F, S(e.label), 1),
117
- m(o, {
118
- item: t,
119
- col: e,
120
- class: "c-card__field-value",
121
- copy: !1
122
- }, null, 8, ["item", "col"]),
123
- C(a)(t, e) && !e.hideCopyToClipboard ? (v(), u(n, {
120
+ class: "c-card__field"
121
+ }, [
122
+ m("span", R, w(e.label), 1),
123
+ h(s, {
124
+ item: t,
125
+ col: e,
126
+ class: "c-card__field-value",
127
+ copy: !1
128
+ }, null, 8, ["item", "col"]),
129
+ T(a)(t, e) && !e.hideCopyToClipboard ? (y(), d(n, {
130
+ key: 0,
131
+ class: "c-card__field-copy click-expand",
132
+ value: T(a)(t, e)
133
+ }, null, 8, ["value"])) : f("", !0)
134
+ ]))), 128)), i.config.actions ? (y(), p("div", {
124
135
  key: 0,
125
- class: "c-card__field-copy click-expand",
126
- value: C(a)(t, e)
127
- }, null, 8, ["value"])) : d("", !0)
128
- ]))), 128)), i.config.actions ? (v(), f("div", {
129
- key: 0,
130
- class: "c-card__actions",
131
- onClick: l[3] ||= D(() => {}, ["stop"])
132
- }, [m(s, {
133
- actions: i.config.actions,
134
- item: t
135
- }, null, 8, ["actions", "item"])])) : d("", !0)], 512), [[w, H.value.has(r)]])], 2))), 128))], 2)) : (v(), f("div", I, [m(t, {
136
- loading: !0,
137
- size: "2.5rem"
138
- })])), i.loading && i.items.length > 0 ? (v(), f("div", L, [m(t, {
139
- loading: !0,
140
- size: "2.5rem"
141
- })])) : d("", !0)], 2)]));
136
+ class: "c-card__actions",
137
+ onClick: u[3] ||= k(() => {}, ["stop"])
138
+ }, [h(c, {
139
+ actions: i.config.actions,
140
+ item: t
141
+ }, null, 8, ["actions", "item"])])) : f("", !0)], 512), [[E, G.value.has(r)]])], 2))), 128))], 2)) : (y(), p("div", z, [h(t, {
142
+ loading: !0,
143
+ size: "2.5rem"
144
+ })])), i.loading && i.items.length > 0 ? (y(), p("div", B, [h(t, {
145
+ loading: !0,
146
+ size: "2.5rem"
147
+ })])) : f("", !0)], 2)]);
148
+ };
142
149
  }
143
150
  });
144
151
  //#endregion
145
- export { R as default };
152
+ export { V as default };
@@ -1 +1 @@
1
- {"version":3,"file":"admins-components68.js","names":[],"sources":["../src/components/data-table/DataCards.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { DataListConfig, DataCardsSettings, DataListSettings } from '@/types/data-list'\nimport DataCell from './DataCell.vue'\nimport DataListActions from './DataListActions.vue'\nexport { dataCardsSettingsDefaults } from '@/types/data-list'\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, ref, watch, isVNode } from 'vue'\nimport Checkbox from '@/components/Checkbox.vue'\nimport CopyToClipboard from '@/components/CopyToClipboard.vue'\nimport Loader from '@/components/Loader.vue'\nimport { useSelection } from '@/composables/useSelection'\nimport { dataCardsSettingsDefaults } from '@/types/data-list'\nimport { getColumnValue } from '@/utils/dataList'\n\nconst props = withDefaults(\n defineProps<{\n config: DataListConfig\n items: Record<string, unknown>[]\n settings?: DataCardsSettings | DataListSettings\n loading?: boolean\n }>(),\n {\n settings: () => ({ ...dataCardsSettingsDefaults }),\n loading: false,\n },\n)\n\nconst emit = defineEmits<{\n 'selection-change': [selected: unknown[]]\n}>()\n\nconst { selectedKeys, toggle: toggleRow } = useSelection(\n () => props.items,\n () => props.config.selectableAttr,\n (s) => emit('selection-change', s),\n)\n\nconst openRowIndexes = ref<Set<number>>(new Set())\n\nwatch(\n () => props.items,\n () => {\n openRowIndexes.value = new Set()\n },\n)\n\nconst visibleColumns = computed(() => props.config.columns.filter((c) => c.visible !== false))\n\nconst cardHeaderColumns = computed(() => {\n const s = props.settings as any\n if (s?.cardHeaderColumns) {\n const cols = visibleColumns.value.filter((c) => s.cardHeaderColumns[c.property])\n if (cols.length > 0) {\n if (s.cardHeaderOrder) {\n const order = s.cardHeaderOrder as string[]\n return [...cols].sort((a, b) => {\n const ai = order.indexOf(a.property)\n const bi = order.indexOf(b.property)\n return (ai === -1 ? 999 : ai) - (bi === -1 ? 999 : bi)\n })\n }\n return cols\n }\n }\n const primary = visibleColumns.value.filter((c) => c.primary)\n if (primary.length > 0) return primary\n\n return visibleColumns.value.slice(0, 1)\n})\n\nlet longPressTimer: ReturnType<typeof setTimeout> | null = null\nlet longPressTriggered = false\n\nfunction onPointerDown(e: PointerEvent, item: Record<string, unknown>) {\n if (!props.config.selectableAttr) return\n if (e.button !== 0) return\n longPressTriggered = false\n longPressTimer = setTimeout(() => {\n longPressTriggered = true\n toggleRow(item)\n }, 500)\n}\n\nfunction onPointerUp() {\n if (longPressTimer) {\n clearTimeout(longPressTimer)\n longPressTimer = null\n }\n}\n\nfunction onContextMenu(e: MouseEvent) {\n if (longPressTriggered) {\n e.preventDefault()\n }\n}\n\nfunction onHeaderClick(index: number) {\n if (longPressTriggered) {\n longPressTriggered = false\n return\n }\n toggleAccordion(index)\n}\n\nfunction toggleAccordion(index: number) {\n if (openRowIndexes.value.has(index)) {\n openRowIndexes.value.delete(index)\n } else {\n openRowIndexes.value.add(index)\n }\n openRowIndexes.value = new Set(openRowIndexes.value)\n}\n\n/* function isCardHeaderVNode(value: unknown): boolean {\n return isVNode(value)\n} */\n</script>\n\n<template>\n <div class=\"ac-component\">\n <div class=\"c-cards-wrapper\" :class=\"{ 'is-loading': loading }\">\n <div\n v-if=\"!loading || items.length > 0\"\n class=\"c-cards\"\n :class=\"{ 'is-compact': settings.compact }\"\n >\n <div\n v-for=\"(item, index) in items\"\n :key=\"index\"\n class=\"c-card\"\n :class=\"{\n 'is-open': openRowIndexes.has(index),\n 'is-selected': config.selectableAttr && selectedKeys.has(item[config.selectableAttr]),\n }\"\n >\n <button\n type=\"button\"\n class=\"c-card__header\"\n @click=\"onHeaderClick(index)\"\n @pointerdown=\"onPointerDown($event, item)\"\n @pointerup=\"onPointerUp()\"\n @pointerleave=\"onPointerUp()\"\n @contextmenu=\"onContextMenu\"\n >\n <span\n v-if=\"config.selectableAttr\"\n class=\"c-card__check-zone\"\n @click.stop=\"toggleRow(item)\"\n >\n <Checkbox\n :model-value=\"!!selectedKeys.has(item[config.selectableAttr])\"\n @update:model-value=\"toggleRow(item)\"\n @click.stop\n />\n </span>\n <span class=\"c-card__heading\">\n <span\n v-for=\"(col, i) in cardHeaderColumns\"\n :key=\"col.property\"\n class=\"c-card__heading-item\"\n :class=\"{ primary: col.primary }\"\n >\n <span class=\"c-card__label\">{{ !col.hideHeader ? col.label : '' }}</span>\n <span class=\"c-card__title\" :class=\"{ 'c-truncate': settings.compact && i === 0 }\">\n <component\n v-if=\"isVNode(getColumnValue(item, col))\"\n :is=\"getColumnValue(item, col)\"\n />\n <span v-else v-html=\"getColumnValue(item, col)\"></span>\n </span>\n </span>\n </span>\n <span class=\"c-card__icon\" aria-hidden=\"true\"\n ><i class=\"fa-solid fa-chevron-down\"></i\n ></span>\n </button>\n\n <div v-show=\"openRowIndexes.has(index)\" class=\"c-card__body\">\n <div v-for=\"col in visibleColumns\" :key=\"col.property\" class=\"c-card__field\">\n <span class=\"c-card__field-label\">{{ col.label }}</span>\n <DataCell :item=\"item\" :col=\"col\" class=\"c-card__field-value\" :copy=\"false\" />\n\n <CopyToClipboard\n v-if=\"getColumnValue(item, col) && !col.hideCopyToClipboard\"\n class=\"c-card__field-copy click-expand\"\n :value=\"getColumnValue(item, col)\"\n />\n </div>\n\n <div v-if=\"config.actions\" class=\"c-card__actions\" @click.stop>\n <DataListActions :actions=\"config.actions\" :item=\"item\" />\n </div>\n </div>\n </div>\n </div>\n <div v-else class=\"c-cards__loading-wrap\">\n <Loader :loading=\"true\" size=\"2.5rem\" />\n </div>\n <div v-if=\"loading && items.length > 0\" class=\"c-cards__backdrop\" aria-hidden=\"true\">\n <Loader :loading=\"true\" size=\"2.5rem\" />\n </div>\n </div>\n </div>\n</template>\n\n<style lang=\"scss\" src=\"@/styles/components/data-table/data-cards.scss\"></style>\n"],"mappings":"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"}
1
+ {"version":3,"file":"admins-components68.js","names":[],"sources":["../src/components/data-table/DataCards.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { DataListConfig, DataCardsSettings, DataListSettings } from '@/types/data-list'\nimport DataCell from './DataCell.vue'\nimport DataListActions from './DataListActions.vue'\nexport { dataCardsSettingsDefaults } from '@/types/data-list'\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, ref, watch, isVNode } from 'vue'\nimport Checkbox from '@/components/Checkbox.vue'\nimport CopyToClipboard from '@/components/CopyToClipboard.vue'\nimport Loader from '@/components/Loader.vue'\nimport { useSelection } from '@/composables/useSelection'\nimport { dataCardsSettingsDefaults } from '@/types/data-list'\nimport { getColumnValue } from '@/utils/dataList'\nimport { shortUuid } from '@/utils/dataListConverters'\n\nconst props = withDefaults(\n defineProps<{\n config: DataListConfig\n items: Record<string, unknown>[]\n settings?: DataCardsSettings | DataListSettings\n loading?: boolean\n }>(),\n {\n settings: () => ({ ...dataCardsSettingsDefaults }),\n loading: false,\n },\n)\n\nconst emit = defineEmits<{\n 'selection-change': [selected: unknown[]]\n}>()\n\nconst { selectedKeys, toggle: toggleRow } = useSelection(\n () => props.items,\n () => props.config.selectableAttr,\n (s) => emit('selection-change', s),\n)\n\nconst openRowIndexes = ref<Set<number>>(new Set())\n\nwatch(\n () => props.items,\n () => {\n openRowIndexes.value = new Set()\n },\n)\n\nconst visibleColumns = computed(() => props.config.columns.filter((c) => c.visible !== false))\n\nconst cardHeaderColumns = computed(() => {\n const s = props.settings as any\n if (s?.cardHeaderColumns) {\n const cols = visibleColumns.value.filter((c) => s.cardHeaderColumns[c.property])\n if (cols.length > 0) {\n if (s.cardHeaderOrder) {\n const order = s.cardHeaderOrder as string[]\n return [...cols].sort((a, b) => {\n const ai = order.indexOf(a.property)\n const bi = order.indexOf(b.property)\n return (ai === -1 ? 999 : ai) - (bi === -1 ? 999 : bi)\n })\n }\n return cols\n }\n }\n const primary = visibleColumns.value.filter((c) => c.primary)\n if (primary.length > 0) return primary\n\n return visibleColumns.value.slice(0, 1)\n})\n\nlet longPressTimer: ReturnType<typeof setTimeout> | null = null\nlet longPressTriggered = false\n\nfunction onPointerDown(e: PointerEvent, item: Record<string, unknown>) {\n if (!props.config.selectableAttr) return\n if (e.button !== 0) return\n longPressTriggered = false\n longPressTimer = setTimeout(() => {\n longPressTriggered = true\n toggleRow(item)\n }, 500)\n}\n\nfunction onPointerUp() {\n if (longPressTimer) {\n clearTimeout(longPressTimer)\n longPressTimer = null\n }\n}\n\nfunction onContextMenu(e: MouseEvent) {\n if (longPressTriggered) {\n e.preventDefault()\n }\n}\n\nfunction onHeaderClick(index: number) {\n if (longPressTriggered) {\n longPressTriggered = false\n return\n }\n toggleAccordion(index)\n}\n\nfunction toggleAccordion(index: number) {\n if (openRowIndexes.value.has(index)) {\n openRowIndexes.value.delete(index)\n } else {\n openRowIndexes.value.add(index)\n }\n openRowIndexes.value = new Set(openRowIndexes.value)\n}\n\n/* function isCardHeaderVNode(value: unknown): boolean {\n return isVNode(value)\n} */\n</script>\n\n<template>\n <div class=\"ac-component\">\n <div class=\"c-cards-wrapper list-card-view\" :class=\"{ 'is-loading': loading }\">\n <div\n v-if=\"!loading || items.length > 0\"\n class=\"c-cards\"\n :class=\"{ 'is-compact': settings.compact }\"\n >\n <div\n v-for=\"(item, index) in items\"\n :key=\"index\"\n class=\"c-card\"\n :class=\"{\n 'is-open': openRowIndexes.has(index),\n 'is-selected': config.selectableAttr && selectedKeys.has(item[config.selectableAttr]),\n }\"\n >\n <button\n type=\"button\"\n class=\"c-card__header\"\n @click=\"onHeaderClick(index)\"\n @pointerdown=\"onPointerDown($event, item)\"\n @pointerup=\"onPointerUp()\"\n @pointerleave=\"onPointerUp()\"\n @contextmenu=\"onContextMenu\"\n >\n <span\n v-if=\"config.selectableAttr\"\n class=\"c-card__check-zone\"\n @click.stop=\"toggleRow(item)\"\n >\n <Checkbox\n :model-value=\"!!selectedKeys.has(item[config.selectableAttr])\"\n @update:model-value=\"toggleRow(item)\"\n @click.stop\n />\n </span>\n <span class=\"c-card__heading\">\n <span\n v-for=\"(col, i) in cardHeaderColumns\"\n :key=\"col.property\"\n class=\"c-card__heading-item\"\n :class=\"[{ primary: col.primary }, col.headerClass]\"\n >\n <span class=\"c-card__label\">{{ !col.hideHeader ? col.label : '' }}</span>\n <span class=\"c-card__title\" :class=\"{ 'c-truncate': settings.compact && i === 0 }\">\n <component\n v-if=\"isVNode(getColumnValue(item, col))\"\n :is=\"getColumnValue(item, col)\"\n />\n <span\n v-else-if=\"col.type === 'uuid'\"\n v-tooltip=\"getColumnValue(item, col)\"\n v-html=\"shortUuid()(getColumnValue(item, col) as string)\"\n ></span>\n <span v-else v-html=\"getColumnValue(item, col)\"></span>\n </span>\n </span>\n </span>\n <span class=\"c-card__icon\" aria-hidden=\"true\"\n ><i class=\"fa-solid fa-chevron-down\"></i\n ></span>\n </button>\n\n <div v-show=\"openRowIndexes.has(index)\" class=\"c-card__body\">\n <div v-for=\"col in visibleColumns\" :key=\"col.property\" class=\"c-card__field\">\n <span class=\"c-card__field-label\">{{ col.label }}</span>\n <DataCell :item=\"item\" :col=\"col\" class=\"c-card__field-value\" :copy=\"false\" />\n\n <CopyToClipboard\n v-if=\"getColumnValue(item, col) && !col.hideCopyToClipboard\"\n class=\"c-card__field-copy click-expand\"\n :value=\"getColumnValue(item, col)\"\n />\n </div>\n\n <div v-if=\"config.actions\" class=\"c-card__actions\" @click.stop>\n <DataListActions :actions=\"config.actions\" :item=\"item\" />\n </div>\n </div>\n </div>\n </div>\n <div v-else class=\"c-cards__loading-wrap\">\n <Loader :loading=\"true\" size=\"2.5rem\" />\n </div>\n <div v-if=\"loading && items.length > 0\" class=\"c-cards__backdrop\" aria-hidden=\"true\">\n <Loader :loading=\"true\" size=\"2.5rem\" />\n </div>\n </div>\n </div>\n</template>\n\n<style lang=\"scss\" src=\"@/styles/components/data-table/data-cards.scss\"></style>\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"admins-components70.js","names":[],"sources":["../src/components/data-table/DataCards.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { DataListConfig, DataCardsSettings, DataListSettings } from '@/types/data-list'\nimport DataCell from './DataCell.vue'\nimport DataListActions from './DataListActions.vue'\nexport { dataCardsSettingsDefaults } from '@/types/data-list'\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, ref, watch, isVNode } from 'vue'\nimport Checkbox from '@/components/Checkbox.vue'\nimport CopyToClipboard from '@/components/CopyToClipboard.vue'\nimport Loader from '@/components/Loader.vue'\nimport { useSelection } from '@/composables/useSelection'\nimport { dataCardsSettingsDefaults } from '@/types/data-list'\nimport { getColumnValue } from '@/utils/dataList'\n\nconst props = withDefaults(\n defineProps<{\n config: DataListConfig\n items: Record<string, unknown>[]\n settings?: DataCardsSettings | DataListSettings\n loading?: boolean\n }>(),\n {\n settings: () => ({ ...dataCardsSettingsDefaults }),\n loading: false,\n },\n)\n\nconst emit = defineEmits<{\n 'selection-change': [selected: unknown[]]\n}>()\n\nconst { selectedKeys, toggle: toggleRow } = useSelection(\n () => props.items,\n () => props.config.selectableAttr,\n (s) => emit('selection-change', s),\n)\n\nconst openRowIndexes = ref<Set<number>>(new Set())\n\nwatch(\n () => props.items,\n () => {\n openRowIndexes.value = new Set()\n },\n)\n\nconst visibleColumns = computed(() => props.config.columns.filter((c) => c.visible !== false))\n\nconst cardHeaderColumns = computed(() => {\n const s = props.settings as any\n if (s?.cardHeaderColumns) {\n const cols = visibleColumns.value.filter((c) => s.cardHeaderColumns[c.property])\n if (cols.length > 0) {\n if (s.cardHeaderOrder) {\n const order = s.cardHeaderOrder as string[]\n return [...cols].sort((a, b) => {\n const ai = order.indexOf(a.property)\n const bi = order.indexOf(b.property)\n return (ai === -1 ? 999 : ai) - (bi === -1 ? 999 : bi)\n })\n }\n return cols\n }\n }\n const primary = visibleColumns.value.filter((c) => c.primary)\n if (primary.length > 0) return primary\n\n return visibleColumns.value.slice(0, 1)\n})\n\nlet longPressTimer: ReturnType<typeof setTimeout> | null = null\nlet longPressTriggered = false\n\nfunction onPointerDown(e: PointerEvent, item: Record<string, unknown>) {\n if (!props.config.selectableAttr) return\n if (e.button !== 0) return\n longPressTriggered = false\n longPressTimer = setTimeout(() => {\n longPressTriggered = true\n toggleRow(item)\n }, 500)\n}\n\nfunction onPointerUp() {\n if (longPressTimer) {\n clearTimeout(longPressTimer)\n longPressTimer = null\n }\n}\n\nfunction onContextMenu(e: MouseEvent) {\n if (longPressTriggered) {\n e.preventDefault()\n }\n}\n\nfunction onHeaderClick(index: number) {\n if (longPressTriggered) {\n longPressTriggered = false\n return\n }\n toggleAccordion(index)\n}\n\nfunction toggleAccordion(index: number) {\n if (openRowIndexes.value.has(index)) {\n openRowIndexes.value.delete(index)\n } else {\n openRowIndexes.value.add(index)\n }\n openRowIndexes.value = new Set(openRowIndexes.value)\n}\n\n/* function isCardHeaderVNode(value: unknown): boolean {\n return isVNode(value)\n} */\n</script>\n\n<template>\n <div class=\"ac-component\">\n <div class=\"c-cards-wrapper\" :class=\"{ 'is-loading': loading }\">\n <div\n v-if=\"!loading || items.length > 0\"\n class=\"c-cards\"\n :class=\"{ 'is-compact': settings.compact }\"\n >\n <div\n v-for=\"(item, index) in items\"\n :key=\"index\"\n class=\"c-card\"\n :class=\"{\n 'is-open': openRowIndexes.has(index),\n 'is-selected': config.selectableAttr && selectedKeys.has(item[config.selectableAttr]),\n }\"\n >\n <button\n type=\"button\"\n class=\"c-card__header\"\n @click=\"onHeaderClick(index)\"\n @pointerdown=\"onPointerDown($event, item)\"\n @pointerup=\"onPointerUp()\"\n @pointerleave=\"onPointerUp()\"\n @contextmenu=\"onContextMenu\"\n >\n <span\n v-if=\"config.selectableAttr\"\n class=\"c-card__check-zone\"\n @click.stop=\"toggleRow(item)\"\n >\n <Checkbox\n :model-value=\"!!selectedKeys.has(item[config.selectableAttr])\"\n @update:model-value=\"toggleRow(item)\"\n @click.stop\n />\n </span>\n <span class=\"c-card__heading\">\n <span\n v-for=\"(col, i) in cardHeaderColumns\"\n :key=\"col.property\"\n class=\"c-card__heading-item\"\n :class=\"{ primary: col.primary }\"\n >\n <span class=\"c-card__label\">{{ !col.hideHeader ? col.label : '' }}</span>\n <span class=\"c-card__title\" :class=\"{ 'c-truncate': settings.compact && i === 0 }\">\n <component\n v-if=\"isVNode(getColumnValue(item, col))\"\n :is=\"getColumnValue(item, col)\"\n />\n <span v-else v-html=\"getColumnValue(item, col)\"></span>\n </span>\n </span>\n </span>\n <span class=\"c-card__icon\" aria-hidden=\"true\"\n ><i class=\"fa-solid fa-chevron-down\"></i\n ></span>\n </button>\n\n <div v-show=\"openRowIndexes.has(index)\" class=\"c-card__body\">\n <div v-for=\"col in visibleColumns\" :key=\"col.property\" class=\"c-card__field\">\n <span class=\"c-card__field-label\">{{ col.label }}</span>\n <DataCell :item=\"item\" :col=\"col\" class=\"c-card__field-value\" :copy=\"false\" />\n\n <CopyToClipboard\n v-if=\"getColumnValue(item, col) && !col.hideCopyToClipboard\"\n class=\"c-card__field-copy click-expand\"\n :value=\"getColumnValue(item, col)\"\n />\n </div>\n\n <div v-if=\"config.actions\" class=\"c-card__actions\" @click.stop>\n <DataListActions :actions=\"config.actions\" :item=\"item\" />\n </div>\n </div>\n </div>\n </div>\n <div v-else class=\"c-cards__loading-wrap\">\n <Loader :loading=\"true\" size=\"2.5rem\" />\n </div>\n <div v-if=\"loading && items.length > 0\" class=\"c-cards__backdrop\" aria-hidden=\"true\">\n <Loader :loading=\"true\" size=\"2.5rem\" />\n </div>\n </div>\n </div>\n</template>\n\n<style lang=\"scss\" src=\"@/styles/components/data-table/data-cards.scss\"></style>\n"],"mappings":""}
1
+ {"version":3,"file":"admins-components70.js","names":[],"sources":["../src/components/data-table/DataCards.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { DataListConfig, DataCardsSettings, DataListSettings } from '@/types/data-list'\nimport DataCell from './DataCell.vue'\nimport DataListActions from './DataListActions.vue'\nexport { dataCardsSettingsDefaults } from '@/types/data-list'\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, ref, watch, isVNode } from 'vue'\nimport Checkbox from '@/components/Checkbox.vue'\nimport CopyToClipboard from '@/components/CopyToClipboard.vue'\nimport Loader from '@/components/Loader.vue'\nimport { useSelection } from '@/composables/useSelection'\nimport { dataCardsSettingsDefaults } from '@/types/data-list'\nimport { getColumnValue } from '@/utils/dataList'\nimport { shortUuid } from '@/utils/dataListConverters'\n\nconst props = withDefaults(\n defineProps<{\n config: DataListConfig\n items: Record<string, unknown>[]\n settings?: DataCardsSettings | DataListSettings\n loading?: boolean\n }>(),\n {\n settings: () => ({ ...dataCardsSettingsDefaults }),\n loading: false,\n },\n)\n\nconst emit = defineEmits<{\n 'selection-change': [selected: unknown[]]\n}>()\n\nconst { selectedKeys, toggle: toggleRow } = useSelection(\n () => props.items,\n () => props.config.selectableAttr,\n (s) => emit('selection-change', s),\n)\n\nconst openRowIndexes = ref<Set<number>>(new Set())\n\nwatch(\n () => props.items,\n () => {\n openRowIndexes.value = new Set()\n },\n)\n\nconst visibleColumns = computed(() => props.config.columns.filter((c) => c.visible !== false))\n\nconst cardHeaderColumns = computed(() => {\n const s = props.settings as any\n if (s?.cardHeaderColumns) {\n const cols = visibleColumns.value.filter((c) => s.cardHeaderColumns[c.property])\n if (cols.length > 0) {\n if (s.cardHeaderOrder) {\n const order = s.cardHeaderOrder as string[]\n return [...cols].sort((a, b) => {\n const ai = order.indexOf(a.property)\n const bi = order.indexOf(b.property)\n return (ai === -1 ? 999 : ai) - (bi === -1 ? 999 : bi)\n })\n }\n return cols\n }\n }\n const primary = visibleColumns.value.filter((c) => c.primary)\n if (primary.length > 0) return primary\n\n return visibleColumns.value.slice(0, 1)\n})\n\nlet longPressTimer: ReturnType<typeof setTimeout> | null = null\nlet longPressTriggered = false\n\nfunction onPointerDown(e: PointerEvent, item: Record<string, unknown>) {\n if (!props.config.selectableAttr) return\n if (e.button !== 0) return\n longPressTriggered = false\n longPressTimer = setTimeout(() => {\n longPressTriggered = true\n toggleRow(item)\n }, 500)\n}\n\nfunction onPointerUp() {\n if (longPressTimer) {\n clearTimeout(longPressTimer)\n longPressTimer = null\n }\n}\n\nfunction onContextMenu(e: MouseEvent) {\n if (longPressTriggered) {\n e.preventDefault()\n }\n}\n\nfunction onHeaderClick(index: number) {\n if (longPressTriggered) {\n longPressTriggered = false\n return\n }\n toggleAccordion(index)\n}\n\nfunction toggleAccordion(index: number) {\n if (openRowIndexes.value.has(index)) {\n openRowIndexes.value.delete(index)\n } else {\n openRowIndexes.value.add(index)\n }\n openRowIndexes.value = new Set(openRowIndexes.value)\n}\n\n/* function isCardHeaderVNode(value: unknown): boolean {\n return isVNode(value)\n} */\n</script>\n\n<template>\n <div class=\"ac-component\">\n <div class=\"c-cards-wrapper list-card-view\" :class=\"{ 'is-loading': loading }\">\n <div\n v-if=\"!loading || items.length > 0\"\n class=\"c-cards\"\n :class=\"{ 'is-compact': settings.compact }\"\n >\n <div\n v-for=\"(item, index) in items\"\n :key=\"index\"\n class=\"c-card\"\n :class=\"{\n 'is-open': openRowIndexes.has(index),\n 'is-selected': config.selectableAttr && selectedKeys.has(item[config.selectableAttr]),\n }\"\n >\n <button\n type=\"button\"\n class=\"c-card__header\"\n @click=\"onHeaderClick(index)\"\n @pointerdown=\"onPointerDown($event, item)\"\n @pointerup=\"onPointerUp()\"\n @pointerleave=\"onPointerUp()\"\n @contextmenu=\"onContextMenu\"\n >\n <span\n v-if=\"config.selectableAttr\"\n class=\"c-card__check-zone\"\n @click.stop=\"toggleRow(item)\"\n >\n <Checkbox\n :model-value=\"!!selectedKeys.has(item[config.selectableAttr])\"\n @update:model-value=\"toggleRow(item)\"\n @click.stop\n />\n </span>\n <span class=\"c-card__heading\">\n <span\n v-for=\"(col, i) in cardHeaderColumns\"\n :key=\"col.property\"\n class=\"c-card__heading-item\"\n :class=\"[{ primary: col.primary }, col.headerClass]\"\n >\n <span class=\"c-card__label\">{{ !col.hideHeader ? col.label : '' }}</span>\n <span class=\"c-card__title\" :class=\"{ 'c-truncate': settings.compact && i === 0 }\">\n <component\n v-if=\"isVNode(getColumnValue(item, col))\"\n :is=\"getColumnValue(item, col)\"\n />\n <span\n v-else-if=\"col.type === 'uuid'\"\n v-tooltip=\"getColumnValue(item, col)\"\n v-html=\"shortUuid()(getColumnValue(item, col) as string)\"\n ></span>\n <span v-else v-html=\"getColumnValue(item, col)\"></span>\n </span>\n </span>\n </span>\n <span class=\"c-card__icon\" aria-hidden=\"true\"\n ><i class=\"fa-solid fa-chevron-down\"></i\n ></span>\n </button>\n\n <div v-show=\"openRowIndexes.has(index)\" class=\"c-card__body\">\n <div v-for=\"col in visibleColumns\" :key=\"col.property\" class=\"c-card__field\">\n <span class=\"c-card__field-label\">{{ col.label }}</span>\n <DataCell :item=\"item\" :col=\"col\" class=\"c-card__field-value\" :copy=\"false\" />\n\n <CopyToClipboard\n v-if=\"getColumnValue(item, col) && !col.hideCopyToClipboard\"\n class=\"c-card__field-copy click-expand\"\n :value=\"getColumnValue(item, col)\"\n />\n </div>\n\n <div v-if=\"config.actions\" class=\"c-card__actions\" @click.stop>\n <DataListActions :actions=\"config.actions\" :item=\"item\" />\n </div>\n </div>\n </div>\n </div>\n <div v-else class=\"c-cards__loading-wrap\">\n <Loader :loading=\"true\" size=\"2.5rem\" />\n </div>\n <div v-if=\"loading && items.length > 0\" class=\"c-cards__backdrop\" aria-hidden=\"true\">\n <Loader :loading=\"true\" size=\"2.5rem\" />\n </div>\n </div>\n </div>\n</template>\n\n<style lang=\"scss\" src=\"@/styles/components/data-table/data-cards.scss\"></style>\n"],"mappings":""}