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
@@ -3,55 +3,55 @@ import n from "./admins-components6.js";
3
3
  import { calendarConfigDefaults as r } from "./admins-components7.js";
4
4
  import { Fragment as i, computed as a, createBlock as o, createCommentVNode as s, createElementBlock as c, createElementVNode as l, createTextVNode as ee, defineComponent as u, nextTick as d, normalizeClass as f, openBlock as p, ref as m, renderList as h, resolveDirective as te, toDisplayString as g, unref as _, useTemplateRef as v, watch as ne, withDirectives as re } from "vue";
5
5
  //#region src/components/Calendar.vue?vue&type=script&setup=true&lang.ts
6
- var ie = { class: "dp-calendar ac-component" }, ae = { class: "dp-header" }, oe = ["aria-label"], se = { class: "dp-header-labels" }, y = ["aria-label", "aria-hidden"], ce = ["onClick"], le = {
6
+ var ie = { class: "ac-component" }, ae = { class: "dp-calendar" }, oe = { class: "dp-header" }, se = ["aria-label"], y = { class: "dp-header-labels" }, ce = ["aria-label", "aria-hidden"], le = ["onClick"], ue = {
7
7
  key: 1,
8
8
  class: "dp-picker-grid dp-month-picker dp-picker-grid--3col"
9
- }, ue = ["onClick"], b = {
9
+ }, b = ["onClick"], de = {
10
10
  key: 0,
11
11
  class: "dp-weekday dp-weekday--week"
12
- }, de = ["disabled", "onClick"], fe = {
12
+ }, fe = ["disabled", "onClick"], pe = {
13
13
  key: 0,
14
14
  class: "c-footer"
15
- }, pe = { class: "dp-time-inputs" }, me = ["value", "disabled"], he = ["value", "disabled"], x = /* @__PURE__ */ u({
15
+ }, me = { class: "dp-time-inputs" }, x = ["value", "disabled"], he = ["value", "disabled"], S = /* @__PURE__ */ u({
16
16
  __name: "Calendar",
17
17
  props: {
18
18
  modelValue: {},
19
19
  config: { default: () => ({ ...r }) }
20
20
  },
21
21
  emits: ["update:modelValue", "confirm"],
22
- setup(u, { emit: x }) {
23
- let S = u, C = x, w = a(() => ({
22
+ setup(u, { emit: S }) {
23
+ let C = u, w = S, T = a(() => ({
24
24
  ...r,
25
- ...S.config
26
- })), T = a(() => w.value.format ?? (w.value.showTime ? "YYYY-MM-DD HH:mm" : "YYYY-MM-DD"));
27
- function E(e) {
28
- return e ? t(e, T.value) : null;
29
- }
30
- let D = E(S.modelValue), O = m(D?.getMonth() ?? (/* @__PURE__ */ new Date()).getMonth()), k = m(D?.getFullYear() ?? (/* @__PURE__ */ new Date()).getFullYear()), A = m(D), j = m(D?.getHours() ?? 0), M = m(D?.getMinutes() ?? 0), N = m(null);
31
- ne(() => S.modelValue, (e) => {
32
- let t = E(e ?? null);
33
- t ? (A.value = t, O.value = t.getMonth(), k.value = t.getFullYear(), j.value = t.getHours(), M.value = t.getMinutes()) : A.value = null;
25
+ ...C.config
26
+ })), E = a(() => T.value.format ?? (T.value.showTime ? "YYYY-MM-DD HH:mm" : "YYYY-MM-DD"));
27
+ function D(e) {
28
+ return e ? t(e, E.value) : null;
29
+ }
30
+ let O = D(C.modelValue), k = m(O?.getMonth() ?? (/* @__PURE__ */ new Date()).getMonth()), A = m(O?.getFullYear() ?? (/* @__PURE__ */ new Date()).getFullYear()), j = m(O), M = m(O?.getHours() ?? 0), N = m(O?.getMinutes() ?? 0), P = m(null);
31
+ ne(() => C.modelValue, (e) => {
32
+ let t = D(e ?? null);
33
+ t ? (j.value = t, k.value = t.getMonth(), A.value = t.getFullYear(), M.value = t.getHours(), N.value = t.getMinutes()) : j.value = null;
34
34
  });
35
- let P = a(() => Array.from({ length: 7 }, (e, t) => new Date(2024, 0, t + 1).toLocaleDateString(w.value.locale, { weekday: "narrow" }))), F = a(() => new Date(k.value, O.value).toLocaleDateString(w.value.locale, { month: "long" })), I = a(() => Array.from({ length: 12 }, (e, t) => new Date(2024, t).toLocaleDateString(w.value.locale, { month: "long" }))), L = a(() => {
36
- let e = new Date(k.value, O.value, 1), t = new Date(k.value, O.value + 1, 0), n = (e.getDay() + 6) % 7, r = [];
35
+ let F = a(() => Array.from({ length: 7 }, (e, t) => new Date(2024, 0, t + 1).toLocaleDateString(T.value.locale, { weekday: "narrow" }))), I = a(() => new Date(A.value, k.value).toLocaleDateString(T.value.locale, { month: "long" })), L = a(() => Array.from({ length: 12 }, (e, t) => new Date(2024, t).toLocaleDateString(T.value.locale, { month: "long" }))), R = a(() => {
36
+ let e = new Date(A.value, k.value, 1), t = new Date(A.value, k.value + 1, 0), n = (e.getDay() + 6) % 7, r = [];
37
37
  for (let e = n - 1; e >= 0; e--) r.push({
38
- date: new Date(k.value, O.value, -e),
38
+ date: new Date(A.value, k.value, -e),
39
39
  currentMonth: !1,
40
- disabled: V(new Date(k.value, O.value, -e))
40
+ disabled: V(new Date(A.value, k.value, -e))
41
41
  });
42
42
  for (let e = 1; e <= t.getDate(); e++) r.push({
43
- date: new Date(k.value, O.value, e),
43
+ date: new Date(A.value, k.value, e),
44
44
  currentMonth: !0,
45
- disabled: V(new Date(k.value, O.value, e))
45
+ disabled: V(new Date(A.value, k.value, e))
46
46
  });
47
47
  for (let e = 1; r.length < 35; e++) r.push({
48
- date: new Date(k.value, O.value + 1, e),
48
+ date: new Date(A.value, k.value + 1, e),
49
49
  currentMonth: !1,
50
- disabled: V(new Date(k.value, O.value + 1, e))
50
+ disabled: V(new Date(A.value, k.value + 1, e))
51
51
  });
52
52
  return r;
53
53
  });
54
- function R(e) {
54
+ function ge(e) {
55
55
  let t = new Date(Date.UTC(e.getFullYear(), e.getMonth(), e.getDate())), n = (t.getUTCDay() + 6) % 7;
56
56
  t.setUTCDate(t.getUTCDate() - n + 3);
57
57
  let r = new Date(Date.UTC(t.getUTCFullYear(), 0, 4)), i = (t.getTime() - r.getTime()) / 864e5;
@@ -60,8 +60,8 @@ var ie = { class: "dp-calendar ac-component" }, ae = { class: "dp-header" }, oe
60
60
  let z = a(() => {
61
61
  let e = [];
62
62
  for (let t = 0; t < 6; t++) {
63
- let n = L.value[t * 7]?.date;
64
- e.push(n ? R(n) : 0);
63
+ let n = R.value[t * 7]?.date;
64
+ e.push(n ? ge(n) : 0);
65
65
  }
66
66
  return e;
67
67
  });
@@ -69,56 +69,56 @@ var ie = { class: "dp-calendar ac-component" }, ae = { class: "dp-header" }, oe
69
69
  return new Date(e.getFullYear(), e.getMonth(), e.getDate());
70
70
  }
71
71
  function V(e) {
72
- return w.value.minDate && e < B(w.value.minDate) || w.value.maxDate && e > B(w.value.maxDate) || !1;
72
+ return T.value.minDate && e < B(T.value.minDate) || T.value.maxDate && e > B(T.value.maxDate) || !1;
73
73
  }
74
- function ge(e) {
74
+ function _e(e) {
75
75
  return e.getDay() === 0 || e.getDay() === 6;
76
76
  }
77
77
  function H(e, t) {
78
78
  return !!t && e.getFullYear() === t.getFullYear() && e.getMonth() === t.getMonth() && e.getDate() === t.getDate();
79
79
  }
80
- function _e(e) {
80
+ function ve(e) {
81
81
  return H(e, /* @__PURE__ */ new Date());
82
82
  }
83
83
  function U(e) {
84
- let t = new Date(k.value, O.value + e, 1);
85
- k.value = t.getFullYear(), O.value = t.getMonth();
84
+ let t = new Date(A.value, k.value + e, 1);
85
+ A.value = t.getFullYear(), k.value = t.getMonth();
86
86
  }
87
87
  function W() {
88
- N.value = null;
89
- }
90
- function ve() {
91
- N.value ? W() : U(-1);
88
+ P.value = null;
92
89
  }
93
90
  function ye() {
94
- N.value ? W() : U(1);
91
+ P.value ? W() : U(-1);
95
92
  }
96
- let be = a(() => Array.from({ length: (/* @__PURE__ */ new Date()).getFullYear() + 3 - 2e3 + 1 }, (e, t) => 2e3 + t)), G = v("yearPickerRef");
93
+ function be() {
94
+ P.value ? W() : U(1);
95
+ }
96
+ let xe = a(() => Array.from({ length: (/* @__PURE__ */ new Date()).getFullYear() + 3 - 2e3 + 1 }, (e, t) => 2e3 + t)), G = v("yearPickerRef");
97
97
  function K(e) {
98
- N.value = N.value === e ? null : e, N.value === "year" && d(() => {
98
+ P.value = P.value === e ? null : e, P.value === "year" && d(() => {
99
99
  let e = G.value, t = e?.querySelector(".dp-picker-item--selected");
100
100
  t && e ? e.scrollTop = t.offsetTop - e.offsetHeight / 2 + t.offsetHeight / 2 : e && (e.scrollTop = e.scrollHeight);
101
101
  });
102
102
  }
103
- function xe(e) {
104
- k.value = e, N.value = null;
105
- }
106
103
  function Se(e) {
107
- O.value = e, N.value = null;
104
+ A.value = e, P.value = null;
108
105
  }
109
106
  function Ce(e) {
110
- e.disabled || (A.value = new Date(e.date), q(), w.value.showTime && d(() => Z.value?.focus()));
107
+ k.value = e, P.value = null;
108
+ }
109
+ function we(e) {
110
+ e.disabled || (j.value = new Date(e.date), q(), T.value.showTime && d(() => Z.value?.focus()));
111
111
  }
112
112
  function q() {
113
- if (!A.value) {
114
- C("update:modelValue", null);
113
+ if (!j.value) {
114
+ w("update:modelValue", null);
115
115
  return;
116
116
  }
117
- let t = new Date(A.value);
118
- w.value.showTime ? t.setHours(j.value, M.value, 0, 0) : t.setHours(0, 0, 0, 0), C("update:modelValue", e(t, T.value));
117
+ let t = new Date(j.value);
118
+ T.value.showTime ? t.setHours(M.value, N.value, 0, 0) : t.setHours(0, 0, 0, 0), w("update:modelValue", e(t, E.value));
119
119
  }
120
- function we() {
121
- A.value = null, j.value = 0, M.value = 0, C("update:modelValue", null);
120
+ function Te() {
121
+ j.value = null, M.value = 0, N.value = 0, w("update:modelValue", null);
122
122
  }
123
123
  function J(e, t) {
124
124
  return a({
@@ -128,80 +128,80 @@ var ie = { class: "dp-calendar ac-component" }, ae = { class: "dp-header" }, oe
128
128
  }
129
129
  });
130
130
  }
131
- let Y = J(23, j), X = J(59, M), Z = v("hoursInput"), Q = v("minutesInput");
131
+ let Y = J(23, M), X = J(59, N), Z = v("hoursInput"), Q = v("minutesInput");
132
132
  function $(e, t) {
133
133
  let n = t.target;
134
134
  e === "hours" ? (Y.value = n.value, n.value.length >= 2 && (Q.value?.focus(), Q.value?.select())) : (X.value = n.value, n.value.length >= 2 && n.blur()), q();
135
135
  }
136
136
  return (e, t) => {
137
137
  let r = te("tooltip");
138
- return p(), c("div", ie, [l("div", ae, [
138
+ return p(), c("div", ie, [l("div", ae, [l("div", oe, [
139
139
  l("button", {
140
140
  class: "dp-nav-btn",
141
141
  type: "button",
142
- "aria-label": N.value ? "Back to days" : "Previous",
143
- onClick: ve
144
- }, [...t[7] ||= [l("i", { class: "fa-solid fa-chevron-left" }, null, -1)]], 8, oe),
145
- l("div", se, [l("span", {
142
+ "aria-label": P.value ? "Back to days" : "Previous",
143
+ onClick: ye
144
+ }, [...t[7] ||= [l("i", { class: "fa-solid fa-chevron-left" }, null, -1)]], 8, se),
145
+ l("div", y, [l("span", {
146
146
  class: "dp-header-labels--item",
147
147
  onClick: t[0] ||= (e) => K("year")
148
- }, g(k.value), 1), l("span", {
148
+ }, g(A.value), 1), l("span", {
149
149
  class: "dp-header-labels--item",
150
150
  onClick: t[1] ||= (e) => K("month")
151
- }, g(F.value), 1)]),
151
+ }, g(I.value), 1)]),
152
152
  l("button", {
153
- class: f(["dp-nav-btn", { "dp-nav-btn--spacer": N.value !== null }]),
153
+ class: f(["dp-nav-btn", { "dp-nav-btn--spacer": P.value !== null }]),
154
154
  type: "button",
155
- "aria-label": N.value ? "Back to days" : "Next",
156
- "aria-hidden": N.value ? "true" : "false",
157
- onClick: ye
158
- }, [...t[8] ||= [l("i", { class: "fa-solid fa-chevron-right" }, null, -1)]], 10, y)
159
- ]), l("div", { class: f(["dp-body", { "dp-body--has-footer": w.value.showTime || w.value.showOkButton || w.value.showClearButton }]) }, [N.value === "year" ? (p(), c("div", {
155
+ "aria-label": P.value ? "Back to days" : "Next",
156
+ "aria-hidden": P.value ? "true" : "false",
157
+ onClick: be
158
+ }, [...t[8] ||= [l("i", { class: "fa-solid fa-chevron-right" }, null, -1)]], 10, ce)
159
+ ]), l("div", { class: f(["dp-body", { "dp-body--has-footer": T.value.showTime || T.value.showOkButton || T.value.showClearButton }]) }, [P.value === "year" ? (p(), c("div", {
160
160
  key: 0,
161
161
  ref_key: "yearPickerRef",
162
162
  ref: G,
163
163
  class: "dp-picker-grid dp-picker-grid--4col dp-picker-grid--scrollable c-scroll"
164
- }, [(p(!0), c(i, null, h(be.value, (e) => (p(), c("button", {
164
+ }, [(p(!0), c(i, null, h(xe.value, (e) => (p(), c("button", {
165
165
  key: e,
166
166
  type: "button",
167
167
  class: f(["dp-picker-item", {
168
- "dp-picker-item--selected": e === k.value,
168
+ "dp-picker-item--selected": e === A.value,
169
169
  "dp-picker-item--today": e === (/* @__PURE__ */ new Date()).getFullYear()
170
170
  }]),
171
- onClick: (t) => xe(e)
172
- }, g(e), 11, ce))), 128))], 512)) : N.value === "month" ? (p(), c("div", le, [(p(!0), c(i, null, h(I.value, (e, t) => (p(), c("button", {
171
+ onClick: (t) => Se(e)
172
+ }, g(e), 11, le))), 128))], 512)) : P.value === "month" ? (p(), c("div", ue, [(p(!0), c(i, null, h(L.value, (e, t) => (p(), c("button", {
173
173
  key: t,
174
174
  type: "button",
175
175
  class: f(["dp-picker-item", {
176
- "dp-picker-item--selected": t === O.value,
177
- "dp-picker-item--today": t === (/* @__PURE__ */ new Date()).getMonth() && k.value === (/* @__PURE__ */ new Date()).getFullYear()
176
+ "dp-picker-item--selected": t === k.value,
177
+ "dp-picker-item--today": t === (/* @__PURE__ */ new Date()).getMonth() && A.value === (/* @__PURE__ */ new Date()).getFullYear()
178
178
  }]),
179
- onClick: (e) => Se(t)
180
- }, g(e), 11, ue))), 128))])) : (p(), c(i, { key: 2 }, [
181
- l("div", { class: f(["dp-weekdays", { "dp-weekdays--has-week": w.value.showWeekNumber }]) }, [w.value.showWeekNumber ? (p(), c("span", b)) : s("", !0), (p(!0), c(i, null, h(P.value, (e) => (p(), c("span", {
179
+ onClick: (e) => Ce(t)
180
+ }, g(e), 11, b))), 128))])) : (p(), c(i, { key: 2 }, [
181
+ l("div", { class: f(["dp-weekdays", { "dp-weekdays--has-week": T.value.showWeekNumber }]) }, [T.value.showWeekNumber ? (p(), c("span", de)) : s("", !0), (p(!0), c(i, null, h(F.value, (e) => (p(), c("span", {
182
182
  key: e,
183
183
  class: "dp-weekday"
184
184
  }, g(e), 1))), 128))], 2),
185
- l("div", { class: f(["dp-picker-grid", w.value.showWeekNumber ? "dp-picker-grid--8col" : "dp-picker-grid--7col"]) }, [(p(!0), c(i, null, h(L.value, (e, t) => (p(), c(i, { key: t }, [w.value.showWeekNumber && Number(t) % 7 == 0 ? re((p(), c("span", {
185
+ l("div", { class: f(["dp-picker-grid", T.value.showWeekNumber ? "dp-picker-grid--8col" : "dp-picker-grid--7col"]) }, [(p(!0), c(i, null, h(R.value, (e, t) => (p(), c(i, { key: t }, [T.value.showWeekNumber && Number(t) % 7 == 0 ? re((p(), c("span", {
186
186
  key: 0,
187
- class: f(["dp-week-number", { "dp-week-number--other": !e.currentMonth && !L.value[Number(t) + 7]?.currentMonth }])
187
+ class: f(["dp-week-number", { "dp-week-number--other": !e.currentMonth && !R.value[Number(t) + 7]?.currentMonth }])
188
188
  }, [ee(g(z.value[Math.floor(Number(t) / 7)]) + ". ", 1)], 2)), [[r, `${z.value[Math.floor(Number(t) / 7)]}. hét`]]) : s("", !0), l("button", {
189
189
  type: "button",
190
190
  class: f(["dp-picker-item dp-picker-item--circle", {
191
191
  "dp-picker-item--other": !e.currentMonth,
192
- "dp-picker-item--selected": H(e.date, A.value),
193
- "dp-picker-item--today": _e(e.date),
192
+ "dp-picker-item--selected": H(e.date, j.value),
193
+ "dp-picker-item--today": ve(e.date),
194
194
  "dp-picker-item--disabled": e.disabled,
195
- "dp-picker-item--weekend": w.value.highlightWeekends && ge(e.date)
195
+ "dp-picker-item--weekend": T.value.highlightWeekends && _e(e.date)
196
196
  }]),
197
197
  disabled: e.disabled,
198
- onClick: (t) => Ce(e)
199
- }, g(e.date.getDate()), 11, de)], 64))), 128))], 2),
200
- w.value.showTime || w.value.showOkButton || w.value.showClearButton ? (p(), c("div", fe, [
201
- w.value.showTime ? (p(), c(i, { key: 0 }, [t[10] ||= l("label", {
198
+ onClick: (t) => we(e)
199
+ }, g(e.date.getDate()), 11, fe)], 64))), 128))], 2),
200
+ T.value.showTime || T.value.showOkButton || T.value.showClearButton ? (p(), c("div", pe, [
201
+ T.value.showTime ? (p(), c(i, { key: 0 }, [t[10] ||= l("label", {
202
202
  class: "dp-time-label",
203
203
  for: "dp-hours"
204
- }, "Idő", -1), l("div", pe, [
204
+ }, "Idő", -1), l("div", me, [
205
205
  l("input", {
206
206
  id: "dp-hours",
207
207
  ref_key: "hoursInput",
@@ -209,12 +209,12 @@ var ie = { class: "dp-calendar ac-component" }, ae = { class: "dp-header" }, oe
209
209
  type: "number",
210
210
  class: "c-focus dp-time-input",
211
211
  value: _(Y),
212
- disabled: !A.value,
212
+ disabled: !j.value,
213
213
  min: "0",
214
214
  max: "23",
215
215
  onInput: t[2] ||= (e) => $("hours", e),
216
216
  onFocus: t[3] ||= (e) => e.target.select()
217
- }, null, 40, me),
217
+ }, null, 40, x),
218
218
  t[9] ||= l("span", { class: "dp-time-sep" }, ":", -1),
219
219
  l("input", {
220
220
  id: "dp-minutes",
@@ -223,31 +223,31 @@ var ie = { class: "dp-calendar ac-component" }, ae = { class: "dp-header" }, oe
223
223
  type: "number",
224
224
  class: "c-focus dp-time-input",
225
225
  value: _(X),
226
- disabled: !A.value,
226
+ disabled: !j.value,
227
227
  min: "0",
228
228
  max: "59",
229
229
  onInput: t[4] ||= (e) => $("minutes", e),
230
230
  onFocus: t[5] ||= (e) => e.target.select()
231
231
  }, null, 40, he)
232
232
  ])], 64)) : s("", !0),
233
- w.value.showClearButton ? (p(), o(n, {
233
+ T.value.showClearButton ? (p(), o(n, {
234
234
  key: 1,
235
235
  label: "Törlés",
236
- onClick: we,
236
+ onClick: Te,
237
237
  outline: "",
238
- disabled: !A.value
238
+ disabled: !j.value
239
239
  }, null, 8, ["disabled"])) : s("", !0),
240
- w.value.showOkButton ? (p(), o(n, {
240
+ T.value.showOkButton ? (p(), o(n, {
241
241
  key: 2,
242
242
  label: "OK",
243
243
  type: "success",
244
- onClick: t[6] ||= (e) => C("confirm", u.modelValue),
245
- disabled: !A.value
244
+ onClick: t[6] ||= (e) => w("confirm", u.modelValue),
245
+ disabled: !j.value
246
246
  }, null, 8, ["disabled"])) : s("", !0)
247
247
  ])) : s("", !0)
248
- ], 64))], 2)]);
248
+ ], 64))], 2)])]);
249
249
  };
250
250
  }
251
251
  });
252
252
  //#endregion
253
- export { x as default };
253
+ export { S as default };
@@ -1 +1 @@
1
- {"version":3,"file":"admins-components8.js","names":[],"sources":["../src/components/Calendar.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { calendarConfigDefaults, type CalendarConfig } from '@/types/datepickers'\n\nexport { calendarConfigDefaults }\nexport type { CalendarConfig }\n</script>\n\n<script setup lang=\"ts\">\nimport { ref, computed, watch, useTemplateRef, nextTick } from 'vue'\nimport { formatDate, parseDate } from '@/utils/date'\nimport Button from '@/components/Button.vue'\n\nconst props = withDefaults(defineProps<{ modelValue: string | null; config?: CalendarConfig }>(), {\n config: () => ({ ...calendarConfigDefaults }),\n})\n\nconst emit = defineEmits<{\n 'update:modelValue': [value: string | null]\n confirm: [value: string | null]\n}>()\n\nconst cfg = computed(() => ({ ...calendarConfigDefaults, ...props.config }))\n\nconst DAYS_PER_PAGE = 5 * 7\n\nconst outputFormat = computed(\n () => cfg.value.format ?? (cfg.value.showTime ? 'YYYY-MM-DD HH:mm' : 'YYYY-MM-DD'),\n)\n\nfunction parseModelValue(val: string | null): Date | null {\n return val ? parseDate(val, outputFormat.value) : null\n}\n\nconst initial = parseModelValue(props.modelValue)\nconst currentMonth = ref(initial?.getMonth() ?? new Date().getMonth())\nconst currentYear = ref(initial?.getFullYear() ?? new Date().getFullYear())\nconst selectedDate = ref<Date | null>(initial)\nconst hours = ref(initial?.getHours() ?? 0)\nconst minutes = ref(initial?.getMinutes() ?? 0)\nconst activePicker = ref<'year' | 'month' | null>(null)\n\nwatch(\n () => props.modelValue,\n (val) => {\n const parsed = parseModelValue(val ?? null)\n if (parsed) {\n selectedDate.value = parsed\n currentMonth.value = parsed.getMonth()\n currentYear.value = parsed.getFullYear()\n hours.value = parsed.getHours()\n minutes.value = parsed.getMinutes()\n } else {\n selectedDate.value = null\n }\n },\n)\n\n// Locale\nconst weekDays = computed(() =>\n Array.from({ length: 7 }, (_, i) =>\n new Date(2024, 0, i + 1).toLocaleDateString(cfg.value.locale, { weekday: 'narrow' }),\n ),\n)\nconst monthName = computed(() =>\n new Date(currentYear.value, currentMonth.value).toLocaleDateString(cfg.value.locale, {\n month: 'long',\n }),\n)\nconst monthNames = computed(() =>\n Array.from({ length: 12 }, (_, i) =>\n new Date(2024, i).toLocaleDateString(cfg.value.locale, { month: 'long' }),\n ),\n)\n\n// Days grid\nconst calendarDays = computed(() => {\n const first = new Date(currentYear.value, currentMonth.value, 1)\n const last = new Date(currentYear.value, currentMonth.value + 1, 0)\n const offset = (first.getDay() + 6) % 7\n const days: { date: Date; currentMonth: boolean; disabled: boolean }[] = []\n\n for (let i = offset - 1; i >= 0; i--)\n days.push({\n date: new Date(currentYear.value, currentMonth.value, -i),\n currentMonth: false,\n disabled: isDisabled(new Date(currentYear.value, currentMonth.value, -i)),\n })\n for (let i = 1; i <= last.getDate(); i++)\n days.push({\n date: new Date(currentYear.value, currentMonth.value, i),\n currentMonth: true,\n disabled: isDisabled(new Date(currentYear.value, currentMonth.value, i)),\n })\n for (let i = 1; days.length < DAYS_PER_PAGE; i++)\n days.push({\n date: new Date(currentYear.value, currentMonth.value + 1, i),\n currentMonth: false,\n disabled: isDisabled(new Date(currentYear.value, currentMonth.value + 1, i)),\n })\n\n return days\n})\n\n// ISO 8601 week number\nfunction getIsoWeekNumber(d: Date) {\n const target = new Date(Date.UTC(d.getFullYear(), d.getMonth(), d.getDate()))\n const dayNum = (target.getUTCDay() + 6) % 7\n target.setUTCDate(target.getUTCDate() - dayNum + 3)\n const firstThursday = new Date(Date.UTC(target.getUTCFullYear(), 0, 4))\n const diff = (target.getTime() - firstThursday.getTime()) / 86400000\n return 1 + Math.round((diff - 3 + ((firstThursday.getUTCDay() + 6) % 7)) / 7)\n}\n\nconst weekNumbers = computed(() => {\n const weeks: number[] = []\n for (let row = 0; row < 6; row++) {\n const firstDayOfRow = calendarDays.value[row * 7]?.date\n weeks.push(firstDayOfRow ? getIsoWeekNumber(firstDayOfRow) : 0)\n }\n return weeks\n})\n\n// Helpers\nfunction stripTime(d: Date) {\n return new Date(d.getFullYear(), d.getMonth(), d.getDate())\n}\nfunction isDisabled(d: Date) {\n return (\n (cfg.value.minDate && d < stripTime(cfg.value.minDate)) ||\n (cfg.value.maxDate && d > stripTime(cfg.value.maxDate)) ||\n false\n )\n}\nfunction isWeekend(d: Date) {\n return d.getDay() === 0 || d.getDay() === 6\n}\nfunction isSameDay(a: Date, b: Date | null) {\n return (\n !!b &&\n a.getFullYear() === b.getFullYear() &&\n a.getMonth() === b.getMonth() &&\n a.getDate() === b.getDate()\n )\n}\nfunction isToday(d: Date) {\n return isSameDay(d, new Date())\n}\n\n// Navigation\nfunction navigate(delta: number) {\n const d = new Date(currentYear.value, currentMonth.value + delta, 1)\n currentYear.value = d.getFullYear()\n currentMonth.value = d.getMonth()\n}\n\nfunction backToDayPicker() {\n activePicker.value = null\n}\n\nfunction onPrev() {\n if (activePicker.value) backToDayPicker()\n else navigate(-1)\n}\n\nfunction onNext() {\n if (activePicker.value) backToDayPicker()\n else navigate(1)\n}\n\n// Pickers\nconst yearList = computed(() =>\n Array.from({ length: new Date().getFullYear() + 3 - 2000 + 1 }, (_, i) => 2000 + i),\n)\nconst yearPickerRef = useTemplateRef<HTMLElement>('yearPickerRef')\n\nfunction togglePicker(picker: 'year' | 'month') {\n activePicker.value = activePicker.value === picker ? null : picker\n if (activePicker.value === 'year') {\n nextTick(() => {\n const container = yearPickerRef.value\n const el = container?.querySelector('.dp-picker-item--selected') as HTMLElement | null\n if (el && container) {\n container.scrollTop = el.offsetTop - container.offsetHeight / 2 + el.offsetHeight / 2\n } else if (container) {\n container.scrollTop = container.scrollHeight\n }\n })\n }\n}\n\nfunction selectYear(year: number) {\n currentYear.value = year\n activePicker.value = null\n}\nfunction selectMonth(month: number) {\n currentMonth.value = month\n activePicker.value = null\n}\n\n// Selection & emit\nfunction selectDay(day: { date: Date; disabled: boolean }) {\n if (day.disabled) return\n selectedDate.value = new Date(day.date)\n emitValue()\n if (cfg.value.showTime) {\n nextTick(() => hoursInput.value?.focus())\n }\n}\n\nfunction emitValue() {\n if (!selectedDate.value) {\n emit('update:modelValue', null)\n return\n }\n const result = new Date(selectedDate.value)\n if (cfg.value.showTime) result.setHours(hours.value, minutes.value, 0, 0)\n else result.setHours(0, 0, 0, 0)\n emit('update:modelValue', formatDate(result, outputFormat.value))\n}\n\nfunction onClear() {\n selectedDate.value = null\n hours.value = 0\n minutes.value = 0\n emit('update:modelValue', null)\n}\n\n// Time input\nfunction createTimeField(max: number, valueRef: { value: number }) {\n return computed({\n get: () => String(valueRef.value).padStart(2, '0'),\n set: (val: string) => {\n valueRef.value = Math.min(max, Math.max(0, parseInt(val) || 0))\n },\n })\n}\n\nconst formattedHours = createTimeField(23, hours)\nconst formattedMinutes = createTimeField(59, minutes)\nconst hoursInput = useTemplateRef<HTMLInputElement>('hoursInput')\nconst minutesInput = useTemplateRef<HTMLInputElement>('minutesInput')\n\nfunction onTimeInput(field: 'hours' | 'minutes', event: Event) {\n const el = event.target as HTMLInputElement\n if (field === 'hours') {\n formattedHours.value = el.value\n if (el.value.length >= 2) {\n minutesInput.value?.focus()\n minutesInput.value?.select()\n }\n } else {\n formattedMinutes.value = el.value\n if (el.value.length >= 2) el.blur()\n }\n emitValue()\n}\n</script>\n\n<template>\n <div class=\"dp-calendar ac-component\">\n <div class=\"dp-header\">\n <button\n class=\"dp-nav-btn\"\n type=\"button\"\n :aria-label=\"activePicker ? 'Back to days' : 'Previous'\"\n @click=\"onPrev\"\n >\n <i class=\"fa-solid fa-chevron-left\"></i>\n </button>\n <div class=\"dp-header-labels\">\n <span class=\"dp-header-labels--item\" @click=\"togglePicker('year')\">{{ currentYear }}</span>\n <span class=\"dp-header-labels--item\" @click=\"togglePicker('month')\">{{ monthName }}</span>\n </div>\n <button\n class=\"dp-nav-btn\"\n type=\"button\"\n :aria-label=\"activePicker ? 'Back to days' : 'Next'\"\n :class=\"{ 'dp-nav-btn--spacer': activePicker !== null }\"\n :aria-hidden=\"activePicker ? 'true' : 'false'\"\n @click=\"onNext\"\n >\n <i class=\"fa-solid fa-chevron-right\"></i>\n </button>\n </div>\n\n <div\n class=\"dp-body\"\n :class=\"{ 'dp-body--has-footer': cfg.showTime || cfg.showOkButton || cfg.showClearButton }\"\n >\n <!-- Year picker -->\n <div\n v-if=\"activePicker === 'year'\"\n ref=\"yearPickerRef\"\n class=\"dp-picker-grid dp-picker-grid--4col dp-picker-grid--scrollable c-scroll\"\n >\n <button\n v-for=\"y in yearList\"\n :key=\"y\"\n type=\"button\"\n class=\"dp-picker-item\"\n :class=\"{\n 'dp-picker-item--selected': y === currentYear,\n 'dp-picker-item--today': y === new Date().getFullYear(),\n }\"\n @click=\"selectYear(y)\"\n >\n {{ y }}\n </button>\n </div>\n\n <!-- Month picker -->\n <div\n v-else-if=\"activePicker === 'month'\"\n class=\"dp-picker-grid dp-month-picker dp-picker-grid--3col\"\n >\n <button\n v-for=\"(name, idx) in monthNames\"\n :key=\"idx\"\n type=\"button\"\n class=\"dp-picker-item\"\n :class=\"{\n 'dp-picker-item--selected': idx === currentMonth,\n 'dp-picker-item--today':\n idx === new Date().getMonth() && currentYear === new Date().getFullYear(),\n }\"\n @click=\"selectMonth(idx)\"\n >\n {{ name }}\n </button>\n </div>\n\n <!-- Day picker -->\n <template v-else>\n <div class=\"dp-weekdays\" :class=\"{ 'dp-weekdays--has-week': cfg.showWeekNumber }\">\n <span v-if=\"cfg.showWeekNumber\" class=\"dp-weekday dp-weekday--week\"></span>\n <span v-for=\"d in weekDays\" :key=\"d\" class=\"dp-weekday\">{{ d }}</span>\n </div>\n <div\n class=\"dp-picker-grid\"\n :class=\"cfg.showWeekNumber ? 'dp-picker-grid--8col' : 'dp-picker-grid--7col'\"\n >\n <template v-for=\"(day, i) in calendarDays\" :key=\"i\">\n <span\n v-if=\"cfg.showWeekNumber && Number(i) % 7 === 0\"\n class=\"dp-week-number\"\n :class=\"{\n 'dp-week-number--other': !day.currentMonth && !calendarDays[Number(i) + 7]?.currentMonth,\n }\"\n v-tooltip=\"`${weekNumbers[Math.floor(Number(i) / 7)]}. hét`\"\n >\n {{ weekNumbers[Math.floor(Number(i) / 7)] }}.\n </span>\n <button\n type=\"button\"\n class=\"dp-picker-item dp-picker-item--circle\"\n :class=\"{\n 'dp-picker-item--other': !day.currentMonth,\n 'dp-picker-item--selected': isSameDay(day.date, selectedDate),\n 'dp-picker-item--today': isToday(day.date),\n 'dp-picker-item--disabled': day.disabled,\n 'dp-picker-item--weekend': cfg.highlightWeekends && isWeekend(day.date),\n }\"\n :disabled=\"day.disabled\"\n @click=\"selectDay(day)\"\n >\n {{ day.date.getDate() }}\n </button>\n </template>\n </div>\n\n <div v-if=\"cfg.showTime || cfg.showOkButton || cfg.showClearButton\" class=\"c-footer\">\n <template v-if=\"cfg.showTime\">\n <label class=\"dp-time-label\" for=\"dp-hours\">Idő</label>\n <div class=\"dp-time-inputs\">\n <input\n id=\"dp-hours\"\n ref=\"hoursInput\"\n type=\"number\"\n class=\"c-focus dp-time-input\"\n :value=\"formattedHours\"\n :disabled=\"!selectedDate\"\n min=\"0\"\n max=\"23\"\n @input=\"onTimeInput('hours', $event)\"\n @focus=\"($event.target as HTMLInputElement).select()\"\n />\n <span class=\"dp-time-sep\">:</span>\n <input\n id=\"dp-minutes\"\n ref=\"minutesInput\"\n type=\"number\"\n class=\"c-focus dp-time-input\"\n :value=\"formattedMinutes\"\n :disabled=\"!selectedDate\"\n min=\"0\"\n max=\"59\"\n @input=\"onTimeInput('minutes', $event)\"\n @focus=\"($event.target as HTMLInputElement).select()\"\n />\n </div>\n </template>\n <Button\n v-if=\"cfg.showClearButton\"\n label=\"Törlés\"\n @click=\"onClear\"\n outline\n :disabled=\"!selectedDate\"\n />\n <Button\n v-if=\"cfg.showOkButton\"\n label=\"OK\"\n type=\"success\"\n @click=\"emit('confirm', modelValue)\"\n :disabled=\"!selectedDate\"\n />\n </div>\n </template>\n </div>\n </div>\n</template>\n\n<style lang=\"scss\" src=\"@/styles/components/calendar.scss\"></style>\n<style lang=\"scss\" src=\"@/styles/components/datepickers.scss\"></style>\n"],"mappings":"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"}
1
+ {"version":3,"file":"admins-components8.js","names":[],"sources":["../src/components/Calendar.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { calendarConfigDefaults, type CalendarConfig } from '@/types/datepickers'\n\nexport { calendarConfigDefaults }\nexport type { CalendarConfig }\n</script>\n\n<script setup lang=\"ts\">\nimport { ref, computed, watch, useTemplateRef, nextTick } from 'vue'\nimport { formatDate, parseDate } from '@/utils/date'\nimport Button from '@/components/Button.vue'\n\nconst props = withDefaults(defineProps<{ modelValue: string | null; config?: CalendarConfig }>(), {\n config: () => ({ ...calendarConfigDefaults }),\n})\n\nconst emit = defineEmits<{\n 'update:modelValue': [value: string | null]\n confirm: [value: string | null]\n}>()\n\nconst cfg = computed(() => ({ ...calendarConfigDefaults, ...props.config }))\n\nconst DAYS_PER_PAGE = 5 * 7\n\nconst outputFormat = computed(\n () => cfg.value.format ?? (cfg.value.showTime ? 'YYYY-MM-DD HH:mm' : 'YYYY-MM-DD'),\n)\n\nfunction parseModelValue(val: string | null): Date | null {\n return val ? parseDate(val, outputFormat.value) : null\n}\n\nconst initial = parseModelValue(props.modelValue)\nconst currentMonth = ref(initial?.getMonth() ?? new Date().getMonth())\nconst currentYear = ref(initial?.getFullYear() ?? new Date().getFullYear())\nconst selectedDate = ref<Date | null>(initial)\nconst hours = ref(initial?.getHours() ?? 0)\nconst minutes = ref(initial?.getMinutes() ?? 0)\nconst activePicker = ref<'year' | 'month' | null>(null)\n\nwatch(\n () => props.modelValue,\n (val) => {\n const parsed = parseModelValue(val ?? null)\n if (parsed) {\n selectedDate.value = parsed\n currentMonth.value = parsed.getMonth()\n currentYear.value = parsed.getFullYear()\n hours.value = parsed.getHours()\n minutes.value = parsed.getMinutes()\n } else {\n selectedDate.value = null\n }\n },\n)\n\n// Locale\nconst weekDays = computed(() =>\n Array.from({ length: 7 }, (_, i) =>\n new Date(2024, 0, i + 1).toLocaleDateString(cfg.value.locale, { weekday: 'narrow' }),\n ),\n)\nconst monthName = computed(() =>\n new Date(currentYear.value, currentMonth.value).toLocaleDateString(cfg.value.locale, {\n month: 'long',\n }),\n)\nconst monthNames = computed(() =>\n Array.from({ length: 12 }, (_, i) =>\n new Date(2024, i).toLocaleDateString(cfg.value.locale, { month: 'long' }),\n ),\n)\n\n// Days grid\nconst calendarDays = computed(() => {\n const first = new Date(currentYear.value, currentMonth.value, 1)\n const last = new Date(currentYear.value, currentMonth.value + 1, 0)\n const offset = (first.getDay() + 6) % 7\n const days: { date: Date; currentMonth: boolean; disabled: boolean }[] = []\n\n for (let i = offset - 1; i >= 0; i--)\n days.push({\n date: new Date(currentYear.value, currentMonth.value, -i),\n currentMonth: false,\n disabled: isDisabled(new Date(currentYear.value, currentMonth.value, -i)),\n })\n for (let i = 1; i <= last.getDate(); i++)\n days.push({\n date: new Date(currentYear.value, currentMonth.value, i),\n currentMonth: true,\n disabled: isDisabled(new Date(currentYear.value, currentMonth.value, i)),\n })\n for (let i = 1; days.length < DAYS_PER_PAGE; i++)\n days.push({\n date: new Date(currentYear.value, currentMonth.value + 1, i),\n currentMonth: false,\n disabled: isDisabled(new Date(currentYear.value, currentMonth.value + 1, i)),\n })\n\n return days\n})\n\n// ISO 8601 week number\nfunction getIsoWeekNumber(d: Date) {\n const target = new Date(Date.UTC(d.getFullYear(), d.getMonth(), d.getDate()))\n const dayNum = (target.getUTCDay() + 6) % 7\n target.setUTCDate(target.getUTCDate() - dayNum + 3)\n const firstThursday = new Date(Date.UTC(target.getUTCFullYear(), 0, 4))\n const diff = (target.getTime() - firstThursday.getTime()) / 86400000\n return 1 + Math.round((diff - 3 + ((firstThursday.getUTCDay() + 6) % 7)) / 7)\n}\n\nconst weekNumbers = computed(() => {\n const weeks: number[] = []\n for (let row = 0; row < 6; row++) {\n const firstDayOfRow = calendarDays.value[row * 7]?.date\n weeks.push(firstDayOfRow ? getIsoWeekNumber(firstDayOfRow) : 0)\n }\n return weeks\n})\n\n// Helpers\nfunction stripTime(d: Date) {\n return new Date(d.getFullYear(), d.getMonth(), d.getDate())\n}\nfunction isDisabled(d: Date) {\n return (\n (cfg.value.minDate && d < stripTime(cfg.value.minDate)) ||\n (cfg.value.maxDate && d > stripTime(cfg.value.maxDate)) ||\n false\n )\n}\nfunction isWeekend(d: Date) {\n return d.getDay() === 0 || d.getDay() === 6\n}\nfunction isSameDay(a: Date, b: Date | null) {\n return (\n !!b &&\n a.getFullYear() === b.getFullYear() &&\n a.getMonth() === b.getMonth() &&\n a.getDate() === b.getDate()\n )\n}\nfunction isToday(d: Date) {\n return isSameDay(d, new Date())\n}\n\n// Navigation\nfunction navigate(delta: number) {\n const d = new Date(currentYear.value, currentMonth.value + delta, 1)\n currentYear.value = d.getFullYear()\n currentMonth.value = d.getMonth()\n}\n\nfunction backToDayPicker() {\n activePicker.value = null\n}\n\nfunction onPrev() {\n if (activePicker.value) backToDayPicker()\n else navigate(-1)\n}\n\nfunction onNext() {\n if (activePicker.value) backToDayPicker()\n else navigate(1)\n}\n\n// Pickers\nconst yearList = computed(() =>\n Array.from({ length: new Date().getFullYear() + 3 - 2000 + 1 }, (_, i) => 2000 + i),\n)\nconst yearPickerRef = useTemplateRef<HTMLElement>('yearPickerRef')\n\nfunction togglePicker(picker: 'year' | 'month') {\n activePicker.value = activePicker.value === picker ? null : picker\n if (activePicker.value === 'year') {\n nextTick(() => {\n const container = yearPickerRef.value\n const el = container?.querySelector('.dp-picker-item--selected') as HTMLElement | null\n if (el && container) {\n container.scrollTop = el.offsetTop - container.offsetHeight / 2 + el.offsetHeight / 2\n } else if (container) {\n container.scrollTop = container.scrollHeight\n }\n })\n }\n}\n\nfunction selectYear(year: number) {\n currentYear.value = year\n activePicker.value = null\n}\nfunction selectMonth(month: number) {\n currentMonth.value = month\n activePicker.value = null\n}\n\n// Selection & emit\nfunction selectDay(day: { date: Date; disabled: boolean }) {\n if (day.disabled) return\n selectedDate.value = new Date(day.date)\n emitValue()\n if (cfg.value.showTime) {\n nextTick(() => hoursInput.value?.focus())\n }\n}\n\nfunction emitValue() {\n if (!selectedDate.value) {\n emit('update:modelValue', null)\n return\n }\n const result = new Date(selectedDate.value)\n if (cfg.value.showTime) result.setHours(hours.value, minutes.value, 0, 0)\n else result.setHours(0, 0, 0, 0)\n emit('update:modelValue', formatDate(result, outputFormat.value))\n}\n\nfunction onClear() {\n selectedDate.value = null\n hours.value = 0\n minutes.value = 0\n emit('update:modelValue', null)\n}\n\n// Time input\nfunction createTimeField(max: number, valueRef: { value: number }) {\n return computed({\n get: () => String(valueRef.value).padStart(2, '0'),\n set: (val: string) => {\n valueRef.value = Math.min(max, Math.max(0, parseInt(val) || 0))\n },\n })\n}\n\nconst formattedHours = createTimeField(23, hours)\nconst formattedMinutes = createTimeField(59, minutes)\nconst hoursInput = useTemplateRef<HTMLInputElement>('hoursInput')\nconst minutesInput = useTemplateRef<HTMLInputElement>('minutesInput')\n\nfunction onTimeInput(field: 'hours' | 'minutes', event: Event) {\n const el = event.target as HTMLInputElement\n if (field === 'hours') {\n formattedHours.value = el.value\n if (el.value.length >= 2) {\n minutesInput.value?.focus()\n minutesInput.value?.select()\n }\n } else {\n formattedMinutes.value = el.value\n if (el.value.length >= 2) el.blur()\n }\n emitValue()\n}\n</script>\n\n<template>\n <div class=\"ac-component\">\n <div class=\"dp-calendar\">\n <div class=\"dp-header\">\n <button\n class=\"dp-nav-btn\"\n type=\"button\"\n :aria-label=\"activePicker ? 'Back to days' : 'Previous'\"\n @click=\"onPrev\"\n >\n <i class=\"fa-solid fa-chevron-left\"></i>\n </button>\n <div class=\"dp-header-labels\">\n <span class=\"dp-header-labels--item\" @click=\"togglePicker('year')\">{{\n currentYear\n }}</span>\n <span class=\"dp-header-labels--item\" @click=\"togglePicker('month')\">{{ monthName }}</span>\n </div>\n <button\n class=\"dp-nav-btn\"\n type=\"button\"\n :aria-label=\"activePicker ? 'Back to days' : 'Next'\"\n :class=\"{ 'dp-nav-btn--spacer': activePicker !== null }\"\n :aria-hidden=\"activePicker ? 'true' : 'false'\"\n @click=\"onNext\"\n >\n <i class=\"fa-solid fa-chevron-right\"></i>\n </button>\n </div>\n\n <div\n class=\"dp-body\"\n :class=\"{ 'dp-body--has-footer': cfg.showTime || cfg.showOkButton || cfg.showClearButton }\"\n >\n <!-- Year picker -->\n <div\n v-if=\"activePicker === 'year'\"\n ref=\"yearPickerRef\"\n class=\"dp-picker-grid dp-picker-grid--4col dp-picker-grid--scrollable c-scroll\"\n >\n <button\n v-for=\"y in yearList\"\n :key=\"y\"\n type=\"button\"\n class=\"dp-picker-item\"\n :class=\"{\n 'dp-picker-item--selected': y === currentYear,\n 'dp-picker-item--today': y === new Date().getFullYear(),\n }\"\n @click=\"selectYear(y)\"\n >\n {{ y }}\n </button>\n </div>\n\n <!-- Month picker -->\n <div\n v-else-if=\"activePicker === 'month'\"\n class=\"dp-picker-grid dp-month-picker dp-picker-grid--3col\"\n >\n <button\n v-for=\"(name, idx) in monthNames\"\n :key=\"idx\"\n type=\"button\"\n class=\"dp-picker-item\"\n :class=\"{\n 'dp-picker-item--selected': idx === currentMonth,\n 'dp-picker-item--today':\n idx === new Date().getMonth() && currentYear === new Date().getFullYear(),\n }\"\n @click=\"selectMonth(idx)\"\n >\n {{ name }}\n </button>\n </div>\n\n <!-- Day picker -->\n <template v-else>\n <div class=\"dp-weekdays\" :class=\"{ 'dp-weekdays--has-week': cfg.showWeekNumber }\">\n <span v-if=\"cfg.showWeekNumber\" class=\"dp-weekday dp-weekday--week\"></span>\n <span v-for=\"d in weekDays\" :key=\"d\" class=\"dp-weekday\">{{ d }}</span>\n </div>\n <div\n class=\"dp-picker-grid\"\n :class=\"cfg.showWeekNumber ? 'dp-picker-grid--8col' : 'dp-picker-grid--7col'\"\n >\n <template v-for=\"(day, i) in calendarDays\" :key=\"i\">\n <span\n v-if=\"cfg.showWeekNumber && Number(i) % 7 === 0\"\n class=\"dp-week-number\"\n :class=\"{\n 'dp-week-number--other':\n !day.currentMonth && !calendarDays[Number(i) + 7]?.currentMonth,\n }\"\n v-tooltip=\"`${weekNumbers[Math.floor(Number(i) / 7)]}. hét`\"\n >\n {{ weekNumbers[Math.floor(Number(i) / 7)] }}.\n </span>\n <button\n type=\"button\"\n class=\"dp-picker-item dp-picker-item--circle\"\n :class=\"{\n 'dp-picker-item--other': !day.currentMonth,\n 'dp-picker-item--selected': isSameDay(day.date, selectedDate),\n 'dp-picker-item--today': isToday(day.date),\n 'dp-picker-item--disabled': day.disabled,\n 'dp-picker-item--weekend': cfg.highlightWeekends && isWeekend(day.date),\n }\"\n :disabled=\"day.disabled\"\n @click=\"selectDay(day)\"\n >\n {{ day.date.getDate() }}\n </button>\n </template>\n </div>\n\n <div v-if=\"cfg.showTime || cfg.showOkButton || cfg.showClearButton\" class=\"c-footer\">\n <template v-if=\"cfg.showTime\">\n <label class=\"dp-time-label\" for=\"dp-hours\">Idő</label>\n <div class=\"dp-time-inputs\">\n <input\n id=\"dp-hours\"\n ref=\"hoursInput\"\n type=\"number\"\n class=\"c-focus dp-time-input\"\n :value=\"formattedHours\"\n :disabled=\"!selectedDate\"\n min=\"0\"\n max=\"23\"\n @input=\"onTimeInput('hours', $event)\"\n @focus=\"($event.target as HTMLInputElement).select()\"\n />\n <span class=\"dp-time-sep\">:</span>\n <input\n id=\"dp-minutes\"\n ref=\"minutesInput\"\n type=\"number\"\n class=\"c-focus dp-time-input\"\n :value=\"formattedMinutes\"\n :disabled=\"!selectedDate\"\n min=\"0\"\n max=\"59\"\n @input=\"onTimeInput('minutes', $event)\"\n @focus=\"($event.target as HTMLInputElement).select()\"\n />\n </div>\n </template>\n <Button\n v-if=\"cfg.showClearButton\"\n label=\"Törlés\"\n @click=\"onClear\"\n outline\n :disabled=\"!selectedDate\"\n />\n <Button\n v-if=\"cfg.showOkButton\"\n label=\"OK\"\n type=\"success\"\n @click=\"emit('confirm', modelValue)\"\n :disabled=\"!selectedDate\"\n />\n </div>\n </template>\n </div>\n </div>\n </div>\n</template>\n\n<style lang=\"scss\" src=\"@/styles/components/calendar.scss\"></style>\n<style lang=\"scss\" src=\"@/styles/components/datepickers.scss\"></style>\n"],"mappings":"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"}
@@ -21,7 +21,7 @@ var d = { class: "filter-tags ac-component gap-1" }, f = ["onClick"], p = { clas
21
21
  key: 0,
22
22
  class: o(["filter-tags__tag c-chip", [a.itemClass, y(d)?.displayClass]])
23
23
  }, [i("span", {
24
- class: "filter-tags__content align-center-text-fix",
24
+ class: "filter-tags__content align-center-fix",
25
25
  onClick: (e) => v("openFilter", String(d))
26
26
  }, [i("span", p, l(b(String(d))) + ":", 1), i("span", {
27
27
  class: "filter-tags__value",
@@ -1 +1 @@
1
- {"version":3,"file":"admins-components81.js","names":[],"sources":["../src/components/data-table/FilterTags.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { FilterItem } from '@/components/data-table/DataFilters.vue'\nimport { displayFilterValue } from '@/utils/filterDisplay'\n\nconst props = defineProps<{\n filters: Record<string, any>\n items: FilterItem[]\n itemClass?: string\n}>()\nconst emit = defineEmits<{\n remove: [key: string]\n openFilter: [key: string]\n}>()\n\nfunction getFilterItem(key: string): FilterItem | undefined {\n return props.items.find((i) => i.key === key)\n}\n\nfunction getLabel(key: string): string {\n return getFilterItem(key)?.label ?? key\n}\n</script>\n\n<template>\n <div class=\"filter-tags ac-component gap-1\">\n <template v-for=\"(value, key) in filters\" :key=\"key\">\n <span\n v-if=\"value != null && value !== ''\"\n class=\"filter-tags__tag c-chip\"\n :class=\"[itemClass, getFilterItem(key)?.displayClass]\"\n >\n <span class=\"filter-tags__content align-center-text-fix\" @click=\"emit('openFilter', String(key))\">\n <span class=\"filter-tags__key\">{{ getLabel(String(key)) }}:</span>\n <span class=\"filter-tags__value\" :title=\"displayFilterValue(items, String(key), value)\">{{\n displayFilterValue(items, String(key), value)\n }}</span>\n </span>\n\n <button\n type=\"button\"\n class=\"filter-tags__remove\"\n @click=\"emit('remove', String(key))\"\n aria-label=\"Remove filter\"\n >\n <i class=\"fa-solid fa-fw fa-xmark\"></i>\n </button>\n </span>\n </template>\n </div>\n</template>\n\n<style lang=\"scss\" src=\"@/styles/components/data-table/filter-tags.scss\"></style>\n"],"mappings":";;;;;;;;;;;;EAIA,IAAM,IAAQ,GAKR,IAAO;EAKb,SAAS,EAAc,GAAqC;GAC1D,OAAO,EAAM,MAAM,MAAM,MAAM,EAAE,QAAQ,CAAG;EAC9C;EAEA,SAAS,EAAS,GAAqB;GACrC,OAAO,EAAc,CAAG,GAAG,SAAS;EACtC;yBAIE,EAwBM,OAxBN,GAwBM,EAAA,EAAA,EAAA,GAvBJ,EAsBW,GAAA,MAAA,EAtBsB,EAAA,UAAf,GAAO,mBAAuB,OAAG,GAAA,CAEzC,KAAK,QAAY,MAAK,MAAA,EAAA,GAD9B,EAoBO,QAAA;;GAlBL,OAAK,EAAA,CAAC,2BAAyB,CACtB,EAAA,WAAW,EAAc,CAAG,GAAG,YAAY,CAAA,CAAA;MAEpD,EAKO,QAAA;GALD,OAAM;GAA8C,UAAK,MAAE,EAAI,cAAe,OAAO,CAAG,CAAA;MAC5F,EAAkE,QAAlE,GAAkE,EAAhC,EAAS,OAAO,CAAG,CAAA,CAAA,IAAK,KAAC,CAAA,GAC3D,EAES,QAAA;GAFH,OAAM;GAAsB,OAAO,EAAA,CAAA,EAAmB,EAAA,OAAO,OAAO,CAAG,GAAG,CAAK;OACnF,EAAA,CAAA,EAAmB,EAAA,OAAO,OAAO,CAAG,GAAG,CAAK,CAAA,GAAA,GAAA,CAAA,CAAA,GAAA,GAAA,CAAA,GAIhD,EAOS,UAAA;GANP,MAAK;GACL,OAAM;GACL,UAAK,MAAE,EAAI,UAAW,OAAO,CAAG,CAAA;GACjC,cAAW;mBAEX,EAAuC,KAAA,EAApC,OAAM,0BAAyB,GAAA,MAAA,EAAA,CAAA,CAAA,GAAA,GAAA,CAAA,CAAA,GAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,GAAA,EAAA"}
1
+ {"version":3,"file":"admins-components81.js","names":[],"sources":["../src/components/data-table/FilterTags.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { FilterItem } from '@/components/data-table/DataFilters.vue'\nimport { displayFilterValue } from '@/utils/filterDisplay'\n\nconst props = defineProps<{\n filters: Record<string, any>\n items: FilterItem[]\n itemClass?: string\n}>()\nconst emit = defineEmits<{\n remove: [key: string]\n openFilter: [key: string]\n}>()\n\nfunction getFilterItem(key: string): FilterItem | undefined {\n return props.items.find((i) => i.key === key)\n}\n\nfunction getLabel(key: string): string {\n return getFilterItem(key)?.label ?? key\n}\n</script>\n\n<template>\n <div class=\"filter-tags ac-component gap-1\">\n <template v-for=\"(value, key) in filters\" :key=\"key\">\n <span\n v-if=\"value != null && value !== ''\"\n class=\"filter-tags__tag c-chip\"\n :class=\"[itemClass, getFilterItem(key)?.displayClass]\"\n >\n <span\n class=\"filter-tags__content align-center-fix\"\n @click=\"emit('openFilter', String(key))\"\n >\n <span class=\"filter-tags__key\">{{ getLabel(String(key)) }}:</span>\n <span class=\"filter-tags__value\" :title=\"displayFilterValue(items, String(key), value)\">{{\n displayFilterValue(items, String(key), value)\n }}</span>\n </span>\n\n <button\n type=\"button\"\n class=\"filter-tags__remove\"\n @click=\"emit('remove', String(key))\"\n aria-label=\"Remove filter\"\n >\n <i class=\"fa-solid fa-fw fa-xmark\"></i>\n </button>\n </span>\n </template>\n </div>\n</template>\n\n<style lang=\"scss\" src=\"@/styles/components/data-table/filter-tags.scss\"></style>\n"],"mappings":";;;;;;;;;;;;EAIA,IAAM,IAAQ,GAKR,IAAO;EAKb,SAAS,EAAc,GAAqC;GAC1D,OAAO,EAAM,MAAM,MAAM,MAAM,EAAE,QAAQ,CAAG;EAC9C;EAEA,SAAS,EAAS,GAAqB;GACrC,OAAO,EAAc,CAAG,GAAG,SAAS;EACtC;yBAIE,EA2BM,OA3BN,GA2BM,EAAA,EAAA,EAAA,GA1BJ,EAyBW,GAAA,MAAA,EAzBsB,EAAA,UAAf,GAAO,mBAAuB,OAAG,GAAA,CAEzC,KAAK,QAAY,MAAK,MAAA,EAAA,GAD9B,EAuBO,QAAA;;GArBL,OAAK,EAAA,CAAC,2BAAyB,CACtB,EAAA,WAAW,EAAc,CAAG,GAAG,YAAY,CAAA,CAAA;MAEpD,EAQO,QAAA;GAPL,OAAM;GACL,UAAK,MAAE,EAAI,cAAe,OAAO,CAAG,CAAA;MAErC,EAAkE,QAAlE,GAAkE,EAAhC,EAAS,OAAO,CAAG,CAAA,CAAA,IAAK,KAAC,CAAA,GAC3D,EAES,QAAA;GAFH,OAAM;GAAsB,OAAO,EAAA,CAAA,EAAmB,EAAA,OAAO,OAAO,CAAG,GAAG,CAAK;OACnF,EAAA,CAAA,EAAmB,EAAA,OAAO,OAAO,CAAG,GAAG,CAAK,CAAA,GAAA,GAAA,CAAA,CAAA,GAAA,GAAA,CAAA,GAIhD,EAOS,UAAA;GANP,MAAK;GACL,OAAM;GACL,UAAK,MAAE,EAAI,UAAW,OAAO,CAAG,CAAA;GACjC,cAAW;mBAEX,EAAuC,KAAA,EAApC,OAAM,0BAAyB,GAAA,MAAA,EAAA,CAAA,CAAA,GAAA,GAAA,CAAA,CAAA,GAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,GAAA,EAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"admins-components83.js","names":[],"sources":["../src/components/data-table/FilterTags.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { FilterItem } from '@/components/data-table/DataFilters.vue'\nimport { displayFilterValue } from '@/utils/filterDisplay'\n\nconst props = defineProps<{\n filters: Record<string, any>\n items: FilterItem[]\n itemClass?: string\n}>()\nconst emit = defineEmits<{\n remove: [key: string]\n openFilter: [key: string]\n}>()\n\nfunction getFilterItem(key: string): FilterItem | undefined {\n return props.items.find((i) => i.key === key)\n}\n\nfunction getLabel(key: string): string {\n return getFilterItem(key)?.label ?? key\n}\n</script>\n\n<template>\n <div class=\"filter-tags ac-component gap-1\">\n <template v-for=\"(value, key) in filters\" :key=\"key\">\n <span\n v-if=\"value != null && value !== ''\"\n class=\"filter-tags__tag c-chip\"\n :class=\"[itemClass, getFilterItem(key)?.displayClass]\"\n >\n <span class=\"filter-tags__content align-center-text-fix\" @click=\"emit('openFilter', String(key))\">\n <span class=\"filter-tags__key\">{{ getLabel(String(key)) }}:</span>\n <span class=\"filter-tags__value\" :title=\"displayFilterValue(items, String(key), value)\">{{\n displayFilterValue(items, String(key), value)\n }}</span>\n </span>\n\n <button\n type=\"button\"\n class=\"filter-tags__remove\"\n @click=\"emit('remove', String(key))\"\n aria-label=\"Remove filter\"\n >\n <i class=\"fa-solid fa-fw fa-xmark\"></i>\n </button>\n </span>\n </template>\n </div>\n</template>\n\n<style lang=\"scss\" src=\"@/styles/components/data-table/filter-tags.scss\"></style>\n"],"mappings":""}
1
+ {"version":3,"file":"admins-components83.js","names":[],"sources":["../src/components/data-table/FilterTags.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { FilterItem } from '@/components/data-table/DataFilters.vue'\nimport { displayFilterValue } from '@/utils/filterDisplay'\n\nconst props = defineProps<{\n filters: Record<string, any>\n items: FilterItem[]\n itemClass?: string\n}>()\nconst emit = defineEmits<{\n remove: [key: string]\n openFilter: [key: string]\n}>()\n\nfunction getFilterItem(key: string): FilterItem | undefined {\n return props.items.find((i) => i.key === key)\n}\n\nfunction getLabel(key: string): string {\n return getFilterItem(key)?.label ?? key\n}\n</script>\n\n<template>\n <div class=\"filter-tags ac-component gap-1\">\n <template v-for=\"(value, key) in filters\" :key=\"key\">\n <span\n v-if=\"value != null && value !== ''\"\n class=\"filter-tags__tag c-chip\"\n :class=\"[itemClass, getFilterItem(key)?.displayClass]\"\n >\n <span\n class=\"filter-tags__content align-center-fix\"\n @click=\"emit('openFilter', String(key))\"\n >\n <span class=\"filter-tags__key\">{{ getLabel(String(key)) }}:</span>\n <span class=\"filter-tags__value\" :title=\"displayFilterValue(items, String(key), value)\">{{\n displayFilterValue(items, String(key), value)\n }}</span>\n </span>\n\n <button\n type=\"button\"\n class=\"filter-tags__remove\"\n @click=\"emit('remove', String(key))\"\n aria-label=\"Remove filter\"\n >\n <i class=\"fa-solid fa-fw fa-xmark\"></i>\n </button>\n </span>\n </template>\n </div>\n</template>\n\n<style lang=\"scss\" src=\"@/styles/components/data-table/filter-tags.scss\"></style>\n"],"mappings":""}