admins-components 9.0.13 → 9.0.14

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 (71) hide show
  1. package/dist/admins-components11.js.map +1 -1
  2. package/dist/admins-components13.js +65 -65
  3. package/dist/admins-components13.js.map +1 -1
  4. package/dist/admins-components14.js.map +1 -1
  5. package/dist/admins-components15.js +1 -1
  6. package/dist/admins-components15.js.map +1 -1
  7. package/dist/admins-components16.js.map +1 -1
  8. package/dist/admins-components18.js +57 -57
  9. package/dist/admins-components18.js.map +1 -1
  10. package/dist/admins-components19.js.map +1 -1
  11. package/dist/admins-components20.js +52 -52
  12. package/dist/admins-components20.js.map +1 -1
  13. package/dist/admins-components22.js.map +1 -1
  14. package/dist/admins-components23.js +19 -19
  15. package/dist/admins-components23.js.map +1 -1
  16. package/dist/admins-components24.js.map +1 -1
  17. package/dist/admins-components28.js +39 -22
  18. package/dist/admins-components28.js.map +1 -1
  19. package/dist/admins-components30.js.map +1 -1
  20. package/dist/admins-components31.js +20 -20
  21. package/dist/admins-components31.js.map +1 -1
  22. package/dist/admins-components33.js.map +1 -1
  23. package/dist/admins-components39.js +48 -48
  24. package/dist/admins-components39.js.map +1 -1
  25. package/dist/admins-components41.js.map +1 -1
  26. package/dist/admins-components42.js +41 -41
  27. package/dist/admins-components42.js.map +1 -1
  28. package/dist/admins-components43.js.map +1 -1
  29. package/dist/admins-components44.js +60 -60
  30. package/dist/admins-components44.js.map +1 -1
  31. package/dist/admins-components45.js.map +1 -1
  32. package/dist/admins-components5.js +1 -1
  33. package/dist/admins-components5.js.map +1 -1
  34. package/dist/admins-components59.js +80 -75
  35. package/dist/admins-components59.js.map +1 -1
  36. package/dist/admins-components6.js.map +1 -1
  37. package/dist/admins-components61.js.map +1 -1
  38. package/dist/admins-components62.js +90 -85
  39. package/dist/admins-components62.js.map +1 -1
  40. package/dist/admins-components64.js.map +1 -1
  41. package/dist/admins-components69.js +41 -41
  42. package/dist/admins-components69.js.map +1 -1
  43. package/dist/admins-components71.js.map +1 -1
  44. package/dist/admins-components8.js +93 -93
  45. package/dist/admins-components8.js.map +1 -1
  46. package/dist/admins-components81.js +1 -1
  47. package/dist/admins-components81.js.map +1 -1
  48. package/dist/admins-components83.js.map +1 -1
  49. package/dist/admins-components87.js +70 -70
  50. package/dist/admins-components87.js.map +1 -1
  51. package/dist/admins-components89.js.map +1 -1
  52. package/dist/admins-components93.js +1 -1
  53. package/dist/admins-components93.js.map +1 -1
  54. package/dist/base.css +1 -1
  55. package/dist/base.css.map +1 -1
  56. package/dist/src/components/HeaderComponent.vue.d.ts +13 -2
  57. package/dist/src/styles/components/calendar.scss_vue_type_style_index_0_src_true_lang.css +1 -1
  58. package/dist/src/styles/components/copy-to-clipboard.scss_vue_type_style_index_0_src_true_lang.css +1 -1
  59. package/dist/src/styles/components/data-table/data-cards.scss_vue_type_style_index_0_src_true_lang.css +1 -1
  60. package/dist/src/styles/components/data-table/data-filters.scss_vue_type_style_index_0_src_true_lang.css +1 -1
  61. package/dist/src/styles/components/data-table/data-list-guide.scss_vue_type_style_index_0_src_true_lang.css +1 -1
  62. package/dist/src/styles/components/data-table/data-list-options.scss_vue_type_style_index_0_src_true_lang.css +1 -1
  63. package/dist/src/styles/components/data-table/data-list.scss_vue_type_style_index_0_src_true_lang.css +1 -1
  64. package/dist/src/styles/components/data-table/filters-history.scss_vue_type_style_index_0_src_true_lang.css +1 -1
  65. package/dist/src/styles/components/datepickers.scss_vue_type_style_index_1_src_true_lang.css +1 -1
  66. package/dist/src/styles/components/dropdown-select.scss_vue_type_style_index_0_src_true_lang.css +1 -1
  67. package/dist/src/styles/components/header.scss_vue_type_style_index_0_src_true_lang.css +1 -1
  68. package/dist/src/styles/components/image-picker.scss_vue_type_style_index_0_src_true_lang.css +1 -1
  69. package/dist/src/styles/components/modal.scss_vue_type_style_index_0_src_true_lang.css +1 -1
  70. package/dist/src/styles/components/sidebar.scss_vue_type_style_index_0_src_true_lang.css +1 -1
  71. package/package.json +2 -2
@@ -1,115 +1,120 @@
1
1
  import e from "./admins-components6.js";
2
- import t from "./admins-components24.js";
3
- import n from "./admins-components48.js";
4
- import { useSelection as r } from "./admins-components53.js";
5
- import { dataTableSettingsDefaults as i } from "./admins-components54.js";
6
- import { buildActionGroupMenuItems as a, isActionGroup as o } from "./admins-components55.js";
7
- import s from "./admins-components58.js";
8
- import { Fragment as c, computed as l, createBlock as u, createCommentVNode as d, createElementBlock as f, createElementVNode as p, createTextVNode as m, createVNode as h, defineComponent as g, mergeProps as _, normalizeClass as v, normalizeStyle as y, openBlock as b, ref as x, renderList as S, toDisplayString as C, unref as w, withModifiers as T } from "vue";
2
+ import t from "./admins-components16.js";
3
+ import n from "./admins-components24.js";
4
+ import r from "./admins-components48.js";
5
+ import { useSelection as i } from "./admins-components53.js";
6
+ import { dataTableSettingsDefaults as a } from "./admins-components54.js";
7
+ import { buildActionGroupMenuItems as o, isActionGroup as s } from "./admins-components55.js";
8
+ import c from "./admins-components58.js";
9
+ import { Fragment as l, computed as u, createBlock as d, createCommentVNode as f, createElementBlock as p, createElementVNode as m, createTextVNode as h, createVNode as g, defineComponent as _, mergeProps as v, normalizeClass as y, normalizeStyle as b, openBlock as x, ref as S, renderList as C, toDisplayString as w, unref as T, withModifiers as E } from "vue";
9
10
  //#region src/components/data-table/DataTable.vue?vue&type=script&setup=true&lang.ts
10
- var E = { class: "c-table-wrapper ac-component" }, D = { key: 0 }, O = ["onClick"], k = {
11
+ var D = { class: "ac-component" }, O = { class: "c-table-wrapper" }, k = { key: 0 }, A = ["onClick"], j = {
11
12
  key: 1,
12
13
  class: "c-actions-header"
13
- }, A = { key: 0 }, j = ["onClick"], M = {
14
+ }, M = { key: 0 }, N = ["onClick"], P = {
14
15
  key: 1,
15
16
  class: "c-actions-cell"
16
- }, N = { class: "c-actions-wrap" }, P = { key: 1 }, F = { class: "c-table__loading-row" }, I = ["colspan"], L = { class: "c-table__loading-wrap" }, R = {
17
+ }, F = { class: "c-actions-wrap" }, I = { key: 1 }, L = { class: "c-table__loading-row" }, R = ["colspan"], z = { class: "c-table__loading-wrap" }, B = {
17
18
  key: 0,
18
19
  class: "c-table__backdrop",
19
20
  "aria-hidden": "true"
20
- }, z = /* @__PURE__ */ g({
21
+ }, V = /* @__PURE__ */ _({
21
22
  __name: "DataTable",
22
23
  props: {
23
24
  config: {},
24
25
  items: {},
25
- settings: { default: () => ({ ...i }) },
26
+ settings: { default: () => ({ ...a }) },
26
27
  loading: {
27
28
  type: Boolean,
28
29
  default: !1
29
30
  }
30
31
  },
31
32
  emits: ["selection-change", "sort-change"],
32
- setup(i, { emit: g }) {
33
- let z = i, B = g, V = x(null), { selectedKeys: H, allSelected: U, toggle: W, toggleAll: G } = r(() => z.items, () => z.config.selectableAttr, (e) => B("selection-change", e)), K = l(() => z.config.columns.filter((e) => e.visible !== !1));
34
- function q(e) {
35
- let t = V.value?.key === e && V.value.direction === "asc" ? "desc" : "asc";
36
- V.value = {
33
+ setup(a, { emit: _ }) {
34
+ let V = a, H = _, U = S(null), { selectedKeys: W, allSelected: G, toggle: K, toggleAll: q } = i(() => V.items, () => V.config.selectableAttr, (e) => H("selection-change", e)), J = u(() => V.config.columns.filter((e) => e.visible !== !1));
35
+ function Y(e) {
36
+ let t = U.value?.key === e && U.value.direction === "asc" ? "desc" : "asc";
37
+ U.value = {
37
38
  key: e,
38
39
  direction: t
39
- }, B("sort-change", {
40
+ }, H("sort-change", {
40
41
  key: e,
41
42
  direction: t
42
43
  });
43
44
  }
44
- return (r, l) => (b(), f("div", E, [p("table", {
45
- class: v(["c-table", {
46
- "is-compact": i.settings.compact,
47
- "is-loading": i.loading
45
+ return (i, u) => (x(), p("div", D, [m("div", O, [m("table", {
46
+ class: y(["c-table", {
47
+ "is-compact": a.settings.compact,
48
+ "is-loading": a.loading
48
49
  }]),
49
- style: y({ "--action-count": i.config.actions?.length ?? 0 })
50
- }, [p("thead", null, [p("tr", null, [
51
- i.config.selectableAttr ? (b(), f("th", D, [p("span", {
52
- class: v(["c-checkbox", { "c-checkbox--checked": w(U) }]),
53
- onClick: l[0] ||= (...e) => w(G) && w(G)(...e)
54
- }, null, 2)])) : d("", !0),
55
- (b(!0), f(c, null, S(K.value, (e) => (b(), f("th", {
50
+ style: b({ "--action-count": a.config.actions?.length ?? 0 })
51
+ }, [m("thead", null, [m("tr", null, [
52
+ a.config.selectableAttr ? (x(), p("th", k, [g(t, {
53
+ "model-value": T(G),
54
+ "onUpdate:modelValue": T(q)
55
+ }, null, 8, ["model-value", "onUpdate:modelValue"])])) : f("", !0),
56
+ (x(!0), p(l, null, C(J.value, (e) => (x(), p("th", {
56
57
  key: e.property,
57
- class: v({
58
+ class: y({
58
59
  "c-sortable": e.sort,
59
- "c-sortable--sorted": V.value?.key === e.property
60
+ "c-sortable--sorted": U.value?.key === e.property
60
61
  }),
61
- onClick: (t) => e.sort ? q(e.property) : void 0
62
- }, [m(C(e.label) + " ", 1), e.sort ? (b(), f("span", {
62
+ onClick: (t) => e.sort ? Y(e.property) : void 0
63
+ }, [h(w(e.label) + " ", 1), e.sort ? (x(), p("span", {
63
64
  key: 0,
64
- class: v(["c-sort-icon fa-solid", {
65
- "fa-sort": V.value?.key !== e.property,
66
- "fa-sort-down": V.value?.key === e.property && V.value.direction === "desc",
67
- "fa-sort-up": V.value?.key === e.property && V.value.direction === "asc",
68
- "c-sort-icon--active": V.value?.key === e.property,
69
- "is-asc": V.value?.key === e.property && V.value.direction === "asc",
70
- "is-desc": V.value?.key === e.property && V.value.direction === "desc"
65
+ class: y(["c-sort-icon fa-solid", {
66
+ "fa-sort": U.value?.key !== e.property,
67
+ "fa-sort-down": U.value?.key === e.property && U.value.direction === "desc",
68
+ "fa-sort-up": U.value?.key === e.property && U.value.direction === "asc",
69
+ "c-sort-icon--active": U.value?.key === e.property,
70
+ "is-asc": U.value?.key === e.property && U.value.direction === "asc",
71
+ "is-desc": U.value?.key === e.property && U.value.direction === "desc"
71
72
  }])
72
- }, null, 2)) : d("", !0)], 10, O))), 128)),
73
- i.config.actions ? (b(), f("th", k, C(i.config.actionHeader ?? ""), 1)) : d("", !0)
74
- ])]), !i.loading || i.items.length > 0 ? (b(), f("tbody", A, [(b(!0), f(c, null, S(i.items, (n, r) => (b(), f("tr", {
75
- key: r,
76
- class: v({
77
- "is-selected": i.config.selectableAttr && w(H).has(n[i.config.selectableAttr]),
78
- "is-striped": i.settings.striped && r % 2 == 1
73
+ }, null, 2)) : f("", !0)], 10, A))), 128)),
74
+ a.config.actions ? (x(), p("th", j, w(a.config.actionHeader ?? ""), 1)) : f("", !0)
75
+ ])]), !a.loading || a.items.length > 0 ? (x(), p("tbody", M, [(x(!0), p(l, null, C(a.items, (r, i) => (x(), p("tr", {
76
+ key: i,
77
+ class: y({
78
+ "is-selected": a.config.selectableAttr && T(W).has(r[a.config.selectableAttr]),
79
+ "is-striped": a.settings.striped && i % 2 == 1
79
80
  })
80
81
  }, [
81
- i.config.selectableAttr ? (b(), f("td", {
82
+ a.config.selectableAttr ? (x(), p("td", {
82
83
  key: 0,
83
84
  class: "pointer",
84
- onClick: T((e) => w(W)(n), ["stop"])
85
- }, [p("span", { class: v(["c-checkbox", { "c-checkbox--checked": w(H).has(n[i.config.selectableAttr]) }]) }, null, 2)], 8, j)) : d("", !0),
86
- (b(!0), f(c, null, S(K.value, (e) => (b(), f("td", {
85
+ onClick: E((e) => T(K)(r), ["stop"])
86
+ }, [g(t, {
87
+ "model-value": !!T(W).has(r[a.config.selectableAttr]),
88
+ "onUpdate:modelValue": (e) => T(K)(r),
89
+ onClick: u[0] ||= E(() => {}, ["stop"])
90
+ }, null, 8, ["model-value", "onUpdate:modelValue"])], 8, N)) : f("", !0),
91
+ (x(!0), p(l, null, C(J.value, (e) => (x(), p("td", {
87
92
  key: e.property,
88
- class: v(["c-table__cell", [e.class]])
89
- }, [h(s, {
90
- item: n,
93
+ class: y(["c-table__cell", [e.class]])
94
+ }, [g(c, {
95
+ item: r,
91
96
  col: e
92
97
  }, null, 8, ["item", "col"])], 2))), 128)),
93
- i.config.actions ? (b(), f("td", M, [p("div", N, [(b(!0), f(c, null, S(i.config.actions, (r, i) => (b(), f(c, { key: i }, [w(o)(r) ? (b(), u(t, _({
98
+ a.config.actions ? (x(), p("td", P, [m("div", F, [(x(!0), p(l, null, C(a.config.actions, (t, i) => (x(), p(l, { key: i }, [T(s)(t) ? (x(), d(n, v({
94
99
  key: 0,
95
- icon: r.icon,
96
- label: r.label,
97
- items: w(a)(r, n)
98
- }, { ref_for: !0 }, r.config), null, 16, [
100
+ icon: t.icon,
101
+ label: t.label,
102
+ items: T(o)(t, r)
103
+ }, { ref_for: !0 }, t.config), null, 16, [
99
104
  "icon",
100
105
  "label",
101
106
  "items"
102
- ])) : (b(), u(e, _({
107
+ ])) : (x(), d(e, v({
103
108
  key: 1,
104
- icon: r.icon,
105
- label: r.label,
106
- type: r.type,
107
- disabled: r.disabled ? r.disabled(n) : !1,
108
- size: r.label ? "small" : "normal",
109
- ariaLabel: r.ariaLabel,
109
+ icon: t.icon,
110
+ label: t.label,
111
+ type: t.type,
112
+ disabled: t.disabled ? t.disabled(r) : !1,
113
+ size: t.label ? "small" : "normal",
114
+ ariaLabel: t.ariaLabel,
110
115
  outline: "",
111
- callback: () => r.callback(n)
112
- }, { ref_for: !0 }, r.config), null, 16, [
116
+ callback: () => t.callback(r)
117
+ }, { ref_for: !0 }, t.config), null, 16, [
113
118
  "icon",
114
119
  "label",
115
120
  "type",
@@ -117,18 +122,18 @@ var E = { class: "c-table-wrapper ac-component" }, D = { key: 0 }, O = ["onClick
117
122
  "size",
118
123
  "ariaLabel",
119
124
  "callback"
120
- ]))], 64))), 128))])])) : d("", !0)
121
- ], 2))), 128))])) : (b(), f("tbody", P, [p("tr", F, [p("td", {
122
- colspan: K.value.length + +!!i.config.selectableAttr + +!!i.config.actions,
125
+ ]))], 64))), 128))])])) : f("", !0)
126
+ ], 2))), 128))])) : (x(), p("tbody", I, [m("tr", L, [m("td", {
127
+ colspan: J.value.length + +!!a.config.selectableAttr + +!!a.config.actions,
123
128
  class: "c-table__loading-cell"
124
- }, [p("div", L, [h(n, {
129
+ }, [m("div", z, [g(r, {
125
130
  loading: !0,
126
131
  size: "2.5rem"
127
- })])], 8, I)])]))], 6), i.loading && i.items.length > 0 ? (b(), f("div", R, [h(n, {
132
+ })])], 8, R)])]))], 6), a.loading && a.items.length > 0 ? (x(), p("div", B, [g(r, {
128
133
  loading: !0,
129
134
  size: "2.5rem"
130
- })])) : d("", !0)]));
135
+ })])) : f("", !0)])]));
131
136
  }
132
137
  });
133
138
  //#endregion
134
- export { z as default };
139
+ export { V as default };
@@ -1 +1 @@
1
- {"version":3,"file":"admins-components59.js","names":[],"sources":["../src/components/data-table/DataTable.vue"],"sourcesContent":["<script lang=\"ts\">\nexport type {\n LayoutMode,\n DataListConfig,\n DataListSettings,\n DataTableSettings,\n DataCardsSettings,\n Column,\n Sort,\n Action,\n ActionGroup,\n FilterConfig,\n FilterValue,\n} from '@/types/data-list'\n\nexport {\n dataTableSettingsDefaults,\n dataCardsSettingsDefaults,\n dataListSettingsDefaults,\n} from '@/types/data-list'\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, ref } from 'vue'\nimport Button from '@/components/Button.vue'\nimport { useSelection } from '@/composables/useSelection'\nimport { dataTableSettingsDefaults } from '@/types/data-list'\nimport type { DataListConfig, DataTableSettings } from '@/types/data-list'\nimport Loader from '@/components/Loader.vue'\nimport DataCell from './DataCell.vue'\nimport DropdownMenu from '../DropdownMenu.vue'\nimport { buildActionGroupMenuItems, isActionGroup } from '@/utils/dataList'\n\ntype SortDirection = 'asc' | 'desc'\n\nconst props = withDefaults(\n defineProps<{\n config: DataListConfig\n items: Record<string, unknown>[]\n settings?: DataTableSettings\n loading?: boolean\n }>(),\n {\n settings: () => ({ ...dataTableSettingsDefaults }),\n loading: false,\n },\n)\n\nconst emit = defineEmits<{\n 'selection-change': [selected: unknown[]]\n 'sort-change': [sort: { key: string; direction: SortDirection }]\n}>()\n\n//const CHARACTER_BREAKPOINT = 20\n\nconst activeSort = ref<{\n key: string\n direction: SortDirection\n} | null>(null)\n\nconst {\n selectedKeys,\n allSelected,\n toggle: toggleRow,\n toggleAll,\n} = useSelection(\n () => props.items,\n () => props.config.selectableAttr,\n (s) => emit('selection-change', s),\n)\n\nconst visibleColumns = computed(() => props.config.columns.filter((c) => c.visible !== false))\n\nfunction handleSort(key: string) {\n const direction: SortDirection =\n activeSort.value?.key === key && activeSort.value.direction === 'asc' ? 'desc' : 'asc'\n\n activeSort.value = { key, direction }\n\n emit('sort-change', { key, direction })\n}\n</script>\n\n<template>\n <div class=\"c-table-wrapper ac-component\">\n <table\n class=\"c-table\"\n :class=\"{ 'is-compact': settings.compact, 'is-loading': loading }\"\n :style=\"{ '--action-count': config.actions?.length ?? 0 }\"\n >\n <thead>\n <tr>\n <th v-if=\"config.selectableAttr\">\n <span\n class=\"c-checkbox\"\n :class=\"{ 'c-checkbox--checked': allSelected }\"\n @click=\"toggleAll\"\n ></span>\n </th>\n\n <th\n v-for=\"col in visibleColumns\"\n :key=\"col.property\"\n :class=\"{\n 'c-sortable': col.sort,\n 'c-sortable--sorted': activeSort?.key === col.property,\n }\"\n @click=\"col.sort ? handleSort(col.property) : undefined\"\n >\n {{ col.label }}\n\n <span\n v-if=\"col.sort\"\n class=\"c-sort-icon fa-solid\"\n :class=\"{\n 'fa-sort': activeSort?.key !== col.property,\n 'fa-sort-down': activeSort?.key === col.property && activeSort.direction === 'desc',\n 'fa-sort-up': activeSort?.key === col.property && activeSort.direction === 'asc',\n 'c-sort-icon--active': activeSort?.key === col.property,\n 'is-asc': activeSort?.key === col.property && activeSort.direction === 'asc',\n 'is-desc': activeSort?.key === col.property && activeSort.direction === 'desc',\n }\"\n ></span>\n </th>\n\n <th v-if=\"config.actions\" class=\"c-actions-header\">\n {{ config.actionHeader ?? '' }}\n </th>\n </tr>\n </thead>\n\n <tbody v-if=\"!loading || items.length > 0\">\n <tr\n v-for=\"(item, index) in items\"\n :key=\"index\"\n :class=\"{\n 'is-selected': config.selectableAttr && selectedKeys.has(item[config.selectableAttr]),\n 'is-striped': settings.striped && index % 2 === 1,\n }\"\n >\n <td v-if=\"config.selectableAttr\" class=\"pointer\" @click.stop=\"toggleRow(item)\">\n <span\n class=\"c-checkbox\"\n :class=\"{ 'c-checkbox--checked': selectedKeys.has(item[config.selectableAttr]) }\"\n ></span>\n </td>\n\n <td\n v-for=\"col in visibleColumns\"\n :key=\"col.property\"\n class=\"c-table__cell\"\n :class=\"[\n col.class,\n /* { 'is-nowrap': String(getColumnValue(item, col) ?? '').length < CHARACTER_BREAKPOINT}, */\n ]\"\n >\n <DataCell :item=\"item\" :col=\"col\" />\n </td>\n\n <td v-if=\"config.actions\" class=\"c-actions-cell\">\n <div class=\"c-actions-wrap\">\n <template v-for=\"(action, ai) in config.actions\" :key=\"ai\">\n <DropdownMenu\n v-if=\"isActionGroup(action)\"\n :icon=\"action.icon\"\n :label=\"action.label\"\n :items=\"buildActionGroupMenuItems(action, item)\"\n v-bind=\"action.config\"\n />\n\n <Button\n v-else\n :icon=\"action.icon\"\n :label=\"action.label\"\n :type=\"action.type\"\n :disabled=\"action.disabled ? action.disabled(item) : false\"\n :size=\"action.label ? 'small' : 'normal'\"\n :ariaLabel=\"action.ariaLabel\"\n outline\n :callback=\"() => action.callback(item)\"\n v-bind=\"action.config\"\n />\n </template>\n </div>\n </td>\n </tr>\n </tbody>\n <tbody v-else>\n <tr class=\"c-table__loading-row\">\n <td\n :colspan=\"\n visibleColumns.length + (config.selectableAttr ? 1 : 0) + (config.actions ? 1 : 0)\n \"\n class=\"c-table__loading-cell\"\n >\n <div class=\"c-table__loading-wrap\">\n <Loader :loading=\"true\" size=\"2.5rem\" />\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n <div v-if=\"loading && items.length > 0\" class=\"c-table__backdrop\" aria-hidden=\"true\">\n <Loader :loading=\"true\" size=\"2.5rem\" />\n </div>\n </div>\n</template>\n\n<style lang=\"scss\" src=\"@/styles/components/data-table/data-table.scss\"></style>\n"],"mappings":"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"}
1
+ {"version":3,"file":"admins-components59.js","names":[],"sources":["../src/components/data-table/DataTable.vue"],"sourcesContent":["<script lang=\"ts\">\nexport type {\n LayoutMode,\n DataListConfig,\n DataListSettings,\n DataTableSettings,\n DataCardsSettings,\n Column,\n Sort,\n Action,\n ActionGroup,\n FilterConfig,\n FilterValue,\n} from '@/types/data-list'\n\nexport {\n dataTableSettingsDefaults,\n dataCardsSettingsDefaults,\n dataListSettingsDefaults,\n} from '@/types/data-list'\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, ref } from 'vue'\nimport Button from '@/components/Button.vue'\nimport Checkbox from '@/components/Checkbox.vue'\nimport { useSelection } from '@/composables/useSelection'\nimport { dataTableSettingsDefaults } from '@/types/data-list'\nimport type { DataListConfig, DataTableSettings } from '@/types/data-list'\nimport Loader from '@/components/Loader.vue'\nimport DataCell from './DataCell.vue'\nimport DropdownMenu from '../DropdownMenu.vue'\nimport { buildActionGroupMenuItems, isActionGroup } from '@/utils/dataList'\n\ntype SortDirection = 'asc' | 'desc'\n\nconst props = withDefaults(\n defineProps<{\n config: DataListConfig\n items: Record<string, unknown>[]\n settings?: DataTableSettings\n loading?: boolean\n }>(),\n {\n settings: () => ({ ...dataTableSettingsDefaults }),\n loading: false,\n },\n)\n\nconst emit = defineEmits<{\n 'selection-change': [selected: unknown[]]\n 'sort-change': [sort: { key: string; direction: SortDirection }]\n}>()\n\n//const CHARACTER_BREAKPOINT = 20\n\nconst activeSort = ref<{\n key: string\n direction: SortDirection\n} | null>(null)\n\nconst {\n selectedKeys,\n allSelected,\n toggle: toggleRow,\n toggleAll,\n} = useSelection(\n () => props.items,\n () => props.config.selectableAttr,\n (s) => emit('selection-change', s),\n)\n\nconst visibleColumns = computed(() => props.config.columns.filter((c) => c.visible !== false))\n\nfunction handleSort(key: string) {\n const direction: SortDirection =\n activeSort.value?.key === key && activeSort.value.direction === 'asc' ? 'desc' : 'asc'\n\n activeSort.value = { key, direction }\n\n emit('sort-change', { key, direction })\n}\n</script>\n\n<template>\n <div class=\"ac-component\">\n <div class=\"c-table-wrapper\">\n <table\n class=\"c-table\"\n :class=\"{ 'is-compact': settings.compact, 'is-loading': loading }\"\n :style=\"{ '--action-count': config.actions?.length ?? 0 }\"\n >\n <thead>\n <tr>\n <th v-if=\"config.selectableAttr\">\n <Checkbox :model-value=\"allSelected\" @update:model-value=\"toggleAll\" />\n </th>\n\n <th\n v-for=\"col in visibleColumns\"\n :key=\"col.property\"\n :class=\"{\n 'c-sortable': col.sort,\n 'c-sortable--sorted': activeSort?.key === col.property,\n }\"\n @click=\"col.sort ? handleSort(col.property) : undefined\"\n >\n {{ col.label }}\n\n <span\n v-if=\"col.sort\"\n class=\"c-sort-icon fa-solid\"\n :class=\"{\n 'fa-sort': activeSort?.key !== col.property,\n 'fa-sort-down':\n activeSort?.key === col.property && activeSort.direction === 'desc',\n 'fa-sort-up': activeSort?.key === col.property && activeSort.direction === 'asc',\n 'c-sort-icon--active': activeSort?.key === col.property,\n 'is-asc': activeSort?.key === col.property && activeSort.direction === 'asc',\n 'is-desc': activeSort?.key === col.property && activeSort.direction === 'desc',\n }\"\n ></span>\n </th>\n\n <th v-if=\"config.actions\" class=\"c-actions-header\">\n {{ config.actionHeader ?? '' }}\n </th>\n </tr>\n </thead>\n\n <tbody v-if=\"!loading || items.length > 0\">\n <tr\n v-for=\"(item, index) in items\"\n :key=\"index\"\n :class=\"{\n 'is-selected': config.selectableAttr && selectedKeys.has(item[config.selectableAttr]),\n 'is-striped': settings.striped && index % 2 === 1,\n }\"\n >\n <td v-if=\"config.selectableAttr\" class=\"pointer\" @click.stop=\"toggleRow(item)\">\n <Checkbox\n :model-value=\"!!selectedKeys.has(item[config.selectableAttr])\"\n @update:model-value=\"toggleRow(item)\"\n @click.stop\n />\n </td>\n\n <td\n v-for=\"col in visibleColumns\"\n :key=\"col.property\"\n class=\"c-table__cell\"\n :class=\"[\n col.class,\n /* { 'is-nowrap': String(getColumnValue(item, col) ?? '').length < CHARACTER_BREAKPOINT}, */\n ]\"\n >\n <DataCell :item=\"item\" :col=\"col\" />\n </td>\n\n <td v-if=\"config.actions\" class=\"c-actions-cell\">\n <div class=\"c-actions-wrap\">\n <template v-for=\"(action, ai) in config.actions\" :key=\"ai\">\n <DropdownMenu\n v-if=\"isActionGroup(action)\"\n :icon=\"action.icon\"\n :label=\"action.label\"\n :items=\"buildActionGroupMenuItems(action, item)\"\n v-bind=\"action.config\"\n />\n\n <Button\n v-else\n :icon=\"action.icon\"\n :label=\"action.label\"\n :type=\"action.type\"\n :disabled=\"action.disabled ? action.disabled(item) : false\"\n :size=\"action.label ? 'small' : 'normal'\"\n :ariaLabel=\"action.ariaLabel\"\n outline\n :callback=\"() => action.callback(item)\"\n v-bind=\"action.config\"\n />\n </template>\n </div>\n </td>\n </tr>\n </tbody>\n <tbody v-else>\n <tr class=\"c-table__loading-row\">\n <td\n :colspan=\"\n visibleColumns.length + (config.selectableAttr ? 1 : 0) + (config.actions ? 1 : 0)\n \"\n class=\"c-table__loading-cell\"\n >\n <div class=\"c-table__loading-wrap\">\n <Loader :loading=\"true\" size=\"2.5rem\" />\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n <div v-if=\"loading && items.length > 0\" class=\"c-table__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-table.scss\"></style>\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"admins-components6.js","names":[],"sources":["../src/components/Button.vue"],"sourcesContent":["<script lang=\"ts\">\nexport type ButtonType = 'normal' | 'dark' | 'success' | 'error' | 'warning' | 'info'\n\nexport type IconPosition = 'left' | 'right'\n\nexport interface ButtonProps {\n size?: ControlSize\n type?: ButtonType\n outline?: boolean\n icon?: string\n iconPosition?: IconPosition\n label?: string\n ariaLabel?: string\n callback?: () => void\n indicator?: string | number\n labelAlignmentFix?: boolean\n}\n\nexport const buttonDefaults = {\n size: 'normal' as ControlSize,\n type: 'normal' as ButtonType,\n outline: false,\n icon: undefined,\n iconPosition: 'left' as IconPosition,\n labelAlignmentFix: false,\n}\n</script>\n\n<script setup lang=\"ts\">\nimport type { ControlSize } from '@/types/types'\nimport { sizeToClass, typeToClass } from '@/utils/dom'\nimport { computed } from 'vue'\n\nconst props = withDefaults(defineProps<ButtonProps>(), {\n ...buttonDefaults,\n})\n\nconst classes = computed(() => [\n 'c-btn',\n sizeToClass(props.size, 'c-btn'),\n props.outline && 'c-btn-outline',\n typeToClass(props.type, 'c-btn'),\n])\n</script>\n\n<template>\n <button\n type=\"button\"\n :class=\"classes\"\n :aria-label=\"ariaLabel ?? label\"\n :title=\"ariaLabel ?? label\"\n @click=\"callback?.()\"\n >\n <i v-if=\"icon && iconPosition === 'left'\" :class=\"icon\"></i>\n\n <span v-if=\"label\" :class=\"{ 'align-center-text-fix': labelAlignmentFix }\">\n {{ label }}\n\n <span v-if=\"indicator !== undefined && indicator !== null\" class=\"c-btn-indicator\">\n {{ indicator }}\n </span>\n </span>\n\n <i v-if=\"icon && iconPosition === 'right'\" :class=\"icon\"></i>\n </button>\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"admins-components6.js","names":[],"sources":["../src/components/Button.vue"],"sourcesContent":["<script lang=\"ts\">\nexport type ButtonType = 'normal' | 'dark' | 'success' | 'error' | 'warning' | 'info'\n\nexport type IconPosition = 'left' | 'right'\n\nexport interface ButtonProps {\n size?: ControlSize\n type?: ButtonType\n outline?: boolean\n icon?: string\n iconPosition?: IconPosition\n label?: string\n ariaLabel?: string\n callback?: () => void\n indicator?: string | number\n labelAlignmentFix?: boolean\n}\n\nexport const buttonDefaults = {\n size: 'normal' as ControlSize,\n type: 'normal' as ButtonType,\n outline: false,\n icon: undefined,\n iconPosition: 'left' as IconPosition,\n labelAlignmentFix: false,\n}\n</script>\n\n<script setup lang=\"ts\">\nimport type { ControlSize } from '@/types/types'\nimport { sizeToClass, typeToClass } from '@/utils/dom'\nimport { computed } from 'vue'\n\nconst props = withDefaults(defineProps<ButtonProps>(), {\n ...buttonDefaults,\n})\n\nconst classes = computed(() => [\n 'c-btn',\n sizeToClass(props.size, 'c-btn'),\n props.outline && 'c-btn-outline',\n typeToClass(props.type, 'c-btn'),\n])\n</script>\n\n<template>\n <button\n type=\"button\"\n :class=\"classes\"\n :aria-label=\"ariaLabel ?? label\"\n :title=\"ariaLabel ?? label\"\n @click=\"callback?.()\"\n >\n <i v-if=\"icon && iconPosition === 'left'\" :class=\"icon\"></i>\n\n <span v-if=\"label\" :class=\"{ 'align-center-fix': labelAlignmentFix }\">\n {{ label }}\n\n <span v-if=\"indicator !== undefined && indicator !== null\" class=\"c-btn-indicator\">\n {{ indicator }}\n </span>\n </span>\n\n <i v-if=\"icon && iconPosition === 'right'\" :class=\"icon\"></i>\n </button>\n</template>\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"admins-components61.js","names":[],"sources":["../src/components/data-table/DataTable.vue"],"sourcesContent":["<script lang=\"ts\">\nexport type {\n LayoutMode,\n DataListConfig,\n DataListSettings,\n DataTableSettings,\n DataCardsSettings,\n Column,\n Sort,\n Action,\n ActionGroup,\n FilterConfig,\n FilterValue,\n} from '@/types/data-list'\n\nexport {\n dataTableSettingsDefaults,\n dataCardsSettingsDefaults,\n dataListSettingsDefaults,\n} from '@/types/data-list'\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, ref } from 'vue'\nimport Button from '@/components/Button.vue'\nimport { useSelection } from '@/composables/useSelection'\nimport { dataTableSettingsDefaults } from '@/types/data-list'\nimport type { DataListConfig, DataTableSettings } from '@/types/data-list'\nimport Loader from '@/components/Loader.vue'\nimport DataCell from './DataCell.vue'\nimport DropdownMenu from '../DropdownMenu.vue'\nimport { buildActionGroupMenuItems, isActionGroup } from '@/utils/dataList'\n\ntype SortDirection = 'asc' | 'desc'\n\nconst props = withDefaults(\n defineProps<{\n config: DataListConfig\n items: Record<string, unknown>[]\n settings?: DataTableSettings\n loading?: boolean\n }>(),\n {\n settings: () => ({ ...dataTableSettingsDefaults }),\n loading: false,\n },\n)\n\nconst emit = defineEmits<{\n 'selection-change': [selected: unknown[]]\n 'sort-change': [sort: { key: string; direction: SortDirection }]\n}>()\n\n//const CHARACTER_BREAKPOINT = 20\n\nconst activeSort = ref<{\n key: string\n direction: SortDirection\n} | null>(null)\n\nconst {\n selectedKeys,\n allSelected,\n toggle: toggleRow,\n toggleAll,\n} = useSelection(\n () => props.items,\n () => props.config.selectableAttr,\n (s) => emit('selection-change', s),\n)\n\nconst visibleColumns = computed(() => props.config.columns.filter((c) => c.visible !== false))\n\nfunction handleSort(key: string) {\n const direction: SortDirection =\n activeSort.value?.key === key && activeSort.value.direction === 'asc' ? 'desc' : 'asc'\n\n activeSort.value = { key, direction }\n\n emit('sort-change', { key, direction })\n}\n</script>\n\n<template>\n <div class=\"c-table-wrapper ac-component\">\n <table\n class=\"c-table\"\n :class=\"{ 'is-compact': settings.compact, 'is-loading': loading }\"\n :style=\"{ '--action-count': config.actions?.length ?? 0 }\"\n >\n <thead>\n <tr>\n <th v-if=\"config.selectableAttr\">\n <span\n class=\"c-checkbox\"\n :class=\"{ 'c-checkbox--checked': allSelected }\"\n @click=\"toggleAll\"\n ></span>\n </th>\n\n <th\n v-for=\"col in visibleColumns\"\n :key=\"col.property\"\n :class=\"{\n 'c-sortable': col.sort,\n 'c-sortable--sorted': activeSort?.key === col.property,\n }\"\n @click=\"col.sort ? handleSort(col.property) : undefined\"\n >\n {{ col.label }}\n\n <span\n v-if=\"col.sort\"\n class=\"c-sort-icon fa-solid\"\n :class=\"{\n 'fa-sort': activeSort?.key !== col.property,\n 'fa-sort-down': activeSort?.key === col.property && activeSort.direction === 'desc',\n 'fa-sort-up': activeSort?.key === col.property && activeSort.direction === 'asc',\n 'c-sort-icon--active': activeSort?.key === col.property,\n 'is-asc': activeSort?.key === col.property && activeSort.direction === 'asc',\n 'is-desc': activeSort?.key === col.property && activeSort.direction === 'desc',\n }\"\n ></span>\n </th>\n\n <th v-if=\"config.actions\" class=\"c-actions-header\">\n {{ config.actionHeader ?? '' }}\n </th>\n </tr>\n </thead>\n\n <tbody v-if=\"!loading || items.length > 0\">\n <tr\n v-for=\"(item, index) in items\"\n :key=\"index\"\n :class=\"{\n 'is-selected': config.selectableAttr && selectedKeys.has(item[config.selectableAttr]),\n 'is-striped': settings.striped && index % 2 === 1,\n }\"\n >\n <td v-if=\"config.selectableAttr\" class=\"pointer\" @click.stop=\"toggleRow(item)\">\n <span\n class=\"c-checkbox\"\n :class=\"{ 'c-checkbox--checked': selectedKeys.has(item[config.selectableAttr]) }\"\n ></span>\n </td>\n\n <td\n v-for=\"col in visibleColumns\"\n :key=\"col.property\"\n class=\"c-table__cell\"\n :class=\"[\n col.class,\n /* { 'is-nowrap': String(getColumnValue(item, col) ?? '').length < CHARACTER_BREAKPOINT}, */\n ]\"\n >\n <DataCell :item=\"item\" :col=\"col\" />\n </td>\n\n <td v-if=\"config.actions\" class=\"c-actions-cell\">\n <div class=\"c-actions-wrap\">\n <template v-for=\"(action, ai) in config.actions\" :key=\"ai\">\n <DropdownMenu\n v-if=\"isActionGroup(action)\"\n :icon=\"action.icon\"\n :label=\"action.label\"\n :items=\"buildActionGroupMenuItems(action, item)\"\n v-bind=\"action.config\"\n />\n\n <Button\n v-else\n :icon=\"action.icon\"\n :label=\"action.label\"\n :type=\"action.type\"\n :disabled=\"action.disabled ? action.disabled(item) : false\"\n :size=\"action.label ? 'small' : 'normal'\"\n :ariaLabel=\"action.ariaLabel\"\n outline\n :callback=\"() => action.callback(item)\"\n v-bind=\"action.config\"\n />\n </template>\n </div>\n </td>\n </tr>\n </tbody>\n <tbody v-else>\n <tr class=\"c-table__loading-row\">\n <td\n :colspan=\"\n visibleColumns.length + (config.selectableAttr ? 1 : 0) + (config.actions ? 1 : 0)\n \"\n class=\"c-table__loading-cell\"\n >\n <div class=\"c-table__loading-wrap\">\n <Loader :loading=\"true\" size=\"2.5rem\" />\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n <div v-if=\"loading && items.length > 0\" class=\"c-table__backdrop\" aria-hidden=\"true\">\n <Loader :loading=\"true\" size=\"2.5rem\" />\n </div>\n </div>\n</template>\n\n<style lang=\"scss\" src=\"@/styles/components/data-table/data-table.scss\"></style>\n"],"mappings":""}
1
+ {"version":3,"file":"admins-components61.js","names":[],"sources":["../src/components/data-table/DataTable.vue"],"sourcesContent":["<script lang=\"ts\">\nexport type {\n LayoutMode,\n DataListConfig,\n DataListSettings,\n DataTableSettings,\n DataCardsSettings,\n Column,\n Sort,\n Action,\n ActionGroup,\n FilterConfig,\n FilterValue,\n} from '@/types/data-list'\n\nexport {\n dataTableSettingsDefaults,\n dataCardsSettingsDefaults,\n dataListSettingsDefaults,\n} from '@/types/data-list'\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, ref } from 'vue'\nimport Button from '@/components/Button.vue'\nimport Checkbox from '@/components/Checkbox.vue'\nimport { useSelection } from '@/composables/useSelection'\nimport { dataTableSettingsDefaults } from '@/types/data-list'\nimport type { DataListConfig, DataTableSettings } from '@/types/data-list'\nimport Loader from '@/components/Loader.vue'\nimport DataCell from './DataCell.vue'\nimport DropdownMenu from '../DropdownMenu.vue'\nimport { buildActionGroupMenuItems, isActionGroup } from '@/utils/dataList'\n\ntype SortDirection = 'asc' | 'desc'\n\nconst props = withDefaults(\n defineProps<{\n config: DataListConfig\n items: Record<string, unknown>[]\n settings?: DataTableSettings\n loading?: boolean\n }>(),\n {\n settings: () => ({ ...dataTableSettingsDefaults }),\n loading: false,\n },\n)\n\nconst emit = defineEmits<{\n 'selection-change': [selected: unknown[]]\n 'sort-change': [sort: { key: string; direction: SortDirection }]\n}>()\n\n//const CHARACTER_BREAKPOINT = 20\n\nconst activeSort = ref<{\n key: string\n direction: SortDirection\n} | null>(null)\n\nconst {\n selectedKeys,\n allSelected,\n toggle: toggleRow,\n toggleAll,\n} = useSelection(\n () => props.items,\n () => props.config.selectableAttr,\n (s) => emit('selection-change', s),\n)\n\nconst visibleColumns = computed(() => props.config.columns.filter((c) => c.visible !== false))\n\nfunction handleSort(key: string) {\n const direction: SortDirection =\n activeSort.value?.key === key && activeSort.value.direction === 'asc' ? 'desc' : 'asc'\n\n activeSort.value = { key, direction }\n\n emit('sort-change', { key, direction })\n}\n</script>\n\n<template>\n <div class=\"ac-component\">\n <div class=\"c-table-wrapper\">\n <table\n class=\"c-table\"\n :class=\"{ 'is-compact': settings.compact, 'is-loading': loading }\"\n :style=\"{ '--action-count': config.actions?.length ?? 0 }\"\n >\n <thead>\n <tr>\n <th v-if=\"config.selectableAttr\">\n <Checkbox :model-value=\"allSelected\" @update:model-value=\"toggleAll\" />\n </th>\n\n <th\n v-for=\"col in visibleColumns\"\n :key=\"col.property\"\n :class=\"{\n 'c-sortable': col.sort,\n 'c-sortable--sorted': activeSort?.key === col.property,\n }\"\n @click=\"col.sort ? handleSort(col.property) : undefined\"\n >\n {{ col.label }}\n\n <span\n v-if=\"col.sort\"\n class=\"c-sort-icon fa-solid\"\n :class=\"{\n 'fa-sort': activeSort?.key !== col.property,\n 'fa-sort-down':\n activeSort?.key === col.property && activeSort.direction === 'desc',\n 'fa-sort-up': activeSort?.key === col.property && activeSort.direction === 'asc',\n 'c-sort-icon--active': activeSort?.key === col.property,\n 'is-asc': activeSort?.key === col.property && activeSort.direction === 'asc',\n 'is-desc': activeSort?.key === col.property && activeSort.direction === 'desc',\n }\"\n ></span>\n </th>\n\n <th v-if=\"config.actions\" class=\"c-actions-header\">\n {{ config.actionHeader ?? '' }}\n </th>\n </tr>\n </thead>\n\n <tbody v-if=\"!loading || items.length > 0\">\n <tr\n v-for=\"(item, index) in items\"\n :key=\"index\"\n :class=\"{\n 'is-selected': config.selectableAttr && selectedKeys.has(item[config.selectableAttr]),\n 'is-striped': settings.striped && index % 2 === 1,\n }\"\n >\n <td v-if=\"config.selectableAttr\" class=\"pointer\" @click.stop=\"toggleRow(item)\">\n <Checkbox\n :model-value=\"!!selectedKeys.has(item[config.selectableAttr])\"\n @update:model-value=\"toggleRow(item)\"\n @click.stop\n />\n </td>\n\n <td\n v-for=\"col in visibleColumns\"\n :key=\"col.property\"\n class=\"c-table__cell\"\n :class=\"[\n col.class,\n /* { 'is-nowrap': String(getColumnValue(item, col) ?? '').length < CHARACTER_BREAKPOINT}, */\n ]\"\n >\n <DataCell :item=\"item\" :col=\"col\" />\n </td>\n\n <td v-if=\"config.actions\" class=\"c-actions-cell\">\n <div class=\"c-actions-wrap\">\n <template v-for=\"(action, ai) in config.actions\" :key=\"ai\">\n <DropdownMenu\n v-if=\"isActionGroup(action)\"\n :icon=\"action.icon\"\n :label=\"action.label\"\n :items=\"buildActionGroupMenuItems(action, item)\"\n v-bind=\"action.config\"\n />\n\n <Button\n v-else\n :icon=\"action.icon\"\n :label=\"action.label\"\n :type=\"action.type\"\n :disabled=\"action.disabled ? action.disabled(item) : false\"\n :size=\"action.label ? 'small' : 'normal'\"\n :ariaLabel=\"action.ariaLabel\"\n outline\n :callback=\"() => action.callback(item)\"\n v-bind=\"action.config\"\n />\n </template>\n </div>\n </td>\n </tr>\n </tbody>\n <tbody v-else>\n <tr class=\"c-table__loading-row\">\n <td\n :colspan=\"\n visibleColumns.length + (config.selectableAttr ? 1 : 0) + (config.actions ? 1 : 0)\n \"\n class=\"c-table__loading-cell\"\n >\n <div class=\"c-table__loading-wrap\">\n <Loader :loading=\"true\" size=\"2.5rem\" />\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n <div v-if=\"loading && items.length > 0\" class=\"c-table__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-table.scss\"></style>\n"],"mappings":""}
@@ -1,41 +1,42 @@
1
1
  import e from "./admins-components6.js";
2
- import t from "./admins-components24.js";
3
- import n from "./admins-components38.js";
4
- import r from "./admins-components48.js";
5
- import { useSelection as i } from "./admins-components53.js";
6
- import { dataCardsSettingsDefaults as a } from "./admins-components54.js";
7
- import { buildActionGroupMenuItems as o, getColumnValue as s, isActionGroup as c } from "./admins-components55.js";
8
- import l from "./admins-components58.js";
9
- import { Fragment as u, computed as d, createBlock as f, createCommentVNode as p, createElementBlock as m, createElementVNode as h, createVNode as g, defineComponent as _, mergeProps as v, normalizeClass as y, openBlock as b, ref as x, renderList as S, toDisplayString as C, unref as w, vShow as T, watch as E, withDirectives as D, withModifiers as O } from "vue";
2
+ import t from "./admins-components16.js";
3
+ import n from "./admins-components24.js";
4
+ import r from "./admins-components38.js";
5
+ import i from "./admins-components48.js";
6
+ import { useSelection as a } from "./admins-components53.js";
7
+ import { dataCardsSettingsDefaults as o } from "./admins-components54.js";
8
+ import { buildActionGroupMenuItems as s, getColumnValue as c, isActionGroup as l } from "./admins-components55.js";
9
+ import u from "./admins-components58.js";
10
+ import { Fragment as d, computed as f, createBlock as p, createCommentVNode as m, createElementBlock as h, createElementVNode as g, createVNode as _, defineComponent as v, mergeProps as y, normalizeClass as b, openBlock as x, ref as S, renderList 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 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 = { class: "c-card__body" }, L = { class: "c-card__field-label" }, R = {
12
13
  key: 1,
13
14
  class: "c-cards__loading-wrap"
14
- }, L = {
15
+ }, z = {
15
16
  key: 2,
16
17
  class: "c-cards__backdrop",
17
18
  "aria-hidden": "true"
18
- }, R = /* @__PURE__ */ _({
19
+ }, B = /* @__PURE__ */ v({
19
20
  __name: "DataCards",
20
21
  props: {
21
22
  config: {},
22
23
  items: {},
23
- settings: { default: () => ({ ...a }) },
24
+ settings: { default: () => ({ ...o }) },
24
25
  loading: {
25
26
  type: Boolean,
26
27
  default: !1
27
28
  }
28
29
  },
29
30
  emits: ["selection-change"],
30
- setup(a, { emit: _ }) {
31
- let R = a, z = _, { selectedKeys: B, toggle: V } = i(() => R.items, () => R.config.selectableAttr, (e) => z("selection-change", e)), H = x(/* @__PURE__ */ new Set());
32
- E(() => R.items, () => {
33
- H.value = /* @__PURE__ */ new Set();
31
+ setup(o, { emit: v }) {
32
+ let B = o, V = v, { selectedKeys: H, toggle: U } = a(() => B.items, () => B.config.selectableAttr, (e) => V("selection-change", e)), W = S(/* @__PURE__ */ new Set());
33
+ D(() => B.items, () => {
34
+ W.value = /* @__PURE__ */ new Set();
34
35
  });
35
- let U = d(() => R.config.columns.filter((e) => e.visible !== !1)), W = d(() => {
36
- let e = R.settings;
36
+ let G = f(() => B.config.columns.filter((e) => e.visible !== !1)), K = f(() => {
37
+ let e = B.settings;
37
38
  if (e?.cardHeaderColumns) {
38
- let t = U.value.filter((t) => e.cardHeaderColumns[t.property]);
39
+ let t = G.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,120 +48,124 @@ var k = ["onClick", "onPointerdown"], A = ["onClick"], j = { class: "c-card__hea
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 = G.value.filter((e) => e.primary);
52
+ return t.length > 0 ? t : G.value.slice(0, 1);
53
+ }), q = null, J = !1;
54
+ function Y(e, t) {
55
+ B.config.selectableAttr && e.button === 0 && (J = !1, q = setTimeout(() => {
56
+ J = !0, U(t);
56
57
  }, 500));
57
58
  }
58
- function J() {
59
- G &&= (clearTimeout(G), null);
59
+ function X() {
60
+ q &&= (clearTimeout(q), null);
60
61
  }
61
- function Y(e) {
62
- K && e.preventDefault();
62
+ function Z(e) {
63
+ J && e.preventDefault();
63
64
  }
64
- function X(e) {
65
- if (K) {
66
- K = !1;
65
+ function Q(e) {
66
+ if (J) {
67
+ J = !1;
67
68
  return;
68
69
  }
69
- Z(e);
70
+ $(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 $(e) {
73
+ W.value.has(e) ? W.value.delete(e) : W.value.add(e), W.value = new Set(W.value);
73
74
  }
74
- return (i, d) => (b(), m("div", { class: y(["ac-component", { "is-loading": a.loading }]) }, [!a.loading || a.items.length > 0 ? (b(), m("div", {
75
+ return (a, f) => (x(), h("div", A, [g("div", { class: b(["c-cards-wrapper", { "is-loading": o.loading }]) }, [!o.loading || o.items.length > 0 ? (x(), h("div", {
75
76
  key: 0,
76
- class: y(["c-cards", { "is-compact": a.settings.compact }])
77
- }, [(b(!0), m(u, null, S(a.items, (r, i) => (b(), m("div", {
78
- key: i,
79
- class: y(["c-card", {
80
- "is-open": H.value.has(i),
81
- "is-selected": a.config.selectableAttr && w(B).has(r[a.config.selectableAttr])
77
+ class: b(["c-cards", { "is-compact": o.settings.compact }])
78
+ }, [(x(!0), h(d, null, C(o.items, (i, a) => (x(), h("div", {
79
+ key: a,
80
+ class: b(["c-card", {
81
+ "is-open": W.value.has(a),
82
+ "is-selected": o.config.selectableAttr && T(H).has(i[o.config.selectableAttr])
82
83
  }])
83
- }, [h("button", {
84
+ }, [g("button", {
84
85
  type: "button",
85
86
  class: "c-card__header",
86
- onClick: (e) => X(i),
87
- onPointerdown: (e) => q(e, r),
88
- onPointerup: d[0] ||= (e) => J(),
89
- onPointerleave: d[1] ||= (e) => J(),
90
- onContextmenu: Y
87
+ onClick: (e) => Q(a),
88
+ onPointerdown: (e) => Y(e, i),
89
+ onPointerup: f[1] ||= (e) => X(),
90
+ onPointerleave: f[2] ||= (e) => X(),
91
+ onContextmenu: Z
91
92
  }, [
92
- a.config.selectableAttr ? (b(), m("span", {
93
+ o.config.selectableAttr ? (x(), h("span", {
93
94
  key: 0,
94
95
  class: "c-card__check-zone",
95
- onClick: O((e) => w(V)(r), ["stop"])
96
- }, [h("span", { class: y(["c-card__check", { "is-checked": w(B).has(r[a.config.selectableAttr]) }]) }, [...d[3] ||= [h("i", { class: "fa-solid fa-check" }, null, -1)]], 2)], 8, A)) : p("", !0),
97
- h("span", j, [(b(!0), m(u, null, S(W.value, (e, t) => (b(), m("span", {
96
+ onClick: k((e) => T(U)(i), ["stop"])
97
+ }, [_(t, {
98
+ "model-value": !!T(H).has(i[o.config.selectableAttr]),
99
+ "onUpdate:modelValue": (e) => T(U)(i),
100
+ onClick: f[0] ||= k(() => {}, ["stop"])
101
+ }, null, 8, ["model-value", "onUpdate:modelValue"])], 8, M)) : m("", !0),
102
+ g("span", N, [(x(!0), h(d, null, C(K.value, (e, t) => (x(), h("span", {
98
103
  key: e.property,
99
104
  class: "c-card__heading-item"
100
- }, [h("span", M, C(e.label), 1), h("span", {
101
- class: y(["c-card__title", { "c-truncate": a.settings.compact && t === 0 }]),
102
- innerHTML: w(s)(r, e)
103
- }, null, 10, N)]))), 128))]),
104
- d[4] ||= h("span", {
105
+ }, [g("span", P, w(e.label), 1), g("span", {
106
+ class: b(["c-card__title", { "c-truncate": o.settings.compact && t === 0 }]),
107
+ innerHTML: T(c)(i, e)
108
+ }, null, 10, F)]))), 128))]),
109
+ f[4] ||= g("span", {
105
110
  class: "c-card__icon",
106
111
  "aria-hidden": "true"
107
- }, [h("i", { class: "fa-solid fa-chevron-down" })], -1)
108
- ], 40, k), D(h("div", P, [(b(!0), m(u, null, S(U.value, (e) => (b(), m("div", {
112
+ }, [g("i", { class: "fa-solid fa-chevron-down" })], -1)
113
+ ], 40, j), O(g("div", I, [(x(!0), h(d, null, C(G.value, (e) => (x(), h("div", {
109
114
  key: e.property,
110
115
  class: "c-card__field",
111
116
  tabindex: "0"
112
117
  }, [
113
- h("span", F, C(e.label), 1),
114
- g(l, {
115
- item: r,
118
+ g("span", L, w(e.label), 1),
119
+ _(u, {
120
+ item: i,
116
121
  col: e,
117
122
  class: "c-card__field-value",
118
123
  copy: !1
119
124
  }, null, 8, ["item", "col"]),
120
- w(s)(r, e) ? (b(), f(n, {
125
+ T(c)(i, e) ? (x(), p(r, {
121
126
  key: 0,
122
127
  class: "c-card__field-copy click-expand",
123
- value: w(s)(r, e)
124
- }, null, 8, ["value"])) : p("", !0)
125
- ]))), 128)), a.config.actions ? (b(), m("div", {
128
+ value: T(c)(i, e)
129
+ }, null, 8, ["value"])) : m("", !0)
130
+ ]))), 128)), o.config.actions ? (x(), h("div", {
126
131
  key: 0,
127
132
  class: "c-card__actions",
128
- onClick: d[2] ||= O(() => {}, ["stop"])
129
- }, [(b(!0), m(u, null, S(a.config.actions, (n, i) => (b(), m(u, { key: i }, [w(c)(n) ? (b(), f(t, v({
133
+ onClick: f[3] ||= k(() => {}, ["stop"])
134
+ }, [(x(!0), h(d, null, C(o.config.actions, (t, r) => (x(), h(d, { key: r }, [T(l)(t) ? (x(), p(n, y({
130
135
  key: 0,
131
- icon: n.icon,
132
- label: n.label,
133
- ariaLabel: n.ariaLabel,
134
- items: w(o)(n, r)
135
- }, { ref_for: !0 }, n.config), null, 16, [
136
+ icon: t.icon,
137
+ label: t.label,
138
+ ariaLabel: t.ariaLabel,
139
+ items: T(s)(t, i)
140
+ }, { ref_for: !0 }, t.config), null, 16, [
136
141
  "icon",
137
142
  "label",
138
143
  "ariaLabel",
139
144
  "items"
140
- ])) : (b(), f(e, v({
145
+ ])) : (x(), p(e, y({
141
146
  key: 1,
142
- type: n.type,
143
- icon: n.icon,
144
- label: n.cardLabel ?? n.label,
145
- ariaLabel: n.ariaLabel,
147
+ type: t.type,
148
+ icon: t.icon,
149
+ label: t.cardLabel ?? t.label,
150
+ ariaLabel: t.ariaLabel,
146
151
  outline: "",
147
- disabled: n.disabled ? n.disabled(r) : !1,
148
- callback: () => n.callback(r)
149
- }, { ref_for: !0 }, n.config), null, 16, [
152
+ disabled: t.disabled ? t.disabled(i) : !1,
153
+ callback: () => t.callback(i)
154
+ }, { ref_for: !0 }, t.config), null, 16, [
150
155
  "type",
151
156
  "icon",
152
157
  "label",
153
158
  "ariaLabel",
154
159
  "disabled",
155
160
  "callback"
156
- ]))], 64))), 128))])) : p("", !0)], 512), [[T, H.value.has(i)]])], 2))), 128))], 2)) : (b(), m("div", I, [g(r, {
161
+ ]))], 64))), 128))])) : m("", !0)], 512), [[E, W.value.has(a)]])], 2))), 128))], 2)) : (x(), h("div", R, [_(i, {
157
162
  loading: !0,
158
163
  size: "2.5rem"
159
- })])), a.loading && a.items.length > 0 ? (b(), m("div", L, [g(r, {
164
+ })])), o.loading && o.items.length > 0 ? (x(), h("div", z, [_(i, {
160
165
  loading: !0,
161
166
  size: "2.5rem"
162
- })])) : p("", !0)], 2));
167
+ })])) : m("", !0)], 2)]));
163
168
  }
164
169
  });
165
170
  //#endregion
166
- export { R as default };
171
+ export { B as default };