admins-components 9.0.33 → 9.0.35

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 (216) hide show
  1. package/dist/admins-components.js +35 -34
  2. package/dist/admins-components100.js +50 -80
  3. package/dist/admins-components100.js.map +1 -1
  4. package/dist/admins-components101.js +78 -109
  5. package/dist/admins-components101.js.map +1 -1
  6. package/dist/admins-components102.js +110 -44
  7. package/dist/admins-components102.js.map +1 -1
  8. package/dist/admins-components103.js +42 -101
  9. package/dist/admins-components103.js.map +1 -1
  10. package/dist/admins-components104.js +104 -18
  11. package/dist/admins-components104.js.map +1 -1
  12. package/dist/admins-components105.js +19 -6
  13. package/dist/admins-components105.js.map +1 -1
  14. package/dist/admins-components106.js +5 -250
  15. package/dist/admins-components106.js.map +1 -1
  16. package/dist/admins-components107.js +250 -25
  17. package/dist/admins-components107.js.map +1 -1
  18. package/dist/admins-components108.js +26 -27
  19. package/dist/admins-components108.js.map +1 -1
  20. package/dist/admins-components109.js +25 -169
  21. package/dist/admins-components109.js.map +1 -1
  22. package/dist/admins-components110.js +165 -61
  23. package/dist/admins-components110.js.map +1 -1
  24. package/dist/admins-components111.js +61 -60
  25. package/dist/admins-components111.js.map +1 -1
  26. package/dist/admins-components112.js +65 -28
  27. package/dist/admins-components112.js.map +1 -1
  28. package/dist/admins-components113.js +28 -14
  29. package/dist/admins-components113.js.map +1 -1
  30. package/dist/admins-components114.js +15 -26
  31. package/dist/admins-components114.js.map +1 -1
  32. package/dist/admins-components115.js +26 -8
  33. package/dist/admins-components115.js.map +1 -1
  34. package/dist/admins-components116.js +9 -4
  35. package/dist/admins-components116.js.map +1 -1
  36. package/dist/admins-components117.js +4 -3
  37. package/dist/admins-components117.js.map +1 -1
  38. package/dist/admins-components118.js +2 -2
  39. package/dist/admins-components118.js.map +1 -1
  40. package/dist/admins-components119.js +3 -21
  41. package/dist/admins-components119.js.map +1 -1
  42. package/dist/admins-components120.js +21 -14
  43. package/dist/admins-components120.js.map +1 -1
  44. package/dist/admins-components121.js +14 -8
  45. package/dist/admins-components121.js.map +1 -1
  46. package/dist/admins-components122.js +8 -13
  47. package/dist/admins-components122.js.map +1 -1
  48. package/dist/admins-components123.js +11 -24
  49. package/dist/admins-components123.js.map +1 -1
  50. package/dist/admins-components124.js +24 -81
  51. package/dist/admins-components124.js.map +1 -1
  52. package/dist/admins-components125.js +82 -10
  53. package/dist/admins-components125.js.map +1 -1
  54. package/dist/admins-components126.js +10 -4
  55. package/dist/admins-components126.js.map +1 -1
  56. package/dist/admins-components127.js +5 -8
  57. package/dist/admins-components127.js.map +1 -1
  58. package/dist/admins-components128.js +7 -6
  59. package/dist/admins-components128.js.map +1 -1
  60. package/dist/admins-components129.js +6 -5
  61. package/dist/admins-components129.js.map +1 -1
  62. package/dist/admins-components130.js +4 -13
  63. package/dist/admins-components130.js.map +1 -1
  64. package/dist/admins-components131.js +11 -9
  65. package/dist/admins-components131.js.map +1 -1
  66. package/dist/admins-components132.js +13 -30
  67. package/dist/admins-components132.js.map +1 -1
  68. package/dist/admins-components133.js +30 -4
  69. package/dist/admins-components133.js.map +1 -1
  70. package/dist/admins-components134.js +4 -29
  71. package/dist/admins-components134.js.map +1 -1
  72. package/dist/admins-components135.js +29 -5
  73. package/dist/admins-components135.js.map +1 -1
  74. package/dist/admins-components136.js +3 -3
  75. package/dist/admins-components136.js.map +1 -1
  76. package/dist/admins-components137.js +4 -7
  77. package/dist/admins-components137.js.map +1 -1
  78. package/dist/admins-components138.js +7 -73
  79. package/dist/admins-components138.js.map +1 -1
  80. package/dist/admins-components139.js +71 -26
  81. package/dist/admins-components139.js.map +1 -1
  82. package/dist/admins-components140.js +27 -57
  83. package/dist/admins-components140.js.map +1 -1
  84. package/dist/admins-components141.js +57 -22
  85. package/dist/admins-components141.js.map +1 -1
  86. package/dist/admins-components142.js +21 -47
  87. package/dist/admins-components142.js.map +1 -1
  88. package/dist/admins-components143.js +48 -29
  89. package/dist/admins-components143.js.map +1 -1
  90. package/dist/admins-components144.js +31 -3
  91. package/dist/admins-components144.js.map +1 -1
  92. package/dist/admins-components145.js +3 -179
  93. package/dist/admins-components145.js.map +1 -1
  94. package/dist/admins-components146.js +176 -43
  95. package/dist/admins-components146.js.map +1 -1
  96. package/dist/admins-components147.js +44 -35
  97. package/dist/admins-components147.js.map +1 -1
  98. package/dist/admins-components148.js +34 -43
  99. package/dist/admins-components148.js.map +1 -1
  100. package/dist/admins-components149.js +42 -137
  101. package/dist/admins-components149.js.map +1 -1
  102. package/dist/admins-components150.js +134 -51
  103. package/dist/admins-components150.js.map +1 -1
  104. package/dist/admins-components151.js +58 -7
  105. package/dist/admins-components151.js.map +1 -1
  106. package/dist/admins-components152.js +6 -5
  107. package/dist/admins-components152.js.map +1 -1
  108. package/dist/admins-components153.js +6 -76
  109. package/dist/admins-components153.js.map +1 -1
  110. package/dist/admins-components154.js +76 -29
  111. package/dist/admins-components154.js.map +1 -1
  112. package/dist/admins-components155.js +29 -1931
  113. package/dist/admins-components155.js.map +1 -1
  114. package/dist/admins-components156.js +1748 -24628
  115. package/dist/admins-components156.js.map +1 -1
  116. package/dist/admins-components157.js +24810 -8
  117. package/dist/admins-components157.js.map +1 -1
  118. package/dist/admins-components158.js +9 -7
  119. package/dist/admins-components158.js.map +1 -0
  120. package/dist/admins-components159.js +7 -142
  121. package/dist/admins-components160.js +141 -8
  122. package/dist/admins-components160.js.map +1 -1
  123. package/dist/admins-components161.js +3 -3
  124. package/dist/admins-components161.js.map +1 -1
  125. package/dist/admins-components162.js +10 -0
  126. package/dist/admins-components162.js.map +1 -0
  127. package/dist/admins-components164.js +161 -44
  128. package/dist/admins-components164.js.map +1 -1
  129. package/dist/admins-components165.js +50 -8
  130. package/dist/admins-components165.js.map +1 -1
  131. package/dist/admins-components166.js +8 -49
  132. package/dist/admins-components166.js.map +1 -1
  133. package/dist/admins-components167.js +50 -6
  134. package/dist/admins-components167.js.map +1 -1
  135. package/dist/admins-components168.js +6 -80
  136. package/dist/admins-components168.js.map +1 -1
  137. package/dist/admins-components169.js +70 -48
  138. package/dist/admins-components169.js.map +1 -1
  139. package/dist/admins-components170.js +30 -31
  140. package/dist/admins-components170.js.map +1 -1
  141. package/dist/admins-components171.js +58 -8
  142. package/dist/admins-components171.js.map +1 -1
  143. package/dist/admins-components172.js +8 -51
  144. package/dist/admins-components172.js.map +1 -1
  145. package/dist/admins-components173.js +51 -8
  146. package/dist/admins-components173.js.map +1 -1
  147. package/dist/admins-components174.js +10 -0
  148. package/dist/admins-components174.js.map +1 -0
  149. package/dist/{admins-components175.js → admins-components176.js} +3 -3
  150. package/dist/{admins-components175.js.map → admins-components176.js.map} +1 -1
  151. package/dist/admins-components21.js +114 -114
  152. package/dist/admins-components21.js.map +1 -1
  153. package/dist/admins-components22.js.map +1 -1
  154. package/dist/admins-components73.js +7 -122
  155. package/dist/admins-components73.js.map +1 -1
  156. package/dist/admins-components74.js +127 -0
  157. package/dist/admins-components74.js.map +1 -0
  158. package/dist/admins-components76.js +6 -59
  159. package/dist/admins-components76.js.map +1 -1
  160. package/dist/admins-components77.js +55 -217
  161. package/dist/admins-components77.js.map +1 -1
  162. package/dist/admins-components78.js +73 -0
  163. package/dist/admins-components78.js.map +1 -0
  164. package/dist/admins-components79.js +238 -6
  165. package/dist/admins-components79.js.map +1 -1
  166. package/dist/admins-components81.js +6 -251
  167. package/dist/admins-components81.js.map +1 -1
  168. package/dist/admins-components82.js +246 -0
  169. package/dist/admins-components82.js.map +1 -0
  170. package/dist/admins-components84.js +6 -37
  171. package/dist/admins-components84.js.map +1 -1
  172. package/dist/admins-components85.js +38 -0
  173. package/dist/{admins-components86.js.map → admins-components85.js.map} +1 -1
  174. package/dist/admins-components87.js +6 -198
  175. package/dist/admins-components87.js.map +1 -1
  176. package/dist/admins-components88.js +200 -0
  177. package/dist/admins-components88.js.map +1 -0
  178. package/dist/admins-components90.js +6 -16
  179. package/dist/admins-components90.js.map +1 -1
  180. package/dist/admins-components91.js +16 -75
  181. package/dist/admins-components91.js.map +1 -1
  182. package/dist/admins-components92.js +76 -0
  183. package/dist/{admins-components93.js.map → admins-components92.js.map} +1 -1
  184. package/dist/admins-components94.js +6 -203
  185. package/dist/admins-components94.js.map +1 -1
  186. package/dist/admins-components95.js +204 -0
  187. package/dist/admins-components95.js.map +1 -0
  188. package/dist/admins-components97.js +6 -3
  189. package/dist/admins-components97.js.map +1 -1
  190. package/dist/admins-components98.js +3 -3
  191. package/dist/admins-components98.js.map +1 -1
  192. package/dist/admins-components99.js +3 -52
  193. package/dist/admins-components99.js.map +1 -1
  194. package/dist/main.css +1 -1
  195. package/dist/main.css.map +1 -1
  196. package/dist/src/components/data-table/FiltersHistory.vue.d.ts +10 -8
  197. package/dist/src/index.d.ts +3 -1
  198. package/dist/src/styles/components/data-table/filters-history.scss_vue_type_style_index_0_src_true_lang.css +1 -1
  199. package/dist/src/utils/dataFilters.d.ts +6 -2
  200. package/dist/src/utils/storageKey.d.ts +4 -0
  201. package/package.json +1 -1
  202. package/dist/admins-components159.js.map +0 -1
  203. package/dist/admins-components163.js +0 -169
  204. package/dist/admins-components163.js.map +0 -1
  205. package/dist/admins-components75.js +0 -7
  206. package/dist/admins-components75.js.map +0 -1
  207. package/dist/admins-components80.js +0 -53
  208. package/dist/admins-components80.js.map +0 -1
  209. package/dist/admins-components83.js +0 -7
  210. package/dist/admins-components83.js.map +0 -1
  211. package/dist/admins-components86.js +0 -7
  212. package/dist/admins-components89.js +0 -7
  213. package/dist/admins-components89.js.map +0 -1
  214. package/dist/admins-components93.js +0 -7
  215. package/dist/admins-components96.js +0 -7
  216. package/dist/admins-components96.js.map +0 -1
@@ -4,242 +4,242 @@ import { dateRangePickerConfigDefaults as o } from "./admins-components7.js";
4
4
  import { useDropdownAnchor as ee } from "./admins-components12.js";
5
5
  import s from "./admins-components14.js";
6
6
  import { applyPredefinedRange as te, canStepInBounds as c, isPredefinedRangeInBounds as ne, matchPredefinedRange as re, predefinedRanges as l } from "./admins-components20.js";
7
- import { Fragment as u, Teleport as ie, computed as d, createBlock as f, createCommentVNode as p, createElementBlock as m, createElementVNode as h, createVNode as g, defineComponent as _, normalizeClass as v, normalizeStyle as ae, openBlock as y, ref as b, renderList as oe, resolveDirective as se, toDisplayString as x, unref as S, useId as ce, watch as C, withDirectives as w, withModifiers as T } from "vue";
7
+ import { Fragment as u, Teleport as d, computed as f, createBlock as p, createCommentVNode as m, createElementBlock as h, createElementVNode as g, createVNode as _, defineComponent as v, normalizeClass as y, normalizeStyle as ie, openBlock as b, ref as x, renderList as ae, resolveDirective as oe, toDisplayString as S, unref as C, useId as se, watch as w, withDirectives as T, withModifiers as E } from "vue";
8
8
  //#region src/components/DateRangePicker.vue?vue&type=script&setup=true&lang.ts
9
- var le = { class: "ac-component" }, ue = { class: "drp-input" }, de = { class: "c-truncate drp-input__single" }, fe = { class: "drp-input__multi" }, pe = { class: "c-truncate drp-input__line" }, me = { class: "c-truncate drp-input__line" }, he = {
9
+ var ce = { class: "ac-component" }, le = { class: "drp-input" }, ue = { class: "c-truncate drp-input__single" }, de = { class: "drp-input__multi" }, fe = { class: "c-truncate drp-input__line" }, pe = { class: "c-truncate drp-input__line" }, me = {
10
10
  key: 1,
11
11
  class: "c-placeholder drp-input__placeholder"
12
- }, ge = { class: "ac-component" }, _e = { class: "drp-pickers" }, ve = { class: "drp-picker-group" }, ye = ["for"], be = { class: "drp-picker-group" }, xe = ["for"], E = {
12
+ }, he = { class: "ac-component" }, ge = { class: "drp-pickers" }, _e = { class: "drp-picker-group" }, ve = ["for"], ye = { class: "drp-picker-group" }, be = ["for"], xe = {
13
13
  key: 0,
14
14
  class: "drp-toolbar"
15
- }, Se = { class: "d-flex" }, D = { class: "predefined-ranges" }, O = ["aria-disabled", "onClick"], k = { class: "d-flex" }, A = {
15
+ }, Se = { class: "d-flex" }, Ce = { class: "predefined-ranges" }, D = ["aria-disabled", "onClick"], O = { class: "d-flex" }, k = {
16
16
  key: 1,
17
17
  class: "c-footer"
18
- }, j = /* @__PURE__ */ _({
18
+ }, A = /* @__PURE__ */ v({
19
19
  __name: "DateRangePicker",
20
20
  props: {
21
21
  modelValue: { default: null },
22
22
  config: { default: () => ({ ...o }) }
23
23
  },
24
24
  emits: ["update:modelValue"],
25
- setup(_, { expose: j, emit: Ce }) {
26
- let M = _, N = Ce, P = `drp-input-${ce()}`, F = d(() => ({
25
+ setup(v, { expose: A, emit: we }) {
26
+ let j = v, M = we, N = `drp-input-${se()}`, P = f(() => ({
27
27
  ...o,
28
- ...M.config
29
- })), I = b(null), L = b(null), { isOpen: R, dropdownStyle: we } = ee(I, L, { isOutsideClick: (e, t, n) => {
28
+ ...j.config
29
+ })), F = x(null), I = x(null), { isOpen: L, dropdownStyle: Te } = ee(F, I, { isOutsideClick: (e, t, n) => {
30
30
  let r = e.target;
31
31
  return !(t?.contains(r) ?? !1) && !(n?.contains(r) ?? !1) && !(r instanceof Element && r.closest(".c-dropdown"));
32
32
  } });
33
- function z(e) {
33
+ function R(e) {
34
34
  return e ? {
35
35
  local: new Date(e),
36
36
  utc: e
37
37
  } : null;
38
38
  }
39
- function B(e) {
39
+ function z(e) {
40
40
  return {
41
41
  local: e,
42
- utc: i(e, F.value.showTime)
42
+ utc: i(e, P.value.showTime)
43
43
  };
44
44
  }
45
- function Te(e) {
46
- return e.local ? B(t(e.local)) : e;
45
+ function Ee(e) {
46
+ return e.local ? z(t(e.local)) : e;
47
47
  }
48
- let Ee = d(() => F.value.format ?? (F.value.showTime ? "YYYY-MM-DD HH:mm" : "YYYY-MM-DD"));
49
- function V(e) {
50
- return e ? n(new Date(e), Ee.value) : "...";
48
+ let De = f(() => P.value.format ?? (P.value.showTime ? "YYYY-MM-DD HH:mm" : "YYYY-MM-DD"));
49
+ function B(e) {
50
+ return e ? n(new Date(e), De.value) : "...";
51
51
  }
52
- let H = b(z(M.modelValue?.fromUtc ?? null)), U = b(z(M.modelValue?.toUtc ?? null)), W = b(M.modelValue?.fromUtc ?? null), G = b(M.modelValue?.toUtc ?? null), K = d(() => W.value != null || G.value != null), De = d(() => H.value?.local ?? null), Oe = d(() => U.value?.local ?? null), ke = d(() => F.value.minDate ?? null), Ae = d(() => e(F.value.maxDate ?? null, Oe.value ?? null)), je = d(() => r(F.value.minDate ?? null, De.value ?? null)), Me = d(() => F.value.maxDate ?? null);
53
- C(() => M.modelValue, (e) => {
52
+ let V = x(R(j.modelValue?.fromUtc ?? null)), H = x(R(j.modelValue?.toUtc ?? null)), U = x(j.modelValue?.fromUtc ?? null), W = x(j.modelValue?.toUtc ?? null), G = f(() => U.value != null || W.value != null), Oe = f(() => V.value?.local ?? null), ke = f(() => H.value?.local ?? null), Ae = f(() => P.value.minDate ?? null), je = f(() => e(P.value.maxDate ?? null, ke.value ?? null)), Me = f(() => r(P.value.minDate ?? null, Oe.value ?? null)), Ne = f(() => P.value.maxDate ?? null);
53
+ w(() => j.modelValue, (e) => {
54
54
  let t = e?.fromUtc ?? null, n = e?.toUtc ?? null;
55
- H.value = z(t), U.value = z(n), W.value = t, G.value = n;
56
- }), C(R, (e) => {
57
- e && F.value.lazy && (H.value = z(W.value), U.value = z(G.value));
55
+ V.value = R(t), H.value = R(n), U.value = t, W.value = n;
56
+ }), w(L, (e) => {
57
+ e && P.value.lazy && (V.value = R(U.value), H.value = R(W.value));
58
58
  });
59
- function Ne(e) {
60
- H.value = e, e && !U.value && (U.value = F.value.showTime ? Te(e) : e), F.value.lazy || q();
61
- }
62
59
  function Pe(e) {
63
- U.value = e, F.value.lazy || q();
60
+ V.value = e, e && !H.value && (H.value = P.value.showTime ? Ee(e) : e), P.value.lazy || q();
61
+ }
62
+ function K(e) {
63
+ H.value = e, P.value.lazy || q();
64
64
  }
65
65
  function q() {
66
- let e = H.value?.utc ?? null, t = U.value?.utc ?? null;
67
- W.value = e, G.value = t, N("update:modelValue", e || t ? {
66
+ let e = V.value?.utc ?? null, n = H.value?.utc ?? null;
67
+ n && !P.value.showTime && H.value?.local && (n = i(t(H.value.local), !0)), U.value = e, W.value = n, M("update:modelValue", e || n ? {
68
68
  fromUtc: e,
69
- toUtc: t
69
+ toUtc: n
70
70
  } : null);
71
71
  }
72
72
  function Fe() {
73
- F.value.lazy && q(), R.value = !1;
73
+ P.value.lazy && q(), L.value = !1;
74
74
  }
75
75
  function J() {
76
- H.value = null, U.value = null, W.value = null, G.value = null, N("update:modelValue", null);
76
+ V.value = null, H.value = null, U.value = null, W.value = null, M("update:modelValue", null);
77
77
  }
78
78
  function Ie() {
79
- H.value = null, U.value = null;
79
+ V.value = null, H.value = null;
80
80
  }
81
81
  function Le() {
82
- R.value = !0;
82
+ L.value = !0;
83
83
  }
84
- j({ focusAndOpen: Le });
84
+ A({ focusAndOpen: Le });
85
85
  function Y() {
86
- let e = H.value?.local, t = U.value?.local;
86
+ let e = V.value?.local, t = H.value?.local;
87
87
  if (!e || !t) return null;
88
88
  let n = 1440 * 60 * 1e3;
89
- return F.value.showTime ? t.getTime() - e.getTime() : (Math.round((t.getTime() - e.getTime()) / n) + 1) * n;
89
+ return P.value.showTime ? t.getTime() - e.getTime() : (Math.round((t.getTime() - e.getTime()) / n) + 1) * n;
90
90
  }
91
- let X = d(() => {
92
- let e = H.value?.local, t = U.value?.local;
91
+ let X = f(() => {
92
+ let e = V.value?.local, t = H.value?.local;
93
93
  if (!e || !t) return !1;
94
94
  let n = Y();
95
95
  return n == null ? !1 : c(e, t, -n, {
96
- minDate: F.value.minDate ?? null,
97
- maxDate: F.value.maxDate ?? null,
98
- showTime: F.value.showTime ?? !1
96
+ minDate: P.value.minDate ?? null,
97
+ maxDate: P.value.maxDate ?? null,
98
+ showTime: P.value.showTime ?? !1
99
99
  });
100
- }), Z = d(() => {
101
- let e = H.value?.local, t = U.value?.local;
100
+ }), Z = f(() => {
101
+ let e = V.value?.local, t = H.value?.local;
102
102
  if (!e || !t) return !1;
103
103
  let n = Y();
104
104
  return n == null ? !1 : c(e, t, n, {
105
- minDate: F.value.minDate ?? null,
106
- maxDate: F.value.maxDate ?? null,
107
- showTime: F.value.showTime ?? !1
105
+ minDate: P.value.minDate ?? null,
106
+ maxDate: P.value.maxDate ?? null,
107
+ showTime: P.value.showTime ?? !1
108
108
  });
109
109
  });
110
110
  function Q(e) {
111
- let t = H.value?.local, n = U.value?.local;
111
+ let t = V.value?.local, n = H.value?.local;
112
112
  if (!t || !n) return;
113
113
  let r = Y();
114
114
  r != null && c(t, n, r * e, {
115
- minDate: F.value.minDate ?? null,
116
- maxDate: F.value.maxDate ?? null,
117
- showTime: F.value.showTime ?? !1
118
- }) && (H.value = B(new Date(t.getTime() + r * e)), U.value = B(new Date(n.getTime() + r * e)), F.value.lazy || q());
115
+ minDate: P.value.minDate ?? null,
116
+ maxDate: P.value.maxDate ?? null,
117
+ showTime: P.value.showTime ?? !1
118
+ }) && (V.value = z(new Date(t.getTime() + r * e)), H.value = z(new Date(n.getTime() + r * e)), P.value.lazy || q());
119
119
  }
120
- let Re = d(() => {
121
- let e = H.value?.local, t = U.value?.local;
122
- return !e || !t ? null : re(e, t, { showTime: F.value.showTime ?? !1 });
123
- }), $ = d(() => {
120
+ let Re = f(() => {
121
+ let e = V.value?.local, t = H.value?.local;
122
+ return !e || !t ? null : re(e, t, { showTime: P.value.showTime ?? !1 });
123
+ }), $ = f(() => {
124
124
  let e = {
125
- minDate: F.value.minDate ?? null,
126
- maxDate: F.value.maxDate ?? null,
127
- showTime: F.value.showTime ?? !1
125
+ minDate: P.value.minDate ?? null,
126
+ maxDate: P.value.maxDate ?? null,
127
+ showTime: P.value.showTime ?? !1
128
128
  }, t = {};
129
129
  for (let n of l) t[n.key] = !ne(n.key, e);
130
130
  return t;
131
131
  });
132
132
  function ze(e) {
133
- let { from: t, to: n } = te(e, { showTime: F.value.showTime ?? !1 });
134
- H.value = t, U.value = n, q(), F.value.lazy && (R.value = !1);
133
+ let { from: t, to: n } = te(e, { showTime: P.value.showTime ?? !1 });
134
+ V.value = t, H.value = n, q(), P.value.lazy && (L.value = !1);
135
135
  }
136
136
  return (e, t) => {
137
- let n = se("tooltip");
138
- return y(), m("div", le, [h("div", {
137
+ let n = oe("tooltip");
138
+ return b(), h("div", ce, [g("div", {
139
139
  ref_key: "wrapperRef",
140
- ref: I,
141
- class: v(["drp-wrapper", { "drp-wrapper--compact": F.value.compact }])
142
- }, [h("div", {
143
- class: v(["c-input-row", {
144
- "c-input-row--sm": F.value.size === "small",
145
- "c-input-row--lg": F.value.size === "large",
146
- "c-input-row--focus": S(R)
140
+ ref: F,
141
+ class: y(["drp-wrapper", { "drp-wrapper--compact": P.value.compact }])
142
+ }, [g("div", {
143
+ class: y(["c-input-row", {
144
+ "c-input-row--sm": P.value.size === "small",
145
+ "c-input-row--lg": P.value.size === "large",
146
+ "c-input-row--focus": C(L)
147
147
  }]),
148
- onClick: t[1] ||= (e) => R.value = !S(R)
148
+ onClick: t[1] ||= (e) => L.value = !C(L)
149
149
  }, [
150
- h("div", ue, [K.value ? (y(), m(u, { key: 0 }, [h("span", de, x(V(W.value)) + " – " + x(V(G.value)), 1), h("span", fe, [h("span", pe, x(V(W.value)), 1), h("span", me, x(V(G.value)), 1)])], 64)) : (y(), m("span", he, x(F.value.placeholderFrom) + " – " + x(F.value.placeholderTo), 1))]),
151
- h("button", {
150
+ g("div", le, [G.value ? (b(), h(u, { key: 0 }, [g("span", ue, S(B(U.value)) + " – " + S(B(W.value)), 1), g("span", de, [g("span", fe, S(B(U.value)), 1), g("span", pe, S(B(W.value)), 1)])], 64)) : (b(), h("span", me, S(P.value.placeholderFrom) + " – " + S(P.value.placeholderTo), 1))]),
151
+ g("button", {
152
152
  type: "button",
153
- class: v(["c-icon-btn dp-clear c-icon-btn--clear", { "c-icon-btn--hidden": !K.value }]),
154
- onClick: T(J, ["stop"]),
153
+ class: y(["c-icon-btn dp-clear c-icon-btn--clear", { "c-icon-btn--hidden": !G.value }]),
154
+ onClick: E(J, ["stop"]),
155
155
  "aria-label": "Törlés"
156
- }, [...t[5] ||= [h("i", { class: "fa-solid fa-fw fa-xmark" }, null, -1)]], 2),
157
- F.value.showIcon ? (y(), m("button", {
156
+ }, [...t[5] ||= [g("i", { class: "fa-solid fa-fw fa-xmark" }, null, -1)]], 2),
157
+ P.value.showIcon ? (b(), h("button", {
158
158
  key: 0,
159
159
  type: "button",
160
160
  class: "c-icon-btn c-icon-btn--calendar",
161
- onClick: t[0] ||= T((e) => R.value = !S(R), ["stop"]),
161
+ onClick: t[0] ||= E((e) => L.value = !C(L), ["stop"]),
162
162
  "aria-label": "Naptár megnyitása"
163
- }, [...t[6] ||= [h("i", { class: "fa-regular fa-fw fa-calendar" }, null, -1)]])) : p("", !0)
164
- ], 2), (y(), f(ie, { to: "body" }, [h("div", ge, [S(R) ? (y(), m("div", {
163
+ }, [...t[6] ||= [g("i", { class: "fa-regular fa-fw fa-calendar" }, null, -1)]])) : m("", !0)
164
+ ], 2), (b(), p(d, { to: "body" }, [g("div", he, [C(L) ? (b(), h("div", {
165
165
  key: 0,
166
166
  ref_key: "dropdownRef",
167
- ref: L,
167
+ ref: I,
168
168
  class: "c-dropdown drp-dropdown",
169
- style: ae(S(we))
169
+ style: ie(C(Te))
170
170
  }, [
171
- h("div", _e, [h("div", ve, [h("label", {
171
+ g("div", ge, [g("div", _e, [g("label", {
172
172
  class: "drp-label",
173
- for: `${P}-from`
174
- }, x(F.value.placeholderFrom), 9, ye), g(s, {
175
- id: `${P}-from`,
176
- "model-value": H.value,
173
+ for: `${N}-from`
174
+ }, S(P.value.placeholderFrom), 9, ve), _(s, {
175
+ id: `${N}-from`,
176
+ "model-value": V.value,
177
177
  config: {
178
- ...F.value,
179
- minDate: ke.value,
180
- maxDate: Ae.value,
181
- placeholder: F.value.placeholderFrom
178
+ ...P.value,
179
+ minDate: Ae.value,
180
+ maxDate: je.value,
181
+ placeholder: P.value.placeholderFrom
182
182
  },
183
- "onUpdate:modelValue": Ne
183
+ "onUpdate:modelValue": Pe
184
184
  }, null, 8, [
185
185
  "id",
186
186
  "model-value",
187
187
  "config"
188
- ])]), h("div", be, [h("label", {
188
+ ])]), g("div", ye, [g("label", {
189
189
  class: "drp-label",
190
- for: `${P}-to`
191
- }, x(F.value.placeholderTo), 9, xe), g(s, {
192
- id: `${P}-to`,
193
- "model-value": U.value,
190
+ for: `${N}-to`
191
+ }, S(P.value.placeholderTo), 9, be), _(s, {
192
+ id: `${N}-to`,
193
+ "model-value": H.value,
194
194
  config: {
195
- ...F.value,
196
- minDate: je.value,
197
- maxDate: Me.value,
198
- placeholder: F.value.placeholderTo
195
+ ...P.value,
196
+ minDate: Me.value,
197
+ maxDate: Ne.value,
198
+ placeholder: P.value.placeholderTo
199
199
  },
200
- "onUpdate:modelValue": Pe
200
+ "onUpdate:modelValue": K
201
201
  }, null, 8, [
202
202
  "id",
203
203
  "model-value",
204
204
  "config"
205
205
  ])])]),
206
- F.value.showPresets ? (y(), m("div", E, [
207
- w((y(), m("span", Se, [g(a, {
206
+ P.value.showPresets ? (b(), h("div", xe, [
207
+ T((b(), h("span", Se, [_(a, {
208
208
  icon: "fa-solid fa-chevron-left",
209
209
  class: "drp-toolbar__stepper left",
210
210
  disabled: !X.value,
211
211
  onClick: t[2] ||= (e) => Q(-1)
212
212
  }, null, 8, ["disabled"])])), [[n, X.value ? "Intervallum mozgatása visszafelé" : "Nem léphető tovább a minimum dátum miatt"]]),
213
- h("div", D, [(y(!0), m(u, null, oe(S(l), (e) => (y(), m("a", {
213
+ g("div", Ce, [(b(!0), h(u, null, ae(C(l), (e) => (b(), h("a", {
214
214
  key: e.key,
215
- class: v(["predefined-range", {
215
+ class: y(["predefined-range", {
216
216
  "predefined-range--active": Re.value === e.key,
217
217
  "predefined-range--disabled": $.value[e.key]
218
218
  }]),
219
219
  "aria-disabled": $.value[e.key],
220
220
  onClick: (t) => $.value[e.key] ? null : ze(e.key)
221
- }, x(e.label), 11, O))), 128))]),
222
- w((y(), m("span", k, [g(a, {
221
+ }, S(e.label), 11, D))), 128))]),
222
+ T((b(), h("span", O, [_(a, {
223
223
  icon: "fa-solid fa-chevron-right",
224
224
  disabled: !Z.value,
225
225
  onClick: t[3] ||= (e) => Q(1),
226
226
  class: "drp-toolbar__stepper right"
227
227
  }, null, 8, ["disabled"])])), [[n, Z.value ? "Intervallum mozgatása előre" : "Nem léphető tovább a maximum dátum miatt"]])
228
- ])) : p("", !0),
229
- F.value.showClearButton || F.value.showOkButton || F.value.lazy ? (y(), m("div", A, [F.value.showClearButton ? (y(), f(a, {
228
+ ])) : m("", !0),
229
+ P.value.showClearButton || P.value.showOkButton || P.value.lazy ? (b(), h("div", k, [P.value.showClearButton ? (b(), p(a, {
230
230
  key: 0,
231
231
  label: "Törlés",
232
232
  outline: "",
233
- onClick: t[4] ||= (e) => F.value.lazy ? Ie() : J()
234
- })) : p("", !0), F.value.showOkButton || F.value.lazy ? (y(), f(a, {
233
+ onClick: t[4] ||= (e) => P.value.lazy ? Ie() : J()
234
+ })) : m("", !0), P.value.showOkButton || P.value.lazy ? (b(), p(a, {
235
235
  key: 1,
236
236
  label: "OK",
237
237
  type: "success",
238
238
  onClick: Fe
239
- })) : p("", !0)])) : p("", !0)
240
- ], 4)) : p("", !0)])]))], 2)]);
239
+ })) : m("", !0)])) : m("", !0)
240
+ ], 4)) : m("", !0)])]))], 2)]);
241
241
  };
242
242
  }
243
243
  });
244
244
  //#endregion
245
- export { j as default };
245
+ export { A as default };
@@ -1 +1 @@
1
- {"version":3,"file":"admins-components21.js","names":[],"sources":["../src/components/DateRangePicker.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PickedUtcRange } from '@/types/types'\nimport type { DateRangePickerConfig } from '@/types/datepickers'\nimport { dateRangePickerConfigDefaults } from '@/types/datepickers'\n\nexport type { PickedUtcRange, DateRangePickerConfig }\nexport { dateRangePickerConfigDefaults }\n\nexport interface DateRangePickerProps {\n modelValue?: PickedUtcRange | null\n config?: DateRangePickerConfig\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { ref, computed, watch, useId } from 'vue'\nimport DatePicker from '@/components/DatePicker.vue'\nimport Button from '@/components/Button.vue'\nimport { localToUTCString, formatDate, endOfDay, laterOf, earlierOf } from '@/utils/date'\nimport {\n predefinedRanges,\n applyPredefinedRange,\n matchPredefinedRange,\n isPredefinedRangeInBounds,\n canStepInBounds,\n type PredefinedRangeKey,\n} from '@/utils/predefinedDateRange'\nimport { useDropdownAnchor } from '@/composables/useDropdownAnchor'\n\nimport type { PickedDate } from '@/types/types'\n\nconst props = withDefaults(defineProps<DateRangePickerProps>(), {\n modelValue: null,\n config: () => ({ ...dateRangePickerConfigDefaults }),\n})\n\nconst emit = defineEmits<{ 'update:modelValue': [value: PickedUtcRange | null] }>()\n\nconst tempId = `drp-input-${useId()}`\n\nconst innerConfig = computed(() => ({ ...dateRangePickerConfigDefaults, ...props.config }))\n\nconst wrapperRef = ref<HTMLElement | null>(null)\nconst dropdownRef = ref<HTMLElement | null>(null)\nconst { isOpen, dropdownStyle } = useDropdownAnchor(wrapperRef, dropdownRef, {\n isOutsideClick: (e, wrapperEl, dropdownEl) => {\n const target = e.target as Node\n return (\n !(wrapperEl?.contains(target) ?? false) &&\n !(dropdownEl?.contains(target) ?? false) &&\n !(target instanceof Element && target.closest('.c-dropdown'))\n )\n },\n})\n\nfunction toPicked(utc: string | null): PickedDate | null {\n return utc ? { local: new Date(utc), utc } : null\n}\n\nfunction makePicked(date: Date): PickedDate {\n return { local: date, utc: localToUTCString(date, innerConfig.value.showTime) }\n}\n\nfunction endOfDayPicked(picked: PickedDate): PickedDate {\n return picked.local ? makePicked(endOfDay(picked.local)) : picked\n}\n\nconst format = computed(\n () =>\n innerConfig.value.format ?? (innerConfig.value.showTime ? 'YYYY-MM-DD HH:mm' : 'YYYY-MM-DD'),\n)\n\nfunction formatUtc(utc: string | null | undefined): string {\n return utc ? formatDate(new Date(utc), format.value) : '...'\n}\n\nconst bufferFrom = ref<PickedDate | null>(toPicked(props.modelValue?.fromUtc ?? null))\nconst bufferTo = ref<PickedDate | null>(toPicked(props.modelValue?.toUtc ?? null))\nconst displayFrom = ref<string | null>(props.modelValue?.fromUtc ?? null)\nconst displayTo = ref<string | null>(props.modelValue?.toUtc ?? null)\n\nconst hasValue = computed(() => displayFrom.value != null || displayTo.value != null)\nconst minTo = computed(() => bufferFrom.value?.local ?? null)\nconst maxFrom = computed(() => bufferTo.value?.local ?? null)\n\nconst fromMinDate = computed(() => innerConfig.value.minDate ?? null)\nconst fromMaxDate = computed(() =>\n earlierOf(innerConfig.value.maxDate ?? null, maxFrom.value ?? null),\n)\n\nconst toMinDate = computed(() => laterOf(innerConfig.value.minDate ?? null, minTo.value ?? null))\nconst toMaxDate = computed(() => innerConfig.value.maxDate ?? null)\n\nwatch(\n () => props.modelValue,\n (val) => {\n const from = val?.fromUtc ?? null\n const to = val?.toUtc ?? null\n bufferFrom.value = toPicked(from)\n bufferTo.value = toPicked(to)\n displayFrom.value = from\n displayTo.value = to\n },\n)\n\nwatch(isOpen, (open) => {\n if (!open) return\n if (innerConfig.value.lazy) {\n bufferFrom.value = toPicked(displayFrom.value)\n bufferTo.value = toPicked(displayTo.value)\n }\n //nextTick(positionDropdown)\n})\n\nfunction updateFrom(val: PickedDate | null) {\n bufferFrom.value = val\n if (val && !bufferTo.value)\n bufferTo.value = innerConfig.value.showTime ? endOfDayPicked(val) : val\n if (!innerConfig.value.lazy) emitCurrent()\n}\n\nfunction updateTo(val: PickedDate | null) {\n bufferTo.value = val\n if (!innerConfig.value.lazy) emitCurrent()\n}\n\nfunction emitCurrent() {\n const fromUtc = bufferFrom.value?.utc ?? null\n const toUtc = bufferTo.value?.utc ?? null\n displayFrom.value = fromUtc\n displayTo.value = toUtc\n emit('update:modelValue', fromUtc || toUtc ? { fromUtc, toUtc } : null)\n}\n\nfunction confirm() {\n if (innerConfig.value.lazy) emitCurrent()\n isOpen.value = false\n}\n\nfunction clear() {\n bufferFrom.value = null\n bufferTo.value = null\n displayFrom.value = null\n displayTo.value = null\n emit('update:modelValue', null)\n}\n\nfunction clearBuffer() {\n bufferFrom.value = null\n bufferTo.value = null\n}\n\nfunction focusAndOpen() {\n isOpen.value = true\n}\n\ndefineExpose({ focusAndOpen })\n\nfunction computeStepOffset(): number | null {\n const from = bufferFrom.value?.local\n const to = bufferTo.value?.local\n if (!from || !to) return null\n\n const dayMs = 24 * 60 * 60 * 1000\n return innerConfig.value.showTime\n ? to.getTime() - from.getTime()\n : (Math.round((to.getTime() - from.getTime()) / dayMs) + 1) * dayMs\n}\n\nconst canStepBack = computed(() => {\n const from = bufferFrom.value?.local\n const to = bufferTo.value?.local\n if (!from || !to) return false\n const offset = computeStepOffset()\n if (offset == null) return false\n return canStepInBounds(from, to, -offset, {\n minDate: innerConfig.value.minDate ?? null,\n maxDate: innerConfig.value.maxDate ?? null,\n showTime: innerConfig.value.showTime ?? false,\n })\n})\n\nconst canStepForward = computed(() => {\n const from = bufferFrom.value?.local\n const to = bufferTo.value?.local\n if (!from || !to) return false\n const offset = computeStepOffset()\n if (offset == null) return false\n return canStepInBounds(from, to, offset, {\n minDate: innerConfig.value.minDate ?? null,\n maxDate: innerConfig.value.maxDate ?? null,\n showTime: innerConfig.value.showTime ?? false,\n })\n})\n\nfunction rangeStep(delta: number) {\n const from = bufferFrom.value?.local\n const to = bufferTo.value?.local\n if (!from || !to) return\n\n const offset = computeStepOffset()\n if (offset == null) return\n\n const allowed = canStepInBounds(from, to, offset * delta, {\n minDate: innerConfig.value.minDate ?? null,\n maxDate: innerConfig.value.maxDate ?? null,\n showTime: innerConfig.value.showTime ?? false,\n })\n if (!allowed) return\n\n bufferFrom.value = makePicked(new Date(from.getTime() + offset * delta))\n bufferTo.value = makePicked(new Date(to.getTime() + offset * delta))\n\n if (!innerConfig.value.lazy) emitCurrent()\n}\n\nconst activePredefinedRange = computed<PredefinedRangeKey | null>(() => {\n const fromLocal = bufferFrom.value?.local\n const toLocal = bufferTo.value?.local\n if (!fromLocal || !toLocal) return null\n return matchPredefinedRange(fromLocal, toLocal, { showTime: innerConfig.value.showTime ?? false })\n})\n\nconst predefinedRangeDisabled = computed<Record<PredefinedRangeKey, boolean>>(() => {\n const bounds = {\n minDate: innerConfig.value.minDate ?? null,\n maxDate: innerConfig.value.maxDate ?? null,\n showTime: innerConfig.value.showTime ?? false,\n }\n const out = {} as Record<PredefinedRangeKey, boolean>\n for (const range of predefinedRanges) {\n out[range.key] = !isPredefinedRangeInBounds(range.key, bounds)\n }\n return out\n})\n\nfunction pickPredefinedRange(key: PredefinedRangeKey) {\n const { from, to } = applyPredefinedRange(key, { showTime: innerConfig.value.showTime ?? false })\n bufferFrom.value = from\n bufferTo.value = to\n emitCurrent()\n\n if (innerConfig.value.lazy) {\n isOpen.value = false\n }\n}\n</script>\n\n<template>\n <div class=\"ac-component\">\n <div\n ref=\"wrapperRef\"\n class=\"drp-wrapper\"\n :class=\"{ 'drp-wrapper--compact': innerConfig.compact }\"\n >\n <div\n class=\"c-input-row\"\n :class=\"{\n 'c-input-row--sm': innerConfig.size === 'small',\n 'c-input-row--lg': innerConfig.size === 'large',\n 'c-input-row--focus': isOpen,\n }\"\n @click=\"isOpen = !isOpen\"\n >\n <div class=\"drp-input\">\n <template v-if=\"hasValue\">\n <span class=\"c-truncate drp-input__single\"\n >{{ formatUtc(displayFrom) }} – {{ formatUtc(displayTo) }}</span\n >\n <span class=\"drp-input__multi\">\n <span class=\"c-truncate drp-input__line\">{{ formatUtc(displayFrom) }}</span>\n <span class=\"c-truncate drp-input__line\">{{ formatUtc(displayTo) }}</span>\n </span>\n </template>\n <span v-else class=\"c-placeholder drp-input__placeholder\"\n >{{ innerConfig.placeholderFrom }} – {{ innerConfig.placeholderTo }}</span\n >\n </div>\n <button\n type=\"button\"\n class=\"c-icon-btn dp-clear c-icon-btn--clear\"\n :class=\"{ 'c-icon-btn--hidden': !hasValue }\"\n @click.stop=\"clear\"\n aria-label=\"Törlés\"\n >\n <i class=\"fa-solid fa-fw fa-xmark\"></i>\n </button>\n <button\n v-if=\"innerConfig.showIcon\"\n type=\"button\"\n class=\"c-icon-btn c-icon-btn--calendar\"\n @click.stop=\"isOpen = !isOpen\"\n aria-label=\"Naptár megnyitása\"\n >\n <i class=\"fa-regular fa-fw fa-calendar\"></i>\n </button>\n </div>\n\n <Teleport to=\"body\">\n <div class=\"ac-component\">\n <div\n v-if=\"isOpen\"\n ref=\"dropdownRef\"\n class=\"c-dropdown drp-dropdown\"\n :style=\"dropdownStyle\"\n >\n <div class=\"drp-pickers\">\n <div class=\"drp-picker-group\">\n <label class=\"drp-label\" :for=\"`${tempId}-from`\">{{\n innerConfig.placeholderFrom\n }}</label>\n <DatePicker\n :id=\"`${tempId}-from`\"\n :model-value=\"bufferFrom\"\n :config=\"{\n ...innerConfig,\n minDate: fromMinDate,\n maxDate: fromMaxDate,\n placeholder: innerConfig.placeholderFrom,\n }\"\n @update:model-value=\"updateFrom\"\n />\n </div>\n <div class=\"drp-picker-group\">\n <label class=\"drp-label\" :for=\"`${tempId}-to`\">{{\n innerConfig.placeholderTo\n }}</label>\n <DatePicker\n :id=\"`${tempId}-to`\"\n :model-value=\"bufferTo\"\n :config=\"{\n ...innerConfig,\n minDate: toMinDate,\n maxDate: toMaxDate,\n placeholder: innerConfig.placeholderTo,\n }\"\n @update:model-value=\"updateTo\"\n />\n </div>\n </div>\n <div v-if=\"innerConfig.showPresets\" class=\"drp-toolbar\">\n <span\n class=\"d-flex\"\n v-tooltip=\"\n !canStepBack\n ? 'Nem léphető tovább a minimum dátum miatt'\n : 'Intervallum mozgatása visszafelé'\n \"\n >\n <Button\n icon=\"fa-solid fa-chevron-left\"\n class=\"drp-toolbar__stepper left\"\n :disabled=\"!canStepBack\"\n @click=\"rangeStep(-1)\"\n />\n </span>\n <div class=\"predefined-ranges\">\n <a\n v-for=\"range in predefinedRanges\"\n :key=\"range.key\"\n class=\"predefined-range\"\n :class=\"{\n 'predefined-range--active': activePredefinedRange === range.key,\n 'predefined-range--disabled': predefinedRangeDisabled[range.key],\n }\"\n :aria-disabled=\"predefinedRangeDisabled[range.key]\"\n @click=\"\n predefinedRangeDisabled[range.key] ? null : pickPredefinedRange(range.key)\n \"\n >\n {{ range.label }}\n </a>\n </div>\n <span\n class=\"d-flex\"\n v-tooltip=\"\n !canStepForward\n ? 'Nem léphető tovább a maximum dátum miatt'\n : 'Intervallum mozgatása előre'\n \"\n >\n <Button\n icon=\"fa-solid fa-chevron-right\"\n :disabled=\"!canStepForward\"\n @click=\"rangeStep(1)\"\n class=\"drp-toolbar__stepper right\"\n />\n </span>\n </div>\n <div\n v-if=\"innerConfig.showClearButton || innerConfig.showOkButton || innerConfig.lazy\"\n class=\"c-footer\"\n >\n <Button\n v-if=\"innerConfig.showClearButton\"\n label=\"Törlés\"\n outline\n @click=\"innerConfig.lazy ? clearBuffer() : clear()\"\n />\n <Button\n v-if=\"innerConfig.showOkButton || innerConfig.lazy\"\n label=\"OK\"\n type=\"success\"\n @click=\"confirm\"\n />\n </div>\n </div>\n </div>\n </Teleport>\n </div>\n </div>\n</template>\n"],"mappings":"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"}
1
+ {"version":3,"file":"admins-components21.js","names":[],"sources":["../src/components/DateRangePicker.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PickedUtcRange } from '@/types/types'\nimport type { DateRangePickerConfig } from '@/types/datepickers'\nimport { dateRangePickerConfigDefaults } from '@/types/datepickers'\n\nexport type { PickedUtcRange, DateRangePickerConfig }\nexport { dateRangePickerConfigDefaults }\n\nexport interface DateRangePickerProps {\n modelValue?: PickedUtcRange | null\n config?: DateRangePickerConfig\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { ref, computed, watch, useId } from 'vue'\nimport DatePicker from '@/components/DatePicker.vue'\nimport Button from '@/components/Button.vue'\nimport { localToUTCString, formatDate, endOfDay, laterOf, earlierOf } from '@/utils/date'\nimport {\n predefinedRanges,\n applyPredefinedRange,\n matchPredefinedRange,\n isPredefinedRangeInBounds,\n canStepInBounds,\n type PredefinedRangeKey,\n} from '@/utils/predefinedDateRange'\nimport { useDropdownAnchor } from '@/composables/useDropdownAnchor'\n\nimport type { PickedDate } from '@/types/types'\n\nconst props = withDefaults(defineProps<DateRangePickerProps>(), {\n modelValue: null,\n config: () => ({ ...dateRangePickerConfigDefaults }),\n})\n\nconst emit = defineEmits<{ 'update:modelValue': [value: PickedUtcRange | null] }>()\n\nconst tempId = `drp-input-${useId()}`\n\nconst innerConfig = computed(() => ({ ...dateRangePickerConfigDefaults, ...props.config }))\n\nconst wrapperRef = ref<HTMLElement | null>(null)\nconst dropdownRef = ref<HTMLElement | null>(null)\nconst { isOpen, dropdownStyle } = useDropdownAnchor(wrapperRef, dropdownRef, {\n isOutsideClick: (e, wrapperEl, dropdownEl) => {\n const target = e.target as Node\n return (\n !(wrapperEl?.contains(target) ?? false) &&\n !(dropdownEl?.contains(target) ?? false) &&\n !(target instanceof Element && target.closest('.c-dropdown'))\n )\n },\n})\n\nfunction toPicked(utc: string | null): PickedDate | null {\n return utc ? { local: new Date(utc), utc } : null\n}\n\nfunction makePicked(date: Date): PickedDate {\n return { local: date, utc: localToUTCString(date, innerConfig.value.showTime) }\n}\n\nfunction endOfDayPicked(picked: PickedDate): PickedDate {\n return picked.local ? makePicked(endOfDay(picked.local)) : picked\n}\n\nconst format = computed(\n () =>\n innerConfig.value.format ?? (innerConfig.value.showTime ? 'YYYY-MM-DD HH:mm' : 'YYYY-MM-DD'),\n)\n\nfunction formatUtc(utc: string | null | undefined): string {\n return utc ? formatDate(new Date(utc), format.value) : '...'\n}\n\nconst bufferFrom = ref<PickedDate | null>(toPicked(props.modelValue?.fromUtc ?? null))\nconst bufferTo = ref<PickedDate | null>(toPicked(props.modelValue?.toUtc ?? null))\nconst displayFrom = ref<string | null>(props.modelValue?.fromUtc ?? null)\nconst displayTo = ref<string | null>(props.modelValue?.toUtc ?? null)\n\nconst hasValue = computed(() => displayFrom.value != null || displayTo.value != null)\nconst minTo = computed(() => bufferFrom.value?.local ?? null)\nconst maxFrom = computed(() => bufferTo.value?.local ?? null)\n\nconst fromMinDate = computed(() => innerConfig.value.minDate ?? null)\nconst fromMaxDate = computed(() =>\n earlierOf(innerConfig.value.maxDate ?? null, maxFrom.value ?? null),\n)\n\nconst toMinDate = computed(() => laterOf(innerConfig.value.minDate ?? null, minTo.value ?? null))\nconst toMaxDate = computed(() => innerConfig.value.maxDate ?? null)\n\nwatch(\n () => props.modelValue,\n (val) => {\n const from = val?.fromUtc ?? null\n const to = val?.toUtc ?? null\n bufferFrom.value = toPicked(from)\n bufferTo.value = toPicked(to)\n displayFrom.value = from\n displayTo.value = to\n },\n)\n\nwatch(isOpen, (open) => {\n if (!open) return\n if (innerConfig.value.lazy) {\n bufferFrom.value = toPicked(displayFrom.value)\n bufferTo.value = toPicked(displayTo.value)\n }\n //nextTick(positionDropdown)\n})\n\nfunction updateFrom(val: PickedDate | null) {\n bufferFrom.value = val\n if (val && !bufferTo.value)\n bufferTo.value = innerConfig.value.showTime ? endOfDayPicked(val) : val\n if (!innerConfig.value.lazy) emitCurrent()\n}\n\nfunction updateTo(val: PickedDate | null) {\n bufferTo.value = val\n if (!innerConfig.value.lazy) emitCurrent()\n}\n\nfunction emitCurrent() {\n const fromUtc = bufferFrom.value?.utc ?? null\n let toUtc = bufferTo.value?.utc ?? null\n\n // If showTime is false, set toUtc to end of day (23:59:59)\n if (toUtc && !innerConfig.value.showTime && bufferTo.value?.local) {\n const toAtEndOfDay = endOfDay(bufferTo.value.local)\n toUtc = localToUTCString(toAtEndOfDay, true)\n }\n\n displayFrom.value = fromUtc\n displayTo.value = toUtc\n emit('update:modelValue', fromUtc || toUtc ? { fromUtc, toUtc } : null)\n}\n\nfunction confirm() {\n if (innerConfig.value.lazy) emitCurrent()\n isOpen.value = false\n}\n\nfunction clear() {\n bufferFrom.value = null\n bufferTo.value = null\n displayFrom.value = null\n displayTo.value = null\n emit('update:modelValue', null)\n}\n\nfunction clearBuffer() {\n bufferFrom.value = null\n bufferTo.value = null\n}\n\nfunction focusAndOpen() {\n isOpen.value = true\n}\n\ndefineExpose({ focusAndOpen })\n\nfunction computeStepOffset(): number | null {\n const from = bufferFrom.value?.local\n const to = bufferTo.value?.local\n if (!from || !to) return null\n\n const dayMs = 24 * 60 * 60 * 1000\n return innerConfig.value.showTime\n ? to.getTime() - from.getTime()\n : (Math.round((to.getTime() - from.getTime()) / dayMs) + 1) * dayMs\n}\n\nconst canStepBack = computed(() => {\n const from = bufferFrom.value?.local\n const to = bufferTo.value?.local\n if (!from || !to) return false\n const offset = computeStepOffset()\n if (offset == null) return false\n return canStepInBounds(from, to, -offset, {\n minDate: innerConfig.value.minDate ?? null,\n maxDate: innerConfig.value.maxDate ?? null,\n showTime: innerConfig.value.showTime ?? false,\n })\n})\n\nconst canStepForward = computed(() => {\n const from = bufferFrom.value?.local\n const to = bufferTo.value?.local\n if (!from || !to) return false\n const offset = computeStepOffset()\n if (offset == null) return false\n return canStepInBounds(from, to, offset, {\n minDate: innerConfig.value.minDate ?? null,\n maxDate: innerConfig.value.maxDate ?? null,\n showTime: innerConfig.value.showTime ?? false,\n })\n})\n\nfunction rangeStep(delta: number) {\n const from = bufferFrom.value?.local\n const to = bufferTo.value?.local\n if (!from || !to) return\n\n const offset = computeStepOffset()\n if (offset == null) return\n\n const allowed = canStepInBounds(from, to, offset * delta, {\n minDate: innerConfig.value.minDate ?? null,\n maxDate: innerConfig.value.maxDate ?? null,\n showTime: innerConfig.value.showTime ?? false,\n })\n if (!allowed) return\n\n bufferFrom.value = makePicked(new Date(from.getTime() + offset * delta))\n bufferTo.value = makePicked(new Date(to.getTime() + offset * delta))\n\n if (!innerConfig.value.lazy) emitCurrent()\n}\n\nconst activePredefinedRange = computed<PredefinedRangeKey | null>(() => {\n const fromLocal = bufferFrom.value?.local\n const toLocal = bufferTo.value?.local\n if (!fromLocal || !toLocal) return null\n return matchPredefinedRange(fromLocal, toLocal, { showTime: innerConfig.value.showTime ?? false })\n})\n\nconst predefinedRangeDisabled = computed<Record<PredefinedRangeKey, boolean>>(() => {\n const bounds = {\n minDate: innerConfig.value.minDate ?? null,\n maxDate: innerConfig.value.maxDate ?? null,\n showTime: innerConfig.value.showTime ?? false,\n }\n const out = {} as Record<PredefinedRangeKey, boolean>\n for (const range of predefinedRanges) {\n out[range.key] = !isPredefinedRangeInBounds(range.key, bounds)\n }\n return out\n})\n\nfunction pickPredefinedRange(key: PredefinedRangeKey) {\n const { from, to } = applyPredefinedRange(key, { showTime: innerConfig.value.showTime ?? false })\n bufferFrom.value = from\n bufferTo.value = to\n emitCurrent()\n\n if (innerConfig.value.lazy) {\n isOpen.value = false\n }\n}\n</script>\n\n<template>\n <div class=\"ac-component\">\n <div\n ref=\"wrapperRef\"\n class=\"drp-wrapper\"\n :class=\"{ 'drp-wrapper--compact': innerConfig.compact }\"\n >\n <div\n class=\"c-input-row\"\n :class=\"{\n 'c-input-row--sm': innerConfig.size === 'small',\n 'c-input-row--lg': innerConfig.size === 'large',\n 'c-input-row--focus': isOpen,\n }\"\n @click=\"isOpen = !isOpen\"\n >\n <div class=\"drp-input\">\n <template v-if=\"hasValue\">\n <span class=\"c-truncate drp-input__single\"\n >{{ formatUtc(displayFrom) }} – {{ formatUtc(displayTo) }}</span\n >\n <span class=\"drp-input__multi\">\n <span class=\"c-truncate drp-input__line\">{{ formatUtc(displayFrom) }}</span>\n <span class=\"c-truncate drp-input__line\">{{ formatUtc(displayTo) }}</span>\n </span>\n </template>\n <span v-else class=\"c-placeholder drp-input__placeholder\"\n >{{ innerConfig.placeholderFrom }} – {{ innerConfig.placeholderTo }}</span\n >\n </div>\n <button\n type=\"button\"\n class=\"c-icon-btn dp-clear c-icon-btn--clear\"\n :class=\"{ 'c-icon-btn--hidden': !hasValue }\"\n @click.stop=\"clear\"\n aria-label=\"Törlés\"\n >\n <i class=\"fa-solid fa-fw fa-xmark\"></i>\n </button>\n <button\n v-if=\"innerConfig.showIcon\"\n type=\"button\"\n class=\"c-icon-btn c-icon-btn--calendar\"\n @click.stop=\"isOpen = !isOpen\"\n aria-label=\"Naptár megnyitása\"\n >\n <i class=\"fa-regular fa-fw fa-calendar\"></i>\n </button>\n </div>\n\n <Teleport to=\"body\">\n <div class=\"ac-component\">\n <div\n v-if=\"isOpen\"\n ref=\"dropdownRef\"\n class=\"c-dropdown drp-dropdown\"\n :style=\"dropdownStyle\"\n >\n <div class=\"drp-pickers\">\n <div class=\"drp-picker-group\">\n <label class=\"drp-label\" :for=\"`${tempId}-from`\">{{\n innerConfig.placeholderFrom\n }}</label>\n <DatePicker\n :id=\"`${tempId}-from`\"\n :model-value=\"bufferFrom\"\n :config=\"{\n ...innerConfig,\n minDate: fromMinDate,\n maxDate: fromMaxDate,\n placeholder: innerConfig.placeholderFrom,\n }\"\n @update:model-value=\"updateFrom\"\n />\n </div>\n <div class=\"drp-picker-group\">\n <label class=\"drp-label\" :for=\"`${tempId}-to`\">{{\n innerConfig.placeholderTo\n }}</label>\n <DatePicker\n :id=\"`${tempId}-to`\"\n :model-value=\"bufferTo\"\n :config=\"{\n ...innerConfig,\n minDate: toMinDate,\n maxDate: toMaxDate,\n placeholder: innerConfig.placeholderTo,\n }\"\n @update:model-value=\"updateTo\"\n />\n </div>\n </div>\n <div v-if=\"innerConfig.showPresets\" class=\"drp-toolbar\">\n <span\n class=\"d-flex\"\n v-tooltip=\"\n !canStepBack\n ? 'Nem léphető tovább a minimum dátum miatt'\n : 'Intervallum mozgatása visszafelé'\n \"\n >\n <Button\n icon=\"fa-solid fa-chevron-left\"\n class=\"drp-toolbar__stepper left\"\n :disabled=\"!canStepBack\"\n @click=\"rangeStep(-1)\"\n />\n </span>\n <div class=\"predefined-ranges\">\n <a\n v-for=\"range in predefinedRanges\"\n :key=\"range.key\"\n class=\"predefined-range\"\n :class=\"{\n 'predefined-range--active': activePredefinedRange === range.key,\n 'predefined-range--disabled': predefinedRangeDisabled[range.key],\n }\"\n :aria-disabled=\"predefinedRangeDisabled[range.key]\"\n @click=\"\n predefinedRangeDisabled[range.key] ? null : pickPredefinedRange(range.key)\n \"\n >\n {{ range.label }}\n </a>\n </div>\n <span\n class=\"d-flex\"\n v-tooltip=\"\n !canStepForward\n ? 'Nem léphető tovább a maximum dátum miatt'\n : 'Intervallum mozgatása előre'\n \"\n >\n <Button\n icon=\"fa-solid fa-chevron-right\"\n :disabled=\"!canStepForward\"\n @click=\"rangeStep(1)\"\n class=\"drp-toolbar__stepper right\"\n />\n </span>\n </div>\n <div\n v-if=\"innerConfig.showClearButton || innerConfig.showOkButton || innerConfig.lazy\"\n class=\"c-footer\"\n >\n <Button\n v-if=\"innerConfig.showClearButton\"\n label=\"Törlés\"\n outline\n @click=\"innerConfig.lazy ? clearBuffer() : clear()\"\n />\n <Button\n v-if=\"innerConfig.showOkButton || innerConfig.lazy\"\n label=\"OK\"\n type=\"success\"\n @click=\"confirm\"\n />\n </div>\n </div>\n </div>\n </Teleport>\n </div>\n </div>\n</template>\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"admins-components22.js","names":[],"sources":["../src/components/DateRangePicker.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PickedUtcRange } from '@/types/types'\nimport type { DateRangePickerConfig } from '@/types/datepickers'\nimport { dateRangePickerConfigDefaults } from '@/types/datepickers'\n\nexport type { PickedUtcRange, DateRangePickerConfig }\nexport { dateRangePickerConfigDefaults }\n\nexport interface DateRangePickerProps {\n modelValue?: PickedUtcRange | null\n config?: DateRangePickerConfig\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { ref, computed, watch, useId } from 'vue'\nimport DatePicker from '@/components/DatePicker.vue'\nimport Button from '@/components/Button.vue'\nimport { localToUTCString, formatDate, endOfDay, laterOf, earlierOf } from '@/utils/date'\nimport {\n predefinedRanges,\n applyPredefinedRange,\n matchPredefinedRange,\n isPredefinedRangeInBounds,\n canStepInBounds,\n type PredefinedRangeKey,\n} from '@/utils/predefinedDateRange'\nimport { useDropdownAnchor } from '@/composables/useDropdownAnchor'\n\nimport type { PickedDate } from '@/types/types'\n\nconst props = withDefaults(defineProps<DateRangePickerProps>(), {\n modelValue: null,\n config: () => ({ ...dateRangePickerConfigDefaults }),\n})\n\nconst emit = defineEmits<{ 'update:modelValue': [value: PickedUtcRange | null] }>()\n\nconst tempId = `drp-input-${useId()}`\n\nconst innerConfig = computed(() => ({ ...dateRangePickerConfigDefaults, ...props.config }))\n\nconst wrapperRef = ref<HTMLElement | null>(null)\nconst dropdownRef = ref<HTMLElement | null>(null)\nconst { isOpen, dropdownStyle } = useDropdownAnchor(wrapperRef, dropdownRef, {\n isOutsideClick: (e, wrapperEl, dropdownEl) => {\n const target = e.target as Node\n return (\n !(wrapperEl?.contains(target) ?? false) &&\n !(dropdownEl?.contains(target) ?? false) &&\n !(target instanceof Element && target.closest('.c-dropdown'))\n )\n },\n})\n\nfunction toPicked(utc: string | null): PickedDate | null {\n return utc ? { local: new Date(utc), utc } : null\n}\n\nfunction makePicked(date: Date): PickedDate {\n return { local: date, utc: localToUTCString(date, innerConfig.value.showTime) }\n}\n\nfunction endOfDayPicked(picked: PickedDate): PickedDate {\n return picked.local ? makePicked(endOfDay(picked.local)) : picked\n}\n\nconst format = computed(\n () =>\n innerConfig.value.format ?? (innerConfig.value.showTime ? 'YYYY-MM-DD HH:mm' : 'YYYY-MM-DD'),\n)\n\nfunction formatUtc(utc: string | null | undefined): string {\n return utc ? formatDate(new Date(utc), format.value) : '...'\n}\n\nconst bufferFrom = ref<PickedDate | null>(toPicked(props.modelValue?.fromUtc ?? null))\nconst bufferTo = ref<PickedDate | null>(toPicked(props.modelValue?.toUtc ?? null))\nconst displayFrom = ref<string | null>(props.modelValue?.fromUtc ?? null)\nconst displayTo = ref<string | null>(props.modelValue?.toUtc ?? null)\n\nconst hasValue = computed(() => displayFrom.value != null || displayTo.value != null)\nconst minTo = computed(() => bufferFrom.value?.local ?? null)\nconst maxFrom = computed(() => bufferTo.value?.local ?? null)\n\nconst fromMinDate = computed(() => innerConfig.value.minDate ?? null)\nconst fromMaxDate = computed(() =>\n earlierOf(innerConfig.value.maxDate ?? null, maxFrom.value ?? null),\n)\n\nconst toMinDate = computed(() => laterOf(innerConfig.value.minDate ?? null, minTo.value ?? null))\nconst toMaxDate = computed(() => innerConfig.value.maxDate ?? null)\n\nwatch(\n () => props.modelValue,\n (val) => {\n const from = val?.fromUtc ?? null\n const to = val?.toUtc ?? null\n bufferFrom.value = toPicked(from)\n bufferTo.value = toPicked(to)\n displayFrom.value = from\n displayTo.value = to\n },\n)\n\nwatch(isOpen, (open) => {\n if (!open) return\n if (innerConfig.value.lazy) {\n bufferFrom.value = toPicked(displayFrom.value)\n bufferTo.value = toPicked(displayTo.value)\n }\n //nextTick(positionDropdown)\n})\n\nfunction updateFrom(val: PickedDate | null) {\n bufferFrom.value = val\n if (val && !bufferTo.value)\n bufferTo.value = innerConfig.value.showTime ? endOfDayPicked(val) : val\n if (!innerConfig.value.lazy) emitCurrent()\n}\n\nfunction updateTo(val: PickedDate | null) {\n bufferTo.value = val\n if (!innerConfig.value.lazy) emitCurrent()\n}\n\nfunction emitCurrent() {\n const fromUtc = bufferFrom.value?.utc ?? null\n const toUtc = bufferTo.value?.utc ?? null\n displayFrom.value = fromUtc\n displayTo.value = toUtc\n emit('update:modelValue', fromUtc || toUtc ? { fromUtc, toUtc } : null)\n}\n\nfunction confirm() {\n if (innerConfig.value.lazy) emitCurrent()\n isOpen.value = false\n}\n\nfunction clear() {\n bufferFrom.value = null\n bufferTo.value = null\n displayFrom.value = null\n displayTo.value = null\n emit('update:modelValue', null)\n}\n\nfunction clearBuffer() {\n bufferFrom.value = null\n bufferTo.value = null\n}\n\nfunction focusAndOpen() {\n isOpen.value = true\n}\n\ndefineExpose({ focusAndOpen })\n\nfunction computeStepOffset(): number | null {\n const from = bufferFrom.value?.local\n const to = bufferTo.value?.local\n if (!from || !to) return null\n\n const dayMs = 24 * 60 * 60 * 1000\n return innerConfig.value.showTime\n ? to.getTime() - from.getTime()\n : (Math.round((to.getTime() - from.getTime()) / dayMs) + 1) * dayMs\n}\n\nconst canStepBack = computed(() => {\n const from = bufferFrom.value?.local\n const to = bufferTo.value?.local\n if (!from || !to) return false\n const offset = computeStepOffset()\n if (offset == null) return false\n return canStepInBounds(from, to, -offset, {\n minDate: innerConfig.value.minDate ?? null,\n maxDate: innerConfig.value.maxDate ?? null,\n showTime: innerConfig.value.showTime ?? false,\n })\n})\n\nconst canStepForward = computed(() => {\n const from = bufferFrom.value?.local\n const to = bufferTo.value?.local\n if (!from || !to) return false\n const offset = computeStepOffset()\n if (offset == null) return false\n return canStepInBounds(from, to, offset, {\n minDate: innerConfig.value.minDate ?? null,\n maxDate: innerConfig.value.maxDate ?? null,\n showTime: innerConfig.value.showTime ?? false,\n })\n})\n\nfunction rangeStep(delta: number) {\n const from = bufferFrom.value?.local\n const to = bufferTo.value?.local\n if (!from || !to) return\n\n const offset = computeStepOffset()\n if (offset == null) return\n\n const allowed = canStepInBounds(from, to, offset * delta, {\n minDate: innerConfig.value.minDate ?? null,\n maxDate: innerConfig.value.maxDate ?? null,\n showTime: innerConfig.value.showTime ?? false,\n })\n if (!allowed) return\n\n bufferFrom.value = makePicked(new Date(from.getTime() + offset * delta))\n bufferTo.value = makePicked(new Date(to.getTime() + offset * delta))\n\n if (!innerConfig.value.lazy) emitCurrent()\n}\n\nconst activePredefinedRange = computed<PredefinedRangeKey | null>(() => {\n const fromLocal = bufferFrom.value?.local\n const toLocal = bufferTo.value?.local\n if (!fromLocal || !toLocal) return null\n return matchPredefinedRange(fromLocal, toLocal, { showTime: innerConfig.value.showTime ?? false })\n})\n\nconst predefinedRangeDisabled = computed<Record<PredefinedRangeKey, boolean>>(() => {\n const bounds = {\n minDate: innerConfig.value.minDate ?? null,\n maxDate: innerConfig.value.maxDate ?? null,\n showTime: innerConfig.value.showTime ?? false,\n }\n const out = {} as Record<PredefinedRangeKey, boolean>\n for (const range of predefinedRanges) {\n out[range.key] = !isPredefinedRangeInBounds(range.key, bounds)\n }\n return out\n})\n\nfunction pickPredefinedRange(key: PredefinedRangeKey) {\n const { from, to } = applyPredefinedRange(key, { showTime: innerConfig.value.showTime ?? false })\n bufferFrom.value = from\n bufferTo.value = to\n emitCurrent()\n\n if (innerConfig.value.lazy) {\n isOpen.value = false\n }\n}\n</script>\n\n<template>\n <div class=\"ac-component\">\n <div\n ref=\"wrapperRef\"\n class=\"drp-wrapper\"\n :class=\"{ 'drp-wrapper--compact': innerConfig.compact }\"\n >\n <div\n class=\"c-input-row\"\n :class=\"{\n 'c-input-row--sm': innerConfig.size === 'small',\n 'c-input-row--lg': innerConfig.size === 'large',\n 'c-input-row--focus': isOpen,\n }\"\n @click=\"isOpen = !isOpen\"\n >\n <div class=\"drp-input\">\n <template v-if=\"hasValue\">\n <span class=\"c-truncate drp-input__single\"\n >{{ formatUtc(displayFrom) }} – {{ formatUtc(displayTo) }}</span\n >\n <span class=\"drp-input__multi\">\n <span class=\"c-truncate drp-input__line\">{{ formatUtc(displayFrom) }}</span>\n <span class=\"c-truncate drp-input__line\">{{ formatUtc(displayTo) }}</span>\n </span>\n </template>\n <span v-else class=\"c-placeholder drp-input__placeholder\"\n >{{ innerConfig.placeholderFrom }} – {{ innerConfig.placeholderTo }}</span\n >\n </div>\n <button\n type=\"button\"\n class=\"c-icon-btn dp-clear c-icon-btn--clear\"\n :class=\"{ 'c-icon-btn--hidden': !hasValue }\"\n @click.stop=\"clear\"\n aria-label=\"Törlés\"\n >\n <i class=\"fa-solid fa-fw fa-xmark\"></i>\n </button>\n <button\n v-if=\"innerConfig.showIcon\"\n type=\"button\"\n class=\"c-icon-btn c-icon-btn--calendar\"\n @click.stop=\"isOpen = !isOpen\"\n aria-label=\"Naptár megnyitása\"\n >\n <i class=\"fa-regular fa-fw fa-calendar\"></i>\n </button>\n </div>\n\n <Teleport to=\"body\">\n <div class=\"ac-component\">\n <div\n v-if=\"isOpen\"\n ref=\"dropdownRef\"\n class=\"c-dropdown drp-dropdown\"\n :style=\"dropdownStyle\"\n >\n <div class=\"drp-pickers\">\n <div class=\"drp-picker-group\">\n <label class=\"drp-label\" :for=\"`${tempId}-from`\">{{\n innerConfig.placeholderFrom\n }}</label>\n <DatePicker\n :id=\"`${tempId}-from`\"\n :model-value=\"bufferFrom\"\n :config=\"{\n ...innerConfig,\n minDate: fromMinDate,\n maxDate: fromMaxDate,\n placeholder: innerConfig.placeholderFrom,\n }\"\n @update:model-value=\"updateFrom\"\n />\n </div>\n <div class=\"drp-picker-group\">\n <label class=\"drp-label\" :for=\"`${tempId}-to`\">{{\n innerConfig.placeholderTo\n }}</label>\n <DatePicker\n :id=\"`${tempId}-to`\"\n :model-value=\"bufferTo\"\n :config=\"{\n ...innerConfig,\n minDate: toMinDate,\n maxDate: toMaxDate,\n placeholder: innerConfig.placeholderTo,\n }\"\n @update:model-value=\"updateTo\"\n />\n </div>\n </div>\n <div v-if=\"innerConfig.showPresets\" class=\"drp-toolbar\">\n <span\n class=\"d-flex\"\n v-tooltip=\"\n !canStepBack\n ? 'Nem léphető tovább a minimum dátum miatt'\n : 'Intervallum mozgatása visszafelé'\n \"\n >\n <Button\n icon=\"fa-solid fa-chevron-left\"\n class=\"drp-toolbar__stepper left\"\n :disabled=\"!canStepBack\"\n @click=\"rangeStep(-1)\"\n />\n </span>\n <div class=\"predefined-ranges\">\n <a\n v-for=\"range in predefinedRanges\"\n :key=\"range.key\"\n class=\"predefined-range\"\n :class=\"{\n 'predefined-range--active': activePredefinedRange === range.key,\n 'predefined-range--disabled': predefinedRangeDisabled[range.key],\n }\"\n :aria-disabled=\"predefinedRangeDisabled[range.key]\"\n @click=\"\n predefinedRangeDisabled[range.key] ? null : pickPredefinedRange(range.key)\n \"\n >\n {{ range.label }}\n </a>\n </div>\n <span\n class=\"d-flex\"\n v-tooltip=\"\n !canStepForward\n ? 'Nem léphető tovább a maximum dátum miatt'\n : 'Intervallum mozgatása előre'\n \"\n >\n <Button\n icon=\"fa-solid fa-chevron-right\"\n :disabled=\"!canStepForward\"\n @click=\"rangeStep(1)\"\n class=\"drp-toolbar__stepper right\"\n />\n </span>\n </div>\n <div\n v-if=\"innerConfig.showClearButton || innerConfig.showOkButton || innerConfig.lazy\"\n class=\"c-footer\"\n >\n <Button\n v-if=\"innerConfig.showClearButton\"\n label=\"Törlés\"\n outline\n @click=\"innerConfig.lazy ? clearBuffer() : clear()\"\n />\n <Button\n v-if=\"innerConfig.showOkButton || innerConfig.lazy\"\n label=\"OK\"\n type=\"success\"\n @click=\"confirm\"\n />\n </div>\n </div>\n </div>\n </Teleport>\n </div>\n </div>\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"admins-components22.js","names":[],"sources":["../src/components/DateRangePicker.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PickedUtcRange } from '@/types/types'\nimport type { DateRangePickerConfig } from '@/types/datepickers'\nimport { dateRangePickerConfigDefaults } from '@/types/datepickers'\n\nexport type { PickedUtcRange, DateRangePickerConfig }\nexport { dateRangePickerConfigDefaults }\n\nexport interface DateRangePickerProps {\n modelValue?: PickedUtcRange | null\n config?: DateRangePickerConfig\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { ref, computed, watch, useId } from 'vue'\nimport DatePicker from '@/components/DatePicker.vue'\nimport Button from '@/components/Button.vue'\nimport { localToUTCString, formatDate, endOfDay, laterOf, earlierOf } from '@/utils/date'\nimport {\n predefinedRanges,\n applyPredefinedRange,\n matchPredefinedRange,\n isPredefinedRangeInBounds,\n canStepInBounds,\n type PredefinedRangeKey,\n} from '@/utils/predefinedDateRange'\nimport { useDropdownAnchor } from '@/composables/useDropdownAnchor'\n\nimport type { PickedDate } from '@/types/types'\n\nconst props = withDefaults(defineProps<DateRangePickerProps>(), {\n modelValue: null,\n config: () => ({ ...dateRangePickerConfigDefaults }),\n})\n\nconst emit = defineEmits<{ 'update:modelValue': [value: PickedUtcRange | null] }>()\n\nconst tempId = `drp-input-${useId()}`\n\nconst innerConfig = computed(() => ({ ...dateRangePickerConfigDefaults, ...props.config }))\n\nconst wrapperRef = ref<HTMLElement | null>(null)\nconst dropdownRef = ref<HTMLElement | null>(null)\nconst { isOpen, dropdownStyle } = useDropdownAnchor(wrapperRef, dropdownRef, {\n isOutsideClick: (e, wrapperEl, dropdownEl) => {\n const target = e.target as Node\n return (\n !(wrapperEl?.contains(target) ?? false) &&\n !(dropdownEl?.contains(target) ?? false) &&\n !(target instanceof Element && target.closest('.c-dropdown'))\n )\n },\n})\n\nfunction toPicked(utc: string | null): PickedDate | null {\n return utc ? { local: new Date(utc), utc } : null\n}\n\nfunction makePicked(date: Date): PickedDate {\n return { local: date, utc: localToUTCString(date, innerConfig.value.showTime) }\n}\n\nfunction endOfDayPicked(picked: PickedDate): PickedDate {\n return picked.local ? makePicked(endOfDay(picked.local)) : picked\n}\n\nconst format = computed(\n () =>\n innerConfig.value.format ?? (innerConfig.value.showTime ? 'YYYY-MM-DD HH:mm' : 'YYYY-MM-DD'),\n)\n\nfunction formatUtc(utc: string | null | undefined): string {\n return utc ? formatDate(new Date(utc), format.value) : '...'\n}\n\nconst bufferFrom = ref<PickedDate | null>(toPicked(props.modelValue?.fromUtc ?? null))\nconst bufferTo = ref<PickedDate | null>(toPicked(props.modelValue?.toUtc ?? null))\nconst displayFrom = ref<string | null>(props.modelValue?.fromUtc ?? null)\nconst displayTo = ref<string | null>(props.modelValue?.toUtc ?? null)\n\nconst hasValue = computed(() => displayFrom.value != null || displayTo.value != null)\nconst minTo = computed(() => bufferFrom.value?.local ?? null)\nconst maxFrom = computed(() => bufferTo.value?.local ?? null)\n\nconst fromMinDate = computed(() => innerConfig.value.minDate ?? null)\nconst fromMaxDate = computed(() =>\n earlierOf(innerConfig.value.maxDate ?? null, maxFrom.value ?? null),\n)\n\nconst toMinDate = computed(() => laterOf(innerConfig.value.minDate ?? null, minTo.value ?? null))\nconst toMaxDate = computed(() => innerConfig.value.maxDate ?? null)\n\nwatch(\n () => props.modelValue,\n (val) => {\n const from = val?.fromUtc ?? null\n const to = val?.toUtc ?? null\n bufferFrom.value = toPicked(from)\n bufferTo.value = toPicked(to)\n displayFrom.value = from\n displayTo.value = to\n },\n)\n\nwatch(isOpen, (open) => {\n if (!open) return\n if (innerConfig.value.lazy) {\n bufferFrom.value = toPicked(displayFrom.value)\n bufferTo.value = toPicked(displayTo.value)\n }\n //nextTick(positionDropdown)\n})\n\nfunction updateFrom(val: PickedDate | null) {\n bufferFrom.value = val\n if (val && !bufferTo.value)\n bufferTo.value = innerConfig.value.showTime ? endOfDayPicked(val) : val\n if (!innerConfig.value.lazy) emitCurrent()\n}\n\nfunction updateTo(val: PickedDate | null) {\n bufferTo.value = val\n if (!innerConfig.value.lazy) emitCurrent()\n}\n\nfunction emitCurrent() {\n const fromUtc = bufferFrom.value?.utc ?? null\n let toUtc = bufferTo.value?.utc ?? null\n\n // If showTime is false, set toUtc to end of day (23:59:59)\n if (toUtc && !innerConfig.value.showTime && bufferTo.value?.local) {\n const toAtEndOfDay = endOfDay(bufferTo.value.local)\n toUtc = localToUTCString(toAtEndOfDay, true)\n }\n\n displayFrom.value = fromUtc\n displayTo.value = toUtc\n emit('update:modelValue', fromUtc || toUtc ? { fromUtc, toUtc } : null)\n}\n\nfunction confirm() {\n if (innerConfig.value.lazy) emitCurrent()\n isOpen.value = false\n}\n\nfunction clear() {\n bufferFrom.value = null\n bufferTo.value = null\n displayFrom.value = null\n displayTo.value = null\n emit('update:modelValue', null)\n}\n\nfunction clearBuffer() {\n bufferFrom.value = null\n bufferTo.value = null\n}\n\nfunction focusAndOpen() {\n isOpen.value = true\n}\n\ndefineExpose({ focusAndOpen })\n\nfunction computeStepOffset(): number | null {\n const from = bufferFrom.value?.local\n const to = bufferTo.value?.local\n if (!from || !to) return null\n\n const dayMs = 24 * 60 * 60 * 1000\n return innerConfig.value.showTime\n ? to.getTime() - from.getTime()\n : (Math.round((to.getTime() - from.getTime()) / dayMs) + 1) * dayMs\n}\n\nconst canStepBack = computed(() => {\n const from = bufferFrom.value?.local\n const to = bufferTo.value?.local\n if (!from || !to) return false\n const offset = computeStepOffset()\n if (offset == null) return false\n return canStepInBounds(from, to, -offset, {\n minDate: innerConfig.value.minDate ?? null,\n maxDate: innerConfig.value.maxDate ?? null,\n showTime: innerConfig.value.showTime ?? false,\n })\n})\n\nconst canStepForward = computed(() => {\n const from = bufferFrom.value?.local\n const to = bufferTo.value?.local\n if (!from || !to) return false\n const offset = computeStepOffset()\n if (offset == null) return false\n return canStepInBounds(from, to, offset, {\n minDate: innerConfig.value.minDate ?? null,\n maxDate: innerConfig.value.maxDate ?? null,\n showTime: innerConfig.value.showTime ?? false,\n })\n})\n\nfunction rangeStep(delta: number) {\n const from = bufferFrom.value?.local\n const to = bufferTo.value?.local\n if (!from || !to) return\n\n const offset = computeStepOffset()\n if (offset == null) return\n\n const allowed = canStepInBounds(from, to, offset * delta, {\n minDate: innerConfig.value.minDate ?? null,\n maxDate: innerConfig.value.maxDate ?? null,\n showTime: innerConfig.value.showTime ?? false,\n })\n if (!allowed) return\n\n bufferFrom.value = makePicked(new Date(from.getTime() + offset * delta))\n bufferTo.value = makePicked(new Date(to.getTime() + offset * delta))\n\n if (!innerConfig.value.lazy) emitCurrent()\n}\n\nconst activePredefinedRange = computed<PredefinedRangeKey | null>(() => {\n const fromLocal = bufferFrom.value?.local\n const toLocal = bufferTo.value?.local\n if (!fromLocal || !toLocal) return null\n return matchPredefinedRange(fromLocal, toLocal, { showTime: innerConfig.value.showTime ?? false })\n})\n\nconst predefinedRangeDisabled = computed<Record<PredefinedRangeKey, boolean>>(() => {\n const bounds = {\n minDate: innerConfig.value.minDate ?? null,\n maxDate: innerConfig.value.maxDate ?? null,\n showTime: innerConfig.value.showTime ?? false,\n }\n const out = {} as Record<PredefinedRangeKey, boolean>\n for (const range of predefinedRanges) {\n out[range.key] = !isPredefinedRangeInBounds(range.key, bounds)\n }\n return out\n})\n\nfunction pickPredefinedRange(key: PredefinedRangeKey) {\n const { from, to } = applyPredefinedRange(key, { showTime: innerConfig.value.showTime ?? false })\n bufferFrom.value = from\n bufferTo.value = to\n emitCurrent()\n\n if (innerConfig.value.lazy) {\n isOpen.value = false\n }\n}\n</script>\n\n<template>\n <div class=\"ac-component\">\n <div\n ref=\"wrapperRef\"\n class=\"drp-wrapper\"\n :class=\"{ 'drp-wrapper--compact': innerConfig.compact }\"\n >\n <div\n class=\"c-input-row\"\n :class=\"{\n 'c-input-row--sm': innerConfig.size === 'small',\n 'c-input-row--lg': innerConfig.size === 'large',\n 'c-input-row--focus': isOpen,\n }\"\n @click=\"isOpen = !isOpen\"\n >\n <div class=\"drp-input\">\n <template v-if=\"hasValue\">\n <span class=\"c-truncate drp-input__single\"\n >{{ formatUtc(displayFrom) }} – {{ formatUtc(displayTo) }}</span\n >\n <span class=\"drp-input__multi\">\n <span class=\"c-truncate drp-input__line\">{{ formatUtc(displayFrom) }}</span>\n <span class=\"c-truncate drp-input__line\">{{ formatUtc(displayTo) }}</span>\n </span>\n </template>\n <span v-else class=\"c-placeholder drp-input__placeholder\"\n >{{ innerConfig.placeholderFrom }} – {{ innerConfig.placeholderTo }}</span\n >\n </div>\n <button\n type=\"button\"\n class=\"c-icon-btn dp-clear c-icon-btn--clear\"\n :class=\"{ 'c-icon-btn--hidden': !hasValue }\"\n @click.stop=\"clear\"\n aria-label=\"Törlés\"\n >\n <i class=\"fa-solid fa-fw fa-xmark\"></i>\n </button>\n <button\n v-if=\"innerConfig.showIcon\"\n type=\"button\"\n class=\"c-icon-btn c-icon-btn--calendar\"\n @click.stop=\"isOpen = !isOpen\"\n aria-label=\"Naptár megnyitása\"\n >\n <i class=\"fa-regular fa-fw fa-calendar\"></i>\n </button>\n </div>\n\n <Teleport to=\"body\">\n <div class=\"ac-component\">\n <div\n v-if=\"isOpen\"\n ref=\"dropdownRef\"\n class=\"c-dropdown drp-dropdown\"\n :style=\"dropdownStyle\"\n >\n <div class=\"drp-pickers\">\n <div class=\"drp-picker-group\">\n <label class=\"drp-label\" :for=\"`${tempId}-from`\">{{\n innerConfig.placeholderFrom\n }}</label>\n <DatePicker\n :id=\"`${tempId}-from`\"\n :model-value=\"bufferFrom\"\n :config=\"{\n ...innerConfig,\n minDate: fromMinDate,\n maxDate: fromMaxDate,\n placeholder: innerConfig.placeholderFrom,\n }\"\n @update:model-value=\"updateFrom\"\n />\n </div>\n <div class=\"drp-picker-group\">\n <label class=\"drp-label\" :for=\"`${tempId}-to`\">{{\n innerConfig.placeholderTo\n }}</label>\n <DatePicker\n :id=\"`${tempId}-to`\"\n :model-value=\"bufferTo\"\n :config=\"{\n ...innerConfig,\n minDate: toMinDate,\n maxDate: toMaxDate,\n placeholder: innerConfig.placeholderTo,\n }\"\n @update:model-value=\"updateTo\"\n />\n </div>\n </div>\n <div v-if=\"innerConfig.showPresets\" class=\"drp-toolbar\">\n <span\n class=\"d-flex\"\n v-tooltip=\"\n !canStepBack\n ? 'Nem léphető tovább a minimum dátum miatt'\n : 'Intervallum mozgatása visszafelé'\n \"\n >\n <Button\n icon=\"fa-solid fa-chevron-left\"\n class=\"drp-toolbar__stepper left\"\n :disabled=\"!canStepBack\"\n @click=\"rangeStep(-1)\"\n />\n </span>\n <div class=\"predefined-ranges\">\n <a\n v-for=\"range in predefinedRanges\"\n :key=\"range.key\"\n class=\"predefined-range\"\n :class=\"{\n 'predefined-range--active': activePredefinedRange === range.key,\n 'predefined-range--disabled': predefinedRangeDisabled[range.key],\n }\"\n :aria-disabled=\"predefinedRangeDisabled[range.key]\"\n @click=\"\n predefinedRangeDisabled[range.key] ? null : pickPredefinedRange(range.key)\n \"\n >\n {{ range.label }}\n </a>\n </div>\n <span\n class=\"d-flex\"\n v-tooltip=\"\n !canStepForward\n ? 'Nem léphető tovább a maximum dátum miatt'\n : 'Intervallum mozgatása előre'\n \"\n >\n <Button\n icon=\"fa-solid fa-chevron-right\"\n :disabled=\"!canStepForward\"\n @click=\"rangeStep(1)\"\n class=\"drp-toolbar__stepper right\"\n />\n </span>\n </div>\n <div\n v-if=\"innerConfig.showClearButton || innerConfig.showOkButton || innerConfig.lazy\"\n class=\"c-footer\"\n >\n <Button\n v-if=\"innerConfig.showClearButton\"\n label=\"Törlés\"\n outline\n @click=\"innerConfig.lazy ? clearBuffer() : clear()\"\n />\n <Button\n v-if=\"innerConfig.showOkButton || innerConfig.lazy\"\n label=\"OK\"\n type=\"success\"\n @click=\"confirm\"\n />\n </div>\n </div>\n </div>\n </Teleport>\n </div>\n </div>\n</template>\n"],"mappings":""}