@featherk/composables 0.5.7 → 0.6.0

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.
@@ -1,18 +1,18 @@
1
- import { ref as z, onBeforeUnmount as xe, nextTick as N, computed as A, watch as le, onMounted as De, readonly as _, getCurrentScope as Me, onScopeDispose as $e, toValue as ie, unref as Ce, shallowRef as Ie } from "vue";
2
- import { useFocusTrap as Te } from "@vueuse/integrations/useFocusTrap";
3
- const Ye = (e) => {
4
- const t = z(null);
5
- let f = !1, P = null, q = null;
6
- const V = [], j = ".k-table-row[data-grid-row-index] [tabindex]", v = () => e?.value?.columns, b = (o) => {
7
- const s = o.key || o.code;
8
- [" ", "Spacebar", "Space", "Enter"].includes(s) && (o.preventDefault(), o.stopPropagation(), t.value = o.target, o.target.click());
9
- }, C = (o) => {
10
- if (!t.value) return;
1
+ import { ref as z, onBeforeUnmount as xe, nextTick as N, computed as D, watch as ie, onMounted as De, readonly as _, getCurrentScope as Me, onScopeDispose as $e, toValue as ue, unref as Ce, shallowRef as Ie } from "vue";
2
+ import { useFocusTrap as Le } from "@vueuse/integrations/useFocusTrap";
3
+ const Ve = (e) => {
4
+ const n = z(null);
5
+ let d = !1, q = null, R = null;
6
+ const K = [], H = ".k-table-row[data-grid-row-index] [tabindex]", E = () => e?.value?.columns, k = (o) => {
7
+ const c = o.key || o.code;
8
+ [" ", "Spacebar", "Space", "Enter"].includes(c) && (o.preventDefault(), o.stopPropagation(), n.value = o.target, o.target.click());
9
+ }, y = (o) => {
10
+ if (!n.value) return;
11
11
  if (o.code === "Escape") {
12
- o.preventDefault(), o.stopPropagation(), t.value && t.value.focus();
12
+ o.preventDefault(), o.stopPropagation(), n.value && n.value.focus();
13
13
  return;
14
14
  }
15
- const s = Array.from(
15
+ const c = Array.from(
16
16
  document.querySelectorAll(
17
17
  ".k-animation-container .k-popup .k-column-menu .k-columnmenu-item-wrapper .k-columnmenu-item"
18
18
  )
@@ -23,97 +23,97 @@ const Ye = (e) => {
23
23
  ".k-filter-menu-container .k-dropdownlist[tabindex='0']",
24
24
  ".k-filter-menu-container input.k-input-inner:not([tabindex='-1']):not([disabled])",
25
25
  ".k-filter-menu-container button:not([tabindex='-1']):not([disabled])"
26
- ], d = Array.from(
26
+ ], m = Array.from(
27
27
  l.querySelectorAll(i.join(","))
28
28
  );
29
- if (d.length === 0) return;
30
- const k = d.findIndex(
31
- (T) => T === document.activeElement
29
+ if (m.length === 0) return;
30
+ const M = m.findIndex(
31
+ (P) => P === document.activeElement
32
32
  );
33
- let S;
34
- k === -1 ? S = 0 : o.shiftKey ? S = (k - 1 + d.length) % d.length : S = (k + 1) % d.length, o.preventDefault(), o.stopPropagation(), d[S]?.focus();
33
+ let w;
34
+ M === -1 ? w = 0 : o.shiftKey ? w = (M - 1 + m.length) % m.length : w = (M + 1) % m.length, o.preventDefault(), o.stopPropagation(), m[w]?.focus();
35
35
  return;
36
36
  }
37
37
  } else if (o.code === "ArrowUp" || o.code === "ArrowDown") {
38
38
  o.preventDefault(), o.stopPropagation();
39
- const i = s.findIndex(
40
- (k) => k === document.activeElement
39
+ const i = c.findIndex(
40
+ (M) => M === document.activeElement
41
41
  );
42
- let d = i;
43
- o.code === "ArrowUp" ? d = i > 0 ? i - 1 : s.length - 1 : o.code === "ArrowDown" && (d = i < s.length - 1 ? i + 1 : 0), s[d]?.focus();
42
+ let m = i;
43
+ o.code === "ArrowUp" ? m = i > 0 ? i - 1 : c.length - 1 : o.code === "ArrowDown" && (m = i < c.length - 1 ? i + 1 : 0), c[m]?.focus();
44
44
  return;
45
45
  }
46
- o.code === "Tab" && (o.preventDefault(), o.stopPropagation(), o.shiftKey ? (t.value?.previousElementSibling).focus() : (t.value?.nextElementSibling).focus());
47
- }, h = () => {
48
- P = new MutationObserver((o) => {
49
- o.forEach((s) => {
50
- s.addedNodes.forEach((l) => {
46
+ o.code === "Tab" && (o.preventDefault(), o.stopPropagation(), o.shiftKey ? (n.value?.previousElementSibling).focus() : (n.value?.nextElementSibling).focus());
47
+ }, A = () => {
48
+ q = new MutationObserver((o) => {
49
+ o.forEach((c) => {
50
+ c.addedNodes.forEach((l) => {
51
51
  if (l.nodeType === Node.ELEMENT_NODE) {
52
52
  const i = l;
53
53
  if (i.classList.contains("k-animation-container")) {
54
- const k = t.value;
55
- k && (k.dataset.featherKSortable === "true" || N(() => {
54
+ const M = n.value;
55
+ M && (M.dataset.featherKSortable === "true" || N(() => {
56
56
  i.querySelectorAll(
57
57
  ".k-columnmenu-item-wrapper"
58
- ).forEach((B) => {
59
- B.textContent?.toLowerCase().includes("sort") && B.remove();
58
+ ).forEach((W) => {
59
+ W.textContent?.toLowerCase().includes("sort") && W.remove();
60
60
  });
61
61
  })), i.addEventListener(
62
62
  "keydown",
63
- C
63
+ y
64
64
  ), N(() => {
65
- const S = () => {
66
- const T = Array.from(
65
+ const w = () => {
66
+ const P = Array.from(
67
67
  i.querySelectorAll(
68
68
  ".k-animation-container .k-popup .k-column-menu .k-columnmenu-item-wrapper .k-columnmenu-item"
69
69
  )
70
70
  );
71
- if (T.length === 1)
72
- T[0].focus(), T[0].click(), S.attempts = 0;
73
- else if (T.length > 1) {
74
- S.attempts = 0;
71
+ if (P.length === 1)
72
+ P[0].focus(), P[0].click(), w.attempts = 0;
73
+ else if (P.length > 1) {
74
+ w.attempts = 0;
75
75
  return;
76
76
  } else
77
- S.attempts === void 0 && (S.attempts = 0), S.attempts++ < 3 && setTimeout(S, 200);
77
+ w.attempts === void 0 && (w.attempts = 0), w.attempts++ < 3 && setTimeout(w, 200);
78
78
  };
79
- S();
79
+ w();
80
80
  });
81
81
  }
82
82
  i.querySelectorAll(
83
83
  ".k-animation-container"
84
- ).forEach((k) => {
85
- k.addEventListener(
84
+ ).forEach((M) => {
85
+ M.addEventListener(
86
86
  "keydown",
87
- C
87
+ y
88
88
  );
89
89
  });
90
90
  }
91
- }), s.removedNodes.forEach((l) => {
91
+ }), c.removedNodes.forEach((l) => {
92
92
  if (l.nodeType === Node.ELEMENT_NODE) {
93
93
  const i = l;
94
94
  i.classList.contains("k-animation-container") && i.removeEventListener(
95
95
  "keydown",
96
- C
96
+ y
97
97
  ), i.querySelectorAll(
98
98
  ".k-animation-container"
99
- ).forEach((k) => {
100
- k.removeEventListener(
99
+ ).forEach((M) => {
100
+ M.removeEventListener(
101
101
  "keydown",
102
- C
102
+ y
103
103
  );
104
104
  });
105
105
  }
106
106
  });
107
107
  });
108
- }), P.observe(document.body, {
108
+ }), q.observe(document.body, {
109
109
  childList: !0,
110
110
  subtree: !0
111
111
  });
112
112
  }, L = (o) => {
113
113
  if (!o.type || !o)
114
114
  return;
115
- const s = o.target;
116
- if (s) {
115
+ const c = o.target;
116
+ if (c) {
117
117
  if (o.code === "Escape") {
118
118
  const l = document.activeElement?.closest(".k-table-row[data-grid-row-index]");
119
119
  if (l) {
@@ -123,7 +123,7 @@ const Ye = (e) => {
123
123
  e?.value.$el.querySelectorAll(
124
124
  ".k-table-row[data-grid-row-index]"
125
125
  )
126
- ).forEach((d) => d.setAttribute("tabindex", "-1"));
126
+ ).forEach((m) => m.setAttribute("tabindex", "-1"));
127
127
  } catch {
128
128
  }
129
129
  l.setAttribute("tabindex", "0"), l.focus();
@@ -138,57 +138,57 @@ const Ye = (e) => {
138
138
  "Enter",
139
139
  "Space"
140
140
  ].includes(o.code)) {
141
- if (o.preventDefault(), s.classList.contains("k-grid-header-menu") && s.classList.contains("k-grid-column-menu")) {
142
- t.value = s;
141
+ if (o.preventDefault(), c.classList.contains("k-grid-header-menu") && c.classList.contains("k-grid-column-menu")) {
142
+ n.value = c;
143
143
  return;
144
144
  }
145
- const l = s.closest(
145
+ const l = c.closest(
146
146
  ".k-table-row[data-grid-row-index]"
147
147
  );
148
148
  if (l) {
149
149
  if (["ArrowDown", "ArrowUp"].includes(o.code)) {
150
- const i = (k, S) => {
151
- let T = S === "next" ? k.nextElementSibling : k.previousElementSibling;
152
- for (; T; ) {
153
- const B = T;
150
+ const i = (M, w) => {
151
+ let P = w === "next" ? M.nextElementSibling : M.previousElementSibling;
152
+ for (; P; ) {
153
+ const W = P;
154
154
  try {
155
- if (B.hasAttribute && B.classList.contains("k-table-row"))
156
- return B;
155
+ if (W.hasAttribute && W.classList.contains("k-table-row"))
156
+ return W;
157
157
  } catch {
158
158
  }
159
- T = S === "next" ? T.nextElementSibling : T.previousElementSibling;
159
+ P = w === "next" ? P.nextElementSibling : P.previousElementSibling;
160
160
  }
161
161
  return null;
162
- }, d = o.code === "ArrowDown" ? i(l, "next") : i(l, "previous");
163
- d && (l.setAttribute("tabindex", "-1"), d.setAttribute("tabindex", "0"), d.focus());
162
+ }, m = o.code === "ArrowDown" ? i(l, "next") : i(l, "previous");
163
+ m && (l.setAttribute("tabindex", "-1"), m.setAttribute("tabindex", "0"), m.focus());
164
164
  return;
165
165
  }
166
166
  if (["ArrowLeft", "ArrowRight"].includes(o.code)) {
167
167
  o.preventDefault();
168
168
  const i = l.querySelectorAll(
169
- j
169
+ H
170
170
  );
171
171
  if (i.length === 0) return;
172
- let d = Array.from(i).findIndex(
173
- (k) => k === document.activeElement
172
+ let m = Array.from(i).findIndex(
173
+ (M) => M === document.activeElement
174
174
  );
175
- if (d === -1 && document.activeElement === l) {
175
+ if (m === -1 && document.activeElement === l) {
176
176
  i[0].focus();
177
177
  return;
178
178
  }
179
- o.code === "ArrowRight" ? d = d === i.length - 1 ? 0 : d + 1 : o.code === "ArrowLeft" && (d = d === i.length - 1 ? d - 1 : i.length - 1), i[d].focus();
179
+ o.code === "ArrowRight" ? m = m === i.length - 1 ? 0 : m + 1 : o.code === "ArrowLeft" && (m = m === i.length - 1 ? m - 1 : i.length - 1), i[m].focus();
180
180
  return;
181
181
  }
182
182
  }
183
183
  }
184
184
  }
185
- }, E = () => {
185
+ }, x = () => {
186
186
  N(() => {
187
187
  const o = e.value.$el.closest(".k-grid");
188
188
  o && o.classList.add("fk-grid");
189
189
  });
190
- }, y = () => {
191
- if (!q)
190
+ }, S = () => {
191
+ if (!R)
192
192
  try {
193
193
  const o = () => {
194
194
  try {
@@ -198,81 +198,81 @@ const Ye = (e) => {
198
198
  )
199
199
  );
200
200
  if (!i || i.length === 0 || i.filter(
201
- (S) => S.getAttribute("tabindex") === "0"
201
+ (w) => w.getAttribute("tabindex") === "0"
202
202
  ).length === 1) return;
203
- const k = i.find(
204
- (S) => S === document.activeElement || S.contains(document.activeElement)
203
+ const M = i.find(
204
+ (w) => w === document.activeElement || w.contains(document.activeElement)
205
205
  );
206
- if (i.forEach((S) => S.setAttribute("tabindex", "-1")), k) {
207
- k.setAttribute("tabindex", "0");
206
+ if (i.forEach((w) => w.setAttribute("tabindex", "-1")), M) {
207
+ M.setAttribute("tabindex", "0");
208
208
  return;
209
209
  }
210
210
  i[0].setAttribute("tabindex", "0");
211
211
  } catch (i) {
212
212
  console.error("ensureSingleTabindex error:", i);
213
213
  }
214
- }, s = Array.from(
214
+ }, c = Array.from(
215
215
  e.value.$el.querySelectorAll(
216
216
  ".k-table-row[data-grid-row-index]"
217
217
  )
218
218
  );
219
- s.length > 0 && s.forEach((i, d) => {
220
- i.setAttribute("tabindex", d === 0 ? "0" : "-1");
219
+ c.length > 0 && c.forEach((i, m) => {
220
+ i.setAttribute("tabindex", m === 0 ? "0" : "-1");
221
221
  });
222
222
  const l = e.value.$el.querySelector(".k-table-tbody");
223
- l && (q = new MutationObserver(() => {
223
+ l && (R = new MutationObserver(() => {
224
224
  o();
225
- }), q.observe(l, { childList: !0, subtree: !0 }));
225
+ }), R.observe(l, { childList: !0, subtree: !0 }));
226
226
  } catch (o) {
227
227
  console.error("Error setting up row navigation:", o);
228
228
  }
229
- }, I = () => {
229
+ }, T = () => {
230
230
  N(() => {
231
- const s = document.querySelectorAll(".k-grid-header .k-grid-header-menu.k-grid-column-menu");
232
- s && s.forEach((l) => {
231
+ const c = document.querySelectorAll(".k-grid-header .k-grid-header-menu.k-grid-column-menu");
232
+ c && c.forEach((l) => {
233
233
  l.setAttribute("role", "button"), l.addEventListener(
234
234
  "keydown",
235
- b
235
+ k
236
236
  );
237
- }), h(), m();
237
+ }), A(), f();
238
238
  });
239
- }, O = () => {
240
- const s = document.querySelectorAll(".k-grid-header .k-grid-header-menu.k-grid-column-menu");
241
- s && s.forEach((l) => {
239
+ }, I = () => {
240
+ const c = document.querySelectorAll(".k-grid-header .k-grid-header-menu.k-grid-column-menu");
241
+ c && c.forEach((l) => {
242
242
  l.removeEventListener(
243
243
  "keydown",
244
- b
244
+ k
245
245
  );
246
- }), P && (P.disconnect(), P = null), q && (q.disconnect(), q = null), V.forEach((l) => l()), V.length = 0;
247
- }, m = () => {
246
+ }), q && (q.disconnect(), q = null), R && (R.disconnect(), R = null), K.forEach((l) => l()), K.length = 0;
247
+ }, f = () => {
248
248
  document.querySelectorAll(
249
249
  ".k-grid-header .k-table-thead th"
250
250
  ).forEach((l, i) => {
251
- const d = l.querySelector(
251
+ const m = l.querySelector(
252
252
  ".k-grid-header-menu.k-grid-column-menu"
253
253
  );
254
- if (!d) return;
255
- const k = v();
256
- if (k && k[i]) {
257
- const r = k[i].field ?? "";
258
- l.setAttribute("data-feather-k-field", r), l.setAttribute(
254
+ if (!m) return;
255
+ const M = E();
256
+ if (M && M[i]) {
257
+ const B = M[i].field ?? "";
258
+ l.setAttribute("data-feather-k-field", B), l.setAttribute(
259
259
  "data-feather-k-filterable",
260
- k[i].filterable === !1 ? "false" : "true"
260
+ M[i].filterable === !1 ? "false" : "true"
261
261
  ), l.setAttribute(
262
262
  "data-feather-k-sortable",
263
- k[i].sortable === !1 ? "false" : "true"
263
+ M[i].sortable === !1 ? "false" : "true"
264
264
  );
265
265
  }
266
- const S = l.dataset.featherKFilterable !== "false", T = l.dataset.featherKSortable !== "false";
267
- d.setAttribute("tabindex", "-1"), S || T ? l.style.cursor = "pointer" : l.style.cursor = "default", S ? (l.setAttribute("tabindex", "0"), l.setAttribute("role", "button"), l.setAttribute("aria-haspopup", "menu")) : (l.setAttribute("tabindex", "0"), l.setAttribute("role", "columnheader"), l.removeAttribute("aria-haspopup"));
268
- const B = (r) => {
269
- r.target?.closest(".k-column-resizer") || (t.value = l, d.click());
270
- }, a = (r) => {
271
- if (S)
272
- t.value = l, r.preventDefault(), r.stopPropagation(), B(r);
273
- else if (T) {
274
- t.value = l;
275
- const u = new KeyboardEvent("keydown", {
266
+ const w = l.dataset.featherKFilterable !== "false", P = l.dataset.featherKSortable !== "false";
267
+ m.setAttribute("tabindex", "-1"), w || P ? l.style.cursor = "pointer" : l.style.cursor = "default", w ? (l.setAttribute("tabindex", "0"), l.setAttribute("role", "button"), l.setAttribute("aria-haspopup", "menu")) : (l.setAttribute("tabindex", "0"), l.setAttribute("role", "columnheader"), l.removeAttribute("aria-haspopup"));
268
+ const W = (B) => {
269
+ B.target?.closest(".k-column-resizer") || (n.value = l, m.click());
270
+ }, X = (B) => {
271
+ if (w)
272
+ n.value = l, B.preventDefault(), B.stopPropagation(), W(B);
273
+ else if (P) {
274
+ n.value = l;
275
+ const te = new KeyboardEvent("keydown", {
276
276
  key: "Enter",
277
277
  code: "Enter",
278
278
  keyCode: 13,
@@ -280,210 +280,214 @@ const Ye = (e) => {
280
280
  bubbles: !0,
281
281
  cancelable: !0
282
282
  });
283
- l.dispatchEvent(u);
283
+ l.dispatchEvent(te);
284
284
  }
285
285
  };
286
- l.addEventListener("click", a), V.push(() => {
287
- l.removeEventListener("click", a);
286
+ l.addEventListener("click", X), K.push(() => {
287
+ l.removeEventListener("click", X);
288
288
  });
289
- const g = (r) => {
290
- if ((r.code === "Enter" || r.code === "Space") && (S || T)) {
291
- if (t.value = l, t.value.focus(), S)
292
- r.preventDefault(), r.stopPropagation(), B(r);
293
- else if (T) {
294
- const u = l.querySelector(".k-link");
295
- u && u.click();
289
+ const Z = (B) => {
290
+ if ((B.code === "Enter" || B.code === "Space") && (w || P)) {
291
+ if (n.value = l, n.value.focus(), w)
292
+ B.preventDefault(), B.stopPropagation(), W(B);
293
+ else if (P) {
294
+ const te = l.querySelector(".k-link");
295
+ te && te.click();
296
296
  }
297
297
  }
298
298
  };
299
- l.addEventListener("keydown", g, !0), V.push(() => {
300
- l.removeEventListener("keydown", g, !0);
299
+ l.addEventListener("keydown", Z, !0), K.push(() => {
300
+ l.removeEventListener("keydown", Z, !0);
301
301
  });
302
302
  });
303
- const s = document.querySelector(".k-grid-header .k-table-thead");
304
- if (s) {
303
+ const c = document.querySelector(".k-grid-header .k-table-thead");
304
+ if (c) {
305
305
  const l = (i) => {
306
- const d = i.target.closest("th");
307
- d && (i.code === "Enter" || i.code === "Space") && d.dataset.featherKFilterable === "false" && d.dataset.featherKSortable === "false" && (i.preventDefault(), i.stopImmediatePropagation());
306
+ const m = i.target.closest("th");
307
+ m && (i.code === "Enter" || i.code === "Space") && m.dataset.featherKFilterable === "false" && m.dataset.featherKSortable === "false" && (i.preventDefault(), i.stopImmediatePropagation());
308
308
  };
309
- s.addEventListener(
309
+ c.addEventListener(
310
310
  "keydown",
311
311
  l,
312
312
  !0
313
313
  // NOTE: capture phase
314
- ), V.push(() => {
315
- s.removeEventListener(
314
+ ), K.push(() => {
315
+ c.removeEventListener(
316
316
  "keydown",
317
317
  l,
318
318
  !0
319
319
  );
320
320
  });
321
321
  }
322
- }, w = function(o, s) {
323
- const l = o?.event.event.target, i = v();
322
+ }, b = function(o, c) {
323
+ const l = o?.event.event.target, i = E();
324
324
  if (!l || !i) return;
325
- const d = l.classList.contains("k-link"), k = l.classList.contains("k-columnmenu-item"), S = i.find((T) => T.field === o.event.field)?.sortable && !0;
326
- if (!d) {
327
- if (k && !S) {
325
+ const m = l.classList.contains("k-link"), M = l.classList.contains("k-columnmenu-item"), w = i.find((P) => P.field === o.event.field)?.sortable && !0;
326
+ if (!m) {
327
+ if (M && !w) {
328
328
  (o.event.sort && void 0)?.filter(
329
- (B) => B.field !== o.event.field
329
+ (W) => W.field !== o.event.field
330
330
  );
331
331
  return;
332
332
  }
333
- typeof s == "function" && N(() => {
334
- t.value && t.value.focus(), s(o);
333
+ typeof c == "function" && N(() => {
334
+ n.value && n.value.focus(), c(o);
335
335
  });
336
336
  }
337
- }, F = () => {
338
- if (!f)
337
+ }, O = () => {
338
+ if (!d)
339
339
  try {
340
- E(), y(), I(), f = !0;
340
+ x(), S(), T(), d = !0;
341
341
  } catch (o) {
342
- console.error("initA11y failed:", o), O();
342
+ console.error("initA11y failed:", o), I();
343
343
  }
344
344
  };
345
345
  return xe(() => {
346
- O();
346
+ I();
347
347
  }), {
348
- activeFilterButton: t,
348
+ activeFilterButton: n,
349
349
  handleGridKeyDown: L,
350
- handleSortChange: w,
351
- initA11y: F
350
+ handleSortChange: b,
351
+ initA11y: O
352
352
  };
353
353
  };
354
- function Ne(e) {
355
- const t = z(""), f = z(void 0), P = z(!!e.debug), q = z(e.dateFormat ?? "mm/dd/yyyy"), V = ["ArrowUp", "ArrowDown"], j = ["ArrowLeft", "ArrowRight"], v = A(() => (t.value ?? "").replace(/\D/g, "")), b = (a) => a <= 2 ? "mm" : a <= 5 ? "dd" : v.value.length <= 10 ? "yyyy" : "mm", C = A(() => {
356
- const a = t.value && t.value.substring(0, 2).replace(/\D/g, "0") || "0";
354
+ function Ye(e) {
355
+ const n = z(""), d = z(void 0), q = z(!!e.debug), R = z(e.dateFormat ?? "mm/dd/yyyy"), K = D(() => !!e.required), H = z(!1), E = ["ArrowUp", "ArrowDown"], k = ["ArrowLeft", "ArrowRight"], y = D(() => (n.value ?? "").replace(/\D/g, "")), A = (a) => a <= 2 ? "mm" : a <= 5 ? "dd" : y.value.length <= 10 ? "yyyy" : "mm", L = D(() => {
356
+ const a = n.value && n.value.substring(0, 2).replace(/\D/g, "0") || "0";
357
357
  return parseInt(a).toString().padStart(2, "0");
358
- }), h = A(() => {
359
- const a = t.value && t.value.substring(3, 5).replace(/\D/g, "0") || "0";
358
+ }), x = D(() => {
359
+ const a = n.value && n.value.substring(3, 5).replace(/\D/g, "0") || "0";
360
360
  return parseInt(a).toString().padStart(2, "0");
361
- }), L = A(() => {
362
- const a = t.value && t.value.substring(6, 10).replace(/\D/g, "0") || "0";
361
+ }), S = D(() => {
362
+ const a = n.value && n.value.substring(6, 10).replace(/\D/g, "0") || "0";
363
363
  return parseInt(a).toString().padStart(4, "0");
364
- }), E = (a) => {
365
- if (v.value.length === 0) {
364
+ }), T = (a) => {
365
+ if (y.value.length === 0) {
366
366
  e.onChange({ value: null, event: a });
367
367
  return;
368
368
  }
369
- if (v.value.length < 8) {
369
+ if (y.value.length < 8) {
370
370
  e.onChange({ value: null, event: a });
371
371
  return;
372
372
  }
373
- if ((t.value ?? "").length === 10 && v.value.length === 8) {
374
- const [g, r, u] = t.value.split("/"), p = parseInt(g), D = parseInt(r), M = parseInt(u);
375
- if (w(M, p, D)) {
376
- const J = new Date(M, p - 1, D);
377
- y(J) ? e.onChange({ value: J, event: a }) : e.onChange({ value: null, event: a });
373
+ if ((n.value ?? "").length === 10 && y.value.length === 8) {
374
+ const [p, r, u] = n.value.split("/"), v = parseInt(p), g = parseInt(r), $ = parseInt(u);
375
+ if (o($, v, g)) {
376
+ const J = new Date($, v - 1, g);
377
+ I(J) ? e.onChange({ value: J, event: a }) : e.onChange({ value: null, event: a });
378
378
  } else
379
379
  e.onChange({ value: null, event: a });
380
380
  }
381
- }, y = (a) => {
382
- const g = e.minDate?.value ?? void 0, r = e.maxDate?.value ?? void 0;
383
- return !(g && a < g || r && a > r);
384
- }, I = A(() => {
385
- if ((t.value ?? "").length === 10 && v.value.length === 8) {
386
- const [a, g, r] = (t.value ?? "").split("/"), u = parseInt(a), p = parseInt(g), D = parseInt(r);
387
- if (w(D, u, p))
388
- return new Date(D, u - 1, p);
381
+ }, I = (a) => {
382
+ const p = e.min ?? void 0, r = e.max ?? void 0;
383
+ return !(p && a < p || r && a > r);
384
+ }, f = D(() => {
385
+ if ((n.value ?? "").length === 10 && y.value.length === 8) {
386
+ const [a, p, r] = (n.value ?? "").split("/"), u = parseInt(a), v = parseInt(p), g = parseInt(r);
387
+ if (o(g, u, v))
388
+ return new Date(g, u - 1, v);
389
389
  }
390
390
  return null;
391
- }), O = A(() => (t.value ?? "").length === 10 && v.value.length === 8), m = (a, g) => new Date(a, g, 0).getDate(), w = (a, g, r) => g >= 1 && g <= 12 && a >= 1900 && r >= 1 && r <= m(a, g), F = (a) => {
392
- t.value = a.value;
393
- const g = a.event?.target;
394
- f.value = g?.selectionStart ?? 0, E(a);
395
- }, o = (a) => {
396
- f.value = a.target.selectionStart ?? 0;
397
- }, s = (a, g, r) => {
398
- const u = g?.selectionStart ?? f.value ?? 0;
399
- f.value = u;
400
- let p = parseInt(C.value), D = parseInt(h.value), M = parseInt(L.value);
401
- if (!(v.value.length >= 8) || !w(M, p, D)) {
402
- const R = /* @__PURE__ */ new Date();
403
- p = R.getMonth() + 1, D = R.getDate(), M = R.getFullYear(), t.value = `${String(p).padStart(2, "0")}/${String(D).padStart(
391
+ }), b = D(() => (n.value ?? "").length === 10 && y.value.length === 8), O = (a, p) => new Date(a, p, 0).getDate(), o = (a, p, r) => p >= 1 && p <= 12 && a >= 1900 && r >= 1 && r <= O(a, p), c = (a) => {
392
+ n.value = a.value;
393
+ const p = a.event?.target;
394
+ d.value = p?.selectionStart ?? 0, T(a);
395
+ }, l = (a) => {
396
+ d.value = a.target.selectionStart ?? 0;
397
+ }, i = (a, p, r) => {
398
+ const u = p?.selectionStart ?? d.value ?? 0;
399
+ d.value = u;
400
+ let v = parseInt(L.value), g = parseInt(x.value), $ = parseInt(S.value);
401
+ if (!(y.value.length >= 8) || !o($, v, g)) {
402
+ const F = e.defaultValue ?? /* @__PURE__ */ new Date();
403
+ v = F.getMonth() + 1, g = F.getDate(), $ = F.getFullYear(), n.value = `${String(v).padStart(2, "0")}/${String(g).padStart(
404
404
  2,
405
405
  "0"
406
- )}/${String(M)}`;
407
- const W = new Date(M, p - 1, D);
408
- e.onChange({ value: y(W) ? W : null, event: r }), N(() => {
406
+ )}/${String($)}`;
407
+ const t = new Date($, v - 1, g);
408
+ e.onChange({ value: I(t) ? t : null, event: r }), N(() => {
409
409
  requestAnimationFrame(() => {
410
- const te = document.getElementById(
410
+ const s = document.getElementById(
411
411
  e.id
412
- ), ae = f.value ?? 0;
413
- te && (te.focus(), te.setSelectionRange(ae, ae));
412
+ ), h = d.value ?? 0;
413
+ s && (s.focus(), s.setSelectionRange(h, h));
414
414
  });
415
415
  });
416
416
  return;
417
417
  }
418
- const H = b(u);
419
- if (H === "mm")
420
- p = a === "ArrowUp" ? p < 12 ? p + 1 : 1 : p > 1 ? p - 1 : 12;
421
- else if (H === "dd") {
422
- const R = new Date(M, p, 0).getDate();
423
- D = a === "ArrowUp" ? D < R ? D + 1 : 1 : D > 1 ? D - 1 : R;
424
- } else H === "yyyy" && (M = a === "ArrowUp" ? M + 1 : Math.max(1, M - 1));
425
- t.value = `${String(p).padStart(2, "0")}/${String(D).padStart(
418
+ const G = A(u);
419
+ if (G === "mm")
420
+ v = a === "ArrowUp" ? v < 12 ? v + 1 : 1 : v > 1 ? v - 1 : 12;
421
+ else if (G === "dd") {
422
+ const F = new Date($, v, 0).getDate();
423
+ g = a === "ArrowUp" ? g < F ? g + 1 : 1 : g > 1 ? g - 1 : F;
424
+ } else G === "yyyy" && ($ = a === "ArrowUp" ? $ + 1 : Math.max(1, $ - 1));
425
+ n.value = `${String(v).padStart(2, "0")}/${String(g).padStart(
426
426
  2,
427
427
  "0"
428
- )}/${String(M)}`;
429
- const [Y, re, ee] = t.value.split("/"), K = new Date(
430
- parseInt(ee),
431
- parseInt(Y) - 1,
432
- parseInt(re)
428
+ )}/${String($)}`;
429
+ const [V, ae, oe] = n.value.split("/"), Y = new Date(
430
+ parseInt(oe),
431
+ parseInt(V) - 1,
432
+ parseInt(ae)
433
433
  );
434
- K.toString() !== "Invalid Date" && parseInt(ee) >= 1e3 ? e.onChange({
435
- value: y(K) ? K : null,
434
+ Y.toString() !== "Invalid Date" && parseInt(oe) >= 1e3 ? e.onChange({
435
+ value: I(Y) ? Y : null,
436
436
  event: r
437
437
  }) : e.onChange({ value: null, event: r }), N(() => {
438
438
  requestAnimationFrame(() => {
439
- const R = document.getElementById(
439
+ const F = document.getElementById(
440
440
  e.id
441
- ), W = f.value ?? 0;
442
- R && (R.focus(), R.setSelectionRange(W, W));
441
+ ), t = d.value ?? 0;
442
+ F && (F.focus(), F.setSelectionRange(t, t));
443
443
  });
444
444
  });
445
- }, l = (a) => {
445
+ }, m = (a) => {
446
446
  if (a.code === "Space" || a.key === " ") {
447
447
  e.onShowCalendar(a);
448
448
  return;
449
449
  }
450
- if (V.includes(a.key)) {
450
+ if (E.includes(a.key)) {
451
451
  a.preventDefault();
452
- const g = a.target;
453
- s(a.key, g, a);
452
+ const p = a.target;
453
+ i(a.key, p, a);
454
454
  }
455
- }, i = (a) => {
455
+ }, M = (a) => {
456
456
  a.preventDefault();
457
- const g = a.deltaY < 0 ? "ArrowUp" : "ArrowDown";
458
- s(g, a.target, a);
459
- }, d = (a) => {
460
- const g = a.target;
461
- if (j.includes(a.key)) {
462
- f.value = g?.selectionStart ?? 0;
457
+ const p = a.deltaY < 0 ? "ArrowUp" : "ArrowDown";
458
+ i(p, a.target, a);
459
+ }, w = (a) => {
460
+ const p = a.target;
461
+ if (k.includes(a.key)) {
462
+ d.value = p?.selectionStart ?? 0;
463
463
  return;
464
464
  }
465
- V.includes(a.key) && (a.preventDefault(), f.value = g?.selectionStart ?? 0);
465
+ E.includes(a.key) && (a.preventDefault(), d.value = p?.selectionStart ?? 0);
466
+ }, P = (a) => {
467
+ H.value = !0, K.value && !e.defaultValue && e.externalValue && e.externalValue.value === void 0 && y.value.length === 0 && (e.externalValue.value = "");
468
+ const p = a.target;
469
+ p && (d.value = p.selectionStart ?? 0);
466
470
  };
467
- e.externalValue && le(
471
+ e.externalValue && ie(
468
472
  e.externalValue,
469
473
  (a) => {
470
474
  if (a) {
471
- const g = new Date(a);
472
- if (g.toString() !== "Invalid Date") {
473
- const r = (g.getMonth() + 1).toString().padStart(2, "0"), u = g.getDate().toString().padStart(2, "0"), p = g.getFullYear().toString();
474
- t.value = `${r}/${u}/${p}`;
475
+ const p = new Date(a);
476
+ if (p.toString() !== "Invalid Date") {
477
+ const r = (p.getMonth() + 1).toString().padStart(2, "0"), u = p.getDate().toString().padStart(2, "0"), v = p.getFullYear().toString();
478
+ n.value = `${r}/${u}/${v}`;
475
479
  return;
476
480
  }
477
481
  }
478
482
  },
479
483
  { immediate: !0 }
480
484
  );
481
- const k = A(() => [
482
- ["Date", `${C.value} / ${h.value} / ${L.value}`],
483
- ["Digits only", v.value],
485
+ const W = D(() => [
486
+ ["Date", `${L.value} / ${x.value} / ${S.value}`],
487
+ ["Digits only", y.value],
484
488
  [
485
489
  "min",
486
- e.minDate?.value.toLocaleDateString("en-US", {
490
+ e.min?.toLocaleDateString("en-US", {
487
491
  year: "numeric",
488
492
  month: "2-digit",
489
493
  day: "2-digit"
@@ -491,31 +495,55 @@ function Ne(e) {
491
495
  ],
492
496
  [
493
497
  "max",
494
- e.maxDate?.value.toLocaleDateString("en-US", {
498
+ e.max?.toLocaleDateString("en-US", {
495
499
  year: "numeric",
496
500
  month: "2-digit",
497
501
  day: "2-digit"
498
502
  }) ?? null
499
503
  ]
500
- ]), S = A(() => {
501
- if (!O.value) return !0;
502
- const a = I.value;
503
- return a ? y(a) : !1;
504
- }), T = A(() => {
505
- if (S.value) return "";
506
- if (O.value && !I.value)
507
- return `Must be in ${q.value} format.`;
508
- const a = e.minDate?.value ? e.minDate.value.toLocaleDateString("en-US", {
504
+ ]), X = D(() => {
505
+ if (!K.value) {
506
+ if (!b.value) return !0;
507
+ const p = f.value;
508
+ return p ? I(p) : !1;
509
+ }
510
+ if (!H.value) return !0;
511
+ const a = f.value;
512
+ return !b.value || !a ? !1 : I(a);
513
+ }), Z = D(() => {
514
+ if (!K.value) {
515
+ if (!b.value) return;
516
+ const p = f.value;
517
+ return p ? I(p) ? "valid" : "out-of-bounds" : "invalid-date";
518
+ }
519
+ if (!H.value) return;
520
+ if (y.value.length === 0 || !b.value)
521
+ return "incomplete";
522
+ const a = f.value;
523
+ return a ? I(a) ? "valid" : "out-of-bounds" : "invalid-date";
524
+ }), B = D(() => {
525
+ const a = Z.value;
526
+ if (!a || a === "valid") return "";
527
+ if (a === "incomplete")
528
+ return "Required";
529
+ if (a === "invalid-date")
530
+ return `Must be in ${R.value} format.`;
531
+ const p = e.min ? e.min.toLocaleDateString("en-US", {
509
532
  year: "numeric",
510
533
  month: "2-digit",
511
534
  day: "2-digit"
512
- }) : null, g = e.maxDate?.value ? e.maxDate.value.toLocaleDateString("en-US", {
535
+ }) : null, r = e.max ? e.max.toLocaleDateString("en-US", {
513
536
  year: "numeric",
514
537
  month: "2-digit",
515
538
  day: "2-digit"
516
539
  }) : null;
517
- return a && g ? `Must be between ${a} and ${g}.` : a ? `Must be on or after ${a}.` : g ? `Must be on or before ${g}.` : "";
518
- }), B = () => {
540
+ if (a === "out-of-bounds") {
541
+ if (p && r) return `Must be between ${p} and ${r}.`;
542
+ if (p) return `Must be on or after ${p}.`;
543
+ if (r) return `Must be on or before ${r}.`;
544
+ }
545
+ return "";
546
+ }), te = () => {
519
547
  N(() => {
520
548
  const a = document.getElementById(
521
549
  e.id
@@ -524,9 +552,9 @@ function Ne(e) {
524
552
  console.warn(`ID (#${e.id}) not found for styling.`);
525
553
  return;
526
554
  }
527
- const g = a.closest(".k-datepicker");
528
- if (g)
529
- g.classList.add("fk-datepicker");
555
+ const p = a.closest(".k-datepicker");
556
+ if (p)
557
+ p.classList.add("fk-datepicker");
530
558
  else {
531
559
  console.warn(`.k-datepicker parent not found for #${e.id} styling.`);
532
560
  return;
@@ -534,216 +562,218 @@ function Ne(e) {
534
562
  });
535
563
  };
536
564
  return De(() => {
537
- B();
565
+ te();
538
566
  }), {
539
- raw: t,
540
- cursorPos: f,
541
- debugEnabled: P,
542
- debugLines: k,
543
- placeholder: q,
544
- isValid: S,
545
- validationMessage: T,
546
- digitsOnly: v,
547
- month: _(C),
548
- day: _(h),
549
- year: _(L),
550
- datePart: b,
551
- handleChange: F,
552
- handleKeyDown: l,
553
- handleWheel: i,
554
- handleKeyUp: d,
555
- handleClick: o
567
+ raw: n,
568
+ cursorPos: d,
569
+ debugEnabled: q,
570
+ debugLines: W,
571
+ placeholder: R,
572
+ isValid: X,
573
+ reason: _(Z),
574
+ validationMessage: B,
575
+ digitsOnly: y,
576
+ month: _(L),
577
+ day: _(x),
578
+ year: _(S),
579
+ datePart: A,
580
+ handleChange: c,
581
+ handleKeyDown: m,
582
+ handleWheel: M,
583
+ handleKeyUp: w,
584
+ handleClick: l,
585
+ handleBlur: P
556
586
  };
557
587
  }
558
- function Ve(e) {
559
- const t = z(""), f = z(void 0), P = z(!!e.debug), q = z(!1), j = 365 * (1440 * 60 * 1e3), v = /* @__PURE__ */ new Date(), b = new Date(v.getTime() - j), C = new Date(v.getTime() + j);
560
- e.min = e.min ?? b, e.max = e.max ?? C;
561
- const h = A(() => (t.value ?? "").replace(/\D/g, "")), L = (n, c) => new Date(n, c, 0).getDate(), E = (n, c, x) => c >= 1 && c <= 12 && n >= 1e3 && x >= 1 && x <= L(n, c), y = (n) => Date.UTC(n.getFullYear(), n.getMonth(), n.getDate()), I = (n) => {
562
- if (!n) return null;
563
- const c = e.min, x = e.max, $ = y(n);
564
- return $ < y(c) || $ > y(x) ? null : n;
565
- }, O = (n, c) => e.allowReverse ?? !1 ? !0 : n <= c, m = A(() => (t.value?.length ?? 0) >= 23 && h.value.length >= 16), w = (n) => {
566
- if ((n ?? "").length < 23 || h.value.length < 16)
588
+ function Ne(e) {
589
+ const n = z(""), d = z(void 0), q = z(!!e.debug), R = z(!1), H = 365 * (1440 * 60 * 1e3), E = /* @__PURE__ */ new Date(), k = new Date(E.getTime() - H), y = new Date(E.getTime() + H);
590
+ e.min = e.min ?? k, e.max = e.max ?? y;
591
+ const A = D(() => (n.value ?? "").replace(/\D/g, "")), L = (t, s) => new Date(t, s, 0).getDate(), x = (t, s, h) => s >= 1 && s <= 12 && t >= 1e3 && h >= 1 && h <= L(t, s), S = (t) => Date.UTC(t.getFullYear(), t.getMonth(), t.getDate()), T = (t) => {
592
+ if (!t) return null;
593
+ const s = e.min, h = e.max, C = S(t);
594
+ return C < S(s) || C > S(h) ? null : t;
595
+ }, I = (t, s) => e.allowReverse ?? !1 ? !0 : t <= s, f = D(() => (n.value?.length ?? 0) >= 23 && A.value.length >= 16), b = (t) => {
596
+ if ((t ?? "").length < 23 || A.value.length < 16)
567
597
  return { start: null, end: null };
568
- const c = n.substring(0, 10), x = n.substring(13, 23), [$, G, Z] = c.split("/").map((oe) => parseInt(oe || "0", 10)), [fe, ue, se] = x.split("/").map((oe) => parseInt(oe || "0", 10)), ce = new Date(Z, $ - 1, G), me = new Date(se, fe - 1, ue), ye = E(Z, $, G) && ce.toString() !== "Invalid Date", he = E(se, fe, ue) && me.toString() !== "Invalid Date";
569
- return { start: ye ? ce : null, end: he ? me : null };
570
- }, F = e.externalValid ?? z(void 0), o = A(() => w(t.value)), s = A(() => {
571
- const n = I(o.value.start), c = I(o.value.end);
572
- return { start: n, end: c };
573
- }), l = A(() => {
574
- if (!m.value) return;
575
- const n = s.value.start, c = s.value.end;
576
- if (!n || !c) return;
577
- const x = (G) => Date.UTC(G.getFullYear(), G.getMonth(), G.getDate()), $ = Math.abs(x(c) - x(n));
578
- return Math.round($ / 864e5);
579
- }), i = A(() => {
580
- const { start: n, end: c } = o.value;
581
- if (!m.value) return;
582
- if (!n || !c || !s.value.start || !s.value.end) return !1;
583
- const x = s.value.start, $ = s.value.end;
584
- return !(!O(x, $) || typeof e.maxSpanDays == "number" && l.value !== void 0 && l.value > e.maxSpanDays);
585
- }), d = A(() => {
586
- const { start: n, end: c } = o.value;
587
- if (!m.value) return "incomplete";
588
- if (!n || !c) return "invalid-date";
589
- if (!s.value.start || !s.value.end) return "out-of-bounds";
590
- const x = s.value.start, $ = s.value.end;
591
- return O(x, $) ? typeof e.maxSpanDays == "number" && l.value !== void 0 && l.value > e.maxSpanDays ? "span-exceeds-limit" : "valid" : "reversed-range";
592
- }), k = A(() => {
593
- const { start: n, end: c } = o.value, { min: x, max: $ } = e;
594
- switch (console.table({ start: n, end: c, min: x, max: $ }), d.value) {
598
+ const s = t.substring(0, 10), h = t.substring(13, 23), [C, j, ne] = s.split("/").map((le) => parseInt(le || "0", 10)), [me, se, ce] = h.split("/").map((le) => parseInt(le || "0", 10)), de = new Date(ne, C - 1, j), pe = new Date(ce, me - 1, se), ye = x(ne, C, j) && de.toString() !== "Invalid Date", he = x(ce, me, se) && pe.toString() !== "Invalid Date";
599
+ return { start: ye ? de : null, end: he ? pe : null };
600
+ }, O = e.externalValid ?? z(void 0), o = D(() => b(n.value)), c = D(() => {
601
+ const t = T(o.value.start), s = T(o.value.end);
602
+ return { start: t, end: s };
603
+ }), l = D(() => {
604
+ if (!f.value) return;
605
+ const t = c.value.start, s = c.value.end;
606
+ if (!t || !s) return;
607
+ const h = (j) => Date.UTC(j.getFullYear(), j.getMonth(), j.getDate()), C = Math.abs(h(s) - h(t));
608
+ return Math.round(C / 864e5);
609
+ }), i = D(() => {
610
+ const { start: t, end: s } = o.value;
611
+ if (!f.value) return;
612
+ if (!t || !s || !c.value.start || !c.value.end) return !1;
613
+ const h = c.value.start, C = c.value.end;
614
+ return !(!I(h, C) || typeof e.maxSpanDays == "number" && l.value !== void 0 && l.value > e.maxSpanDays);
615
+ }), m = D(() => {
616
+ const { start: t, end: s } = o.value;
617
+ if (!f.value) return "incomplete";
618
+ if (!t || !s) return "invalid-date";
619
+ if (!c.value.start || !c.value.end) return "out-of-bounds";
620
+ const h = c.value.start, C = c.value.end;
621
+ return I(h, C) ? typeof e.maxSpanDays == "number" && l.value !== void 0 && l.value > e.maxSpanDays ? "span-exceeds-limit" : "valid" : "reversed-range";
622
+ }), M = D(() => {
623
+ const { start: t, end: s } = o.value, { min: h, max: C } = e;
624
+ switch (console.table({ start: t, end: s, min: h, max: C }), m.value) {
595
625
  case "incomplete":
596
- return "Required.";
626
+ return "Required";
597
627
  case "invalid-date":
598
- return "Enter valid start and end dates.";
599
- case "out-of-bounds":
600
- return n && c && (y(n) < y(x) || y(c) < y(x) || y(n) > y($) || y(c) > y($)) ? `Must be between ${x.toLocaleDateString("en-US")} and ${$.toLocaleDateString("en-US")}.` : "Must be within the allowed range.";
628
+ return "One or both dates invalid.";
601
629
  case "reversed-range":
602
- return "Must be in sequential order.";
630
+ return "End Date must be on or after Start Date.";
631
+ case "out-of-bounds":
632
+ return t && s && (S(t) < S(h) || S(s) < S(h) || S(t) > S(C) || S(s) > S(C)) ? `Dates must be between ${X(h)} and ${X(C)}.` : "Dates must be within the allowed range.";
603
633
  case "span-exceeds-limit":
604
- return typeof e.maxSpanDays == "number" ? `Exceeds maximum of ${e.maxSpanDays} days.` : "Exceeds maximum allowed span.";
634
+ return typeof e.maxSpanDays == "number" ? `Date range exceeds ${e.maxSpanDays} days.` : "Date range exceeds maximum allowed span.";
605
635
  case "valid":
606
636
  default:
607
637
  return "";
608
638
  }
609
639
  });
610
- le(
640
+ ie(
611
641
  i,
612
- (n) => {
613
- (e.manageValid ?? !0) && (F.value = n);
642
+ (t) => {
643
+ (e.manageValid ?? !0) && (O.value = t);
614
644
  },
615
645
  { immediate: !0 }
616
646
  );
617
- const S = ["ArrowUp", "ArrowDown"], T = ["ArrowLeft", "ArrowRight"], B = (n, c) => String(n).padStart(c, "0"), a = (n) => `${B(n.getMonth() + 1, 2)}/${B(n.getDate(), 2)}/${B(
618
- n.getFullYear(),
647
+ const w = ["ArrowUp", "ArrowDown"], P = ["ArrowLeft", "ArrowRight"], W = (t, s) => String(t).padStart(s, "0"), X = (t) => `${W(t.getMonth() + 1, 2)}/${W(t.getDate(), 2)}/${W(
648
+ t.getFullYear(),
619
649
  4
620
- )}`, g = (n) => n <= 2 ? { side: "start", part: "mm" } : n <= 5 ? { side: "start", part: (n <= 3, "dd") } : n <= 11 ? { side: "start", part: "yyyy" } : n <= 15 ? { side: "end", part: "mm" } : n <= 18 ? { side: "end", part: "dd" } : { side: "end", part: "yyyy" }, r = (n, c, x) => {
621
- const $ = c?.selectionStart ?? f.value ?? 0;
622
- f.value = $;
623
- const { start: G, end: Z } = w(t.value);
624
- if (!G && !Z) {
625
- const U = /* @__PURE__ */ new Date(), ne = a(U);
626
- t.value = `${ne} - ${ne}`, e.onChange({ value: { start: U, end: U }, event: x }), N(() => {
650
+ )}`, Z = (t) => t <= 2 ? { side: "start", part: "mm" } : t <= 5 ? { side: "start", part: (t <= 3, "dd") } : t <= 11 ? { side: "start", part: "yyyy" } : t <= 15 ? { side: "end", part: "mm" } : t <= 18 ? { side: "end", part: "dd" } : { side: "end", part: "yyyy" }, B = (t, s, h) => {
651
+ const C = s?.selectionStart ?? d.value ?? 0;
652
+ d.value = C;
653
+ const { start: j, end: ne } = b(n.value);
654
+ if (!j && !ne) {
655
+ const U = /* @__PURE__ */ new Date(), re = X(U);
656
+ n.value = `${re} - ${re}`, e.onChange({ value: { start: U, end: U }, event: h }), N(() => {
627
657
  requestAnimationFrame(() => {
628
- const X = document.getElementById(
658
+ const Q = document.getElementById(
629
659
  e.id
630
- ), Q = f.value ?? 0;
631
- X && (X.focus(), X.setSelectionRange(Q, Q));
660
+ ), ee = d.value ?? 0;
661
+ Q && (Q.focus(), Q.setSelectionRange(ee, ee));
632
662
  });
633
663
  });
634
664
  return;
635
665
  }
636
- const fe = /* @__PURE__ */ new Date(), ue = g($);
637
- let se = G ? new Date(G) : new Date(fe), ce = Z ? new Date(Z) : new Date(fe);
638
- const me = (U, ne) => {
639
- if (ne === "mm") {
640
- const X = U.getMonth() + 1, Q = n === "ArrowUp" ? X < 12 ? X + 1 : 1 : X > 1 ? X - 1 : 12;
641
- U.setMonth(Q - 1);
642
- const ge = L(U.getFullYear(), Q);
666
+ const me = /* @__PURE__ */ new Date(), se = Z(C);
667
+ let ce = j ? new Date(j) : new Date(me), de = ne ? new Date(ne) : new Date(me);
668
+ const pe = (U, re) => {
669
+ if (re === "mm") {
670
+ const Q = U.getMonth() + 1, ee = t === "ArrowUp" ? Q < 12 ? Q + 1 : 1 : Q > 1 ? Q - 1 : 12;
671
+ U.setMonth(ee - 1);
672
+ const ge = L(U.getFullYear(), ee);
643
673
  U.getDate() > ge && U.setDate(ge);
644
- } else if (ne === "dd") {
645
- const X = L(U.getFullYear(), U.getMonth() + 1), Q = U.getDate(), ge = n === "ArrowUp" ? Q < X ? Q + 1 : 1 : Q > 1 ? Q - 1 : X;
674
+ } else if (re === "dd") {
675
+ const Q = L(U.getFullYear(), U.getMonth() + 1), ee = U.getDate(), ge = t === "ArrowUp" ? ee < Q ? ee + 1 : 1 : ee > 1 ? ee - 1 : Q;
646
676
  U.setDate(ge);
647
- } else if (ne === "yyyy") {
648
- const X = U.getFullYear();
649
- U.setFullYear(n === "ArrowUp" ? X + 1 : Math.max(1, X - 1));
650
- const Q = L(U.getFullYear(), U.getMonth() + 1);
651
- U.getDate() > Q && U.setDate(Q);
677
+ } else if (re === "yyyy") {
678
+ const Q = U.getFullYear();
679
+ U.setFullYear(t === "ArrowUp" ? Q + 1 : Math.max(1, Q - 1));
680
+ const ee = L(U.getFullYear(), U.getMonth() + 1);
681
+ U.getDate() > ee && U.setDate(ee);
652
682
  }
653
683
  };
654
- ue.side === "start" ? me(se, ue.part) : me(ce, ue.part);
655
- const ye = a(se), he = a(ce);
656
- t.value = `${ye} - ${he}`;
657
- const oe = I(se), Se = I(ce);
658
- oe && Se && O(oe, Se) ? e.onChange({ value: { start: oe, end: Se }, event: x }) : e.onChange({ value: null, event: x }), N(() => {
684
+ se.side === "start" ? pe(ce, se.part) : pe(de, se.part);
685
+ const ye = X(ce), he = X(de);
686
+ n.value = `${ye} - ${he}`;
687
+ const le = T(ce), be = T(de);
688
+ le && be && I(le, be) ? e.onChange({ value: { start: le, end: be }, event: h }) : e.onChange({ value: null, event: h }), N(() => {
659
689
  requestAnimationFrame(() => {
660
690
  const U = document.getElementById(
661
691
  e.id
662
- ), ne = f.value ?? 0;
663
- U && (U.focus(), U.setSelectionRange(ne, ne));
692
+ ), re = d.value ?? 0;
693
+ U && (U.focus(), U.setSelectionRange(re, re));
664
694
  });
665
695
  });
666
- }, u = (n) => {
667
- const { start: c, end: x } = w(t.value);
668
- if (!c || !x) {
669
- e.onChange({ value: null, event: n });
696
+ }, te = (t) => {
697
+ const { start: s, end: h } = b(n.value);
698
+ if (!s || !h) {
699
+ e.onChange({ value: null, event: t });
670
700
  return;
671
701
  }
672
- const $ = I(c), G = I(x);
673
- if (!$ || !G) {
674
- e.onChange({ value: null, event: n });
702
+ const C = T(s), j = T(h);
703
+ if (!C || !j) {
704
+ e.onChange({ value: null, event: t });
675
705
  return;
676
706
  }
677
- if (!O($, G)) {
678
- e.onChange({ value: null, event: n });
707
+ if (!I(C, j)) {
708
+ e.onChange({ value: null, event: t });
679
709
  return;
680
710
  }
681
- e.onChange({ value: { start: $, end: G }, event: n });
682
- }, p = (n) => {
683
- t.value = n.value;
684
- const c = n.event?.target;
685
- f.value = c?.selectionStart ?? 0, u(n);
686
- }, D = (n) => {
687
- f.value = n.target.selectionStart ?? 0;
688
- }, M = (n) => {
689
- if (n.code === "Space" || n.key === " ") {
690
- n.preventDefault(), e.onShowCalendar(n);
711
+ e.onChange({ value: { start: C, end: j }, event: t });
712
+ }, a = (t) => {
713
+ n.value = t.value;
714
+ const s = t.event?.target;
715
+ d.value = s?.selectionStart ?? 0, te(t);
716
+ }, p = (t) => {
717
+ d.value = t.target.selectionStart ?? 0;
718
+ }, r = (t) => {
719
+ if (t.code === "Space" || t.key === " ") {
720
+ t.preventDefault(), e.onShowCalendar(t);
691
721
  return;
692
722
  }
693
- if (n.key === "ArrowDown" && n.altKey) {
694
- n.preventDefault(), e.onShowCalendar(n);
723
+ if (t.key === "ArrowDown" && t.altKey) {
724
+ t.preventDefault(), e.onShowCalendar(t);
695
725
  return;
696
726
  }
697
- if (S.includes(n.key)) {
698
- n.preventDefault();
699
- const c = n.target;
700
- r(n.key, c, n);
727
+ if (w.includes(t.key)) {
728
+ t.preventDefault();
729
+ const s = t.target;
730
+ B(t.key, s, t);
701
731
  }
702
- }, J = (n) => {
703
- n.preventDefault();
704
- const c = n.deltaY < 0 ? "ArrowUp" : "ArrowDown";
705
- r(c, n.target, n);
706
- }, H = (n) => {
707
- if (T.includes(n.key) || S.includes(n.key)) {
708
- n.preventDefault();
709
- const c = n.target;
710
- f.value = c?.selectionStart ?? 0;
732
+ }, u = (t) => {
733
+ t.preventDefault();
734
+ const s = t.deltaY < 0 ? "ArrowUp" : "ArrowDown";
735
+ B(s, t.target, t);
736
+ }, v = (t) => {
737
+ if (P.includes(t.key) || w.includes(t.key)) {
738
+ t.preventDefault();
739
+ const s = t.target;
740
+ d.value = s?.selectionStart ?? 0;
711
741
  }
712
742
  };
713
- e.externalValue && le(
743
+ e.externalValue && ie(
714
744
  e.externalValue,
715
- (n) => {
716
- const c = n?.start ?? null, x = n?.end ?? null;
717
- if (c && x) {
718
- if (t.value = `${a(c)} - ${a(x)}`, e.isOpen?.value && q.value && e.onRequestClose) {
719
- const $ = typeof e.closeDelay == "number" ? e.closeDelay : e.closeDelay?.value ?? 0;
745
+ (t) => {
746
+ const s = t?.start ?? null, h = t?.end ?? null;
747
+ if (s && h) {
748
+ if (n.value = `${X(s)} - ${X(h)}`, e.isOpen?.value && R.value && e.onRequestClose) {
749
+ const C = typeof e.closeDelay == "number" ? e.closeDelay : e.closeDelay?.value ?? 0;
720
750
  setTimeout(() => {
721
- e.onRequestClose?.(), q.value = !1;
722
- }, $);
751
+ e.onRequestClose?.(), R.value = !1;
752
+ }, C);
723
753
  }
724
754
  return;
725
755
  }
726
756
  },
727
757
  { immediate: !0 }
728
758
  );
729
- const Y = A(
730
- () => t.value && t.value.substring(0, 2).replace(/\D/g, "0") || "0"
731
- ), re = A(
732
- () => t.value && t.value.substring(3, 5).replace(/\D/g, "0") || "0"
733
- ), ee = A(
734
- () => t.value && t.value.substring(6, 10).replace(/\D/g, "0") || "0"
735
- ), K = A(
736
- () => t.value && t.value.substring(13, 15).replace(/\D/g, "0") || "0"
737
- ), R = A(
738
- () => t.value && t.value.substring(16, 18).replace(/\D/g, "0") || "0"
739
- ), W = A(
740
- () => t.value && t.value.substring(19, 23).replace(/\D/g, "0") || "0"
741
- ), te = A(() => {
742
- const { start: n, end: c } = w(t.value);
759
+ const g = D(
760
+ () => n.value && n.value.substring(0, 2).replace(/\D/g, "0") || "0"
761
+ ), $ = D(
762
+ () => n.value && n.value.substring(3, 5).replace(/\D/g, "0") || "0"
763
+ ), J = D(
764
+ () => n.value && n.value.substring(6, 10).replace(/\D/g, "0") || "0"
765
+ ), G = D(
766
+ () => n.value && n.value.substring(13, 15).replace(/\D/g, "0") || "0"
767
+ ), V = D(
768
+ () => n.value && n.value.substring(16, 18).replace(/\D/g, "0") || "0"
769
+ ), ae = D(
770
+ () => n.value && n.value.substring(19, 23).replace(/\D/g, "0") || "0"
771
+ ), oe = D(() => {
772
+ const { start: t, end: s } = b(n.value);
743
773
  return [
744
774
  {
745
775
  label: "Raw",
746
- value: t.value
776
+ value: n.value
747
777
  },
748
778
  {
749
779
  label: "Min Date",
@@ -755,313 +785,344 @@ function Ve(e) {
755
785
  },
756
786
  {
757
787
  label: "Start",
758
- value: `${String(Y.value).padStart(2, "0")} / ${String(
759
- re.value
760
- ).padStart(2, "0")} / ${String(ee.value).padStart(4, "0")}`
788
+ value: `${String(g.value).padStart(2, "0")} / ${String(
789
+ $.value
790
+ ).padStart(2, "0")} / ${String(J.value).padStart(4, "0")}`
761
791
  },
762
792
  {
763
793
  label: "End",
764
- value: `${String(K.value).padStart(2, "0")} / ${String(
765
- R.value
766
- ).padStart(2, "0")} / ${String(W.value).padStart(4, "0")}`
794
+ value: `${String(G.value).padStart(2, "0")} / ${String(
795
+ V.value
796
+ ).padStart(2, "0")} / ${String(ae.value).padStart(4, "0")}`
767
797
  },
768
- { label: "Digits only", value: h.value },
769
- { label: "Mask complete", value: `${m.value}` },
798
+ { label: "Digits only", value: A.value },
799
+ { label: "Mask complete", value: `${f.value}` },
770
800
  {
771
801
  label: "Parsed",
772
- value: `${n ? n.toDateString() : "-"} | ${c ? c.toDateString() : "-"}`
802
+ value: `${t ? t.toDateString() : "-"} | ${s ? s.toDateString() : "-"}`
773
803
  },
774
804
  {
775
805
  label: "Valid (managed)",
776
- value: `${F.value ?? "-"}`
806
+ value: `${O.value ?? "-"}`
777
807
  },
778
808
  { label: "Span (days)", value: `${l.value ?? "-"}` },
779
809
  {
780
810
  label: "Reason",
781
- value: `${d.value ?? "-"}`
811
+ value: `${m.value ?? "-"}`
782
812
  },
783
813
  {
784
814
  label: "Cursor in",
785
- value: `${f.value ?? "-"} (${(() => {
786
- const x = f.value ?? 0, $ = g(x);
787
- return `${$.side}.${$.part}`;
815
+ value: `${d.value ?? "-"} (${(() => {
816
+ const h = d.value ?? 0, C = Z(h);
817
+ return `${C.side}.${C.part}`;
788
818
  })()})`
789
819
  }
790
820
  ];
791
- }), ae = () => {
821
+ }), Y = () => {
792
822
  N(() => {
793
- const n = document.getElementById(e.id);
794
- if (!n) {
823
+ const t = document.getElementById(e.id);
824
+ if (!t) {
795
825
  console.warn(`#${e.id} not found for styling.`);
796
826
  return;
797
827
  }
798
- const c = n.closest("div");
799
- c ? c.classList.add("fk-daterangepicker") : console.warn(`Parent div of #${e.id} not found for styling.`);
828
+ const s = t.closest("div");
829
+ s ? s.classList.add("fk-daterangepicker") : console.warn(`Parent div of #${e.id} not found for styling.`);
800
830
  });
801
831
  };
802
832
  De(() => {
803
- ae();
833
+ Y();
804
834
  });
805
- const ve = () => {
835
+ const F = () => {
806
836
  N(() => {
807
837
  try {
808
- const n = Array.from(
838
+ const t = Array.from(
809
839
  document.querySelectorAll(".k-animation-container")
810
840
  );
811
- if (!n.length) return;
812
- const x = [...n].reverse().find((Z) => Z.querySelector(".k-calendar"))?.querySelector(
841
+ if (!t.length) return;
842
+ const h = [...t].reverse().find((ne) => ne.querySelector(".k-calendar"))?.querySelector(
813
843
  ".k-calendar"
814
844
  );
815
- if (!x) return;
816
- const $ = x.querySelectorAll(
845
+ if (!h) return;
846
+ const C = h.querySelectorAll(
817
847
  ".k-calendar-table"
818
848
  );
819
- let G = !1;
820
- $.forEach((Z) => {
821
- Z.tabIndex === 0 && (G ? Z.tabIndex = -1 : G = !0);
849
+ let j = !1;
850
+ C.forEach((ne) => {
851
+ ne.tabIndex === 0 && (j ? ne.tabIndex = -1 : j = !0);
822
852
  });
823
- } catch (n) {
824
- console.warn(n);
853
+ } catch (t) {
854
+ console.warn(t);
825
855
  }
826
856
  });
827
857
  };
828
- return e.isOpen && le(
858
+ return e.isOpen && ie(
829
859
  e.isOpen,
830
- (n) => {
831
- n && setTimeout(() => ve(), 0);
860
+ (t) => {
861
+ t && setTimeout(() => F(), 0);
832
862
  },
833
863
  { immediate: !1 }
834
864
  ), {
835
- raw: t,
836
- cursorPos: f,
837
- debugEnabled: P,
838
- debugLines: te,
839
- digitsOnly: h,
840
- valid: F,
865
+ raw: n,
866
+ cursorPos: d,
867
+ debugEnabled: q,
868
+ debugLines: oe,
869
+ digitsOnly: A,
870
+ valid: O,
841
871
  validComputed: _(i),
842
- reason: _(d),
843
- validationMessage: _(k),
872
+ reason: _(m),
873
+ validationMessage: _(M),
844
874
  spanDays: _(l),
845
- month1: _(Y),
846
- day1: _(re),
847
- year1: _(ee),
848
- month2: _(K),
849
- day2: _(R),
850
- year2: _(W),
851
- handleChange: p,
852
- handleKeyDown: M,
853
- handleWheel: J,
854
- handleKeyUp: H,
855
- handleClick: D,
875
+ month1: _(g),
876
+ day1: _($),
877
+ year1: _(J),
878
+ month2: _(G),
879
+ day2: _(V),
880
+ year2: _(ae),
881
+ handleChange: a,
882
+ handleKeyDown: r,
883
+ handleWheel: u,
884
+ handleKeyUp: v,
885
+ handleClick: p,
856
886
  onCalendarChange: () => {
857
- q.value = !0;
887
+ R.value = !0;
858
888
  }
859
889
  };
860
890
  }
861
891
  function He(e) {
862
- const t = z(""), f = z(void 0), P = z(!!e.debug), q = z(e.timeFormat ?? "hh:mm AM"), V = ["ArrowUp", "ArrowDown"], j = ["ArrowLeft", "ArrowRight"], v = A(() => (t.value ?? "").replace(/\D/g, "")), b = {
892
+ const n = z(""), d = z(void 0), q = z(!!e.debug), R = z(e.timeFormat ?? "hh:mm AM"), K = D(() => !!e.required), H = z(!1), E = ["ArrowUp", "ArrowDown"], k = ["ArrowLeft", "ArrowRight"], y = D(() => (n.value ?? "").replace(/\D/g, "")), A = {
863
893
  H: /[0-9]/,
864
894
  h: /[0-9]/,
865
895
  M: /[0-9]/,
866
896
  m: /[0-9]/,
867
897
  A: /[AaPp]/,
868
898
  a: /[Mm]/
869
- }, C = (r) => r <= 2 ? "hh" : r <= 5 ? "mm" : "ampm", h = A(() => {
870
- const r = t.value && t.value.substring(0, 2).replace(/\D/g, "0") || "0", u = parseInt(r);
899
+ }, L = (r) => r <= 2 ? "hh" : r <= 5 ? "mm" : "ampm", x = D(() => {
900
+ const r = n.value && n.value.substring(0, 2).replace(/\D/g, "0") || "0", u = parseInt(r);
871
901
  return Math.min(Math.max(u, 0), 23);
872
- }), L = A(() => {
873
- const r = t.value && t.value.substring(3, 5).replace(/\D/g, "0") || "0", u = parseInt(r);
902
+ }), S = D(() => {
903
+ const r = n.value && n.value.substring(3, 5).replace(/\D/g, "0") || "0", u = parseInt(r);
874
904
  return Math.min(Math.max(u, 0), 59);
875
- }), E = A(() => (t.value?.substring(6, 8) || "AM").toUpperCase().startsWith("P") ? "PM" : "AM"), y = A(
876
- () => /^(\d{2}):(\d{2})\s([AP]M)$/i.test(t.value ?? "")
877
- ), I = (r, u, p) => {
878
- let D = r % 12;
879
- return D === 0 && (D = 12), `${String(D).padStart(2, "0")}:${String(u).padStart(
905
+ }), T = D(() => (n.value?.substring(6, 8) || "AM").toUpperCase().startsWith("P") ? "PM" : "AM"), I = D(
906
+ () => /^(\d{2}):(\d{2})\s([AP]M)$/i.test(n.value ?? "")
907
+ ), f = (r, u, v) => {
908
+ let g = r % 12;
909
+ return g === 0 && (g = 12), `${String(g).padStart(2, "0")}:${String(u).padStart(
880
910
  2,
881
911
  "0"
882
- )} ${p}`;
883
- }, O = (r) => {
912
+ )} ${v}`;
913
+ }, b = (r) => {
884
914
  const u = r.match(/^(\d{2}):(\d{2})\s([AP]M)$/i);
885
915
  if (!u) return null;
886
- const p = parseInt(u[1]), D = parseInt(u[2]), M = u[3].toUpperCase();
887
- if (p < 1 || p > 12 || D < 0 || D > 59) return null;
888
- let J = p % 12;
889
- M === "PM" && (J += 12);
890
- const H = /* @__PURE__ */ new Date();
891
- return H.setSeconds(0, 0), H.setHours(J), H.setMinutes(D), H;
892
- }, m = (r) => {
893
- if (v.value.length === 0) {
916
+ const v = parseInt(u[1]), g = parseInt(u[2]), $ = u[3].toUpperCase();
917
+ if (v < 1 || v > 12 || g < 0 || g > 59) return null;
918
+ let J = v % 12;
919
+ $ === "PM" && (J += 12);
920
+ const G = /* @__PURE__ */ new Date();
921
+ return G.setSeconds(0, 0), G.setHours(J), G.setMinutes(g), G;
922
+ }, O = (r) => {
923
+ if (y.value.length === 0) {
894
924
  e.onChange({ value: null, event: r });
895
925
  return;
896
926
  }
897
- if (!y.value) {
927
+ if (!I.value) {
898
928
  e.onChange({ value: null, event: r });
899
929
  return;
900
930
  }
901
- const u = O(t.value);
902
- u && F(u) ? e.onChange({ value: u, event: r }) : e.onChange({ value: null, event: r });
903
- }, w = (r) => r.getHours() * 60 + r.getMinutes(), F = (r) => {
904
- const u = e.minTime?.value ?? void 0, p = e.maxTime?.value ?? void 0, D = w(r);
931
+ const u = b(n.value);
932
+ u && c(u) ? e.onChange({ value: u, event: r }) : e.onChange({ value: null, event: r });
933
+ }, o = (r) => r.getHours() * 60 + r.getMinutes(), c = (r) => {
934
+ const u = e.min ?? void 0, v = e.max ?? void 0, g = o(r);
905
935
  if (u) {
906
- const M = w(u);
907
- if (D < M) return !1;
936
+ const $ = o(u);
937
+ if (g < $) return !1;
908
938
  }
909
- if (p) {
910
- const M = w(p);
911
- if (D > M) return !1;
939
+ if (v) {
940
+ const $ = o(v);
941
+ if (g > $) return !1;
912
942
  }
913
943
  return !0;
914
- }, o = (r) => {
915
- t.value = r.value;
944
+ }, l = (r) => {
945
+ n.value = r.value;
916
946
  const u = r.event?.target;
917
- f.value = u?.selectionStart ?? 0;
947
+ d.value = u?.selectionStart ?? 0;
918
948
  try {
919
- const p = f.value ?? 0;
920
- if (C(p) === "ampm" && (t.value ?? "").length >= 8) {
921
- const D = t.value.charAt(6);
922
- /[Aa]/.test(D) ? (t.value = `${t.value.slice(0, 6)}AM${t.value.slice(8)}`, N(() => {
949
+ const v = d.value ?? 0;
950
+ if (L(v) === "ampm" && (n.value ?? "").length >= 8) {
951
+ const g = n.value.charAt(6);
952
+ /[Aa]/.test(g) ? (n.value = `${n.value.slice(0, 6)}AM${n.value.slice(8)}`, N(() => {
923
953
  requestAnimationFrame(() => {
924
- const M = document.getElementById(
954
+ const $ = document.getElementById(
925
955
  e.id
926
956
  );
927
- M && (M.focus(), M.setSelectionRange(8, 8));
957
+ $ && ($.focus(), $.setSelectionRange(8, 8));
928
958
  });
929
- })) : /[Pp]/.test(D) && (t.value = `${t.value.slice(0, 6)}PM${t.value.slice(8)}`, N(() => {
959
+ })) : /[Pp]/.test(g) && (n.value = `${n.value.slice(0, 6)}PM${n.value.slice(8)}`, N(() => {
930
960
  requestAnimationFrame(() => {
931
- const M = document.getElementById(
961
+ const $ = document.getElementById(
932
962
  e.id
933
963
  );
934
- M && (M.focus(), M.setSelectionRange(8, 8));
964
+ $ && ($.focus(), $.setSelectionRange(8, 8));
935
965
  });
936
966
  }));
937
967
  }
938
968
  } catch {
939
969
  }
940
- m(r);
941
- }, s = (r) => {
942
- f.value = r.target.selectionStart ?? 0;
943
- }, l = (r, u, p) => {
944
- const D = u?.selectionStart ?? f.value ?? 0;
945
- f.value = D;
946
- const M = C(D), J = (t.value ?? "").match(/^(\d{2}):(\d{2})\s([AP]M)$/i);
970
+ O(r);
971
+ }, i = (r) => {
972
+ d.value = r.target.selectionStart ?? 0;
973
+ }, m = (r, u, v) => {
974
+ const g = u?.selectionStart ?? d.value ?? 0;
975
+ d.value = g;
976
+ const $ = L(g), J = (n.value ?? "").match(/^(\d{2}):(\d{2})\s([AP]M)$/i);
947
977
  if (!J) {
948
- if ((t.value ?? "").length === 0 || v.value.length === 0) {
949
- const K = /* @__PURE__ */ new Date(), R = K.getHours(), W = R >= 12 ? "PM" : "AM";
950
- t.value = I(R, K.getMinutes(), W);
951
- const te = O(t.value);
952
- te && F(te) ? e.onChange({ value: te, event: p }) : e.onChange({ value: null, event: p }), N(() => {
978
+ if ((n.value ?? "").length === 0 || y.value.length === 0) {
979
+ const Y = /* @__PURE__ */ new Date(), F = Y.getHours(), t = F >= 12 ? "PM" : "AM";
980
+ n.value = f(F, Y.getMinutes(), t);
981
+ const s = b(n.value);
982
+ s && c(s) ? e.onChange({ value: s, event: v }) : e.onChange({ value: null, event: v }), N(() => {
953
983
  requestAnimationFrame(() => {
954
- const ae = document.getElementById(
984
+ const h = document.getElementById(
955
985
  e.id
956
- ), ve = f.value ?? 0;
957
- ae && (ae.focus(), ae.setSelectionRange(ve, ve));
986
+ ), C = d.value ?? 0;
987
+ h && (h.focus(), h.setSelectionRange(C, C));
958
988
  });
959
989
  });
960
990
  }
961
991
  return;
962
992
  }
963
- let H = parseInt(J[1]), Y = parseInt(J[2]), re = J[3].toUpperCase();
964
- if (M === "hh")
965
- r === "ArrowUp" ? H = H < 12 ? H + 1 : 1 : H = H > 1 ? H - 1 : 12;
966
- else if (M === "mm") {
967
- const K = e.minuteStepRef?.value ?? e.minuteStep ?? 1;
968
- if (K === 1)
969
- r === "ArrowUp" ? Y = Y < 59 ? Y + 1 : 0 : Y = Y > 0 ? Y - 1 : 59;
993
+ let G = parseInt(J[1]), V = parseInt(J[2]), ae = J[3].toUpperCase();
994
+ if ($ === "hh")
995
+ r === "ArrowUp" ? G = G < 12 ? G + 1 : 1 : G = G > 1 ? G - 1 : 12;
996
+ else if ($ === "mm") {
997
+ const Y = e.minuteStepRef?.value ?? e.minuteStep ?? 1;
998
+ if (Y === 1)
999
+ r === "ArrowUp" ? V = V < 59 ? V + 1 : 0 : V = V > 0 ? V - 1 : 59;
970
1000
  else if (r === "ArrowUp") {
971
- const R = Y % K;
972
- let W = R === 0 ? Y + K : Y + (K - R);
973
- W >= 60 && (W = 0), Y = W;
1001
+ const F = V % Y;
1002
+ let t = F === 0 ? V + Y : V + (Y - F);
1003
+ t >= 60 && (t = 0), V = t;
974
1004
  } else {
975
- const R = Y % K;
976
- let W = R === 0 ? Y - K : Y - R;
977
- W < 0 && (W = 60 - K), Y = W;
1005
+ const F = V % Y;
1006
+ let t = F === 0 ? V - Y : V - F;
1007
+ t < 0 && (t = 60 - Y), V = t;
978
1008
  }
979
- } else M === "ampm" && (re = re === "AM" ? "PM" : "AM");
980
- t.value = `${String(H).padStart(2, "0")}:${String(Y).padStart(
1009
+ } else $ === "ampm" && (ae = ae === "AM" ? "PM" : "AM");
1010
+ n.value = `${String(G).padStart(2, "0")}:${String(V).padStart(
981
1011
  2,
982
1012
  "0"
983
- )} ${re}`;
984
- const ee = O(t.value);
985
- ee && F(ee) ? e.onChange({ value: ee, event: p }) : e.onChange({ value: null, event: p }), N(() => {
1013
+ )} ${ae}`;
1014
+ const oe = b(n.value);
1015
+ oe && c(oe) ? e.onChange({ value: oe, event: v }) : e.onChange({ value: null, event: v }), N(() => {
986
1016
  requestAnimationFrame(() => {
987
- const K = document.getElementById(
1017
+ const Y = document.getElementById(
988
1018
  e.id
989
- ), R = f.value ?? 0;
990
- K && (K.focus(), K.setSelectionRange(R, R));
1019
+ ), F = d.value ?? 0;
1020
+ Y && (Y.focus(), Y.setSelectionRange(F, F));
991
1021
  });
992
1022
  });
993
- }, i = (r) => {
1023
+ }, M = (r) => {
994
1024
  if (r.code === "Space" || r.key === " ") {
995
1025
  e.onShowPicker(r);
996
1026
  return;
997
1027
  }
998
- if (V.includes(r.key)) {
1028
+ if (E.includes(r.key)) {
999
1029
  r.preventDefault();
1000
1030
  const u = r.target;
1001
- l(r.key, u, r);
1031
+ m(r.key, u, r);
1002
1032
  }
1003
- }, d = (r) => {
1033
+ }, w = (r) => {
1004
1034
  r.preventDefault();
1005
1035
  const u = r.deltaY < 0 ? "ArrowUp" : "ArrowDown";
1006
- l(u, r.target, r);
1007
- }, k = (r) => {
1036
+ m(u, r.target, r);
1037
+ }, P = (r) => {
1008
1038
  const u = r.target;
1009
- if (j.includes(r.key)) {
1010
- f.value = u?.selectionStart ?? 0;
1039
+ if (k.includes(r.key)) {
1040
+ d.value = u?.selectionStart ?? 0;
1011
1041
  return;
1012
1042
  }
1013
- V.includes(r.key) && (r.preventDefault(), f.value = u?.selectionStart ?? 0);
1043
+ E.includes(r.key) && (r.preventDefault(), d.value = u?.selectionStart ?? 0);
1044
+ }, W = (r) => {
1045
+ H.value = !0, K.value && e.externalValue && e.externalValue.value === void 0 && y.value.length === 0 && (e.externalValue.value = "");
1046
+ const u = r.target;
1047
+ u && (d.value = u.selectionStart ?? 0);
1014
1048
  };
1015
- e.externalValue && le(
1049
+ e.externalValue && ie(
1016
1050
  e.externalValue,
1017
1051
  (r) => {
1018
1052
  if (r) {
1019
1053
  const u = new Date(r);
1020
1054
  if (u.toString() !== "Invalid Date") {
1021
- const p = u.getHours(), D = p >= 12 ? "PM" : "AM";
1022
- t.value = I(p, u.getMinutes(), D);
1055
+ const v = u.getHours(), g = v >= 12 ? "PM" : "AM";
1056
+ n.value = f(v, u.getMinutes(), g);
1023
1057
  return;
1024
1058
  }
1025
1059
  }
1026
1060
  },
1027
1061
  { immediate: !0 }
1028
1062
  );
1029
- const S = A(() => [
1030
- ["Time", t.value || "--:-- --"],
1031
- ["Hour (12h)", h.value],
1032
- ["Minute", L.value],
1033
- ["Period", E.value],
1034
- ["Digits only", v.value],
1063
+ const X = D(() => [
1064
+ ["Time", n.value || "--:-- --"],
1065
+ ["Hour (12h)", x.value],
1066
+ ["Minute", S.value],
1067
+ ["Period", T.value],
1068
+ ["Digits only", y.value],
1035
1069
  [
1036
1070
  "min",
1037
- e.minTime?.value.toLocaleTimeString("en-US", {
1071
+ e.min?.toLocaleTimeString("en-US", {
1038
1072
  hour: "2-digit",
1039
1073
  minute: "2-digit"
1040
1074
  }) ?? null
1041
1075
  ],
1042
1076
  [
1043
1077
  "max",
1044
- e.maxTime?.value.toLocaleTimeString("en-US", {
1078
+ e.max?.toLocaleTimeString("en-US", {
1045
1079
  hour: "2-digit",
1046
1080
  minute: "2-digit"
1047
1081
  }) ?? null
1048
- ]
1049
- ]), T = A(
1050
- () => O(t.value) ?? null
1051
- ), B = A(() => {
1052
- if (!y.value) return !0;
1053
- const r = T.value;
1054
- return r ? F(r) : !1;
1055
- }), a = A(() => {
1056
- if (B.value) return "";
1057
- if (y.value && !T.value)
1058
- return `Must be in ${q.value} format.`;
1059
- const r = {
1082
+ ],
1083
+ ["valid", B.value],
1084
+ ["reason", te.value],
1085
+ ["validationMessage", a.value]
1086
+ ]), Z = D(
1087
+ () => b(n.value) ?? null
1088
+ ), B = D(() => {
1089
+ if (!K.value) {
1090
+ if (!I.value) return !0;
1091
+ const u = Z.value;
1092
+ return u ? c(u) : !1;
1093
+ }
1094
+ if (!H.value) return !0;
1095
+ const r = Z.value;
1096
+ return !I.value || !r ? !1 : c(r);
1097
+ }), te = D(() => {
1098
+ if (!K.value) {
1099
+ if (!I.value) return;
1100
+ const u = Z.value;
1101
+ return u ? c(u) ? "valid" : "out-of-bounds" : "invalid-time";
1102
+ }
1103
+ if (!H.value) return;
1104
+ if (y.value.length === 0 || !I.value)
1105
+ return "incomplete";
1106
+ const r = Z.value;
1107
+ return r ? c(r) ? "valid" : "out-of-bounds" : "invalid-time";
1108
+ }), a = D(() => {
1109
+ const r = te.value;
1110
+ if (!r || r === "valid") return "";
1111
+ if (r === "incomplete")
1112
+ return "Required";
1113
+ if (r === "invalid-time")
1114
+ return `Must be in ${R.value} format.`;
1115
+ const u = {
1060
1116
  hour: "2-digit",
1061
1117
  minute: "2-digit"
1062
- }, u = e.minTime?.value ? e.minTime.value.toLocaleTimeString("en-US", r) : null, p = e.maxTime?.value ? e.maxTime.value.toLocaleTimeString("en-US", r) : null;
1063
- return u && p ? `Must be between ${u} and ${p}.` : u ? `Must be ${u} or later.` : p ? `Must be ${p} or earlier.` : "";
1064
- }), g = () => {
1118
+ }, v = e.min ? e.min.toLocaleTimeString("en-US", u) : null, g = e.max ? e.max.toLocaleTimeString("en-US", u) : null;
1119
+ if (r === "out-of-bounds") {
1120
+ if (v && g) return `Must be between ${v} and ${g}.`;
1121
+ if (v) return `Must be ${v} or later.`;
1122
+ if (g) return `Must be ${g} or earlier.`;
1123
+ }
1124
+ return "";
1125
+ }), p = () => {
1065
1126
  N(() => {
1066
1127
  const r = document.getElementById(e.id);
1067
1128
  if (!r) {
@@ -1075,234 +1136,237 @@ function He(e) {
1075
1136
  });
1076
1137
  };
1077
1138
  return De(() => {
1078
- g();
1139
+ p();
1079
1140
  }), {
1080
- raw: t,
1081
- rules: b,
1082
- debugEnabled: P,
1083
- debugLines: S,
1084
- placeholder: q,
1141
+ raw: n,
1142
+ rules: A,
1143
+ debugEnabled: q,
1144
+ debugLines: X,
1145
+ placeholder: R,
1085
1146
  isValid: B,
1147
+ reason: _(te),
1086
1148
  validationMessage: a,
1087
- isComplete: y,
1088
- inRangeTime: F,
1089
- hour: _(h),
1090
- minute: _(L),
1091
- period: _(E),
1092
- handleChange: o,
1093
- handleKeyDown: i,
1094
- handleKeyUp: k,
1095
- handleClick: s,
1096
- handleWheel: d
1149
+ isComplete: I,
1150
+ inRangeTime: c,
1151
+ cursorPos: d,
1152
+ hour: _(x),
1153
+ minute: _(S),
1154
+ period: _(T),
1155
+ handleChange: l,
1156
+ handleKeyDown: M,
1157
+ handleKeyUp: P,
1158
+ handleClick: i,
1159
+ handleWheel: w,
1160
+ handleBlur: W
1097
1161
  };
1098
1162
  }
1099
- function Le(e) {
1163
+ function Te(e) {
1100
1164
  return Me() ? ($e(e), !0) : !1;
1101
1165
  }
1102
1166
  const Ae = typeof window < "u" && typeof document < "u";
1103
1167
  typeof WorkerGlobalScope < "u" && globalThis instanceof WorkerGlobalScope;
1104
- const Pe = Object.prototype.toString, Fe = (e) => Pe.call(e) === "[object Object]", de = () => {
1105
- }, qe = /* @__PURE__ */ Re();
1106
- function Re() {
1107
- var e, t;
1108
- return Ae && ((e = window?.navigator) == null ? void 0 : e.userAgent) && (/iP(?:ad|hone|od)/.test(window.navigator.userAgent) || ((t = window?.navigator) == null ? void 0 : t.maxTouchPoints) > 2 && /iPad|Macintosh/.test(window?.navigator.userAgent));
1168
+ const Pe = Object.prototype.toString, qe = (e) => Pe.call(e) === "[object Object]", fe = () => {
1169
+ }, Re = /* @__PURE__ */ Fe();
1170
+ function Fe() {
1171
+ var e, n;
1172
+ return Ae && ((e = window?.navigator) == null ? void 0 : e.userAgent) && (/iP(?:ad|hone|od)/.test(window.navigator.userAgent) || ((n = window?.navigator) == null ? void 0 : n.maxTouchPoints) > 2 && /iPad|Macintosh/.test(window?.navigator.userAgent));
1109
1173
  }
1110
- function be(e) {
1174
+ function Se(e) {
1111
1175
  return Array.isArray(e) ? e : [e];
1112
1176
  }
1113
- function Ue(e, t, f) {
1114
- return le(
1177
+ function Ue(e, n, d) {
1178
+ return ie(
1115
1179
  e,
1116
- t,
1180
+ n,
1117
1181
  {
1118
- ...f,
1182
+ ...d,
1119
1183
  immediate: !0
1120
1184
  }
1121
1185
  );
1122
1186
  }
1123
1187
  const Ee = Ae ? window : void 0;
1124
- function pe(e) {
1125
- var t;
1126
- const f = ie(e);
1127
- return (t = f?.$el) != null ? t : f;
1188
+ function ve(e) {
1189
+ var n;
1190
+ const d = ue(e);
1191
+ return (n = d?.$el) != null ? n : d;
1128
1192
  }
1129
1193
  function we(...e) {
1130
- const t = [], f = () => {
1131
- t.forEach((v) => v()), t.length = 0;
1132
- }, P = (v, b, C, h) => (v.addEventListener(b, C, h), () => v.removeEventListener(b, C, h)), q = A(() => {
1133
- const v = be(ie(e[0])).filter((b) => b != null);
1134
- return v.every((b) => typeof b != "string") ? v : void 0;
1135
- }), V = Ue(
1194
+ const n = [], d = () => {
1195
+ n.forEach((E) => E()), n.length = 0;
1196
+ }, q = (E, k, y, A) => (E.addEventListener(k, y, A), () => E.removeEventListener(k, y, A)), R = D(() => {
1197
+ const E = Se(ue(e[0])).filter((k) => k != null);
1198
+ return E.every((k) => typeof k != "string") ? E : void 0;
1199
+ }), K = Ue(
1136
1200
  () => {
1137
- var v, b;
1201
+ var E, k;
1138
1202
  return [
1139
- (b = (v = q.value) == null ? void 0 : v.map((C) => pe(C))) != null ? b : [Ee].filter((C) => C != null),
1140
- be(ie(q.value ? e[1] : e[0])),
1141
- be(Ce(q.value ? e[2] : e[1])),
1203
+ (k = (E = R.value) == null ? void 0 : E.map((y) => ve(y))) != null ? k : [Ee].filter((y) => y != null),
1204
+ Se(ue(R.value ? e[1] : e[0])),
1205
+ Se(Ce(R.value ? e[2] : e[1])),
1142
1206
  // @ts-expect-error - TypeScript gets the correct types, but somehow still complains
1143
- ie(q.value ? e[3] : e[2])
1207
+ ue(R.value ? e[3] : e[2])
1144
1208
  ];
1145
1209
  },
1146
- ([v, b, C, h]) => {
1147
- if (f(), !v?.length || !b?.length || !C?.length)
1210
+ ([E, k, y, A]) => {
1211
+ if (d(), !E?.length || !k?.length || !y?.length)
1148
1212
  return;
1149
- const L = Fe(h) ? { ...h } : h;
1150
- t.push(
1151
- ...v.flatMap(
1152
- (E) => b.flatMap(
1153
- (y) => C.map((I) => P(E, y, I, L))
1213
+ const L = qe(A) ? { ...A } : A;
1214
+ n.push(
1215
+ ...E.flatMap(
1216
+ (x) => k.flatMap(
1217
+ (S) => y.map((T) => q(x, S, T, L))
1154
1218
  )
1155
1219
  )
1156
1220
  );
1157
1221
  },
1158
1222
  { flush: "post" }
1159
- ), j = () => {
1160
- V(), f();
1223
+ ), H = () => {
1224
+ K(), d();
1161
1225
  };
1162
- return Le(f), j;
1226
+ return Te(d), H;
1163
1227
  }
1164
1228
  let ke = !1;
1165
- function Oe(e, t, f = {}) {
1166
- const { window: P = Ee, ignore: q = [], capture: V = !0, detectIframe: j = !1, controls: v = !1 } = f;
1167
- if (!P)
1168
- return v ? { stop: de, cancel: de, trigger: de } : de;
1169
- if (qe && !ke) {
1229
+ function Oe(e, n, d = {}) {
1230
+ const { window: q = Ee, ignore: R = [], capture: K = !0, detectIframe: H = !1, controls: E = !1 } = d;
1231
+ if (!q)
1232
+ return E ? { stop: fe, cancel: fe, trigger: fe } : fe;
1233
+ if (Re && !ke) {
1170
1234
  ke = !0;
1171
- const m = { passive: !0 };
1172
- Array.from(P.document.body.children).forEach((w) => w.addEventListener("click", de, m)), P.document.documentElement.addEventListener("click", de, m);
1235
+ const f = { passive: !0 };
1236
+ Array.from(q.document.body.children).forEach((b) => b.addEventListener("click", fe, f)), q.document.documentElement.addEventListener("click", fe, f);
1173
1237
  }
1174
- let b = !0;
1175
- const C = (m) => ie(q).some((w) => {
1176
- if (typeof w == "string")
1177
- return Array.from(P.document.querySelectorAll(w)).some((F) => F === m.target || m.composedPath().includes(F));
1238
+ let k = !0;
1239
+ const y = (f) => ue(R).some((b) => {
1240
+ if (typeof b == "string")
1241
+ return Array.from(q.document.querySelectorAll(b)).some((O) => O === f.target || f.composedPath().includes(O));
1178
1242
  {
1179
- const F = pe(w);
1180
- return F && (m.target === F || m.composedPath().includes(F));
1243
+ const O = ve(b);
1244
+ return O && (f.target === O || f.composedPath().includes(O));
1181
1245
  }
1182
1246
  });
1183
- function h(m) {
1184
- const w = ie(m);
1185
- return w && w.$.subTree.shapeFlag === 16;
1247
+ function A(f) {
1248
+ const b = ue(f);
1249
+ return b && b.$.subTree.shapeFlag === 16;
1186
1250
  }
1187
- function L(m, w) {
1188
- const F = ie(m), o = F.$.subTree && F.$.subTree.children;
1189
- return o == null || !Array.isArray(o) ? !1 : o.some((s) => s.el === w.target || w.composedPath().includes(s.el));
1251
+ function L(f, b) {
1252
+ const O = ue(f), o = O.$.subTree && O.$.subTree.children;
1253
+ return o == null || !Array.isArray(o) ? !1 : o.some((c) => c.el === b.target || b.composedPath().includes(c.el));
1190
1254
  }
1191
- const E = (m) => {
1192
- const w = pe(e);
1193
- if (m.target != null && !(!(w instanceof Element) && h(e) && L(e, m)) && !(!w || w === m.target || m.composedPath().includes(w))) {
1194
- if ("detail" in m && m.detail === 0 && (b = !C(m)), !b) {
1195
- b = !0;
1255
+ const x = (f) => {
1256
+ const b = ve(e);
1257
+ if (f.target != null && !(!(b instanceof Element) && A(e) && L(e, f)) && !(!b || b === f.target || f.composedPath().includes(b))) {
1258
+ if ("detail" in f && f.detail === 0 && (k = !y(f)), !k) {
1259
+ k = !0;
1196
1260
  return;
1197
1261
  }
1198
- t(m);
1262
+ n(f);
1199
1263
  }
1200
1264
  };
1201
- let y = !1;
1202
- const I = [
1203
- we(P, "click", (m) => {
1204
- y || (y = !0, setTimeout(() => {
1205
- y = !1;
1206
- }, 0), E(m));
1207
- }, { passive: !0, capture: V }),
1208
- we(P, "pointerdown", (m) => {
1209
- const w = pe(e);
1210
- b = !C(m) && !!(w && !m.composedPath().includes(w));
1265
+ let S = !1;
1266
+ const T = [
1267
+ we(q, "click", (f) => {
1268
+ S || (S = !0, setTimeout(() => {
1269
+ S = !1;
1270
+ }, 0), x(f));
1271
+ }, { passive: !0, capture: K }),
1272
+ we(q, "pointerdown", (f) => {
1273
+ const b = ve(e);
1274
+ k = !y(f) && !!(b && !f.composedPath().includes(b));
1211
1275
  }, { passive: !0 }),
1212
- j && we(P, "blur", (m) => {
1276
+ H && we(q, "blur", (f) => {
1213
1277
  setTimeout(() => {
1214
- var w;
1215
- const F = pe(e);
1216
- ((w = P.document.activeElement) == null ? void 0 : w.tagName) === "IFRAME" && !F?.contains(P.document.activeElement) && t(m);
1278
+ var b;
1279
+ const O = ve(e);
1280
+ ((b = q.document.activeElement) == null ? void 0 : b.tagName) === "IFRAME" && !O?.contains(q.document.activeElement) && n(f);
1217
1281
  }, 0);
1218
1282
  }, { passive: !0 })
1219
- ].filter(Boolean), O = () => I.forEach((m) => m());
1220
- return v ? {
1221
- stop: O,
1283
+ ].filter(Boolean), I = () => T.forEach((f) => f());
1284
+ return E ? {
1285
+ stop: I,
1222
1286
  cancel: () => {
1223
- b = !1;
1287
+ k = !1;
1224
1288
  },
1225
- trigger: (m) => {
1226
- b = !0, E(m), b = !1;
1289
+ trigger: (f) => {
1290
+ k = !0, x(f), k = !1;
1227
1291
  }
1228
- } : O;
1292
+ } : I;
1229
1293
  }
1230
1294
  function We(e) {
1231
- const t = Ie(null), f = [
1295
+ const n = Ie(null), d = [
1232
1296
  ".k-animation-container .k-popup",
1233
1297
  ".k-popup",
1234
1298
  ".k-timepicker-popup",
1235
1299
  ".k-menu-popup"
1236
- ], P = Array.isArray(e.popupSelector) ? e.popupSelector : [e.popupSelector ?? f].flat(), q = (h) => h ? typeof e.initialFocus == "string" ? h.querySelector(e.initialFocus) ?? h : typeof e.initialFocus == "function" ? e.initialFocus(h) ?? h : h.querySelector(
1300
+ ], q = Array.isArray(e.popupSelector) ? e.popupSelector : [e.popupSelector ?? d].flat(), R = (A) => A ? typeof e.initialFocus == "string" ? A.querySelector(e.initialFocus) ?? A : typeof e.initialFocus == "function" ? e.initialFocus(A) ?? A : A.querySelector(
1237
1301
  'button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'
1238
- ) ?? h : null, { activate: V, deactivate: j } = Te(t, {
1302
+ ) ?? A : null, { activate: K, deactivate: H } = Le(n, {
1239
1303
  escapeDeactivates: !1,
1240
1304
  clickOutsideDeactivates: !1,
1241
- fallbackFocus: () => t.value,
1242
- initialFocus: () => q(t.value),
1305
+ fallbackFocus: () => n.value,
1306
+ initialFocus: () => R(n.value),
1243
1307
  ...e.focusTrapOptions ?? {}
1244
1308
  });
1245
- let v = null, b = z(null);
1246
- const C = () => {
1309
+ let E = null, k = z(null);
1310
+ const y = () => {
1247
1311
  if (e.resolvePopupEl) return e.resolvePopupEl();
1248
- const h = (E, y) => {
1249
- const I = Array.from(E.querySelectorAll(y));
1250
- if (!I.length) return null;
1251
- const O = I.filter(
1252
- (m) => m.offsetParent !== null || m.getClientRects().length > 0
1312
+ const A = (x, S) => {
1313
+ const T = Array.from(x.querySelectorAll(S));
1314
+ if (!T.length) return null;
1315
+ const I = T.filter(
1316
+ (f) => f.offsetParent !== null || f.getClientRects().length > 0
1253
1317
  );
1254
- return O[O.length - 1] ?? I[I.length - 1] ?? null;
1318
+ return I[I.length - 1] ?? T[T.length - 1] ?? null;
1255
1319
  }, L = e.triggerEl?.value?.closest?.(".k-animation-container") ?? document.body;
1256
- for (const E of P) {
1257
- const y = h(L, E);
1258
- if (y) return y;
1320
+ for (const x of q) {
1321
+ const S = A(L, x);
1322
+ if (S) return S;
1259
1323
  }
1260
- for (const E of P) {
1261
- const y = h(document, E);
1262
- if (y) return y;
1324
+ for (const x of q) {
1325
+ const S = A(document, x);
1326
+ if (S) return S;
1263
1327
  }
1264
1328
  return null;
1265
1329
  };
1266
- return Oe(t, (h) => {
1267
- b.value = "outside", e.isOpen.value && e.onRequestClose?.("outside", h);
1268
- }), le(
1330
+ return Oe(n, (A) => {
1331
+ k.value = "outside", e.isOpen.value && e.onRequestClose?.("outside", A);
1332
+ }), ie(
1269
1333
  () => e.isOpen.value,
1270
- (h) => {
1271
- h ? (b.value = null, N(() => {
1272
- const L = C();
1273
- L && (t.value = L, setTimeout(() => V(), 0), v || (v = (E) => {
1274
- E.key === "Escape" && (b.value = "escape", e.isOpen.value && e.onRequestClose?.("escape", E));
1275
- }, document.addEventListener("keydown", v, !0)));
1276
- })) : (j(), v && (document.removeEventListener("keydown", v, !0), v = null), t.value = null, b.value === "outside" && N(() => {
1334
+ (A) => {
1335
+ A ? (k.value = null, N(() => {
1336
+ const L = y();
1337
+ L && (n.value = L, setTimeout(() => K(), 0), E || (E = (x) => {
1338
+ x.key === "Escape" && (k.value = "escape", e.isOpen.value && e.onRequestClose?.("escape", x));
1339
+ }, document.addEventListener("keydown", E, !0)));
1340
+ })) : (H(), E && (document.removeEventListener("keydown", E, !0), E = null), n.value = null, k.value === "outside" && N(() => {
1277
1341
  const L = () => {
1278
- const E = e.triggerEl?.value, y = E?.querySelector("input"), I = document.activeElement;
1279
- I && (I === y || E && E.contains(I)) && (y ?? E)?.blur?.();
1342
+ const x = e.triggerEl?.value, S = x?.querySelector("input"), T = document.activeElement;
1343
+ T && (T === S || x && x.contains(T)) && (S ?? x)?.blur?.();
1280
1344
  };
1281
1345
  requestAnimationFrame(() => setTimeout(L, 0));
1282
- }), e.returnFocusToTrigger !== !1 && b.value === "escape" && e.triggerEl?.value && (console.log(
1346
+ }), e.returnFocusToTrigger !== !1 && k.value === "escape" && e.triggerEl?.value && (console.log(
1283
1347
  "Returning focus to trigger element:",
1284
1348
  e.triggerEl.value
1285
1349
  ), N(() => {
1286
1350
  const L = () => {
1287
- const E = e.triggerEl?.value;
1288
- if (!E) return;
1289
- (E.querySelector("input") ?? E)?.focus?.();
1351
+ const x = e.triggerEl?.value;
1352
+ if (!x) return;
1353
+ (x.querySelector("input") ?? x)?.focus?.();
1290
1354
  };
1291
1355
  requestAnimationFrame(() => setTimeout(L, 0));
1292
1356
  })));
1293
1357
  }
1294
1358
  ), {
1295
- popupRef: t,
1296
- activate: V,
1297
- deactivate: j,
1298
- lastCloseReason: _(b),
1299
- setPopupEl: (h) => t.value = h
1359
+ popupRef: n,
1360
+ activate: K,
1361
+ deactivate: H,
1362
+ lastCloseReason: _(k),
1363
+ setPopupEl: (A) => n.value = A
1300
1364
  };
1301
1365
  }
1302
1366
  export {
1303
- Ye as useGridA11y,
1304
- Ne as useMaskedDateInput,
1305
- Ve as useMaskedDateRangeInput,
1367
+ Ve as useGridA11y,
1368
+ Ye as useMaskedDateInput,
1369
+ Ne as useMaskedDateRangeInput,
1306
1370
  He as useMaskedTimeInput,
1307
1371
  We as usePopupTrap
1308
1372
  };