@featherk/composables 0.5.7 → 0.6.1
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.
- package/dist/date/useMaskedDateInput.d.ts +8 -2
- package/dist/featherk-composables.es.js +768 -704
- package/dist/featherk-composables.umd.js +1 -1
- package/dist/time/useMaskedTimeInput.d.ts +8 -3
- package/docs/date/useMaskedDateInput.md +23 -7
- package/docs/time/useMaskedTimeInput.md +22 -9
- package/package.json +1 -1
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import { ref as z, onBeforeUnmount as xe, nextTick as N, computed as
|
|
2
|
-
import { useFocusTrap as
|
|
3
|
-
const
|
|
4
|
-
const
|
|
5
|
-
let
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
[" ", "Spacebar", "Space", "Enter"].includes(
|
|
9
|
-
},
|
|
10
|
-
if (!
|
|
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(),
|
|
12
|
+
o.preventDefault(), o.stopPropagation(), n.value && n.value.focus();
|
|
13
13
|
return;
|
|
14
14
|
}
|
|
15
|
-
const
|
|
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
|
-
],
|
|
26
|
+
], m = Array.from(
|
|
27
27
|
l.querySelectorAll(i.join(","))
|
|
28
28
|
);
|
|
29
|
-
if (
|
|
30
|
-
const
|
|
31
|
-
(
|
|
29
|
+
if (m.length === 0) return;
|
|
30
|
+
const M = m.findIndex(
|
|
31
|
+
(P) => P === document.activeElement
|
|
32
32
|
);
|
|
33
|
-
let
|
|
34
|
-
|
|
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 =
|
|
40
|
-
(
|
|
39
|
+
const i = c.findIndex(
|
|
40
|
+
(M) => M === document.activeElement
|
|
41
41
|
);
|
|
42
|
-
let
|
|
43
|
-
o.code === "ArrowUp" ?
|
|
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 ? (
|
|
47
|
-
},
|
|
48
|
-
|
|
49
|
-
o.forEach((
|
|
50
|
-
|
|
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
|
|
55
|
-
|
|
54
|
+
const M = n.value;
|
|
55
|
+
M && (M.dataset.featherKSortable === "true" || N(() => {
|
|
56
56
|
i.querySelectorAll(
|
|
57
57
|
".k-columnmenu-item-wrapper"
|
|
58
|
-
).forEach((
|
|
59
|
-
|
|
58
|
+
).forEach((W) => {
|
|
59
|
+
W.textContent?.toLowerCase().includes("sort") && W.remove();
|
|
60
60
|
});
|
|
61
61
|
})), i.addEventListener(
|
|
62
62
|
"keydown",
|
|
63
|
-
|
|
63
|
+
y
|
|
64
64
|
), N(() => {
|
|
65
|
-
const
|
|
66
|
-
const
|
|
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 (
|
|
72
|
-
|
|
73
|
-
else if (
|
|
74
|
-
|
|
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
|
-
|
|
77
|
+
w.attempts === void 0 && (w.attempts = 0), w.attempts++ < 3 && setTimeout(w, 200);
|
|
78
78
|
};
|
|
79
|
-
|
|
79
|
+
w();
|
|
80
80
|
});
|
|
81
81
|
}
|
|
82
82
|
i.querySelectorAll(
|
|
83
83
|
".k-animation-container"
|
|
84
|
-
).forEach((
|
|
85
|
-
|
|
84
|
+
).forEach((M) => {
|
|
85
|
+
M.addEventListener(
|
|
86
86
|
"keydown",
|
|
87
|
-
|
|
87
|
+
y
|
|
88
88
|
);
|
|
89
89
|
});
|
|
90
90
|
}
|
|
91
|
-
}),
|
|
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
|
-
|
|
96
|
+
y
|
|
97
97
|
), i.querySelectorAll(
|
|
98
98
|
".k-animation-container"
|
|
99
|
-
).forEach((
|
|
100
|
-
|
|
99
|
+
).forEach((M) => {
|
|
100
|
+
M.removeEventListener(
|
|
101
101
|
"keydown",
|
|
102
|
-
|
|
102
|
+
y
|
|
103
103
|
);
|
|
104
104
|
});
|
|
105
105
|
}
|
|
106
106
|
});
|
|
107
107
|
});
|
|
108
|
-
}),
|
|
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
|
|
116
|
-
if (
|
|
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((
|
|
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(),
|
|
142
|
-
|
|
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 =
|
|
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 = (
|
|
151
|
-
let
|
|
152
|
-
for (;
|
|
153
|
-
const
|
|
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 (
|
|
156
|
-
return
|
|
155
|
+
if (W.hasAttribute && W.classList.contains("k-table-row"))
|
|
156
|
+
return W;
|
|
157
157
|
} catch {
|
|
158
158
|
}
|
|
159
|
-
|
|
159
|
+
P = w === "next" ? P.nextElementSibling : P.previousElementSibling;
|
|
160
160
|
}
|
|
161
161
|
return null;
|
|
162
|
-
},
|
|
163
|
-
|
|
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
|
-
|
|
169
|
+
H
|
|
170
170
|
);
|
|
171
171
|
if (i.length === 0) return;
|
|
172
|
-
let
|
|
173
|
-
(
|
|
172
|
+
let m = Array.from(i).findIndex(
|
|
173
|
+
(M) => M === document.activeElement
|
|
174
174
|
);
|
|
175
|
-
if (
|
|
175
|
+
if (m === -1 && document.activeElement === l) {
|
|
176
176
|
i[0].focus();
|
|
177
177
|
return;
|
|
178
178
|
}
|
|
179
|
-
o.code === "ArrowRight" ?
|
|
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
|
-
},
|
|
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
|
-
},
|
|
191
|
-
if (!
|
|
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
|
-
(
|
|
201
|
+
(w) => w.getAttribute("tabindex") === "0"
|
|
202
202
|
).length === 1) return;
|
|
203
|
-
const
|
|
204
|
-
(
|
|
203
|
+
const M = i.find(
|
|
204
|
+
(w) => w === document.activeElement || w.contains(document.activeElement)
|
|
205
205
|
);
|
|
206
|
-
if (i.forEach((
|
|
207
|
-
|
|
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
|
-
},
|
|
214
|
+
}, c = Array.from(
|
|
215
215
|
e.value.$el.querySelectorAll(
|
|
216
216
|
".k-table-row[data-grid-row-index]"
|
|
217
217
|
)
|
|
218
218
|
);
|
|
219
|
-
|
|
220
|
-
i.setAttribute("tabindex",
|
|
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 && (
|
|
223
|
+
l && (R = new MutationObserver(() => {
|
|
224
224
|
o();
|
|
225
|
-
}),
|
|
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
|
-
},
|
|
229
|
+
}, T = () => {
|
|
230
230
|
N(() => {
|
|
231
|
-
const
|
|
232
|
-
|
|
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
|
-
|
|
235
|
+
k
|
|
236
236
|
);
|
|
237
|
-
}),
|
|
237
|
+
}), A(), f();
|
|
238
238
|
});
|
|
239
|
-
},
|
|
240
|
-
const
|
|
241
|
-
|
|
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
|
-
|
|
244
|
+
k
|
|
245
245
|
);
|
|
246
|
-
}),
|
|
247
|
-
},
|
|
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
|
|
251
|
+
const m = l.querySelector(
|
|
252
252
|
".k-grid-header-menu.k-grid-column-menu"
|
|
253
253
|
);
|
|
254
|
-
if (!
|
|
255
|
-
const
|
|
256
|
-
if (
|
|
257
|
-
const
|
|
258
|
-
l.setAttribute("data-feather-k-field",
|
|
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
|
-
|
|
260
|
+
M[i].filterable === !1 ? "false" : "true"
|
|
261
261
|
), l.setAttribute(
|
|
262
262
|
"data-feather-k-sortable",
|
|
263
|
-
|
|
263
|
+
M[i].sortable === !1 ? "false" : "true"
|
|
264
264
|
);
|
|
265
265
|
}
|
|
266
|
-
const
|
|
267
|
-
|
|
268
|
-
const
|
|
269
|
-
|
|
270
|
-
},
|
|
271
|
-
if (
|
|
272
|
-
|
|
273
|
-
else if (
|
|
274
|
-
|
|
275
|
-
const
|
|
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(
|
|
283
|
+
l.dispatchEvent(te);
|
|
284
284
|
}
|
|
285
285
|
};
|
|
286
|
-
l.addEventListener("click",
|
|
287
|
-
l.removeEventListener("click",
|
|
286
|
+
l.addEventListener("click", X), K.push(() => {
|
|
287
|
+
l.removeEventListener("click", X);
|
|
288
288
|
});
|
|
289
|
-
const
|
|
290
|
-
if ((
|
|
291
|
-
if (
|
|
292
|
-
|
|
293
|
-
else if (
|
|
294
|
-
const
|
|
295
|
-
|
|
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",
|
|
300
|
-
l.removeEventListener("keydown",
|
|
299
|
+
l.addEventListener("keydown", Z, !0), K.push(() => {
|
|
300
|
+
l.removeEventListener("keydown", Z, !0);
|
|
301
301
|
});
|
|
302
302
|
});
|
|
303
|
-
const
|
|
304
|
-
if (
|
|
303
|
+
const c = document.querySelector(".k-grid-header .k-table-thead");
|
|
304
|
+
if (c) {
|
|
305
305
|
const l = (i) => {
|
|
306
|
-
const
|
|
307
|
-
|
|
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
|
-
|
|
309
|
+
c.addEventListener(
|
|
310
310
|
"keydown",
|
|
311
311
|
l,
|
|
312
312
|
!0
|
|
313
313
|
// NOTE: capture phase
|
|
314
|
-
),
|
|
315
|
-
|
|
314
|
+
), K.push(() => {
|
|
315
|
+
c.removeEventListener(
|
|
316
316
|
"keydown",
|
|
317
317
|
l,
|
|
318
318
|
!0
|
|
319
319
|
);
|
|
320
320
|
});
|
|
321
321
|
}
|
|
322
|
-
},
|
|
323
|
-
const l = o?.event.event.target, i =
|
|
322
|
+
}, b = function(o, c) {
|
|
323
|
+
const l = o?.event.event.target, i = E();
|
|
324
324
|
if (!l || !i) return;
|
|
325
|
-
const
|
|
326
|
-
if (!
|
|
327
|
-
if (
|
|
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
|
-
(
|
|
329
|
+
(W) => W.field !== o.event.field
|
|
330
330
|
);
|
|
331
331
|
return;
|
|
332
332
|
}
|
|
333
|
-
typeof
|
|
334
|
-
|
|
333
|
+
typeof c == "function" && N(() => {
|
|
334
|
+
n.value && n.value.focus(), c(o);
|
|
335
335
|
});
|
|
336
336
|
}
|
|
337
|
-
},
|
|
338
|
-
if (!
|
|
337
|
+
}, O = () => {
|
|
338
|
+
if (!d)
|
|
339
339
|
try {
|
|
340
|
-
|
|
340
|
+
x(), S(), T(), d = !0;
|
|
341
341
|
} catch (o) {
|
|
342
|
-
console.error("initA11y failed:", o),
|
|
342
|
+
console.error("initA11y failed:", o), I();
|
|
343
343
|
}
|
|
344
344
|
};
|
|
345
345
|
return xe(() => {
|
|
346
|
-
|
|
346
|
+
I();
|
|
347
347
|
}), {
|
|
348
|
-
activeFilterButton:
|
|
348
|
+
activeFilterButton: n,
|
|
349
349
|
handleGridKeyDown: L,
|
|
350
|
-
handleSortChange:
|
|
351
|
-
initA11y:
|
|
350
|
+
handleSortChange: b,
|
|
351
|
+
initA11y: O
|
|
352
352
|
};
|
|
353
353
|
};
|
|
354
|
-
function
|
|
355
|
-
const
|
|
356
|
-
const a =
|
|
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
|
-
}),
|
|
359
|
-
const a =
|
|
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
|
-
}),
|
|
362
|
-
const a =
|
|
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
|
-
}),
|
|
365
|
-
if (
|
|
364
|
+
}), T = (a) => {
|
|
365
|
+
if (y.value.length === 0) {
|
|
366
366
|
e.onChange({ value: null, event: a });
|
|
367
367
|
return;
|
|
368
368
|
}
|
|
369
|
-
if (
|
|
369
|
+
if (y.value.length < 8) {
|
|
370
370
|
e.onChange({ value: null, event: a });
|
|
371
371
|
return;
|
|
372
372
|
}
|
|
373
|
-
if ((
|
|
374
|
-
const [
|
|
375
|
-
if (
|
|
376
|
-
const J = new Date(
|
|
377
|
-
|
|
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
|
-
},
|
|
382
|
-
const
|
|
383
|
-
return !(
|
|
384
|
-
},
|
|
385
|
-
if ((
|
|
386
|
-
const [a,
|
|
387
|
-
if (
|
|
388
|
-
return new Date(
|
|
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
|
-
}),
|
|
392
|
-
|
|
393
|
-
const
|
|
394
|
-
|
|
395
|
-
},
|
|
396
|
-
|
|
397
|
-
},
|
|
398
|
-
const u =
|
|
399
|
-
|
|
400
|
-
let
|
|
401
|
-
if (!(
|
|
402
|
-
const
|
|
403
|
-
|
|
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(
|
|
407
|
-
const
|
|
408
|
-
e.onChange({ value:
|
|
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
|
|
410
|
+
const s = document.getElementById(
|
|
411
411
|
e.id
|
|
412
|
-
),
|
|
413
|
-
|
|
412
|
+
), h = d.value ?? 0;
|
|
413
|
+
s && (s.focus(), s.setSelectionRange(h, h));
|
|
414
414
|
});
|
|
415
415
|
});
|
|
416
416
|
return;
|
|
417
417
|
}
|
|
418
|
-
const
|
|
419
|
-
if (
|
|
420
|
-
|
|
421
|
-
else if (
|
|
422
|
-
const
|
|
423
|
-
|
|
424
|
-
} else
|
|
425
|
-
|
|
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(
|
|
429
|
-
const [
|
|
430
|
-
parseInt(
|
|
431
|
-
parseInt(
|
|
432
|
-
parseInt(
|
|
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
|
-
|
|
435
|
-
value:
|
|
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
|
|
439
|
+
const F = document.getElementById(
|
|
440
440
|
e.id
|
|
441
|
-
),
|
|
442
|
-
|
|
441
|
+
), t = d.value ?? 0;
|
|
442
|
+
F && (F.focus(), F.setSelectionRange(t, t));
|
|
443
443
|
});
|
|
444
444
|
});
|
|
445
|
-
},
|
|
445
|
+
}, m = (a) => {
|
|
446
446
|
if (a.code === "Space" || a.key === " ") {
|
|
447
447
|
e.onShowCalendar(a);
|
|
448
448
|
return;
|
|
449
449
|
}
|
|
450
|
-
if (
|
|
450
|
+
if (E.includes(a.key)) {
|
|
451
451
|
a.preventDefault();
|
|
452
|
-
const
|
|
453
|
-
|
|
452
|
+
const p = a.target;
|
|
453
|
+
i(a.key, p, a);
|
|
454
454
|
}
|
|
455
|
-
},
|
|
455
|
+
}, M = (a) => {
|
|
456
456
|
a.preventDefault();
|
|
457
|
-
const
|
|
458
|
-
|
|
459
|
-
},
|
|
460
|
-
const
|
|
461
|
-
if (
|
|
462
|
-
|
|
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
|
-
|
|
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 &&
|
|
471
|
+
e.externalValue && ie(
|
|
468
472
|
e.externalValue,
|
|
469
473
|
(a) => {
|
|
470
474
|
if (a) {
|
|
471
|
-
const
|
|
472
|
-
if (
|
|
473
|
-
const r = (
|
|
474
|
-
|
|
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
|
|
482
|
-
["Date", `${
|
|
483
|
-
["Digits only",
|
|
485
|
+
const W = D(() => [
|
|
486
|
+
["Date", `${L.value} / ${x.value} / ${S.value}`],
|
|
487
|
+
["Digits only", y.value],
|
|
484
488
|
[
|
|
485
489
|
"min",
|
|
486
|
-
e.
|
|
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.
|
|
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
|
-
]),
|
|
501
|
-
if (!
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
if (
|
|
507
|
-
|
|
508
|
-
|
|
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,
|
|
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
|
-
|
|
518
|
-
|
|
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
|
|
528
|
-
if (
|
|
529
|
-
|
|
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
|
-
|
|
565
|
+
te();
|
|
538
566
|
}), {
|
|
539
|
-
raw:
|
|
540
|
-
cursorPos:
|
|
541
|
-
debugEnabled:
|
|
542
|
-
debugLines:
|
|
543
|
-
placeholder:
|
|
544
|
-
isValid:
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
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
|
|
559
|
-
const
|
|
560
|
-
e.min = e.min ??
|
|
561
|
-
const
|
|
562
|
-
if (!
|
|
563
|
-
const
|
|
564
|
-
return
|
|
565
|
-
},
|
|
566
|
-
if ((
|
|
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
|
|
569
|
-
return { start: ye ?
|
|
570
|
-
},
|
|
571
|
-
const
|
|
572
|
-
return { start:
|
|
573
|
-
}), l =
|
|
574
|
-
if (!
|
|
575
|
-
const
|
|
576
|
-
if (!
|
|
577
|
-
const
|
|
578
|
-
return Math.round(
|
|
579
|
-
}), i =
|
|
580
|
-
const { start:
|
|
581
|
-
if (!
|
|
582
|
-
if (!
|
|
583
|
-
const
|
|
584
|
-
return !(!
|
|
585
|
-
}),
|
|
586
|
-
const { start:
|
|
587
|
-
if (!
|
|
588
|
-
if (!
|
|
589
|
-
if (!
|
|
590
|
-
const
|
|
591
|
-
return
|
|
592
|
-
}),
|
|
593
|
-
const { start:
|
|
594
|
-
switch (console.table({ start:
|
|
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 "
|
|
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 "
|
|
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" ? `
|
|
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
|
-
|
|
640
|
+
ie(
|
|
611
641
|
i,
|
|
612
|
-
(
|
|
613
|
-
(e.manageValid ?? !0) && (
|
|
642
|
+
(t) => {
|
|
643
|
+
(e.manageValid ?? !0) && (O.value = t);
|
|
614
644
|
},
|
|
615
645
|
{ immediate: !0 }
|
|
616
646
|
);
|
|
617
|
-
const
|
|
618
|
-
|
|
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
|
-
)}`,
|
|
621
|
-
const
|
|
622
|
-
|
|
623
|
-
const { start:
|
|
624
|
-
if (!
|
|
625
|
-
const U = /* @__PURE__ */ new Date(),
|
|
626
|
-
|
|
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
|
|
658
|
+
const Q = document.getElementById(
|
|
629
659
|
e.id
|
|
630
|
-
),
|
|
631
|
-
|
|
660
|
+
), ee = d.value ?? 0;
|
|
661
|
+
Q && (Q.focus(), Q.setSelectionRange(ee, ee));
|
|
632
662
|
});
|
|
633
663
|
});
|
|
634
664
|
return;
|
|
635
665
|
}
|
|
636
|
-
const
|
|
637
|
-
let
|
|
638
|
-
const
|
|
639
|
-
if (
|
|
640
|
-
const
|
|
641
|
-
U.setMonth(
|
|
642
|
-
const ge = L(U.getFullYear(),
|
|
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 (
|
|
645
|
-
const
|
|
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 (
|
|
648
|
-
const
|
|
649
|
-
U.setFullYear(
|
|
650
|
-
const
|
|
651
|
-
U.getDate() >
|
|
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
|
-
|
|
655
|
-
const ye =
|
|
656
|
-
|
|
657
|
-
const
|
|
658
|
-
|
|
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
|
-
),
|
|
663
|
-
U && (U.focus(), U.setSelectionRange(
|
|
692
|
+
), re = d.value ?? 0;
|
|
693
|
+
U && (U.focus(), U.setSelectionRange(re, re));
|
|
664
694
|
});
|
|
665
695
|
});
|
|
666
|
-
},
|
|
667
|
-
const { start:
|
|
668
|
-
if (!
|
|
669
|
-
e.onChange({ value: null, event:
|
|
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
|
|
673
|
-
if (
|
|
674
|
-
e.onChange({ value: null, event:
|
|
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 (!
|
|
678
|
-
e.onChange({ value: null, event:
|
|
707
|
+
if (!I(C, j)) {
|
|
708
|
+
e.onChange({ value: null, event: t });
|
|
679
709
|
return;
|
|
680
710
|
}
|
|
681
|
-
e.onChange({ value: { start:
|
|
682
|
-
},
|
|
683
|
-
|
|
684
|
-
const
|
|
685
|
-
|
|
686
|
-
},
|
|
687
|
-
|
|
688
|
-
},
|
|
689
|
-
if (
|
|
690
|
-
|
|
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 (
|
|
694
|
-
|
|
723
|
+
if (t.key === "ArrowDown" && t.altKey) {
|
|
724
|
+
t.preventDefault(), e.onShowCalendar(t);
|
|
695
725
|
return;
|
|
696
726
|
}
|
|
697
|
-
if (
|
|
698
|
-
|
|
699
|
-
const
|
|
700
|
-
|
|
727
|
+
if (w.includes(t.key)) {
|
|
728
|
+
t.preventDefault();
|
|
729
|
+
const s = t.target;
|
|
730
|
+
B(t.key, s, t);
|
|
701
731
|
}
|
|
702
|
-
},
|
|
703
|
-
|
|
704
|
-
const
|
|
705
|
-
|
|
706
|
-
},
|
|
707
|
-
if (
|
|
708
|
-
|
|
709
|
-
const
|
|
710
|
-
|
|
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 &&
|
|
743
|
+
e.externalValue && ie(
|
|
714
744
|
e.externalValue,
|
|
715
|
-
(
|
|
716
|
-
const
|
|
717
|
-
if (
|
|
718
|
-
if (
|
|
719
|
-
const
|
|
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?.(),
|
|
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
|
|
730
|
-
() =>
|
|
731
|
-
),
|
|
732
|
-
() =>
|
|
733
|
-
),
|
|
734
|
-
() =>
|
|
735
|
-
),
|
|
736
|
-
() =>
|
|
737
|
-
),
|
|
738
|
-
() =>
|
|
739
|
-
),
|
|
740
|
-
() =>
|
|
741
|
-
),
|
|
742
|
-
const { start:
|
|
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:
|
|
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(
|
|
759
|
-
|
|
760
|
-
).padStart(2, "0")} / ${String(
|
|
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(
|
|
765
|
-
|
|
766
|
-
).padStart(2, "0")} / ${String(
|
|
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:
|
|
769
|
-
{ label: "Mask complete", value: `${
|
|
798
|
+
{ label: "Digits only", value: A.value },
|
|
799
|
+
{ label: "Mask complete", value: `${f.value}` },
|
|
770
800
|
{
|
|
771
801
|
label: "Parsed",
|
|
772
|
-
value: `${
|
|
802
|
+
value: `${t ? t.toDateString() : "-"} | ${s ? s.toDateString() : "-"}`
|
|
773
803
|
},
|
|
774
804
|
{
|
|
775
805
|
label: "Valid (managed)",
|
|
776
|
-
value: `${
|
|
806
|
+
value: `${O.value ?? "-"}`
|
|
777
807
|
},
|
|
778
808
|
{ label: "Span (days)", value: `${l.value ?? "-"}` },
|
|
779
809
|
{
|
|
780
810
|
label: "Reason",
|
|
781
|
-
value: `${
|
|
811
|
+
value: `${m.value ?? "-"}`
|
|
782
812
|
},
|
|
783
813
|
{
|
|
784
814
|
label: "Cursor in",
|
|
785
|
-
value: `${
|
|
786
|
-
const
|
|
787
|
-
return `${
|
|
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
|
-
}),
|
|
821
|
+
}), Y = () => {
|
|
792
822
|
N(() => {
|
|
793
|
-
const
|
|
794
|
-
if (!
|
|
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
|
|
799
|
-
|
|
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
|
-
|
|
833
|
+
Y();
|
|
804
834
|
});
|
|
805
|
-
const
|
|
835
|
+
const F = () => {
|
|
806
836
|
N(() => {
|
|
807
837
|
try {
|
|
808
|
-
const
|
|
838
|
+
const t = Array.from(
|
|
809
839
|
document.querySelectorAll(".k-animation-container")
|
|
810
840
|
);
|
|
811
|
-
if (!
|
|
812
|
-
const
|
|
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 (!
|
|
816
|
-
const
|
|
845
|
+
if (!h) return;
|
|
846
|
+
const C = h.querySelectorAll(
|
|
817
847
|
".k-calendar-table"
|
|
818
848
|
);
|
|
819
|
-
let
|
|
820
|
-
|
|
821
|
-
|
|
849
|
+
let j = !1;
|
|
850
|
+
C.forEach((ne) => {
|
|
851
|
+
ne.tabIndex === 0 && (j ? ne.tabIndex = -1 : j = !0);
|
|
822
852
|
});
|
|
823
|
-
} catch (
|
|
824
|
-
console.warn(
|
|
853
|
+
} catch (t) {
|
|
854
|
+
console.warn(t);
|
|
825
855
|
}
|
|
826
856
|
});
|
|
827
857
|
};
|
|
828
|
-
return e.isOpen &&
|
|
858
|
+
return e.isOpen && ie(
|
|
829
859
|
e.isOpen,
|
|
830
|
-
(
|
|
831
|
-
|
|
860
|
+
(t) => {
|
|
861
|
+
t && setTimeout(() => F(), 0);
|
|
832
862
|
},
|
|
833
863
|
{ immediate: !1 }
|
|
834
864
|
), {
|
|
835
|
-
raw:
|
|
836
|
-
cursorPos:
|
|
837
|
-
debugEnabled:
|
|
838
|
-
debugLines:
|
|
839
|
-
digitsOnly:
|
|
840
|
-
valid:
|
|
865
|
+
raw: n,
|
|
866
|
+
cursorPos: d,
|
|
867
|
+
debugEnabled: q,
|
|
868
|
+
debugLines: oe,
|
|
869
|
+
digitsOnly: A,
|
|
870
|
+
valid: O,
|
|
841
871
|
validComputed: _(i),
|
|
842
|
-
reason: _(
|
|
843
|
-
validationMessage: _(
|
|
872
|
+
reason: _(m),
|
|
873
|
+
validationMessage: _(M),
|
|
844
874
|
spanDays: _(l),
|
|
845
|
-
month1: _(
|
|
846
|
-
day1: _(
|
|
847
|
-
year1: _(
|
|
848
|
-
month2: _(
|
|
849
|
-
day2: _(
|
|
850
|
-
year2: _(
|
|
851
|
-
handleChange:
|
|
852
|
-
handleKeyDown:
|
|
853
|
-
handleWheel:
|
|
854
|
-
handleKeyUp:
|
|
855
|
-
handleClick:
|
|
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
|
-
|
|
887
|
+
R.value = !0;
|
|
858
888
|
}
|
|
859
889
|
};
|
|
860
890
|
}
|
|
861
891
|
function He(e) {
|
|
862
|
-
const
|
|
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
|
-
},
|
|
870
|
-
const 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
|
-
}),
|
|
873
|
-
const 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
|
-
}),
|
|
876
|
-
() => /^(\d{2}):(\d{2})\s([AP]M)$/i.test(
|
|
877
|
-
),
|
|
878
|
-
let
|
|
879
|
-
return
|
|
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
|
-
)} ${
|
|
883
|
-
},
|
|
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
|
|
887
|
-
if (
|
|
888
|
-
let J =
|
|
889
|
-
|
|
890
|
-
const
|
|
891
|
-
return
|
|
892
|
-
},
|
|
893
|
-
if (
|
|
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 (!
|
|
927
|
+
if (!I.value) {
|
|
898
928
|
e.onChange({ value: null, event: r });
|
|
899
929
|
return;
|
|
900
930
|
}
|
|
901
|
-
const u =
|
|
902
|
-
u &&
|
|
903
|
-
},
|
|
904
|
-
const u = e.
|
|
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
|
|
907
|
-
if (
|
|
936
|
+
const $ = o(u);
|
|
937
|
+
if (g < $) return !1;
|
|
908
938
|
}
|
|
909
|
-
if (
|
|
910
|
-
const
|
|
911
|
-
if (
|
|
939
|
+
if (v) {
|
|
940
|
+
const $ = o(v);
|
|
941
|
+
if (g > $) return !1;
|
|
912
942
|
}
|
|
913
943
|
return !0;
|
|
914
|
-
},
|
|
915
|
-
|
|
944
|
+
}, l = (r) => {
|
|
945
|
+
n.value = r.value;
|
|
916
946
|
const u = r.event?.target;
|
|
917
|
-
|
|
947
|
+
d.value = u?.selectionStart ?? 0;
|
|
918
948
|
try {
|
|
919
|
-
const
|
|
920
|
-
if (
|
|
921
|
-
const
|
|
922
|
-
/[Aa]/.test(
|
|
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
|
|
954
|
+
const $ = document.getElementById(
|
|
925
955
|
e.id
|
|
926
956
|
);
|
|
927
|
-
|
|
957
|
+
$ && ($.focus(), $.setSelectionRange(8, 8));
|
|
928
958
|
});
|
|
929
|
-
})) : /[Pp]/.test(
|
|
959
|
+
})) : /[Pp]/.test(g) && (n.value = `${n.value.slice(0, 6)}PM${n.value.slice(8)}`, N(() => {
|
|
930
960
|
requestAnimationFrame(() => {
|
|
931
|
-
const
|
|
961
|
+
const $ = document.getElementById(
|
|
932
962
|
e.id
|
|
933
963
|
);
|
|
934
|
-
|
|
964
|
+
$ && ($.focus(), $.setSelectionRange(8, 8));
|
|
935
965
|
});
|
|
936
966
|
}));
|
|
937
967
|
}
|
|
938
968
|
} catch {
|
|
939
969
|
}
|
|
940
|
-
|
|
941
|
-
},
|
|
942
|
-
|
|
943
|
-
},
|
|
944
|
-
const
|
|
945
|
-
|
|
946
|
-
const
|
|
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 ((
|
|
949
|
-
const
|
|
950
|
-
|
|
951
|
-
const
|
|
952
|
-
|
|
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
|
|
984
|
+
const h = document.getElementById(
|
|
955
985
|
e.id
|
|
956
|
-
),
|
|
957
|
-
|
|
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
|
|
964
|
-
if (
|
|
965
|
-
r === "ArrowUp" ?
|
|
966
|
-
else if (
|
|
967
|
-
const
|
|
968
|
-
if (
|
|
969
|
-
r === "ArrowUp" ?
|
|
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
|
|
972
|
-
let
|
|
973
|
-
|
|
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
|
|
976
|
-
let
|
|
977
|
-
|
|
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
|
|
980
|
-
|
|
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
|
-
)} ${
|
|
984
|
-
const
|
|
985
|
-
|
|
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
|
|
1017
|
+
const Y = document.getElementById(
|
|
988
1018
|
e.id
|
|
989
|
-
),
|
|
990
|
-
|
|
1019
|
+
), F = d.value ?? 0;
|
|
1020
|
+
Y && (Y.focus(), Y.setSelectionRange(F, F));
|
|
991
1021
|
});
|
|
992
1022
|
});
|
|
993
|
-
},
|
|
1023
|
+
}, M = (r) => {
|
|
994
1024
|
if (r.code === "Space" || r.key === " ") {
|
|
995
1025
|
e.onShowPicker(r);
|
|
996
1026
|
return;
|
|
997
1027
|
}
|
|
998
|
-
if (
|
|
1028
|
+
if (E.includes(r.key)) {
|
|
999
1029
|
r.preventDefault();
|
|
1000
1030
|
const u = r.target;
|
|
1001
|
-
|
|
1031
|
+
m(r.key, u, r);
|
|
1002
1032
|
}
|
|
1003
|
-
},
|
|
1033
|
+
}, w = (r) => {
|
|
1004
1034
|
r.preventDefault();
|
|
1005
1035
|
const u = r.deltaY < 0 ? "ArrowUp" : "ArrowDown";
|
|
1006
|
-
|
|
1007
|
-
},
|
|
1036
|
+
m(u, r.target, r);
|
|
1037
|
+
}, P = (r) => {
|
|
1008
1038
|
const u = r.target;
|
|
1009
|
-
if (
|
|
1010
|
-
|
|
1039
|
+
if (k.includes(r.key)) {
|
|
1040
|
+
d.value = u?.selectionStart ?? 0;
|
|
1011
1041
|
return;
|
|
1012
1042
|
}
|
|
1013
|
-
|
|
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 &&
|
|
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
|
|
1022
|
-
|
|
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
|
|
1030
|
-
["Time",
|
|
1031
|
-
["Hour (12h)",
|
|
1032
|
-
["Minute",
|
|
1033
|
-
["Period",
|
|
1034
|
-
["Digits only",
|
|
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.
|
|
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.
|
|
1078
|
+
e.max?.toLocaleTimeString("en-US", {
|
|
1045
1079
|
hour: "2-digit",
|
|
1046
1080
|
minute: "2-digit"
|
|
1047
1081
|
}) ?? null
|
|
1048
|
-
]
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
return
|
|
1059
|
-
|
|
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
|
-
},
|
|
1063
|
-
|
|
1064
|
-
|
|
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
|
-
|
|
1139
|
+
p();
|
|
1079
1140
|
}), {
|
|
1080
|
-
raw:
|
|
1081
|
-
rules:
|
|
1082
|
-
debugEnabled:
|
|
1083
|
-
debugLines:
|
|
1084
|
-
placeholder:
|
|
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:
|
|
1088
|
-
inRangeTime:
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
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
|
|
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,
|
|
1105
|
-
},
|
|
1106
|
-
function
|
|
1107
|
-
var e,
|
|
1108
|
-
return Ae && ((e = window?.navigator) == null ? void 0 : e.userAgent) && (/iP(?:ad|hone|od)/.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
|
|
1174
|
+
function Se(e) {
|
|
1111
1175
|
return Array.isArray(e) ? e : [e];
|
|
1112
1176
|
}
|
|
1113
|
-
function Ue(e,
|
|
1114
|
-
return
|
|
1177
|
+
function Ue(e, n, d) {
|
|
1178
|
+
return ie(
|
|
1115
1179
|
e,
|
|
1116
|
-
|
|
1180
|
+
n,
|
|
1117
1181
|
{
|
|
1118
|
-
...
|
|
1182
|
+
...d,
|
|
1119
1183
|
immediate: !0
|
|
1120
1184
|
}
|
|
1121
1185
|
);
|
|
1122
1186
|
}
|
|
1123
1187
|
const Ee = Ae ? window : void 0;
|
|
1124
|
-
function
|
|
1125
|
-
var
|
|
1126
|
-
const
|
|
1127
|
-
return (
|
|
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
|
|
1131
|
-
|
|
1132
|
-
},
|
|
1133
|
-
const
|
|
1134
|
-
return
|
|
1135
|
-
}),
|
|
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
|
|
1201
|
+
var E, k;
|
|
1138
1202
|
return [
|
|
1139
|
-
(
|
|
1140
|
-
|
|
1141
|
-
|
|
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
|
-
|
|
1207
|
+
ue(R.value ? e[3] : e[2])
|
|
1144
1208
|
];
|
|
1145
1209
|
},
|
|
1146
|
-
([
|
|
1147
|
-
if (
|
|
1210
|
+
([E, k, y, A]) => {
|
|
1211
|
+
if (d(), !E?.length || !k?.length || !y?.length)
|
|
1148
1212
|
return;
|
|
1149
|
-
const L =
|
|
1150
|
-
|
|
1151
|
-
...
|
|
1152
|
-
(
|
|
1153
|
-
(
|
|
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
|
-
),
|
|
1160
|
-
|
|
1223
|
+
), H = () => {
|
|
1224
|
+
K(), d();
|
|
1161
1225
|
};
|
|
1162
|
-
return
|
|
1226
|
+
return Te(d), H;
|
|
1163
1227
|
}
|
|
1164
1228
|
let ke = !1;
|
|
1165
|
-
function Oe(e,
|
|
1166
|
-
const { window:
|
|
1167
|
-
if (!
|
|
1168
|
-
return
|
|
1169
|
-
if (
|
|
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
|
|
1172
|
-
Array.from(
|
|
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
|
|
1175
|
-
const
|
|
1176
|
-
if (typeof
|
|
1177
|
-
return Array.from(
|
|
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
|
|
1180
|
-
return
|
|
1243
|
+
const O = ve(b);
|
|
1244
|
+
return O && (f.target === O || f.composedPath().includes(O));
|
|
1181
1245
|
}
|
|
1182
1246
|
});
|
|
1183
|
-
function
|
|
1184
|
-
const
|
|
1185
|
-
return
|
|
1247
|
+
function A(f) {
|
|
1248
|
+
const b = ue(f);
|
|
1249
|
+
return b && b.$.subTree.shapeFlag === 16;
|
|
1186
1250
|
}
|
|
1187
|
-
function L(
|
|
1188
|
-
const
|
|
1189
|
-
return o == null || !Array.isArray(o) ? !1 : o.some((
|
|
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
|
|
1192
|
-
const
|
|
1193
|
-
if (
|
|
1194
|
-
if ("detail" in
|
|
1195
|
-
|
|
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
|
-
|
|
1262
|
+
n(f);
|
|
1199
1263
|
}
|
|
1200
1264
|
};
|
|
1201
|
-
let
|
|
1202
|
-
const
|
|
1203
|
-
we(
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
}, 0),
|
|
1207
|
-
}, { passive: !0, capture:
|
|
1208
|
-
we(
|
|
1209
|
-
const
|
|
1210
|
-
|
|
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
|
-
|
|
1276
|
+
H && we(q, "blur", (f) => {
|
|
1213
1277
|
setTimeout(() => {
|
|
1214
|
-
var
|
|
1215
|
-
const
|
|
1216
|
-
((
|
|
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),
|
|
1220
|
-
return
|
|
1221
|
-
stop:
|
|
1283
|
+
].filter(Boolean), I = () => T.forEach((f) => f());
|
|
1284
|
+
return E ? {
|
|
1285
|
+
stop: I,
|
|
1222
1286
|
cancel: () => {
|
|
1223
|
-
|
|
1287
|
+
k = !1;
|
|
1224
1288
|
},
|
|
1225
|
-
trigger: (
|
|
1226
|
-
|
|
1289
|
+
trigger: (f) => {
|
|
1290
|
+
k = !0, x(f), k = !1;
|
|
1227
1291
|
}
|
|
1228
|
-
} :
|
|
1292
|
+
} : I;
|
|
1229
1293
|
}
|
|
1230
1294
|
function We(e) {
|
|
1231
|
-
const
|
|
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
|
-
],
|
|
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
|
-
) ??
|
|
1302
|
+
) ?? A : null, { activate: K, deactivate: H } = Le(n, {
|
|
1239
1303
|
escapeDeactivates: !1,
|
|
1240
1304
|
clickOutsideDeactivates: !1,
|
|
1241
|
-
fallbackFocus: () =>
|
|
1242
|
-
initialFocus: () =>
|
|
1305
|
+
fallbackFocus: () => n.value,
|
|
1306
|
+
initialFocus: () => R(n.value),
|
|
1243
1307
|
...e.focusTrapOptions ?? {}
|
|
1244
1308
|
});
|
|
1245
|
-
let
|
|
1246
|
-
const
|
|
1309
|
+
let E = null, k = z(null);
|
|
1310
|
+
const y = () => {
|
|
1247
1311
|
if (e.resolvePopupEl) return e.resolvePopupEl();
|
|
1248
|
-
const
|
|
1249
|
-
const
|
|
1250
|
-
if (!
|
|
1251
|
-
const
|
|
1252
|
-
(
|
|
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
|
|
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
|
|
1257
|
-
const
|
|
1258
|
-
if (
|
|
1320
|
+
for (const x of q) {
|
|
1321
|
+
const S = A(L, x);
|
|
1322
|
+
if (S) return S;
|
|
1259
1323
|
}
|
|
1260
|
-
for (const
|
|
1261
|
-
const
|
|
1262
|
-
if (
|
|
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(
|
|
1267
|
-
|
|
1268
|
-
}),
|
|
1330
|
+
return Oe(n, (A) => {
|
|
1331
|
+
k.value = "outside", e.isOpen.value && e.onRequestClose?.("outside", A);
|
|
1332
|
+
}), ie(
|
|
1269
1333
|
() => e.isOpen.value,
|
|
1270
|
-
(
|
|
1271
|
-
|
|
1272
|
-
const L =
|
|
1273
|
-
L && (
|
|
1274
|
-
|
|
1275
|
-
}, document.addEventListener("keydown",
|
|
1276
|
-
})) : (
|
|
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
|
|
1279
|
-
|
|
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 &&
|
|
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
|
|
1288
|
-
if (!
|
|
1289
|
-
(
|
|
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:
|
|
1296
|
-
activate:
|
|
1297
|
-
deactivate:
|
|
1298
|
-
lastCloseReason: _(
|
|
1299
|
-
setPopupEl: (
|
|
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
|
-
|
|
1304
|
-
|
|
1305
|
-
|
|
1367
|
+
Ve as useGridA11y,
|
|
1368
|
+
Ye as useMaskedDateInput,
|
|
1369
|
+
Ne as useMaskedDateRangeInput,
|
|
1306
1370
|
He as useMaskedTimeInput,
|
|
1307
1371
|
We as usePopupTrap
|
|
1308
1372
|
};
|